/* Reference-led class selection. Other booking screens retain their existing layout. */
body.admission-reference{background:linear-gradient(120deg,#f0f1ff,#f7faff);color:#111044}
.admission-reference #simulatedContainer{max-width:1000px!important;padding:0 24px 24px}
.admission-reference #dAside{display:none!important}
.admission-reference #dShell{display:block}.admission-reference #dMainCol{display:block}.admission-reference #s-classes{gap:18px}.admission-reference #s-classes>*{margin-top:0}
#admissionIntro[hidden]{display:none}
.admission-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 20px;background:#fff}
.admission-header>button{color:#161250}.admission-header>button span{font-size:36px}.admission-header img{width:310px;max-width:100%;height:auto;mix-blend-mode:multiply}
.admission-year{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#6b51ff,#4c35ec);color:white;padding:12px 24px;border-radius:22px;font-size:22px;line-height:1.2;white-space:nowrap}.admission-year>span{font-size:36px}
.admission-hero{background:#dbf1fb url('../images/booking/admissions-hero-2027.png') center/cover no-repeat;border-radius:26px;min-height:460px;overflow:hidden;display:flex;align-items:center}
.admission-hero-copy{padding:32px 0 25px 6%;width:48%;color:#21136d}.admission-hero h1{font-family:'Nunito',sans-serif;font-size:54px;font-weight:900;line-height:1.03;letter-spacing:-1.5px}.admission-hero-copy>p{font-size:20px;line-height:1.35;margin:14px 0 26px}
.admission-promises{display:flex;justify-content:space-between;gap:12px;font-size:13px;text-align:center;font-weight:700;line-height:1.25}.admission-promises span{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#ded0ff;color:#5734ff;font-size:34px;margin:0 auto 6px}.admission-promises>div:nth-child(2) span{background:#ffd6e7;color:#e83c7b}.admission-promises>div:nth-child(3) span{background:#c4f7dc;color:#00a467}
.admission-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:14px 16px;margin:12px 12px 18px;border-radius:24px;background:#eeedff}.admission-progress li{text-align:center;color:#535a77;position:relative;font-size:16px;font-weight:700}.admission-progress li>span{display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;margin:0 auto 7px;background:#b9bdcb;color:white;font-size:24px;border:2px solid #fff7}.admission-progress li:first-child{color:#5834ff}.admission-progress li:first-child>span{background:#5935ff}.admission-progress li:not(:last-child):after{content:'';position:absolute;width:48%;height:2px;background:#b5b6cd;top:23px;left:76%}
.admission-class-panel{padding:24px;border-radius:28px;background:#fff;box-shadow:0 8px 28px #8475ed0c}.admission-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.admission-panel-heading h2{font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-1px;color:#101047}.admission-panel-heading p{font-size:16px;color:#606783;margin-top:5px}.admission-year-small{display:flex;gap:12px;align-items:center;background:#f8f9fc;border:1px solid #eceef4;border-radius:16px;padding:10px 14px;white-space:nowrap;font-size:14px}.admission-year-small>span{color:#7b51ff;font-size:36px}.admission-year-small strong{display:block;font-size:17px}
#classGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admission-class-card{position:relative;display:flex;align-items:center;gap:22px;text-align:left;padding:10px;border:1px solid #dfe3eb;border-radius:20px;background:#fff;box-shadow:0 3px 7px #26386b09;min-width:0;color:#101047;transition:border-color .15s,background .15s}.admission-class-card:hover{border-color:#9d84ff;background:#faf8ff}.admission-class-card.is-selected{border:2px solid #603cff;padding:9px;background:linear-gradient(110deg,#fff,#eeebff);box-shadow:0 2px 6px #6847ff20}.admission-class-card img{width:118px;height:112px;border-radius:14px;object-fit:cover}.admission-class-info{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.admission-class-info strong{font-size:23px;font-weight:800}.admission-class-age{color:#626980;font-size:17px}.admission-availability{font-size:13px;font-weight:700;border-radius:24px;padding:5px 13px;margin-top:2px;background:#d0fbe4;color:#00834e}.admission-availability.filling{background:#ffe7a1;color:#a54400}.admission-availability.waitlist{background:#efe3ff;color:#72429b}.is-selected .admission-availability.available{background:#8964ff;color:white}.admission-card-arrow{margin-left:auto;margin-right:7px;font-size:30px;color:#606787}.admission-card-tick{position:absolute;right:12px;top:9px;background:#633bff;color:white;border:2px solid white;border-radius:50%;width:29px;height:29px;text-align:center;line-height:25px;font-size:18px}
.admission-selection{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(120deg,#f2f0ff,#eeedff);border-radius:22px;padding:20px;margin-top:22px}.admission-selected-info{display:flex;gap:16px;align-items:center}.admission-icon{display:flex;align-items:center;justify-content:center;background:#e2dcff;color:#633bff;width:76px;height:76px;border-radius:50%;font-size:42px;flex-shrink:0}.admission-selected-info p{font-size:16px;color:#525978}.admission-selected-info strong{font-size:21px;color:#101047;display:block}.admission-selected-info button{color:#5934ff;text-decoration:underline;font-size:16px;margin-top:4px}.admission-continue{min-width:36%;text-align:center}.admission-continue>button:first-child{display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(110deg,#5b36f4,#6440ff);color:white;border-radius:17px;padding:18px 22px;font-weight:800;font-size:18px;width:100%}.admission-continue button:disabled{opacity:.5}.admission-continue p{color:#626980;font-size:13px;margin-top:8px}
.admission-age{display:flex;gap:20px;padding:22px 26px;border-radius:24px;background:#eae7ff}.admission-age>div{flex:1;min-width:0}.admission-age h2{font-size:23px;font-weight:800;color:#101047}.admission-age p{font-size:14px;color:#626980;margin:2px 0 10px}.admission-age-fields{display:flex;gap:14px}.admission-age-fields input{min-width:0;width:60%;border:1px solid #d5d7e4;background:#fafaff;border-radius:12px;padding:12px 16px;color:#555c79}.admission-age-fields button{flex:1;border:2px solid #6842ff;border-radius:16px;background:#fafaff;color:#5934ff;font-weight:800;padding:10px}#calcResult:not(:empty){margin-top:12px}
.admission-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admission-benefits>div{background:white;border-radius:22px;padding:18px}.admission-benefits span{float:left;margin-right:12px;font-size:34px;color:#8a41f4;background:#f1e5ff;border-radius:15px;padding:8px}.admission-benefits h3{font-size:14px;font-weight:800;line-height:1.35;color:#101047}.admission-benefits p{clear:both;padding-top:10px;font-size:14px;color:#626980;line-height:1.4}.admission-benefits>div:nth-child(2) span{color:#f6a000;background:#fff5d5}.admission-benefits>div:nth-child(3) span{color:#00b3e8;background:#d5f5ff}.admission-benefits>div:nth-child(4) span{color:#ee467d;background:#ffe0eb}
.admission-reference button:focus-visible,.admission-reference a:focus-visible{outline:3px solid #9275ff;outline-offset:4px}
@media(min-width:700px) and (max-width:900px){.admission-class-card{gap:16px}.admission-class-card img{width:98px;height:108px}.admission-panel-heading h2{font-size:27px}.admission-hero h1{font-size:48px}.admission-year-small{font-size:12px}.admission-year-small strong{font-size:14px}.admission-selected-info strong{font-size:18px}}
@media(max-width:699px){.admission-reference #simulatedContainer{padding:0 12px 18px}.admission-header{gap:10px;padding:12px 3px}.admission-header img{width:190px}.admission-header>button span{font-size:25px}.admission-year{font-size:12px;padding:10px 12px;border-radius:14px;gap:6px}.admission-year>span{display:none}.admission-hero{min-height:380px;background-position:59% center}.admission-hero-copy{width:63%;padding:25px 0 20px 5%;background:linear-gradient(90deg,#f0f4fff0,#f0f4ffb0,transparent)}.admission-hero h1{font-size:36px}.admission-hero-copy>p{font-size:14px;margin:12px 0 20px}.admission-promises{font-size:9px;gap:4px}.admission-promises span{width:40px;height:40px;font-size:25px}.admission-progress{margin:10px 0 16px;padding:14px 4px}.admission-progress li{font-size:10px}.admission-progress li>span{width:34px;height:34px;font-size:18px}.admission-progress li:not(:last-child):after{top:17px;width:35%;left:83%}.admission-class-panel{padding:16px;border-radius:22px}.admission-panel-heading{display:block;margin-bottom:16px}.admission-panel-heading h2{font-size:25px}.admission-panel-heading p{font-size:13px}.admission-year-small{display:none}#classGrid{gap:10px}.admission-class-card{gap:9px;padding:8px;flex-wrap:wrap;align-content:start;border-radius:15px}.admission-class-card.is-selected{padding:7px}.admission-class-card img{width:100%;height:110px;border-radius:10px}.admission-class-info{gap:3px}.admission-class-info strong{font-size:17px}.admission-class-age{font-size:12px}.admission-availability{font-size:10px;padding:4px 8px}.admission-card-arrow{display:none}.admission-card-tick{right:10px;top:10px}.admission-selection{flex-direction:column;align-items:stretch;padding:16px;gap:16px}.admission-icon{width:52px;height:52px;font-size:30px}.admission-selected-info{gap:10px}.admission-selected-info strong{font-size:17px}.admission-selected-info p,.admission-selected-info button{font-size:13px}.admission-continue>button:first-child{font-size:16px;padding:15px}.admission-age{padding:18px;gap:10px}.admission-age>.admission-icon{display:none}.admission-age h2{font-size:21px}.admission-age-fields{flex-direction:column;gap:10px}.admission-age-fields input{width:100%}.admission-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admission-benefits>div{padding:14px}.admission-benefits span{font-size:27px;padding:6px;margin-right:8px}.admission-benefits h3{font-size:12px}.admission-benefits p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.admission-class-card{transition:none}}
/* Keep closed sheets out of full-page captures and the keyboard tab order. */
.sheet:not(.open){visibility:hidden;pointer-events:none}
@media(max-width:699px){
.admission-hero{position:relative;background-size:auto 280px;background-position:right bottom;min-height:0;background-color:#eaf3ff}
.admission-hero-copy{width:100%;padding:22px 20px 285px;background:none}
.admission-hero h1{font-size:34px;line-height:1.03}
.admission-hero-copy>p{font-size:14px;margin:12px 0 0;max-width:285px}
.admission-hero-copy>p br{display:none}
.admission-promises{position:absolute;bottom:12px;left:12px;right:12px;padding:10px;border-radius:16px;background:#ffffffed;font-size:10px}
.admission-promises span{width:32px;height:32px;font-size:23px}
}

/* Hide the reception kiosk toolbar on child details. */
body:has(#s-details:not([hidden])) .kq-bar { display: none; }
