:root {
  --cream:#F5F0E8; --cream-dark:#EDE5D5; --warm-white:#FAF7F2;
  --olive:#5C6B4A; --olive-dark:#3D4E30; --olive-light:#7A8F65; --olive-pale:#C8D5BC;
  --brown:#8B5E3C; --brown-dark:#5A3820; --brown-light:#B07848; --brown-pale:#E8D5C0;
  --blue:#7B9EC8; --text-dark:#2C2415; --text-mid:#5A4A30; --text-light:#8A7A60;
  --border:rgba(92,107,74,0.2); --error:#C0392B;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--text-dark);font-family:'Jost',sans-serif;font-weight:300;font-size:16px;overflow-x:hidden;}
.skip-nav{position:absolute;top:-100px;left:1rem;background:var(--brown);color:var(--warm-white);padding:.75rem 1.5rem;z-index:9999;text-decoration:none;border-radius:0 0 4px 4px;transition:top .3s;font-size:.9rem;}
.skip-nav:focus{top:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
*:focus-visible{outline:3px solid var(--brown-light);outline-offset:3px;border-radius:2px;}
/* NAV */
.top-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--olive-dark);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;border-bottom:2px solid var(--brown-light);}
.nav-brand{display:flex;flex-direction:column;gap:1px;text-decoration:none;}
.nav-brand-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--cream);letter-spacing:.05em;}
.nav-brand-tag{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-pale);}
.nav-tabs{display:flex;list-style:none;}
.nav-tab button{background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.6);padding:0 1.1rem;height:64px;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .3s;}
.nav-tab button:hover{color:var(--cream);}
.nav-tab button.active{color:var(--cream);border-bottom-color:var(--brown-light);}
.nav-right{display:flex;align-items:center;gap:.8rem;}
.nav-user{font-size:.78rem;color:var(--olive-pale);}
.nav-user span{color:var(--cream);}
.btn-nav-auth{background:none;border:1px solid rgba(200,170,130,.4);color:var(--cream);font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.45rem 1rem;cursor:pointer;transition:all .3s;min-height:36px;}
.btn-nav-auth:hover{background:var(--brown-light);border-color:var(--brown-light);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--cream);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* PAGES */
.page{display:none;min-height:100vh;padding-top:64px;}
.page.active{display:block;}
/* SHARED */
.section-label{font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brown);display:block;}
.page-hero{background:var(--olive-dark);padding:3.5rem 2rem 3rem;text-align:center;position:relative;overflow:hidden;}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:300;color:var(--cream);line-height:1.2;}
.page-hero h1 em{font-style:italic;color:var(--brown-light);}
.page-hero p{font-size:.92rem;color:rgba(245,240,232,.6);margin-top:.6rem;}
.inner{max-width:960px;margin:0 auto;padding:0 2rem;}
/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;background:var(--olive-dark);color:var(--cream);border:none;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:48px;}
.btn-primary:hover{background:var(--olive);}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;background:transparent;color:var(--olive-dark);border:1px solid var(--olive-dark);font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:48px;}
.btn-outline:hover{background:var(--olive-dark);color:var(--cream);}
.btn-brown{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;background:var(--brown);color:var(--warm-white);border:none;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:48px;}
.btn-brown:hover{background:var(--brown-dark);}
/* FORM */
.field{margin-bottom:1.2rem;}
.field label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mid);margin-bottom:.4rem;}
.field input,.field select,.field textarea{width:100%;background:var(--warm-white);border:1px solid var(--border);padding:.8rem 1rem;font-family:'Jost',sans-serif;font-size:.95rem;font-weight:300;color:var(--text-dark);outline:none;transition:border-color .3s;border-radius:0;appearance:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--olive);}
.field input::placeholder,.field textarea::placeholder{color:var(--text-light);}
/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,15,8,.75);z-index:300;align-items:center;justify-content:center;padding:1.5rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--warm-white);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;padding:2.5rem 2rem;position:relative;border-top:3px solid var(--brown);}
.modal-box h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--text-dark);margin-bottom:.4rem;}
.modal-box p{font-size:.88rem;color:var(--text-mid);margin-bottom:1.5rem;line-height:1.7;}
.modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-light);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;}
.modal-switch{text-align:center;margin-top:1.2rem;font-size:.85rem;color:var(--text-mid);}
.modal-switch button{color:var(--brown);background:none;border:none;cursor:pointer;font-size:.85rem;text-decoration:underline;}
.auth-error{display:none;background:#fdecea;border:1px solid #f5c6cb;color:var(--error);font-size:.82rem;padding:.6rem .8rem;margin-bottom:1rem;}
/* FRESH BANNER */
.fresh-banner{background:var(--cream-dark);border-top:1px solid rgba(92,107,74,.15);border-bottom:1px solid rgba(92,107,74,.15);padding:.8rem 2rem;display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;}
.fresh-pill{display:flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-dark);}
/* MEAL PAGE */
.meal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:calc(100vh - 64px);}
.meal-main{padding:2.5rem 2rem;background:var(--cream);min-width:0;}
.meal-main h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--text-dark);margin-bottom:.3rem;}
.meal-main h2 em{font-style:italic;color:var(--brown);}
.filter-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.4rem;align-items:flex-end;}
.filter-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);}
.filter-field{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:150px;max-width:260px;}
.filter-select{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;padding:.55rem 2.2rem .55rem .9rem;background:var(--warm-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238B5E3C' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .9rem center;border:1px solid rgba(92,107,74,.45);border-radius:0;color:var(--olive-dark);font-family:'Jost',sans-serif;font-size:.85rem;letter-spacing:.04em;cursor:pointer;}
.filter-select:focus{border-color:var(--olive);}
.filter-btn{padding:.42rem .9rem;background:transparent;border:1px solid var(--border);color:var(--text-mid);font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;min-height:34px;}
.filter-btn:hover{border-color:var(--olive);color:var(--olive-dark);}
.filter-btn.active{background:var(--olive-dark);color:var(--cream);border-color:var(--olive-dark);}
.filter-btn.region{border-color:rgba(92,107,74,.5);color:var(--olive);}
.filter-btn.region.active{background:var(--olive);color:var(--cream);border-color:var(--olive);box-shadow:0 8px 20px -10px rgba(92,107,74,.65);}
.meal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-top:1.5rem;}
.meal-card{background:var(--warm-white);border:1px solid rgba(92,107,74,.12);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;}
.meal-card:hover{transform:translateY(-3px);border-color:var(--olive-light);box-shadow:0 6px 24px rgba(61,78,48,.1);}
.meal-card.added{border-color:var(--olive);}
.meal-card-img{width:100%;height:120px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;}
.meal-card-img.eritrean{background:linear-gradient(135deg,#5C6B4A,#3D4E30);}
.meal-card-img.mediterranean{background:linear-gradient(135deg,#7B9EC8,#4A6E9A);}
.meal-card-img.american{background:linear-gradient(135deg,#B07848,#8B5E3C);}
.meal-card-img.asian{background:linear-gradient(135deg,#C8973A,#9A6E20);}
.meal-card-img.side{background:linear-gradient(135deg,#8FA37C,#5C6B4A);}
.meal-card-img.salad{background:linear-gradient(135deg,#7A8F65,#5C6B4A);}
.meal-card-body{padding:.9rem;}
.badge-row{display:flex;gap:.4rem;margin-bottom:.35rem;flex-wrap:wrap;}
.cat-badge{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brown);}
.region-badge{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-dark);background:rgba(92,107,74,.1);padding:.12rem .4rem;border-radius:2px;}
.meal-card h3{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--text-dark);margin-bottom:.22rem;line-height:1.25;}
.meal-card p{font-size:.76rem;color:var(--text-mid);line-height:1.6;margin-bottom:.6rem;}
.meal-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.6rem;}
.meal-pill{font-size:.58rem;padding:.12rem .4rem;background:rgba(92,107,74,.08);color:var(--text-mid);letter-spacing:.05em;border-radius:2px;}
.btn-detail{width:100%;padding:.45rem;background:rgba(92,107,74,.07);border:1px solid var(--border);color:var(--text-mid);font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-bottom:.35rem;min-height:36px;}
.btn-detail:hover{border-color:var(--olive-light);color:var(--olive-dark);}
.btn-add{width:100%;padding:.55rem;background:transparent;border:1px solid var(--olive-dark);color:var(--olive-dark);font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s;min-height:38px;}
.btn-add:hover,.btn-add.added{background:var(--olive-dark);color:var(--cream);}
.btn-add:disabled{opacity:.35;cursor:not-allowed;}
/* SIDEBAR */
.meal-sidebar{background:var(--olive-dark);padding:2rem 1.5rem;border-left:1px solid rgba(200,213,188,.1);position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;display:flex;flex-direction:column;}
.meal-sidebar h2{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;color:var(--cream);margin-bottom:.2rem;}
.cart-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:default;text-align:left;}
.cart-toggle-hint{display:none;}
.meal-sidebar>p{font-size:.76rem;color:rgba(245,240,232,.5);margin-bottom:1.3rem;line-height:1.6;}
.cart-slot{border:1px dashed rgba(200,213,188,.25);padding:.75rem;margin-bottom:.55rem;min-height:56px;display:flex;align-items:center;justify-content:space-between;transition:all .2s;}
.cart-slot.filled{border-style:solid;border-color:var(--olive-pale);background:rgba(200,213,188,.06);}
.cart-slot-label{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.35);}
.cart-slot.filled .cart-slot-label{color:var(--olive-pale);}
.cart-slot-name{font-size:.8rem;color:var(--cream);margin-top:.15rem;line-height:1.3;}
.cart-slot-remove{background:none;border:none;cursor:pointer;color:rgba(245,240,232,.3);min-height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;transition:color .2s;}
.cart-slot-remove:hover{color:var(--brown-light);}
.cart-bottom{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(200,213,188,.12);}
.cart-count{font-size:.76rem;color:rgba(245,240,232,.5);margin-bottom:.8rem;}
.cart-count span{color:var(--cream);font-size:.95rem;}
.btn-book{width:100%;padding:.95rem;background:var(--brown);color:var(--warm-white);border:none;font-family:'Jost',sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:50px;}
.btn-book:hover{background:var(--brown-dark);}
.btn-book:disabled{opacity:.4;cursor:not-allowed;}
.rate-badge{background:rgba(200,213,188,.06);border:1px solid rgba(200,213,188,.15);padding:.75rem;text-align:center;margin-top:.8rem;}
.rate-badge strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--brown-light);font-weight:400;}
.rate-badge span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.4);}
/* LOGIN GATE */
.login-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh;text-align:center;padding:3rem 2rem;background:var(--cream);}
.login-gate h2{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--text-dark);margin-bottom:.6rem;}
.login-gate h2 em{font-style:italic;color:var(--brown);}
.login-gate p{font-size:.93rem;color:var(--text-mid);margin-bottom:2rem;max-width:430px;line-height:1.8;}
.login-gate-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;}
/* SCHEDULE */
.sched-layout{max-width:720px;margin:0 auto;padding:3rem 2rem;}
.sched-steps{display:flex;margin-bottom:3rem;}
.sched-step{flex:1;text-align:center;position:relative;}
.sched-step::after{content:'';position:absolute;top:17px;left:55%;width:90%;height:1px;background:rgba(92,107,74,.2);}
.sched-step:last-child::after{display:none;}
.step-circle{width:34px;height:34px;border-radius:50%;border:2px solid rgba(92,107,74,.25);display:flex;align-items:center;justify-content:center;margin:0 auto .4rem;font-size:.75rem;color:var(--text-light);background:var(--warm-white);position:relative;z-index:1;transition:all .3s;}
.step-circle.active{border-color:var(--brown);color:var(--brown);background:rgba(139,94,60,.06);}
.step-circle.done{border-color:var(--olive);background:var(--olive);color:white;}
.step-label{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);}
.step-label.active{color:var(--brown);}
.sched-section{display:none;}
.sched-section.active{display:block;}
.sched-section h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--text-dark);margin-bottom:.4rem;}
.sched-section h2 em{font-style:italic;color:var(--brown);}
.sched-section>p{font-size:.9rem;color:var(--text-mid);margin-bottom:1.8rem;line-height:1.7;}
.pricing-card{background:var(--olive-dark);padding:1.8rem 2rem;margin-bottom:2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.pricing-rate strong{display:block;font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:var(--brown-light);font-weight:400;line-height:1;}
.pricing-rate span{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.5);}
.pricing-details p{font-size:.84rem;color:rgba(245,240,232,.7);line-height:1.8;}
.pricing-details strong{color:var(--cream);font-weight:400;}
.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.cal-nav h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--text-dark);}
.cal-nav button{background:none;border:1px solid var(--border);padding:.4rem .8rem;cursor:pointer;color:var(--text-mid);transition:all .2s;min-height:34px;min-width:34px;}
.cal-nav button:hover{border-color:var(--olive);color:var(--olive-dark);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:1.5rem;}
.cal-header{text-align:center;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);padding:.35rem;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid rgba(92,107,74,.1);font-size:.8rem;color:var(--text-mid);cursor:pointer;transition:all .2s;background:var(--warm-white);min-height:38px;}
.cal-day:hover{border-color:var(--olive);color:var(--olive-dark);}
.cal-day.selected{background:var(--olive-dark);color:var(--cream);border-color:var(--olive-dark);}
.cal-day.disabled{opacity:.3;cursor:not-allowed;pointer-events:none;}
.cal-day.pulse{animation:calPulse 0.8s ease 3;border-color:var(--brown);}
@keyframes calPulse{0%,100%{box-shadow:0 0 0 0 rgba(139,94,60,0)}50%{box-shadow:0 0 0 4px rgba(139,94,60,.25)}}
.cal-day.empty{border:none;background:transparent;cursor:default;}
.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.45rem;margin-bottom:1.5rem;}
.time-slot{padding:.65rem;border:1px solid var(--border);text-align:center;cursor:pointer;font-size:.8rem;color:var(--text-mid);transition:all .2s;background:var(--warm-white);min-height:42px;display:flex;align-items:center;justify-content:center;}
.time-slot:hover{border-color:var(--olive);color:var(--olive-dark);}
.time-slot.selected{background:var(--olive-dark);color:var(--cream);border-color:var(--olive-dark);}
.summary-card{background:var(--warm-white);border:1px solid var(--border);border-top:3px solid var(--brown);padding:2rem;margin-bottom:1.5rem;}
.summary-card h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--text-dark);font-weight:400;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);}
.sum-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(92,107,74,.06);font-size:.86rem;}
.sum-label{color:var(--text-light);}
.sum-value{color:var(--text-dark);text-align:right;font-weight:400;}
.sum-total{display:flex;justify-content:space-between;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--border);}
.sum-total span:first-child{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);}
.sum-total span:last-child{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--brown);font-weight:400;}
.grocery-note{background:rgba(92,107,74,.06);border-left:3px solid var(--olive);padding:1rem 1.2rem;font-size:.84rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.5rem;}
.cancel-note{font-size:.78rem;color:var(--text-light);margin-bottom:1.5rem;line-height:1.65;}
.booking-success{text-align:center;padding:2rem 0 2.5rem;}
.booking-success-icon{font-size:3rem;margin-bottom:1rem;}
.booking-success h2{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--text-dark);margin-bottom:.8rem;}
.booking-success h2 em{font-style:italic;color:var(--brown);}
.booking-success p{font-size:.9rem;color:var(--text-mid);line-height:1.8;max-width:460px;margin:0 auto 2rem;}
.grocery-card{background:var(--warm-white);border:1px solid var(--border);border-top:3px solid var(--olive);padding:2rem;margin-bottom:1.5rem;}
.grocery-card-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;}
.grocery-brand{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);margin-bottom:.2rem;}
.grocery-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;color:var(--text-dark);}
.grocery-session{font-size:.76rem;color:var(--text-light);margin-top:.2rem;}
.grocery-btn-row{display:flex;gap:.6rem;}
.grocery-intro{background:rgba(92,107,74,.05);border-left:3px solid var(--olive);padding:.75rem 1rem;font-size:.8rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.4rem;}
.g-cat{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;padding-bottom:.3rem;border-bottom:1px solid rgba(92,107,74,.12);margin-bottom:.45rem;margin-top:.9rem;}
.g-item{display:flex;align-items:flex-start;gap:.55rem;padding:.4rem 0;border-bottom:1px solid rgba(92,107,74,.06);font-size:.83rem;color:var(--text-dark);}
.g-check{color:var(--olive);flex-shrink:0;margin-top:1px;}
.g-already{font-size:.7rem;color:var(--brown);margin-left:auto;white-space:nowrap;}
/* SHOP */
.shop-strip{background:var(--brown-dark);padding:.65rem 2rem;text-align:center;}
.shop-strip p{font-size:.76rem;letter-spacing:.08em;color:rgba(245,240,232,.7);}
.shop-strip span{color:var(--brown-light);font-weight:500;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:1.4rem;padding:2.5rem 2rem;max-width:960px;margin:0 auto;}
.product-card{background:var(--warm-white);border:1px solid rgba(92,107,74,.12);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;}
.product-card:hover{transform:translateY(-4px);border-color:var(--olive-light);box-shadow:0 8px 30px rgba(61,78,48,.1);}
.product-img{width:100%;height:170px;object-fit:cover;display:block;}
.product-img-ph{width:100%;height:170px;background:var(--cream-dark);border-bottom:1px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;}
.product-body{padding:1.4rem;}
.product-tag{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);margin-bottom:.4rem;display:block;}
.product-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--text-dark);margin-bottom:.45rem;line-height:1.2;}
.product-desc{font-size:.8rem;line-height:1.75;color:var(--text-mid);margin-bottom:1rem;}
.size-options{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem;}
.size-opt{display:flex;justify-content:space-between;padding:.5rem .75rem;border:1px solid var(--border);cursor:pointer;font-size:.8rem;color:var(--text-mid);transition:all .2s;}
.size-opt:hover,.size-opt.selected{border-color:var(--olive);background:rgba(92,107,74,.05);color:var(--olive-dark);}
.size-price{color:var(--brown);font-size:.76rem;}
.product-note{font-size:.7rem;color:var(--text-light);font-style:italic;margin-bottom:.85rem;line-height:1.6;}
.btn-reserve{width:100%;padding:.75rem;background:transparent;border:1px solid var(--olive-dark);color:var(--olive-dark);font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:42px;}
.btn-reserve:hover{background:var(--olive-dark);color:var(--cream);}
.shop-notice{max-width:640px;margin:0 auto 3rem;padding:0 2rem;}
.shop-notice p{font-size:.83rem;color:var(--text-mid);line-height:1.8;border:1px solid var(--border);padding:1.1rem 1.4rem;background:var(--warm-white);}
.shop-notice strong{color:var(--olive-dark);}
/* MAGNET */
.magnet-preview{width:100%;aspect-ratio:1.7/1;background:linear-gradient(135deg,var(--cream),var(--cream-dark),#E8D5C0);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;position:relative;border-bottom:1px solid rgba(139,94,60,.2);}
.magnet-corner{position:absolute;font-size:1rem;opacity:.18;}
.magnet-corner.tl{top:5px;left:7px;transform:rotate(-20deg);}
.magnet-corner.tr{top:5px;right:7px;transform:rotate(20deg);}
.magnet-corner.bl{bottom:5px;left:7px;transform:rotate(15deg);}
.magnet-corner.br{bottom:5px;right:7px;transform:rotate(-15deg);}
.magnet-border{position:absolute;inset:5px;border:1px solid rgba(139,94,60,.28);pointer-events:none;}
.magnet-brand{font-family:'Cormorant Garamond',serif;font-size:.6rem;font-style:italic;color:var(--brown);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.2rem;}
.magnet-title-text{font-family:'Cormorant Garamond',serif;font-size:.85rem;font-weight:600;color:var(--text-dark);text-align:center;margin-bottom:.25rem;line-height:1.2;}
.magnet-rule{width:34px;height:1px;background:var(--brown);margin:.2rem auto;}
.magnet-ingr{font-size:.54rem;color:var(--text-mid);text-align:center;line-height:1.6;}
/* MEAL DETAIL MODAL */
.meal-modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,15,8,.7);z-index:300;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;}
.meal-modal-overlay.open{display:flex;}
.meal-modal{background:var(--warm-white);width:100%;max-width:600px;margin:auto;border-top:3px solid var(--brown);}
.meal-modal-hdr{background:var(--olive-dark);padding:1.7rem 2rem;display:flex;align-items:center;gap:1rem;position:relative;}
.meal-modal-emoji{font-size:2rem;flex-shrink:0;}
.meal-modal-hdr h2{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--cream);line-height:1.2;}
.meal-modal-hdr p{font-size:.76rem;color:rgba(245,240,232,.5);margin-top:.2rem;}
.meal-modal-close{position:absolute;top:.8rem;right:.8rem;background:none;border:none;color:rgba(245,240,232,.5);font-size:1.1rem;cursor:pointer;min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;}
.meal-modal-close:hover{color:var(--cream);}
.meal-modal-body{padding:1.4rem 2rem 2rem;}
.meal-modal-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.4rem;}
.meal-modal-tab{padding:.62rem 1.1rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;background:none;color:var(--text-light);border-bottom:2px solid transparent;transition:all .2s;min-height:40px;}
.meal-modal-tab.active{color:var(--brown);border-bottom-color:var(--brown);}
.meal-tab-pane{display:none;}
.meal-tab-pane.active{display:block;}
.ingredient-grid{display:grid;grid-template-columns:1fr 1fr;gap:.28rem;list-style:none;}
.ingredient-grid li{display:flex;align-items:center;gap:.4rem;font-size:.83rem;color:var(--text-dark);padding:.38rem 0;border-bottom:1px solid rgba(92,107,74,.07);}
.ingredient-grid li::before{content:"🌿";font-size:.68rem;flex-shrink:0;}
.benefit-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.2rem;}
.benefit-stat{background:var(--cream);border-top:2px solid var(--brown);padding:.7rem;text-align:center;}
.benefit-stat-val{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--text-dark);display:block;}
.benefit-stat-lbl{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-top:.1rem;display:block;}
.benefit-block{margin-bottom:.75rem;padding:.75rem 1rem;background:var(--cream);border-left:3px solid var(--olive);}
.benefit-block-title{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--olive-dark);margin-bottom:.22rem;}
.benefit-block p{font-size:.81rem;color:var(--text-mid);line-height:1.6;}
.meal-modal-actions{display:flex;gap:.75rem;margin-top:1.4rem;}
/* AI */
.ai-fab{position:fixed;bottom:2rem;right:2rem;width:52px;height:52px;border-radius:50%;background:var(--olive-dark);border:2px solid var(--olive-pale);color:var(--cream);font-size:1.2rem;cursor:pointer;z-index:250;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.2);transition:all .3s;}
.ai-fab:hover{background:var(--brown);border-color:var(--brown-light);transform:scale(1.05);}
.ai-panel{position:fixed;bottom:5.2rem;right:2rem;width:345px;max-width:calc(100vw - 2rem);background:var(--warm-white);border:1px solid var(--border);border-top:3px solid var(--brown);box-shadow:0 8px 40px rgba(0,0,0,.15);z-index:250;display:none;flex-direction:column;overflow:hidden;max-height:490px;}
.ai-panel.open{display:flex;}
.ai-panel-hdr{background:var(--olive-dark);padding:.85rem 1.2rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.ai-panel-hdr h3{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:var(--cream);}
.ai-panel-hdr p{font-size:.66rem;color:rgba(245,240,232,.5);}
.ai-close{background:none;border:none;color:rgba(245,240,232,.5);cursor:pointer;font-size:.9rem;min-height:32px;min-width:32px;}
.ai-msgs{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.65rem;min-height:130px;}
.ai-msg{max-width:87%;padding:.62rem .85rem;font-size:.82rem;line-height:1.6;}
.ai-msg.assistant{background:var(--cream);color:var(--text-dark);align-self:flex-start;border-left:2px solid var(--olive);}
.ai-msg.user{background:var(--olive-dark);color:var(--cream);align-self:flex-end;}
.ai-msg.loading{background:var(--cream);color:var(--text-light);align-self:flex-start;font-style:italic;border-left:2px solid var(--border);}
.ai-quick-btns{padding:0 .9rem .55rem;display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0;}
.ai-quick{padding:.28rem .6rem;background:none;border:1px solid var(--border);color:var(--text-mid);font-family:'Jost',sans-serif;font-size:.66rem;cursor:pointer;transition:all .2s;}
.ai-quick:hover{border-color:var(--olive);color:var(--olive-dark);}
.ai-input-row{display:flex;border-top:1px solid var(--border);flex-shrink:0;}
.ai-input{flex:1;border:none;padding:.72rem 1rem;font-family:'Jost',sans-serif;font-size:.84rem;color:var(--text-dark);background:var(--warm-white);outline:none;}
.ai-send{padding:.72rem 1rem;background:var(--olive-dark);border:none;color:var(--cream);font-size:.84rem;cursor:pointer;transition:background .2s;min-width:44px;}
.ai-send:hover{background:var(--brown);}
/* ORGANIC CARD POLISH */
.car-card,.meal-card,.product-card{border-radius:3px;}
.car-card{transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease,border-color .4s ease;}
.car-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px -20px rgba(61,78,48,.42);border-color:var(--olive-light);}
.car-card.active{box-shadow:0 18px 44px -18px rgba(139,94,60,.45);}
.car-photo{transition:transform .8s cubic-bezier(.2,.7,.3,1);}
@media(hover:hover){.car-card:hover .car-photo{transform:scale(1.045);}}
.meal-card{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease;}
.meal-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px -18px rgba(61,78,48,.34);}
.product-card{transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease;}
.product-card:hover{box-shadow:0 16px 40px -20px rgba(61,78,48,.36);}
/* soft warm halo behind the open ingredients panel */
.ci-inner{box-shadow:0 20px 56px -34px rgba(139,94,60,.5);}
/* buttons settle rather than jump */
.btn-primary,.btn-outline,.btn-brown,.btn-reserve,.car-btn{transition:all .3s cubic-bezier(.2,.7,.3,1);}
.btn-primary:hover,.btn-brown:hover{box-shadow:0 12px 28px -14px rgba(61,78,48,.55);}
.btn-reserve:hover{box-shadow:0 12px 28px -16px rgba(61,78,48,.5);}
/* dish tag chips a touch softer */
.meal-pill{border:1px solid rgba(92,107,74,.14);}

/* TESTIMONIALS */
.testimonials{background:var(--olive-dark);padding:3.2rem 0 2.6rem;overflow:hidden;}
.testimonials-hdr{text-align:center;margin-bottom:1.6rem;padding:0 1.5rem;}
.testimonials-hdr .section-label{color:var(--olive-pale);}
.testimonials-hdr h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:300;color:var(--cream);line-height:1.2;margin-top:.3rem;}
.testimonials-hdr h2 em{font-style:italic;color:var(--brown-light);}
.ticker-wrap{overflow:hidden;position:relative;}
.ticker-wrap::before,.ticker-wrap::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;}
.ticker-wrap::before{left:0;background:linear-gradient(to right,var(--olive-dark),transparent);}
.ticker-wrap::after{right:0;background:linear-gradient(to left,var(--olive-dark),transparent);}
.ticker-track{display:flex;gap:1rem;width:max-content;animation:ticker 52s linear infinite;padding:.35rem 0;}
.ticker-track:hover{animation-play-state:paused;}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.t-card{background:rgba(245,240,232,.05);border:1px solid rgba(200,213,188,.16);border-radius:3px;padding:1.3rem 1.5rem;width:300px;flex-shrink:0;transition:border-color .35s ease,background .35s ease,transform .35s cubic-bezier(.2,.7,.3,1);}
.t-card:hover{border-color:var(--olive-pale);background:rgba(245,240,232,.08);transform:translateY(-3px);}
.t-stars{color:var(--brown-light);font-size:.78rem;margin-bottom:.5rem;letter-spacing:.1em;}
.t-text{font-family:'Cormorant Garamond',serif;font-size:.98rem;font-style:italic;color:rgba(245,240,232,.84);line-height:1.65;margin-bottom:.9rem;}
.t-author{display:flex;align-items:center;gap:.55rem;}
.t-avatar{width:30px;height:30px;border-radius:50%;background:var(--brown);display:flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:500;color:var(--warm-white);flex-shrink:0;}
.t-name{font-size:.74rem;font-weight:500;color:var(--olive-pale);}
.t-detail{font-size:.63rem;color:rgba(245,240,232,.38);margin-top:.08rem;}
@media(max-width:768px){.t-card{width:255px;padding:1.1rem 1.2rem;}.testimonials{padding:2.6rem 0 2.2rem;}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;}}

/* OLIVE ACCENT LAYER */
.section-label{position:relative;padding-left:1.6rem;}
.section-label::before{content:'';position:absolute;left:0;top:50%;width:1.1rem;height:1px;background:linear-gradient(90deg,var(--olive),rgba(92,107,74,.25));}
.testimonials-hdr .section-label,.how-head .section-label,.shop-header .section-label{padding-left:0;}
.testimonials-hdr .section-label::before,.how-head .section-label::before,.shop-header .section-label::before{display:none;}

/* olive hairline between major sections */
.olive-rule{height:1px;max-width:960px;margin:0 auto;background:linear-gradient(90deg,transparent,rgba(92,107,74,.4),transparent);}

/* cards pick up an olive edge as they lift */
.car-card:hover,.meal-card:hover,.product-card:hover{border-color:var(--olive-light);}
.car-card.active{border-color:var(--olive);}
.how-step:hover{border-color:var(--olive);}

/* olive left-rules on panels */
.ci-inner{border-top:3px solid var(--olive);}
.ci-label,.si-label{color:var(--olive-dark);border-bottom-color:rgba(92,107,74,.22);}
.gd-cat,.g-cat{border-bottom-color:rgba(92,107,74,.2);}

/* olive ticks and markers */
.ci-ing li::before,.ingredient-grid li::before{opacity:.85;}
.benefit-stat,.ci-stat{border-top-color:var(--olive);}
.cart-rate-badge,.rate-badge{border-color:rgba(200,213,188,.28);}

/* buttons: olive is the primary voice, brown the accent */
.btn-primary{background:var(--olive-dark);}
.btn-primary:hover{background:var(--olive);box-shadow:0 12px 28px -14px rgba(92,107,74,.65);}
.btn-add:hover,.btn-add.added{background:var(--olive-dark);border-color:var(--olive-dark);}
.btn-reserve:hover{background:var(--olive-dark);border-color:var(--olive-dark);}
.size-opt:hover,.size-opt.selected{border-color:var(--olive);background:rgba(92,107,74,.07);color:var(--olive-dark);}
.time-slot.selected,.cal-day.selected{background:var(--olive-dark);border-color:var(--olive-dark);}
.filter-btn.active{background:var(--olive-dark);border-color:var(--olive-dark);box-shadow:0 8px 20px -10px rgba(92,107,74,.6);}

/* fresh banner leans olive */
.fresh-banner{background:linear-gradient(180deg,rgba(92,107,74,.07),rgba(92,107,74,.03));border-top-color:rgba(92,107,74,.2);border-bottom-color:rgba(92,107,74,.2);}
.fresh-pill{color:var(--olive-dark);}

/* HOW IT WORKS */
.how{background:var(--cream-dark);border-top:1px solid rgba(92,107,74,.14);border-bottom:1px solid rgba(92,107,74,.14);padding:4rem 2rem;}
.how-inner{max-width:960px;margin:0 auto;}
.how-head{text-align:center;margin-bottom:2.6rem;}
.how-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:300;color:var(--text-dark);line-height:1.2;}
.how-head h2 em{font-style:italic;color:var(--brown);}
.how-head p{font-size:.9rem;color:var(--text-mid);margin-top:.6rem;line-height:1.7;max-width:520px;margin-left:auto;margin-right:auto;}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.how-step{background:var(--warm-white);border:1px solid rgba(92,107,74,.14);border-radius:3px;padding:1.8rem 1.6rem;position:relative;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.how-step:hover{transform:translateY(-4px);border-color:var(--olive-light);box-shadow:0 14px 36px -18px rgba(61,78,48,.38);}
.how-num{font-family:'Cormorant Garamond',serif;font-size:3.2rem;line-height:1;color:rgba(139,94,60,.16);transition:color .35s ease;}
.how-step:hover .how-num{color:rgba(139,94,60,.32);}
.how-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(92,107,74,.3);background:rgba(92,107,74,.07);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin:.9rem 0 1rem;}
.how-step h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--text-dark);margin-bottom:.5rem;}
.how-step p{font-size:.86rem;color:var(--text-mid);line-height:1.75;}
@media(max-width:768px){.how{padding:3rem 1.4rem;}.how-grid{grid-template-columns:1fr;gap:1rem;}.how-step{padding:1.5rem 1.3rem;}}

/* FOOTER */
footer{background:var(--olive-dark);border-top:3px solid var(--brown);padding:2rem;text-align:center;}
footer p{font-size:.76rem;color:rgba(245,240,232,.4);letter-spacing:.06em;line-height:2;}
footer span{color:var(--brown-light);}
footer a{color:var(--brown-light);text-decoration:none;}
footer a:hover{text-decoration:underline;}

/* ═══ FLYER HERO ═══ */
.flyer-hero{background:var(--cream);padding:2.5rem 1.5rem 3rem;}
.flyer-frame{max-width:760px;margin:0 auto;background:var(--warm-white);border:1px solid rgba(143,163,124,.45);position:relative;padding:3rem 2.5rem 2.75rem;box-shadow:0 2px 24px rgba(61,78,48,.06);}
.flyer-frame::before{content:'';position:absolute;inset:7px;border:1px solid rgba(143,163,124,.28);pointer-events:none;}
.corner{position:absolute;width:78px;height:78px;pointer-events:none;}
.c-tl{top:6px;left:6px;}
.c-tr{top:6px;right:6px;}
.c-bl{bottom:6px;left:6px;}
.c-br{bottom:6px;right:6px;}
.flyer-inner{position:relative;text-align:center;}
.flyer-eyebrow{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,2.4vw,1.35rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);}
.flyer-divider{display:flex;align-items:center;justify-content:center;gap:.7rem;margin:.7rem auto;max-width:270px;}
.flyer-divider.wide{max-width:420px;margin:1.4rem auto 1rem;}
.fd-line{flex:1;height:1px;background:rgba(143,163,124,.45);}
.fd-leaf{color:#8FA37C;font-size:.8rem;}
.flyer-name{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,7.5vw,4.5rem);font-weight:400;color:var(--brown);line-height:1.05;letter-spacing:.01em;}
.flyer-tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(1.05rem,2.6vw,1.5rem);font-style:italic;color:var(--olive);margin-top:.15rem;}
.flyer-art{margin:1.2rem auto .4rem;max-width:470px;}
.flax-art{width:100%;height:auto;display:block;}
.flyer-rate{font-family:'Jost',sans-serif;font-size:clamp(1.9rem,6vw,3rem);font-weight:500;color:var(--olive-dark);letter-spacing:.01em;line-height:1.1;}
.flyer-rate-sub{font-family:'Jost',sans-serif;font-size:clamp(.78rem,1.9vw,.95rem);font-weight:500;letter-spacing:.14em;color:var(--olive-dark);margin-top:.35rem;}
.flyer-rate-sub2{font-family:'Jost',sans-serif;font-size:clamp(.85rem,2vw,1rem);font-weight:500;color:var(--olive-dark);margin-top:.15rem;}
.flyer-fresh{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,2.2vw,1.2rem);color:var(--olive);margin-top:1rem;}
.flyer-cta-row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem;padding-top:1.5rem;border-top:1px dotted rgba(143,163,124,.5);}
@media(max-width:600px){
  .flyer-frame{padding:2.25rem 1.4rem 2rem;}
  .corner{width:52px;height:52px;}
  .flyer-cta-row{flex-direction:column;}
  .flyer-cta-row .btn-brown,.flyer-cta-row .btn-outline{width:100%;}
}

/* AUTH EXTRAS */
.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.2rem;}
.auth-tab{flex:1;padding:.6rem .5rem;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-light);cursor:pointer;transition:all .2s;min-height:42px;}
.auth-tab.active{color:var(--brown);border-bottom-color:var(--brown);}
.auth-divider{display:flex;align-items:center;gap:.7rem;margin:1.3rem 0 1rem;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-divider span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-light);}
.g-btn{display:flex;justify-content:center;min-height:44px;}
.hint{font-size:.62rem;letter-spacing:.05em;text-transform:none;color:var(--text-light);}
.link-btn{background:none;border:none;padding:0;color:var(--brown);font-family:'Jost',sans-serif;font-size:.8rem;text-decoration:underline;cursor:pointer;}
.auth-error .link-btn{color:var(--error);font-weight:400;}
#reset-question{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic;margin-bottom:1.2rem;}

/* CONSULTATION NUDGE */
.consult-nudge{font-size:.72rem;color:rgba(245,240,232,.55);line-height:1.6;margin-top:.75rem;text-align:center;}
.consult-link{background:none;border:none;padding:0;color:var(--olive-pale);font-family:'Jost',sans-serif;font-size:.72rem;text-decoration:underline;cursor:pointer;}
.consult-link:hover{color:var(--cream);}
.consult-callout{display:flex;gap:1rem;align-items:flex-start;background:var(--warm-white);border:1px solid var(--border);border-left:3px solid var(--brown);padding:1.1rem 1.3rem;margin-bottom:1.6rem;}
.consult-callout-icon{font-size:1.4rem;flex-shrink:0;line-height:1.2;}
.consult-callout strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--text-dark);margin-bottom:.2rem;}
.consult-callout p{font-size:.84rem;color:var(--text-mid);line-height:1.65;margin:0;}
.consult-callout em{font-style:normal;font-weight:500;color:var(--brown);}

/* MEAL PHOTOS */
.meal-card-photo{width:100%;height:120px;object-fit:cover;display:block;}
.meal-modal-photo{width:100%;height:190px;object-fit:cover;display:block;}

/* FEATURED DISHES CAROUSEL */
.carousel{margin-bottom:2.2rem;}
.car-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.9rem;}
.car-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--text-dark);line-height:1.1;}
.car-title em{font-style:italic;color:var(--brown);}
.car-nav{display:flex;gap:.5rem;flex-shrink:0;}
.car-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid var(--brown);background:var(--warm-white);color:var(--brown);font-family:'Jost',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .2s;min-height:42px;box-shadow:0 2px 10px rgba(61,78,48,.07);}
.car-btn span{font-size:.75rem;line-height:1;}
.car-btn:hover{background:var(--brown);color:var(--warm-white);}
.car-btn:active{transform:scale(.96);}
.car-btn:disabled{opacity:.32;cursor:not-allowed;background:var(--warm-white);color:var(--brown);border-color:var(--border);}

/* Stepper inside the open ingredients panel */
.ci-stepper{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-top:1.2rem;padding-top:1rem;border-top:1px dotted rgba(139,94,60,.35);}
.ci-step{display:inline-flex;align-items:center;gap:.45rem;background:none;border:none;padding:.4rem .2rem;color:var(--brown);font-family:'Jost',sans-serif;font-size:.74rem;cursor:pointer;transition:opacity .2s;min-height:40px;text-align:left;}
.ci-step:hover{text-decoration:underline;}
.ci-step small{display:block;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light);margin-bottom:.1rem;}
.ci-step.right{text-align:right;margin-left:auto;}
.ci-step em{font-style:normal;font-family:'Cormorant Garamond',serif;font-size:.95rem;color:var(--text-dark);}
.car-viewport{overflow:hidden;padding-bottom:.5rem;position:relative;touch-action:pan-y;}
.car-viewport::before,.car-viewport::after{content:'';position:absolute;top:0;bottom:.5rem;width:70px;z-index:2;pointer-events:none;}
.car-viewport::before{left:0;background:linear-gradient(to right,var(--cream),transparent);}
.car-viewport::after{right:0;background:linear-gradient(to left,var(--cream),transparent);}
.car-arrow{display:none;}
.car-track{display:flex;gap:1rem;width:max-content;will-change:transform;}
.car-card{flex:0 0 auto;width:210px;background:var(--warm-white);border:1px solid rgba(92,107,74,.15);cursor:pointer;overflow:hidden;padding:0;text-align:left;font-family:'Jost',sans-serif;transition:transform .25s,border-color .25s,box-shadow .25s;}
.car-card:hover{transform:translateY(-4px);border-color:var(--brown-light);box-shadow:0 8px 24px rgba(61,78,48,.13);}
.car-card.active{border-color:var(--brown);border-width:2px;box-shadow:0 8px 24px rgba(139,94,60,.2);}
.car-photo{width:100%;height:auto;aspect-ratio:400/518;object-fit:cover;display:block;background:var(--cream-dark);}
.car-body{padding:.65rem .75rem .8rem;}
.car-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:var(--text-dark);line-height:1.22;margin-bottom:.22rem;}
.car-meta{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);}
.car-cue{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);margin-top:.35rem;}
.car-dots{display:flex;justify-content:center;gap:.4rem;margin:.7rem 0 0;}
.car-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:rgba(92,107,74,.25);cursor:pointer;transition:all .2s;}
.car-dot.active{background:var(--brown);transform:scale(1.35);}

/* Info panel */
.car-info{overflow:hidden;max-height:0;transition:max-height .45s ease;}
.car-info.open{max-height:1600px;}
.ci-inner{background:var(--warm-white);border:1px solid var(--border);border-top:3px solid var(--brown);padding:1.4rem 1.6rem;margin-top:1rem;}
.ci-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem;}
.ci-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--text-dark);line-height:1.15;}
.ci-sub{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);margin-top:.2rem;}
.ci-close{background:none;border:none;color:var(--text-light);font-size:1rem;cursor:pointer;min-height:36px;min-width:36px;flex-shrink:0;}
.ci-close:hover{color:var(--brown);}
.ci-desc{font-size:.87rem;color:var(--text-mid);line-height:1.75;margin-bottom:1.1rem;}
.ci-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1.1rem;}
.ci-stat{background:var(--cream);border-top:2px solid var(--brown);padding:.55rem;text-align:center;}
.ci-stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--text-dark);line-height:1.2;}
.ci-stat span{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);}
.ci-label{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-dark);padding-bottom:.35rem;border-bottom:1px solid var(--border);margin-bottom:.65rem;}
.ci-ing{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .9rem;list-style:none;margin-bottom:1.2rem;}
.ci-ing li{display:flex;align-items:flex-start;gap:.45rem;font-size:.84rem;color:var(--text-dark);padding:.3rem 0;border-bottom:1px solid rgba(92,107,74,.06);line-height:1.45;}
.ci-ing li::before{content:"\1F33F";font-size:.62rem;flex-shrink:0;margin-top:3px;}
.ci-ing li.divider{grid-column:1/-1;border:none;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brown);padding-top:.6rem;}
.ci-ing li.divider::before{content:"";}
.ci-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
@media(max-width:768px){
  /* Carousel */
  .car-head{flex-direction:column;align-items:stretch;gap:.7rem;}
  .car-title{font-size:1.35rem;}
  .car-nav{justify-content:space-between;}
  .car-btn{flex:1;justify-content:center;padding:.6rem .8rem;font-size:.68rem;}
  .car-nav{display:none;}
  .car-card{width:56vw;max-width:220px;}
  .car-viewport::before,.car-viewport::after{width:48px;}
  .car-arrow{display:flex;align-items:center;justify-content:center;position:absolute;top:calc(min(56vw,220px) * .6475);transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--brown);background:var(--warm-white);color:var(--brown);font-size:.95rem;cursor:pointer;box-shadow:0 4px 14px rgba(61,78,48,.18);}
  .car-arrow:active{background:var(--brown);color:var(--warm-white);}
  .car-arrow.prev{left:.1rem;}
  .car-arrow.next{right:.1rem;}
  .car-dots{margin-top:.6rem;}
  /* Ingredients panel */
  .ci-ing{grid-template-columns:1fr;}
  .ci-inner{padding:1.1rem 1.1rem;}
  .ci-title{font-size:1.25rem;}
  .ci-actions{flex-direction:column;}
  .ci-actions .btn-outline,.ci-actions .btn-primary{width:100%;}
  /* Next / previous dish stepper stacks */
  .ci-stepper{flex-direction:column;align-items:stretch;gap:.3rem;}
  .ci-step,.ci-step.right{text-align:left;margin-left:0;padding:.55rem 0;border-bottom:1px solid rgba(92,107,74,.08);}
  .ci-step.right{border-bottom:none;}
  .ci-step em{font-size:.9rem;}
  /* Auth */
  .auth-tab{font-size:.64rem;letter-spacing:.06em;padding:.6rem .3rem;}
  .modal-box{padding:2rem 1.2rem;}
  /* Booking */
  .time-slots{grid-template-columns:repeat(2,1fr);}
  .summary-card{padding:1.3rem 1.1rem;}
  .sum-row{font-size:.82rem;gap:.8rem;}
  .sum-value{max-width:58%;}
  .grocery-card{padding:1.3rem 1.1rem;}
  .grocery-card-hdr{flex-direction:column;}
  .grocery-btn-row{width:100%;}
  .grocery-btn-row .btn-outline,.grocery-btn-row .btn-primary{flex:1;justify-content:center;}
  .day-note{font-size:.8rem;}
  .sched-section h2{font-size:1.65rem;}
  .pricing-rate strong{font-size:2.3rem;}
}
/* MOBILE */
@media(max-width:768px){
  .top-nav{padding:0 1rem;}
  .nav-tabs{display:none;flex-direction:column;position:fixed;top:64px;left:0;right:0;background:var(--olive-dark);border-top:1px solid rgba(200,213,188,.1);padding:.5rem 0;}
  .nav-tabs.open{display:flex;}
  .nav-tab button{height:50px;width:100%;text-align:left;padding:0 1.5rem;font-size:.8rem;border-bottom:none;border-left:2px solid transparent;}
  .nav-tab button.active{border-left-color:var(--brown-light);border-bottom-color:transparent;}
  .hamburger{display:flex;}
  .nav-right{gap:.5rem;}
  .nav-right .nav-user{display:none!important;}
  .nav-brand{min-width:0;}
  .nav-brand-name,.nav-brand-tag{white-space:nowrap;}
  .btn-nav-auth{white-space:nowrap;padding:.45rem .8rem;}
  .meal-layout{grid-template-columns:minmax(0,1fr);}
  /* Mobile cart: compact bottom bar, tap "Your Meals" to expand */
  .meal-sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;max-height:70vh;z-index:150;border-top:2px solid var(--brown);border-left:none;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.18);}
  .meal-sidebar h2{font-size:1.1rem;margin-bottom:.4rem;}
  .cart-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:32px;cursor:pointer;}
  .cart-toggle-hint{display:inline;font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--olive-pale);}
  .cart-toggle-hint::after{content:'View \25B4';}
  .meal-sidebar.expanded .cart-toggle-hint::after{content:'Hide \25BE';}
  .meal-sidebar>p,#cart-slots,.meal-sidebar .rate-badge,.meal-sidebar .consult-nudge{display:none;}
  .meal-sidebar.expanded>p,.meal-sidebar.expanded #cart-slots,.meal-sidebar.expanded .rate-badge,.meal-sidebar.expanded .consult-nudge{display:block;}
  .meal-sidebar>p{margin-bottom:.8rem;}
  .cart-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin-top:0;padding-top:.5rem;}
  .cart-count{margin:0;white-space:nowrap;}
  .btn-book{flex:1;width:auto;min-height:46px;padding:.7rem;}
  .cart-bottom .rate-badge,.cart-bottom .consult-nudge{flex-basis:100%;margin-top:.3rem;}
  .meal-main{padding:1.4rem;padding-bottom:150px;}
  body:has(#page-meals.active #meals-content[style*="block"]) .ai-fab{bottom:140px;right:1rem;}
  body:has(.meal-sidebar.expanded) .ai-fab{display:none;}
  .meal-grid{grid-template-columns:1fr 1fr;}
  .sched-layout{padding:1.4rem;}
  .shop-grid{grid-template-columns:1fr;padding:1.4rem;}
  .ingredient-grid{grid-template-columns:1fr;}
  .field input,.field select,.field textarea,.ai-input,input,select,textarea{font-size:16px;}
  .ai-panel{width:calc(100vw - 2rem);right:1rem;bottom:4.5rem;}
  .login-gate-btns{flex-direction:column;align-items:center;}
  .login-gate-btns .btn-primary,.login-gate-btns .btn-outline{width:100%;max-width:255px;}
  .pricing-card{flex-direction:column;gap:1rem;}
  .fresh-banner{gap:1rem;}
}
/* Touch-screen tap targets */
@media(hover:none) and (pointer:coarse){
  .btn-nav-auth{min-height:42px;}
  .filter-btn{min-height:40px;padding-top:.5rem;padding-bottom:.5rem;}
  .btn-detail{min-height:42px;}
  .btn-add{min-height:44px;}
  .cart-slot-remove{min-height:42px;min-width:42px;}
  .cal-day{min-height:42px;}
  .ai-close,.ci-close,.modal-close-btn,.meal-modal-close{min-height:44px;min-width:44px;}
  .car-dot{width:14px;height:14px;}
  .car-dots{gap:.55rem;}
  .size-opt{min-height:44px;align-items:center;}
  .ai-quick{min-height:38px;}
}

@media(max-width:480px){
  .meal-grid{grid-template-columns:1fr;}
  .benefit-stats,.ci-stats{grid-template-columns:repeat(3,1fr);gap:.4rem;}
  .ci-stat b{font-size:1rem;}
  .fresh-banner{gap:.6rem;padding:.7rem 1rem;}
  .fresh-pill{font-size:.64rem;}
  .filter-btn{font-size:.62rem;padding:.38rem .7rem;}
  .cal-day{min-height:34px;font-size:.74rem;}
  .nav-brand-tag{font-size:.5rem;letter-spacing:.14em;}
  .nav-brand-name{font-size:1rem;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ── ADMIN ── */
.admin-wrap{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;}
.admin-msg{font-size:.8rem;color:var(--text-light);}
.admin-section{background:var(--warm-white);border:1px solid var(--border);padding:1.5rem;margin-bottom:2rem;}
.admin-section h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--text-dark);margin-bottom:1rem;}
.admin-section h2 em{color:var(--brown);}
.admin-count{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--text-light);}
.admin-empty{font-size:.85rem;color:var(--text-light);padding:.5rem 0;}
.admin-small{min-height:32px;padding:.35rem .8rem;font-size:.65rem;}
.admin-cal-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;margin-bottom:.6rem;}
.admin-cal-head h2{margin-bottom:0;}
.admin-cal-nav{display:flex;align-items:center;gap:.5rem;}
.admin-cal-nav span{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--text-dark);min-width:9.5rem;text-align:center;}
.admin-cal-nav .cal-nav-btn{background:none;border:1px solid var(--border);padding:.4rem .8rem;cursor:pointer;color:var(--text-mid);min-height:34px;min-width:34px;}
.admin-cal-nav .cal-nav-btn:hover{border-color:var(--olive);color:var(--olive-dark);}
.admin-today{min-height:34px;padding:.4rem .9rem;font-size:.65rem;}
.admin-legend{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem;}
.admin-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-bottom:1.2rem;}
.admin-cal-day{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;min-height:92px;padding:.35rem;border:1px solid rgba(92,107,74,.12);background:#fff;cursor:pointer;text-align:left;font-family:'Jost',sans-serif;color:var(--text-mid);transition:border-color .2s;overflow:hidden;}
.admin-cal-day:hover{border-color:var(--olive);}
.admin-cal-day.empty{border:none;background:transparent;cursor:default;}
.admin-cal-day.today .admin-cal-num{background:var(--brown);color:var(--cream);}
.admin-cal-day.selected{border:2px solid var(--olive-dark);}
.admin-cal-day.has{background:var(--cream);}
.admin-cal-num{font-size:.78rem;align-self:flex-start;padding:0 .3rem;line-height:1.5;}
.admin-cal-chips{display:flex;flex-direction:column;gap:.15rem;}
.admin-cal-count{display:none;align-self:center;font-size:.7rem;font-weight:500;background:var(--olive-dark);color:var(--cream);border-radius:999px;min-width:1.3rem;text-align:center;padding:0 .3rem;}
.admin-cal-count.muted{background:var(--text-light);}
.admin-chip{display:inline-block;font-size:.66rem;line-height:1.4;padding:.05rem .4rem;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-chip.session{background:var(--olive-pale);color:var(--olive-dark);}
.admin-chip.consultation{background:var(--brown-pale);color:var(--brown-dark);}
.admin-chip.cancelled{background:var(--cream-dark);color:var(--text-light);text-decoration:line-through;}
.admin-day h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--text-dark);margin-bottom:.8rem;}
.admin-booking{border-left:3px solid var(--olive);background:#fff;padding:.9rem 1rem;margin-bottom:.7rem;font-size:.85rem;color:var(--text-mid);}
.admin-booking.is-cancelled{opacity:.55;border-left-color:var(--text-light);}
.admin-booking-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;}
.admin-booking-name{font-weight:500;color:var(--text-dark);margin-bottom:.2rem;}
.admin-booking-line{margin-top:.15rem;line-height:1.5;word-break:break-word;}
.admin-booking a,.admin-table a{color:var(--brown);}
.admin-notes{white-space:pre-wrap;font-style:italic;color:var(--text-light);margin-top:.25rem;}
.admin-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.admin-table{width:100%;border-collapse:collapse;font-size:.82rem;color:var(--text-mid);min-width:760px;}
.admin-table th{text-align:left;font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);padding:.5rem .6rem;border-bottom:1px solid var(--border);}
.admin-table td{padding:.6rem;border-bottom:1px solid rgba(92,107,74,.1);vertical-align:top;word-break:break-word;}
.admin-status{font-family:'Jost',sans-serif;font-size:.75rem;padding:.25rem .4rem;border:1px solid var(--border);background:#fff;color:var(--text-dark);text-transform:capitalize;}
.admin-status.s-new{border-color:var(--brown);}
.admin-status.s-confirmed{border-color:var(--olive);background:var(--olive-pale);}
.admin-status.s-cancelled{color:var(--text-light);}
@media(max-width:768px){
  .admin-wrap{padding:1.5rem 1rem 3rem;}
  .admin-section{padding:1rem;}
  .admin-cal-day{min-height:52px;align-items:center;padding:.25rem .1rem;}
  .admin-cal-num{align-self:center;}
  .admin-cal-chips{display:none;}
  .admin-cal-count{display:block;}
  .admin-toolbar{flex-direction:column;align-items:stretch;}
}

/* Compact menu grid: tap a card for the floating detail window */
.filter-row{position:sticky;top:64px;z-index:20;background:var(--cream);padding:.6rem 0;margin:0 0 .4rem;border-bottom:1px solid var(--border);}
.meal-count{margin-left:auto;align-self:center;font-size:.72rem;letter-spacing:.08em;color:var(--text-light);white-space:nowrap;}
.meal-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem;margin-top:.8rem;}
.meal-card{display:flex;flex-direction:column;}
.meal-card-open{display:block;width:100%;flex:1;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit;}
.meal-card-open:focus-visible{outline:2px solid var(--olive);outline-offset:-2px;}
.meal-card-photo,.meal-card-img{height:110px;}
.meal-card-body{padding:.7rem .75rem .5rem;}
.meal-card h3{font-size:1rem;margin-bottom:0;}
.meal-card .btn-add{margin:0 .75rem .75rem;width:auto;}
.meal-card-img.create{background:repeating-linear-gradient(135deg,var(--cream-dark),var(--cream-dark) 10px,var(--warm-white) 10px,var(--warm-white) 20px);color:var(--brown);font-size:2rem;}
.meal-card-create{border:1px dashed var(--brown-light);}
.meal-card-create h3{color:var(--brown-dark);}
.meal-card .meal-card-hint{font-size:.72rem;margin:.25rem 0 0;color:var(--text-light);line-height:1.45;}
.meal-modal-desc{font-size:.86rem;color:var(--text-mid);line-height:1.7;margin-bottom:1rem;}
@media(max-width:480px){
  .meal-grid{grid-template-columns:1fr 1fr;gap:.6rem;}
  .meal-card-photo,.meal-card-img{height:96px;}
  .meal-card h3{font-size:.92rem;}
  .meal-card .btn-add{margin:0 .5rem .5rem;font-size:.6rem;letter-spacing:.08em;padding:.45rem .3rem;}
  .filter-row{gap:.5rem;}
  .filter-row .filter-field{flex:1;min-width:0;}
  .meal-count{flex-basis:100%;margin-left:0;}
}
@media(max-width:768px){.filter-row{top:64px;}}

/* My Bookings */
.my-wrap{max-width:760px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.my-section{margin-bottom:2.2rem;}
.my-section h2{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--text-dark);margin-bottom:.8rem;}
.my-section h2 em{color:var(--brown);}
.my-msg{font-size:.85rem;color:var(--text-light);margin-bottom:1rem;}
.my-msg:empty{display:none;}
.my-msg.err{color:var(--error);}
.my-card{background:var(--warm-white);border:1px solid var(--border);border-left:3px solid var(--brown-light);padding:1rem 1.1rem;margin-bottom:.8rem;}
.my-card.s-confirmed{border-left-color:var(--olive);}
.my-card.s-done,.my-card.s-cancelled{opacity:.7;border-left-color:var(--border);}
.my-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.5rem;}
.my-card-kind{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--text-dark);}
.my-card-when{font-size:.8rem;color:var(--brown);margin-top:.1rem;}
.my-card-line{font-size:.82rem;color:var(--text-mid);line-height:1.6;margin-top:.25rem;word-break:break-word;}
.my-status{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .5rem;border:1px solid var(--brown-light);color:var(--brown-dark);white-space:nowrap;}
.my-status.s-confirmed{border-color:var(--olive);background:var(--olive-pale);color:var(--olive-dark);}
.my-status.s-done,.my-status.s-cancelled{border-color:var(--border);color:var(--text-light);}
.my-empty{font-size:.86rem;color:var(--text-light);padding:1rem;border:1px dashed var(--border);}
@media(max-width:480px){.my-wrap{padding:1.4rem 1rem 3rem;}.my-card-top{flex-direction:column;}}
