/*
Theme Name: Uncle Good Eats Two
Theme URI: https://uncle-eat-eat.example.com
Template: astra
Author: Uncle Good Eats
Author URI: https://uncle-eat-eat.example.com
Description: Good Eats BBQ, built as a child theme of Astra — a free, widely-used WordPress theme (install it from Appearance > Themes > Add New > search "Astra" before activating this child theme). Everything from the earlier standalone build carries over: the Menu Items post type, Good Eats Settings page, section widgets, Instagram feed options, and the full ordering/catering/event system.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: good-eats-bbq
Tags: one-column, custom-menu, food-and-drink, restaurant
*/

/* -----------------------------------------------------------------
   IMPORTANT: "Template" above must be "astra" — that's Astra's
   folder/slug when installed the normal way, from Appearance > Themes
   > Add New > search "Astra" > Install (no upload needed, it's in the
   official WordPress.org theme directory). This child theme won't
   activate until the real Astra theme is present in
   wp-content/themes/.

   This child theme overrides Astra's header.php, footer.php, and
   index.php entirely with Good Eats BBQ's own branded markup (nav,
   hero, menu builder, ordering system, etc.) rather than using
   Astra's default header/footer layout — the design here is specific
   enough (a custom nav with a live cart count, for instance) that
   layering it on top of Astra's own header via hooks would mean two
   headers competing for the same space. What you still get from
   Astra as the parent: its base CSS reset/utilities, its presence in
   the official theme directory (so it's a trusted, actively
   maintained project you can point to), and — if you later want it —
   Astra's own Customizer panels and hook system for anything you
   choose not to override.
-------------------------------------------------------------------- */

/* -----------------------------------------------------------------
   The rules below are the site's original design system, unchanged.
------------------------------------------------------------ */

  :root{
    --char-black:#181210;
    --char-black-2:#221a16;
    --ember:#d9481f;
    --ember-hot:#ff7a35;
    --ember-dim:#8c2f11;
    --wood-brown:#4a3120;
    --wood-brown-lt:#6b4630;
    --smoke:#a99d8e;
    --cream:#f0e6d6;
    --cream-dim:#cfc3ae;
    --gold:#c9932e;
    --gold-lt:#e0b24f;
    --line:rgba(240,230,214,0.14);
    --radius:2px;
    --disp:'Anton', sans-serif;
    --head:'Oswald', sans-serif;
    --body:'Libre Franklin', sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--char-black);
    color:var(--cream);
    font-family:var(--body);
    line-height:1.55;
    overflow-x:hidden;
  }
  a{color:inherit;}
  img,svg{display:block; max-width:100%;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  ::selection{background:var(--ember); color:var(--cream);}
  :focus-visible{outline:2px solid var(--gold-lt); outline-offset:3px;}

  /* ---------- NAV ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:linear-gradient(180deg, rgba(24,18,16,0.96), rgba(24,18,16,0.85));
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(6px);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px; max-width:1180px; margin:0 auto;
  }
  .brand{display:flex; flex-direction:column; line-height:1;}
  .brand-eyebrow{font-family:var(--head); font-size:10px; letter-spacing:.22em; color:var(--smoke); text-transform:uppercase;}
  .brand-name{font-family:var(--disp); font-size:26px; letter-spacing:.03em; color:var(--cream); text-transform:uppercase;}
  .brand-name span{color:var(--ember-hot);}
  .nav-links{display:flex; gap:28px; list-style:none;}
  .nav-links a{
    font-family:var(--head); font-size:13px; letter-spacing:.12em; text-transform:uppercase;
    color:var(--cream-dim); text-decoration:none; padding-bottom:4px; border-bottom:2px solid transparent;
    transition:color .2s, border-color .2s;
  }
  .nav-links a:hover{color:var(--ember-hot); border-color:var(--ember-hot);}
  .nav-cart-btn{
    font-family:var(--head); font-size:13px; letter-spacing:.08em; text-transform:uppercase;
    background:var(--ember); color:var(--cream); border:none; padding:10px 18px;
    cursor:pointer; display:flex; align-items:center; gap:8px; border-radius:var(--radius);
    transition:background .2s, transform .15s;
  }
  .nav-cart-btn:hover{background:var(--ember-hot); transform:translateY(-1px);}
  .cart-count{
    background:var(--char-black); color:var(--ember-hot); font-family:var(--head); font-size:12px;
    min-width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  }
  .nav-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center;
    text-align:center; padding:140px 24px 100px;
    background:
      radial-gradient(ellipse 60% 50% at 50% 15%, rgba(217,72,31,0.18), transparent 60%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 46px),
      linear-gradient(180deg, var(--char-black-2), var(--char-black) 55%);
    overflow:hidden;
  }
  .hero::before{
    content:''; position:absolute; inset:0;
    background:
      radial-gradient(circle at 20% 80%, rgba(74,49,32,0.5), transparent 45%),
      radial-gradient(circle at 85% 70%, rgba(74,49,32,0.35), transparent 40%);
    pointer-events:none;
  }
  .smoke{position:absolute; inset:0; pointer-events:none; opacity:.55;}
  .smoke ellipse{filter:blur(18px);}
  .smoke .s1{animation:drift1 14s ease-in-out infinite;}
  .smoke .s2{animation:drift2 18s ease-in-out infinite;}
  .smoke .s3{animation:drift1 22s ease-in-out infinite reverse;}
  @keyframes drift1{
    0%,100%{transform:translate(0,0) scale(1); opacity:.35;}
    50%{transform:translate(30px,-60px) scale(1.25); opacity:.6;}
  }
  @keyframes drift2{
    0%,100%{transform:translate(0,0) scale(1); opacity:.25;}
    50%{transform:translate(-40px,-80px) scale(1.15); opacity:.5;}
  }
  .hero-content{position:relative; z-index:2; max-width:900px;}
  .hero-eyebrow{
    font-family:var(--head); font-size:13px; letter-spacing:.35em; text-transform:uppercase;
    color:var(--gold-lt); margin-bottom:18px;
  }
  .hero-eyebrow::before, .hero-eyebrow::after{content:'— '; color:var(--ember-dim);}
  .hero-eyebrow::after{content:' —';}
  .hero h1{
    font-family:var(--disp); text-transform:uppercase; color:var(--cream);
    font-size:clamp(2.4rem, 7vw, 5.4rem); line-height:0.98; letter-spacing:.01em;
    text-shadow:0 0 30px rgba(255,122,53,0.35), 0 0 80px rgba(217,72,31,0.2);
  }
  .hero h1 .hot{color:var(--ember-hot);}
  .hero-sub{
    margin-top:26px; font-size:clamp(1rem, 1.6vw, 1.25rem); color:var(--cream-dim);
    max-width:620px; margin-left:auto; margin-right:auto; font-weight:500;
  }
  .hero-sub strong{color:var(--gold-lt); font-weight:700;}
  .hero-ctas{display:flex; gap:16px; justify-content:center; margin-top:42px; flex-wrap:wrap;}
  .btn{
    font-family:var(--head); font-size:14px; letter-spacing:.1em; text-transform:uppercase;
    padding:15px 30px; border-radius:var(--radius); text-decoration:none; cursor:pointer;
    border:2px solid transparent; transition:transform .15s, background .2s, border-color .2s, color .2s;
    display:inline-block;
  }
  .btn-primary{background:var(--ember); color:var(--cream);}
  .btn-primary:hover{background:var(--ember-hot); transform:translateY(-2px);}
  .btn-outline{border-color:var(--cream-dim); color:var(--cream);}
  .btn-outline:hover{border-color:var(--gold-lt); color:var(--gold-lt); transform:translateY(-2px);}

  /* charred edge divider */
  .char-edge{
    height:34px; width:100%;
    background:var(--char-black);
    clip-path:polygon(0% 100%,0% 30%,4% 60%,8% 15%,13% 55%,18% 20%,23% 65%,28% 25%,33% 58%,38% 10%,43% 50%,48% 22%,53% 62%,58% 18%,63% 55%,68% 28%,73% 60%,78% 15%,83% 55%,88% 25%,93% 60%,96% 20%,100% 50%,100% 100%);
  }
  .char-edge.flip{transform:rotate(180deg);}

  /* ---------- SECTION HEADERS ---------- */
  section{position:relative; padding:100px 0;}
  .sec-eyebrow{
    font-family:var(--head); font-size:12px; letter-spacing:.3em; text-transform:uppercase;
    color:var(--ember-hot); margin-bottom:12px;
  }
  .sec-title{
    font-family:var(--disp); text-transform:uppercase; font-size:clamp(1.8rem,4vw,3rem);
    color:var(--cream); letter-spacing:.01em; max-width:760px;
  }
  .sec-desc{margin-top:16px; color:var(--cream-dim); max-width:620px; font-size:1.02rem;}

  /* ---------- MISSION ---------- */
  .mission{background:var(--char-black-2);}
  .mission-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px;
    background:var(--line);
  }
  .pillar{
    background:var(--char-black-2); padding:36px 28px; min-height:260px;
    display:flex; flex-direction:column;
  }
  .pillar-icon{font-size:30px; margin-bottom:18px;}
  .pillar-label{font-family:var(--head); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:10px;}
  .pillar h3{font-family:var(--head); font-size:1.25rem; color:var(--cream); text-transform:uppercase; letter-spacing:.02em; margin-bottom:12px;}
  .pillar p{color:var(--cream-dim); font-size:.94rem;}

  .mission-quote{
    margin-top:64px; border:1px solid var(--line); border-left:4px solid var(--ember);
    padding:36px 40px; background:rgba(217,72,31,0.05); position:relative;
  }
  .mission-quote p{
    font-family:var(--head); font-size:clamp(1.05rem,2vw,1.4rem); line-height:1.5; color:var(--cream);
    font-weight:400; font-style:normal;
  }
  .mission-quote cite{
    display:block; margin-top:18px; font-family:var(--head); font-size:12px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--smoke); font-style:normal;
  }

  /* ---------- MENU ---------- */
  .menu-tabs{display:flex; gap:10px; margin-top:44px; flex-wrap:wrap;}
  .menu-tab{
    font-family:var(--head); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
    padding:9px 18px; border:1px solid var(--line); background:transparent; color:var(--cream-dim);
    cursor:pointer; border-radius:var(--radius); transition:all .2s;
  }
  .menu-tab.active, .menu-tab:hover{background:var(--ember); color:var(--cream); border-color:var(--ember);}
  .menu-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:28px;
    background:var(--line); border:1px solid var(--line);
  }
  .menu-item{
    background:var(--char-black); padding:26px 24px; display:flex; flex-direction:column; gap:10px;
  }
  .menu-item-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
  .menu-item h4{font-family:var(--head); font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; color:var(--cream);}
  .menu-item .price{font-family:var(--head); color:var(--gold-lt); font-size:1.05rem; white-space:nowrap;}
  .menu-item p{color:var(--cream-dim); font-size:.88rem; flex-grow:1;}
  .menu-item .tag{font-family:var(--head); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ember-hot);}
  .add-btn{
    margin-top:8px; align-self:flex-start; font-family:var(--head); font-size:12px; letter-spacing:.1em;
    text-transform:uppercase; background:transparent; border:1px solid var(--gold); color:var(--gold-lt);
    padding:9px 16px; cursor:pointer; border-radius:var(--radius); transition:all .2s;
  }
  .add-btn:hover{background:var(--gold); color:var(--char-black);}
  .add-btn.added{background:var(--ember); border-color:var(--ember); color:var(--cream);}
  .add-btn:disabled{opacity:.4; cursor:not-allowed;}
  .add-btn:disabled:hover{background:transparent; color:var(--gold-lt);}

  .platter-config{margin-top:4px; padding-top:14px; border-top:1px dashed var(--line);}
  .platter-size-toggle{display:flex; gap:8px; margin-bottom:12px;}
  .size-btn{
    flex:1; font-family:var(--head); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    padding:8px 6px; background:transparent; border:1px solid var(--line); color:var(--cream-dim);
    cursor:pointer; border-radius:var(--radius); transition:all .2s;
  }
  .size-btn.active{background:var(--gold); border-color:var(--gold); color:var(--char-black);}
  .side-picker{display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; margin-bottom:8px;}
  .side-check{display:flex; align-items:center; gap:7px; font-size:.8rem; color:var(--cream-dim); cursor:pointer;}
  .side-check input{accent-color:var(--ember); width:14px; height:14px; cursor:pointer;}
  .side-check.disabled{opacity:.35; cursor:not-allowed;}
  .side-count{font-size:.76rem; color:var(--smoke); margin-bottom:10px;}

  .platter-builder{
    grid-column:1 / -1; background:var(--char-black); padding:36px; display:flex; flex-direction:column; gap:22px;
  }
  .builder-head{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px;}
  .builder-head h4{font-family:var(--disp); font-size:1.5rem; text-transform:uppercase; color:var(--cream); letter-spacing:.02em;}
  .builder-head p{color:var(--cream-dim); font-size:.9rem; max-width:480px; margin-top:6px;}
  .builder-price{font-family:var(--disp); font-size:1.8rem; color:var(--gold-lt); white-space:nowrap;}
  .builder-section-label{font-family:var(--head); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:12px;}
  .builder-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
  .meat-picker{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
  .builder-add-btn{
    align-self:flex-start; font-family:var(--disp); font-size:1.05rem; letter-spacing:.03em; text-transform:uppercase;
    background:var(--ember); color:var(--cream); border:none; padding:15px 34px; cursor:pointer; border-radius:var(--radius);
    transition:background .2s;
  }
  .builder-add-btn:hover{background:var(--ember-hot);}
  .builder-add-btn:disabled{background:var(--wood-brown); color:var(--smoke); cursor:not-allowed;}

  /* ---------- INSTAGRAM ---------- */
  .insta-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin-top:44px;
  }
  .insta-grid--embed{
    display:block; text-align:left;
  }
  .insta-grid--videos{
    display:flex; flex-wrap:wrap; gap:24px; justify-content:center; align-items:flex-start;
  }
  .insta-tile{
    position:relative; aspect-ratio:1/1; overflow:hidden; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  .insta-tile .tile-bg{
    position:absolute; inset:0;
  }
  .insta-tile .tile-icon{
    position:relative; z-index:1; font-size:clamp(1.6rem, 3vw, 2.4rem); opacity:.85;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));
  }
  .insta-tile .tile-overlay{
    position:absolute; inset:0; background:rgba(24,18,16,0.72); opacity:0; z-index:2;
    display:flex; align-items:center; justify-content:center; gap:6px;
    font-family:var(--head); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cream);
    transition:opacity .2s;
  }
  .insta-tile:hover .tile-overlay{opacity:1;}
  .insta-cta{display:flex; align-items:center; justify-content:center; gap:20px; margin-top:32px; flex-wrap:wrap;}

  /* ---------- EVENTS / PRESALE ---------- */
  .events-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:44px; background:var(--line); border:1px solid var(--line);}
  .event-card{background:var(--char-black); padding:26px 24px; display:flex; flex-direction:column; gap:10px;}
  .event-card h4{font-family:var(--head); font-size:1.1rem; text-transform:uppercase; letter-spacing:.02em; color:var(--cream);}
  .event-meta{font-family:var(--head); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-lt);}
  .event-card p{color:var(--cream-dim); font-size:.88rem;}
  .event-price-row{display:flex; justify-content:space-between; align-items:baseline; margin-top:4px;}
  .event-price{font-family:var(--head); font-size:1.2rem; color:var(--gold-lt);}
  .event-remaining{font-size:.78rem; color:var(--smoke);}
  .event-qty-row{display:flex; align-items:center; gap:10px; margin-top:6px;}
  .event-qty-row input{
    background:var(--char-black); border:1px solid var(--line); color:var(--cream);
    padding:8px 10px; border-radius:var(--radius); font-family:var(--body); font-size:.85rem;
  }
  .event-qty-row input[type="text"]{flex:1; min-width:0;}
  .event-qty-row input[type="number"]{width:60px;}
  .event-empty{grid-column:1/-1; text-align:center; color:var(--smoke); font-style:italic; padding:40px 20px;}
  .event-sold-out{opacity:.5;}
  .event-confirm{
    display:none; margin-top:10px; padding:14px; border:1px dashed var(--gold);
    background:rgba(201,147,46,0.06); font-size:.82rem; color:var(--cream-dim);
  }
  .event-confirm.show{display:block;}

  .staff-toggle-row{text-align:center; margin-top:40px;}
  .staff-toggle-btn{
    font-family:var(--head); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
    background:none; border:none; color:var(--smoke); cursor:pointer; text-decoration:underline;
  }
  .staff-toggle-btn:hover{color:var(--gold-lt);}
  .staff-panel{display:none; margin-top:32px; border:1px dashed var(--line); padding:32px; background:var(--char-black-2);}
  .staff-panel.show{display:block;}
  .staff-panel h4{font-family:var(--head); font-size:1rem; text-transform:uppercase; letter-spacing:.06em; color:var(--gold-lt); margin-bottom:6px;}
  .staff-panel .staff-warning{font-size:.78rem; color:var(--smoke); margin-bottom:20px; max-width:600px;}
  .staff-add-btn{
    font-family:var(--head); font-size:13px; letter-spacing:.08em; text-transform:uppercase;
    background:var(--ember); color:var(--cream); border:none; padding:13px 26px; cursor:pointer;
    border-radius:var(--radius); margin-top:6px;
  }
  .staff-add-btn:hover{background:var(--ember-hot);}
  .staff-event-list{margin-top:24px; display:flex; flex-direction:column; gap:8px;}
  .staff-event-row{display:flex; justify-content:space-between; align-items:center; font-size:.85rem; color:var(--cream-dim); border-bottom:1px solid var(--line); padding-bottom:8px;}
  .staff-remove-btn{background:none; border:1px solid var(--line); color:var(--smoke); font-size:11px; padding:4px 10px; cursor:pointer; border-radius:var(--radius);}
  .staff-remove-btn:hover{border-color:var(--ember-hot); color:var(--ember-hot);}

  @media (max-width:860px){
    .events-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .events-grid{grid-template-columns:1fr;}
  }
  .insta-handle{font-family:var(--head); font-size:1rem; letter-spacing:.05em; color:var(--gold-lt);}
  @media (max-width:860px){
    .insta-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:560px){
    .insta-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ---------- ORDER / DELIVERY ---------- */
  .order{background:var(--char-black-2);}
  .order-shell{
    margin-top:48px; display:grid; grid-template-columns:1.15fr 1fr; gap:1px;
    background:var(--line); border:1px solid var(--line);
  }
  .order-form-panel, .order-cart-panel{background:var(--char-black-2); padding:36px;}
  .form-row{margin-bottom:18px;}
  .form-row label{
    display:block; font-family:var(--head); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold-lt); margin-bottom:8px;
  }
  .form-row input, .form-row select, .form-row textarea{
    width:100%; background:var(--char-black); border:1px solid var(--line); color:var(--cream);
    padding:12px 14px; font-family:var(--body); font-size:.95rem; border-radius:var(--radius);
  }
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{border-color:var(--ember-hot);}
  .form-two{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .order-type{display:flex; gap:12px; margin-bottom:24px;}
  .order-type button{
    flex:1; padding:14px; font-family:var(--head); letter-spacing:.1em; text-transform:uppercase; font-size:13px;
    background:transparent; border:1px solid var(--line); color:var(--cream-dim); cursor:pointer; border-radius:var(--radius);
    transition:all .2s;
  }
  .order-type button.active{background:var(--ember); border-color:var(--ember); color:var(--cream);}

  .cart-list{list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:22px; min-height:60px;}
  .cart-empty{color:var(--smoke); font-size:.9rem; font-style:italic;}
  .cart-line{display:flex; justify-content:space-between; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding-bottom:12px;}
  .cart-line-name{font-family:var(--head); font-size:.92rem; color:var(--cream); text-transform:uppercase; letter-spacing:.02em;}
  .cart-line-meta{font-size:.8rem; color:var(--smoke);}
  .qty-ctrl{display:flex; align-items:center; gap:8px;}
  .qty-ctrl button{
    width:24px; height:24px; background:var(--char-black); border:1px solid var(--line); color:var(--cream);
    cursor:pointer; border-radius:var(--radius); font-family:var(--head);
  }
  .qty-ctrl button:hover{border-color:var(--ember-hot); color:var(--ember-hot);}
  .cart-totals{border-top:1px solid var(--line); padding-top:18px;}
  .cart-totals-row{display:flex; justify-content:space-between; font-size:.92rem; color:var(--cream-dim); margin-bottom:8px;}
  .cart-totals-row.grand{font-family:var(--head); font-size:1.15rem; color:var(--cream); text-transform:uppercase; letter-spacing:.03em; margin-top:10px;}
  .submit-order{
    width:100%; margin-top:24px; padding:16px; font-family:var(--disp); font-size:1.1rem; letter-spacing:.03em;
    text-transform:uppercase; background:var(--ember); color:var(--cream); border:none; cursor:pointer;
    border-radius:var(--radius); transition:background .2s;
  }
  .submit-order:hover{background:var(--ember-hot);}
  .submit-order:disabled{background:var(--wood-brown); color:var(--smoke); cursor:not-allowed;}
  .form-note{font-size:.8rem; color:var(--smoke); margin-top:12px;}

  .confirm-box{
    display:none; text-align:center; padding:40px 20px; border:1px dashed var(--gold);
    background:rgba(201,147,46,0.06); margin-top:20px;
  }
  .confirm-box.show{display:block;}
  .confirm-box h4{font-family:var(--disp); font-size:1.6rem; color:var(--gold-lt); text-transform:uppercase; margin-bottom:10px;}
  .confirm-box p{color:var(--cream-dim); font-size:.92rem;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--char-black); border-top:1px solid var(--line); padding:60px 0 30px;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; margin-bottom:40px;}
  .foot-col h5{font-family:var(--head); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:16px;}
  .foot-col p, .foot-col a{color:var(--cream-dim); font-size:.9rem; text-decoration:none; display:block; margin-bottom:8px;}
  .foot-col a:hover{color:var(--ember-hot);}
  .foot-bottom{border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
  .foot-bottom p{color:var(--smoke); font-size:.8rem;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:860px){
    .nav-links{display:none;}
    .mission-grid{grid-template-columns:1fr;}
    .menu-grid{grid-template-columns:1fr 1fr;}
    .order-shell{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr; gap:28px;}
    .builder-grid-2{grid-template-columns:1fr; gap:20px;}
  }
  @media (max-width:560px){
    .menu-grid{grid-template-columns:1fr;}
    .form-two{grid-template-columns:1fr;}
    .hero-ctas{flex-direction:column; align-items:stretch;}
  }
  @media (prefers-reduced-motion:reduce){
    .smoke ellipse{animation:none !important;}
  }
