/* Banditos Bar & Kitchen - site styles. Three colors do the work (black, warm white, Banditos pink), blue only for small accents. Fonts: Anton + Archivo, self-hosted. */
@font-face{font-family:"Anton";src:url(../fonts/anton-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-800.woff2) format("woff2");font-weight:800;font-display:swap}
:root{
  --ink:#121014; --ink-2:#1c1a1f; --ink-3:#0b0a0c; --paper:#faf6f0; --paper-2:#efe8de;
  --pink:#cc2f7d; --pink-l:#e2468f; --pink-d:#a8256a; --blue:#35b6ea; --blue-d:#0f7fb3;
  --muted:#bdb6c0; --line:rgba(250,246,240,.12); --line-d:rgba(18,16,20,.12);
  --radius:14px; --max:1180px; --head:"Anton","Arial Narrow",Impact,sans-serif; --body:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.6 var(--body)}
img{max-width:100%;display:block;height:auto}
a{color:var(--blue)} a:hover{color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--pink);color:#fff;padding:8px 14px;z-index:100}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--head);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;margin:0 0 .4em}
h1{font-size:clamp(2.8rem,7.6vw,6rem)} h2{font-size:clamp(2rem,4.6vw,3.4rem)} h3{font-size:clamp(1.3rem,2.2vw,1.6rem);letter-spacing:.02em}
p{margin:0 0 1em} .lede{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:60ch;opacity:.92} .small{font-size:.88rem} .muted{color:var(--muted)} .center{text-align:center} .mt{margin-top:28px}
.eyebrow{font:800 .78rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin:0 0 14px;display:block}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(18,16,20,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:18px;height:72px}
.brand{flex:0 0 auto}.brand img{height:46px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{color:var(--paper);text-decoration:none;font:600 .8rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:10px 9px;border-radius:8px}
.nav a:hover,.nav a[aria-current=page]{color:var(--pink-l)}
.head-cta{margin-left:8px}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--paper);border-radius:10px;padding:10px 12px;font:800 .8rem var(--body);letter-spacing:.12em}
@media (max-width:1080px){.nav,.head-cta{display:none}.menu-toggle{display:block}
  .site-head.open .nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:72px;background:var(--ink);border-bottom:1px solid var(--line);padding:10px 20px 20px}
  .site-head.open .nav a{padding:14px 4px;font-size:1rem;border-bottom:1px solid var(--line)}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 .84rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:15px 22px;border-radius:999px;border:2px solid var(--pink);background:var(--pink);color:#fff;transition:transform .15s,background .15s;cursor:pointer}
.btn:hover{transform:translateY(-1px);background:var(--pink-l);border-color:var(--pink-l);color:#fff}
.btn.ghost{background:transparent;color:var(--paper);border-color:rgba(250,246,240,.7)} .btn.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff} .btn.dark:hover{background:#000;border-color:#000}
.btn.sm{padding:11px 16px;font-size:.74rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.cta-row.tight{margin-top:14px;gap:8px}
.pick{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
/* hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-2)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,20,.15) 0%,rgba(18,16,20,.35) 45%,rgba(18,16,20,.94) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:64px;width:100%}
.hero.short{min-height:min(56vh,500px)}
.hero h1{max-width:14ch;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero .eyebrow,.hero .crumbs{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.85)}
.crumbs{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.crumbs a{color:inherit;text-decoration:none;opacity:.85}.crumbs a:hover{opacity:1}
/* strip */
.strip{background:var(--pink)}
.strip ul{list-style:none;margin:0 auto;padding:15px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;max-width:var(--max)}
.strip a{color:#fff;text-decoration:none;font:400 clamp(1rem,2vw,1.3rem)/1 var(--head);letter-spacing:.05em;text-transform:uppercase}
.strip li+li::before{content:"\2022";margin-right:26px;opacity:.55;color:#fff}
/* sections */
.sec{padding:clamp(56px,8vw,100px) 0}.sec.tight{padding:44px 0}
.sec.paper{background:var(--paper);color:var(--ink)} .sec.paper .lede,.sec.paper p{color:#3d363f} .sec.paper .eyebrow{color:var(--pink-d)} .sec.paper a:not(.btn){color:var(--pink-d)}
.sec.paper .btn.ghost{color:var(--ink);border-color:var(--ink)} .sec.paper .btn.ghost:hover{background:var(--ink);color:#fff}
.sec.paper .muted{color:#6c6470}
.sec.pink{background:var(--pink);color:#fff} .sec.pink .eyebrow{color:#fff;opacity:.85} .sec.pink .lede,.sec.pink p{color:#fff} .sec.pink a:not(.btn){color:#fff}
.sec.pink .btn{background:var(--ink);border-color:var(--ink)} .sec.pink .btn:hover{background:#000;border-color:#000}
.sec.pink .btn.ghost{background:transparent;border-color:#fff;color:#fff} .sec.pink .btn.ghost:hover{background:#fff;color:var(--pink-d)}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}.split.top{align-items:start}
.split.rev>:first-child{order:2}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.photo{border-radius:var(--radius);overflow:hidden;background:var(--ink-2)}.photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.photo.tall img{aspect-ratio:4/5}.photo.truck{background:transparent}.photo.truck img{object-fit:contain}
/* cards */
.card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.sec.paper .card{background:#fff;border-color:var(--line-d)}
.card .photo{border-radius:0}.card .body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:4px;flex:1}
.card h3{margin-bottom:.15em}.card h3 a{color:inherit!important;text-decoration:none}.card p{margin:0 0 10px}
.card .cta-row{margin-top:auto;padding-top:10px}
.cap{font:800 .72rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)} .sec.paper .cap{color:var(--blue-d)}
.hours-t{border-collapse:collapse;font-size:.95rem}.hours-t td{padding:3px 14px 3px 0;vertical-align:top}
.rating{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rating b{font:400 3rem/1 var(--head)}.rating svg{width:30px;height:30px;fill:var(--pink)}.rating span{max-width:16ch;line-height:1.3;font-size:.9rem}
.band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.band h2{margin-bottom:.2em}.band p{margin:0}
.types{display:flex;flex-wrap:wrap;gap:10px}.types span{border:1px solid var(--line-d);border-radius:999px;padding:9px 15px;font-weight:600;font-size:.9rem}
.list-check{list-style:none;padding:0;margin:0 0 1em}.list-check li{padding:6px 0 6px 28px;position:relative}.list-check li::before{content:"";position:absolute;left:0;top:15px;width:14px;height:3px;background:var(--pink)}
.tier{background:#fff;border:1px solid var(--line-d);border-top:5px solid var(--pink);border-radius:var(--radius);padding:20px}.tier b{display:block;font:400 1.9rem/1 var(--head);color:var(--pink-d);margin-bottom:8px}.tier span{color:#3d363f}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery figure{margin:0;border-radius:12px;overflow:hidden;background:var(--ink-2)}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
@media (max-width:760px){.gallery{grid-template-columns:repeat(2,1fr)}}
/* reviews */
.quote{margin:0;background:rgba(250,246,240,.05);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px}
.quote .stars svg{width:17px;height:17px;fill:var(--pink);margin-right:2px}.quote blockquote{margin:0;line-height:1.6}.quote figcaption{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
/* weekly */
.weekly{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.weekly div{border-left:4px solid var(--pink);padding:4px 0 4px 16px}.weekly span{color:var(--blue);font:800 .72rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.weekly b{display:block;font:400 1.4rem/1.2 var(--head);text-transform:uppercase;margin-top:6px}.weekly p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
/* happy hour + price lists */
.hh{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media (max-width:760px){.hh{grid-template-columns:1fr}}
.price-list{list-style:none;margin:0;padding:0}.price-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line-d);align-items:baseline}
.sec:not(.paper) .price-list li{border-bottom-color:var(--line)}
.price-list b{font:400 1.3rem/1 var(--head);color:var(--pink-d);white-space:nowrap}.sec:not(.paper) .price-list b{color:var(--pink-l)}
.price-list small{opacity:.8}
/* menu */
.menu-nav{position:sticky;top:72px;z-index:20;background:var(--ink);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}
.menu-nav .wrap{display:flex;gap:6px;padding-block:10px}.menu-nav a{color:var(--paper);text-decoration:none;font:800 .72rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;border:1px solid var(--line);border-radius:999px}
.menu-nav a:hover{border-color:var(--pink);color:var(--pink-l)}
.menu-sec{padding:52px 0 20px;scroll-margin-top:130px}.menu-sec h2::after{content:"";display:block;width:56px;height:4px;background:var(--pink);margin-top:10px}
.menu-note{color:var(--muted);margin:8px 0 18px;max-width:75ch}
.items{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 48px}@media (max-width:760px){.items{grid-template-columns:1fr}}
.item{padding:13px 0;border-bottom:1px dashed var(--line)}.item h3{font:800 1.05rem/1.3 var(--body);text-transform:uppercase;letter-spacing:.04em;margin:0}.item p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.veg{display:inline-block;font:800 .62rem/1 var(--body);color:var(--ink);background:var(--blue);border-radius:4px;padding:3px 5px;vertical-align:2px;letter-spacing:0}
/* catering */
.cater-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:900px){.cater-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.cater-grid{grid-template-columns:1fr}}
.cater-grid article{background:#fff;border:1px solid var(--line-d);border-top:5px solid var(--pink);border-radius:var(--radius);padding:22px}
.cater-grid .serves{display:block;color:var(--pink-d);font:800 .8rem/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.cater-grid ul{margin:10px 0 0;padding-left:18px;color:#3d363f}.cater-grid li{padding:2px 0}
.loc-lead{border-bottom:1px solid rgba(255,255,255,.35);padding:14px 0}.loc-lead summary{cursor:pointer;font:400 1.5rem/1 var(--head);text-transform:uppercase;list-style:none}.loc-lead summary::after{content:"+";float:right}.loc-lead[open] summary::after{content:"\2013"}.loc-lead .lead-slot{margin-top:14px}
/* lead form */
.lead-slot iframe{width:100%;min-height:900px;border:0;border-radius:10px;background:#fff}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.sec.paper .faq details{border-bottom-color:var(--line-d)}
.faq summary{cursor:pointer;font:600 1.08rem/1.3 var(--body);list-style:none}.faq summary::after{content:"+";float:right;color:var(--pink);font-size:1.4rem;line-height:1}.faq details[open] summary::after{content:"\2013"}.faq details p{margin:10px 0 0;opacity:.85}
/* prose (privacy) */
.prose h1{font-size:clamp(2.4rem,5vw,3.6rem)}.prose h2{font-size:1.5rem;margin-top:1.4em}.prose p{max-width:80ch}.prose p.li{padding-left:18px;position:relative}.prose p.li::before{content:"\2022";position:absolute;left:0;color:var(--pink)}
/* footer */
.site-foot{background:var(--ink-3);border-top:1px solid var(--line);padding:56px 0 28px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-foot h2{font-size:1.4rem;margin-bottom:.5em}.site-foot h2 a{color:var(--pink-l);text-decoration:none}.site-foot a{color:var(--paper);text-decoration:none}.site-foot a:hover{color:var(--pink-l)}.site-foot p{margin:0 0 .7em}
.foot-links{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem}
.fine{color:var(--muted);font-size:.8rem;margin-top:24px;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.notice{background:var(--blue-d);color:#fff;font-size:.8rem;text-align:center;padding:6px 10px;letter-spacing:.06em}
/* phone bar */
.mobile-bar{display:none}
@media (max-width:760px){body{padding-bottom:68px}
  .mobile-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);border-top:1px solid var(--line)}
  .mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 12px;color:var(--paper);text-decoration:none;font:800 .66rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase}
  .mobile-bar a svg{width:22px;height:22px;fill:none;stroke:var(--pink-l);stroke-width:2}
  .mobile-bar a.book{background:var(--pink);color:#fff}.mobile-bar a.book svg{stroke:#fff}
  .locs .card .photo img{aspect-ratio:16/9}}
@media (max-width:620px){.strip li+li::before{display:none}.strip ul{gap:10px 20px;padding:13px 16px}}
/* contrast fixes (Lighthouse 11/1) */
.lede{opacity:1} .sec.pink .eyebrow{opacity:1} .sec.paper .cap{color:#0b6a96}
/* Sean 11/1 on Liv's: slightly bigger type, applied here too */
body{font-size:17px} .item p,.card p,.quote blockquote,.faq details p{font-size:1rem} .nav a{font-size:.84rem}

/* 11/1: prices, rating badge, Taco Tuesday deals */
.item header{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.item .price{font:400 1.2rem/1 var(--head);color:var(--pink-l);white-space:nowrap}
.rate-badge{display:inline-flex;align-items:center;gap:8px;margin:2px 0 6px;padding:8px 14px;border-radius:999px;background:rgba(18,16,20,.7);color:#fff!important;text-decoration:none;border:1px solid rgba(255,255,255,.25)}
.rate-badge b{font:400 1.5rem/1 var(--head)}.rate-badge svg{width:20px;height:20px;fill:var(--pink-l)}.rate-badge span{font:600 .9rem/1 var(--body)}
.tt-deal{display:inline-flex;flex-direction:column;align-items:flex-start;margin:0 34px 10px 0}.tt-deal b{font:400 clamp(3rem,7vw,4.6rem)/1 var(--head);color:var(--pink-d)}.tt-deal span{font:800 .8rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}

/* ===== Brand guide pass (Banditos Brand Guidelines Final 1.12.23, Sean's files 11/1) =====
   Palette: Pink #EE4F9C, Cyan #00AEEF, Black #000000 (yellow #FFF200 only sparingly - not used).
   Web fonts from the guide: Mitr (bold headlines/labels). Bebas Neue is the guide's print headline face. Body stays Archivo (stand-in for DIN Neuzeit Grotesk).
   Pink is light, so text ON pink is black - the way the printed menu does it. */
@font-face{font-family:"Bebas Neue";src:url(../fonts/bebas-neue-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Mitr";src:url(../fonts/mitr-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--ink:#0b0a0c;--ink-2:#18161a;--ink-3:#000;--pink:#EE4F9C;--pink-l:#f46fae;--pink-d:#b3306f;--blue:#00AEEF;--blue-d:#00719c;--head:"Bebas Neue","Anton","Arial Narrow",Impact,sans-serif;--label:"Mitr","Archivo",system-ui,sans-serif}
h1,h2,h3{letter-spacing:.015em} h1{font-size:clamp(3.2rem,8.4vw,6.8rem)} h2{font-size:clamp(2.3rem,5vw,3.8rem)} h3{font-size:clamp(1.45rem,2.4vw,1.8rem)}
.eyebrow,.cap,.weekly span,.nav a,.btn,.menu-nav a,.mobile-bar a,.item h3,.faq summary{font-family:var(--label);font-weight:600}
.eyebrow{letter-spacing:.14em}.nav a{letter-spacing:.06em}.btn{letter-spacing:.06em}.item h3{letter-spacing:.02em;font-size:1rem}
.btn{background:var(--pink);border-color:var(--pink);color:#000}
.btn:hover{background:var(--pink-l);border-color:var(--pink-l);color:#000}
.btn.dark{background:#000;border-color:#000;color:#fff}.btn.dark:hover{background:#222;border-color:#222;color:#fff}
.strip{background:var(--pink)} .strip a{color:#000} .strip li+li::before{color:#000}
.sec.pink{background:var(--pink);color:#000} .sec.pink .lede,.sec.pink p,.sec.pink .eyebrow,.sec.pink a:not(.btn),.sec.pink h2,.sec.pink h3{color:#000}
.sec.pink .cap{color:#000!important}
.sec.pink .btn{background:#000;border-color:#000;color:#fff} .sec.pink .btn:hover{background:#222;border-color:#222;color:#fff}
.sec.pink .btn.ghost{background:transparent;border-color:#000;color:#000} .sec.pink .btn.ghost:hover{background:#000;color:var(--pink)}
.loc-lead{border-bottom-color:rgba(0,0,0,.3)}
.mobile-bar a.book{background:var(--pink);color:#000}.mobile-bar a.book svg{stroke:#000}
.brand img{height:44px;width:auto}
.site-foot .wordmark{width:200px;height:auto;margin-bottom:14px}
.hero::after{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.32) 45%,rgba(11,10,12,.95) 100%)}

/* 11/1: review links + Instagram strip */
.rev-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}@media (max-width:760px){.rev-links{grid-template-columns:1fr}}
.rev-links div{border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.rev-links b{font:400 1.7rem/1 var(--head)}.rev-links span{color:var(--muted);font-size:.92rem}.rev-links .small{color:var(--blue)}
.ig-head{margin-top:64px}.ig-head h3{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.ig-grid a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:var(--ink-2)}
.ig-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.ig-grid a:hover img{transform:scale(1.04)}@media (max-width:760px){.ig-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.ig-follow{margin-top:14px;font-weight:600}

.tag-line{font:400 1.6rem/1 var(--head);letter-spacing:.04em;color:var(--pink-d)!important}

/* Chicken Mary (11/1) */
.mary-wrap{display:flex;justify-content:center}.mary{width:min(420px,80%);height:auto}
.mary-sm{width:110px;height:auto;flex:0 0 auto}.band{gap:28px}.band-text{flex:1;min-width:240px}
.mary-404{width:200px;height:auto;margin:0 auto 18px}.sec.center .cta-row{justify-content:center}
.sec:not(.paper) .tag-line{color:var(--pink)!important}
