:root{--envie-background:#f4f1eb}.enviesGrid{align-items:stretch}.envieCard{position:relative;overflow:hidden;background:#fff;border:1px solid #e9e4dc;border-radius:20px;display:flex;flex-direction:column;box-shadow:0 2px 7px #33281805}.envieVisual{width:100%;display:block;background:var(--envie-background);padding:18px;border:0;aspect-ratio:1.35;overflow:hidden}.envieFood{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px}.envieInfo{padding:17px;display:flex;flex-direction:column;flex:1;gap:9px}.envieFamily{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#8b7564}.envieCard .productname{font:800 20px/1.15 Outfit,system-ui;text-align:left;letter-spacing:-.03em;margin:0}.envieDescription{font-size:12px;line-height:1.55;color:#73716c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px;margin:0 0 6px}.enviePrices{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e8e3db;border-radius:12px;overflow:hidden}.enviePrice{padding:12px 9px;text-align:left;display:flex;flex-direction:column;gap:4px;min-width:0;transition:background .15s}.enviePrice+*{border-left:1px solid #e8e3db}.enviePrice:hover,.enviePrice:focus-visible{background:#fff1ed}.enviePrice>span{font-size:11px;font-weight:700}.enviePrice>strong{font-size:18px;line-height:1.2;color:#bc3025}.enviePrice small{font-size:9px;color:#79736c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enviePrice strong small{font-size:10px;color:inherit}.enviePrice.unavailable{color:#a29e97;background:#faf9f7;justify-content:center}.envieMerchants{font-size:10px;text-align:left;line-height:1.4;color:#6f6b64;padding:4px 0}.envieMerchants>span{font-weight:700;color:#292522}.envieSelectionSummary{background:var(--envie-background);border-radius:12px;padding:15px;margin:17px 0}.envieSelectionSummary strong{font-size:13px}.envieSelectionSummary p{font-size:12px;line-height:1.5;margin:8px 0}.envieSelectionSummary button{font-size:11px;color:#ad2f25;text-decoration:underline;padding:5px 0}.envieChooserFood{width:100%;height:230px;object-fit:contain;background:var(--envie-background);padding:20px}.envieMerchantOffers{margin-top:25px}.envieMerchantOffers h3{font-size:16px;margin-bottom:10px}.envieOffer{width:100%;border:1px solid #e5dfd6;border-radius:12px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;padding:16px;margin-top:8px}.envieOffer:hover{background:#fff6f0}.envieOffer strong{display:block;font-size:15px}.envieOffer small{display:block;color:#78716a;font-size:11px;line-height:1.5;margin-top:5px}.envieOffer>b{white-space:nowrap}.enviesHeading h2{font:800 30px Outfit;letter-spacing:-.04em}.enviesHeading p{color:#82776c;font-size:13px;margin:7px 0 23px}.calmContent .categoryPhoto{background-color:var(--envie-background)}@media(max-width:600px){.envieVisual{padding:10px;aspect-ratio:1.1}.envieInfo{padding:12px;gap:8px}.envieCard{border-radius:15px}.envieCard .productname{font-size:17px}.envieDescription{font-size:10px;min-height:31px}.enviePrice{padding:10px 7px}.enviePrice>strong{font-size:15px}.enviePrice>span{font-size:10px}.enviePrice small{font-size:8px}.envieFamily{font-size:8px}.envieMerchants{font-size:9px}.envieChooserFood{height:195px}}

.envieModalFood{background:var(--envie-background);object-fit:contain;padding:24px}

.enviePrices.single{grid-template-columns:1fr}.enviePrice small.enviePriceProducer{white-space:normal;overflow:visible;text-overflow:clip;font-size:10px;line-height:1.35;color:#63564c}@media(max-width:600px){.enviePrice small.enviePriceProducer{font-size:9px}}

.envieMaskedStage{display:grid;place-items:center;background:var(--envie-background);overflow:hidden}.envieMaskedStage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;mask-mode:luminance;mask-size:100% 100%;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}.envieMaskedStage.modalfood{padding:28px;box-sizing:border-box}.envieMaskedStage.envieFood{background:transparent}.envieMaskedStage.envieChooserFood{padding:24px;box-sizing:border-box}
.envieNavigationPhoto.categoryPhoto,.envieNavCollage.categoryPhoto,.envieNavPending.categoryPhoto{background:var(--envie-background);display:grid;place-items:center;overflow:hidden;padding:10px;box-sizing:border-box}.envieNavigationFood{width:100%;height:100%;object-fit:contain;min-height:0;display:block;border-radius:0}.envieNavigationPhoto .envieMaskedStage{background:transparent;display:grid}.envieNavCollage.categoryPhoto{grid-template-columns:1fr 1fr;gap:1px;padding:7px}.envieNavCollage.categoryPhoto>.categoryPhoto{width:100%;height:100%;border-radius:0;padding:2px;box-shadow:none;outline:none}.envieNavPending span{font-size:12px;color:#877563;font-weight:600;line-height:1.4}
.envieMaskedStage{position:relative}.envieMaskedStage img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;mask-size:contain;-webkit-mask-size:contain;mask-position:center;-webkit-mask-position:center}.envieMaskedStage.modalfood img,.envieMaskedStage.envieChooserFood img{inset:20px;width:calc(100% - 40px);height:calc(100% - 40px)}
.envieMissingPhoto{display:grid;place-items:center;background:var(--envie-background);color:#8c8174;font-size:12px;line-height:1.4;text-align:center}.envieMissingPhoto.envieFood{border-radius:0}.envieMissingPhoto.modalfood{box-sizing:border-box}
/* Keep both formula prices and the producing restaurant readable on narrow cards. */
.enviePrice strong small{display:block;line-height:1.25;margin-bottom:2px}.enviePrice .enviePriceProducer{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35}

.calmContent .fullCategory.envieAllText{align-self:center;min-width:100px;flex-basis:100px;padding:12px;border:1px solid #e9e4dc;border-radius:12px;background:#fff}.fullCategory.envieAllText strong{margin:0;display:block}.fullCategory.envieAllText.active{border-color:var(--red);background:#fff6f0}

/* Owner sorting phase: preserve ordering actions; dim other catalogues only. */
.envieCard.envieOtherSource .envieVisual{filter:grayscale(1);opacity:.5}.envieCard.envieOtherSource .envieInfo{opacity:.68}.envieCard.envieOtherSource .enviePrice strong{color:#777}
.envieMenuStage.modalfood{height:auto;min-height:280px;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:8px;padding:20px;background:#f4f1eb;object-fit:initial}.envieMenuStage figure{margin:0;text-align:center;min-width:0}.envieMenuStage img{width:100%;height:180px;object-fit:contain;display:block}.envieMenuStage figcaption{font-size:12px;line-height:1.4;color:#514b45;padding:4px}.envieMenuComponents{display:grid;grid-template-columns:1fr;gap:6px}.envieMenuStage .envieMenuComponent img{height:95px}.envieMenuComponentLabel{display:grid;place-items:center;min-height:70px;padding:12px;background:#fff;border-radius:12px;font-weight:700;font-size:14px}
.envieMenuBlend img{mix-blend-mode:multiply}.envieMenuStage .envieMaskedStage{background:transparent;min-height:0}.envieSelectionSummary button{margin-right:12px}
/* Cohesive menu photography. Original merchant cards and standalone photos stay separate. */
.envieMenuStage.modalfood{display:block;min-height:0;padding:0;gap:0;height:auto;background:#f4f1eb}.envieMenuStage .envieMenuPhoto{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}.envieMenuExample,.envieMenuActualChoices{margin:0;padding:10px 18px 14px;color:#786c60;font-size:11px;line-height:1.5;text-align:center}.envieMenuNatural{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:radial-gradient(ellipse at 40% 40%,#f8f4ec,#eee6db)}.envieMenuNaturalMain{position:absolute;left:3%;bottom:12%;width:64%;height:74%;z-index:3;filter:drop-shadow(0 12px 8px #4e34231c)}.envieMenuNaturalPart{position:absolute;filter:drop-shadow(0 8px 5px #4e34231a)}.envieMenuNatural .envieNaturaldrink{right:6%;top:7%;width:19%;height:57%;z-index:1}.envieMenuNatural .envieNaturalside{right:8%;bottom:10%;width:35%;height:43%;z-index:2}.envieMenuNatural .envieNaturaldessert{right:3%;bottom:4%;width:23%;height:30%;z-index:4}.envieMenuNaturalMain img,.envieMenuNaturalPart img,.envieMenuNatural .envieMaskedStage{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:transparent}.envieMenuNatural .envieMenuBlend{filter:none;mix-blend-mode:multiply}.envieMenuNatural .envieMaskedStage img{height:100%;width:100%;object-fit:contain}
