/* ═══════════════════════════════════════════════════════
   BASE DESIGN SYSTEM — identical to categories page
═══════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#0C0C0E;color:#fff;-webkit-font-smoothing:antialiased;}
:root{
  --or:#F0541E;--or-dk:#C83D0A;
  --w:#fff;--w80:rgba(255,255,255,.80);--w55:rgba(255,255,255,.55);
  --w35:rgba(255,255,255,.35);--w18:rgba(255,255,255,.18);
  --w10:rgba(255,255,255,.10);--w07:rgba(255,255,255,.07);
}



/* PAGE CHROME */
.page{position:relative;overflow:hidden;min-height:calc(100vh - 64px);padding:3.5rem 3rem 5rem;}


/* PAGE HEADER */
.page-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;gap:1.5rem;flex-wrap:wrap;}
.page-hdr__eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:.5rem;display:flex;align-items:center;gap:7px;}
.page-hdr__eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--or);box-shadow:0 0 7px rgba(240,84,30,.80);animation:ph-blink 2s ease-in-out infinite;}
@keyframes ph-blink{0%,100%{opacity:1}50%{opacity:.35}}
.page-hdr__h1{font-family:'Playfair Display',serif;font-size:clamp(1.875rem,3.5vw,2.625rem);font-weight:400;line-height:1.1;letter-spacing:-.025em;color:var(--w);}
.page-hdr__h1 em{font-style:italic;color:var(--or);}
.page-hdr__search{display:flex;align-items:center;gap:.625rem;background:rgba(18,12,8,.80);border:0.5px solid var(--w18);border-radius:10px;padding:.5rem .625rem;min-width:280px;transition:border-color .15s;}
.page-hdr__search:focus-within{border-color:rgba(240,84,30,.45);}
.page-hdr__search svg{flex-shrink:0;opacity:.45;}
.page-hdr__search input{border:none;background:transparent;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--w);width:100%;}
.page-hdr__search input::placeholder{color:var(--w35);}

/* LAYOUT */
.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start;}

/* SIDEBAR — identical tokens */
.cat-sidebar{position:sticky;top:84px;display:flex;flex-direction:column;gap:.25rem;}
.cat-sidebar__heading{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--w35);margin-bottom:.625rem;padding-left:.5rem;}
.cat-sidebar__item{display:flex;align-items:center;gap:9px;padding:.55rem .75rem;border-radius:8px;cursor:pointer;font-size:13px;color:var(--w55);border:0.5px solid transparent;transition:all .15s;text-decoration:none;}
.cat-sidebar__item:hover{background:var(--w07);color:var(--w80);border-color:var(--w10);}
.cat-sidebar__item.active{background:rgba(240,84,30,.10);border-color:rgba(240,84,30,.22);color:var(--w);font-weight:500;}
.cat-sidebar__item-dot{width:6px;height:6px;border-radius:50%;background:var(--w18);flex-shrink:0;transition:background .15s;}
.cat-sidebar__item.active .cat-sidebar__item-dot{background:var(--or);}
.cat-sidebar__item:hover .cat-sidebar__item-dot{background:rgba(255,255,255,.40);}
.cat-sidebar__count{margin-left:auto;font-size:10px;color:var(--w35);background:var(--w07);border-radius:10px;padding:1px 7px;}

/* MAIN */
.cat-main{display:flex;flex-direction:column;gap:1.5rem;}

/* ACCORDION GROUP — same as .cat-group */
.cat-group{background:rgba(18,12,8,.85);border:0.5px solid var(--w10);border-radius:16px;overflow:hidden;transition:border-color .2s;}
.cat-group:hover{border-color:rgba(240,84,30,.22);}
.cat-group__hdr{display:flex;align-items:center;gap:12px;padding:1.125rem 1.5rem;border-bottom:0.5px solid var(--w07);cursor:pointer;transition:background .15s;}
.cat-group__hdr:hover{background:rgba(240,84,30,.04);}
.cat-group__name{font-family:'Playfair Display',serif;font-size:1.0625rem;font-weight:400;color:var(--w);letter-spacing:-.01em;}
.cat-group__count{font-size:11px;color:var(--w35);margin-left:auto;background:var(--w07);border-radius:10px;padding:2px 9px;}
.cat-group__chevron{color:var(--w35);transition:transform .2s,color .15s;flex-shrink:0;}
.cat-group__hdr:hover .cat-group__chevron{color:var(--or);}
.cat-group.open .cat-group__chevron{transform:rotate(180deg);}
.cat-group__body{display:none;padding:1.25rem 1.5rem;}
.cat-group.open .cat-group__body{display:block;}
.cat-group__hdr .cat-group__count {margin-left: auto;  background: rgba(240,84,30,.10);  border: 0.5px solid rgba(240,84,30,.22);  border-radius: 8px;  padding: .375rem .875rem;  font-size: 11px;  color: var(--or);  font-weight: 500;  flex-shrink: 0;}

/* SUB-ITEMS — same as .cat-sub-item */
.cat-sub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;}
.cat-sub-item{display:flex;align-items:center;gap:7px;padding:.5rem .75rem;border-radius:7px;font-size:12px;color:var(--w55);text-decoration:none;border:0.5px solid transparent;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cat-sub-item:hover{background:rgba(240,84,30,.08);border-color:rgba(240,84,30,.20);color:var(--w80);}
.cat-sub-item__dot{width:5px;height:5px;border-radius:50%;background:var(--w18);flex-shrink:0;transition:background .15s;}
.cat-sub-item:hover .cat-sub-item__dot{background:var(--or);}

/* ═══════════════════════════════════════════════════════
   LOCATIONS-SPECIFIC ADDITIONS
═══════════════════════════════════════════════════════ */

/* Sidebar section labels */
.cat-sidebar__section{font-size:9px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--w35);padding:.625rem .5rem .2rem;margin-top:.25rem;}

/* Flag emoji in sidebar */
.cat-sidebar__flag{font-size:14px;line-height:1;flex-shrink:0;}

/* Region heading inside accordion body */
.loc-region-label{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--w35);margin-bottom:.5rem;margin-top:.875rem;}
.loc-region-label:first-child{margin-top:0;}

/* Flag + code in group header */
.cat-group__flag{font-size:20px;line-height:1;flex-shrink:0;}
.cat-group__meta{display:flex;flex-direction:column;gap:1px;}
.cat-group__code{font-size:10px;color:var(--w35);letter-spacing:.08em;text-transform:uppercase;}

/* ── US FEATURED BLOCK ─────────────────────────────── */
.us-block{background:rgba(18,12,8,.88);border:0.5px solid rgba(240,84,30,.28);border-radius:16px;overflow:hidden;position:relative;}
.us-block::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--or),rgba(240,84,30,.20));pointer-events:none;}
.us-block__hdr{display:flex;align-items:center;gap:14px;padding:1.125rem 1.5rem;border-bottom:0.5px solid rgba(255,255,255,.07);background:rgba(240,84,30,.04);flex-wrap:wrap;gap:.75rem;}
.us-block__name{font-family:'Playfair Display',serif;font-size:1.125rem;font-weight:400;color:var(--w);}
.us-block__meta{display:flex;flex-direction:column;gap:2px;}
.us-block__sub{font-size:10px;color:var(--w35);letter-spacing:.06em;}
.us-block__badge{font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:rgba(240,84,30,.15);color:var(--or);border:0.5px solid rgba(240,84,30,.28);flex-shrink:0;}
.us-block__count{margin-left:auto;background:rgba(240,84,30,.10);border:0.5px solid rgba(240,84,30,.22);border-radius:8px;padding:.375rem .875rem;font-size:11px;color:var(--or);font-weight:500;flex-shrink:0;}

/* States grid */
.us-block__body{padding:1.25rem 1.5rem;}
.us-states-heading{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--w35);margin-bottom:.75rem;}
.us-states-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.375rem;}
.state-item{display:flex;align-items:center;gap:6px;padding:.5rem .625rem;border-radius:7px;font-size:12px;color:var(--w55);text-decoration:none;border:0.5px solid transparent;transition:all .15s;}
.state-item:hover{background:rgba(240,84,30,.08);border-color:rgba(240,84,30,.20);color:var(--w80);}
.state-item__dot{width:4px;height:4px;border-radius:50%;background:var(--w18);flex-shrink:0;transition:background .15s;}
.state-item:hover .state-item__dot{background:var(--or);}
.state-item__count{margin-left:auto;font-size:10px;color:var(--w35);}

/* Cities strip */
.us-block__cities{padding:.875rem 1.5rem;border-top:0.5px solid var(--w07);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.us-cities-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--w35);flex-shrink:0;margin-right:.125rem;}
.city-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--w55);background:var(--w07);border:0.5px solid var(--w10);border-radius:6px;padding:3px 10px;text-decoration:none;transition:all .15s;}
.city-pill:hover{background:rgba(240,84,30,.08);border-color:rgba(240,84,30,.20);color:var(--w80);}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — 4 breakpoints matching categories page
═══════════════════════════════════════════════════════ */

/* 1024px — tablet landscape */
@media(max-width:1024px){
  .page{padding:3rem 2rem 4rem;}
  .cat-layout{grid-template-columns:190px 1fr;gap:1.5rem;}
  .us-states-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .cat-sub-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* 768px — tablet portrait */
@media(max-width:768px){
  .nav{padding:0 1.5rem;}
  .nav__links{display:none;}
  .page{padding:2.5rem 1.5rem 3.5rem;}
  .cat-layout{grid-template-columns:1fr;}
  .cat-sidebar{
    position:static;
    flex-direction:row;flex-wrap:wrap;gap:.375rem;
  }
  .cat-sidebar__heading,
  .cat-sidebar__section{display:none;}
  .us-states-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cat-sub-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-hdr{flex-direction:column;align-items:flex-start;}
  .page-hdr__search{width:100%;min-width:0;}
  .us-block__count{margin-left:0;}
}

/* 540px — large mobile */
@media(max-width:540px){
  .page{padding:2rem 1.25rem 3rem;}
  .us-states-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cat-sub-grid{grid-template-columns:minmax(0,1fr);}
  .us-block__hdr{gap:.5rem;}
  .us-block__body{padding:1rem 1.125rem;}
  .us-block__cities{padding:.75rem 1.125rem;}
  .cat-group__body{padding:1rem 1.125rem;}
  .cat-group__hdr{padding:.875rem 1.125rem;}
}

/* 380px — small mobile */
@media(max-width:380px){
  .page{padding:1.75rem 1rem 2.5rem;}
  .us-states-grid{grid-template-columns:minmax(0,1fr);}
  .state-item__count{display:none;}
  .page-hdr__h1{font-size:1.625rem;}
}