/* FlickKitchen — portal styles on top of shell.css (warm kitchen palette) */
:root{--accent:#e63946;--accent2:#f4a261;--bg:#17120f;--bg2:#211a15;--card:#2a211b;--line:#3a2e26;--muted:#b9a797;--text:#fbf5ee;--cream:#fff3e0;--green:#7bc67e}
.brand .logo{font-size:17px}
img[height]{height:auto}
.nav a{white-space:nowrap}
/* hero */
.hero.kitchen{padding:0;border:0;background:var(--bg2);min-height:260px}
.hero.kitchen .banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero.kitchen .inner{position:relative;padding:38px 24px 30px;background:linear-gradient(90deg,rgba(23,18,15,.92) 0%,rgba(23,18,15,.75) 55%,rgba(23,18,15,.2) 100%)}
[dir=rtl] .hero.kitchen .inner{background:linear-gradient(270deg,rgba(23,18,15,.92) 0%,rgba(23,18,15,.75) 55%,rgba(23,18,15,.2) 100%)}
.hero .btns{display:flex;gap:10px;flex-wrap:wrap}
@media(min-width:760px){.hero.kitchen{min-height:340px}.hero.kitchen .inner{padding:60px 40px 50px;max-width:62%}[dir=rtl] .hero.kitchen .inner{margin-inline-start:0}}
/* search + filters */
.search{margin:16px 0 8px}.search .ico{color:var(--muted)}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.filters select{background:var(--card);border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:10px;font:inherit;font-size:.85rem}
.filters .btn.sm.ghost{padding:7px 12px}
.chips.cuisines .chip{display:flex;align-items:center;gap:6px}
/* recipe cards */
.rcard .cover{aspect-ratio:4/3}
.rcard .meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.76rem;padding-inline-end:34px}
.rcard .meta span{display:inline-flex;align-items:center;gap:3px}
.rcard .free{position:absolute;top:8px;inset-inline-start:8px;background:var(--green);color:#10281a;font-size:.68rem;font-weight:800;padding:4px 8px;border-radius:999px}
.rcard .fav-btn{position:absolute;bottom:10px;inset-inline-end:10px;background:rgba(0,0,0,.45);color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:15px;z-index:2}
.rcard .fav-btn.on{background:var(--accent)}
.rcard .cuisine{color:var(--accent2);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.rail>.rcard{flex:0 0 200px}
.grid.recipes{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}
@media(min-width:760px){.grid.recipes{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.rail>.rcard{flex-basis:230px}}
.num{direction:ltr;unicode-bidi:isolate;display:inline-block}
/* iftar week */
.week{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.week::-webkit-scrollbar{display:none}
.day{flex:0 0 150px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative}
.day.today{border-color:var(--accent2);box-shadow:0 0 0 1px var(--accent2) inset}
.day .dh{padding:8px 10px 4px;font-weight:800;font-size:.8rem;color:var(--accent2);display:flex;justify-content:space-between}
.day .dh small{color:var(--muted);font-weight:600}
.day img{aspect-ratio:4/3;object-fit:cover;width:100%}
.day .dt{padding:8px 10px 10px;font-size:.85rem;font-weight:700;line-height:1.3}
@media(min-width:760px){.day{flex-basis:0;flex-grow:1}}
/* section intro */
.sec-h .sub{color:var(--muted);font-size:.8rem;font-weight:500;margin-inline-start:8px}
/* recipe page */
.rp{display:grid;gap:20px;margin:16px 0}
@media(min-width:900px){.rp{grid-template-columns:1fr 1fr;align-items:start}.rp .side{position:sticky;top:76px}}
.rp .cover{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover}
.rp h1{margin:8px 0 6px;font-size:1.7rem;line-height:1.2}
.rp .lead{color:var(--muted);margin:0 0 12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 6px;text-align:center}
.stat b{display:block;font-size:1rem}.stat small{color:var(--muted);font-size:.7rem}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.actions .btn{flex:1;min-width:140px}
.btn.fav-on{background:#5a1f26;border-color:var(--accent);color:#fff}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}
.panel h2{margin:0 0 10px;font-size:1.1rem;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.scaler{display:flex;align-items:center;gap:6px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:3px}
.scaler button{width:30px;height:30px;border-radius:50%;background:var(--card);color:var(--text);font-weight:800;font-size:1.1rem;line-height:1}
.scaler b{min-width:26px;text-align:center}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{background:transparent;color:var(--muted);padding:5px 12px;font-weight:700;font-size:.8rem}.seg button.active{background:var(--accent2);color:#2a1a08}
.ing{list-style:none;margin:0;padding:0}
.ing li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ing li:last-child{border-bottom:0}
.ing .q{direction:ltr;unicode-bidi:isolate;min-width:84px;font-weight:800;color:var(--accent2);text-align:start;flex:0 0 auto;font-variant-numeric:tabular-nums}
[dir=rtl] .ing .q{text-align:right}
.ing .i{flex:1}
.stepsl{list-style:none;margin:0;padding:0;counter-reset:s}
.stepsl li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.6}
.stepsl li:last-child{border-bottom:0}
.stepsl .n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.85rem}
.stepsl .tm{display:inline-block;background:var(--bg2);border:1px solid var(--line);color:var(--accent2);font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px;margin-inline-start:6px;white-space:nowrap}
.tip{background:linear-gradient(135deg,rgba(244,162,97,.18),rgba(230,57,70,.12));border:1px solid rgba(244,162,97,.4);border-radius:16px;padding:14px 16px;margin:14px 0}
.tip h3{margin:0 0 6px;font-size:.95rem;color:var(--accent2)}
.locked-box{background:var(--card);border:1px dashed var(--accent);border-radius:18px;padding:22px;text-align:center;margin:14px 0}
.locked-box h3{margin:0 0 6px}.locked-box p{color:var(--muted);margin:0 0 14px}
.blur{filter:blur(5px);pointer-events:none;user-select:none;opacity:.6;max-height:180px;overflow:hidden}
.note{color:var(--muted);font-size:.78rem}
.related .rail>.rcard{flex-basis:170px}
/* cook mode */
.cook{position:fixed;inset:0;z-index:80;background:var(--bg);display:none;flex-direction:column}
.cook.open{display:flex}
.cook .top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.cook .top .prog{flex:1;height:6px;background:var(--card);border-radius:3px;overflow:hidden}
.cook .top .prog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.cook .top b{font-size:.85rem;white-space:nowrap}
.cook .mid{flex:1;overflow:auto;padding:26px 22px;display:flex;flex-direction:column;justify-content:center;max-width:860px;margin:0 auto;width:100%}
.cook .st{font-size:clamp(1.4rem,3.6vw,2.2rem);line-height:1.5;font-weight:600}
.cook .st.done{text-align:center;color:var(--accent2)}
.cook .timer{margin-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cook .timer .big{font-size:2.4rem;font-weight:800;direction:ltr;font-variant-numeric:tabular-nums;color:var(--accent2)}
.cook .timer .big.over{color:var(--accent);animation:blink 1s infinite}
@keyframes blink{50%{opacity:.3}}
.cook .ingl{margin-top:26px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);padding-top:14px}
.cook .ingl summary{cursor:pointer;font-weight:700;color:var(--text)}
.cook .bot{display:flex;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.cook .bot .btn{flex:1;padding:14px}
.cook .awake{font-size:.75rem;color:var(--muted);padding:0 16px 10px;text-align:center}
/* shopping list */
.sl{list-style:none;margin:0;padding:0}
.sl li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.sl li:last-child{border-bottom:0}
.sl input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}
.sl .q{direction:ltr;unicode-bidi:isolate;font-weight:800;color:var(--accent2);min-width:84px;font-variant-numeric:tabular-nums}
.sl li.done .i,.sl li.done .q{text-decoration:line-through;opacity:.5}
.sl .i{flex:1}
.sl-recipes{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.sl-recipes .pill{display:inline-flex;gap:8px;align-items:center;padding:6px 10px}
.sl-recipes .pill button{background:transparent;color:var(--accent);font-weight:800;padding:0}
.listbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
textarea.copybox{position:absolute;left:-9999px;top:0}
/* pages */
.page{max-width:760px;margin:18px auto}.page h1{font-size:1.6rem}.page h2{font-size:1.15rem;margin-top:22px}.page p{color:var(--muted);line-height:1.75}
.page .ar{direction:rtl;text-align:right}
.ftr .brand-line{font-weight:800;color:var(--text);margin-bottom:4px}
.badge-row{display:flex;gap:6px;flex-wrap:wrap}
.card.rcard .body{padding:10px 12px 12px}
.card.rcard .title{min-height:2.6em}
.hidden{display:none!important}
.see-more{text-align:center;margin:14px 0}
