/* Mouratoglou Tennis Center Calatrava (Spain): center menu + program sub-pages (level 2).
   calatrava-tennis-lessons, -junior-program, -camps, -adult-programs, -events, -court-rental.
   Layout and components come from atlanta-pages.css (.center-menu-header / .center-subpage / .center-menu-page).
   Calatrava is a Tennis Center, not an academy: it keeps the light international theme of center-calatrava.html
   (white, paper, sand, sky blue #1f92f0, royal blue #00349d, navy); this file re-colours the shared (dark academy)
   components for that theme. Dropdowns (JUNIOR PROGRAM, CAMPS, EVENTS): calatrava-menu.js.
   Classes: .cal-page (center page + sub-pages), .cal-subpage (sub-pages only). */

.cal-page{--academy-accent:#1f92f0}

/* ---------- Header: 6 center links + DESTINATIONS on one line ---------- */
@media(min-width:901px){
  .cal-page .center-menu-header .generic-header-links a,.cal-page .center-menu-header .generic-header-actions a{white-space:nowrap}
}
/* 1281-1400px: same compact values as center-international.css uses up to 1280px. */
@media(min-width:1281px) and (max-width:1400px){
  .cal-page .site-nav.generic-header[data-center-menu]{padding-left:22px;padding-right:22px;gap:16px}
  .cal-page .site-nav.generic-header[data-center-menu] .center-header-logo{max-width:140px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links{gap:12px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links a{font-size:11px!important;letter-spacing:.05em!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-actions a{padding-left:14px;padding-right:14px}
}
@media(min-width:1401px) and (max-width:1560px){
  .cal-page .site-nav.generic-header[data-center-menu]{gap:20px}
  .cal-page .site-nav.generic-header[data-center-menu] .center-header-logo{max-width:180px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links{gap:16px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links a{font-size:12px!important;letter-spacing:.07em!important}
}
@media(min-width:901px) and (max-width:1180px){
  .cal-page .site-nav.generic-header[data-center-menu]{padding-left:16px;padding-right:16px;gap:12px}
  .cal-page .site-nav.generic-header[data-center-menu] .center-header-logo{max-width:118px!important;height:44px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links{gap:9px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links a{font-size:10px!important;letter-spacing:.03em!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-actions{gap:8px}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-actions a{padding-left:12px;padding-right:12px;font-size:10px}
  .cal-menu-toggle{width:16px!important}
}
/* Narrow desktops (tablets in landscape): tighter still, so BOOK stays on screen down to 901px. */
@media(min-width:901px) and (max-width:1023px){
  .cal-page .site-nav.generic-header[data-center-menu]{padding-left:12px;padding-right:12px;gap:8px}
  .cal-page .site-nav.generic-header[data-center-menu] .center-header-logo{max-width:92px!important;height:38px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links{gap:6px!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-links a{font-size:9px!important;letter-spacing:.02em!important}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-actions{gap:6px}
  .cal-page .site-nav.generic-header[data-center-menu] .generic-header-actions a{padding-left:9px;padding-right:9px;font-size:9px}
  .cal-menu-toggle{width:13px!important;margin:0!important}
}

/* ---------- Desktop dropdowns ---------- */
@media(min-width:901px){
  .cal-menu-group{position:relative;display:flex;align-items:center;min-height:42px}
  .cal-menu-group>a{position:relative;display:flex;align-items:center;min-height:42px;line-height:1!important}
  .cal-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:30px;margin:0 0 0 1px;padding:0;border:0;border-radius:4px;background:transparent;color:#fff;cursor:pointer}
  .cal-menu-toggle span{display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
  .cal-menu-group.is-open .cal-menu-toggle span{transform:translateY(1px) rotate(225deg)}
  .cal-menu-toggle:hover,.cal-menu-group.is-open .cal-menu-toggle,.cal-menu-group.is-open>a{color:var(--academy-accent)!important}
  .cal-menu-toggle:focus-visible{outline:2px solid var(--academy-accent);outline-offset:1px}
  .cal-menu-group.is-current>.cal-menu-toggle{color:var(--academy-accent)}

  .cal-submenu{position:absolute;top:calc(100% + 18px);left:-20px;z-index:60;display:none;flex-direction:column;min-width:250px;padding:8px 0;background:#001937;border-top:2px solid var(--academy-accent);border-radius:0 0 8px 8px;box-shadow:0 18px 36px rgba(0,10,25,.35)}
  .cal-submenu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
  .cal-menu-group.is-open .cal-submenu,
  html:not(.cal-menu-ready) .cal-menu-group:is(:hover,:focus-within) .cal-submenu{display:flex}
  .center-menu-header .cal-submenu a{display:block!important;min-height:0!important;padding:14px 20px!important;color:#fff!important;font-size:11px!important;letter-spacing:.08em!important;line-height:1.2!important;white-space:nowrap}
  .center-menu-header .cal-submenu a:hover,.center-menu-header .cal-submenu a:focus-visible{background:rgba(31,146,240,.14);color:var(--academy-accent)!important}
  .center-menu-header .cal-submenu a:focus-visible{outline:2px solid var(--academy-accent);outline-offset:-2px}
}

/* ---------- Mobile burger (center-mobile-nav.js): indent the group anchors ---------- */
@media(max-width:900px){
  .cal-page .center-mobile-menu a[href^="calatrava-"][href*="#"]{position:relative;padding:13px 0 13px 24px;border-bottom-color:rgba(255,255,255,.08);font-size:16px;font-weight:400}
  .cal-page .center-mobile-menu a[href^="calatrava-"][href*="#"]:before{content:"";position:absolute;left:4px;top:50%;width:10px;height:1px;background:var(--academy-accent)}
}

/* ---------- Center page: program cards link to the sub-pages ---------- */
.cal-page .atl-more-link{color:var(--intl-navy)!important;border-bottom-color:var(--intl-blue)}
.cal-page .atl-more-link:hover{color:#00349d!important}
.cal-page .program-card h3 a:hover{color:#00349d}
.cal-page .program-card .program-book-link{display:inline-flex;width:auto;align-items:center;gap:22px;margin:0;padding:12px 20px;border-radius:999px;background:var(--intl-navy);color:#fff!important;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.cal-page .program-card .program-book-link span{font-size:16px}
.cal-page .program-card .program-book-link:hover{background:var(--intl-blue)}

/* ---------- Sub-page hero ---------- */
.cal-page .pill.atl-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important}
.cal-page .pill.atl-ghost:hover{background:#fff!important;color:var(--intl-navy)!important;border-color:#fff!important}

/* ---------- Key facts (sky-blue band, navy text) ---------- */
.cal-subpage .center-summary.atl-facts p{color:var(--intl-navy)}

/* ---------- Intro on white ---------- */
.cal-subpage .atl-intro-copy{border-top-color:var(--intl-blue)}
.cal-subpage .atl-intro-copy p{color:#00349d}
.cal-subpage .atl-intro-copy strong{color:var(--intl-navy)}
.cal-subpage .international-intro .atl-chips li{border-color:var(--intl-blue);color:var(--intl-navy)}

/* ---------- Split sections: royal blue / navy, as the center page methodology ---------- */
html body.cal-subpage .international-methodology{background:#00349d!important}
html body.cal-subpage .international-methodology.atl-split-navy{background:var(--intl-navy)!important}
.cal-subpage .international-methodology .eyebrow{color:var(--intl-sand)!important}
html body.cal-subpage .international-methodology p.atl-card-label{margin:6px 0 14px;font-size:11px!important;line-height:1.4!important;letter-spacing:.17em;color:var(--intl-sand)!important}
.cal-subpage .international-methodology .atl-list li:before{background:var(--intl-sand)}
.cal-subpage .international-methodology .atl-list{margin-bottom:26px}
.cal-subpage .international-methodology .pill:not(.light){color:#fff;border-color:rgba(255,255,255,.72)}
.cal-subpage .international-methodology .pill:not(.light):hover{background:#fff;color:var(--intl-navy)}
.cal-meta{margin:0 0 18px!important;font-size:12px!important;font-weight:700;letter-spacing:.12em;line-height:1.6!important;text-transform:uppercase;color:#fff!important}

/* ---------- Cards on paper ---------- */
html body.cal-subpage .program-section{background:var(--intl-paper)!important}
html body.cal-subpage .program-card .program-description{color:#3b4a5c!important}
.cal-subpage .program-card h3{color:var(--intl-navy)}
.cal-subpage .program-card .atl-list{border-top-color:#d9e0e7}
.cal-subpage .program-card .atl-list li,.cal-subpage .international-facilities .atl-list li{color:var(--intl-navy)}
.cal-subpage .program-card .atl-list strong,.cal-subpage .international-facilities .atl-list strong{color:var(--intl-navy)}
.cal-subpage .program-card .program-media{height:280px}
.cal-subpage .program-card .program-media img{width:100%;height:100%;object-fit:cover}
.cal-subpage .program-section .section-heading>p{color:#00349d}
.cal-subpage .program-grid.cal-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cal-subpage .program-section.cal-flush-bottom{padding-bottom:90px}
.cal-note{margin:28px 0 0;max-width:760px;font-size:14px;line-height:1.7;color:#3b4a5c}

/* Overview table on paper. */
.cal-subpage .atl-details{background:#d9e0e7;border-color:#d9e0e7}
.cal-subpage .atl-details div{background:#fff}
.cal-subpage .atl-details dt{color:#00349d}
.cal-subpage .atl-details dd{color:var(--intl-navy)}

/* ---------- Facilities on sand ---------- */
html body.cal-subpage .international-facilities>.atl-list{border-top-color:var(--intl-navy)}
html body.cal-subpage .international-facilities>.atl-list li{color:var(--intl-navy)}
.cal-subpage .international-facilities .atl-list li:before{background:#00349d}

/* ---------- Gallery strip on white ---------- */
html body.cal-subpage .international-gallery.gallery-strip{background:#fff!important;padding-top:0}

/* ---------- Final call to action (sky-blue band, navy text) ---------- */
html body.cal-subpage .destination-band p:not(.eyebrow){color:var(--intl-navy)}
.cal-subpage .destination-band .eyebrow{color:#fff}
.cal-subpage .destination-band .atl-address{color:rgba(0,25,55,.78)}
.cal-subpage .destination-band .pill:not(.light){color:var(--intl-navy);border-color:var(--intl-navy)}
.cal-subpage .destination-band .pill:not(.light):hover{background:var(--intl-navy);color:#fff}

/* ---------- FAQ + explore stay navy (shared styles), accent sky blue ---------- */
.cal-subpage .atl-faq .eyebrow,.cal-subpage .atl-explore .eyebrow{color:var(--intl-blue)}
.cal-subpage .atl-explore .pill{color:#fff;border-color:rgba(255,255,255,.72)}
.cal-subpage .atl-explore .pill:hover{background:#fff;color:var(--intl-navy)}
.cal-subpage .atl-explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1200px){
  .cal-subpage .program-grid.cal-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .cal-subpage .program-grid.cal-grid-3{grid-template-columns:1fr}
  .cal-subpage .program-card .program-media{height:220px}
  .cal-subpage .program-section.cal-flush-bottom{padding-bottom:60px}
  .cal-subpage .atl-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .cal-subpage .atl-explore-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.cal-menu-toggle span{transition:none}}
