/* Gigi's Pantry — black + gold treatment (ported from the Muse hub) */
:root{
  --bg:#0d0b09; --bg2:#171106; --panel:#171310; --panel2:#1e1913;
  --gold:#dfa83e; --gold-soft:#e9c987; --cream:#f3ead9; --muted:#cfc2ab;
  --dim:#a99a80; --faint:#6f6350; --line:#2b241a; --accent:#c96f2e;
  --serif:"Cormorant Garamond",serif; --display:"Marcellus",serif;
  --sans:"Jost",system-ui,sans-serif; --script:"Great Vibes",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.55}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.01em;margin:.2em 0 .45em}
h2{font-size:clamp(1.7rem,4.5vw,2.6rem)}
h3{font-size:1.35rem}
.wrap{max-width:1080px;margin:0 auto;padding:3.2rem 1.25rem}
.center{text-align:center}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--gold);margin:0 0 .4rem}
.section-lede{color:var(--muted);max-width:62ch}
.fineprint{color:var(--faint);font-size:.85rem;margin-top:1.4rem}
.gold{color:var(--gold)}

/* ---------- header ---------- */
#siteHeader{position:sticky;top:0;z-index:40;background:rgba(13,11,9,.97);border-bottom:1px solid var(--line);padding:.55rem 1rem .4rem;text-align:center}
#hamburger{position:absolute;left:.9rem;top:.9rem;background:none;border:0;padding:.35rem}
#hamburger span{display:block;width:24px;height:2px;background:var(--gold-soft);margin:5px 0}
.brand-name{font-family:var(--script);font-size:2.6rem;line-height:1.45;color:var(--cream)}
.brand-name.small{font-size:2.1rem}
.brand-name .gold{color:var(--gold)}
.brand-sub{text-transform:uppercase;letter-spacing:.34em;font-size:.66rem;color:var(--dim);margin-top:-.35rem}
.header-row{display:flex;gap:.55rem;justify-content:center;align-items:center;padding:.45rem 0 .15rem;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase}
.header-row a{color:var(--cream);text-decoration:none}
.header-row a:hover{color:var(--gold-soft)}
.header-row i{color:var(--gold);font-style:normal}

/* ---------- drawer ---------- */
#scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:49}
#drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,84vw);background:var(--bg2);z-index:50;transform:translateX(-105%);transition:transform .25s ease;display:flex;flex-direction:column;padding:1.2rem 1.3rem;gap:.25rem;border-right:1px solid var(--line)}
#drawer.open{transform:none}
#drawer a{color:var(--cream);text-decoration:none;font-size:1.12rem;padding:.5rem .2rem;border-bottom:1px solid var(--line)}
#drawer a:hover{color:var(--gold-soft)}
.drawer-mark{font-family:var(--script);font-size:2rem;line-height:1.45;margin-bottom:.8rem}
.drawer-mark .gold{color:var(--gold)}
.drawer-close{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:var(--gold-soft);font-size:1.7rem}
.drawer-spacer{flex:1}
.drawer-admin{background:var(--panel2);border:1px solid var(--gold);color:var(--gold-soft);border-radius:10px;padding:.7rem .9rem;text-align:left;font-size:1.05rem}
.drawer-admin small{display:block;color:var(--dim);font-size:.75rem;letter-spacing:.06em}

/* ---------- buttons ---------- */
.btn{border-radius:999px;padding:.72rem 1.5rem;font-size:1rem;letter-spacing:.04em;border:1px solid var(--gold);display:inline-block;text-decoration:none}
.btn.gold{background:var(--gold);color:#171106;font-weight:500}
.btn.ghost{background:transparent;color:var(--gold-soft)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.text-link{background:none;border:0;color:var(--gold);font-size:1rem;padding:0}
.linklike{background:none;border:0;color:var(--cream);font-size:1rem;padding:0}
.linklike:hover{color:var(--gold-soft)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,9,.25),rgba(13,11,9,.88) 78%)}
.hero-copy{position:relative;padding:6rem 1.25rem 2.6rem;max-width:1080px;margin:0 auto;width:100%}
.hero-copy h1{font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.05}
.lede{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--gold-soft)}
.hero-text{color:var(--muted);max-width:56ch}
.hero-ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.2rem 0 1.6rem}
.hero-chips{display:flex;gap:2rem;flex-wrap:wrap}
.hero-chips div{display:flex;flex-direction:column}
.hero-chips strong{font-family:var(--display);font-size:1.25rem;color:var(--gold-soft)}
.hero-chips span{color:var(--dim);font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}

.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:.7rem 0;background:var(--bg2)}
.marquee-track{display:flex;gap:2.4rem;white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--dim);animation:slide 30s linear infinite;width:max-content}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- cards & grids ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.6rem}
.offer-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.4rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem;margin:1.4rem 0}
.food-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.food-card img{width:100%;height:190px;object-fit:cover}
.food-card .fc-body{padding:1rem 1.1rem 1.2rem}
.food-card h3{margin:.1rem 0 .3rem;font-size:1.2rem}
.food-card p{color:var(--muted);font-size:.95rem;margin:.2rem 0 .6rem}
.tag{display:inline-block;color:var(--gold);border:1px solid var(--gold);border-radius:999px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.18rem .6rem}
.price{font-family:var(--display);font-size:1.3rem;color:var(--gold-soft)}
.price small{font-size:.85rem;color:var(--dim)}
.soldout{opacity:.55}
.soldout .tag{color:var(--accent);border-color:var(--accent)}

.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin:1.6rem 0}
.plan-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.4rem;position:relative}
.plan-card.popular{border-color:var(--gold)}
.plan-badge{position:absolute;top:-.7rem;right:1rem;background:var(--gold);color:#171106;border-radius:999px;padding:.15rem .7rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.plan-card ul{list-style:none;padding:0;margin:.9rem 0 1.2rem;color:var(--muted)}
.plan-card li{padding:.28rem 0;border-bottom:1px dashed var(--line)}
.plan-price{font-family:var(--display);font-size:2rem;color:var(--gold-soft)}
.plan-price small{font-size:1rem;color:var(--dim)}

.wide-photo{margin:1.4rem 0}
.wide-photo img{width:100%;height:min(46vh,420px);object-fit:cover;border-radius:14px}
.wide-photo figcaption{color:var(--dim);font-size:.9rem;margin-top:.5rem;font-family:var(--serif);font-style:italic}
.steps-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:2rem 0}
.step-num{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:var(--gold)}
.subhead{margin-top:2.4rem}
.week-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.week-list div{display:flex;gap:1.2rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);background:var(--panel)}
.week-list div:last-child{border-bottom:0}
.week-list strong{font-family:var(--display);color:var(--gold-soft);min-width:96px}
.week-list span{color:var(--muted)}

.chef-flex{display:grid;grid-template-columns:1fr 1.2fr;gap:1.6rem;align-items:start}
.chef-flex img{border-radius:14px;width:100%;height:100%;object-fit:cover}
.chef-flex em{color:var(--gold-soft);font-family:var(--serif);font-size:1.12em}
.chef-points{display:grid;gap:.8rem;margin:1.1rem 0}
.chef-points div{display:flex;flex-direction:column}
.chef-points strong{color:var(--gold-soft);font-family:var(--display);font-weight:400}
.chef-points span{color:var(--muted)}
.signature{font-family:var(--script);font-size:1.9rem;color:var(--gold)}

.teaser{text-align:center}
.faq-list details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;margin:.6rem 0}
.faq-list summary{cursor:pointer;font-family:var(--display);font-size:1.1rem;color:var(--gold-soft)}
.faq-list p{color:var(--muted)}

footer{border-top:1px solid var(--line);padding:2.6rem 1.25rem 2rem;text-align:center;background:var(--bg2)}
.footer-nav{display:flex;gap:1.3rem;justify-content:center;margin:1rem 0;flex-wrap:wrap}
.footer-nav a{color:var(--cream);text-decoration:none}
.footer-base{margin-top:1.6rem;color:var(--faint);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}

/* ---------- order sheet ---------- */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1.4rem 0}
.contact-cards div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}
.contact-cards strong{font-family:var(--display);color:var(--gold-soft);font-weight:400}
.contact-cards span{color:var(--muted)}
.contact-cards small{color:var(--faint)}
#orderSheet{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.3rem;margin-top:1rem}
.os-group{margin:1.1rem 0 .4rem;font-family:var(--display);color:var(--gold-soft);font-size:1.1rem}
.os-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .2rem;border-bottom:1px dashed var(--line)}
.os-row label{display:flex;align-items:center;gap:.7rem;flex:1;cursor:pointer}
.os-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}
.os-row .os-name{color:var(--cream)}
.os-row .os-price{color:var(--dim);white-space:nowrap}
.os-row.disabled{opacity:.5}
.stepper{display:flex;align-items:center;gap:.45rem}
.stepper button{width:30px;height:30px;border-radius:50%;border:1px solid var(--gold);background:none;color:var(--gold-soft);font-size:1rem;line-height:1}
.stepper output{min-width:1.4em;text-align:center}
.os-total{position:sticky;bottom:0;background:var(--bg2);border:1px solid var(--gold);border-radius:12px;padding:.8rem 1.1rem;display:flex;justify-content:space-between;font-family:var(--display);font-size:1.25rem;color:var(--gold-soft);margin-top:1rem}
.os-fields{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.2rem}
.field{display:flex;flex-direction:column;gap:.3rem}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--cream);padding:.65rem .8rem;font-family:inherit;font-size:1rem}
.field textarea{min-height:74px;resize:vertical}
.order-success{border:1px solid var(--gold);border-radius:14px;padding:1.4rem;text-align:center;background:var(--bg2)}
.form-error{color:#e88;font-size:.92rem;min-height:1.2em}

/* ---------- overlays ---------- */
.overlay{position:fixed;inset:0;background:var(--bg);z-index:60;overflow-y:auto;padding:1.4rem 1.25rem 3rem}
.overlay-head{display:flex;justify-content:space-between;align-items:flex-start;max-width:1080px;margin:0 auto}
.overlay .wrap-like{max-width:1080px;margin:0 auto}
.overlay .section-lede,.overlay .card-grid,.overlay .chip-row{max-width:1080px;margin-left:auto;margin-right:auto}
.overlay-close{background:none;border:1px solid var(--line);color:var(--gold-soft);width:42px;height:42px;border-radius:50%;font-size:1.4rem}
.chip-row{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem auto}
.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:.42rem 1rem;font-size:.95rem}
.chip.active{border-color:var(--gold);color:var(--gold-soft)}

/* ---------- chef's side ---------- */
#chefView{max-width:980px;margin:0 auto;padding:2.2rem 1.25rem 4rem}
.gate-card{max-width:520px;margin:4vh auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem;text-align:center}
.gate-card h2{margin-top:.2rem}
.gate-card p{color:var(--muted)}
.gate-form{display:grid;gap:.8rem;text-align:left;margin-top:1.2rem}
.gate-form input{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--cream);padding:.7rem .9rem;font-size:1rem;font-family:inherit}
.peek-link{margin-top:1.1rem;background:none;border:0;color:var(--gold);font-size:1rem;text-decoration:underline}
.chef-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.chef-head h2{margin:0}
.lock-btn{background:none;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:.45rem 1rem}
.dad-note{background:linear-gradient(160deg,#1e1913,#171106);border:1px solid var(--gold);border-radius:16px;padding:1.6rem 1.8rem;margin:1.4rem 0;font-family:var(--serif);font-size:1.22rem;line-height:1.6}
.dad-note .sign{font-family:var(--script);font-size:1.8rem;color:var(--gold)}
.dad-note .remove{margin-top:1rem;font-family:var(--sans)}
.dad-note .remove button{background:none;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:.35rem .9rem;margin-right:.5rem}
.dad-note .remove .danger{border-color:#a33;color:#e88}
.chef-tabs{display:flex;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.7rem;margin-bottom:1.4rem}
.chef-tabs button{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.5rem 1.1rem;font-size:1rem}
.chef-tabs button.active{border-color:var(--gold);color:var(--gold-soft)}
.badge{display:inline-block;background:var(--gold);color:#171106;border-radius:999px;min-width:1.5em;padding:.05em .4em;font-size:.8rem;font-weight:600;margin-left:.4rem;text-align:center}
.order-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;margin:.8rem 0}
.order-card .oc-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem}
.order-card ul{margin:.5rem 0;color:var(--muted)}
.status-chip{border:1px solid var(--gold);color:var(--gold-soft);border-radius:999px;padding:.15rem .7rem;font-size:.85rem}
.status-chip.new{border-color:var(--accent);color:#eda26a}
.status-flow{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.status-flow button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .9rem}
.status-flow button:disabled{border-color:var(--gold);color:var(--gold-soft);opacity:1}
.empty-note{color:var(--dim);text-align:center;padding:2rem 0;font-family:var(--serif);font-style:italic;font-size:1.2rem}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.recipe-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;padding:0;color:var(--cream);width:100%}
.recipe-card img{width:100%;height:150px;object-fit:cover}
.recipe-card .rc-body{padding:.9rem 1rem}
.recipe-card h4{font-family:var(--display);font-weight:400;margin:.1rem 0 .25rem;font-size:1.1rem}
.recipe-card p{color:var(--muted);font-size:.9rem;margin:0}
.cat-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.manager-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin:.7rem 0;display:grid;gap:.6rem}
.manager-row .mr-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.toggle{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.92rem}
.toggle input{width:19px;height:19px;accent-color:var(--gold)}
.mini-btn{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .9rem}
.mini-btn.danger{border-color:#a33;color:#e88}
.add-form{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.3rem;margin-top:1.4rem}
.add-form .os-fields{margin-top:0}
.preview-banner{position:sticky;top:0;z-index:5;background:var(--gold);color:#171106;border-radius:12px;padding:.7rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:500;margin-bottom:1.2rem}
.preview-banner button{background:#171106;color:var(--gold-soft);border:0;border-radius:999px;padding:.45rem 1rem}
.greyed{opacity:.55;pointer-events:none}

.recipe-hero{width:100%;height:min(48vh,440px);object-fit:cover;border-radius:0 0 16px 16px}
.recipe-body{max-width:820px;margin:0 auto;padding:1.4rem .2rem}
.recipe-meta{display:flex;gap:1.4rem;flex-wrap:wrap;color:var(--dim);margin:.6rem 0 1.2rem}
.recipe-meta strong{color:var(--gold-soft);font-family:var(--display);font-weight:400}
.recipe-body h3{color:var(--gold-soft);margin-top:1.8rem}
.recipe-body li{color:var(--muted);margin:.35rem 0}
.recipe-body ol li::marker{color:var(--gold)}
.tips-box{border:1px solid var(--gold);border-radius:14px;padding:1.1rem 1.3rem;background:var(--bg2);margin-top:1.6rem}
.tips-box h3{margin-top:.2rem;color:var(--gold)}
.notes-box{font-family:var(--serif);font-style:italic;font-size:1.12rem;color:var(--muted);border-left:3px solid var(--gold);padding:.4rem 0 .4rem 1rem;margin-top:1.6rem}
.recipe-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}

#toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--gold);color:var(--gold-soft);border-radius:999px;padding:.6rem 1.3rem;z-index:80}

@media (max-width:760px){
  .two-col,.chef-flex,.os-fields{grid-template-columns:1fr}
  .brand-name{font-size:2.15rem}
  .hero{min-height:76vh}
}
