/* Chef Daddy — Rewards & Account pages. Shares the brand palette + fonts with
   index.html but stands alone (these are separate Cloudflare Pages routes). */
:root{
  --red:#E24B4A; --red-dk:#b8302f; --gold:#FAC775; --ember:#f0992a;
  --char:#000; --cream:#F7F1E7; --cream2:#efe6d6; --ink:#211d1a; --muted:#7a716a;
  --line:rgba(0,0,0,.1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.display{font-family:'Alfa Slab One',serif;font-weight:400;line-height:1;letter-spacing:.3px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--red)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;padding:13px 22px;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:transform .12s ease,background .2s ease,border-color .2s ease;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 20px rgba(226,75,74,.3)}
.btn-red:hover{background:var(--red-dk)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn.full{width:100%}

/* header */
header{position:sticky;top:0;z-index:40;background:rgba(0,0,0,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:42px;width:auto}
.brand .nm{font-family:'Alfa Slab One',serif;color:var(--red);font-size:19px;line-height:1}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-right a{color:#e8dfd4;font-size:14px;font-weight:600}
.nav-right a:hover{color:var(--gold)}
.rewards-points-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gold);color:var(--gold);padding:7px 13px;border-radius:10px}
.rewards-points-chip b{font-family:'Alfa Slab One';font-weight:400}
.rewards-points-chip small{font-size:11px;opacity:.85}

/* generic section */
main{min-height:60vh}
.section{padding:48px 0}
.title{font-family:'Alfa Slab One',serif;font-size:clamp(28px,4vw,42px);line-height:1.02;margin:8px 0 12px}
.lead{color:var(--muted);font-size:16.5px;max-width:52ch}
.cluster{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---- rewards sign-in page ---- */
.rewards-shell{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;padding-top:56px}
.rewards-copy .benefit-list{margin-top:26px;display:grid;gap:12px}
.rewards-copy .benefit-list article{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.rewards-copy .benefit-list span{font-family:'Alfa Slab One';color:var(--red);font-size:14px}
.rewards-copy .benefit-list strong{font-weight:600;font-size:15px}
.rewards-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 34px rgba(40,25,15,.08);padding:30px 28px}
.rewards-status{border-radius:12px;padding:11px 15px;font-size:14px;margin-bottom:18px;font-weight:500}
.rewards-status[data-tone="error"]{background:#fdecec;color:#a11f1f}
.rewards-status[data-tone="success"]{background:#e9f7ec;color:#1f7a37}
.rewards-status[data-tone="info"]{background:var(--cream2);color:var(--ink)}
.rewards-form{display:none;flex-direction:column;gap:18px}
.rewards-form.active{display:flex}
.rewards-form h2{font-size:21px;font-weight:700}
.rewards-form p{color:var(--muted);font-size:14px;margin-top:4px}
.field-group{display:flex;flex-direction:column;gap:7px}
.field-group label{font-size:13px;font-weight:600;color:var(--ink)}
.field-group input{border:1.5px solid var(--line);border-radius:11px;padding:14px 15px;font-size:16px;font-family:inherit;background:var(--cream);transition:border-color .15s}
.field-group input:focus{outline:none;border-color:var(--red)}
.rewards-success{display:flex;flex-direction:column;gap:14px}
.rewards-success[hidden]{display:none}
.points-panel{display:flex;align-items:baseline;justify-content:space-between;gap:14px;background:var(--char);color:var(--cream);border-radius:14px;padding:18px 22px}
.points-panel span{font-size:13px;color:#cdbfae;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}
.points-panel strong{font-family:'Alfa Slab One';color:var(--gold);font-size:38px;line-height:1}

/* toast */
.rewards-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--char);color:var(--cream);padding:13px 20px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 12px 34px rgba(0,0,0,.3);opacity:0;transition:opacity .25s,transform .25s;z-index:80}
.rewards-toast.show{opacity:1;transform:translate(-50%,0)}

/* ---- account page ---- */
.account-hero{background:var(--char);color:var(--cream);padding:44px 0 34px}
.account-hero .eyebrow{color:var(--gold)}
.account-hero .title{color:#fff}
.account-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.account-hero .btn-ghost{color:var(--cream);border-color:rgba(255,255,255,.3)}
.account-hero .btn-ghost:hover{border-color:#fff}
.account-status{margin:18px 0 6px;font-size:14px;color:#cdbfae}
.account-status[hidden]{display:none}
.account-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.account-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px}
.account-stat span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:#a59a8d;font-weight:700;margin-bottom:6px}
.account-stat strong{font-family:'Alfa Slab One';font-size:26px;color:#fff}
.account-stat.points strong{color:var(--gold)}
.account-content{padding-top:36px}
.account-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px}
.account-tab{background:none;border:none;border-bottom:3px solid transparent;padding:10px 16px;font:inherit;font-weight:700;font-size:15px;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.account-tab.active{color:var(--red);border-bottom-color:var(--red)}
.account-panel[hidden]{display:none}
.account-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.account-panel-head h2{font-size:20px;font-weight:700}
.account-list{display:grid;gap:12px}
.account-loading,.account-error,.account-empty{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;color:var(--muted)}
.account-error{color:#a11f1f}
.account-empty{display:flex;flex-direction:column;gap:8px;align-items:center}
.account-empty strong{color:var(--ink);font-size:16px}
.account-order{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;cursor:pointer;transition:box-shadow .15s,transform .15s}
.account-order:hover{box-shadow:0 10px 26px rgba(40,25,15,.1);transform:translateY(-2px)}
.account-order-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.account-order-main span{font-size:12.5px;color:var(--muted)}
.account-order-main h3{font-size:16px;font-weight:700;margin:2px 0}
.account-order-main p{font-size:13px;color:var(--muted)}
.account-order-main strong{font-family:'Alfa Slab One';color:var(--red);font-size:18px}
.account-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.account-row span{font-size:12px;padding:4px 10px;border-radius:20px;background:var(--cream2);color:var(--ink);font-weight:600}
.chip-points.positive{background:#e9f7ec;color:#1f7a37}
.chip-points.negative{background:#fdecec;color:#a11f1f}
.account-ledger-event{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.ledger-delta{font-family:'Alfa Slab One';font-size:22px;min-width:64px}
.ledger-delta.positive{color:#1f7a37}
.ledger-delta.negative{color:#a11f1f}
.account-ledger-event h3{font-size:15px;font-weight:700}
.account-ledger-event p{font-size:13px;color:var(--muted)}
.account-more{margin-top:14px;text-align:center;color:var(--muted);font-size:13px;font-weight:600;padding:10px}
.account-more[hidden]{display:none}
.account-sentinel{height:1px}

/* order-detail modal */
.account-modal[hidden]{display:none}
.account-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.account-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.account-modal-card{position:relative;background:var(--cream);border-radius:18px;max-width:520px;width:100%;max-height:86vh;overflow:auto;padding:28px 26px}
.account-modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}
.account-modal-card h2{font-family:'Alfa Slab One';font-size:24px;margin:6px 0 12px}
.modal-items{list-style:none;margin:18px 0;display:grid;gap:12px}
.modal-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:12px}
.modal-item-qty{font-weight:700;color:var(--red)}
.modal-item strong{font-weight:600}
.modal-item small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.modal-item-notes{font-style:italic}
.modal-item-price{font-weight:700;font-family:'Alfa Slab One';font-size:14px}
.modal-totals{margin-top:8px;display:grid;gap:6px}
.modal-totals>div{display:flex;justify-content:space-between;font-size:14px}
.modal-totals .discount dd{color:#1f7a37}
.modal-totals .grand{font-family:'Alfa Slab One';font-size:18px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.modal-notes{margin-top:14px;color:var(--muted);font-size:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}

/* footer */
.site-footer{background:var(--char);color:#a59a8d;padding:30px 0;margin-top:40px;font-size:13.5px;text-align:center}

@media(max-width:820px){
  .rewards-shell{grid-template-columns:1fr;gap:28px;padding-top:34px}
  .account-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .account-summary{grid-template-columns:1fr}
  .nav-right a:not([data-rewards-nav]){display:none}
}
