.panel.maison-shell .food-experience{color:#eef9ff;font-size:.93rem;line-height:1.48}
.food-experience *{box-sizing:border-box;min-width:0}
.food-experience h3,.food-experience h4,.food-experience p{margin:0}
.food-experience h3{font-size:1.19rem;line-height:1.25}
.food-experience h4{font-size:1rem}
.food-experience p{color:#c8dfeb}
.food-experience button,.food-experience input,.food-experience select,.food-experience textarea{font:inherit}
.food-experience button{cursor:pointer}
.food-experience input,.food-experience select,.food-experience textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #77a9c477;border-radius:11px;color:#f5fdff;background:#0c2943;font-size:1rem}
.food-experience input::placeholder,.food-experience textarea::placeholder{color:#a2bed1}
.food-experience input:focus-visible,.food-experience select:focus-visible,.food-experience textarea:focus-visible,.food-experience button:focus-visible{outline:2px solid #92e9f4;outline-offset:2px}
.food-kicker{display:block;color:#f3c18d;font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.food-home,.food-inner{display:grid;gap:13px;padding-bottom:12px}
.food-home{gap:7px}
.food-inner{gap:9px}
.food-banner{position:relative;display:grid;align-items:end;min-height:70px;overflow:hidden;border:1px solid #8cdde765;border-radius:17px;background:#0c2a42}
.food-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.food-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#07192ce8 1%,#07192c66 65%,transparent)}
.food-banner>div{position:relative;z-index:1;display:grid;gap:1px;padding:6px 12px}
.food-banner strong{font-size:1rem}
.food-banner p{font-size:.78rem}
.food-main-actions{display:grid;gap:6px}
.panel .food-main-actions button{display:grid;grid-template-columns:39px 1fr;gap:0 9px;align-items:center;min-height:55px;width:100%;padding:6px 11px;border:1px solid #7ab7d16e;border-radius:14px;color:#f4fcff;background:linear-gradient(115deg,#113c57d9,#0a263fdc);text-align:left}
.food-main-actions button span{grid-row:1/3;display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:#98edf5;background:#1c64767a;font-size:.75rem;font-weight:800}
.food-main-actions button strong{font-size:.98rem;line-height:1.2}
.food-main-actions button small{color:#b0d2e2;font-size:.76rem;line-height:1.2}
.panel .food-main-actions button:first-child{border-color:#e8b68171;background:linear-gradient(115deg,#27475bd9,#152c43dc)}
.food-main-actions button:first-child span{color:#ffd39c;background:#8a634c77}
.panel .food-text-link,.panel .food-back{justify-self:start;min-height:30px;padding:4px 2px;border:0;color:#9ce9f1;background:transparent;text-align:left;font-size:.84rem;font-weight:750}
.food-source{padding:7px 9px;border-left:2px solid #83c7d87d;color:#b2cad7!important;background:#16415952;font-size:.76rem;line-height:1.35}
.food-error{padding:9px;border-left:3px solid #ff9b91;color:#ffe2df!important;background:#6d2638}
.food-intro{display:grid;gap:4px}
.food-intro p{font-size:.82rem}
.food-top-links,.food-actions,.food-mini-actions{display:flex;gap:7px;flex-wrap:wrap}
.panel .food-top-links button,.panel .food-actions button,.panel .food-mini-actions button{min-height:39px;padding:7px 10px;border:1px solid #79aec879;border-radius:10px;color:#d6f4ff;background:#123b56;font-size:.79rem;font-weight:700}
.panel .food-actions button:first-child{color:#09283d;background:#8ee2ec}
.panel .food-mini-actions button{min-height:33px;padding:5px 8px;font-size:.74rem}
.food-recipe-card{display:grid;gap:9px;padding:12px;border:1px solid #70a8c26b;border-radius:15px;background:linear-gradient(145deg,#153c57df,#0c2943df)}
.food-recipe-card>div:first-child{display:grid;gap:4px}
.food-recipe-card h4{color:#fff}
.food-recipe-card p{font-size:.82rem}
.food-recipe-card small{color:#a8cadb;font-size:.76rem}
.panel .food-recipe-card .food-actions button{flex:1}
.panel .food-recipe-card .food-actions button:first-child{color:#dff8ff;background:#17445f}
.panel .food-recipe-card .food-actions button:nth-child(2){color:#082638;background:#8de8f1}
.panel .food-recipe-card .food-actions .food-quiet{flex:0 0 auto;border:0;color:#bfd8e5;background:transparent}
.food-empty{padding:13px;border:1px dashed #74b5d07d;border-radius:13px;color:#c4dce7;background:#0d2b42a9;font-size:.85rem}
.food-portions,.food-form label{display:grid;gap:5px;color:#d4e8f1;font-size:.82rem;font-weight:700}
.food-portions{max-width:160px}
.food-ingredients{display:grid;border-top:1px solid #86b9cb68}
.food-ingredients>div{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:8px 0;border-bottom:1px solid #86b9cb43}
.food-ingredients strong{white-space:nowrap}
.food-ingredients small{grid-column:1/-1;color:#add1df;font-size:.74rem}
.food-steps{display:grid;gap:9px;margin:0;padding-left:22px}
.food-steps li{padding-left:3px}
.panel .food-primary{min-height:45px;padding:9px 13px;border:0;border-radius:11px;color:#06283a;background:#8fe7ef;font-weight:800}
.food-day{display:grid;gap:6px;padding:9px;border:1px solid #659db969;border-radius:13px;background:#102e48d1}
.food-day h4{color:#f4c48e}
.food-meal{display:grid;grid-template-columns:41px 1fr;gap:8px;padding:6px 0;border-top:1px solid #79b1ca35}
.food-meal>span{color:#a8ccdb;font-size:.77rem}
.food-meal>div{display:grid;gap:5px}
.food-meal strong{font-size:.86rem}
.food-meal label{display:flex;align-items:center;gap:7px;color:#c4dce7;font-size:.77rem}
.food-meal input{max-width:62px;min-height:36px;padding:5px}
.panel .food-meal>button{min-height:36px;padding:5px 9px;border:1px dashed #79bdd27a;border-radius:9px;color:#b7e9f3;background:#0c304b;font-size:.77rem}
.food-shop-item,.food-stock-item{display:grid;gap:8px;padding:11px;border:1px solid #75a9c56b;border-radius:13px;background:#102e48c9}
.food-shop-item.is-done{opacity:.67}
.food-shop-item>label{display:flex;align-items:flex-start;gap:9px}
.food-shop-item input[type=checkbox]{flex:none;width:23px;height:23px;min-height:23px;margin:1px 0;accent-color:#91e3e9}
.food-shop-item label span{display:grid;gap:4px}
.food-shop-item strong,.food-stock-item strong{font-size:.92rem}
.food-shop-item small,.food-stock-item small{display:block;color:#b7d1df;font-size:.78rem;line-height:1.45}
.food-covered{margin-top:15px;padding:10px 12px;border:1px solid #75abc675;border-radius:12px;color:#c8e6e9;background:#102c40}
.food-covered summary{cursor:pointer;font-weight:700}
.food-covered p{margin:9px 0 0;font-size:.79rem;line-height:1.45}
.food-add-line{display:grid;grid-template-columns:1fr 65px 77px;gap:6px}
.food-add-line input{min-height:42px;padding:7px}
.food-add-line button{grid-column:1/-1;min-height:39px;color:#08283b;background:#8ee1eb}
.food-form{display:grid;gap:11px;padding:11px;border:1px solid #75abc675;border-radius:14px;background:#0c2942d9}
.food-form>button[type=submit],.food-form>.food-actions{position:sticky;bottom:0;z-index:3;padding:7px 0;background:linear-gradient(transparent,#0c2942 28%)}
.food-form h4{font-size:.97rem}
.food-optional{padding:9px;border:1px solid #6fa7c275;border-radius:10px}.food-optional summary{cursor:pointer;color:#d9f0f8;font-size:.84rem;font-weight:700}.food-optional label{margin-top:9px}.food-optional p{margin-top:7px;font-size:.76rem}
.food-form textarea{min-height:100px;resize:vertical}
.food-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.food-stock-item>div:first-child{display:grid;gap:3px}
.panel .food-photo-link{min-height:44px;padding:8px 10px;border:1px solid #c8aa817b;border-radius:11px;color:#ffe6bc;background:#604d475e;text-align:left}
.food-photo-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.food-photo-choices label{display:grid;place-items:center;min-height:52px;padding:8px;border:1px solid #83cadd87;border-radius:11px;color:#e3f8fd;background:#153c55;font-size:.82rem;text-align:center;cursor:pointer}
.food-photo-choices input{position:absolute;width:1px;height:1px;min-height:1px;opacity:0}
.food-photo-preview{display:block;max-width:100%;max-height:190px;border-radius:12px;object-fit:contain}
.food-ingredient-row{display:grid;grid-template-columns:1fr 68px 62px;gap:5px}
.food-ingredient-row input{padding:7px}
.food-confirm-backdrop{position:absolute;z-index:12;inset:0;display:grid;place-items:center;padding:15px;background:#00101bd4}
.food-confirm{display:grid;gap:10px;width:100%;padding:17px;border:1px solid #f2bc927d;border-radius:15px;background:#15334a}
.panel .food-confirm button{min-height:43px}
@media(max-width:390px){.food-two{grid-template-columns:1fr}.food-photo-choices{grid-template-columns:1fr 1fr}}

/* Courses & menus — catalogue bêta. Les visuels de secours sont purement CSS. */
.food-experience{--food-surface:#102e49;--food-edge:#80c8dc62;--food-ink:#f0faff}
.food-inner{gap:14px}
.food-intro h3{font-size:clamp(1.27rem,4vw,1.55rem);letter-spacing:-.02em}
.food-search{display:grid;gap:5px;color:#d9eff6;font-size:.82rem;font-weight:750}
.food-search input{border-color:#89d5e6a0;background:#09273f;padding-left:15px}
.food-filters{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px 0 9px;white-space:nowrap}
.panel .food-filters button{flex:none;min-height:38px;padding:7px 13px;border:1px solid #80b7cf70;border-radius:999px;color:#c9e4ef;background:#102f49;font-size:.8rem;font-weight:750;transition:background .18s,transform .18s,border-color .18s}
.panel .food-filters button.is-active{border-color:#a5f2f2;color:#072b3c;background:#9ce9ee}
.panel .food-filters button:active,.panel .food-recipe-card button:active{transform:scale(.97)}
.food-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.food-recipe-card{display:grid;grid-template-rows:auto 1fr;gap:0;overflow:hidden;padding:0;border:1px solid #79b6cf83;border-radius:19px;background:linear-gradient(150deg,#17425ddb,#0a273fef);box-shadow:0 10px 24px #0015223b;transition:transform .2s,border-color .2s}
.food-recipe-card:hover{border-color:#a4e7ef9a;transform:translateY(-2px)}
.food-card-body{display:grid;align-content:start;gap:8px;padding:13px}
.food-card-body h4{font-size:1.02rem;line-height:1.28}
.food-card-body p{font-size:.82rem;color:#b9d7e5}
.food-card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;color:#f4d1a7;font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.food-card-meta b{padding:3px 7px;border-radius:999px;color:#063447;background:#94e8ed;font-size:.68rem}
.food-recipe-visual{position:relative;display:grid;place-items:center;height:112px;overflow:hidden;border-bottom:1px solid #bce9ef42;background:radial-gradient(circle at 70% 20%,#58b8c282,transparent 35%),radial-gradient(circle at 15% 90%,#e8a57960,transparent 40%),linear-gradient(135deg,#274d65,#0c2d47)}
.food-recipe-visual:after{content:"";position:absolute;width:80%;height:140%;border:1px solid #a7eff05c;border-radius:50%;transform:rotate(-27deg)}
.food-recipe-visual span{z-index:1;color:#d5faff;font-size:3rem;text-shadow:0 0 23px #a5efff}
.food-recipe-visual img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover}
.food-recipe-visual.is-large{height:180px;border:1px solid #9bd5e77d;border-radius:18px}
.food-recipe-visual.is-large span{font-size:4.5rem}
.food-theme-airfryer,.food-theme-poulet{background:radial-gradient(circle at 75% 20%,#f7b67787,transparent 40%),linear-gradient(135deg,#31546b,#102c48)}
.food-theme-legumes,.food-theme-vegetarien{background:radial-gradient(circle at 70% 20%,#8ccaa087,transparent 40%),linear-gradient(135deg,#315b59,#0c2e47)}
.food-theme-poisson{background:radial-gradient(circle at 70% 20%,#80cfe287,transparent 40%),linear-gradient(135deg,#31627a,#0c2e47)}
.food-recipe-card .food-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:4px}
.panel .food-recipe-card .food-actions button{min-height:42px;line-height:1.1}
.food-detail-title{display:grid;gap:6px}
.food-detail-title h3{font-size:1.5rem;letter-spacing:-.025em}
.food-detail-title p{font-size:.82rem}
.food-tags{display:flex;gap:5px;flex-wrap:wrap}
.food-tags span{padding:3px 8px;border:1px solid #8bc7d77a;border-radius:999px;color:#d6eff5;background:#1b4c64;font-size:.71rem}
.food-detail [data-food-needs]{display:grid;gap:8px;scroll-margin-top:20px}
.food-detail [data-food-needs]>p{font-size:.77rem}
.food-airfryer{display:grid;gap:5px;padding:12px;border:1px solid #f0c48e8a;border-radius:14px;background:linear-gradient(125deg,#3e4250,#173b52)}
.food-airfryer p,.food-airfryer small{font-size:.81rem;color:#f2e5d5}
.food-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:sticky;bottom:0;z-index:3;padding:8px 0;background:linear-gradient(transparent,#0c2942 35%)}
.panel .food-detail-actions button{min-height:46px;padding:8px;border-radius:11px;font-size:.79rem;font-weight:800}
.panel .food-detail-actions button:last-child{border:1px solid #80c2d47a;color:#d8f5fc;background:#153f58}
.food-shopping>h3{font-size:1.24rem}
.food-shop-group{display:grid;gap:7px;padding:10px;border:1px solid #72abc16e;border-radius:15px;background:#0c2941a6}
.food-shop-group h4{padding:2px 1px 5px;color:#e4c294;font-size:.87rem}
.food-shop-item{border-color:#79b5c54d;background:#174158a9}
.food-shop-item.is-done{opacity:.76}
.food-shop-item.is-done strong{text-decoration:line-through}
.food-add-line{grid-template-columns:minmax(0,1fr) 75px;gap:7px;padding:10px;border:1px solid #83d2dc76;border-radius:14px;background:#123951}
.food-add-line input,.food-add-line select{min-height:42px}
.food-add-line [name=name]{grid-column:1/-1}
.food-add-line [name=category]{grid-column:1/-1}
.food-add-line button{border:0;border-radius:10px;font-weight:800}
.food-covered input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:#93e4e7}
@media(max-width:430px){.food-catalog-grid{grid-template-columns:1fr}.food-recipe-card{grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto;min-height:150px}.food-recipe-visual{height:100%;min-height:148px;border-bottom:0;border-right:1px solid #bce9ef42}.food-card-body{padding:10px;gap:5px}.food-card-body h4{font-size:.94rem}.food-recipe-card .food-actions{grid-template-columns:1fr 1fr}.panel .food-recipe-card .food-actions button{min-height:38px;padding:5px;font-size:.72rem}}
@media(max-width:360px){.food-recipe-card{grid-template-columns:94px minmax(0,1fr)}.food-card-body{padding:8px}.food-detail-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.food-recipe-card,.panel .food-filters button{transition:none}}
