html,body{margin:0} .modal-overlay{position:fixed;inset:0;background:#25110ac9;display:grid;place-items:center;z-index:200;padding:20px}.modal-overlay>.panel{max-width:500px}.install-test-link{background:#b91d18;color:white!important;padding:12px 20px;border-radius:8px;display:inline-flex;font-weight:700}
.preview-private-notice{padding:10px 16px;background:#2a1713;color:#fff9ed;text-align:center;font:600 13px/1.5 system-ui}.preview-overlay iframe{height:calc(100dvh - 84px);border:0;background:#fff9ed}
.notification-center[hidden]{display:none!important}.address-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.address-actions .danger{color:#b91d18}
@media(max-width:650px){.site-header .account-icon{display:inline-flex;flex-shrink:0;width:36px;height:36px}.site-header .header-actions{gap:3px}.address-card .address-actions{grid-column:2 / -1}.site-header .brand{min-width:0}.site-header .brand>span{max-width:110px}}
@media(max-width:380px){.site-header{padding-inline:10px;gap:4px}.site-header .brand{gap:4px}.site-header .brand>img{width:40px;height:40px}.site-header .brand>span{font-size:20px;max-width:78px}.site-header .brand small{font-size:6px;letter-spacing:0;max-width:78px}.site-header .language{font-size:9px;margin-inline-end:2px}.site-header .cart-button{padding-inline:8px;gap:4px}}
html{scroll-behavior:smooth}#menu,#offres,#contact,#notre-histoire{scroll-margin-top:24px}.one-page-store .hero{min-height:450px}.one-page-store .hero-copy{padding-top:44px;padding-bottom:32px}.one-page-store .hero h1{font-size:62px}.one-page-store .hero-visual{min-height:450px}.one-page-store .hero-circle{width:390px;height:390px;top:26px;left:40px}.one-page-store .hero-food{width:460px;height:265px;top:106px;left:0}.one-page-store .hero-stamp{top:42px}.one-page-store .hero-price{top:72px;right:42px}.one-page-store .floating-delivery{bottom:22px}.one-page-store .hero-copy>p{margin:16px 0 20px}.one-page-store .hero-note{margin-top:20px}.one-page-store .offers-section{padding-bottom:36px}.home-menu{padding-top:35px}.menu-intro{margin-top:12px;color:var(--muted);font-size:14px}.category-picker{display:flex;gap:24px;overflow-x:auto;padding:9px 4px 18px;scrollbar-width:thin}.category-choice{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;min-width:95px;padding:6px 4px;color:var(--ink)}.category-picture{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;padding:4px;border:2px solid transparent;transition:border-color .15s,transform .15s}.category-picture img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--cream)}.all-categories{background:#f7eadd;color:var(--red);font-size:40px;border:6px solid #fffefa}.category-choice strong{font-size:13px;white-space:nowrap}.category-choice.selected .category-picture{border-color:var(--red);transform:translateY(-3px)}.category-choice.selected strong{color:var(--red)}.category-choice:hover .category-picture{border-color:var(--orange)}.menu-search-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 24px}.menu-count{font-size:13px;color:var(--muted)}.menu-search-row .search-box{width:310px;max-width:100%}.one-page-store .product-card{border-radius:18px;box-shadow:0 4px 18px #40220d06;transition:box-shadow .18s,transform .18s}.one-page-store .product-card:hover{box-shadow:0 10px 25px #40220d12;transform:translateY(-3px)}.one-page-store .card-art{aspect-ratio:4/3;height:auto}.one-page-store .card-art .food-art{height:100%;width:100%}.food-art.uploaded img{object-fit:cover;width:100%;height:100%}.one-page-store .offers-grid .card-art{aspect-ratio:4/3}.home-contact .contact-form{margin-top:24px}.home-contact h3{margin:14px 0 10px}.home-contact .contact-grid .panel>svg{color:var(--red)}
@media(max-width:1000px){.category-picker{gap:12px}.category-picture{width:82px;height:82px}.category-choice{min-width:82px}.one-page-store .hero h1{font-size:52px}.one-page-store .hero-food{width:390px}.one-page-store .hero-circle{width:330px;height:330px;left:20px;top:55px}.one-page-store .hero-price{right:12px}.one-page-store .hero-copy{padding-inline-start:35px}}
@media(max-width:650px){.one-page-store .hero h1{font-size:47px}.one-page-store .hero-copy{padding:32px 24px 10px}.one-page-store .hero-visual{min-height:320px}.one-page-store .hero-circle{width:270px;height:270px;top:22px;left:calc(50% - 135px)}.one-page-store .hero-food{width:310px;height:185px;top:72px;left:calc(50% - 155px)}.one-page-store .hero-price{width:90px;height:90px;top:26px;right:20px}.one-page-store .hero-price strong{font-size:36px}.one-page-store .hero-stamp{top:17px;left:22px}.one-page-store .floating-delivery{bottom:5px;left:25px;padding:10px 12px}.one-page-store .hero-note{margin-top:15px}.one-page-store .offers-section{padding-top:38px}.home-menu{padding-top:16px}.category-picker{gap:10px;margin-inline:-5px}.category-choice{min-width:74px;flex:none}.category-picture{width:72px;height:72px}.category-choice strong{font-size:11px}.menu-search-row{flex-direction:column-reverse;align-items:stretch;gap:12px}.menu-search-row .search-box{width:100%}.one-page-store .product-grid,.one-page-store .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.one-page-store .product-info{padding:12px}.one-page-store .product-info h3{font-size:15px}.one-page-store .product-info>p{font-size:11px}.one-page-store .card-bottom strong{font-size:16px}.one-page-store .add-button{width:32px;height:32px}.one-page-store .badge{font-size:9px;padding:5px 7px}.home-contact .contact-grid{grid-template-columns:1fr}.home-contact .panel{padding:22px}.one-page-store .hero-buttons{gap:16px}.one-page-store .hero-buttons .btn{padding:14px 16px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.category-picture,.one-page-store .product-card{transition:none}}
.all-categories img{object-fit:contain;background:transparent;padding:5px}.address-tablist{display:flex;gap:8px;margin-bottom:18px;padding:6px;background:#f5efe5;border:1px solid var(--line);border-radius:14px}.address-tablist [role=tab]{flex:1;border-radius:10px;padding:14px 12px;font-weight:700;font-size:13px;line-height:1.45}.address-tablist [aria-selected=true]{background:var(--red);color:white;box-shadow:0 3px 8px #60130b14}.delivery-address-tabs [role=tabpanel][hidden]{display:none!important}.delivery-address-tabs .saved-addresses h2{font-size:21px;margin-bottom:22px}.cart-drawer .btn:disabled,.cart-page .btn:disabled{background:#c9c3ba;color:#fff;opacity:1;cursor:not-allowed;transform:none}
@media(max-width:650px){.address-tablist{gap:4px;padding:4px}.address-tablist [role=tab]{font-size:12px;padding:12px 8px}}
.alarm-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0}.alarm-controls label{display:grid;gap:5px;font-size:12px;font-weight:700;min-width:190px}.alarm-controls input[type=range]{padding:0;min-height:32px;accent-color:var(--red)}
.password-input{display:block;position:relative;width:100%}.password-input input{padding-inline-end:50px}.password-toggle{position:absolute;inset-inline-end:3px;top:3px;width:40px;height:40px;display:grid;place-items:center;color:var(--muted);border-radius:8px}.password-toggle:hover{color:var(--red);background:#faece8}
.store-availability{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--line);background:#fff9ed;padding:22px;border-radius:16px;margin:18px 0 26px}.store-availability h2{font-size:20px;letter-spacing:-.4px;margin-bottom:8px}.store-availability small{display:block;max-width:630px;line-height:1.6}.store-state{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--red)}.store-state.open{color:#286a48}.store-availability .error,.store-control-saved{flex-basis:100%;font-size:13px}.store-control-saved{color:#286a48}@media(max-width:650px){.store-availability{padding:18px;gap:16px}.store-availability>.btn{width:100%;min-height:46px}}
.delivery-driver-contact{border:1px solid #d8e6dc;background:#f2f8f3;border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0 20px}.delivery-driver-contact>div{display:flex;gap:12px;align-items:center}.delivery-driver-contact>div>div{display:grid;gap:5px}.delivery-driver-contact strong{font-size:15px}.delivery-driver-contact bdi{font-size:14px}.delivery-driver-contact>div>svg{color:#286a48}@media(max-width:650px){.delivery-driver-contact .btn{width:100%}}
.ordering-settings{border:1px solid var(--line);background:#fff9ed;border-radius:14px;margin:16px 0 24px;overflow:hidden}.ordering-settings>summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;cursor:pointer}.ordering-settings>summary::-webkit-details-marker{display:none}.ordering-settings summary strong{font-size:15px;display:block}.ordering-settings summary small{display:block;margin-top:6px;color:var(--red)}.ordering-settings summary small.open{color:#286a48}.ordering-chevron{font-size:24px;transition:transform .15s}.ordering-settings[open] .ordering-chevron{transform:rotate(180deg)}.ordering-settings-body{padding:4px 22px 22px;border-top:1px solid var(--line)}.ordering-settings-body form{padding-top:18px;display:grid;gap:16px}.ordering-settings-body .checkbox{margin:0}.ordering-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ordering-day{display:grid;grid-template-columns:minmax(90px,1fr) 80px 1fr 1fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.ordering-day .field{margin:0}.ordering-settings summary:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}@media(max-width:650px){.ordering-settings>summary{padding:16px}.ordering-settings-body{padding:4px 16px 18px}.ordering-day{grid-template-columns:1fr 1fr}.ordering-day>.checkbox{justify-self:end}.ordering-settings-body .btn{width:100%}.ordering-day strong{font-size:13px}}
.notification-reconnecting{padding:12px 14px;background:#f4f0e7;border:1px solid var(--line);border-radius:10px;font-size:13px;margin:12px 0;line-height:1.6}.notification-reconnecting .text-link,.notification-center .error .text-link{display:inline-flex;margin-inline-start:12px}

.connection-loss-alert{background:#fff0ed;border:2px solid #b91d18;border-radius:14px;color:#9b1c17;padding:18px;margin-bottom:18px;overflow-wrap:anywhere}.connection-loss-alert strong{font-size:1.1rem}.connection-loss-alert p{margin:8px 0 0;line-height:1.5}

/* Show the entire drink photo at every card/modal size, without stretching or hover cropping. */
.food-art.uploaded.drink-photo{background:#f8f3eb}
.food-art.uploaded.drink-photo img{object-fit:contain;object-position:center;display:block}
.product-card:hover .card-art .food-art.drink-photo{transform:none}
/* Fulfillment and hero framing, shared by FR and AR. */
.fulfillment-choice{border:1px solid #e8e0d3;border-radius:16px;padding:16px;margin:16px 0 24px;min-width:0}.fulfillment-choice legend{font-weight:700;padding:0 6px}.fulfillment-options{display:flex;flex-wrap:wrap;gap:9px}.fulfillment-options label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #ddd4c5;border-radius:12px;cursor:pointer;flex:1;min-width:115px}.fulfillment-options label.selected{border-color:#b91d18;background:#fff1eb}.fulfillment-options input{accent-color:#b91d18}.fulfillment-choice .field{margin-top:16px}.fulfillment-badge{font-weight:700;color:#9c211d;font-size:14px}/* Align the photo frame exactly with the red disk. The current transparent
   subject fits completely at 96% of its diameter, without image scaling. */
.one-page-store .hero-food{width:390px;height:390px;left:40px;top:26px;display:grid;place-items:center;border-radius:50%;overflow:hidden}
.one-page-store .hero-food .food-art{width:100%;height:100%;background:transparent;display:grid;place-items:center;overflow:visible}
.one-page-store .hero-food .food-art.uploaded img{width:96%;height:96%;object-fit:contain;transform:none;max-width:100%}
.one-page-store .hero-price,.one-page-store .hero-stamp,.one-page-store .floating-delivery{z-index:2}
.category-choice .category-picture{border:2px solid var(--orange);padding:4px;transition:border-width .15s}
.category-choice.selected .category-picture{border:6px solid var(--orange);padding:0;transform:none}
.category-choice:hover .category-picture{border-color:var(--orange)}
@media(max-width:1000px){.one-page-store .hero-food{width:330px;height:330px;left:20px;top:55px}}
@media(max-width:650px){.one-page-store .hero-food{width:270px;height:270px;left:calc(50% - 135px);top:22px}}

.account-management-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.account-management-actions .danger{color:#b91d18;border-color:#b91d18}

/* Five offers share one desktop row; smaller screens scroll without shrinking cards. */
.one-page-store .offers-section{margin-top:48px}
.one-page-store .offers-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.one-page-store .offers-grid .product-card{min-width:0}
@media(max-width:1000px){.one-page-store .offers-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:240px;overflow-x:auto;gap:16px;padding-bottom:14px;scroll-snap-type:x proximity}.one-page-store .offers-grid .product-card{scroll-snap-align:start}}
@media(max-width:650px){.one-page-store .offers-section{margin-top:32px}.one-page-store .offers-grid{grid-template-columns:none;grid-auto-columns:min(78vw,280px);gap:12px}}
/* Each ordered unit keeps its own composition. */
.unit-quantity,.unit-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.unit-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 0}.unit-tabs button{flex-shrink:0;border:1px solid var(--line);border-radius:20px;padding:10px 14px}.unit-tabs button.active{background:var(--red);border-color:var(--red);color:white}.unit-options{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}.unit-options h3{margin-bottom:16px}.unit-copy{flex-wrap:wrap}.unit-options .option-row{gap:10px}.cart-line .line-detail .text-link{display:block;margin-top:8px}.product-modal .modal-actions .btn.full{width:100%}
@media(max-width:650px){.unit-options{padding:12px}.unit-copy{align-items:stretch;flex-direction:column}.unit-copy .btn{width:100%}}
.order-delivery-map,.admin-cancel-order,.offer-order-manager{margin-block:18px}.admin-cancel-order form{border:1px solid var(--line);padding:16px;border-radius:12px;margin-top:12px}.offer-order-manager{border:1px solid var(--line);border-radius:16px;padding:20px}.offer-order-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.offer-order-row>div{display:flex;gap:8px;flex-shrink:0}.order-delivery-map h3{margin-bottom:12px}.order-delivery-map .btn{margin-top:8px}@media(max-width:650px){.offer-order-row{align-items:stretch;flex-direction:column}.offer-order-row>div{justify-content:flex-end}}

.map-coordinate-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.map-coordinate-links>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.map-coordinate-links code{overflow-wrap:anywhere;user-select:all;font-size:12px}.map-shell[data-map-status="failed"] .allo-map{height:150px;background:#f4f0e7}.map-shell .leaflet-control-attribution{max-width:90%;white-space:normal}

.promo-entry .promo-apply{background:#e7e2dc;border-color:#e7e2dc;color:#625d55;opacity:1}
.promo-entry .promo-apply.is-entered{background:var(--red,#c90000);border-color:var(--red,#c90000);color:#fff;opacity:1}
.promo-entry .promo-apply:disabled{cursor:not-allowed}
