/* Mi Pollos — shared stylesheet (light brand theme: white sign, red lettering, yellow accents) */
:root{
  --cream:#f7f4ee;
  --navy:#b71c1c;
  --navy-deep:#7a1210;
  --espresso:#241610;
  --espresso-deep:#150c06;
  --yellow:#f7d774;
  --tan:#e9d6bc;
  --ink:#2b1a12;
  --gold:#e8b84a;
  --fire:#d9480f;
  --fire-dark:#b23a0b;
  --white:#ffffff;
  --tint:#fbeae4;
  --radius:2px;
  --shadow:0 6px 24px rgba(43,26,18,.10);
  --font-display:"Alfa Slab One",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Source Serif 4",Georgia,serif;
  background:var(--cream);color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* ---------- Image slots (real photos land in assets/) ---------- */
.img-slot{
  position:relative;overflow:hidden;border-radius:var(--radius);
  background:
    radial-gradient(ellipse 80% 70% at 50% 110%, rgba(217,72,15,.18), rgba(217,72,15,0) 70%),
    linear-gradient(160deg,#fff 0%,var(--tint) 70%);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(183,28,28,.15);
}
.img-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.img-slot .slot-label{
  font-family:var(--font-display);color:var(--fire);opacity:.6;
  letter-spacing:.02em;font-size:.95rem;position:relative;
}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:50;background:#fffdf8;color:var(--ink);border-bottom:3px solid var(--fire);box-shadow:0 2px 12px rgba(43,26,18,.08)}
.header-inner{display:flex;align-items:center;gap:12px;padding:10px 20px;max-width:1080px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-name{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.01em;color:var(--navy);line-height:1}
.brand-name .dot{color:var(--fire)}
.brand-name small{display:block;font-family:"Great Vibes",cursive;font-size:.9rem;letter-spacing:0;color:var(--ink);opacity:.75}
nav.main-nav{display:none;gap:20px}
nav.main-nav a{font-family:"DM Sans",sans-serif;font-weight:500;font-size:.88rem;color:var(--ink);opacity:.85;padding:4px 2px;border-bottom:2px solid transparent}
nav.main-nav a:hover{border-bottom-color:var(--fire)}
nav.main-nav a.active{border-bottom-color:var(--fire);opacity:1;color:var(--navy)}
.lang-toggle{display:flex;background:rgba(183,28,28,.08);border-radius:var(--radius);overflow:hidden;flex-shrink:0}
.lang-toggle button{font-family:"DM Sans",sans-serif;font-weight:700;font-size:.76rem;background:transparent;border:0;color:var(--ink);padding:7px 10px;cursor:pointer;opacity:.55}
.lang-toggle button.active{background:var(--fire);color:#fff;opacity:1}
.cart-btn{position:relative;font-family:"DM Sans",sans-serif;font-weight:700;font-size:.85rem;background:var(--fire);color:#fff;border:0;border-radius:999px;padding:9px 18px;cursor:pointer;white-space:nowrap}
.cart-btn:hover{background:var(--fire-dark)}
.cart-count{position:absolute;top:-8px;right:-8px;background:var(--gold);color:var(--navy-deep);font-size:.72rem;font-weight:700;min-width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;padding:0 5px}
.cart-count.hidden{display:none}

/* ---------- Hero (photo-forward) ---------- */
.hero{
  background:
    radial-gradient(ellipse 90% 55% at 50% 118%, rgba(217,72,15,.20), rgba(217,72,15,0) 70%),
    radial-gradient(ellipse 70% 45% at 50% 122%, rgba(247,215,116,.50), rgba(247,215,116,0) 70%),
    linear-gradient(180deg,#fffdf6 0%,#fbeed3 62%,#f6e0b0 100%);
  color:var(--ink);text-align:center;padding:56px 20px 72px;
  border-bottom:1px solid rgba(183,28,28,.16);
}
.hero-photo-slot{width:min(340px,82vw);aspect-ratio:3/4;margin:0 auto 30px;border:4px solid #fff;box-shadow:10px 10px 0 var(--fire), 0 18px 44px rgba(43,26,18,.22)}
.hero .script{font-family:"Great Vibes",cursive;font-size:1.7rem;color:var(--fire);margin-bottom:8px}
.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,8.5vw,4rem);line-height:1.02;letter-spacing:0;color:var(--navy);max-width:720px;margin:0 auto 16px}
.hero h1 .fire-word{color:var(--fire)}
.hero .sub{font-size:1.05rem;max-width:560px;margin:0 auto 26px;opacity:.9}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.btn{font-family:"DM Sans",sans-serif;font-weight:700;font-size:1rem;border-radius:999px;padding:14px 32px;cursor:pointer;border:2px solid transparent;display:inline-block}
.btn-fire{background:var(--fire);color:#fff}
.btn-fire:hover{background:var(--fire-dark)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:rgba(183,28,28,.08)}
.btn-navy{background:var(--fire);color:#fff}
.hours-badge{display:inline-block;font-family:"DM Sans",sans-serif;font-size:.85rem;font-weight:500;background:rgba(217,72,15,.08);border:1px solid rgba(217,72,15,.45);color:var(--fire-dark);border-radius:999px;padding:7px 16px}
.hours-badge.closed-now{color:var(--navy);border-color:rgba(183,28,28,.5);background:rgba(183,28,28,.07)}

/* ---------- Sections ---------- */
.section{padding:60px 0}
.section-kicker{font-family:"Great Vibes",cursive;font-size:1.6rem;color:var(--fire);text-align:center}
.section-title{font-family:var(--font-display);font-size:2.3rem;letter-spacing:0;text-align:center;color:var(--navy);margin-bottom:8px;line-height:1.05}
.section-sub{text-align:center;max-width:560px;margin:0 auto 34px;font-size:1.02rem}

/* sell-out banner */
.sellout{background:var(--fire);color:#fff;text-align:center;padding:34px 20px}
.sellout h2{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.1rem);letter-spacing:0;line-height:1.1;margin-bottom:8px}
.sellout p{max-width:600px;margin:0 auto 18px;font-size:1.02rem}
.sellout .btn{background:#fff;color:var(--fire-dark)}
.sellout .btn:hover{background:var(--cream)}

/* steps */
.steps-grid{display:grid;gap:16px;grid-template-columns:1fr}
.step-card{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:26px 22px;text-align:center;border-top:4px solid var(--fire)}
.step-num{width:52px;height:52px;margin:0 auto 14px;background:var(--fire);color:#fff;border-radius:50%;font-family:var(--font-display);font-size:1.3rem;line-height:52px}
.step-card h3{font-family:var(--font-display);font-size:1.25rem;letter-spacing:0;color:var(--navy);margin-bottom:8px}
.step-card p{font-size:.98rem}

/* menu — classic menu-board style */
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 auto 30px}
.tab{font-family:"DM Sans",sans-serif;font-weight:700;font-size:.88rem;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:999px;padding:10px 22px;cursor:pointer}
.tab.active{background:var(--fire);border-color:var(--fire);color:#fff}
.menu-grid{display:grid;gap:4px;grid-template-columns:1fr}
.dish{background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding:16px 4px 20px;border-bottom:2px dotted rgba(183,28,28,.35)}
.dish-body{padding:0;display:flex;flex-direction:column;gap:6px;flex:1}
.dish-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dish h3{font-family:var(--font-display);font-size:1.2rem;letter-spacing:0;color:var(--navy);line-height:1.15}
.price{font-family:"DM Sans",sans-serif;font-weight:700;font-size:1.02rem;background:var(--fire);color:#fff;border-radius:999px;padding:4px 14px;white-space:nowrap}
.dish p{font-size:.95rem;font-style:italic;opacity:.9;flex:1}
.add-btn{align-self:flex-end;font-family:"DM Sans",sans-serif;font-weight:700;font-size:.85rem;background:transparent;color:var(--fire);border:2px solid var(--fire);border-radius:999px;padding:8px 22px;cursor:pointer;margin-top:6px}
.add-btn:hover{background:var(--fire);color:#fff}

/* reviews */
.reviews{background:linear-gradient(180deg,#fffdf6,#faecd0);color:var(--ink);padding:56px 0;border-top:1px solid rgba(183,28,28,.14);border-bottom:1px solid rgba(183,28,28,.14)}
.reviews .section-title{color:var(--navy)}
.review-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:8px}
.review-card{background:var(--cream);border:1px solid rgba(183,28,28,.18);border-radius:8px;padding:22px}
.review-card .stars{color:var(--fire);font-size:1.1rem;letter-spacing:.15em;margin-bottom:8px}
.review-card p{font-style:italic;font-size:1rem}
.review-card cite{display:block;margin-top:10px;font-style:normal;font-family:"DM Sans",sans-serif;font-size:.85rem;opacity:.7}

/* info blocks */
.info-section{background:var(--tint);color:var(--ink);padding:60px 0}
.info-section .section-title{color:var(--navy)}
.info-grid{display:grid;gap:28px;grid-template-columns:1fr;margin-top:26px}
.info-block h3{font-family:var(--font-display);font-size:1.3rem;letter-spacing:0;color:var(--fire);margin-bottom:10px}
.info-block p{font-size:1rem}
.hours-table{width:100%;border-collapse:collapse;font-size:.98rem}
.hours-table td{padding:7px 0;border-bottom:1px solid rgba(43,26,18,.15)}
.hours-table td:last-child{text-align:right;font-family:"DM Sans",sans-serif;font-weight:500}
.call-btn{display:inline-block;margin-top:14px;font-family:"DM Sans",sans-serif;font-weight:700;background:var(--fire);color:#fff;border-radius:999px;padding:12px 28px}
.call-btn:hover{background:var(--fire-dark)}
.map-btn{display:inline-block;margin-top:10px;font-family:"DM Sans",sans-serif;font-weight:700;background:transparent;color:var(--fire);border:2px solid var(--fire);border-radius:999px;padding:10px 26px}
.contact-photo-slot{height:220px;margin-top:26px}

/* dashboard */
.dash-totals{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:30px}
.total-card{background:#fff;color:var(--ink);border-radius:8px;padding:22px;text-align:center;border-top:4px solid var(--fire);box-shadow:var(--shadow)}
.total-card .num{font-family:var(--font-display);font-size:2.6rem;color:var(--fire);line-height:1}
.total-card .lbl{font-family:"DM Sans",sans-serif;font-size:.85rem;opacity:.75;margin-top:4px}
.order-card{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:14px;border-top:4px solid var(--fire)}
.order-card.done{opacity:.65}
.order-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.order-top strong{font-family:"DM Sans",sans-serif;color:var(--navy)}
.order-time{font-family:"DM Sans",sans-serif;font-size:.85rem;background:var(--cream);border-radius:999px;padding:3px 10px}
.order-items{font-size:.95rem;margin-bottom:10px}
.done-btn{font-family:"DM Sans",sans-serif;font-weight:700;font-size:.85rem;background:var(--fire);color:#fff;border:0;border-radius:999px;padding:9px 20px;cursor:pointer}
.done-btn:disabled{background:#2f9e44;color:#fff;cursor:default}
.demo-note{background:#fff8e6;border:1px solid var(--gold);border-radius:8px;padding:12px 18px;font-family:"DM Sans",sans-serif;font-size:.88rem;margin-bottom:24px}

/* ---------- Cart drawer ---------- */
.overlay{position:fixed;inset:0;background:rgba(43,26,18,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
.overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,94vw);background:var(--cream);z-index:100;transform:translateX(105%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.25)}
.drawer.open{transform:translateX(0)}
.drawer-head{background:#fff;color:var(--ink);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--fire)}
.drawer-head h2{font-family:var(--font-display);font-size:1.35rem;letter-spacing:0;color:var(--navy)}
.close-btn{background:transparent;border:0;color:var(--ink);font-size:1.5rem;cursor:pointer;line-height:1}
.drawer-body{flex:1;overflow-y:auto;padding:18px 20px}
.cart-empty{text-align:center;padding:40px 10px}
.cart-empty .script{font-family:"Great Vibes",cursive;font-size:1.6rem;color:var(--fire)}
.cart-item{display:flex;align-items:center;gap:12px;background:#fff;border-radius:8px;padding:12px;margin-bottom:10px;border:1px solid rgba(43,26,18,.12)}
.cart-item-info{flex:1}
.cart-item-info strong{font-family:"DM Sans",sans-serif;font-size:.92rem;color:var(--navy);display:block}
.cart-item-info span{font-size:.85rem;opacity:.8}
.qty-ctrl{display:flex;align-items:center;gap:8px}
.qty-ctrl button{width:30px;height:30px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-family:"DM Sans",sans-serif;font-weight:700;font-size:1rem;cursor:pointer;line-height:1}
.qty-ctrl button:hover{background:var(--navy);color:#fff}
.qty-ctrl b{font-family:"DM Sans",sans-serif;min-width:20px;text-align:center}
.drawer-foot{border-top:2px solid var(--fire);padding:16px 20px;background:#fff}
.totals{display:flex;justify-content:space-between;margin-bottom:12px;font-family:"DM Sans",sans-serif;font-weight:700;font-size:1.05rem;color:var(--navy)}
.full-btn{width:100%}
.checkout label{display:block;font-family:"DM Sans",sans-serif;font-weight:700;font-size:.88rem;color:var(--navy);margin:16px 0 8px}
.checkout input{width:100%;font-family:"DM Sans",sans-serif;font-size:1rem;padding:12px;border:2px solid rgba(43,26,18,.25);border-radius:8px;background:#fff;color:var(--ink)}
.checkout input:focus{outline:none;border-color:var(--fire)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slot{font-family:"DM Sans",sans-serif;font-weight:500;font-size:.85rem;background:#fff;border:2px solid rgba(43,26,18,.25);border-radius:8px;padding:10px 4px;cursor:pointer;color:var(--ink);text-align:center}
.slot.selected{background:var(--fire);color:#fff;border-color:var(--fire)}
.slot-day{font-family:"DM Sans",sans-serif;font-size:.85rem;color:var(--fire);font-weight:700;margin-bottom:6px}
.form-err{display:none;background:#fde8e8;color:#a01212;font-family:"DM Sans",sans-serif;font-size:.88rem;border-radius:8px;padding:10px 14px;margin-top:14px}
.back-link{display:inline-block;margin-top:14px;background:none;border:0;cursor:pointer;font-family:"DM Sans",sans-serif;font-weight:700;font-size:.9rem;color:var(--fire)}
.confirm{text-align:center;padding:30px 6px}
.confirm .script{font-family:"Great Vibes",cursive;font-size:1.8rem;color:var(--fire)}
.confirm h3{font-family:var(--font-display);font-size:1.9rem;color:var(--navy);margin:6px 0 10px}
.order-num{font-family:var(--font-display);font-size:1.9rem;letter-spacing:.02em;background:var(--fire);color:#fff;border-radius:8px;padding:10px 20px;margin:14px 0;display:inline-block}
.confirm p{font-size:.98rem;margin-bottom:6px}
.confirm .pickup-line{font-family:"DM Sans",sans-serif;font-weight:700;color:var(--fire)}

/* ---------- Footer ---------- */
footer{background:var(--navy-deep);color:var(--cream);text-align:center;padding:34px 20px;font-size:.88rem}
footer .foot-nav{margin-bottom:14px}
footer .foot-nav a{font-family:"DM Sans",sans-serif;font-size:.85rem;margin:0 10px;opacity:.85}
footer .foot-nav a:hover{color:var(--gold)}
footer .demo-credit{font-family:"DM Sans",sans-serif;font-weight:700;color:var(--gold);margin-bottom:6px}
footer a{color:var(--gold)}
footer .mockup-note{opacity:.6;font-size:.78rem;margin-top:10px}

@media(min-width:720px){
  nav.main-nav{display:flex}
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .menu-grid{grid-template-columns:repeat(2,1fr);gap:4px 40px}
  .review-grid{grid-template-columns:repeat(3,1fr)}
  .info-grid{grid-template-columns:repeat(3,1fr)}
  .dash-totals{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1000px){
  .menu-grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Real logo ---------- */
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:54px;width:54px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 2px 10px rgba(43,26,18,.25);background:#fff}
.brand-text{font-family:var(--font-display);font-size:1.02rem;letter-spacing:.01em;color:var(--navy);line-height:1;display:flex;flex-direction:column}
.brand-over{font-family:"Great Vibes",cursive;font-size:1.15rem;color:#b07d00;line-height:1;margin-bottom:2px}


/* ---------- Dark menu-board sections ---------- */
.gold-board{background:radial-gradient(ellipse 80% 50% at 50% 0%, rgba(247,215,116,.45), rgba(247,215,116,0) 70%),linear-gradient(180deg,#fdf3de,#f7e3ba);color:var(--ink);border-top:1px solid rgba(183,28,28,.14);border-bottom:1px solid rgba(183,28,28,.14)}
.gold-board .section-kicker{color:var(--fire)}
.gold-board .section-title{color:var(--navy)}
.gold-board .section-sub{color:var(--ink)}
.gold-board .dish{border-bottom-color:rgba(183,28,28,.30)}
.gold-board .dish h3{color:var(--navy)}
.gold-board .dish p{color:var(--ink)}
.gold-board .price{background:var(--fire);color:#fff}
.gold-board .add-btn{color:var(--fire);border-color:var(--fire)}
.gold-board .add-btn:hover{background:var(--fire);color:#fff}
.gold-board .tab{background:#fffdf6;color:var(--navy);border-color:var(--navy)}
.gold-board .tab.active{background:var(--fire);border-color:var(--fire);color:#fff}

/* ---------- Gallery ---------- */
.gallery{background:#fffdf8;padding:60px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 10px 26px rgba(43,26,18,.16);display:block}
@media(min-width:760px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}

/* ---------- Legal pages (Terms / Privacy) ---------- */
.legal-page h2{font-family:var(--font-display);font-size:1.9rem;color:var(--navy);margin:34px 0 10px;line-height:1.15}
.legal-page h2:first-child{margin-top:0}
.legal-page h3{font-family:"DM Sans",sans-serif;font-weight:700;font-size:1.12rem;color:var(--fire-dark);margin:24px 0 8px}
.legal-page p{margin-bottom:12px}
.legal-page ul{margin:0 0 14px 22px}
.legal-page li{margin-bottom:6px}
.legal-page hr{border:0;border-top:2px solid rgba(183,28,28,.2);margin:40px 0}
.legal-page em{opacity:.75}
