:root{
  --primary:#7A2E1D;
  --secondary:#B94E2B;
  --accent:#E6A544;
  --canyon:#9F3F24;
  --clay:#C76B3D;
  --sand:#F2DDC6;
  --cream:#FFF8EF;
  --sage:#6F8F72;
  --turquoise:#3D8F94;
  --mesa:#D77C49;
  --dark:#261A14;
  --muted:#5E4A3B;
  --shadow:0 20px 58px rgba(41,22,14,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Open Sans",Arial,sans-serif;
  color:var(--dark);
  background:
    radial-gradient(circle at 18% 5%,rgba(230,165,68,.34),transparent 35%),
    radial-gradient(circle at 80% 18%,rgba(61,143,148,.24),transparent 32%),
    linear-gradient(rgba(52,25,13,.58),rgba(55,27,14,.78)),
    url('../site_background.webp') center/cover fixed no-repeat;
}
a{color:inherit}
.page-shell{width:min(98.5vw,1820px);max-width:none;margin:0 auto;padding:.55rem}
.site-header{
  position:sticky;
  top:.5rem;
  z-index:20;
  background:linear-gradient(145deg,rgba(255,248,239,.96),rgba(242,221,198,.94));
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  margin:.25rem auto .4rem;
  padding:.42rem .55rem;
  box-shadow:var(--shadow);
}
.header-main{
  display:grid;
  grid-template-columns:minmax(150px,210px) minmax(320px,1fr) minmax(180px,230px);
  align-items:center;
  gap:.75rem;
}
.logo-link{display:flex;justify-content:center;align-items:center;text-decoration:none;min-width:0}
.main-logo{
  display:block;
  height:clamp(190px,22vw,315px);
  max-width:100%;
  width:auto;
  object-fit:contain;
  margin:.1rem auto;
  border-radius:22px;
}
.header-spacer{min-height:1px}
.weather-card{
  justify-self:end;
  width:min(230px,100%);
  border-radius:22px;
  padding:.9rem 1rem;
  color:#fffaf1;
  background:
    linear-gradient(145deg,rgba(122,46,29,.95),rgba(185,78,43,.92) 55%,rgba(61,143,148,.86));
  box-shadow:0 14px 32px rgba(76,35,23,.25);
  border:1px solid rgba(255,248,239,.42);
}
.weather-label{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.72rem;opacity:.9}
.weather-temp{font-size:2.1rem;line-height:1;font-weight:1000;margin:.25rem 0}
.weather-desc{font-weight:800;font-size:.9rem;min-height:1.2rem}
.weather-meta{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.55rem;font-size:.78rem;opacity:.94}
.weather-meta span{background:rgba(255,255,255,.18);border-radius:999px;padding:.24rem .5rem}
.category-tabs{
  display:flex;
  gap:.55rem;
  justify-content:center;
  overflow-x:auto;
  white-space:nowrap;
  padding:.5rem .35rem .75rem;
  margin:0 auto .75rem;
  position:sticky;
  top:calc(.5rem + 12px);
  z-index:15;
}
.category-tabs a{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  text-decoration:none;
  font-weight:900;
  color:var(--cream);
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  padding:.58rem .92rem;
  border-radius:999px;
  box-shadow:0 10px 20px rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.28);
}
.category-tabs a:nth-child(2){background:linear-gradient(135deg,#7E4A2B,#C78952)}
.category-tabs a:nth-child(3){background:linear-gradient(135deg,#6F8F72,#B94E2B)}
.category-tabs a:nth-child(4){background:linear-gradient(135deg,#8B315E,#D77C49)}
.category-tabs a:nth-child(5){background:linear-gradient(135deg,#2F7479,#3D8F94)}
.category-tabs a:nth-child(6){background:linear-gradient(135deg,#8F5928,#E6A544)}
.category-tabs a:nth-child(7){background:linear-gradient(135deg,#6E2E1D,#9F3F24)}
.tab-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:contain;
  background:rgba(255,248,239,.93);
  padding:3px;
  flex:0 0 auto;
}
main{padding-bottom:1.1rem}
.hero{
  background:linear-gradient(145deg,rgba(255,248,239,.96),rgba(242,221,198,.94));
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  padding:clamp(.8rem,1.8vw,1.45rem);
  text-align:center;
  box-shadow:var(--shadow);
  margin:.55rem 0;
}
.category-hero-grid{
  display:grid;
  grid-template-columns:minmax(96px,150px) 1fr;
  align-items:center;
  gap:1.1rem;
  text-align:left;
}
.category-hero-logo{
  width:100%;
  max-height:150px;
  object-fit:contain;
  border-radius:24px;
  background:rgba(255,255,255,.52);
  padding:.55rem;
  box-shadow:inset 0 0 0 1px rgba(122,46,29,.08);
}
.home-hero h1{font-size:clamp(2.4rem,7vw,5rem)}
h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.25rem 0 .8rem;font-weight:1000}
h2,h3{line-height:1.1}
.kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:1000;color:var(--secondary);font-size:.82rem}
.meta{color:var(--muted);line-height:1.5}
.large{font-size:1.1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:.72rem}
.listing-grid{align-items:stretch}
.loc,.card{
  background:linear-gradient(145deg,rgba(255,248,239,.97),rgba(246,226,206,.93));
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  overflow:hidden;
  text-decoration:none;
  color:var(--dark);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.loc:nth-child(6n+1),.tone-canyon{background:linear-gradient(145deg,rgba(255,248,239,.98),rgba(250,220,196,.94))}
.loc:nth-child(6n+2),.tone-sand{background:linear-gradient(145deg,rgba(255,250,239,.98),rgba(242,221,198,.96))}
.loc:nth-child(6n+3),.tone-sage{background:linear-gradient(145deg,rgba(252,249,236,.98),rgba(220,232,203,.93))}
.loc:nth-child(6n+4),.tone-sunset{background:linear-gradient(145deg,rgba(255,246,235,.98),rgba(246,209,166,.94))}
.loc:nth-child(6n+5),.tone-sky{background:linear-gradient(145deg,rgba(246,252,249,.98),rgba(201,231,226,.92))}
.loc:nth-child(6n),.tone-mesa{background:linear-gradient(145deg,rgba(255,248,239,.98),rgba(231,188,156,.94))}
.loc .body,.card{padding:.78rem}
.image-link{position:relative;display:block}
.category-badge{
  position:absolute;
  top:.78rem;
  left:.78rem;
  z-index:2;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.38rem .72rem;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  font-size:.74rem;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.42);
}
.badge-lodging{background:linear-gradient(135deg,#7E4A2B,#C78952)}
.badge-activities{background:linear-gradient(135deg,#6F8F72,#B94E2B)}
.badge-shopping{background:linear-gradient(135deg,#8B315E,#D77C49)}
.catlogo{height:190px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(242,221,198,.78))}
.catlogo img{max-width:78%;max-height:170px;object-fit:contain}
.card-img{width:100%;height:190px;object-fit:cover;display:block;background:var(--sand)}
.detail-card{position:relative;background:rgba(255,248,239,.96);border-radius:34px;overflow:hidden;box-shadow:0 22px 65px rgba(0,0,0,.25)}
.detail-img{width:100%;max-height:540px;object-fit:cover;display:block}
.detail-body{padding:clamp(.9rem,2vw,1.55rem)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1rem}
.facts dt{font-weight:900}
.actions{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.62rem}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.58rem .82rem;
  text-decoration:none;
  font-weight:900;
  background:rgba(122,46,29,.10);
  color:var(--dark);
  border:1px solid rgba(122,46,29,.14);
}
.btn.primary{background:linear-gradient(135deg,var(--secondary),var(--accent));color:white}
.tools{margin:.55rem 0}
.search-tools{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,320px);
  gap:.75rem;
  background:rgba(255,248,239,.92);
  border:1px solid rgba(255,255,255,.72);
  border-radius:22px;
  padding:.55rem;
  box-shadow:0 14px 35px rgba(0,0,0,.18);
}
#searchBox,#categoryFilter{
  width:100%;
  border:0;
  border-radius:999px;
  padding:.72rem .95rem;
  font-size:1rem;
  background:#fffaf3;
  color:var(--dark);
  box-shadow:inset 0 0 0 1px rgba(122,46,29,.10);
}
#categoryFilter{font-weight:800}
.subcategory-panel{
  display:none;
  margin:.45rem 0;
  background:linear-gradient(145deg,rgba(255,248,239,.95),rgba(235,212,184,.93));
  border:1px solid rgba(255,255,255,.70);
  border-radius:30px;
  padding:1.05rem;
  box-shadow:var(--shadow);
}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.section-heading h2{margin:0;font-size:clamp(1.35rem,2.6vw,2rem)}
.subcat-grid{display:flex;flex-wrap:wrap;gap:.55rem;max-height:330px;overflow:auto;padding:.2rem}
.subcat-chip{
  cursor:pointer;
  border:1px solid rgba(122,46,29,.14);
  background:rgba(255,250,243,.88);
  color:var(--dark);
  border-radius:999px;
  padding:.55rem .75rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(60,31,18,.08);
}
.subcat-chip span{opacity:.72;margin-left:.35rem}
.subcat-chip.active,.subcat-chip:hover{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
.map-wrap{background:rgba(255,248,239,.95);border-radius:24px;padding:.55rem;box-shadow:0 18px 45px rgba(0,0,0,.20)}
#map{height:68vh;min-height:520px;border-radius:22px}
.faq-list,.content-stack{display:grid;gap:.68rem}
.faq-item{background:linear-gradient(145deg,rgba(255,248,239,.97),rgba(242,221,198,.94));border-radius:22px;padding:.72rem .95rem;box-shadow:0 12px 28px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.6)}
.faq-item summary{font-weight:1000;cursor:pointer}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,275px),1fr));gap:.72rem;margin-top:.65rem}
.footer{text-align:center;background:rgba(255,248,239,.92);border-radius:22px;padding:.82rem;margin:.55rem 0;color:var(--dark)}
code{background:rgba(0,0,0,.08);padding:.1rem .35rem;border-radius:.35rem}
@media(max-width:900px){
  .header-main{grid-template-columns:1fr}
  .header-spacer{display:none}
  .weather-card{justify-self:center;width:min(420px,96%)}
  .main-logo{height:clamp(170px,44vw,250px)}
  .category-tabs{justify-content:flex-start;top:.25rem}
  .category-hero-grid{grid-template-columns:1fr;text-align:center}
  .category-hero-logo{max-width:180px;margin:0 auto}
}
@media(max-width:720px){
  .page-shell{width:100%;padding:.3rem}
  .site-header{border-radius:20px;padding:.55rem}
  .main-logo{height:clamp(150px,48vw,220px)}
  .search-tools{grid-template-columns:1fr}
  .tab-icon{width:30px;height:30px}
  #map{min-height:430px;height:60vh}
}


/* v6 horizontal-space + compact-content refinements */
@media(min-width:1320px){
  .listing-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));}
  .category-card{min-height:100%;}
}
@media(min-width:1680px){
  .listing-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
  .home-hero h1{font-size:clamp(3rem,4.8vw,5.4rem);}
}
@media(max-width:1100px){
  .page-shell{width:min(99vw,1100px);}
  .header-main{grid-template-columns:minmax(120px,180px) minmax(260px,1fr) minmax(170px,210px);}
  .main-logo{height:clamp(160px,20vw,260px);}
}
@media(max-width:560px){
  .grid{grid-template-columns:1fr;gap:.52rem}
  .loc .body,.card{padding:.64rem}
  .card-img{height:168px}
  .hero{padding:.72rem;border-radius:18px}
  h1{font-size:clamp(1.7rem,10vw,2.5rem)}
  .weather-card{padding:.65rem .75rem;border-radius:18px}
  .category-tabs{gap:.42rem;padding:.35rem .2rem .5rem}
  .category-tabs a{padding:.46rem .7rem}
}
.loc h3{margin:.18rem 0 .42rem}
.loc p{margin:.34rem 0}
.hero p{margin:.42rem auto}
.category-hero-grid{gap:.72rem}
.search-tools{grid-template-columns:minmax(220px,1fr) minmax(190px,280px)}
@media(max-width:760px){.search-tools{grid-template-columns:1fr}}
.faq-item:nth-child(6n+1){background:linear-gradient(145deg,rgba(255,248,239,.98),rgba(250,220,196,.94));border-left-color:var(--secondary)}
.faq-item:nth-child(6n+2){background:linear-gradient(145deg,rgba(255,250,239,.98),rgba(242,221,198,.96));border-left-color:var(--accent)}
.faq-item:nth-child(6n+3){background:linear-gradient(145deg,rgba(252,249,236,.98),rgba(220,232,203,.94));border-left-color:var(--sage)}
.faq-item:nth-child(6n+4){background:linear-gradient(145deg,rgba(255,246,235,.98),rgba(246,209,166,.94));border-left-color:var(--mesa)}
.faq-item:nth-child(6n+5){background:linear-gradient(145deg,rgba(246,252,249,.98),rgba(201,231,226,.94));border-left-color:var(--turquoise)}
.faq-item:nth-child(6n){background:linear-gradient(145deg,rgba(255,248,239,.98),rgba(231,188,156,.94));border-left-color:var(--canyon)}
.faq-item summary{padding:.1rem 0}


/* v7 compact header + sticky search refinements */
.page-shell{
  width:min(99.2vw,1900px) !important;
  padding:.32rem !important;
}
.header-wrap,
.site-header,
.brand-panel,
.header-main{
  padding:.22rem .38rem !important;
  margin:.12rem auto .25rem !important;
}
.header-main{
  min-height:0 !important;
  align-items:center !important;
}
.main-logo,
.logo-main,
.header-logo,
.site-logo{
  height:clamp(115px,12vw,190px) !important;
  max-height:190px !important;
  width:auto !important;
  object-fit:contain !important;
  margin:.05rem auto !important;
}
.logo-box,
.logo-panel,
.brand-logo-box{
  padding:.12rem !important;
  min-height:0 !important;
}
.category-tabs{
  margin:.15rem auto .28rem !important;
  padding:.22rem .18rem .32rem !important;
  gap:.36rem !important;
}
.category-tabs a{
  padding:.42rem .64rem !important;
}
.hero,
.category-hero,
.map-wrap,
.card,
.loc .body,
.faq-item,
.detail-body,
.weather-card,
.tools{
  padding:.52rem .66rem !important;
}
.hero,
.category-hero,
.card,
.loc,
.faq-item,
.map-wrap,
.detail-body{
  border-radius:18px !important;
}
.grid,
.listing-grid,
.info-grid{
  gap:.52rem !important;
}
.loc h3,
.card h3{
  margin:.08rem 0 .28rem !important;
}
.loc p,
.card p{
  margin:.2rem 0 !important;
}
.actions{
  margin-top:.38rem !important;
  gap:.3rem !important;
}
.tools{
  position:sticky !important;
  top:0 !important;
  z-index:999 !important;
  margin:.25rem 0 .45rem !important;
  background:linear-gradient(135deg,rgba(255,248,239,.98),rgba(246,224,202,.98)) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 10px 26px rgba(79,39,24,.18) !important;
  backdrop-filter:blur(10px);
}
.search-tools{
  gap:.38rem !important;
}
.search-tools input,
.search-tools select{
  padding:.62rem .78rem !important;
}
@media(max-width:760px){
  .page-shell{padding:.18rem !important;}
  .main-logo,.logo-main,.header-logo,.site-logo{
    height:clamp(92px,25vw,145px) !important;
    max-height:145px !important;
  }
  .header-wrap,.site-header,.brand-panel,.header-main{
    padding:.14rem .22rem !important;
  }
  .tools{
    top:0 !important;
    padding:.42rem !important;
    border-radius:14px !important;
  }
  .search-tools{
    grid-template-columns:1fr !important;
  }
  .card-img{height:155px !important;}
}


/* v9 HTML-backed pinned category + search controls
   This works with the updated HTML files where category navigation and
   category search/filter are grouped in .sticky-controls under the logo header. */
:root{
  --sticky-header-height:150px;
}
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:1300 !important;
}
.sticky-controls{
  position:sticky !important;
  top:var(--sticky-header-height) !important;
  z-index:1260 !important;
  display:grid !important;
  gap:.26rem !important;
  margin:.12rem auto .48rem !important;
  padding:.22rem !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,rgba(255,248,239,.97),rgba(246,224,202,.95)) !important;
  border:1px solid rgba(255,255,255,.74) !important;
  box-shadow:0 12px 28px rgba(79,39,24,.17) !important;
  backdrop-filter:blur(10px);
}
.sticky-controls .category-tabs{
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  margin:0 !important;
  padding:.18rem .18rem !important;
  box-shadow:none !important;
  background:transparent !important;
  border:0 !important;
}
.sticky-controls .tools{
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  margin:0 !important;
  padding:.38rem .44rem !important;
  border-radius:15px !important;
  box-shadow:0 8px 18px rgba(79,39,24,.12) !important;
}
.sticky-controls .search-tools{
  gap:.36rem !important;
}
.sticky-controls input,
.sticky-controls select{
  min-height:42px !important;
}
main{
  scroll-margin-top:calc(var(--sticky-header-height) + 112px) !important;
}
section,
article,
[id]{
  scroll-margin-top:calc(var(--sticky-header-height) + 126px) !important;
}
@media(max-width:1100px){
  :root{--sticky-header-height:132px;}
}
@media(max-width:760px){
  :root{--sticky-header-height:104px;}
  .sticky-controls{
    top:var(--sticky-header-height) !important;
    gap:.2rem !important;
    padding:.16rem !important;
    border-radius:14px !important;
    margin:.08rem auto .32rem !important;
  }
  .sticky-controls .category-tabs{
    justify-content:flex-start !important;
    padding:.14rem !important;
    gap:.28rem !important;
  }
  .sticky-controls .category-tabs a{
    padding:.34rem .54rem !important;
  }
  .sticky-controls .tab-icon{
    width:25px !important;
    height:25px !important;
  }
  .sticky-controls .tools{
    padding:.28rem !important;
  }
  .sticky-controls .search-tools{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:520px){
  :root{--sticky-header-height:96px;}
  .sticky-controls .category-tabs a span{
    font-size:.84rem;
  }
}


/* v10 sticky overlap fix
   Increases the sticky offset so the category buttons/search controls sit below
   the actual main logo header instead of sliding underneath it. */
:root{
  --sticky-header-height:clamp(178px,14.5vw,232px) !important;
  --sticky-controls-gap:.38rem;
}
.sticky-controls{
  top:calc(var(--sticky-header-height) + var(--sticky-controls-gap)) !important;
  z-index:1250 !important;
}
.site-header{
  z-index:1400 !important;
}
.category-tabs{
  z-index:auto !important;
}
.tools{
  z-index:auto !important;
}
main,
section,
article,
[id]{
  scroll-margin-top:calc(var(--sticky-header-height) + 132px) !important;
}
@media(max-width:1100px){
  :root{
    --sticky-header-height:clamp(150px,18vw,190px) !important;
    --sticky-controls-gap:.32rem;
  }
}
@media(max-width:760px){
  :root{
    --sticky-header-height:clamp(128px,34vw,168px) !important;
    --sticky-controls-gap:.24rem;
  }
  .sticky-controls{
    top:calc(var(--sticky-header-height) + var(--sticky-controls-gap)) !important;
  }
}
@media(max-width:520px){
  :root{
    --sticky-header-height:clamp(118px,36vw,154px) !important;
  }
}


/* v11 uniform gaps + category map pages */
:root{
  --site-gap:.52rem;
  --sticky-header-height:145px;
  --sticky-extra-gap:var(--site-gap);
}
.page-shell{
  padding:var(--site-gap) !important;
}
.site-header{
  top:var(--site-gap) !important;
  margin:0 auto var(--site-gap) !important;
}
.sticky-controls{
  top:calc(var(--sticky-header-height) + (var(--site-gap) * 2)) !important;
  margin:0 auto var(--site-gap) !important;
  gap:var(--site-gap) !important;
  padding:.22rem !important;
}
.sticky-controls .category-tabs{
  margin:0 !important;
}
.sticky-controls .tools{
  margin:0 !important;
}
main{
  display:grid !important;
  gap:var(--site-gap) !important;
  padding-bottom:calc(var(--site-gap) * 2) !important;
}
.hero,
.category-hero,
.map-wrap,
.map-category-links,
.faq-list,
.content-stack,
.info-grid,
.grid,
.listing-grid{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.grid,
.listing-grid,
.info-grid,
.faq-list,
.content-stack,
.map-category-grid{
  gap:var(--site-gap) !important;
}
.hero,
.category-hero,
.map-wrap,
.card,
.loc .body,
.faq-item,
.detail-body,
.weather-card,
.tools{
  padding:.52rem .66rem !important;
}
.map-category-links{
  background:linear-gradient(145deg,rgba(255,248,239,.96),rgba(242,221,198,.94));
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  padding:.52rem .66rem;
  box-shadow:var(--shadow);
}
.map-category-links h2{
  margin:0 0 var(--site-gap);
  font-size:clamp(1.15rem,2.2vw,1.65rem);
}
.map-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.map-category-card{
  display:flex;
  align-items:center;
  gap:.58rem;
  text-decoration:none;
  border-radius:16px;
  padding:.58rem .68rem;
  background:rgba(255,248,239,.72);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 10px 22px rgba(79,39,24,.12);
}
.map-category-card img{
  width:58px;
  height:58px;
  object-fit:contain;
  border-radius:14px;
  background:rgba(255,248,239,.9);
  flex:0 0 auto;
}
.map-category-card strong{
  display:block;
  font-size:1rem;
}
.map-category-card small{
  display:block;
  color:var(--muted);
  font-weight:800;
  margin-top:.12rem;
}
.map-popup-img{
  width:120px;
  height:72px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin:.25rem 0 .35rem;
}
@media(max-width:1100px){
  :root{
    --sticky-header-height:132px;
  }
}
@media(max-width:760px){
  :root{
    --site-gap:.42rem;
    --sticky-header-height:106px;
  }
  .page-shell{
    padding:var(--site-gap) !important;
  }
  .sticky-controls{
    top:calc(var(--sticky-header-height) + (var(--site-gap) * 2)) !important;
  }
  .map-category-grid{
    grid-template-columns:1fr 1fr;
  }
  .map-category-card{
    padding:.45rem;
  }
  .map-category-card img{
    width:44px;
    height:44px;
  }
}
@media(max-width:520px){
  :root{
    --site-gap:.36rem;
    --sticky-header-height:98px;
  }
  .map-category-grid{
    grid-template-columns:1fr;
  }
}


/* v12 full-width logo header with category buttons inside header */
.page-shell{
  width:100% !important;
  max-width:none !important;
  padding:.52rem !important;
}
.site-header{
  width:100% !important;
  max-width:none !important;
  position:sticky !important;
  top:.52rem !important;
  z-index:1400 !important;
  margin:0 0 var(--site-gap,.52rem) 0 !important;
  border-radius:24px !important;
  overflow:visible !important;
}
.header-main{
  width:100% !important;
  max-width:none !important;
}
.header-category-nav{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:.18rem auto 0 !important;
  padding:.14rem .22rem .2rem !important;
}
.site-header .header-category-nav .category-tabs{
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  margin:0 auto !important;
  padding:.18rem .18rem !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  border-radius:0 !important;
}
.site-header .header-category-nav .category-tabs a{
  padding:.4rem .72rem !important;
}
.site-header .header-category-nav .tab-icon{
  width:32px !important;
  height:32px !important;
}

/* With category buttons now inside the header, sticky-controls is only for search/filter. */
.sticky-controls{
  top:calc(var(--sticky-header-height) + var(--site-gap,.52rem)) !important;
  margin:0 0 var(--site-gap,.52rem) 0 !important;
  padding:.22rem !important;
  gap:0 !important;
}
.sticky-controls .tools{
  margin:0 !important;
}
.sticky-controls .category-tabs{
  display:none !important;
}
main{
  gap:var(--site-gap,.52rem) !important;
}
@media(min-width:1500px){
  .page-shell{
    padding:.6rem .9rem !important;
  }
}
@media(max-width:900px){
  .header-category-nav{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    scrollbar-width:thin;
    padding:.12rem .18rem .18rem !important;
  }
  .site-header .header-category-nav .category-tabs{
    justify-content:flex-start !important;
    min-width:max-content !important;
  }
}
@media(max-width:760px){
  .page-shell{
    padding:.36rem !important;
  }
  .site-header{
    top:.36rem !important;
    border-radius:18px !important;
  }
  .header-category-nav{
    margin:.1rem auto 0 !important;
    padding:.08rem .12rem .14rem !important;
  }
  .site-header .header-category-nav .category-tabs{
    gap:.28rem !important;
  }
  .site-header .header-category-nav .category-tabs a{
    padding:.32rem .52rem !important;
  }
  .site-header .header-category-nav .tab-icon{
    width:25px !important;
    height:25px !important;
  }
  .sticky-controls{
    top:calc(var(--sticky-header-height) + var(--site-gap,.42rem)) !important;
  }
}
@media(max-width:520px){
  .site-header .header-category-nav .category-tabs a span{
    font-size:.84rem;
  }
}


/* v13 Park City-style centered layout + card subtype/button cleanup */
:root{
  --content-max:1360px;
  --content-wide:1480px;
  --button-border:#5a2418;
  --button-fill:rgba(255,248,239,.94);
  --button-fill-hover:#f6dcc0;
}

/* Keep the scenic/page background full width, but center the usable content like Park City. */
.page-shell{
  width:100% !important;
  max-width:none !important;
  padding:.52rem !important;
}
.site-header{
  width:min(var(--content-wide), calc(100vw - 2rem)) !important;
  max-width:var(--content-wide) !important;
  margin:0 auto var(--site-gap,.52rem) !important;
}
.header-main,
.header-category-nav{
  max-width:var(--content-wide) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sticky-controls{
  width:min(var(--content-wide), calc(100vw - 2rem)) !important;
  max-width:var(--content-wide) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
main{
  width:min(var(--content-wide), calc(100vw - 2rem)) !important;
  max-width:var(--content-wide) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hero,
.category-hero,
.map-wrap,
.map-category-links,
.faq-list,
.content-stack,
.info-grid,
.grid,
.listing-grid,
.footer{
  width:100% !important;
  max-width:var(--content-wide) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Listing cards: visually move subtypes below name and address, above action buttons. */
.loc .body{
  display:flex !important;
  flex-direction:column !important;
}
.loc .body h3{
  order:1 !important;
}
.loc .body .meta{
  order:2 !important;
}
.loc .body .kicker{
  order:3 !important;
  display:inline-block !important;
  align-self:flex-start !important;
  margin:.34rem 0 .22rem !important;
  padding:.26rem .52rem !important;
  border-radius:999px !important;
  background:rgba(255,248,239,.82) !important;
  border:2px solid rgba(90,36,24,.55) !important;
  color:#8f341f !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
  letter-spacing:.065em !important;
}
.loc .body .actions{
  order:4 !important;
}

/* Consistent, darker, bolder card buttons. */
.actions .btn,
.btn{
  background:var(--button-fill) !important;
  color:#32170f !important;
  border:2px solid var(--button-border) !important;
  box-shadow:0 4px 0 rgba(90,36,24,.28), 0 8px 18px rgba(79,39,24,.14) !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
.actions .btn:hover,
.btn:hover{
  background:var(--button-fill-hover) !important;
  transform:translateY(-1px);
}
.actions .btn.primary,
.btn.primary{
  background:linear-gradient(135deg,#b8482c,#8f2f1e) !important;
  color:#fff8ef !important;
  border:2px solid #4a1b12 !important;
}
.actions .btn.primary:hover,
.btn.primary:hover{
  background:linear-gradient(135deg,#c95334,#963321) !important;
}

/* Header category buttons: Park City-like consistent pills/tiles with stronger borders. */
.site-header .header-category-nav .category-tabs{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(7, minmax(130px,1fr)) !important;
  gap:.55rem !important;
}
.site-header .header-category-nav .category-tabs a{
  justify-content:center !important;
  min-height:54px !important;
  border:2px solid rgba(90,36,24,.72) !important;
  background:linear-gradient(135deg,rgba(255,248,239,.94),rgba(232,206,177,.94)) !important;
  color:#24120d !important;
  box-shadow:0 4px 0 rgba(90,36,24,.30), 0 10px 22px rgba(79,39,24,.14) !important;
  border-radius:14px !important;
}
.site-header .header-category-nav .category-tabs a:hover{
  background:linear-gradient(135deg,rgba(255,248,239,1),rgba(245,216,181,.98)) !important;
}
.site-header .header-category-nav .category-tabs a[aria-current="page"],
.site-header .header-category-nav .category-tabs a.active{
  background:linear-gradient(135deg,#9f3b25,#6e2318) !important;
  color:#fff8ef !important;
  border-color:#3f160f !important;
}

/* Avoid excessive stretch on very wide screens while still using the available page well. */
@media(min-width:1700px){
  :root{
    --content-wide:1540px;
  }
}
@media(max-width:1100px){
  :root{
    --content-wide:calc(100vw - 1rem);
  }
  .site-header .header-category-nav .category-tabs{
    grid-template-columns:repeat(4, minmax(140px,1fr)) !important;
  }
}
@media(max-width:760px){
  .page-shell{
    padding:.36rem !important;
  }
  .site-header,
  .sticky-controls,
  main{
    width:calc(100vw - .72rem) !important;
  }
  .site-header .header-category-nav{
    overflow-x:auto !important;
  }
  .site-header .header-category-nav .category-tabs{
    display:flex !important;
    min-width:max-content !important;
    gap:.38rem !important;
  }
  .site-header .header-category-nav .category-tabs a{
    min-width:132px !important;
    min-height:48px !important;
  }
}


/* v14 printable Sedona guide improvements */
.printable-guide{
  max-width:var(--content-wide,1480px);
}
.guide-hero .guide-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:center;
  margin-top:.75rem;
}
.guide-summary-box{
  background:linear-gradient(145deg,rgba(255,248,239,.98),rgba(242,221,198,.94));
  border-left:8px solid var(--canyon,#9f3b25);
}
.guide-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.55rem;
}
.guide-summary-grid div{
  background:rgba(255,255,255,.48);
  border:1px solid rgba(90,36,24,.18);
  border-radius:16px;
  padding:.72rem;
}
.guide-summary-grid strong{
  display:block;
  color:#8f341f;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  margin-bottom:.25rem;
}
.guide-summary-grid span{
  display:block;
  font-weight:800;
  color:#2a170f;
}
.guide-content .guide-section{
  line-height:1.58;
}
.guide-section h2{
  margin-top:0;
}
.guide-section ul,
.guide-section ol{
  margin:.45rem 0 0;
  padding-left:1.35rem;
}
.guide-section li{
  margin:.28rem 0;
}
.guide-table-wrap{
  overflow-x:auto;
  margin-top:.55rem;
}
.guide-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(90,36,24,.22);
  background:rgba(255,248,239,.86);
}
.guide-table th,
.guide-table td{
  padding:.58rem .68rem;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(90,36,24,.16);
}
.guide-table th{
  background:linear-gradient(135deg,#9f3b25,#6e2318);
  color:#fff8ef;
}
.guide-table tr:last-child td{
  border-bottom:0;
}
.print-checklist{
  list-style:none;
  padding-left:0 !important;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:.35rem .75rem;
}
.print-checklist li{
  display:flex;
  gap:.45rem;
  align-items:flex-start;
  margin:0 !important;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(90,36,24,.16);
  border-radius:12px;
  padding:.45rem .55rem;
}
.print-checklist .box{
  width:1rem;
  height:1rem;
  border:2px solid #5a2418;
  border-radius:3px;
  flex:0 0 auto;
  margin-top:.15rem;
  background:#fff;
}
.guide-source-list{
  margin-top:.35rem;
}
.guide-source-list a{
  font-weight:900;
}
@media print{
  body{
    background:#fff !important;
    color:#111 !important;
    font-size:11pt;
  }
  .site-header,
  .sticky-controls,
  .weather-card,
  .footer,
  .no-print,
  .adsbygoogle{
    display:none !important;
  }
  .page-shell,
  main,
  .printable-guide{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  .hero,
  .card,
  .guide-summary-box,
  .guide-section{
    box-shadow:none !important;
    border:1px solid #999 !important;
    background:#fff !important;
    color:#111 !important;
    page-break-inside:avoid;
  }
  .hero{
    text-align:left !important;
  }
  a{
    color:#111 !important;
    text-decoration:underline !important;
  }
  .guide-table th{
    background:#eee !important;
    color:#111 !important;
  }
  .print-checklist{
    grid-template-columns:1fr 1fr;
  }
}


/* v15 subtype bubbles + smaller button corners + 2x2 desktop maps */
.actions .btn,
.btn,
.site-header .header-category-nav .category-tabs a{
  border-radius:8px !important;
  border-width:2.5px !important;
}
.actions .btn,
.btn{
  border-color:#4b1d13 !important;
}
.subtype-bubbles{
  order:3 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.28rem !important;
  margin:.34rem 0 .24rem !important;
  align-self:stretch !important;
}
.subtype-bubbles span{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  padding:.22rem .46rem !important;
  border-radius:999px !important;
  border:2px solid rgba(90,36,24,.48) !important;
  background:rgba(255,248,239,.84) !important;
  color:#7f2f1d !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
.loc .body .kicker{
  display:none !important;
}
.map-grid-2x2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:var(--site-gap,.52rem) !important;
  width:100% !important;
}
.map-panel{
  padding:.52rem !important;
}
.map-panel-head{
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.55rem !important;
  margin-bottom:.48rem !important;
}
.map-panel-head img{
  width:56px !important;
  height:56px !important;
  object-fit:contain !important;
}
.map-panel-head h2{
  margin:0 !important;
  font-size:clamp(1.05rem,2vw,1.45rem) !important;
}
.map-panel-head p{
  margin:.1rem 0 !important;
}
.map-panel-head .kicker{
  margin:0 !important;
}
.map-panel .btn{
  white-space:nowrap !important;
}
#map{
  height:clamp(360px,42vh,520px) !important;
}
.mini-map{
  height:320px !important;
  min-height:260px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  border:2px solid rgba(90,36,24,.22) !important;
}
@media(min-width:1500px){
  .mini-map{
    height:350px !important;
  }
  #map{
    height:500px !important;
  }
}
@media(max-width:980px){
  .map-grid-2x2{
    grid-template-columns:1fr !important;
  }
  .mini-map{
    height:340px !important;
  }
}
@media(max-width:620px){
  .map-panel-head{
    grid-template-columns:46px minmax(0,1fr) !important;
  }
  .map-panel-head .btn{
    grid-column:1 / -1;
    justify-self:start;
  }
  .map-panel-head img{
    width:46px !important;
    height:46px !important;
  }
  .mini-map{
    height:300px !important;
  }
  #map{
    height:330px !important;
  }
  .subtype-bubbles span{
    font-size:.68rem !important;
    padding:.2rem .4rem !important;
  }
}


/* v16 map and printable guide background color variation */
.map-grid-2x2 .map-panel{
  position:relative;
  overflow:hidden;
}
.map-grid-2x2 .map-panel::before,
.printable-guide .guide-section::before,
.printable-guide .guide-summary-box::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:.46;
}
.map-grid-2x2 .map-panel,
.printable-guide .guide-summary-box,
.printable-guide .guide-section{
  position:relative;
}
.map-panel.tone-canyon{
  background:
    radial-gradient(circle at top left, rgba(255,224,190,.72), transparent 44%),
    linear-gradient(145deg, rgba(255,248,239,.98), rgba(214,112,72,.38) 48%, rgba(242,221,198,.96)) !important;
  border-color:rgba(128,48,29,.38) !important;
}
.map-panel.tone-sand{
  background:
    radial-gradient(circle at top right, rgba(255,245,212,.82), transparent 42%),
    linear-gradient(145deg, rgba(255,250,238,.98), rgba(224,184,122,.42) 50%, rgba(246,231,205,.96)) !important;
  border-color:rgba(155,107,45,.34) !important;
}
.map-panel.tone-sage{
  background:
    radial-gradient(circle at bottom left, rgba(205,229,196,.72), transparent 42%),
    linear-gradient(145deg, rgba(249,251,240,.98), rgba(138,169,120,.38) 48%, rgba(232,238,210,.96)) !important;
  border-color:rgba(80,113,63,.34) !important;
}
.map-panel.tone-mesa{
  background:
    radial-gradient(circle at top right, rgba(246,198,164,.72), transparent 42%),
    linear-gradient(145deg, rgba(255,247,239,.98), rgba(181,82,58,.34) 46%, rgba(238,205,184,.96)) !important;
  border-color:rgba(117,48,34,.34) !important;
}
.map-panel.tone-canyon .mini-map{border-color:rgba(128,48,29,.55) !important;}
.map-panel.tone-sand .mini-map{border-color:rgba(155,107,45,.50) !important;}
.map-panel.tone-sage .mini-map{border-color:rgba(80,113,63,.50) !important;}
.map-panel.tone-mesa .mini-map{border-color:rgba(117,48,34,.50) !important;}

.printable-guide{
  --guide-accent:#9f3b25;
  --guide-accent-2:#d67048;
  --guide-soft:#fff8ef;
}
.printable-guide .guide-hero{
  border-left:8px solid var(--guide-accent) !important;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--guide-accent-2) 22%, transparent), transparent 42%),
    linear-gradient(145deg, rgba(255,248,239,.98), color-mix(in srgb, var(--guide-soft) 72%, white)) !important;
}
.printable-guide .guide-summary-box{
  border-left:8px solid var(--guide-accent) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.50), transparent 42%),
    linear-gradient(145deg, color-mix(in srgb, var(--guide-soft) 72%, white), color-mix(in srgb, var(--guide-accent-2) 20%, #fff8ef)) !important;
}
.printable-guide .guide-section:nth-of-type(4n+1){
  background:linear-gradient(145deg, rgba(255,248,239,.98), color-mix(in srgb, var(--guide-soft) 72%, #ffffff)) !important;
  border-top:5px solid color-mix(in srgb, var(--guide-accent) 72%, white) !important;
}
.printable-guide .guide-section:nth-of-type(4n+2){
  background:linear-gradient(145deg, color-mix(in srgb, var(--guide-soft) 78%, #ffffff), color-mix(in srgb, var(--guide-accent-2) 18%, #fff8ef)) !important;
  border-top:5px solid color-mix(in srgb, var(--guide-accent-2) 72%, white) !important;
}
.printable-guide .guide-section:nth-of-type(4n+3){
  background:
    radial-gradient(circle at bottom right, color-mix(in srgb, var(--guide-accent-2) 15%, transparent), transparent 48%),
    linear-gradient(145deg, #fffaf1, color-mix(in srgb, var(--guide-soft) 70%, #ffffff)) !important;
  border-top:5px solid color-mix(in srgb, var(--guide-accent) 50%, #d6a96f) !important;
}
.printable-guide .guide-section:nth-of-type(4n+4){
  background:linear-gradient(145deg, color-mix(in srgb, var(--guide-accent-2) 12%, #ffffff), rgba(255,248,239,.97)) !important;
  border-top:5px solid color-mix(in srgb, var(--guide-accent) 58%, #ffffff) !important;
}
.printable-guide .guide-table th{
  background:linear-gradient(135deg, var(--guide-accent), color-mix(in srgb, var(--guide-accent) 72%, #2f120c)) !important;
}
.printable-guide .print-checklist li{
  background:color-mix(in srgb, var(--guide-soft) 64%, #ffffff) !important;
  border-color:color-mix(in srgb, var(--guide-accent) 26%, transparent) !important;
}
.printable-guide .print-checklist .box{
  border-color:var(--guide-accent) !important;
}
.guide-theme-canyon{
  --guide-accent:#9f3b25;
  --guide-accent-2:#d67048;
  --guide-soft:#fde4cf;
}
.guide-theme-sunset{
  --guide-accent:#b65f27;
  --guide-accent-2:#efad5d;
  --guide-soft:#fff0c9;
}
.guide-theme-sage{
  --guide-accent:#5d7e4c;
  --guide-accent-2:#a9c18d;
  --guide-soft:#edf4df;
}
.guide-theme-mesa{
  --guide-accent:#8f2f1e;
  --guide-accent-2:#c97948;
  --guide-soft:#f8dfc9;
}
.guide-theme-sky{
  --guide-accent:#386b7a;
  --guide-accent-2:#8bb9bf;
  --guide-soft:#e4f1ef;
}
.guide-theme-clay{
  --guide-accent:#7d4734;
  --guide-accent-2:#c59074;
  --guide-soft:#f4ded3;
}
.guide-theme-sand{
  --guide-accent:#9b6b2d;
  --guide-accent-2:#dfbd75;
  --guide-soft:#fbefd1;
}
.guide-theme-violet{
  --guide-accent:#6e567f;
  --guide-accent-2:#b99ac7;
  --guide-soft:#f0e5f2;
}
@supports not (color: color-mix(in srgb, red 50%, white)){
  .printable-guide .guide-hero,
  .printable-guide .guide-summary-box,
  .printable-guide .guide-section{
    background:linear-gradient(145deg, #fff8ef, #f2ddc6) !important;
  }
}
@media print{
  .map-grid-2x2 .map-panel,
  .printable-guide .guide-hero,
  .printable-guide .guide-summary-box,
  .printable-guide .guide-section{
    background:#fff !important;
    border-color:#999 !important;
  }
}


/* v17 Sedona FAQ plus signs + translucent glass backgrounds */
.faq-hero-panel{
  background:
    radial-gradient(circle at top left, rgba(246,209,166,.46), transparent 42%),
    linear-gradient(145deg, rgba(255,248,239,.70), rgba(242,221,198,.58)) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  box-shadow:0 18px 45px rgba(60,31,18,.16) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
}
.faq-glass-list{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.faq-glass-list .faq-item,
.faq-item{
  background:
    linear-gradient(145deg, rgba(255,248,239,.68), rgba(242,221,198,.52)) !important;
  border:1px solid rgba(255,255,255,.58) !important;
  box-shadow:0 12px 28px rgba(60,31,18,.13) !important;
  backdrop-filter:blur(10px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05) !important;
}
.faq-glass-list .faq-item:nth-child(6n+1){background:linear-gradient(145deg,rgba(255,248,239,.70),rgba(250,220,196,.50)) !important;}
.faq-glass-list .faq-item:nth-child(6n+2){background:linear-gradient(145deg,rgba(255,250,239,.68),rgba(242,221,198,.50)) !important;}
.faq-glass-list .faq-item:nth-child(6n+3){background:linear-gradient(145deg,rgba(252,249,236,.68),rgba(220,232,203,.48)) !important;}
.faq-glass-list .faq-item:nth-child(6n+4){background:linear-gradient(145deg,rgba(255,246,235,.68),rgba(246,209,166,.48)) !important;}
.faq-glass-list .faq-item:nth-child(6n+5){background:linear-gradient(145deg,rgba(246,252,249,.68),rgba(201,231,226,.46)) !important;}
.faq-glass-list .faq-item:nth-child(6n){background:linear-gradient(145deg,rgba(255,248,239,.68),rgba(231,188,156,.46)) !important;}
.faq-item summary{
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  width:100% !important;
  padding:.18rem 0 !important;
}
.faq-item summary::-webkit-details-marker{
  display:none !important;
}
.faq-item summary::after{
  content:"+" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:1.75rem !important;
  height:1.75rem !important;
  min-width:1.75rem !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--canyon),var(--secondary)) !important;
  color:#fff8ef !important;
  font-size:1.25rem !important;
  line-height:1 !important;
  font-weight:1000 !important;
  box-shadow:0 8px 18px rgba(122,46,29,.18) !important;
  transition:transform .18s ease, background .18s ease !important;
}
.faq-item[open] summary::after{
  content:"−" !important;
  transform:rotate(180deg) !important;
  background:linear-gradient(135deg,var(--sage),var(--turquoise)) !important;
}
.faq-item p{
  border-top:1px solid rgba(122,46,29,.13) !important;
  margin-top:.54rem !important;
  padding-top:.56rem !important;
}
@media(max-width:560px){
  .faq-glass-list{
    padding:.42rem !important;
    border-radius:18px !important;
  }
  .faq-item summary{
    gap:.65rem !important;
  }
  .faq-item summary::after{
    width:1.45rem !important;
    height:1.45rem !important;
    min-width:1.45rem !important;
    font-size:1.05rem !important;
  }
}


/* v18 Sedona FAQ individual glass boxes only */
.faq-list{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.faq-list .faq-item{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.42), transparent 45%),
    linear-gradient(145deg, rgba(255,248,239,.70), rgba(242,221,198,.52)) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  box-shadow:0 14px 34px rgba(60,31,18,.14) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
}
.faq-list .faq-item:nth-child(6n+1){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(255,248,239,.72),rgba(250,220,196,.52)) !important;
}
.faq-list .faq-item:nth-child(6n+2){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(255,250,239,.72),rgba(242,221,198,.52)) !important;
}
.faq-list .faq-item:nth-child(6n+3){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(252,249,236,.72),rgba(220,232,203,.50)) !important;
}
.faq-list .faq-item:nth-child(6n+4){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(255,246,235,.72),rgba(246,209,166,.50)) !important;
}
.faq-list .faq-item:nth-child(6n+5){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(246,252,249,.72),rgba(201,231,226,.50)) !important;
}
.faq-list .faq-item:nth-child(6n){
  background:radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 44%),linear-gradient(145deg,rgba(255,248,239,.72),rgba(231,188,156,.50)) !important;
}


/* v19 Sedona guides page glass cards + compact printable buttons */
body:has(.guide-card) .hero,
body:has(.guide-card) .guide-summary-box{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.42), transparent 46%),
    linear-gradient(145deg, rgba(255,248,239,.72), rgba(242,221,198,.52)) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  box-shadow:0 16px 42px rgba(60,31,18,.15) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
}
.guide-card{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),
    linear-gradient(145deg, rgba(255,248,239,.68), rgba(242,221,198,.50)) !important;
  border:1px solid rgba(255,255,255,.62) !important;
  box-shadow:0 14px 34px rgba(60,31,18,.14) !important;
  backdrop-filter:blur(12px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
}
.guide-card:nth-child(6n+1){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(255,248,239,.70),rgba(250,220,196,.50)) !important;
}
.guide-card:nth-child(6n+2){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(255,250,239,.70),rgba(242,221,198,.50)) !important;
}
.guide-card:nth-child(6n+3){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(252,249,236,.70),rgba(220,232,203,.48)) !important;
}
.guide-card:nth-child(6n+4){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(255,246,235,.70),rgba(246,209,166,.48)) !important;
}
.guide-card:nth-child(6n+5){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(246,252,249,.70),rgba(201,231,226,.48)) !important;
}
.guide-card:nth-child(6n){
  background:radial-gradient(circle at top left, rgba(255,255,255,.48), transparent 45%),linear-gradient(145deg,rgba(255,248,239,.70),rgba(231,188,156,.48)) !important;
}
.guide-card .body{
  display:flex !important;
  flex-direction:column !important;
  gap:.42rem !important;
  padding:.74rem .78rem !important;
  min-height:100% !important;
}
.guide-card .body .kicker,
.guide-card .body h3,
.guide-card .body .meta{
  margin-top:0 !important;
}
.guide-card .body .meta{
  margin-bottom:.1rem !important;
}
.guide-card .btn.primary{
  align-self:flex-start !important;
  width:auto !important;
  max-width:100% !important;
  white-space:nowrap !important;
  font-size:.74rem !important;
  line-height:1.05 !important;
  padding:.36rem .56rem !important;
  margin-top:.18rem !important;
  border-radius:999px !important;
  letter-spacing:.01em !important;
  box-shadow:0 8px 18px rgba(122,46,29,.16) !important;
}
.guide-card:hover{
  transform:translateY(-1px);
}
.guide-card .btn.primary:hover{
  filter:brightness(1.03);
}
@media(max-width:560px){
  .guide-card .body{
    padding:.66rem .68rem !important;
    gap:.36rem !important;
  }
  .guide-card .btn.primary{
    font-size:.70rem !important;
    padding:.32rem .48rem !important;
    white-space:normal !important;
    text-align:center !important;
  }
}
@supports not selector(body:has(.guide-card)){
  .guide-summary-box{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,.42), transparent 46%),
      linear-gradient(145deg, rgba(255,248,239,.72), rgba(242,221,198,.52)) !important;
    border:1px solid rgba(255,255,255,.62) !important;
    box-shadow:0 16px 42px rgba(60,31,18,.15) !important;
    backdrop-filter:blur(12px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(12px) saturate(1.08) !important;
  }
}

/* v20 Travel & Maps page: semi-transparent Sedona glass panels */
.travel-maps-page main{
  display:grid;
  gap:.72rem;
}
.travel-maps-page .glass-panel,
.travel-booking-card,
.travel-info-card,
.airport-card{
  border:1px solid rgba(255,255,255,.64) !important;
  box-shadow:0 16px 38px rgba(60,31,18,.15) !important;
  backdrop-filter:blur(13px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(13px) saturate(1.08) !important;
}
.travel-hero{
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.48), transparent 38%),
    linear-gradient(145deg,rgba(255,248,239,.75),rgba(232,196,165,.56)) !important;
}
.travel-hero h1{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.travel-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  margin-top:.68rem;
}
.affiliate-note{
  max-width:900px;
  margin:.62rem auto 0 !important;
  padding-top:.52rem;
  border-top:1px solid rgba(90,36,24,.18);
  font-size:.78rem;
  color:#5d3b2c;
}
.travel-booking-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.72rem;
}
.travel-booking-card{
  display:grid;
  grid-template-columns:3.2rem 1fr;
  gap:.72rem;
  align-items:start;
  min-height:190px;
  padding:1rem;
  border-radius:22px;
  color:#2f190f;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.travel-booking-card:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(60,31,18,.19) !important;
}
.travel-booking-card h2{
  margin:.12rem 0 .4rem;
  font-size:clamp(1.05rem,1.35vw,1.38rem);
  line-height:1.08;
}
.travel-booking-card p{
  margin:.22rem 0;
}
.travel-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.1rem;
  height:3.1rem;
  border-radius:16px;
  background:rgba(255,248,239,.70);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 18px rgba(60,31,18,.12);
  font-size:1.55rem;
}
.travel-card-link{
  display:inline-block;
  margin-top:.54rem;
  font-weight:900;
  color:#6d291b;
}
.travel-booking-card.tone-sky{
  background:linear-gradient(145deg,rgba(238,251,252,.76),rgba(170,218,220,.56)) !important;
}
.travel-booking-card.tone-sage{
  background:linear-gradient(145deg,rgba(247,251,238,.76),rgba(190,213,175,.56)) !important;
}
.travel-booking-card.tone-sand{
  background:linear-gradient(145deg,rgba(255,250,238,.78),rgba(232,202,157,.56)) !important;
}
.travel-booking-card.tone-canyon{
  background:linear-gradient(145deg,rgba(255,244,237,.76),rgba(224,157,119,.52)) !important;
}
.travel-section{
  padding:1rem;
  border-radius:24px;
}
.travel-section.tone-turquoise{
  background:
    radial-gradient(circle at top right,rgba(209,241,239,.42),transparent 42%),
    linear-gradient(145deg,rgba(247,252,249,.72),rgba(196,226,222,.54)) !important;
}
.travel-section.tone-mesa{
  background:
    radial-gradient(circle at top left,rgba(255,255,255,.44),transparent 42%),
    linear-gradient(145deg,rgba(255,247,239,.73),rgba(224,178,149,.53)) !important;
}
.travel-section.tone-sand{
  background:
    radial-gradient(circle at top left,rgba(255,255,255,.45),transparent 42%),
    linear-gradient(145deg,rgba(255,251,241,.74),rgba(235,213,181,.54)) !important;
}
.travel-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.72rem;
}
.travel-section-head h2,
.travel-bottom-cta h2{
  margin:.08rem 0 .25rem;
}
.travel-section-head p{
  max-width:900px;
  margin:.2rem 0;
}
.airport-layout{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:.75rem;
  align-items:start;
}
.airport-map-wrap{
  min-width:0;
}
.airport-map{
  width:100%;
  min-height:620px;
  border-radius:20px;
  border:2px solid rgba(47,116,121,.42);
  overflow:hidden;
  background:rgba(245,238,225,.76);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.52),0 12px 28px rgba(60,31,18,.13);
}
.map-caption{
  margin:.44rem .18rem 0;
  font-size:.74rem;
  color:#5d3b2c;
}
.airport-card-list{
  display:grid;
  gap:.56rem;
}
.airport-card{
  display:grid;
  grid-template-columns:3.8rem 1fr;
  gap:.7rem;
  padding:.75rem;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,248,239,.73),rgba(242,221,198,.54)) !important;
}
.airport-card:nth-child(2){background:linear-gradient(145deg,rgba(245,251,251,.75),rgba(196,226,222,.53)) !important;}
.airport-card:nth-child(3){background:linear-gradient(145deg,rgba(251,249,238,.75),rgba(215,226,196,.54)) !important;}
.airport-card:nth-child(4){background:linear-gradient(145deg,rgba(255,247,237,.75),rgba(238,207,167,.54)) !important;}
.airport-card:nth-child(5){background:linear-gradient(145deg,rgba(255,244,237,.75),rgba(226,174,143,.53)) !important;}
.airport-card h3{
  margin:0 0 .18rem;
  font-size:1.05rem;
}
.airport-card p{
  margin:.18rem 0;
  font-size:.84rem;
  line-height:1.28;
}
.airport-code{
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.7rem;
  height:3.7rem;
  border-radius:16px;
  background:linear-gradient(135deg,#2f7479,#417f83);
  color:#fff;
  border:2px solid rgba(255,255,255,.76);
  box-shadow:0 8px 18px rgba(47,116,121,.22);
  font-weight:1000;
  letter-spacing:.06em;
}
.airport-primary .airport-code{
  background:linear-gradient(135deg,#a64027,#d36f43);
}
.airport-links{
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  margin-top:.42rem;
}
.airport-links a{
  display:inline-flex;
  padding:.3rem .5rem;
  border-radius:999px;
  background:rgba(255,248,239,.82);
  border:1px solid rgba(90,36,24,.35);
  color:#5a2418;
  font-size:.72rem;
  font-weight:900;
  text-decoration:none;
}
.travel-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.72rem;
}
.travel-info-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:1rem;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,248,239,.73),rgba(242,221,198,.52)) !important;
}
.travel-info-card.tone-canyon{background:linear-gradient(145deg,rgba(255,244,237,.75),rgba(229,177,146,.54)) !important;}
.travel-info-card.tone-sky{background:linear-gradient(145deg,rgba(241,251,252,.75),rgba(190,225,226,.54)) !important;}
.travel-info-card.tone-sand{background:linear-gradient(145deg,rgba(255,251,241,.76),rgba(235,213,181,.55)) !important;}
.travel-info-card.tone-sage{background:linear-gradient(145deg,rgba(248,251,239,.76),rgba(208,224,190,.55)) !important;}
.travel-info-card h2{
  margin:.1rem 0 .35rem;
  font-size:1.25rem;
}
.travel-info-card p{
  margin:.25rem 0;
}
.travel-info-card ul{
  margin:.48rem 0 .72rem;
  padding-left:1.15rem;
}
.travel-info-card li{
  margin:.3rem 0;
  line-height:1.28;
}
.travel-info-card .btn{
  margin-top:auto;
  align-self:flex-start;
}
.arrival-checklist{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
}
.arrival-checklist>div{
  padding:.78rem;
  border-radius:18px;
  background:rgba(255,248,239,.58);
  border:1px solid rgba(255,255,255,.62);
}
.arrival-checklist span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:999px;
  background:linear-gradient(135deg,#a64027,#d36f43);
  color:#fff;
  font-weight:1000;
  box-shadow:0 7px 16px rgba(90,36,24,.18);
}
.arrival-checklist h3{
  margin:.52rem 0 .24rem;
  font-size:1rem;
}
.arrival-checklist p{
  margin:0;
  font-size:.84rem;
}
.travel-bottom-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem;
  border-radius:24px;
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.48),transparent 42%),
    linear-gradient(145deg,rgba(255,244,237,.75),rgba(220,164,132,.52)) !important;
}
.travel-bottom-cta>div:first-child{
  max-width:860px;
}
.airport-map-marker{
  background:transparent !important;
  border:0 !important;
}
.airport-map-marker span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:15px;
  background:linear-gradient(135deg,#2f7479,#3d8f94);
  border:3px solid rgba(255,255,255,.94);
  box-shadow:0 6px 16px rgba(30,50,50,.32);
  color:#fff;
  font-size:.76rem;
  font-weight:1000;
  letter-spacing:.04em;
}
.airport-map-marker.sedona span{
  width:54px;
  height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,#9f3f24,#d46b3f);
  font-size:.58rem;
}
.airport-map .leaflet-popup-content-wrapper,
.airport-map .leaflet-popup-tip{
  background:rgba(255,248,239,.96);
  color:#2f190f;
}
.airport-popup strong{
  display:block;
  margin-bottom:.2rem;
  font-size:1rem;
}
.airport-popup small{
  display:block;
  margin-top:.32rem;
  color:#6a4939;
}
@media(max-width:1120px){
  .travel-booking-grid,
  .travel-info-grid,
  .arrival-checklist{grid-template-columns:repeat(2,minmax(0,1fr));}
  .airport-layout{grid-template-columns:1fr;}
  .airport-map{min-height:520px;}
  .airport-card-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .travel-maps-page main{gap:.58rem;}
  .travel-booking-grid,
  .travel-info-grid,
  .arrival-checklist,
  .airport-card-list{grid-template-columns:1fr;}
  .travel-booking-card{min-height:0;}
  .travel-section-head,
  .travel-bottom-cta{align-items:flex-start;flex-direction:column;}
  .travel-section-head>.btn{align-self:flex-start;}
  .airport-map{min-height:430px;}
  .travel-hero-actions{justify-content:flex-start;}
}
@media(max-width:520px){
  .travel-section,
  .travel-bottom-cta,
  .travel-info-card,
  .travel-booking-card{padding:.72rem;}
  .travel-booking-card{grid-template-columns:2.7rem 1fr;gap:.55rem;}
  .travel-card-icon{width:2.65rem;height:2.65rem;border-radius:13px;font-size:1.3rem;}
  .airport-card{grid-template-columns:3.25rem 1fr;padding:.65rem;gap:.58rem;}
  .airport-code{width:3.15rem;height:3.15rem;border-radius:13px;font-size:.82rem;}
  .airport-map{min-height:360px;}
}
