
/* v43 — final QA pass for accessibility mode and map polish */

/* 1) Accessibility text must never be smaller than the ordinary site */
body.vision-mode[data-vision-size="medium"]{
  --vision-body:23px;
  --vision-h1:84px;
  --vision-h2:70px;
  --vision-h3:52px;
  --vision-h4:31px;
  --vision-display:114px;
  --vision-section-display:94px;
  --vision-season:68px;
  --vision-date:38px;
}
body.vision-mode[data-vision-size="large"]{
  --vision-body:26px;
  --vision-h1:92px;
  --vision-h2:76px;
  --vision-h3:58px;
  --vision-h4:34px;
  --vision-display:126px;
  --vision-section-display:102px;
  --vision-season:74px;
  --vision-date:42px;
}
body.vision-mode[data-vision-size="xlarge"]{
  --vision-body:29px;
  --vision-h1:100px;
  --vision-h2:84px;
  --vision-h3:64px;
  --vision-h4:38px;
  --vision-display:138px;
  --vision-section-display:110px;
  --vision-season:80px;
  --vision-date:46px;
}

/* 2) Hero in accessibility mode — wider centered copy and cleaner flow */
body.vision-mode .ref-hero__copy{
  width:min(100%, 1160px) !important;
  max-width:1160px !important;
}
body.vision-mode .ref-hero__copy p{
  max-width:42ch !important;
  line-height:1.5 !important;
}
body.vision-mode .ref-hero__copy h1{
  max-width:18ch !important;
  line-height:1.06 !important;
}

/* 3) Winter promo in accessibility mode — no poster, centered, but using width more efficiently */
body.vision-mode .home-winter-showcase__content{
  max-width:1120px !important;
  padding-left:24px !important;
  padding-right:24px !important;
}
body.vision-mode .home-winter-showcase__tag,
body.vision-mode .home-winter-showcase__content h2,
body.vision-mode .home-winter-showcase__dates,
body.vision-mode .home-winter-showcase__lead,
body.vision-mode .home-winter-showcase__note{
  max-width:52ch !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.vision-mode .home-winter-showcase__lead{
  font-size:max(22px,calc(var(--vision-body) * 1.02)) !important;
  line-height:1.55 !important;
}
body.vision-mode .home-winter-showcase__list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
  gap:12px 34px !important;
  max-width:900px !important;
  margin:0 auto 24px !important;
}
body.vision-mode .home-winter-showcase__list span{
  font-size:max(21px,calc(var(--vision-body) * .95)) !important;
}
body.vision-mode .home-winter-showcase__facts{
  grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
  gap:18px !important;
  max-width:960px !important;
  margin:0 auto 24px !important;
}
body.vision-mode .home-winter-showcase__fact{
  width:100% !important;
}
body.vision-mode .home-winter-showcase__fact strong{
  font-size:max(28px,calc(var(--vision-body) * 1.22)) !important;
}
body.vision-mode .home-winter-showcase__bottom{
  flex-direction:column !important;
  align-items:center !important;
  gap:16px !important;
}
body.vision-mode .home-winter-showcase__price{
  text-align:center !important;
}
body.vision-mode .home-winter-showcase__cta{
  width:min(100%,460px) !important;
}

/* 4) Archive page headings and intro text — larger and not cramped */
body.vision-mode .archive-era-head{
  max-width:1120px !important;
}
body.vision-mode .archive-era-head p{
  max-width:1000px !important;
  font-size:max(21px,calc(var(--vision-body) * 1.02)) !important;
  line-height:1.58 !important;
}
body.vision-mode .archive-era-kicker{
  font-size:max(19px,calc(var(--vision-body) * .86)) !important;
  line-height:1.35 !important;
  padding:10px 22px !important;
}
body.vision-mode .archive-era-head__title{
  font-size:max(42px,calc(var(--vision-h2) * .74)) !important;
  line-height:1.08 !important;
}
body.vision-mode .archive-era-head__dates{
  font-size:max(28px,calc(var(--vision-body) * 1.18)) !important;
  line-height:1.2 !important;
}
body.vision-mode .archive-open{
  font-size:max(18px,calc(var(--vision-body) * .86)) !important;
}

/* 5) Hyphenation / ugly single-letter wrapping prevention */
body.vision-mode main :where(h1,h2,h3,h4,p,li,dd,dt,label,a,button,strong,small,span){
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:auto !important;
}

@media (max-width:1180px) and (min-width:761px){
  body.vision-mode[data-vision-size="medium"]{
    --vision-body:21px;
    --vision-h1:74px;
    --vision-h2:58px;
    --vision-h3:42px;
    --vision-h4:29px;
    --vision-display:92px;
    --vision-section-display:82px;
    --vision-season:64px;
    --vision-date:36px;
  }
  body.vision-mode[data-vision-size="large"]{
    --vision-body:24px;
    --vision-h1:82px;
    --vision-h2:64px;
    --vision-h3:46px;
    --vision-h4:32px;
    --vision-display:102px;
    --vision-section-display:90px;
    --vision-season:70px;
    --vision-date:40px;
  }
  body.vision-mode[data-vision-size="xlarge"]{
    --vision-body:27px;
    --vision-h1:88px;
    --vision-h2:70px;
    --vision-h3:50px;
    --vision-h4:35px;
    --vision-display:110px;
    --vision-section-display:96px;
    --vision-season:76px;
    --vision-date:44px;
  }
  body.vision-mode .ref-hero__copy p{max-width:38ch !important;}
  body.vision-mode .home-winter-showcase__list,
  body.vision-mode .home-winter-showcase__facts{grid-template-columns:repeat(2,minmax(220px,1fr)) !important;}
}

@media (max-width:760px){
  body.vision-mode[data-vision-size="medium"]{
    --vision-body:20px;
    --vision-h1:43px;
    --vision-h2:42px;
    --vision-h3:28px;
    --vision-h4:24px;
    --vision-display:68px;
    --vision-section-display:58px;
    --vision-season:46px;
    --vision-date:32px;
  }
  body.vision-mode[data-vision-size="large"]{
    --vision-body:22px;
    --vision-h1:47px;
    --vision-h2:46px;
    --vision-h3:32px;
    --vision-h4:26px;
    --vision-display:74px;
    --vision-section-display:64px;
    --vision-season:50px;
    --vision-date:35px;
  }
  body.vision-mode[data-vision-size="xlarge"]{
    --vision-body:24px;
    --vision-h1:51px;
    --vision-h2:50px;
    --vision-h3:35px;
    --vision-h4:29px;
    --vision-display:80px;
    --vision-section-display:69px;
    --vision-season:54px;
    --vision-date:38px;
  }
  body.vision-mode .ref-hero__copy p{max-width:25ch !important;}
  body.vision-mode .home-winter-showcase__content{padding-left:16px !important; padding-right:16px !important;}
  body.vision-mode .home-winter-showcase__tag,
  body.vision-mode .home-winter-showcase__content h2,
  body.vision-mode .home-winter-showcase__dates,
  body.vision-mode .home-winter-showcase__lead,
  body.vision-mode .home-winter-showcase__note{max-width:24ch !important;}
  body.vision-mode .home-winter-showcase__list,
  body.vision-mode .home-winter-showcase__facts{grid-template-columns:1fr !important; max-width:100% !important;}
  body.vision-mode .archive-era-head p{max-width:100% !important;}
}
