/* Shared UNEXT Bildung room gallery; scoped to avoid changing course layouts. */
.classroom-section{margin-block:64px;padding:34px;border:1px solid #e2e5e7;border-radius:28px;background:linear-gradient(135deg,#faf9f7,#f5f6f6);scroll-margin-top:24px;min-width:0}
.classroom-heading{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);align-items:center;gap:44px}
.classroom-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.08;letter-spacing:-.04em;margin:0 0 22px}
.classroom-lead{font-size:16px;line-height:1.8;color:#5d6871;margin:0;max-width:690px}
.classroom-capacity{border-radius:22px;padding:26px 28px;background:#131b20;color:#fff}
.classroom-capacity>span:first-child{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;color:#f9a3a9;line-height:1.6}
.classroom-capacity strong{display:block;font-size:clamp(48px,5.5vw,72px);line-height:1.1;letter-spacing:-.05em;margin:14px 0 0}
.classroom-capacity .classroom-capacity-label{display:block;font-weight:600;font-size:18px;line-height:1.5;margin-top:4px}
.classroom-capacity p{font-size:12px;line-height:1.7;color:#cad2d7;margin:16px 0 0}
.classroom-features{list-style:none;padding:0;margin:28px 0;display:flex;gap:12px;flex-wrap:wrap}
.classroom-features li{border:1px solid #e0e4e6;background:#fff;border-radius:30px;padding:11px 15px;font-size:12px;font-weight:600;line-height:1.5;color:#38434b}
.classroom-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.classroom-gallery .classroom-photo{display:block;position:relative;isolation:isolate;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:#23282b;color:#fff}
.classroom-gallery .classroom-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.classroom-section .classroom-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:inherit;margin:0}
.classroom-caption{position:absolute;inset:auto 0 0;padding:30px 15px 14px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.01em;color:#fff;background:linear-gradient(transparent,#0c141ac9);pointer-events:none}
.classroom-photo:first-child .classroom-caption{font-size:15px;padding:40px 22px 18px}
.classroom-photo:focus-visible{outline:3px solid #dc001b;outline-offset:4px}
.classroom-gallery-note{font-size:12px;line-height:1.6;margin:16px 2px 0;color:#6c7680}
.classroom-lightbox{width:min(1050px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:20px;border:1px solid #ffffff26;border-radius:24px;background:#11191f;color:#fff;overflow:auto;box-shadow:0 24px 90px #0007}
.classroom-lightbox::backdrop{background:#081018d9;backdrop-filter:blur(7px)}
html:has(.classroom-lightbox[open]){overflow:hidden}
.classroom-viewer-top,.classroom-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.classroom-viewer-top h2{font-size:19px;line-height:1.3;letter-spacing:-.015em;margin:0}
.classroom-lightbox button{border:1px solid #53616b;border-radius:30px;background:#243039;color:#fff;font:inherit;font-size:13px;font-weight:600;min-height:44px;padding:10px 20px;cursor:pointer}
.classroom-lightbox button:hover{background:#34434d}
.classroom-lightbox button:focus-visible{outline:3px solid #ff8b97;outline-offset:3px}
.classroom-lightbox figure{margin:18px 0}
.classroom-lightbox [data-room-large]{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 250px);object-fit:contain;margin-inline:auto;border-radius:16px;background:#172027}
.classroom-lightbox figcaption{font-size:13px;line-height:1.5;color:#d9e1e6;margin-top:13px}
.classroom-viewer-bottom>span{font-size:12px;color:#c6d0d7}
@media(max-width:1000px){.classroom-section{padding:26px}.classroom-heading{grid-template-columns:1fr;gap:25px}.classroom-capacity{display:grid;grid-template-columns:auto 1fr;column-gap:24px;padding:22px 25px}.classroom-capacity>span:first-child{grid-column:1/-1}.classroom-capacity strong{grid-column:1;grid-row:2/4;font-size:54px}.classroom-capacity .classroom-capacity-label{grid-column:2;grid-row:2;margin-top:15px}.classroom-capacity p{grid-column:2;grid-row:3;margin:4px 0 0;max-width:420px}.classroom-gallery{gap:12px}.classroom-gallery .classroom-photo{border-radius:16px}.classroom-caption{padding:26px 10px 10px;font-size:11px}}
@media(max-width:760px){.classroom-section{margin-block:42px;padding:20px 16px;border-radius:24px}.classroom-heading{gap:22px}.classroom-heading h2{font-size:32px;margin-bottom:18px}.classroom-heading .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.12em}.classroom-lead{font-size:15px;line-height:1.75}.classroom-capacity{display:block;padding:22px;border-radius:20px}.classroom-capacity strong{font-size:58px;margin-top:10px}.classroom-capacity .classroom-capacity-label{margin-top:2px}.classroom-capacity p{margin-top:12px;font-size:12px}.classroom-features{gap:8px;margin:22px 0}.classroom-features li{font-size:11px;padding:9px 12px}.classroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classroom-gallery .classroom-photo:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.classroom-photo:first-child .classroom-caption{font-size:13px;padding:32px 15px 13px}.classroom-caption{font-size:10px;padding:25px 9px 9px}.classroom-gallery-note{font-size:11px;margin-top:13px}.classroom-lightbox{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:14px;border-radius:20px}.classroom-viewer-top{gap:10px}.classroom-viewer-top h2{font-size:16px;max-width:170px}.classroom-lightbox button{font-size:12px;padding:10px 15px}.classroom-lightbox figure{margin:16px 0}.classroom-lightbox [data-room-large]{max-height:calc(100dvh - 250px);border-radius:12px}}
@media(prefers-reduced-motion:no-preference){.classroom-photo img{transition:transform .25s ease}.classroom-photo:hover img{transform:scale(1.025)}}
