/* BERESTO boutique : restaurant, salle et restauration rapide. */
.restaurant.store-page{background:#f7f4ee;color:#252522;--accent:#b84a1c;--soft:#fff0df}
.restaurant.store-page main{max-width:1320px;padding:0 36px 60px;margin:auto}
.restaurant.store-page .store-header{max-width:1248px;margin:14px auto 0;padding:14px 22px;min-height:76px;border:1px solid #ffffff70;border-radius:18px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #442c1508;gap:22px;top:12px}
.restaurant.store-page .store-logo img{width:150px;height:44px;object-fit:contain}
.restaurant.store-page .store-header nav{gap:24px}.restaurant.store-page .store-header nav a{color:#252522}
.restaurant.store-page .store-header nav button[data-action=account],.restaurant.store-page .store-header nav .nav-app,.restaurant.store-page .header-cart{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;min-height:46px;padding:0 16px;border-radius:9px;font-size:12px;line-height:1;font-weight:700;box-sizing:border-box;white-space:nowrap;margin:0}
.restaurant.store-page .store-header nav button[data-action=account]{border:1px solid #dcd4c8;background:transparent;color:#252522}
.restaurant.store-page .store-header nav .nav-app{background:#191a19;color:#fff;border:1px solid #191a19}.restaurant.store-page .store-header nav .nav-app:hover{background:#373734}
.restaurant.store-page .header-cart{background:#b84a1c;border:1px solid #b84a1c;color:#fff;text-decoration:none}.restaurant.store-page .header-cart span{margin:0;width:22px;height:22px;background:#fff;color:#a94018;flex:0 0 22px}
.restaurant.store-page .store-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;min-height:440px;padding:52px 0 60px;align-items:center}
.restaurant.store-page .store-hero h1{font-size:clamp(36px,4.1vw,58px);line-height:1.08;letter-spacing:-.05em;max-width:620px;margin:16px 0 24px}
.restaurant.store-page .hero-description{max-width:570px;color:#62625b;font-size:15px;line-height:1.8;margin:0}
.restaurant.store-page .shop-hero-cta{display:inline-flex;align-items:center;gap:28px;margin:25px 0;background:#b84a1c;color:#fff;border-radius:9px;padding:15px 22px;text-decoration:none;font-size:13px;font-weight:700;min-height:48px}
.restaurant.store-page .hero-tags span{font-size:10px;background:transparent;border:0;padding:0}.restaurant.store-page .hero-tags{gap:12px 20px}
.restaurant-installation{position:relative;margin:0;min-height:420px;background:radial-gradient(ellipse at 55% 65%,#f0deca,transparent 68%);isolation:isolate}
.restaurant-installation img{position:absolute;object-fit:contain;filter:drop-shadow(0 14px 14px #4b271514)}
.restaurant-installation .shop-hero-caisse{left:0;top:90px;width:78%;height:255px;z-index:1}
.restaurant-installation .shop-hero-borne{right:0;top:0;width:41%;height:330px;z-index:2}
.restaurant-installation .shop-hero-kds{left:18%;bottom:30px;width:63%;height:190px;z-index:3}
.restaurant-installation figcaption{position:absolute;bottom:0;left:0;right:0;color:#6e645b;text-align:center;font-size:11px}
.restaurant.store-page .store-layout{grid-template-columns:minmax(0,1fr) 350px;gap:30px}.restaurant.store-page .section-heading h2{font-size:28px}
.restaurant.store-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.restaurant.store-page .catalog-group-heading{grid-column:1/-1;display:flex;align-items:flex-start;gap:18px;margin:30px 0 4px;padding-top:26px;border-top:1px solid #ddd5c9}
.restaurant.store-page .catalog-group-heading:first-child{margin-top:0;padding-top:0;border:0}.restaurant.store-page .catalog-group-heading>span{font-size:12px;color:#b84a1c;font-weight:800;padding-top:5px}
.restaurant.store-page .catalog-group-heading h3{margin:0 0 8px;font-size:24px;letter-spacing:-.04em}.restaurant.store-page .catalog-group-heading p{margin:0;color:#68645f;font-size:12px;line-height:1.7}
.restaurant.store-page .product-card{padding:26px;border:1px solid #ddd5ca;border-radius:14px;text-align:left;background:#fff;box-shadow:none}
.restaurant.store-page .product-card h3{font-size:22px;margin:0;letter-spacing:-.04em}.restaurant.store-page .product-kind{padding:0;background:none;font-size:10px;color:#a94018;letter-spacing:.1em}
.restaurant.store-page .subscription-offer{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;gap:12px 24px;background:#fff}
.restaurant.store-page .subscription-offer:has([data-offer-quantity]){background:#f0e5d7}
.restaurant.store-page .subscription-offer .product-kind,.restaurant.store-page .subscription-offer h3,.restaurant.store-page .subscription-offer .product-description{grid-column:1;margin:0;min-height:0}
.restaurant.store-page .subscription-offer .product-price{grid-column:2;grid-row:1/3;margin:0;align-self:center}
.restaurant.store-page .subscription-offer .price-details{grid-column:2;grid-row:3;margin:0;min-height:0}
.restaurant.store-page .product-description{font-size:12px;line-height:1.8;color:#68645f;margin-top:10px}.restaurant.store-page .product-price{font-size:34px;line-height:1.2;letter-spacing:-.04em}.restaurant.store-page .price-details{font-size:11px}
.restaurant.store-page .product-image{height:225px;width:100%;object-fit:contain;background:transparent;padding:0;mix-blend-mode:normal;margin-bottom:14px}.restaurant.store-page .product-visual-note{font-size:9px;color:#736b61;margin-bottom:12px}
.restaurant.store-page .kiosk-hardware{border-top:3px solid #b84a1c}.restaurant.store-page .kiosk-hardware .product-image{height:260px}
.restaurant.store-page .product-card button{min-height:48px;border:0;border-radius:9px;padding:12px 16px;background:#b84a1c;color:#fff;font-size:12px;margin-top:20px}.restaurant.store-page .product-card button[hidden]{display:none!important}
.restaurant.store-page .offer-quantity{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:6px;padding-top:16px;border-top:1px solid #dbd2c5}
.restaurant.store-page .offer-quantity>label{font-size:12px;font-weight:700;margin:0}
.restaurant.store-page .offer-stepper{display:flex;align-items:center;flex:none;border:1px solid #d7cbbd;border-radius:9px;overflow:hidden;background:#fff}
.restaurant.store-page .offer-stepper input{width:50px;min-width:0;height:46px;padding:8px 0;border:0;border-radius:0;text-align:center;font-weight:800;font-size:18px;appearance:textfield;-moz-appearance:textfield;margin:0;color:#252522;background:#fff}
.restaurant.store-page .offer-stepper input::-webkit-inner-spin-button,.restaurant.store-page .offer-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.restaurant.store-page .offer-stepper button{width:46px;height:46px;min-height:46px;padding:0;margin:0;border:0;border-radius:0;color:#252522;background:#fff;font-size:23px}.restaurant.store-page .offer-stepper button:hover{background:#f2e7d9}
.restaurant.store-page .offer-switch{position:relative;display:inline-flex;align-items:center;width:56px;height:46px;flex:0 0 56px;cursor:pointer;margin:0}
.restaurant.store-page .offer-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.restaurant.store-page .offer-switch-track{width:56px;height:32px;border-radius:20px;background:#aaa49b;pointer-events:none;transition:background .18s}
.restaurant.store-page .offer-switch-track::after{content:"";display:block;width:26px;height:26px;margin:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;transition:transform .18s}
.restaurant.store-page .offer-switch input:checked+.offer-switch-track{background:#b84a1c}.restaurant.store-page .offer-switch input:checked+.offer-switch-track::after{transform:translateX(24px)}.restaurant.store-page .offer-switch input:focus-visible+.offer-switch-track{outline:3px solid #b84a1c;outline-offset:4px}
.restaurant.store-page .cart-panel{padding:24px;border:1px solid #ddd5ca;background:#fff;border-radius:14px;top:112px;max-height:calc(100dvh - 135px);overflow-y:auto;scrollbar-width:thin;box-shadow:0 10px 28px #442c1508}
.restaurant.store-page .cart-heading{padding-bottom:14px}.restaurant.store-page .cart-heading h2{font-size:25px;margin:6px 0 0}
.restaurant.store-page .selection-group h3{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#a94018;margin:18px 0 4px}
.restaurant.store-page .selection-line{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;gap:8px 10px;padding:16px 0;border-bottom:1px solid #e9e2d8}
.restaurant.store-page .selection-line>img{width:42px;height:46px;object-fit:contain;align-self:center;background:transparent}.restaurant.store-page .selection-info{min-width:0;grid-column:2}.restaurant.store-page .selection-line:not(:has(>img)) .selection-info{grid-column:1/3}
.restaurant.store-page .selection-info strong{display:block;font-size:12px;line-height:1.5}.restaurant.store-page .selection-info small{display:block;font-size:10px;color:#736b61;margin:3px 0;line-height:1.6}.restaurant.store-page .selection-info b{display:block;color:#a94018;font-size:12px}
.restaurant.store-page .selection-line .line-remove{grid-column:3;grid-row:1;align-self:start;width:44px;min-height:44px;padding:0;border:0;background:#f7f4ee;color:#736b61;border-radius:7px;font-size:19px}
.restaurant.store-page .selection-line .line-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.restaurant.store-page .quantity-control{overflow:hidden;flex:none;border-radius:8px}
.restaurant.store-page .selection-line .quantity-control button{width:44px;min-height:44px;height:44px;padding:0;border:0;border-radius:0;background:#f7f4ee;font-size:20px}.restaurant.store-page .quantity-control span{min-width:30px}
.restaurant.store-page .selection-line select{min-height:44px;padding:7px 8px;max-width:136px;font-size:11px;margin:0}
.restaurant.store-page .cart-panel .primary-button{min-height:48px;border-radius:9px}.restaurant.store-page .quote-button{margin:16px 0 8px}.restaurant.store-page #prepare-checkout{background:#252522;border-color:#252522}.restaurant.store-page #quote-note{font-size:10px;margin:10px 0;line-height:1.7}
.restaurant.store-page #quote-estimate .totals{padding:16px;background:#f7f1e8;border-radius:10px;font-size:11px}.restaurant.store-page #quote-estimate .grand-total{font-size:14px}.restaurant.store-page .cart-footnote{font-size:10px}
.restaurant.store-page .has-quote #prepare-checkout,.restaurant.store-page .has-quote #cart-save,.restaurant.store-page .has-quote #prepare-checkout+.cart-footnote,.restaurant.store-page .has-quote .promo-form{display:none!important}
.restaurant.store-page .printer-configurator{margin-top:18px;border:1px solid #e2d7ca;border-radius:12px;background:#f8f4ee}.restaurant.store-page .printer-configurator summary{list-style:none;cursor:pointer;padding:16px;font-size:12px;font-weight:800;display:flex;justify-content:space-between;gap:10px;color:#a94018}.restaurant.store-page .printer-configurator summary::-webkit-details-marker{display:none}.restaurant.store-page .printer-configurator[open] summary span{transform:rotate(45deg)}
.restaurant.store-page .printer-config-content{padding:0 16px 16px}.restaurant.store-page .printer-config-content h4{font-size:16px;margin:4px 0 10px}.restaurant.store-page .printer-config-content>p{font-size:12px;line-height:1.7;color:#68645f}.restaurant.store-page .printer-config-content fieldset{border:0;padding:0;margin:16px 0}.restaurant.store-page .printer-config-content legend{font-size:11px;font-weight:800;margin-bottom:8px}
.restaurant.store-page .printer-config-content label{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e2d7ca;border-radius:9px;padding:12px;margin:8px 0;cursor:pointer}.restaurant.store-page .printer-config-content label:has(input:checked){background:#fff0df;border-color:#b84a1c}.restaurant.store-page .printer-config-content input[type=radio]{width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;flex:0 0 18px;accent-color:#b84a1c;box-shadow:none}.restaurant.store-page .printer-config-content strong{display:block;font-size:11px;line-height:1.6}.restaurant.store-page .printer-config-content small{display:block;font-size:10px;line-height:1.7;color:#68645f;margin-top:3px}.restaurant.store-page .printer-config-content label>span{min-width:0;flex:1}
.restaurant.store-page .printer-bundle-summary{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #e2d7ca}.restaurant.store-page .printer-bundle-summary>span{font-size:14px;font-weight:800;color:#a94018;white-space:nowrap}
.restaurant.store-page #quote-dialog{width:min(94vw,620px);max-width:620px;padding:30px;background:#f7f4ee}.restaurant.store-page #quote-dialog form{display:grid;gap:16px}.restaurant.store-page #quote-dialog label{display:grid;gap:6px;margin:0;font-size:12px}.restaurant.store-page #quote-dialog input,.restaurant.store-page #quote-dialog textarea{margin:0;width:100%;padding:12px;background:#fff;border:1px solid #ddd5ca;border-radius:8px}.restaurant.store-page #quote-dialog .quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.restaurant.store-page #quote-dialog .quote-close{position:absolute;right:14px;top:12px;width:44px;height:44px;padding:0;background:transparent;border:0;font-size:25px}.restaurant.store-page #quote-dialog .form-trap{position:absolute;left:-10000px}.restaurant.store-page #quote-dialog .btn{min-height:48px;background:#b84a1c;color:#fff;border:0}.restaurant.store-page #quote-dialog small{font-size:10px}
.restaurant.store-page .be-assistant-trigger,.restaurant.store-page .be-assistant-trigger::before{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;animation:none!important;transform:none!important}.restaurant.store-page .be-assistant-avatar{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;animation:restaurant-shop-bot-float 6s ease-in-out infinite}.restaurant.store-page .be-assistant-trigger>span:last-child{animation:none!important;transform:none!important}
@keyframes restaurant-shop-bot-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@media(max-width:1100px){.restaurant.store-page .store-header{margin:12px 24px 0}.restaurant.store-page .store-header nav>a:not(.nav-app){display:none}.restaurant.store-page .store-layout{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.restaurant.store-page .store-hero{gap:18px}.restaurant.store-page .store-hero h1{font-size:44px}.restaurant-installation{min-height:360px}.restaurant-installation .shop-hero-caisse{height:230px;top:65px}.restaurant-installation .shop-hero-borne{height:280px}.restaurant-installation .shop-hero-kds{height:165px}.restaurant.store-page .subscription-offer{grid-template-columns:1fr;gap:12px}.restaurant.store-page .subscription-offer .product-price,.restaurant.store-page .subscription-offer .price-details{grid-column:1;grid-row:auto}}
@media(max-width:760px){.restaurant.store-page main{padding:0 20px 40px}.restaurant.store-page .store-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;margin:10px 14px 0;padding:12px;top:8px;min-height:0}.restaurant.store-page .store-logo{grid-column:1/-1;justify-self:start}.restaurant.store-page .store-logo img{height:38px;width:130px}.restaurant.store-page .store-header nav{display:contents}.restaurant.store-page .store-header nav button[data-action=account]{grid-column:1;grid-row:2}.restaurant.store-page .store-header nav .nav-app{grid-column:2;grid-row:2}.restaurant.store-page .header-cart{grid-column:3;grid-row:2}.restaurant.store-page .store-header nav button[data-action=account],.restaurant.store-page .store-header nav .nav-app,.restaurant.store-page .header-cart{width:100%;padding:0 6px;font-size:11px}.restaurant.store-page .store-hero{grid-template-columns:1fr;padding:34px 0 40px;gap:20px;min-height:0}.restaurant.store-page .store-hero h1{font-size:clamp(34px,7.8vw,46px)}.restaurant.store-page .hero-description{font-size:14px}.restaurant-installation{min-height:330px;max-width:500px;width:100%;justify-self:center}.restaurant-installation .shop-hero-caisse{height:210px;top:50px}.restaurant-installation .shop-hero-borne{height:260px}.restaurant-installation .shop-hero-kds{height:155px;bottom:26px}.restaurant-installation figcaption{font-size:10px}.restaurant.store-page .section-heading{align-items:flex-start;flex-direction:column}.restaurant.store-page .section-heading h2{font-size:26px}.restaurant.store-page .store-layout{display:flex;flex-direction:column;gap:0}.restaurant.store-page .product-grid{grid-template-columns:1fr}.restaurant.store-page .subscription-offer,.restaurant.store-page .product-card{padding:24px}.restaurant.store-page .offer-quantity{gap:12px}.restaurant.store-page .offer-quantity>label{font-size:11px}.restaurant.store-page .cart-panel{position:static;max-height:none;overflow:visible;width:100%;margin:10px 0 30px;padding:24px}.restaurant.store-page .selection-info strong{font-size:13px}.restaurant.store-page .selection-line select,.restaurant.store-page #quote-dialog input,.restaurant.store-page #quote-dialog textarea{font-size:16px}.restaurant.store-page #quote-dialog{padding:28px 20px}.restaurant.store-page #quote-dialog .quote-form-grid{grid-template-columns:1fr}.restaurant.store-page .catalog-group-heading h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.restaurant.store-page .offer-switch-track,.restaurant.store-page .offer-switch-track::after{transition:none}.restaurant.store-page .be-assistant-avatar{animation:none!important}}

@media(max-width:760px){.restaurant.store-page #panier,.restaurant.store-page #catalogue{scroll-margin-top:44px}}

/* Match the restaurant white surfaces without moving cart controls or text. */
.restaurant.store-page :is(.product-card:not(:has([data-offer-quantity])),.cart-panel) {
  background-image: radial-gradient(ellipse at 12% 18%,rgba(255,139,57,.42),rgba(255,139,57,0) 58%),radial-gradient(ellipse at 85% 75%,rgba(255,184,122,.30),rgba(255,184,122,0) 52%);
  background-size:220% 200%,200% 220%;
  background-position:0% 15%,100% 80%;
  background-repeat:no-repeat;
  animation:beresto-orange-flow 10s ease-in-out infinite alternate;
}
.restaurant.store-page .product-card:not(:has([data-offer-quantity])) :is(.product-description,.price-details,.product-visual-note),.restaurant.store-page .cart-panel :is(.selection-info small,.cart-footnote,#quote-note){color:#4d4e47}
@keyframes beresto-orange-flow {
  0% { background-position:0% 15%,100% 80%; }
  50% { background-position:55% 60%,45% 25%; }
  100% { background-position:100% 85%,0% 10%; }
}
@media(prefers-reduced-motion:reduce){.restaurant.store-page :is(.product-card:not(:has([data-offer-quantity])),.cart-panel){animation:none;background-position:45% 45%,55% 55%}}

/* Match the public-site actions while keeping quantity controls unchanged. */
.restaurant.store-page :is(.store-header nav button[data-action=account],.store-header nav .nav-app,.header-cart,.primary-button,.product-card>button,.shop-hero-cta){border-radius:999px}
.restaurant.store-page .shop-hero-cta{min-height:54px;max-width:100%;padding:8px 8px 8px 22px;gap:16px;background:#252725;color:#fff7ec}
.restaurant.store-page .shop-hero-cta .btn-label{min-width:0;line-height:1.45}
.restaurant.store-page .shop-hero-cta .btn-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffdab6;color:#252725}
.restaurant.store-page .shop-hero-cta svg{display:block;width:18px;height:18px;transition:transform .2s}
.restaurant.store-page :is(.shop-hero-cta,.primary-button,.product-card>button):focus-visible{outline:3px solid #252725;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.restaurant.store-page .shop-hero-cta:hover svg{transform:translate(2px,-2px)}}
@media(prefers-reduced-motion:reduce){.restaurant.store-page .shop-hero-cta svg{transition:none;transform:none}}
