/* Reuse the approved V3 Home header on interior pages without changing page content. */
.v3-interior{--navy:#0b285d;--blue:#278dd1}
.v3-interior .v3-header{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 4%;background:white;color:var(--navy);z-index:20}
.v3-interior .v3-logo{color:var(--navy)}
.v3-interior .v3-header button{font-family:inherit;cursor:pointer}
.v3-interior .v3-header nav a{color:var(--navy)}
@media(max-width:850px){.v3-interior .v3-header nav{display:none}.v3-interior .v3-header nav.open{display:flex}}
@media(max-width:520px){.v3-interior .v3-header{min-height:60px;padding:10px 16px}}

/* A shared page measure keeps headings, cards, and forms aligned on laptops. */
.v3-interior .content{width:100%;max-width:1240px;padding:clamp(28px,4.5vw,64px) clamp(20px,4vw,54px)}
.v3-interior .content.alt{max-width:1240px;margin-inline:auto;background:transparent}
.v3-interior main:has(.content.alt){background:#f1f6f9}
.v3-interior .contact-page{max-width:1120px}
.v3-interior .content>p{max-width:76ch}
@media(max-width:799px){.v3-interior .content{padding:19px 16px 26px}}

/* Keep the vcita portal at its proven 608px embed height and full available width. */
.v3-interior .appointments-page{width:100%;max-width:1240px;margin-inline:auto;padding:clamp(12px,2vw,24px)}
.v3-interior .appointments-portal{display:block;width:100%;height:608px;max-width:100%;border:0;background:#fff}
@media(max-width:850px){.v3-interior .appointments-page{padding:8px 0 16px}}

/* Discreet return paths to their Home accordions. */
.v3-interior .back-to-essentials,.v3-interior .back-to-about{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px -8px;padding:8px;color:#0b285d;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.v3-interior .back-to-essentials:hover,.v3-interior .back-to-about:hover{color:#278dd1}
.v3-interior .back-to-essentials:focus-visible,.v3-interior .back-to-about:focus-visible{outline:2px solid #278dd1;outline-offset:2px;border-radius:4px}

/* Individual rink pages share the existing public renderers and page measure. */
.v3-interior .rink-detail-page{max-width:1100px}
.v3-interior .rink-detail-page h1{font:400 clamp(34px,4vw,54px)/1.18 Georgia,serif;letter-spacing:-.03em;margin:12px 0 22px;color:#0b285d}
.v3-interior .rink-detail-page .rink-item:first-child{border-top:0;padding-top:0}
.v3-interior .rink-detail-page .rink-photo-grid{max-width:900px}
.v3-interior .rink-return{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px -8px;padding:8px;color:#0b285d;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.v3-interior .rink-return:hover{color:#278dd1}
.v3-interior .rink-return:focus-visible{outline:2px solid #278dd1;outline-offset:2px;border-radius:4px}

/* Keep the short Coaching History page's footer at the bottom of the viewport. */
.coaching-history-page{min-height:100dvh;display:flex;flex-direction:column}
.coaching-history-page main{flex:1}

/* Around the Rink keeps five compact, equally sized disclosure cards. */
.v3-interior .rink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;align-items:start}
.v3-interior .rink-grid>section{min-width:0;padding:14px 16px;border:1px solid #d9e7f0;border-radius:12px;background:#f5f9fc}
.v3-interior .rink-grid h3{color:#0b285d;font-size:18px;line-height:1.3}
.v3-interior .rink-grid a{display:inline-flex;align-items:center;min-height:44px;color:#0b285d;font-weight:600}
.v3-interior .rink-team-intro{max-width:65ch;margin:4px auto 12px;line-height:1.55}
.v3-interior .rink-team-photo{display:block;width:min(100%,560px);margin:12px auto 0;padding:0;border:0;background:transparent;cursor:zoom-in}
.v3-interior .rink-team-photos{display:grid;gap:18px;justify-items:center}
.v3-interior .rink-team-photos .rink-team-photo{margin:0}
.v3-interior .rink-team-photo img{display:block;width:100%;height:auto}
.v3-interior .rink-team-photo:focus-visible,.v3-interior #team-photo-close:focus-visible{outline:3px solid #278dd1;outline-offset:3px}
.v3-interior #team-photo-dialog{width:min(96vw,1100px);max-height:95dvh;padding:12px;border:1px solid #d9e7f0;border-radius:12px;background:#fff}
.v3-interior #team-photo-dialog::backdrop{background:rgba(9,29,52,.82)}
.v3-interior .rink-team-dialog-inner{display:grid;gap:10px;justify-items:center}
.v3-interior #team-photo-close{justify-self:end;min-height:44px;padding:8px 12px;border:1px solid #b8d4e5;border-radius:8px;background:#eef6fb;color:#102d50;font:inherit;font-weight:600;cursor:pointer}
.v3-interior #team-photo-large{display:block;max-width:100%;max-height:calc(95dvh - 90px);width:auto;height:auto;object-fit:contain}
.v3-interior .rink-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;min-height:48px}
.v3-interior .rink-disclosure>summary::-webkit-details-marker{display:none}
.v3-interior .rink-disclosure>summary h3{margin:0}
.v3-interior .rink-disclosure>summary:focus-visible,.v3-interior .rink-past>summary:focus-visible{outline:3px solid #278dd1;outline-offset:3px;border-radius:4px}
.v3-interior .rink-disclosure[open]>summary{margin-bottom:8px}
.v3-interior .rink-disclosure[open]>summary span{transform:rotate(180deg)}
.v3-interior .rink-list{display:grid;gap:10px}
.v3-interior .rink-item{border-top:1px solid #d9e7f0;padding-top:12px;min-width:0}
.v3-interior .rink-item h4{font-size:16px;line-height:1.3;margin:0 0 5px;color:#102d50}
.v3-interior .rink-countdown{display:inline-block;background:#e3f0f8;color:#102d50;border-radius:5px;padding:3px 8px;font-size:12px}
.v3-interior .rink-item .rink-meta{font-size:13px;color:#526a7b;margin:7px 0}
.v3-interior .rink-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.v3-interior .rink-status{font-size:13px;color:#526a7b;margin:10px 0}
.v3-interior .rink-club-intro{font-size:.92rem;line-height:1.6;margin:6px 0 14px;padding-bottom:12px;border-bottom:1px solid #d9e7f0;max-width:65ch}
.v3-interior .rink-club-list{display:grid;gap:12px}
.v3-interior .rink-club-group{border-top:1px solid #d9e7f0;padding-top:10px}
.v3-interior .rink-club-group:first-child{border-top:0;padding-top:0}
.v3-interior .rink-club-group h4{font-size:15px;font-weight:700;color:#102d50;margin:0 0 6px}
.v3-interior .rink-club-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(12px,2vw,24px);row-gap:6px;list-style:none;margin:0;padding:0;line-height:1.5}
.v3-interior .rink-club-group li{min-width:0;text-align:left;overflow-wrap:break-word}
@media(max-width:359px){.v3-interior .rink-club-group ul{grid-template-columns:minmax(0,1fr)}}
.v3-interior .rink-past{border-top:1px solid #d9e7f0;margin-top:12px;padding-top:10px}
.v3-interior .rink-past>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
@media(max-width:700px){.v3-interior .rink-grid{grid-template-columns:minmax(0,1fr);gap:12px}}

/* Gallery thumbnails use bounded display copies; the dialog preserves their proportions. */
.v3-interior .rink-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:10px}
.v3-interior .rink-photo-grid button{display:block;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;background:#e4eef5;cursor:pointer}
.v3-interior .rink-photo-grid button:focus-visible{outline:3px solid #278dd1;outline-offset:3px}
.v3-interior .rink-photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.v3-interior #rink-lightbox{width:min(96vw,960px);max-height:95dvh;padding:16px;border:1px solid #d9e7f0;border-radius:12px;background:#fff;color:#102d50}
.v3-interior #rink-lightbox::backdrop{background:rgba(9,29,52,.82)}
.v3-interior .rink-lightbox-inner{display:grid;gap:10px}
.v3-interior #rink-lightbox-close{justify-self:end}
.v3-interior .rink-lightbox-view{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.v3-interior .rink-lightbox-view figure{margin:0;min-width:0;text-align:center}
.v3-interior .rink-lightbox-view img{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;margin:auto;object-fit:contain}
.v3-interior .rink-lightbox-view figcaption{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.v3-interior #rink-lightbox-position{text-align:center;margin:0}
.v3-interior .rink-lightbox-view button,.v3-interior #rink-lightbox-close{min-height:44px;padding:8px 12px;border:1px solid #b8d4e5;border-radius:8px;background:#eef6fb;color:#102d50;font:inherit;font-weight:600;cursor:pointer}
.v3-interior .rink-lightbox-view button:focus-visible,.v3-interior #rink-lightbox-close:focus-visible{outline:3px solid #278dd1;outline-offset:2px}
@media(max-width:600px){.v3-interior .rink-lightbox-view{grid-template-columns:1fr 1fr}.v3-interior .rink-lightbox-view figure{grid-column:1/-1;grid-row:1}.v3-interior .rink-lightbox-view button{grid-row:2}}
