/* MAYCARES — Home + Miss Universe production pages (Sprint 01)
   Loaded in addition to /maycares-explore.css, which owns the app shell. */

.hero-meta{
  margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;
  font-size:14px;font-weight:var(--fw-micro);line-height:var(--lh-micro);color:var(--blue-gray);
}
.hero-meta .dot{color:var(--hairline-strong)}

.trustnotice{
  margin-top:20px;border:1px solid var(--hairline-strong);border-radius:12px;padding:14px 16px;
  display:flex;gap:12px;align-items:flex-start;
}
.trustnotice svg{width:20px;height:20px;flex:0 0 20px;color:var(--blue-gray);margin-top:2px}
.trustnotice p{font-size:13px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--blue-gray)}

section.region{margin-top:40px}
.section-header h2{font-size:22px;font-weight:var(--fw-title);line-height:var(--lh-title);letter-spacing:-.01em}
.section-header p{margin-top:8px;font-size:14px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--blue-gray)}

.prose{margin-top:14px}
.prose p + p{margin-top:12px}
.prose p,.prose span{font-size:15px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--text)}

.source-line{margin-top:14px;font-size:12px;font-weight:var(--fw-micro);line-height:var(--lh-micro);color:var(--blue-gray)}
.source-line a{color:var(--navy);border-bottom:1px solid var(--hairline-strong)}

.pending-tag{
  display:inline-block;padding:3px 10px;border-radius:999px;
  border:1px solid var(--hairline-strong);background:#FAFBFC;
  font-size:11px;font-weight:var(--fw-micro);letter-spacing:.03em;color:var(--blue-gray);
}
.pending{color:var(--blue-gray)}

/* Timeline rail */
.timeline{margin-top:22px}
.milestone{position:relative;padding-left:30px;padding-bottom:18px}
.milestone::before{content:"";position:absolute;left:7px;top:17px;bottom:-4px;width:2px;background:#dce5ec}
.milestone:last-child{padding-bottom:0}
.milestone:last-child::before{display:none}
.milestone .marker{position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:999px;border:3px solid var(--navy);background:var(--white);box-shadow:0 0 0 4px #fff}
.milestone[data-state="confirmed"] .marker{background:var(--navy)}
.milestone[data-state="pending"] .marker{border-color:var(--hairline-strong)}
.milestone-state{font-size:11px;font-weight:var(--fw-micro);line-height:var(--lh-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.milestone[data-state="pending"] .milestone-state{color:var(--blue-gray)}
.milestone-kicker{margin-top:8px;font-size:11px;font-weight:var(--fw-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-gray)}
.milestone-title{margin-top:4px;font-size:18px;font-weight:var(--fw-title);line-height:1.3;color:var(--text);overflow-wrap:break-word}
.milestone-meta{margin-top:6px;font-size:14px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--blue-gray);overflow-wrap:break-word}
.milestone-body{margin-top:8px;font-size:14px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--text);overflow-wrap:break-word}

.factlist{margin-top:18px;display:grid;gap:16px}
.factcard{min-width:0;border:1px solid var(--hairline-strong);border-radius:18px;padding:16px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(29,71,107,.05)}
.milestone-pills{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}
.milestone-date,.milestone-type{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.milestone-date{background:#1D476B;color:#fff}
.milestone-type{background:#eef3f7;color:#1D476B}
.milestone-location{margin-top:7px;font-size:13px;font-weight:600;color:#1D476B}

/* Accordion */
.accordion{margin-top:18px;border-top:1px solid var(--hairline-strong)}
.accordion details{border-bottom:1px solid var(--hairline-strong)}
.accordion summary{
  list-style:none;cursor:pointer;min-height:var(--control-h);display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:14px 0;
  font-size:15px;font-weight:var(--fw-micro);line-height:var(--lh-body);color:var(--text);
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary svg{width:20px;height:20px;flex:0 0 20px;color:var(--blue-gray);transition:transform .2s ease}
.accordion details[open] summary svg{transform:rotate(180deg)}
.accordion .body{padding:0 0 18px}
.accordion .body p{font-size:14px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--text)}

/* Buttons */
.cta-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);
  padding:0 22px;border-radius:999px;background:var(--navy);color:#fff;
  font-size:15px;font-weight:var(--fw-micro);line-height:var(--lh-micro);
  transition:opacity .15s ease;
}
.btn-primary:hover{opacity:.9}

/* ===== Home ===== */
.may{margin-top:24px;display:flex;gap:12px;align-items:flex-start}
.may-presence{
  width:40px;height:40px;flex:0 0 40px;border-radius:999px;background:var(--pink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--fw-title);letter-spacing:.06em;
}
.may-msg{border:1px solid var(--hairline-strong);border-radius:12px;padding:16px;min-width:0}
.may-label{font-size:11px;font-weight:var(--fw-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--pink)}
.may-body{margin-top:8px;font-size:15px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--text)}

.gateways{margin-top:36px;display:grid;gap:20px}
.gateway{
  border:1px solid var(--hairline-strong);border-radius:var(--radius);padding:24px;
  display:flex;flex-direction:column;align-items:flex-start;
}
.gateway .kicker{font-size:11px;font-weight:var(--fw-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-gray)}
.gateway h2{margin-top:8px;font-size:22px;font-weight:var(--fw-title);line-height:var(--lh-title);letter-spacing:-.01em}
.gateway p{margin-top:10px;font-size:15px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--blue-gray)}
.gateway .btn-primary{margin-top:18px}

@media (min-width:768px){
  .gateways{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media (min-width:1024px){
  .section-header h2{font-size:24px}
  .gateway{padding:32px}
}

/* ===== Micro-Patch 01 — centered production measure ===== */
.measure-center{margin-left:auto;margin-right:auto}
.mu-hero-media{position:relative;margin-top:20px;overflow:hidden;border-radius:var(--radius);aspect-ratio:16/9;background:var(--placeholder)}
.mu-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){
  .measure-home{max-width:960px}
  .measure-mu{max-width:816px}
}

/* Quick facts */
.quickfacts{margin-top:20px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.quickfact{border:1px solid var(--hairline-strong);border-radius:12px;padding:12px 14px;min-width:0}
.quickfact .qf-label{font-size:10px;font-weight:var(--fw-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-gray)}
.quickfact .qf-value{margin-top:4px;font-size:14px;font-weight:var(--fw-title);line-height:1.35;color:var(--text)}
.quickfact.qf-wide{grid-column:1 / -1}
@media (min-width:768px){
  .quickfacts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .quickfact.qf-wide{grid-column:span 2}
}

/* Trust metadata treatment */
.trustnotice.trust-meta{margin-top:16px;padding:10px 12px;border-radius:10px;background:#FAFBFC}
.trustnotice.trust-meta svg{width:16px;height:16px;flex:0 0 16px}
.trustnotice.trust-meta p{font-size:12px;line-height:1.5}

/* Fact grid */
.factgrid{margin-top:18px;display:grid;gap:12px}
@media (min-width:768px){.factgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.factgrid .factcard{padding:16px 18px}
.factgrid .fact-label{font-size:10px;font-weight:var(--fw-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-gray)}
.factgrid .fact-value{margin-top:6px;font-size:17px;font-weight:var(--fw-title);line-height:1.3;color:var(--text)}
.factgrid ul{margin-top:8px;list-style:none;display:grid;gap:6px}
.factgrid li{font-size:14px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--text)}

/* Collapsible timeline */
.milestone details{margin:0}
.milestone summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:15px 15px 13px;
}
.milestone details{border:1px solid var(--hairline-strong);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(29,71,107,.045)}
.milestone-summary-copy{min-width:0;display:block}
.milestone summary::-webkit-details-marker{display:none}
.milestone summary .chev{width:20px;height:20px;flex:0 0 20px;color:var(--blue-gray);margin-top:4px;transition:transform .2s ease}
.milestone details[open] summary .chev{transform:rotate(180deg)}
.milestone[data-state="pending"] .milestone-title{color:var(--blue-gray);font-size:16px}
.milestone .details-body{padding:0 15px 15px;min-width:0;overflow-wrap:anywhere}

/* Transition / plan section */
.transition{
  margin-top:44px;border:1px solid var(--hairline-strong);border-radius:var(--radius);
  padding:24px;background:#FAFBFC;
}
.transition h2{font-size:22px;font-weight:var(--fw-title);line-height:var(--lh-title);letter-spacing:-.01em}
.transition p{margin-top:10px;font-size:15px;font-weight:var(--fw-body);line-height:var(--lh-body);color:var(--blue-gray)}
.transition .btn-primary{margin-top:18px}
@media (min-width:1024px){.transition{padding:32px}}

/* ===== Official MAY visual identity (Micro-Patch 01) ===== */
.may-avatar{
  display:block;flex:0 0 40px;width:40px;height:40px;overflow:hidden;
  background:transparent;
}
.may-avatar img{width:100%;height:100%;object-fit:contain;display:block}
.may-avatar-lg{flex:0 0 64px;width:64px;height:64px;margin:0 auto 16px}
@media (min-width:768px){.may-avatar-lg{flex:0 0 72px;width:72px;height:72px}}

/* ===== Home — Conoce a MAY featured card ===== */
.gateway-may{align-items:center;text-align:center;padding:32px 24px}
.gateway-may .may-avatar{flex:0 0 56px;width:56px;height:56px;margin:0 auto 14px}
.gateway-may > *{max-width:52ch;margin-left:auto;margin-right:auto}
.gateway-may .btn-primary{margin-top:20px}
@media (min-width:768px){
  .gateway-may{padding:44px 32px}
}

/* ===== Micro-Sprint 02 — Home visual centering ===== */
.measure-home{text-align:center}
.measure-home .may{
  justify-content:center;text-align:left;max-width:640px;margin-left:auto;margin-right:auto;
}
.measure-home .gateway{align-items:center;text-align:center}
.measure-home .gateway > *{max-width:46ch;margin-left:auto;margin-right:auto}
.measure-home .cta-row{justify-content:center}

/* Miss Universe — quick section navigation (Final QA pass) */
.mu-quicknav{margin-top:18px}
.mu-quicknav-row{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0 4px}
.mu-quicknav-row::-webkit-scrollbar{display:none}
.mu-quicknav-row .chip{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}
@media (min-width:900px){.mu-quicknav-row{flex-wrap:wrap;overflow-x:visible;justify-content:center}}
.milestone-image{width:100%;max-width:100%;height:auto;aspect-ratio:16/9;max-height:360px;object-fit:cover;border-radius:12px;margin:10px 0 14px;display:block}
.factcard>.milestone-image{margin:10px 0 14px}

@media (min-width:700px){.factlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.back-link{display:inline-block;margin-bottom:10px;font-size:14px;color:#1D476B;text-decoration:none}
.back-link:hover{text-decoration:underline}
/* Home vertical rhythm — calm, intentionally stacked on mobile */
.measure-home .may{margin-top:28px}
.measure-home > .gateway,.measure-home .gateways{margin-top:40px}
.home-coverage{margin-top:44px;margin-bottom:44px}
.home-coverage + .gateway{margin-top:0}
.home-coverage .region{margin-top:0}
@media (min-width:768px){
  .measure-home .may{margin-top:32px}
  .measure-home > .gateway,.measure-home .gateways{margin-top:44px}
  .home-coverage{margin-top:48px;margin-bottom:48px}
}
@media (min-width:1024px){
  .measure-home > .gateway,.measure-home .gateways{margin-top:40px}
  .home-coverage{margin-top:44px;margin-bottom:44px}
}
#s-community-top,#s-confirmado,#s-candidatas,#s-cobertura,#s-camino,#s-info,#s-noticias,#s-sedes,#s-hoteles,#s-vive,#s-faq{scroll-margin-top:88px}
.mu-news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mu-news-item a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line,#E6E8EB);border-radius:14px;text-decoration:none;color:inherit;background:#fff}
.mu-news-static{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line,#E6E8EB);border-radius:14px;background:#fff}
.mu-news-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:8px}
.mu-news-item a:hover{border-color:#1D476B}
.mu-news-excerpt{font-size:13px;line-height:1.45;color:#4B5563;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mu-news-meta{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#6B7280}
.mu-news-title{font-size:15px;font-weight:600;line-height:1.35}
.mu-news-source{font-size:12px;color:#6B7280}
.pageant-candidate-intro{margin-top:8px}
.pageant-inline-empty{margin-top:18px}
.pageant-chapter-anchor{min-width:0}
.pageant-coverage-preview{margin-top:18px}


/* Home coverage cards keep left-aligned, readable card text inside the centered Home column */
.home-coverage .cv-body,.home-coverage .cv-side-body,.home-coverage .cv-feature-main{text-align:left}

/* Global action alignment — primary/secondary buttons and button groups are
   centered inside their parent module at every breakpoint. */
.cta-row,
.may-actions,
.acc-modal-actions,
.review-owner-actions,
.may-footer-actions{justify-content:center}
.trip-empty,
.disc-cta{text-align:center}

/* Hero headline: keep "Te damos la bienvenida a Puerto Rico" on one desktop line. */
.page-title-hero{text-wrap:balance}
@media (min-width:1024px){
  .page-title-hero{white-space:nowrap;font-size:clamp(28px,2.6vw,40px)}
}
/* Owner review actions need clear separation between Editar and Eliminar. */
.review-owner-actions{gap:18px}
.review-owner-actions > * + *::before{content:"·";margin-right:18px;color:var(--blue-gray)}

/* Shared "Planifica tu viaje" section — extra breathing room from preceding content. */
.plan-trip-section{margin-top:44px}
.plan-trip-section:first-child{margin-top:0}
@media (min-width:768px){.plan-trip-section{margin-top:56px}}
@media (max-width:600px){
  .milestone-image{aspect-ratio:16/10;max-height:none;border-radius:11px}
}

/* ===== Unified latest updates (MAYCARES + official MU press) ===== */
.upd-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.upd-card a{
  display:block;overflow:hidden;border:1px solid var(--hairline-strong);border-radius:16px;background:var(--white);
  color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(29,71,107,.07);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}
.upd-card a:hover{border-color:var(--navy);box-shadow:0 12px 28px rgba(29,71,107,.12);transform:translateY(-2px)}
.upd-card a:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.upd-media{
  position:relative;overflow:hidden;background:#F3F5F7;
  aspect-ratio:16/9;display:grid;place-items:center
}
.upd-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
/* Article artwork must not participate in the grid track's intrinsic sizing.
   Shopify covers are often portrait; pinning the image to the established
   16:9 frame keeps that frame proportional and preserves the complete cover. */
.upd-media>img:not(.upd-media-mark){position:absolute;inset:0;object-fit:contain;object-position:center}
.upd-card a:hover .upd-media>img:not(.upd-media-mark){transform:scale(1.025)}
.upd-media.is-fallback{background:linear-gradient(145deg,#F3F5F7 0%,#fff 72%)}
.upd-media-mark{width:44px!important;height:44px!important;object-fit:contain!important;opacity:.52}
.upd-body{min-width:0;display:flex;flex-direction:column;gap:7px;padding:16px 17px 18px}
.upd-badges{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:1px}
.upd-badge{
  font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  border-radius:999px;padding:3px 8px;background:rgba(232,118,143,.14);color:#a64e66
}
.upd-badge.is-official{background:rgba(29,71,107,.1);color:#1D476B}
.upd-type{font-size:11px;color:#6B7280}
.upd-title{font-size:17px;font-weight:700;line-height:1.3;color:var(--text,#12263A);text-wrap:balance}
.upd-date{font-size:12px;color:#6B7280}
.upd-excerpt{
  font-size:13.5px;line-height:1.5;color:#4B5563;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.upd-cta{margin-top:4px;padding-top:10px;border-top:1px solid var(--hairline);font-size:12.5px;font-weight:700;color:var(--navy)}
@media (min-width:768px){
  .upd-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .upd-card a{height:100%;display:flex;flex-direction:column}
  /* The media block is a flex item: without this it stretches to fill the
     equal-height card and the photo floats inside a tall grey box. */
  .upd-media{flex:0 0 auto;align-self:stretch}
  .upd-body{flex:1;padding:18px 20px 20px}
  .upd-title{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  .upd-card a,.upd-media img{transition:none}
  .upd-card a:hover{transform:none}
}

/* ---------------------------------------------- Pageants gateway (/pageants) */
.pageant-gateway{display:grid;gap:18px;margin:22px auto 26px;justify-items:center;max-width:760px}
.pageant-gateway-card{width:100%;max-width:460px}
.pageant-index-head{text-align:center}
.pageant-gateway-card{
  display:block;border:1px solid var(--hairline);border-radius:16px;overflow:hidden;
  background:#fff;text-decoration:none;color:inherit;
  box-shadow:0 1px 2px rgba(18,38,58,.04);transition:transform .18s ease,box-shadow .18s ease
}
.pageant-gateway-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(18,38,58,.10)}
.pageant-gateway-card:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.pageant-gateway-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#F3F5F7}
.pageant-gateway-media img{width:100%;height:100%;object-fit:cover;display:block}
.pageant-gateway-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;text-align:center}
.pageant-gateway-body h2{margin:0;font-size:19px;font-weight:800;line-height:1.25;color:var(--text,#12263A)}
.pageant-gateway-meta{margin:0;font-size:13.5px;color:#6B7280}
.pageant-gateway-dates{font-weight:650;letter-spacing:.02em;color:var(--navy,#1D476B);line-height:1.4}
.pageant-gateway-cta{margin-top:8px;font-size:13px;font-weight:800;color:var(--navy)}
@media (min-width:768px){
  .pageant-gateway{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .pageant-gateway-body h2{font-size:20px}
}

/* ===== Intentional tablet layer =====
   The shared editorial measure used to remain capped at 720px while its
   children switched to desktop-density grids. Give 768–1199px devices a
   roomier, lower-density composition without changing phone or desktop rules. */
@media (min-width:768px) and (max-width:1199px){
  .measure-mu{width:100%;max-width:900px}
  section.region{margin-top:48px}
  .section-header h2{font-size:24px}
  .section-header p,.prose p,.prose span{font-size:15px}

  .quickfacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .quickfact,.factgrid .factcard{padding:18px 20px}
  .quickfact .qf-label,.factgrid .fact-label{font-size:11px}
  .quickfact .qf-value,.factgrid .fact-value{font-size:18px}
  .quickfact.qf-wide{grid-column:auto}

  .upd-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .upd-body{padding:20px 22px 22px}
  .upd-title{font-size:19px}
  .upd-excerpt{font-size:14px}

  .milestone{padding-left:34px;padding-bottom:22px}
  .milestone summary{padding:18px 20px 16px}
  .milestone .details-body{padding:0 20px 20px}
  .milestone-title{font-size:19px}
  .milestone-state,.milestone-date,.milestone-type{font-size:11px}
  .milestone-image{max-height:none}

  .factlist{gap:20px}
  .factlist .factcard{padding:18px}
  .trustnotice.trustnotice-independence{max-width:760px}
}

/* Portrait tablets get one generous edition card; wider tablets can carry
   two cards without miniaturising their artwork or copy. */
@media (min-width:768px) and (max-width:899px){
  .pageant-gateway{grid-template-columns:minmax(0,1fr);max-width:600px;gap:24px}
  .pageant-gateway-card{max-width:600px}
  .pageant-gateway-body{padding:20px 22px 22px}
  .pageant-gateway-body h2{font-size:22px}
}
@media (min-width:900px) and (max-width:1199px){
  .pageant-gateway{max-width:900px;gap:24px}
  .pageant-gateway-card{max-width:none}
  .pageant-gateway-body{padding:19px 20px 21px}
  .pageant-gateway-body h2{font-size:21px}
}

/* ------------------------------------- Home multi-pageant shortcuts (below MAY) */
.pageant-shortcuts{margin:28px 0 4px;text-align:center}
.pageant-shortcuts-cover{
  position:relative;overflow:hidden;width:100%;aspect-ratio:16/7;max-height:290px;
  margin:0 0 18px;border-radius:var(--radius);background:var(--placeholder)
}
.pageant-shortcuts-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.pageant-shortcuts-title{margin:0 0 9px;text-align:center;font-size:22px;font-weight:800;line-height:1.25;letter-spacing:0;color:var(--text,#12263A)}
.pageant-shortcuts-row{
  display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap;
  justify-content:center;justify-content:safe center;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none
}
.pageant-shortcuts-row::-webkit-scrollbar{display:none}
.pageant-chip{
  flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;text-decoration:none;
  border:1px solid var(--hairline);border-radius:999px;padding:8px 14px;
  font-size:13px;font-weight:700;color:var(--navy);background:#fff
}
.pageant-chip:hover{background:rgba(29,71,107,.06)}
.pageant-chip:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.pageant-chip-all{color:#4B5563}

/* ------------------------------------- Home multi-pageant gateway (cards) */
.pageant-shortcuts-sub{margin:0 auto 16px;max-width:54ch;text-align:center;font-size:14px;font-weight:500;line-height:1.55;color:var(--navy,#1D476B)}
.pageant-shortcuts-grid{display:grid;gap:10px;grid-template-columns:1fr}
.pageant-shortcut-card{
  display:flex;flex-direction:column;gap:6px;text-align:left;text-decoration:none;
  border:1px solid var(--hairline);border-radius:14px;padding:14px 16px;background:#fff;
  box-shadow:0 1px 2px rgba(18,38,58,.04)
}
.pageant-shortcut-card:hover{border-color:var(--navy,#1D476B)}
.pageant-shortcut-name{font-size:15.5px;font-weight:800;color:var(--text,#12263A);line-height:1.3}
.pageant-shortcut-dates{font-size:12.5px;font-weight:650;letter-spacing:.02em;color:var(--navy,#1D476B);line-height:1.4}
.pageant-shortcut-cta{font-size:13px;font-weight:700;color:var(--navy,#1D476B)}

/* Previous/next edition navigation (chronological by start date). */
.pageant-siblings{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.pageant-sibling{font-size:13px;font-weight:700;color:var(--navy,#1D476B);text-decoration:none;line-height:1.35;min-width:0}
.pageant-sibling:hover{text-decoration:underline}
.pageant-sibling-prev{text-align:left}
.pageant-sibling-next{margin-left:auto;text-align:right}
.pageant-sibling-spacer{flex:1 1 auto}
.pageant-sibling-full{display:none}
.pageant-sibling-short{display:inline}
@media (min-width:768px){
  .pageant-sibling-full{display:inline}
  .pageant-sibling-short{display:none}
}
.pageant-shortcuts-all{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--navy,#1D476B);text-decoration:none}
.pageant-shortcuts-all:hover{text-decoration:underline}
@media (min-width:640px){
  .pageant-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pageant-shortcuts-title{font-size:24px}
  .pageant-shortcut-name{font-size:17px}
}
@media (min-width:1024px){
  .pageant-shortcuts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ------------------------------------- Puerto Rico discovery bridge */
.pr-bridge{
  margin:28px 0 8px;border:1px solid var(--hairline);border-radius:8px;
  background:var(--surface,#fff);overflow:hidden
}
.pr-bridge-media{display:block;position:relative;aspect-ratio:16/7;overflow:hidden;background:var(--wash,#F3F5F7)}
.pr-bridge-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pr-bridge-content{padding:20px;text-align:left}
.pr-bridge-kicker{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy,#1D476B)}
.pr-bridge-title{margin:0 0 8px;font-size:21px;font-weight:800;color:var(--text,#12263A)}
.pr-bridge-text{margin:0 0 16px;max-width:46ch;font-size:14.5px;line-height:1.6;color:var(--blue-gray,#55657F)}
.pr-bridge-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;white-space:nowrap}
.pr-bridge-cta[aria-hidden],.pr-bridge-cta span[aria-hidden]{display:inline-block}
@media (min-width:768px){
  .pr-bridge{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:stretch}
  .pr-bridge-media{aspect-ratio:auto;min-height:220px}
  .pr-bridge-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 26px}
  .pr-bridge-title{font-size:24px}
}

/* ------------------------------------- Admin pageant context badge */
.admin-pageant-badge{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:10px 14px;
  border:1px solid var(--hairline);border-radius:999px;background:#fff;font-size:13.5px
}
.admin-pageant-badge-label{font-weight:700;color:var(--muted,#5A6B7B)}
.admin-pageant-badge strong{color:var(--text,#12263A)}
.admin-pageant-badge-switch{margin-left:auto;font-weight:700;color:var(--navy,#1D476B);text-decoration:none}
.admin-pageant-badge-switch:hover{text-decoration:underline}
.admin-pageant-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.admin-pageant-links a{
  font-size:13px;font-weight:700;text-decoration:none;color:var(--navy,#1D476B);
  border:1px solid var(--hairline);border-radius:999px;padding:6px 12px
}
.admin-pageant-links a:hover{border-color:var(--navy,#1D476B)}
