:root{--brand:#1B2A4A;--night:#121D35;--night2:#1E2B49;--gold:#F2B23E;--gold-deep:#C98F1E;--gold-soft:#FCEFD2;--bg:#FBF7EF;--text:#1B2A4A;--muted:#6B7280;--soft:#AEB8CC;--line:#E8E1D3;--green:#2F8F5B;--serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand)}img{max-width:100%;height:auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(20px,4vw,64px);background:var(--night);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;text-decoration:none}.brand img{display:block;height:30px;width:auto}
nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{color:var(--soft);text-decoration:none;font-size:15px;font-weight:500}nav a:hover{color:#fff}
nav a.cta{background:var(--gold);color:var(--night);padding:9px 18px;border-radius:999px;font-weight:600}nav a.lang{border:1px solid #ffffff33;padding:3px 9px;border-radius:6px}
main{max-width:1180px;margin:0 auto;padding:40px clamp(20px,4vw,64px) 72px}section{margin:40px 0}
h1,h2,h3{font-family:var(--serif);font-weight:900;line-height:1.12;color:var(--text)}h1{font-size:clamp(34px,5vw,56px);margin:.2em 0}h2{font-size:clamp(26px,3vw,36px)}h3{font-weight:700;font-size:22px}
.hero h1{font-size:clamp(34px,5vw,56px)}
.kicker{color:var(--gold-deep);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px}.eyebrow{font-family:var(--serif);font-style:italic;color:var(--gold-deep);font-size:21px;margin:0}
h2.big{margin:.1em 0 .6em}.lead{font-size:19px;color:var(--muted);max-width:640px}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:600;margin:6px 8px 0 0}.btn.ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}.btn.gold{background:var(--gold);color:var(--night)}.btn.line{background:transparent;color:#fff;border:1.5px solid #3A4A6B}
.hero-c{background:var(--night);color:#fff;overflow:hidden;margin:0}.hero-in{position:relative;max-width:1312px;margin:0 auto;padding:56px clamp(20px,4vw,64px) 0;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.hero-txt{position:relative;z-index:2;padding-bottom:64px}.hero-c h1{color:#fff;font-size:clamp(40px,6vw,76px);line-height:1.05}.hero-c .kicker{color:var(--gold)}.hero-c .lead{color:var(--soft)}.proof{color:var(--soft);font-size:14px;margin-top:22px}
.hero-img{position:relative;z-index:1}.hero-img img{display:block;width:100%;max-width:520px;margin-left:auto;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 55% 55%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 55% 55%,#000 55%,transparent 100%)}
.mem{position:absolute;right:28%;top:-180px;font:900 900px/1 "Frank Ruhl Libre",var(--serif);color:var(--gold);opacity:.05;pointer-events:none;z-index:0}
@media(max-width:860px){.hero-in{grid-template-columns:1fr}.hero-txt{padding-bottom:8px}.hero-img img{max-width:340px;margin:0 auto;-webkit-mask-image:none;mask-image:none}.mem{display:none}}
.guarantees{background:#fff;margin:0;border-bottom:1px solid var(--line)}.guarantees div{max-width:1312px;margin:0 auto;padding:22px clamp(20px,4vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.guarantees p{margin:0;padding-left:20px;position:relative}.guarantees p:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.guarantees strong{display:block;font-family:var(--serif);font-size:19px}.guarantees span{color:var(--muted);font-size:14px}
.offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.offer{text-decoration:none;color:var(--text);display:block}.offer img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;margin-bottom:12px}
.offer .k{display:block;color:var(--gold-deep);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.offer .row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.offer .m,.offer .p{font-family:var(--serif);font-weight:700;font-size:22px}.offer .p{font-weight:900}.offer .t{color:var(--muted);font-size:14px}.offer s{color:var(--muted)}
.live h2{display:none}.soon{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.soon div{position:relative}.soon img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;filter:saturate(.9)}.soon b{display:block;font-family:var(--serif);font-size:21px;margin-top:10px}.soon span{color:var(--muted);font-size:14px}.soon em{position:absolute;top:12px;left:12px;background:var(--night);color:var(--gold);font-style:normal;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}.empty-note{color:var(--muted);margin:0 0 18px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.steps div{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--line)}.steps span{display:inline-block;font-family:var(--serif);font-weight:900;color:var(--gold-deep);font-size:32px}.steps h3{margin:.2em 0}.steps p{color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.split img{border-radius:20px}@media(max-width:820px){.split{grid-template-columns:1fr}}
.quote{background:var(--brand);color:#fff;border-radius:24px;padding:48px clamp(20px,5vw,72px);text-align:center}.quote .he{font:900 44px/1 "Frank Ruhl Libre",var(--serif);color:var(--gold);margin:0 0 14px}.quote p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,28px);max-width:820px;margin:0 auto}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.grid3>div{background:#fff;border-radius:16px;padding:18px;border:1px solid var(--line)}.grid3 h2{font-size:21px;margin-top:0}
details{background:#fff;border-radius:14px;padding:6px 18px;margin:10px 0;border:1px solid var(--line)}summary{cursor:pointer}summary h2{display:inline;font-size:19px}
.hoods ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.hoods a{display:block;background:var(--gold-soft);padding:8px 16px;border-radius:999px;text-decoration:none;font-weight:600}
.tag{display:inline-block;font-size:12px;font-weight:700;background:var(--gold-soft);border-radius:999px;padding:2px 9px;margin-bottom:6px}
footer{text-align:center;color:var(--soft);font-size:14px;padding:30px 20px;background:var(--night)}footer a{color:#fff}
:root{--brand:#2E5E3E;--night:#1F3F2A;--night2:#2A4F36;--gold:#E3A33B;--gold-deep:#B7791F;--gold-soft:#FBEFD9;--bg:#F6F1E4;--text:#1F2A24;--soft:#B9CDBE;--line:#E6DCC6;--green:#2E5E3E;--serif:"Cairo",Inter,sans-serif}
h1,h2,h3{font-weight:800}.eyebrow{font-style:normal;font-weight:700}.hero-c{background:var(--night) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M32 14l5 7 8.5-1.2L44.3 28 50 32l-5.7 4 1.2 8.2L37 43l-5 7-5-7-8.5 1.2L19.7 36 14 32l5.7-4-1.2-8.2L27 21z' fill='%23E3A33B' fill-opacity='.07'/%3E%3C/svg%3E") repeat}.hero-img img{border-radius:24px}.quote .he{font:700 40px/1.4 "Reem Kufi","Cairo",sans-serif}.quote p{font-style:normal}.btn.line{border-color:#4E7A5C}
.prayer{display:flex;flex-wrap:wrap;gap:36px;background:var(--brand);color:#fff;border-radius:20px;padding:24px 28px;margin:18px 0}.prayer span{display:block;color:var(--gold);font-size:13px;font-weight:600}.prayer strong{font-size:19px}
.tag.k-zabiha{background:#F6E2DC;color:#9A3B2E}.tag.k-certifiee{background:#FBEFD9;color:#8A5A12}.tag.k-sans_viande{background:#E1ECE3;color:#2E5E3E}

:root{--brand:#24513A;--night:#17301F;--night2:#1F3F2A;--gold:#E3A33B;--gold-deep:#A86E14;--gold-soft:#FBEFD9;--bg:#F6F1E4;--paper:#FBF8F0;--studio:#F5EEDD;--text:#17301F;--muted:#5E6B62;--soft:#C9D6CC;--line:#E4DAC4;--green:#24513A;
--disp:"Bricolage Grotesque",Inter,sans-serif;--serif:var(--disp)}
body{font:17px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--disp);font-variation-settings:"wdth" 100;letter-spacing:-.01em;color:var(--text)}
h1{font-weight:800}h2{font-weight:800}h3{font-weight:700}
.disp{font-family:var(--disp);font-weight:800;font-variation-settings:"wdth" 75;text-transform:uppercase;letter-spacing:-.005em;line-height:.95;font-size:clamp(40px,6.2vw,88px);color:var(--brand);margin:0 0 .45em}
.disp em{display:block;font-style:normal;color:var(--gold)}
.eyebrow{font-family:Inter,sans-serif;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 12px}
main{max-width:1240px;padding:0 clamp(20px,4vw,56px) 40px}section{margin:0}
.bleed{width:100vw;margin-left:calc(50% - 50vw)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;margin:0;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;border:0}
.btn:hover{transform:translateY(-1px)}.btn.white{background:#fff;color:var(--night)}.btn.ghost-w{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffffb3}.btn.ghost-w:hover{background:#ffffff1a}
.btn.green{background:var(--brand);color:#fff}.btn.gold{background:var(--gold);color:var(--night)}.btn.ghost{background:transparent;color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand);border:0}
/* en-tête */
.top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px clamp(20px,4vw,48px);background:var(--bg);border-bottom:1px solid transparent;transition:background .25s,border-color .25s,box-shadow .25s}
.top nav{display:flex;gap:26px;align-items:center;flex-wrap:nowrap}.top nav.right{justify-content:flex-end;gap:14px}
.top nav a{color:var(--text);font-size:15px;font-weight:500;text-decoration:none}.top nav a:hover{color:var(--gold-deep)}
.top nav a.cta{background:var(--brand);color:#fff;padding:11px 20px;border-radius:999px;font-weight:600}.top nav a.cta:hover{color:#fff;background:var(--night)}
.top nav a.lang{font-weight:700;font-size:13px;border:0;padding:4px}
.brand img{height:30px;width:auto;display:block}.brand .on-dark{display:none}
.has-hero .top{position:fixed;left:0;right:0;background:linear-gradient(#0000004d,#0000)}.has-hero .top:not(.solid) nav a{color:#fff}.has-hero .top:not(.solid) nav a.cta{background:#fff;color:var(--night)}
.has-hero .top:not(.solid) .on-dark{display:block}.has-hero .top:not(.solid) .on-light{display:none}.has-hero .top:not(.solid) .menu summary span,.has-hero .top:not(.solid) .menu summary span:before,.has-hero .top:not(.solid) .menu summary span:after{background:#fff}
.top.solid{background:var(--bg);border-bottom-color:var(--line);box-shadow:0 6px 24px #17301f0f}
.menu{display:none;position:relative;background:none;border:0;padding:0;margin:0;border-radius:0}.menu summary{list-style:none;cursor:pointer;width:40px;height:40px;display:grid;place-items:center}.menu summary::-webkit-details-marker{display:none}
.menu summary span,.menu summary span:before,.menu summary span:after{display:block;width:20px;height:2px;background:var(--text);position:relative;content:""}.menu summary span:before{position:absolute;top:-6px}.menu summary span:after{position:absolute;top:6px}
.menu div{position:absolute;right:0;top:48px;background:#fff;border-radius:18px;padding:10px;min-width:220px;box-shadow:0 18px 48px #17301f26;display:grid}.menu div a{color:var(--text)!important;padding:12px 14px;border-radius:10px}.menu div a:hover{background:var(--bg)}
@media(max-width:900px){.top{grid-template-columns:auto 1fr}.top nav.left{display:none}.brand{order:-1}.menu{display:block}.top nav a.lang{display:none}}
@media(max-width:420px){.top nav a.cta{padding:9px 14px;font-size:14px}}
/* héros */
.hx{position:relative;height:min(100svh,920px);min-height:600px;color:#fff;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;text-align:center;margin:0}
.hx picture,.hx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.hx:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f1f1400 30%,#0f1f148c 70%,#0f1f14cc 100%)}
.hx-in{position:relative;z-index:2;padding:0 20px clamp(48px,8vh,88px);max-width:1100px}
.hx-k{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.hx h1{font-family:var(--disp);font-variation-settings:"wdth" 75;font-weight:800;text-transform:uppercase;color:#fff;font-size:clamp(46px,8.4vw,124px);line-height:.9;letter-spacing:-.01em;margin:0 0 32px;text-wrap:balance}
.hx-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:0}
/* mission */
.mission{text-align:center;max-width:900px;margin:0 auto;padding:clamp(80px,12vw,150px) 0 clamp(70px,10vw,120px)}
.m-big{font-family:var(--disp);font-weight:600;font-size:clamp(26px,3.3vw,42px);line-height:1.22;color:var(--brand);margin:0 0 26px;text-wrap:balance}
.m-small{color:var(--muted);max-width:620px;margin:0 auto 34px}.m-note{color:var(--muted);font-size:14px;margin-top:14px}
/* pourquoi */
.why{background:var(--studio);padding:clamp(70px,9vw,120px) clamp(20px,4vw,56px) 0;text-align:center;overflow:hidden}
.why-g{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr minmax(280px,520px) 1fr;align-items:center;gap:clamp(16px,3vw,48px)}
.why-g img{display:block;width:100%;margin-bottom:-4px;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 72%,transparent 100%)}
.why-col{display:grid;gap:56px}.why-col:first-child{text-align:right}.why-col:first-child .why-it{align-items:flex-end}.why-col:last-child{text-align:left}
.why-it{display:flex;flex-direction:column;gap:12px}.why-it svg{width:46px;height:46px;fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.why-it h3{font-variation-settings:"wdth" 75;text-transform:uppercase;font-size:clamp(20px,1.9vw,27px);line-height:1.05;color:var(--brand);margin:0;max-width:260px}
@media(max-width:860px){.why-g{grid-template-columns:1fr 1fr}.why-g img{grid-column:1/-1;grid-row:1;max-width:420px;margin:0 auto}.why-col,.why-col:first-child,.why-col:last-child{text-align:left;gap:30px;padding-bottom:56px}.why-col:first-child .why-it{align-items:flex-start}}
/* bandeau défilant */
.band{background:var(--brand);color:var(--gold);overflow:hidden;padding:20px 0;white-space:nowrap}
.band div{display:inline-flex;animation:band 38s linear infinite}.band span{font-family:var(--disp);font-variation-settings:"wdth" 75;font-weight:800;text-transform:uppercase;font-size:clamp(26px,3vw,40px);padding:0 28px;position:relative}
.band span:after{content:"✦";position:absolute;right:-12px;color:#ffffff59;font-size:.5em;top:50%;transform:translateY(-50%)}
@keyframes band{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.band div{animation:none}}
/* ce soir */
.tonight{padding:clamp(80px,10vw,130px) 0 20px}.tonight .live{margin:0}
.offers{gap:28px}.offer img,.soon img{border-radius:22px;transition:transform .35s ease}.offer:hover img{transform:scale(1.02)}
.soon b,.offer .m,.offer .p{font-family:var(--disp);font-weight:700}.soon em{background:#fff;color:var(--brand);box-shadow:0 4px 14px #0000001a}
.empty-note{font-size:15px}
/* comment */
.how{padding:clamp(70px,9vw,120px) 0}.how-g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.how-g div{border-top:2px solid var(--brand);padding-top:22px}.how-g span{font-family:var(--disp);font-variation-settings:"wdth" 75;font-weight:800;font-size:64px;line-height:1;color:var(--gold)}
.how-g h3{font-size:26px;margin:14px 0 8px;color:var(--brand)}.how-g p{color:var(--muted);margin:0}
@media(max-width:760px){.how-g{grid-template-columns:1fr}}
/* duos photo + texte */
.duo{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.duo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.duo-t{padding:clamp(48px,7vw,110px) clamp(24px,6vw,96px);display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.duo-t .disp{font-size:clamp(38px,4.6vw,68px)}.duo-t p{max-width:480px;color:var(--muted)}.duo-t .btn{margin-top:14px}
.duo-t.dark{background:var(--brand)}.duo-t.dark .disp{color:#fff}.duo-t.dark p{color:#D7E3DA}.duo-t.dark .eyebrow{color:var(--gold)}
.duo.rev img{order:2}
@media(max-width:860px){.duo{grid-template-columns:1fr;min-height:0}.duo img{aspect-ratio:16/10;height:auto}.duo.rev img{order:0}}
/* verset */
.verse{background:var(--night);color:#fff;text-align:center;padding:clamp(80px,10vw,130px) 24px}
.verse .ar{font:500 clamp(46px,7vw,96px)/1.5 "Reem Kufi","Cairo",sans-serif;color:var(--gold);margin:0 0 10px}
.verse p:last-child{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin:0}
/* quartiers, faq */
.hoods2{padding:clamp(80px,10vw,130px) 0 30px;text-align:center}.hoods2 div{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hoods2 a{font-family:var(--disp);font-weight:700;font-size:clamp(18px,1.7vw,22px);color:var(--brand);text-decoration:none;padding:16px 28px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--paper);transition:background .15s,color .15s}
.hoods2 a:hover{background:var(--brand);color:#fff}
.faq2{max-width:860px;margin:0 auto;padding:clamp(70px,9vw,110px) 0 40px}.faq2 .disp{text-align:center}
.faq2 details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;margin:0}
.faq2 summary{list-style:none;cursor:pointer;font-family:var(--disp);font-weight:700;font-size:21px;padding:24px 44px 24px 0;position:relative;color:var(--brand)}
.faq2 summary::-webkit-details-marker{display:none}.faq2 summary:after{content:"+";position:absolute;right:6px;top:18px;font:300 30px/1 Inter,sans-serif;color:var(--gold-deep);transition:transform .2s}
.faq2 details[open] summary:after{transform:rotate(45deg)}.faq2 details p{color:var(--muted);margin:0 0 24px}
.more{display:inline-block;margin-top:28px;font-weight:600;color:var(--brand);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px}
/* pied de page */
.foot{background:var(--night);color:var(--soft);padding:clamp(56px,7vw,90px) clamp(20px,4vw,56px) 28px;text-align:left;font-size:15px}
.foot-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-brand img{height:36px;width:auto}.foot-brand p{max-width:260px;margin-top:16px;font-family:var(--disp);font-size:20px;line-height:1.3;color:#fff}
.foot h4{color:var(--gold);font-family:Inter,sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:6px 0 16px}
.foot a{display:block;color:#fff;text-decoration:none;margin:0 0 10px;opacity:.86}.foot a:hover{opacity:1;color:var(--gold)}
.legal{max-width:1240px;margin:56px auto 0;padding-top:22px;border-top:1px solid #ffffff1f;font-size:13px}
@media(max-width:860px){.foot-in{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
/* pages intérieures */
main>h1:first-child,main>section:first-child h1{font-family:var(--disp);font-variation-settings:"wdth" 75;font-weight:800;text-transform:uppercase;font-size:clamp(42px,6vw,80px);line-height:.95;color:var(--brand);margin:56px 0 18px}
main h2{font-variation-settings:"wdth" 85}
.grid3>div,details,.steps div{border-radius:20px;border-color:var(--line)}
.hero-c{background:var(--brand)}
main details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;margin:0}
main summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative}main summary::-webkit-details-marker{display:none}
main summary:after{content:"+";position:absolute;right:6px;top:18px;font:300 30px/1 Inter,sans-serif;color:var(--gold-deep);transition:transform .2s}main details[open] summary:after{transform:rotate(45deg)}
main summary h2{font-family:var(--disp);font-variation-settings:"wdth" 100;font-weight:700;font-size:21px;color:var(--brand)}main details>p,main details>div{color:var(--muted);margin:0 0 24px}
.leaflet-container{border-radius:24px;background:#EEE8DA}.leaflet-tile-pane{filter:grayscale(.85) sepia(.18) brightness(1.04) contrast(.92)}
main input[type=search],main input[type=text]{border-radius:999px!important;border:1.5px solid var(--line)!important;background:#fff;padding-left:22px!important}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{font:inherit;font-size:14px;font-weight:600;border:1px solid #e6dfcf;background:#fff;color:var(--brand);padding:7px 14px;border-radius:999px;cursor:pointer}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn.gold{background:var(--gold);color:var(--brand)}button.btn{border:0;font:inherit;font-weight:700;cursor:pointer}button.btn.ghost{border:2px solid var(--brand)}
.search{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search input,.search select{flex:1;min-width:220px;font:inherit;padding:12px 16px;border:1px solid #e6dfcf;border-radius:12px;background:#fff;color:var(--text)}.search .btn{margin:0}
.meta{color:var(--muted);font-size:14px}.note{color:var(--muted);font-size:13px}.sr{position:absolute;left:-9999px}
main:has(#map){max-width:1200px}.mapwrap{display:grid;grid-template-columns:1fr 340px;gap:16px}#map{height:560px;border-radius:18px;z-index:0}
.maplist{max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:8px}.litem{all:unset;cursor:pointer;display:block;background:#fff;border:1px solid #e6dfcf;border-radius:14px;padding:12px 14px}.litem.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.litem strong{display:block}.litem span{display:block;color:var(--muted);font-size:13px}.litem em{font-style:normal;color:var(--green);font-weight:700;font-size:13px}
@media(max-width:820px){.mapwrap{grid-template-columns:1fr}#map{height:420px}.maplist{max-height:none}}
.pinfo{font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;color:var(--text);display:flex;flex-direction:column;gap:6px}.pinfo .ph{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pinfo strong{font-size:16px}
.lvl{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;background:#E3F4EA;color:var(--green)}.lvl.l-yes,.lvl.l-partial{background:var(--gold-soft);color:var(--brand)}
.prods{display:flex;flex-wrap:wrap;gap:4px}.prod{font-size:12px;border:1px solid #e6dfcf;border-radius:999px;padding:1px 8px;background:var(--bg)}.acts .btn{padding:7px 12px;font-size:13px;margin:4px 4px 0 0}
.shabbat{display:flex;flex-wrap:wrap;gap:36px;background:var(--brand);color:#fff;border-radius:20px;padding:24px 28px;margin:18px 0}.shabbat span{display:block;color:var(--gold);font-size:13px;font-weight:600}.shabbat strong{font-size:19px}
.shweeks{display:grid;gap:8px}.shweeks div{display:grid;grid-template-columns:110px 1fr auto;gap:12px;background:#fff;border-radius:12px;padding:10px 16px}.shweeks span{color:var(--muted)}.shweeks em{font-style:normal;font-weight:700}
.hols{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.hol{background:#fff;border-radius:14px;padding:14px 16px;border:1px solid #e6dfcf}.hol strong{display:block}.hol span{color:var(--muted);font-size:14px}.hol.off{background:var(--gold-soft);border-color:var(--gold)}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.rcard{display:block;background:#fff;border-radius:16px;padding:18px;text-decoration:none;color:var(--text);border:1px solid #e6dfcf}.rcard h2{font-size:19px;margin:.3em 0}.rcard p{color:var(--muted);font-size:15px;margin:.3em 0}
.tag.k-bassari{background:#FBE3DD;color:#B4442E}.tag.k-halavi{background:#DDEAF8;color:#2F6CB0}.tag.k-parve{background:#E3F4EA;color:var(--green)}
.recipe h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:.3em 0}.rcols{display:grid;grid-template-columns:1fr 1.4fr;gap:28px}.rcols section{background:#fff;border-radius:16px;padding:6px 22px;margin:0}.rcols li{margin:6px 0}
@media(max-width:720px){.rcols{grid-template-columns:1fr}}
.shweeks div{grid-template-columns:150px 1fr 1fr}
