/* Interface arrows inherit the surrounding text size and color on every device. */
.icon-arrow-up-right{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}

/* Official artwork is served locally, without redrawing or recoloring. */
.social-icon{display:block;flex:0 0 auto;width:24px;height:24px;max-width:none;object-fit:contain}
.social-link{display:inline-flex;align-items:center;gap:12px}
.button:has(>.social-icon){gap:12px}
.footer-main>div:not(.footer-brand) a.social-link{display:flex;align-items:center;gap:12px;min-height:32px}
.footer-contact .social-icon,.footer-bottom .social-icon{width:20px;height:20px}
.whatsapp-float{width:60px;height:60px;padding:0;justify-content:center;gap:0;border-radius:50%}
.whatsapp-float__mark{border:0;border-radius:0}
.whatsapp-float__mark .social-icon{width:34px;height:34px}
.whatsapp-float .verified-badge{position:absolute;top:auto;right:-2px;bottom:-2px;width:23px;height:23px;border:0}
.whatsapp-float:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.social-proof__mark{width:52px;height:52px;border:0;border-radius:0;background:var(--paper)}
.social-proof__mark .social-icon{width:32px;height:32px}

/* Official Spanish badges; preserve proportions, clear space and equal height. */
.store-badges{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding-block:11px;max-width:100%}
.store-badges>.store-badge,.site-footer .store-badges>.store-badge{display:inline-flex;flex:0 0 auto;align-items:center;min-width:0;max-width:100%;margin:0;padding:0;border:0;background:transparent;line-height:0}
.store-badges .store-badge img{display:block;width:auto;height:44px;max-width:none;object-fit:contain}
.store-badge:focus-visible,.social-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.account-new>.store-badges,.account-app-banner>.store-badges{display:flex;flex-wrap:wrap;gap:22px}
.footer-app-note{max-width:210px;margin:22px 0 10px;font-size:.74rem;line-height:1.7}
.store-trademarks{margin-top:0;margin-bottom:0;padding-block:0 24px;font-size:.61rem;line-height:1.7;color:var(--ink-soft)}
.app-store-preview{width:100%;max-width:310px;margin:0 auto;min-width:0}
.app-store-preview>img{width:100%;height:auto;border:1px solid rgba(255,255,255,.2);box-shadow:0 22px 55px rgba(0,0,0,.22)}
.app-store-preview figcaption{margin-top:18px;color:#d4cec7;text-align:center;font-size:.63rem;line-height:1.8}
.app-store-preview figcaption a{display:block;margin-top:5px;color:var(--white);text-decoration:underline;text-underline-offset:4px}

/* Keep the School a short mention, using its own class photo and logo. */
.school-ribbon{gap:28px}
.school-ribbon__photo{object-position:center 46%}
.school-ribbon__identity{display:flex;align-items:center;gap:22px;min-width:0}
.school-ribbon__identity>div{min-width:0}
.school-ribbon__logo{flex:0 0 auto;width:56px;height:85px;object-fit:contain}
.school-ribbon .eyebrow{font-size:.62rem;letter-spacing:.09em}
.school-ribbon p{font-size:.86rem;line-height:1.7}

/* Compact appointment options, with no oversized minimum-height cards. */
.booking-page .booking-hero{padding-block:48px 40px}
.booking-page .booking-hero__grid{grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.booking-page .booking-hero h1{max-width:660px;margin:16px 0 0;font-size:clamp(2.65rem,4vw,4rem);line-height:1.08}
.booking-page .booking-hero__grid>div:last-child>p{max-width:460px;margin:0;font-size:.93rem;line-height:1.75}
.booking-page .booking-context{margin-top:18px;padding:12px 16px}
.booking-page .booking-options{gap:22px;padding-block:32px}
.booking-page .booking-option{min-height:0;min-width:0;padding:28px 30px}
.booking-option__heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.booking-option__heading>div:last-child{min-width:0}
.booking-option__heading>img,.booking-page .whatsapp-mark{flex:0 0 auto;width:52px;height:52px;margin:0;border-radius:12px;object-fit:contain}
.booking-page .whatsapp-mark{background:transparent}
.booking-page .whatsapp-mark .social-icon{width:42px;height:42px}
.booking-option__eyebrow{display:block;margin-bottom:7px;color:var(--accent-dark);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;line-height:1.5}
.booking-option--whatsapp .booking-option__eyebrow{color:#f3c19f}
.booking-page .booking-option h2{margin:0;font-size:clamp(1.85rem,2.7vw,2.65rem);line-height:1.12}
.booking-page .booking-option h2 .verified-badge{width:20px;height:20px;font-size:.65rem}
.booking-page .booking-option>p{margin:0;max-width:530px;font-size:.86rem;line-height:1.75}
.booking-page .booking-option ul{margin:18px 0 16px;padding-block:13px;font-size:.63rem;letter-spacing:.02em}
.booking-page .booking-option li+li{margin-top:6px}
.booking-page .booking-option>.store-badges{margin-top:auto}
.booking-page .booking-option>.button{margin-top:auto;margin-bottom:11px;min-height:46px;padding:10px 18px;font-size:.7rem}
.booking-page .booking-note{grid-template-columns:auto 1fr auto;gap:25px;margin-bottom:55px;padding:22px 0}
.booking-page .booking-note>span{font-size:1.4rem}
.booking-page .booking-note p{font-size:.83rem}

@media(max-width:1100px){
    .school-ribbon__photo{grid-row:1/span 2;align-self:stretch;height:100%}
    .school-ribbon__identity{gap:18px}
    .booking-page .booking-hero__grid{gap:32px}
    .booking-page .booking-option{padding:25px}
    .booking-option__heading{gap:12px}
    .booking-page .booking-note{grid-template-columns:1fr auto;gap:10px 24px}
    .booking-page .booking-note>span{grid-column:1}
    .booking-page .booking-note p{grid-column:1}
    .booking-page .booking-note a{grid-column:2;grid-row:1/span 2;align-self:center}
}
@media(max-width:760px){
    .whatsapp-float{width:56px;height:56px}
    .school-ribbon{gap:20px}
    .school-ribbon__photo{grid-row:auto;height:180px}
    .school-ribbon__logo{width:48px;height:73px}
    .school-ribbon h2{font-size:1.8rem}
    .school-ribbon .eyebrow::before{display:none}
    .booking-page .booking-hero{padding-block:36px 30px}
    .booking-page .booking-hero__grid{grid-template-columns:1fr;gap:18px}
    .booking-page .booking-hero h1{font-size:clamp(2.4rem,10vw,3.1rem)}
    .booking-page .booking-options{grid-template-columns:1fr;gap:16px;padding-block:24px}
    .booking-page .booking-option{padding:24px 20px}
    .booking-page .booking-option h2{font-size:clamp(1.7rem,7vw,2.15rem)}
    .booking-page .booking-option>.button{align-self:flex-start}
    .booking-option__heading>img,.booking-page .whatsapp-mark{width:44px;height:44px}
    .booking-page .whatsapp-mark .social-icon{width:36px;height:36px}
    .booking-page .booking-note{grid-template-columns:1fr;gap:10px;margin-bottom:35px}
    .booking-page .booking-note a{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}
    .store-badges{row-gap:22px}
    .store-trademarks{padding-bottom:84px}
    .app-store-preview{max-width:280px}
}
