/* CLDF YouTube – eigenständige Komponente, bestehende Seiten-/Adminstile bleiben erhalten. */
.cldfyt-wrap{font-family:inherit;max-width:1180px;margin:0 auto 28px;width:100%;color:#39281e}
.cldfyt-box{background:#fffaf1;border:1px solid #cdb799;border-radius:18px;box-shadow:0 7px 20px #24120915;padding:clamp(17px,3vw,30px)}
.cldfyt-heading{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:start}
.cldfyt-heading h2{margin:3px 0 8px;font-size:clamp(25px,3vw,35px);line-height:1.12;color:#4d2e1b}
.cldfyt-heading p{margin:0 0 14px;color:#695849}
.cldfyt-badge{background:#f1e4cf;border:1px solid #d8bea0;border-radius:28px;padding:8px 14px;font-weight:700;white-space:nowrap;color:#673f27}
.cldfyt-tools{display:grid;grid-template-columns:minmax(230px,2fr) minmax(160px,1fr) minmax(150px,1fr);gap:12px;margin:12px 0 8px}
.cldfyt-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#543924}
.cldfyt-field input,.cldfyt-field select{width:100%;box-sizing:border-box;border:1px solid #c9ad92;background:white;color:#322318;padding:12px;border-radius:11px;font:inherit;min-height:45px}
.cldfyt-field input:focus-visible,.cldfyt-field select:focus-visible{outline:3px solid #dca060;outline-offset:1px}
.cldfyt-state{font-size:14px;color:#715942;margin:10px 0 16px;min-height:25px}
.cldfyt-state[data-error="1"]{color:#922d16}
.cldfyt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:16px}
.cldfyt-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfccaf;border-radius:14px;overflow:hidden;min-width:0;box-shadow:0 3px 9px #3e240d10}
.cldfyt-thumb{width:100%;aspect-ratio:16/9;position:relative;background:#22160f;overflow:hidden;border:0;padding:0;cursor:pointer;display:block}
.cldfyt-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.cldfyt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#7b3e23ed;color:white;border-radius:100px;width:56px;height:56px;display:grid;place-items:center;font-size:25px;box-shadow:0 2px 14px #0008}
.cldfyt-thumb:hover .cldfyt-play,.cldfyt-thumb:focus-visible .cldfyt-play{background:#b66431}
.cldfyt-cardbody{padding:15px;display:flex;flex-direction:column;gap:10px;flex:1}
.cldfyt-card h3{margin:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere;color:#372217}
.cldfyt-meta{font-size:13px;color:#755d4b;line-height:1.5;margin:0}
.cldfyt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.cldfyt-button{background:#783d22;color:#fff!important;border-radius:9px;text-decoration:none!important;border:1px solid #783d22;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 12px;font-size:13px;line-height:1.3;font-weight:700;cursor:pointer;font-family:inherit}
.cldfyt-button:hover{background:#a2542c}
.cldfyt-button.secondary{background:#fff6e9;color:#633a22!important;border-color:#bb9473}
.cldfyt-button.secondary:hover{background:#f0ddc7}
.cldfyt-more-wrap{text-align:center;margin-top:22px}
.cldfyt-empty{background:#f6eddf;border:1px dashed #ceb498;padding:24px;border-radius:14px;color:#563a27}
.cldfyt-modal{border:1px solid #bb9e7c;border-radius:16px;max-width:560px;width:calc(100% - 32px);padding:22px;box-sizing:border-box;background:#fffaf1;color:#3a2418}
.cldfyt-modal::backdrop{background:#1a0d06ae}
.cldfyt-modal h3{margin:0 0 8px;font-size:23px}
.cldfyt-modal .cldfyt-result{display:block;border-bottom:1px solid #e5d2bb;padding:12px 4px;overflow-wrap:anywhere}
.cldfyt-modal p{line-height:1.5}
.cldfyt-mcloser{float:right}
@media(max-width:750px){.cldfyt-tools{grid-template-columns:1fr}.cldfyt-box{padding:16px}.cldfyt-list{grid-template-columns:1fr}.cldfyt-thumb{aspect-ratio:16/9}}

/* 29.10.2026 – Separate Ansichten: Tanzarchiv (alphabetisch) / Lehrvideos (Galerie). */
.cldfyt-switch{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #e3d4c1;padding:0 0 16px;margin:12px 0 20px}
.cldfyt-switch a{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid #bd9d7b;background:#fff6e9;color:#673b22;text-decoration:none;border-radius:10px;font-weight:750}
.cldfyt-switch a.active{background:#783d22;color:#fff;border-color:#783d22}
.cldfyt-heading h1{margin:3px 0 8px;font-size:clamp(28px,3.4vw,39px);line-height:1.12;color:#4d2e1b}
.cldfyt--dances .cldfyt-tools{grid-template-columns:minmax(240px,560px)}
.cldfyt--dances .cldfyt-list{grid-template-columns:1fr;gap:12px}
.cldfyt-az{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 20px}
.cldfyt-letter{background:#fffaf2;border:1px solid #d4b99a;border-radius:7px;min-width:35px;padding:8px 10px;color:#614029;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}
.cldfyt-letter.active{background:#783d22;color:#fff;border-color:#783d22}
.cldfyt-letter:disabled{opacity:.36;cursor:not-allowed}
.cldfyt-dancecard{background:#fff;border:1px solid #dfccaf;border-radius:14px;overflow:hidden;box-shadow:0 3px 9px #3e240d10}
.cldfyt-dance-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,245px);gap:16px;padding:15px;align-items:center}
.cldfyt-dance-details{min-width:0;display:flex;flex-direction:column;gap:10px}
.cldfyt-dance-details h2{font-size:clamp(18px,2vw,22px);line-height:1.23;margin:0;color:#4f2d1d;overflow-wrap:anywhere}
.cldfyt-dance-note{margin:0;font-size:14px;line-height:1.5;color:#604e42}
.cldfyt-dance-thumb{max-width:245px;width:100%;justify-self:end}
.cldfyt-dance-thumb .cldfyt-thumb{border-radius:10px}
.cldfyt-videocount{color:#6e563f;font-size:13px;align-self:center}
.cldfyt-dance-extra{padding:0 16px 12px;color:#644229;font-size:14px}
.cldfyt-dance-extra summary{cursor:pointer;font-weight:650;margin-bottom:6px}
.cldfyt-extra-link{display:block;color:#783d22;padding:5px 0;text-decoration:underline}
.cldfyt-frame{width:100%;aspect-ratio:16/9;height:auto;border:0;display:block;border-radius:8px}
.cldfyt--videos .cldfyt-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr))}
.cldfyt--videos .cldfyt-cardbody h2{font-size:17px;line-height:1.35;margin:0;color:#372217}
.cldfyt-wrap :focus-visible{outline:3px solid #b5743d;outline-offset:3px}
@media(max-width:660px){
 .cldfyt-dance-row{grid-template-columns:1fr}
 .cldfyt-dance-thumb{max-width:none;width:100%}
 .cldfyt--videos .cldfyt-list{grid-template-columns:1fr}
 .cldfyt-heading{gap:10px}
 .cldfyt-switch a{flex:1}
}
