:root{
  --bg:#f7f5ef;--card:#fff;--ink:#16322b;--muted:#6f7f78;--brand:#0f7a5a;--brand-dark:#0a5d45;
  --soft:#e9f4ef;--line:#dde6e0;--accent:#f4c76d;--shadow:0 16px 45px rgba(27,58,48,.09);--radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Tajawal",system-ui,sans-serif;line-height:1.6}.shell{width:min(1160px,calc(100% - 32px));margin-inline:auto}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;width:min(1160px,calc(100% - 32px));margin:auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:22px;font-weight:800}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:14px}.top-actions{display:flex;gap:8px}.ghost-btn,.secondary-btn,.choice,.filter,.stepper button{border:0;background:transparent;font:inherit;cursor:pointer}.ghost-btn{padding:10px 14px;color:var(--muted);font-weight:600}.hero{min-height:480px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;padding-block:58px 78px}.eyebrow{display:inline-block;color:var(--brand);font-size:14px;font-weight:800;letter-spacing:.02em;margin-bottom:8px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.04;margin:0 0 22px;max-width:760px;letter-spacing:-.03em}.hero p{font-size:20px;color:var(--muted);max-width:660px;margin:0}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-badges span{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:999px;font-size:14px;font-weight:600}.hero-art{position:relative;min-height:370px;background:radial-gradient(circle at 48% 48%,#d9efe5 0 33%,transparent 34%),linear-gradient(135deg,#edf7f1,#fff8e9);border-radius:40px;overflow:hidden;box-shadow:var(--shadow)}.plate{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:210px;height:210px;border-radius:50%;display:grid;place-items:center;font-size:94px;background:#fff;border:18px solid #f6f6f2;box-shadow:0 24px 45px rgba(32,68,57,.15)}.mini-card{position:absolute;background:#fff;padding:12px 15px;border-radius:16px;box-shadow:0 12px 30px rgba(27,58,48,.13);display:flex;gap:8px;align-items:center;font-size:14px}.mini-card span{font-size:24px}.mini-1{top:38px;right:30px}.mini-2{bottom:32px;right:54px}.mini-3{top:115px;left:24px}.planner,.week,.how,.library{padding-block:70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h2{font-size:34px;line-height:1.15;margin:0}.subtle{color:var(--muted);font-size:14px}.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pref-card{background:var(--card);border:1px solid var(--line);padding:22px;border-radius:var(--radius)}.pref-card h3{margin:0 0 14px;font-size:17px}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice,.filter{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-weight:600}.choice.active,.filter.active{background:var(--soft);color:var(--brand-dark);border-color:#b8ddce}.stepper{display:flex;align-items:center;gap:18px}.stepper button{width:36px;height:36px;border-radius:12px;background:var(--soft);font-size:22px;color:var(--brand-dark)}.stepper strong{font-size:24px;min-width:24px;text-align:center}.toggle-row{display:flex;gap:20px;flex-wrap:wrap}.toggle-row label{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}.toggle-row input{accent-color:var(--brand);width:18px;height:18px}.primary-btn{margin-top:18px;width:100%;border:0;border-radius:18px;padding:17px 20px;background:var(--brand);color:#fff;font:inherit;font-weight:800;font-size:17px;cursor:pointer;box-shadow:0 12px 24px rgba(15,122,90,.2);transition:.2s}.primary-btn:hover{background:var(--brand-dark);transform:translateY(-1px)}.loading-panel{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:center}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #d9eee6;border-top-color:var(--brand);margin:auto;animation:spin .8s linear infinite}.loading-panel h3{margin:14px 0 4px}.loading-panel p{margin:0;color:var(--muted)}.loading-track{height:7px;background:#edf2ef;border-radius:999px;overflow:hidden;margin-top:18px}.loading-track span{display:block;width:0;height:100%;background:var(--brand);border-radius:inherit;transition:width .5s ease}.hidden{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}.week-heading{align-items:center}.week-actions{display:flex;gap:8px}.secondary-btn{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:700}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.summary-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.summary-item span{display:block;color:var(--muted);font-size:12px}.summary-item strong{font-size:18px}.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.day-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 20px rgba(30,55,47,.04)}.day-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.day-head h3{margin:0;font-size:20px}.day-head small{color:var(--muted)}.meal{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;padding:16px 20px;border-bottom:1px solid #edf1ef;cursor:pointer;transition:.2s}.meal:hover{background:#fbfdfc}.food-icon{width:62px;height:62px;border-radius:17px;display:grid;place-items:center;font-size:32px;background:linear-gradient(145deg,#eef7f2,#fff7e8)}.meal-label{font-size:11px;color:var(--brand);font-weight:800}.meal h4{margin:2px 0;font-size:16px}.meal-meta{display:flex;gap:10px;color:var(--muted);font-size:12px}.meal-arrow{font-size:22px;color:#9dadA6}.extra-slot{padding:14px 20px;background:#fbfaf6;display:flex;align-items:center;justify-content:space-between;gap:14px}.extra-slot span{font-size:13px;color:var(--muted)}.extra-slot button{border:0;background:transparent;color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.how{border-top:1px solid var(--line)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.how-grid article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.how-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--brand);font-weight:800}.how-grid h3{margin:16px 0 5px}.how-grid p{margin:0;color:var(--muted)}.library-filter{display:flex;gap:8px;flex-wrap:wrap}.recipe-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:.2s}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.recipe-cover{height:132px;display:grid;place-items:center;font-size:56px;background:linear-gradient(145deg,#eef7f2,#fff7e8)}.recipe-body{padding:15px}.recipe-body h3{font-size:16px;margin:0 0 8px;line-height:1.4}.recipe-tags{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.recipe-modal{width:min(760px,calc(100% - 24px));max-height:90vh;border:0;border-radius:28px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.22);color:var(--ink)}.recipe-modal::backdrop{background:rgba(7,25,20,.5);backdrop-filter:blur(5px)}.modal-close{position:absolute;left:18px;top:16px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;font-size:24px;background:#fff;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.1)}.modal-hero{padding:34px 34px 22px;background:linear-gradient(145deg,#ecf7f1,#fff8e9)}.modal-hero .big-icon{font-size:70px}.modal-hero h2{font-size:30px;margin:4px 0 8px}.modal-hero p{color:var(--muted);margin:0}.modal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.modal-meta span{background:#fff;padding:7px 10px;border-radius:10px;font-size:12px;font-weight:700}.modal-content{padding:28px 34px 36px}.modal-content h3{font-size:20px;margin:0 0 12px}.ingredients{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;padding:0;list-style:none;margin:0 0 28px}.ingredients li{padding:9px 0;border-bottom:1px dashed var(--line);color:#42564f}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:16px}.steps li{counter-increment:step;position:relative;padding-right:48px}.steps li::before{content:counter(step);position:absolute;right:0;top:0;width:32px;height:32px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--brand);font-weight:800}.steps b{display:block;margin-bottom:3px}.steps span{color:var(--muted)}footer{margin-top:60px;background:#17352c;color:#fff}.footer-inner{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner div{display:flex;gap:12px;align-items:center}.footer-inner span,.footer-inner small{color:#c7d8d1}.footer-inner b{font-size:22px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:34px}.hero-art{min-height:300px}.summary-strip{grid-template-columns:repeat(2,1fr)}.recipe-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.top-actions{display:none}.hero h1{font-size:44px}.hero p{font-size:17px}.hero-art{min-height:260px}.plate{width:165px;height:165px;font-size:72px}.preference-grid,.week-grid,.how-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.section-heading h2{font-size:28px}.week-actions{width:100%}.week-actions button{flex:1}.recipe-library{grid-template-columns:1fr 1fr}.summary-strip{grid-template-columns:1fr 1fr}.ingredients{grid-template-columns:1fr}.modal-hero,.modal-content{padding-inline:22px}.footer-inner{padding-block:28px;align-items:flex-start;flex-direction:column}.meal{grid-template-columns:54px 1fr auto;padding-inline:14px}.food-icon{width:54px;height:54px}.mini-1{right:16px}.mini-2{right:25px}.mini-3{left:12px}}
@media print{.topbar,.hero,.planner,.how,.library,footer,.week-actions,.extra-slot{display:none!important}.week{padding:0}.week-grid{grid-template-columns:1fr 1fr}.day-card{break-inside:avoid}.summary-strip{grid-template-columns:repeat(4,1fr)}}

/* Restored planner controls */
.pref-card-wide{grid-column:1/-1}.pref-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.pref-title-row h3{margin-bottom:0}.pref-help{margin:6px 0 14px;color:var(--muted);font-size:13px}.text-btn{border:0;background:transparent;color:var(--brand);font:inherit;font-weight:800;cursor:pointer;padding:4px 0}.cuisine-choices{max-height:150px;overflow:auto;padding:2px 2px 4px}.cuisine-choice.active{background:var(--brand);border-color:var(--brand);color:#fff}.budget-card strong{color:var(--brand-dark);font-size:15px}.budget-control{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--muted);font-size:12px}.budget-control input{width:100%;accent-color:var(--brand)}.unlimited-budget{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-weight:600;font-size:13px}.unlimited-budget input{accent-color:var(--brand);width:17px;height:17px}.filter-notice{min-height:22px;margin-top:14px;color:var(--muted);font-size:13px}.filter-notice.warn{color:#8a5a08}.filter-notice.error{color:#9c2e2e}.library-count{margin:8px 0 0;color:var(--muted);font-size:14px}.recipe-card .recipe-tags span.price-tag{color:var(--brand-dark);font-weight:700}
@media(max-width:650px){.pref-card-wide{grid-column:auto}.budget-control{grid-template-columns:1fr}.budget-control>span{display:none}.cuisine-choices{max-height:none}}
/* Difficulty + prominent budget controls */
.difficulty-card .pref-help{margin-top:-2px}
.budget-card-primary{border:1px solid rgba(26,111,78,.24);box-shadow:0 12px 32px rgba(32,84,63,.08)}
.budget-presets{margin:2px 0 14px}.budget-presets .choice{min-width:82px}.budget-custom{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.budget-custom input:disabled{opacity:.4;cursor:not-allowed}.budget-card-primary #budgetValue{background:var(--brand-soft);padding:7px 11px;border-radius:999px;white-space:nowrap}
@media(max-width:650px){.budget-card-primary .pref-title-row{align-items:flex-start}.budget-presets .choice{min-width:0}.budget-custom{grid-template-columns:auto 1fr auto}.budget-custom>span{display:block;font-size:11px}}
.budget-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f7faf8;color:var(--muted);font-size:13px;line-height:1.55}.summary-item:first-child strong{font-size:16px;line-height:1.45}

/* Free-entry weekly budget */
.budget-entry{display:grid;gap:8px;margin-top:4px}.budget-entry-label{font-size:13px;color:var(--muted);font-weight:700}.budget-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:5px 14px;transition:.2s}.budget-input-wrap:focus-within{border-color:#8bc5ae;box-shadow:0 0 0 4px rgba(15,122,90,.08)}.budget-input-wrap input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:22px;font-weight:800;padding:9px 0}.budget-input-wrap input::placeholder{color:#a9b5b0;font-weight:600}.budget-input-wrap b{color:var(--brand-dark);white-space:nowrap}.budget-input-wrap:has(input.invalid){border-color:#c86b6b;box-shadow:0 0 0 4px rgba(156,46,46,.07)}

/* Primary app tabs + dessert experience */
.topbar{gap:18px}.app-tabs{display:flex;align-items:center;gap:6px;margin-inline:auto;background:#fff;border:1px solid var(--line);padding:5px;border-radius:16px;box-shadow:0 6px 18px rgba(27,58,48,.05)}.app-tab{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:800;padding:8px 14px;border-radius:11px;cursor:pointer;white-space:nowrap}.app-tab.active{background:var(--brand);color:#fff}.view-off{display:none!important}.dessert-mode .top-actions{visibility:hidden;pointer-events:none}

.dessert-hero{min-height:430px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:44px;padding-block:64px 52px}.dessert-hero h1{font-size:clamp(40px,5.5vw,66px);line-height:1.06;margin:0 0 20px;max-width:720px;letter-spacing:-.03em}.dessert-hero p{font-size:19px;color:var(--muted);max-width:650px;margin:0}.dessert-hero-art{position:relative;min-height:320px;border-radius:38px;overflow:hidden;background:radial-gradient(circle at 52% 48%,#fff1db 0 31%,transparent 32%),linear-gradient(135deg,#fff9ef,#f6ece7);box-shadow:var(--shadow)}.dessert-main-icon{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:188px;height:188px;display:grid;place-items:center;border-radius:50%;font-size:84px;background:#fff;border:16px solid #fffaf1;box-shadow:0 20px 45px rgba(88,57,38,.13)}.dessert-float{position:absolute;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;font-size:30px;box-shadow:0 12px 28px rgba(88,57,38,.12)}.float-a{top:36px;right:38px}.float-b{bottom:34px;right:72px}.float-c{top:118px;left:32px}

.dessert-browser{padding-block:34px 80px}.dessert-heading{align-items:center}.dessert-filter-panel{display:grid;grid-template-columns:1.35fr .8fr .9fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:18px;margin-bottom:22px;box-shadow:0 8px 26px rgba(27,58,48,.05)}.dessert-filter-block h3,.dessert-search>span{display:block;margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:800}.dessert-choice-row{display:flex;gap:7px;flex-wrap:wrap}.dessert-choice{border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-size:13px;font-weight:700;padding:8px 11px;border-radius:999px;cursor:pointer}.dessert-choice.active{background:#fff1df;border-color:#edcfa8;color:#714b22}.dessert-search{grid-column:1/-1}.dessert-search input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fbfcfb;color:var(--ink);font:inherit;padding:12px 14px;outline:0}.dessert-search input:focus{border-color:#d8b37d;box-shadow:0 0 0 4px rgba(210,157,86,.09)}

.dessert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dessert-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;cursor:pointer;transition:.2s;box-shadow:0 5px 18px rgba(48,43,38,.04)}.dessert-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.dessert-cover{height:150px;display:grid;place-items:center;background:linear-gradient(145deg,#fff6e8,#f7ece8)}.dessert-cover span{font-size:64px}.dessert-body{padding:16px}.dessert-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dessert-card-top h3{margin:0;font-size:17px;line-height:1.4}.dessert-cost{flex:0 0 auto;background:#fff4e3;color:#7a5526;padding:5px 8px;border-radius:9px;font-size:11px;font-weight:800}.dessert-body p{margin:8px 0 12px;color:var(--muted);font-size:13px;line-height:1.6}.dessert-tags{display:flex;gap:6px;flex-wrap:wrap}.dessert-tags span{background:#f8f6f2;color:#6f746f;border-radius:8px;padding:5px 7px;font-size:10px;font-weight:700}.dessert-empty{border:1px dashed #d9c7ad;background:#fffaf3;color:#876a45;padding:20px;border-radius:18px;text-align:center;margin-bottom:16px}.dessert-modal-hero{background:linear-gradient(145deg,#fff5e5,#f9ece8)}

@media(max-width:900px){.topbar{flex-wrap:wrap;height:auto;padding-block:14px}.app-tabs{order:3;width:100%;justify-content:center}.dessert-hero{grid-template-columns:1fr;padding-top:42px}.dessert-hero-art{min-height:270px}.dessert-filter-panel{grid-template-columns:1fr 1fr}.dessert-filter-block:first-child{grid-column:1/-1}.dessert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.topbar{gap:10px}.brand{font-size:20px}.app-tabs{margin-inline:0}.app-tab{flex:1}.dessert-mode .top-actions{display:none}.dessert-hero h1{font-size:42px}.dessert-hero p{font-size:16px}.dessert-hero-art{min-height:240px}.dessert-main-icon{width:150px;height:150px;font-size:68px}.dessert-filter-panel{grid-template-columns:1fr}.dessert-filter-block:first-child{grid-column:auto}.dessert-search{grid-column:auto}.dessert-grid{grid-template-columns:1fr}.dessert-cover{height:130px}}
@media print{.dessert-view,.app-tabs{display:none!important}}

/* Language switch */
.header-tools{display:flex;align-items:center;gap:10px}.language-switch{display:flex;align-items:center;gap:3px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px rgba(27,58,48,.05)}.language-option{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;padding:7px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}.language-option.active{background:var(--soft);color:var(--brand-dark)}html[dir="ltr"] body{font-family:Inter,"Tajawal",system-ui,sans-serif}html[dir="ltr"] .steps li{padding-right:0;padding-left:48px}html[dir="ltr"] .steps li::before{right:auto;left:0}html[dir="ltr"] .modal-close{left:auto;right:18px}html[dir="ltr"] .meal-arrow{transform:scaleX(-1)}
@media(max-width:900px){.header-tools{margin-inline-start:auto}.topbar .brand{flex-shrink:0}}
@media(max-width:650px){.header-tools{gap:4px}.language-switch{padding:3px}.language-option{padding:6px 8px;font-size:12px}.top-actions{display:none}.app-tabs{order:4}.header-tools{order:2}}

.translation-note{margin:0 0 22px;padding:12px 14px;border-radius:12px;background:#f6f8f7;color:var(--muted);font-size:13px;border:1px solid var(--line)}

/* Real food imagery upgrade */
.hero-photo,.hero-image-chip,.dessert-main-photo,.dessert-float,.food-photo,.recipe-cover,.dessert-cover{overflow:hidden}
.hero-photo img,.hero-image-chip img,.dessert-main-photo img,.dessert-float img,.food-photo img,.recipe-cover img,.dessert-cover img,.modal-hero-image{width:100%;height:100%;object-fit:cover;display:block}
.hero-art{position:relative;min-height:360px;border-radius:40px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#edf7f1,#fff8e9)}
.hero-photo-main{position:absolute;inset:22px 22px 22px 22px;border-radius:30px;overflow:hidden;box-shadow:0 24px 45px rgba(32,68,57,.15)}
.hero-photo-main::after,.dessert-main-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.18) 100%)}
.hero-image-chip{position:absolute;background:#fff;padding:8px;border-radius:18px;box-shadow:0 12px 30px rgba(27,58,48,.13);display:flex;gap:10px;align-items:center;font-size:14px;min-width:140px}
.hero-image-chip img{width:52px;height:52px;border-radius:14px;flex:0 0 52px}
.hero-image-chip b{line-height:1.2}
.mini-1{top:34px;right:24px}.mini-2{bottom:28px;right:46px}.mini-3{top:118px;left:18px}
.food-photo{background:none;padding:0}
.recipe-cover,.dessert-cover{background:#f2f4f1}
.recipe-cover img,.dessert-cover img{transition:transform .25s ease}
.recipe-card:hover .recipe-cover img,.dessert-card:hover .dessert-cover img,.meal:hover .food-photo img{transform:scale(1.04)}
.modal-hero{padding:22px 22px 24px;background:linear-gradient(145deg,#ecf7f1,#fff8e9)}
.modal-hero-image{height:260px;border-radius:22px;box-shadow:0 16px 32px rgba(17,40,33,.12);margin-bottom:18px}
.modal-hero-text h2{font-size:30px;margin:4px 0 8px}
.modal-hero-text p{color:var(--muted);margin:0}
.dessert-hero-art{position:relative;min-height:320px;border-radius:38px;overflow:hidden;background:linear-gradient(135deg,#fff9ef,#f6ece7);box-shadow:var(--shadow)}
.dessert-main-photo{position:absolute;inset:22px;border-radius:30px;overflow:hidden;box-shadow:0 20px 45px rgba(88,57,38,.13)}
.dessert-float{position:absolute;display:grid;place-items:center;width:78px;height:78px;border-radius:20px;background:#fff;font-size:30px;box-shadow:0 12px 28px rgba(88,57,38,.12);overflow:hidden;padding:6px}
.dessert-float img{border-radius:14px}
@media(max-width:650px){
  .hero-art{min-height:280px}
  .hero-photo-main,.dessert-main-photo{inset:16px}
  .hero-image-chip{min-width:120px;padding:7px 8px;font-size:13px}
  .hero-image-chip img{width:44px;height:44px;flex-basis:44px}
  .mini-1{top:18px;right:12px}.mini-2{right:18px;bottom:18px}.mini-3{left:10px;top:94px}
  .dessert-float{width:64px;height:64px;padding:5px}
  .float-a{top:18px;right:16px}.float-b{bottom:18px;right:42px}.float-c{top:96px;left:14px}
  .modal-hero-image{height:210px}
}

/* Ingredients cart */
.cart-btn{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-weight:800;cursor:pointer;box-shadow:0 5px 16px rgba(27,58,48,.05)}
.cart-btn b{min-width:26px;height:26px;padding-inline:7px;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px}
.cart-modal{width:min(860px,calc(100% - 24px));max-height:90vh;border:0;border-radius:28px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.22);color:var(--ink)}
.cart-modal::backdrop{background:rgba(7,25,20,.5);backdrop-filter:blur(5px)}
.cart-head{position:relative;padding:28px 76px 18px 28px;background:linear-gradient(145deg,#ecf7f1,#fff8e9)}html[dir="rtl"] .cart-head{padding:28px 28px 18px 76px}.cart-head h2{margin:4px 0 6px;font-size:28px}.cart-head p{margin:0;color:var(--muted)}
.cart-toolbar{display:flex;gap:8px;justify-content:flex-end;padding:14px 28px;border-bottom:1px solid var(--line);background:#fff}.cart-content{padding:22px 28px 30px;overflow:auto;max-height:calc(90vh - 170px)}
.cart-empty{padding:30px;border:1px dashed var(--line);border-radius:20px;background:#fafcfb;color:var(--muted);text-align:center;font-weight:700}
.cart-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.cart-item{display:grid;grid-template-columns:150px 1fr;gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;margin-bottom:14px}.cart-item-image{width:150px;height:100%;min-height:170px;object-fit:cover}.cart-item-body{padding:16px 18px}.cart-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cart-item-head h3{margin:0 0 3px;font-size:18px}.cart-item-head small{color:var(--muted)}.cart-ingredients{margin:12px 0 0;padding-inline-start:20px;display:grid;gap:5px;color:#42564f}.modal-actions{margin-bottom:18px}.add-to-cart-btn{margin-top:0}
@media(max-width:650px){.cart-btn-label{display:none}.cart-btn{padding:8px}.cart-head{padding:22px 58px 14px 18px}html[dir="rtl"] .cart-head{padding:22px 18px 14px 58px}.cart-toolbar{padding:12px 18px}.cart-content{padding:18px}.cart-summary{grid-template-columns:1fr}.cart-item{grid-template-columns:1fr}.cart-item-image{width:100%;height:180px;min-height:0}.cart-item-body{padding:15px}.week-actions{flex-wrap:wrap}}
@media print{.cart-btn,.cart-toolbar,.modal-close{display:none!important}.cart-modal[open]{position:static;width:100%;max-height:none;box-shadow:none}.cart-modal[open] .cart-content{max-height:none;overflow:visible}}

/* Reliable cart drawer: ordinary DOM overlay so it works in local previews too */
body.cart-open{overflow:hidden}
.cart-overlay{position:fixed;inset:0;z-index:120;background:rgba(7,25,20,.48);backdrop-filter:blur(5px);display:flex;justify-content:flex-end;align-items:stretch;padding:0}
[dir="rtl"] .cart-overlay{justify-content:flex-start}
.cart-drawer{width:min(720px,94vw);height:100%;background:#fff;box-shadow:0 0 60px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;animation:cartIn .22s ease-out}
@keyframes cartIn{from{transform:translateX(28px);opacity:.65}to{transform:translateX(0);opacity:1}}
[dir="rtl"] .cart-drawer{animation-name:cartInRtl}
@keyframes cartInRtl{from{transform:translateX(-28px);opacity:.65}to{transform:translateX(0);opacity:1}}
.cart-drawer .cart-head{position:relative;flex:0 0 auto}.cart-drawer .modal-close{position:static;flex:0 0 auto}.cart-drawer .cart-content{max-height:none;flex:1;overflow:auto}
.recipe-guidance{background:#f8fbf9;border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin:0 0 26px}.recipe-guidance h3{margin:0 0 10px}.recipe-guidance ul{margin:0;padding-inline-start:20px;display:grid;gap:8px;color:#42564f}.recipe-guidance p{margin:0;color:#42564f;line-height:1.8}
.cuisine-choices{gap:10px}.cuisine-choice{min-height:40px}.pref-card-wide{position:relative}.pref-card-wide .pref-help{max-width:720px}
@media(max-width:650px){.cart-drawer{width:100vw}.cart-overlay{padding:0}.cart-drawer .cart-content{padding-bottom:40px}.cuisine-choice{font-size:13px}}

/* Cook from your ingredients */
.pantry-hero{min-height:440px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;padding-block:58px 64px}
.pantry-hero h1{font-size:clamp(40px,5.5vw,66px);line-height:1.06;margin:0 0 20px;max-width:760px;letter-spacing:-.03em}
.pantry-hero p{font-size:19px;color:var(--muted);max-width:680px;margin:0}
.pantry-hero-card{min-height:300px;border-radius:36px;background:linear-gradient(145deg,#eaf6f0,#fff7e8);box-shadow:var(--shadow);padding:36px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.pantry-demo-row{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.pantry-demo-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-weight:800;color:var(--brand-dark);box-shadow:0 6px 18px rgba(27,58,48,.05)}
.pantry-demo-arrow{text-align:center;font-size:28px;color:var(--brand);font-weight:800}
.pantry-demo-result{display:grid;grid-template-columns:94px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:0 12px 30px rgba(27,58,48,.08)}
.pantry-demo-result img{width:94px;height:78px;object-fit:cover;border-radius:16px}.pantry-demo-result b{display:block;font-size:16px}.pantry-demo-result small{display:block;color:var(--muted);margin-top:2px}
.pantry-browser{padding-block:62px 76px}.pantry-heading{margin-bottom:18px}
.pantry-input-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 8px 24px rgba(27,58,48,.04);margin-bottom:44px}
.pantry-input-card>label{display:block;font-size:17px;font-weight:800;margin-bottom:10px}.pantry-input-card textarea{width:100%;resize:vertical;min-height:132px;border:1px solid #cfdcd5;border-radius:18px;background:#fbfdfc;color:var(--ink);font:inherit;font-size:17px;padding:16px 18px;outline:none;transition:.2s}.pantry-input-card textarea:focus{border-color:#86c5ae;box-shadow:0 0 0 4px rgba(15,122,90,.08);background:#fff}
.pantry-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.pantry-quick>span{color:var(--muted);font-size:13px;font-weight:700}.pantry-chip,.pantry-filter{border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;border-radius:999px;padding:7px 11px}.pantry-chip:hover{border-color:#aad3c3;background:var(--soft);color:var(--brand-dark)}
.pantry-actions{display:flex;gap:10px;margin-top:18px}.pantry-find-btn{width:auto;min-width:220px;margin-top:0}.pantry-actions .secondary-btn{min-width:130px}
.pantry-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.pantry-results-head h2{font-size:32px;line-height:1.2;margin:0}.pantry-filters{display:flex;gap:7px;flex-wrap:wrap}.pantry-filter.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pantry-empty{border:1px dashed #bfcfc7;background:#fbfdfc;color:var(--muted);padding:28px;border-radius:22px;text-align:center;font-weight:700}.pantry-empty.hidden{display:none!important}
.pantry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pantry-recipe-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 5px 18px rgba(30,55,47,.04);transition:.2s;cursor:pointer}.pantry-recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pantry-recipe-image{position:relative;height:180px;background:#eef3f0;overflow:hidden}.pantry-recipe-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.pantry-recipe-card:hover .pantry-recipe-image img{transform:scale(1.035)}.pantry-score{position:absolute;top:12px;inset-inline-end:12px;background:rgba(12,83,63,.92);color:#fff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;backdrop-filter:blur(4px)}
.pantry-recipe-body{padding:17px}.pantry-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.pantry-type{font-size:11px;font-weight:800;color:var(--brand);background:var(--soft);padding:5px 8px;border-radius:999px}.pantry-readiness{font-size:11px;font-weight:800;color:#7a5526;background:#fff4e3;padding:5px 8px;border-radius:999px}.pantry-recipe-body h3{margin:0 0 7px;font-size:18px;line-height:1.4}.pantry-recipe-body>p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pantry-match-line{font-size:13px;color:#42564f;margin-bottom:9px}.pantry-present{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}.pantry-present span{font-size:11px;background:#eff8f4;color:var(--brand-dark);border-radius:999px;padding:5px 8px}.pantry-missing{background:#faf9f5;border:1px solid #eee7d8;border-radius:14px;padding:11px 12px;font-size:12px;color:#5b625e;margin-bottom:12px}.pantry-missing b{display:block;margin-bottom:3px}.pantry-missing ul{margin:0;padding-inline-start:18px;display:grid;gap:2px}.pantry-missing small{display:block;margin-top:5px;color:var(--muted)}.pantry-complete{background:#edf8f3;color:var(--brand-dark);border-radius:14px;padding:11px 12px;font-size:12px;font-weight:700;margin-bottom:12px}.pantry-open-recipe{width:100%}
body.pantry-mode .top-actions{visibility:hidden;pointer-events:none}
@media(max-width:900px){.pantry-hero{grid-template-columns:1fr;padding-top:42px}.pantry-hero-card{min-height:230px}.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-results-head{align-items:flex-start;flex-direction:column}.app-tab{padding-inline:11px}}
@media(max-width:650px){.pantry-hero h1{font-size:41px}.pantry-hero p{font-size:16px}.pantry-hero-card{padding:22px}.pantry-demo-result{grid-template-columns:74px 1fr}.pantry-demo-result img{width:74px;height:68px}.pantry-browser{padding-top:42px}.pantry-input-card{padding:17px}.pantry-actions{flex-direction:column}.pantry-find-btn,.pantry-actions .secondary-btn{width:100%}.pantry-grid{grid-template-columns:1fr}.pantry-recipe-image{height:190px}.app-tabs{overflow-x:auto;justify-content:flex-start}.app-tab{flex:0 0 auto}}
@media print{.pantry-view{display:none!important}}

/* Production mobile containment */
@media(max-width:650px){
  .preference-grid{grid-template-columns:minmax(0,1fr)}
  .pref-card{min-width:0;width:100%}
  .pref-card .choice-row,.pref-card .toggle-row,.pref-card .pref-title-row,.budget-entry,.budget-input-wrap{min-width:0;max-width:100%}
  .budget-card-primary .pref-title-row{flex-wrap:wrap}
}

@media print{
  body.cart-open .topbar,body.cart-open main,body.cart-open footer{display:none!important}
  body.cart-open .cart-overlay{position:static!important;display:block!important;background:none!important;padding:0!important}
  body.cart-open .cart-drawer{width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;animation:none!important}
  body.cart-open .cart-content{max-height:none!important;overflow:visible!important;padding:0!important}
  body.cart-open .cart-head{padding-inline:0!important}
}
