.locations-section h2 span{color:var(--gold)}
.locations-section{background:var(--charcoal)}
.hero-ticker,.site-footer{background:var(--charcoal)}
.contact-section .kicker{color:#fff}
.site-footer>a:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:3px}

.map-heading{max-width:1240px;margin:46px auto 15px;display:flex;flex-direction:column;gap:16px}
.map-heading h3{font-size:clamp(1.65rem,4vw,2.4rem);letter-spacing:-.07em;margin:0}
.map-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.map-toggle{border:1px solid var(--gold);border-radius:99px;background:transparent;color:var(--gold);padding:10px 15px;font-size:12px;font-weight:700;cursor:pointer}
.map-toggle:hover,.map-toggle:focus-visible{background:var(--gold);color:var(--ink)}
.map-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
#map-status{color:#aaa;font-size:12px}
.locations-map{max-width:1240px;height:420px;margin:0 auto 32px;border:1px solid #41413e;border-radius:var(--radius);overflow:hidden;background:#182219;isolation:isolate}
.locations-map.map-tiles-failed{background:linear-gradient(135deg,#152519,#242419)}
.locations-map .leaflet-control-zoom a{color:var(--ink)}
.locations-map .leaflet-control-attribution{font-size:9px}
.brand-marker{background:transparent;border:0}
.brand-marker span{display:block;width:20px;height:20px;border-radius:50% 50% 50% 0;background:var(--green);border:3px solid var(--gold);box-shadow:0 2px 6px rgba(0,0,0,.45);transform:rotate(-45deg);position:relative}
.brand-marker span::after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--gold);position:absolute;left:5px;top:5px}
.map-popup{display:flex;flex-direction:column;gap:5px;min-width:175px;color:var(--ink);font-family:'Cabin',Arial,sans-serif}
.map-popup strong{font-family:'Montserrat',Arial,sans-serif;font-size:14px;line-height:1.1}
.map-popup span{font-size:12px;color:#555}
.map-popup a{color:var(--green);font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:2px}
.location-list{display:block;max-width:1240px}
.location-region{border-top:1px solid #41413e}
.location-region:last-child{border-bottom:1px solid #41413e}
.location-region>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 4px;color:var(--gold);font-family:'Montserrat',Arial,sans-serif;font-weight:800;cursor:pointer;list-style:none}
.location-region>summary::-webkit-details-marker{display:none}
.location-region>summary::after{content:'+';border:1px solid currentColor;border-radius:50%;height:26px;width:26px;display:grid;place-items:center;font-size:18px;line-height:1}
.location-region[open]>summary::after{content:'−';background:var(--gold);color:var(--ink)}
.location-region>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.location-region>summary small{margin-left:auto;margin-right:8px;color:#aaa;font:700 11px 'Cabin',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.region-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 22px}

@media(min-width:700px){
  .map-heading{flex-direction:row;align-items:end;justify-content:space-between}
  .region-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}

@media(min-width:1100px){
  .locations-map{height:470px}
}

@media(min-width:700px){
  .franchise-points{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Keep the hand-drawn badge legible at both hero breakpoints. */
.burst{width:92px;height:92px;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;gap:2px;line-height:1;font-size:9px;letter-spacing:-.06em;overflow:hidden}
.burst span{display:block;white-space:nowrap}

/* Papas cards are display-only; the details below are the actual controls. */
.card-arrow{display:none}

.menu-accordion{border-bottom:1px solid var(--line)}
.menu-accordion summary{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;align-items:center;position:relative;list-style:none;cursor:pointer;padding:22px 34px 22px 0}
.menu-accordion summary::-webkit-details-marker{display:none}
.menu-accordion summary::after{content:'+';position:absolute;right:3px;top:50%;transform:translateY(-50%);border:1px solid currentColor;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;font-size:19px;line-height:1;transition:transform .25s,background .25s,color .25s}
.menu-accordion[open] summary::after{content:'−';transform:translateY(-50%);background:var(--green);color:#fff}
.menu-accordion summary:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.menu-summary-copy{display:flex;flex-direction:column;min-width:0}
.menu-line-title{font-family:'Montserrat',Arial,sans-serif;font-size:25px;font-weight:900;letter-spacing:-.07em;line-height:1;margin:0 0 5px}
.menu-summary-description{margin:0;color:var(--muted);font-size:13px}
.menu-accordion .line-detail{grid-column:2;display:flex;flex-wrap:wrap;gap:7px}
.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.menu-accordion[open] .accordion-panel{grid-template-rows:1fr}
.accordion-items{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr;gap:10px;padding-left:57px}
.product-item{background:#f1efe9;border-radius:14px;padding:10px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px;min-width:0}
.product-item img{display:block;width:92px;height:82px;object-fit:contain;mix-blend-mode:normal}
.product-item h3{font-size:18px;letter-spacing:-.05em;margin:0 0 4px}
.product-item p{font-size:13px;line-height:1.25;color:var(--muted);margin:0}
.menu-accordion[open] .accordion-items{padding-bottom:22px}

@media(min-width:700px){
  .menu-accordion summary{grid-template-columns:55px minmax(0,1.2fr) minmax(0,1fr);gap:22px;padding:28px 42px 28px 0}
  .menu-accordion .line-detail{grid-column:auto;justify-content:flex-end}
  .accordion-items{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:77px}
  .product-item{grid-template-columns:1fr;align-items:start}
  .product-item img{width:100%;height:150px}
}

@media(min-width:1024px){
  .franchise-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .franchise-copy{max-width:none}
  .franchise-copy h2,.franchise-copy p:not(.kicker){max-width:720px}
}

@media(min-width:1100px){
  .franchise-section{max-width:none;width:100%}
}

/* Warm storefront palette: keep the approved green for fields and markers, with a darker text accent on yellow. */
:root{--gold:#f4de89;--charcoal:#343b40;--green:#238435;--green-ink:#176b2a}
.hero-art{height:500px}
.hero-stack-jr{left:-8%;width:48%;bottom:8px;z-index:1}
.hero-stack-big{left:22%;width:54%;bottom:-6px;z-index:2}
.hero-stack-mega{left:48%;width:58%;bottom:-12px;z-index:3}
.hero .burst{right:auto;left:auto;right:6%;top:12px;z-index:6}
.hero .scribble{right:8%;bottom:28px}

.product-spotlight{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:14px;margin-top:18px}
.spotlight-card{min-height:365px;border-radius:var(--radius);overflow:hidden;position:relative;padding:23px;color:var(--ink);background:var(--gold)}
.spotlight-burger{background:var(--charcoal);color:#fff}
.spotlight-dog{background:var(--green);color:#fff}
.spotlight-copy{position:relative;z-index:1;width:52%;max-width:340px}
.spotlight-copy .kicker{margin-bottom:15px;color:var(--gold)}
.spotlight-copy h3{font-size:clamp(2.25rem,5vw,4rem);line-height:.88;letter-spacing:-.09em;margin:0 0 15px}
.spotlight-copy h3 span{color:var(--gold)}
.spotlight-copy>p:not(.kicker){font-size:14px;line-height:1.3;max-width:250px;margin:0 0 18px;color:#e5e4df}
.spotlight-dog .spotlight-copy>p:not(.kicker){color:#eef7ef}
.spotlight-card>img{position:absolute;right:-4%;bottom:-3%;width:62%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 10px rgba(3,3,5,.25))}
.spotlight-dog>img{width:73%;right:-13%;bottom:3%}
.spotlight-link{display:inline-flex;gap:9px;align-items:center;border-bottom:2px solid currentColor;font:800 12px/1.2 'Montserrat',Arial,sans-serif;padding-bottom:5px}

.accordion-items{grid-template-columns:1fr;gap:14px}
.product-item{grid-template-columns:1fr;align-items:start;padding:16px 16px 18px;min-height:0;background:#f1efe9}
.product-item img{width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 12px 10px rgba(3,3,5,.16))}
.product-item-featured{background:var(--gold)}
.product-item-featured p{color:var(--ink)}
.product-item-king{padding:18px 16px 22px}
.product-item-king img{height:280px}
.product-item-king h3{font-size:clamp(1.8rem,6vw,2.6rem);letter-spacing:-.08em;margin:10px 0 8px}
.product-item-king p{font-size:15px;max-width:36ch}

.location-card{padding:0;overflow:hidden;min-height:235px;background:#242a2e}
.location-card:hover{background:#242a2e}
.location-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--gold)}
.location-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.location-media-placeholder{display:grid;place-items:center;align-content:center;gap:8px;background:var(--gold);color:var(--ink);min-height:118px}
.location-media-placeholder .ph-mark{width:52px;height:52px;border-radius:50%;background:var(--ink);position:relative;box-shadow:0 4px 0 rgba(3,3,5,.18)}
.location-media-placeholder .ph-mark::before,.location-media-placeholder .ph-mark::after{content:'';position:absolute;background:var(--gold)}
.location-media-placeholder .ph-mark::before{width:22px;height:16px;border-radius:11px 11px 4px 4px;left:15px;top:12px}
.location-media-placeholder .ph-mark::after{width:4px;height:14px;border-radius:2px;left:18px;top:26px;box-shadow:6px 0 0 var(--gold),12px 0 0 var(--gold)}
.location-media-placeholder small{font:800 10px/1 'Montserrat',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.location-card>.location-city,.location-card>.location-address{margin-left:15px;margin-right:15px}
.location-card>.location-city{margin-top:13px}
.location-card>.location-address{margin-bottom:14px}
.location-pin{right:11px;top:11px}

@media(max-width:699px){
  .hero-art{height:520px}
  .hero-stack-jr{left:-4%;width:46%;bottom:8px}
  .hero-stack-big{left:22%;width:50%;bottom:-4px}
  .hero-stack-mega{left:48%;width:52%;bottom:-10px}
  .hero .burst{left:auto;right:4%;top:4px}
  .hero .scribble{right:6%;bottom:18px}
  .product-spotlight{grid-template-columns:1fr;gap:12px}
  .spotlight-card{min-height:330px;padding:19px}
  .spotlight-copy{width:55%}
  .spotlight-card>img{width:65%;right:-7%;bottom:0}
  .spotlight-dog>img{width:76%;right:-15%;bottom:3%}
  .accordion-items{grid-template-columns:1fr;padding-left:0}
  .product-item{grid-template-columns:1fr;padding:14px}
}

@media(min-width:700px){
  .hero-inner{min-height:640px}
  .hero-art{height:640px}
  .hero-stack-jr{left:0;width:42%;bottom:20px}
  .hero-stack-big{left:22%;width:48%;bottom:4px}
  .hero-stack-mega{left:46%;width:54%;bottom:-8px}
  .hero .burst{left:auto;right:4%;top:18px}
  .hero .scribble{right:6%;bottom:36px}
  .accordion-items,
  .accordion-king,
  .accordion-share{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:77px}
}

/* Search matches stay inside the existing text nodes, so directions links remain untouched. */
.location-match{background:#f4de89;color:#030305;padding:0 .12em;border-radius:2px;box-shadow:0 0 0 1px rgba(3,3,5,.12)}

/* Keep every accordion tile consistent while showing each cutout completely. */
.accordion-items .product-item,
.accordion-items .product-item-featured,
.accordion-items .product-item-king{grid-column:auto;grid-template-columns:1fr;min-height:0}
.accordion-items .product-item img,
.accordion-items .product-item-featured img,
.accordion-items .product-item-king img{
  width:100%;
  height:260px;
  aspect-ratio:4 / 3;
  object-fit:contain;
  object-position:center center;
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent;
}
.accordion-items .product-item-king h3{font-size:clamp(1.8rem,6vw,2.6rem);margin:10px 0 8px}
.hero-stack img{background:transparent;mix-blend-mode:normal}
.fries-card img,.fries-card-dark img,.fries-card-mega img{background:transparent;mix-blend-mode:normal}
.franchise-visual img{mix-blend-mode:normal}

@media(min-width:700px){
  .accordion-items .product-item,
  .accordion-items .product-item-featured,
  .accordion-items .product-item-king{grid-column:auto;min-height:0}
}
