/* ============ MEAL REGISTRY ============ */
/* Uses the site's design tokens from styles.css */

.reg-lede{max-width:640px;margin:0 auto;}

/* ---- Landing ---- */
.reg-landing{max-width:880px;margin:0 auto;text-align:center;}
.reg-landing .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;text-align:left;}
.reg-step{background:var(--card);border-radius:10px;padding:30px 26px;}
.reg-step .num{font-family:var(--display);font-size:2.2rem;color:var(--rust);font-weight:600;line-height:1;}
.reg-step h3{font-family:var(--display);font-weight:600;font-size:1.35rem;color:var(--olive);margin:12px 0 8px;}
.reg-step p{font-size:.97rem;}
.reg-landing .cta-row{margin-top:44px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.btn-primary{display:inline-block;background:var(--brown);color:var(--cream)!important;font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:.4px;padding:14px 38px;border-radius:30px;border:none;cursor:pointer;transition:background .3s ease,transform .3s ease;}
.btn-primary:hover{background:var(--olive);transform:translateY(-2px);}
.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.btn-ghost{display:inline-block;background:transparent;color:var(--brown)!important;font-family:var(--display);font-size:1.1rem;font-weight:600;letter-spacing:.4px;padding:13px 34px;border-radius:30px;border:1.5px solid var(--brown);cursor:pointer;transition:background .3s ease,color .3s ease;}
.btn-ghost:hover{background:var(--brown);color:var(--cream)!important;}
.btn-small{font-family:var(--display);font-weight:600;font-size:.98rem;padding:8px 20px;border-radius:24px;border:none;cursor:pointer;background:var(--brown);color:var(--cream);transition:background .3s ease;}
.btn-small:hover{background:var(--olive);}
.btn-small.ghost{background:transparent;border:1.5px solid var(--brown);color:var(--brown);}
.btn-small.ghost:hover{background:var(--brown);color:var(--cream);}

/* ---- Preview banner ---- */
.demo-banner{position:fixed;bottom:0;left:0;right:0;z-index:250;background:var(--rust);color:var(--cream);text-align:center;font-size:.92rem;padding:9px 16px;letter-spacing:.3px;box-shadow:0 -2px 12px rgba(40,30,22,.18);}

/* ---- Create form ---- */
.reg-form{max-width:820px;margin:0 auto;}
.reg-card{background:var(--card);border-radius:10px;padding:clamp(26px,4vw,40px);margin-bottom:30px;}
.reg-card h2{font-family:var(--display);font-weight:600;color:var(--olive);font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:6px;display:flex;align-items:baseline;gap:12px;}
.reg-card h2 .stepnum{color:var(--rust);font-size:1.1em;}
.reg-card .hint{font-size:.95rem;opacity:.8;font-style:italic;margin-bottom:18px;}
.field{margin-top:18px;}
.field label{display:block;font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--brown);margin-bottom:6px;letter-spacing:.3px;}
.field .opt{font-weight:400;font-style:italic;color:var(--rust);font-size:.9em;}
.field input,.field textarea{width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--cream);border:1px solid rgba(90,70,50,.25);border-radius:8px;padding:12px 14px;outline:none;transition:border .3s ease;}
.field input:focus,.field textarea:focus{border-color:var(--rust);}
.field textarea{min-height:80px;resize:vertical;}
.field .note{font-size:.86rem;opacity:.7;margin-top:5px;font-style:italic;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.field-row{grid-template-columns:1fr;}}

/* ---- Date strip ---- */
.date-strip-label{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--brown);margin-bottom:10px;}
.date-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin;}
.date-chip{flex:0 0 auto;background:var(--cream);border:1.5px solid rgba(90,70,50,.22);border-radius:12px;padding:10px 14px;text-align:center;cursor:pointer;user-select:none;transition:border .25s ease,background .25s ease,transform .25s ease;position:relative;min-width:74px;}
.date-chip .dow{font-family:var(--display);font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust);}
.date-chip .day{font-family:var(--display);font-size:1.35rem;font-weight:600;color:var(--ink);line-height:1.1;}
.date-chip .mon{font-size:.8rem;opacity:.75;}
.date-chip.selected{background:var(--olive);border-color:var(--olive);}
.date-chip.selected .dow{color:var(--cream-deep);}
.date-chip.selected .day,.date-chip.selected .mon{color:var(--cream);}
.date-chip .badge{position:absolute;top:-7px;right:-7px;background:var(--rust);color:var(--cream);font-size:.75rem;font-family:var(--display);font-weight:600;min-width:20px;height:20px;border-radius:10px;display:none;align-items:center;justify-content:center;padding:0 5px;}
.date-chip.has-items .badge{display:flex;}
.more-days{flex:0 0 auto;align-self:stretch;display:flex;align-items:center;}

/* ---- Menu picker ---- */
.picker-section{margin-top:26px;}
.picker-section h3{font-family:var(--display);font-weight:600;color:var(--olive);font-size:1.35rem;margin-bottom:4px;}
.picker-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid rgba(90,70,50,.13);}
.picker-item:last-child{border-bottom:none;}
.picker-item .info{flex:1;min-width:0;}
.picker-item .name{font-family:var(--display);font-weight:600;font-size:1.12rem;color:var(--ink);}
.picker-item .name .price{color:var(--rust);font-weight:600;margin-left:8px;}
.picker-item .desc{font-size:.88rem;opacity:.75;margin-top:2px;}
.stepper{display:flex;align-items:center;gap:0;border:1.5px solid rgba(90,70,50,.28);border-radius:24px;overflow:hidden;flex:0 0 auto;background:var(--cream);}
.stepper button{width:36px;height:36px;border:none;background:transparent;color:var(--brown);font-size:1.25rem;font-family:var(--display);cursor:pointer;line-height:1;transition:background .2s ease;}
.stepper button:hover{background:var(--cream-deep);}
.stepper .qty{width:30px;text-align:center;font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink);}
.picker-item.in-cart{background:linear-gradient(90deg,rgba(95,96,56,.07),transparent);border-radius:8px;padding-left:10px;padding-right:6px;margin:0 -10px 0;}

/* ---- Summary ---- */
.summary-empty{font-style:italic;opacity:.7;text-align:center;padding:18px 0;}
.sum-date{margin-top:18px;}
.sum-date:first-child{margin-top:0;}
.sum-date h4{font-family:var(--display);font-size:1.08rem;font-weight:600;color:var(--rust);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;}
.sum-line{display:flex;align-items:baseline;gap:8px;font-size:.98rem;padding:4px 0;}
.sum-line .n{flex:1;}
.sum-line .x{color:var(--rust);font-family:var(--display);font-weight:600;}
.sum-line .p{font-family:var(--display);font-weight:600;color:var(--olive);}
.sum-line .rm{background:none;border:none;color:var(--rust);cursor:pointer;font-size:1.05rem;padding:0 4px;opacity:.7;}
.sum-line .rm:hover{opacity:1;}
.sum-total{display:flex;justify-content:space-between;border-top:1px solid rgba(90,70,50,.2);margin-top:18px;padding-top:14px;font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--olive);}

/* ---- Links / success ---- */
.link-box{background:var(--cream);border:1.5px dashed rgba(90,70,50,.3);border-radius:10px;padding:16px 18px;margin-top:16px;text-align:left;}
.link-box .lbl{font-family:var(--display);font-weight:600;color:var(--brown);font-size:1rem;letter-spacing:.5px;}
.link-box .url{font-size:.9rem;word-break:break-all;opacity:.85;margin:6px 0 10px;}
.copied{color:var(--olive);font-family:var(--display);font-weight:600;margin-left:10px;}

/* ---- Registry (share/claim) view ---- */
.reg-head{text-align:center;max-width:680px;margin:0 auto;}
.reg-head .fam{font-family:var(--display);font-weight:500;color:var(--olive);font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;}
.reg-head .note{font-style:italic;margin-top:16px;font-size:1.08rem;}
.reg-progress{margin:30px auto 0;max-width:420px;}
.reg-progress .bar{height:8px;background:var(--cream-deep);border-radius:4px;overflow:hidden;}
.reg-progress .fill{height:100%;background:var(--olive);border-radius:4px;transition:width .5s ease;}
.reg-progress .txt{font-family:var(--display);font-weight:600;color:var(--brown);font-size:1rem;margin-top:8px;text-align:center;}
.day-group{max-width:760px;margin:0 auto;padding-top:34px;}
.day-group > h3{font-family:var(--display);font-weight:600;color:var(--olive);font-size:1.5rem;border-bottom:2px solid rgba(90,70,50,.15);padding-bottom:8px;display:flex;align-items:baseline;gap:12px;}
.day-group > h3 .rel{font-size:.95rem;color:var(--rust);font-weight:500;font-style:italic;letter-spacing:.5px;}
.slot{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(90,70,50,.1);}
.slot:last-child{border-bottom:none;}
.slot .info{flex:1;min-width:0;}
.slot .name{font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--ink);}
.slot .name .price{color:var(--rust);margin-left:8px;}
.slot .sub{font-size:.88rem;opacity:.75;margin-top:2px;}
.slot .remain{font-size:.9rem;color:var(--olive);font-family:var(--display);font-weight:600;}
.slot.claimed{opacity:.5;}
.slot.claimed .name{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(90,70,50,.5);}
.slot .claimed-by{font-family:var(--display);font-style:italic;color:var(--olive);font-size:.98rem;white-space:nowrap;}
.slot .rm-slot{background:none;border:1px solid rgba(138,90,60,.4);color:var(--rust);border-radius:16px;font-size:.8rem;padding:4px 12px;cursor:pointer;}
.slot .rm-slot:hover{background:var(--rust);color:var(--cream);border-color:var(--rust);}

/* ---- Modal ---- */
.modal-back{position:fixed;inset:0;background:rgba(40,30,22,.5);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;}
.modal-back.open{display:flex;}
.modal{background:var(--cream);border-radius:12px;max-width:460px;width:100%;padding:34px 30px;max-height:90vh;overflow:auto;}
.modal h3{font-family:var(--display);font-weight:600;color:var(--olive);font-size:1.6rem;margin-bottom:4px;}
.modal .what{font-style:italic;color:var(--rust);margin-bottom:14px;}
.modal .actions{display:flex;gap:12px;margin-top:22px;justify-content:flex-end;}

/* ---- Manage bits ---- */
.manage-band{max-width:760px;margin:0 auto 10px;background:var(--card);border-radius:10px;padding:20px 24px;}
.manage-band h4{font-family:var(--display);color:var(--olive);font-weight:600;font-size:1.2rem;margin-bottom:6px;}
.manage-band p{font-size:.92rem;}

/* ---- Dashboard ---- */
.dash-wrap{max-width:860px;margin:0 auto;}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;}
.dash-stat{background:var(--card);border-radius:10px;padding:22px;text-align:center;}
.dash-stat .v{font-family:var(--display);font-size:2.1rem;font-weight:600;color:var(--olive);}
.dash-stat .l{font-size:.9rem;letter-spacing:1px;text-transform:uppercase;color:var(--rust);font-family:var(--display);margin-top:4px;}
.dash-day{margin-top:30px;}
.dash-day h3{font-family:var(--display);font-weight:600;color:var(--olive);font-size:1.4rem;border-bottom:2px solid rgba(90,70,50,.15);padding-bottom:6px;margin-bottom:4px;display:flex;gap:12px;align-items:baseline;}
.dash-day h3 .rel{font-size:.9rem;color:var(--rust);font-style:italic;font-weight:500;}
.dash-row{display:flex;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid rgba(90,70,50,.1);flex-wrap:wrap;}
.dash-row .itm{font-family:var(--display);font-weight:600;font-size:1.08rem;color:var(--ink);}
.dash-row .fam{color:var(--olive);font-size:.95rem;}
.dash-row .by{font-style:italic;font-size:.92rem;opacity:.8;}
.dash-row .p{margin-left:auto;font-family:var(--display);font-weight:600;color:var(--rust);}
.dash-contact{font-size:.88rem;opacity:.8;}
.dash-empty{text-align:center;font-style:italic;opacity:.7;padding:40px 0;}
.dash-gate{max-width:420px;margin:0 auto;text-align:center;}

@media (max-width:760px){
  .reg-landing .steps{grid-template-columns:1fr;}
  .dash-stats{grid-template-columns:1fr;}
}
