/* GATARD Product Pro 4.6.19 — modales publiques adaptatives
   Portée stricte : configurateur et fenêtres publiques GPP.
   Aucun style Staff Hub, checkout, header ou footer. */

:root{
  --gpp-v4619-vw:100vw;
  --gpp-v4619-vh:100dvh;
  --gpp-v4619-safe-top:env(safe-area-inset-top,0px);
  --gpp-v4619-safe-right:env(safe-area-inset-right,0px);
  --gpp-v4619-safe-bottom:env(safe-area-inset-bottom,0px);
  --gpp-v4619-safe-left:env(safe-area-inset-left,0px);
  --gpp-v4619-ink:#262219;
  --gpp-v4619-muted:#71695b;
  --gpp-v4619-line:rgba(133,118,80,.16);
  --gpp-v4619-soft:#fbf7f2;
  --gpp-v4619-panel:#fffdf9;
  --gpp-v4619-accent:#857650;
}

body.gpp-v4619-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.gpp-v4619-modal-open .gpp-modal-backdrop,
body.gpp-v4619-modal-open #gpp-smart-flow{touch-action:auto}

/* Neutralise l'ancien redimensionnement par scale : le contenu reste net et
   les zones longues défilent naturellement au lieu d'être miniaturisées. */
#gpp-smart-flow .gpp-v4618-flow[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-review-modal[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-accomp-modal[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-sauce-modal[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-slot-modal[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-dessert-modal[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-added-choice[data-gpp-v465-fit],
.gpp-modal-backdrop .gpp-v463-menu-picker[data-gpp-v465-fit],
[data-gpp-v4619-modal="1"]{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  margin:0!important;
  transform:none!important;
  transform-origin:center!important;
  zoom:1!important;
  will-change:auto!important;
}

/* Backdrops communs */
.gpp-modal-backdrop,
.gpp-v4-flow-backdrop,
#gpp-smart-flow.gpp-v4618-flow-backdrop{
  position:fixed!important;
  inset:0!important;
  width:var(--gpp-v4619-vw)!important;
  height:var(--gpp-v4619-vh)!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:max(14px,var(--gpp-v4619-safe-top)) max(14px,var(--gpp-v4619-safe-right)) max(14px,var(--gpp-v4619-safe-bottom)) max(14px,var(--gpp-v4619-safe-left))!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
.gpp-modal-backdrop{
  background:rgba(31,26,18,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

/* Conteneurs de modales classiques */
.gpp-modal-backdrop .gpp-review-modal,
.gpp-modal-backdrop .gpp-accomp-modal,
.gpp-modal-backdrop .gpp-sauce-modal,
.gpp-modal-backdrop .gpp-slot-modal,
.gpp-modal-backdrop .gpp-dessert-modal,
.gpp-modal-backdrop .gpp-added-choice,
.gpp-modal-backdrop .gpp-v463-menu-picker{
  box-sizing:border-box!important;
  max-width:calc(var(--gpp-v4619-vw) - 28px)!important;
  max-height:calc(var(--gpp-v4619-vh) - max(28px, var(--gpp-v4619-safe-top)) - max(28px, var(--gpp-v4619-safe-bottom)))!important;
  min-height:0!important;
  border:1px solid var(--gpp-v4619-line)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#fffefa 0%,#fbf7f2 100%)!important;
  color:var(--gpp-v4619-ink)!important;
  box-shadow:0 28px 85px rgba(24,19,11,.28)!important;
  font-family:Poppins,Arial,sans-serif!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(133,118,80,.38) transparent!important;
}
.gpp-modal-backdrop .gpp-review-modal::-webkit-scrollbar,
.gpp-modal-backdrop .gpp-accomp-list::-webkit-scrollbar,
.gpp-modal-backdrop .gpp-sauce-modal::-webkit-scrollbar,
.gpp-modal-backdrop .gpp-slot-modal-grid::-webkit-scrollbar,
.gpp-modal-backdrop .gpp-dessert-list::-webkit-scrollbar,
.gpp-modal-backdrop .gpp-added-choice::-webkit-scrollbar{width:7px!important;height:7px!important;display:block!important}
.gpp-modal-backdrop ::-webkit-scrollbar-thumb{border-radius:999px!important;background:rgba(133,118,80,.32)!important}

.gpp-modal-backdrop .gpp-review-modal,
.gpp-modal-backdrop .gpp-sauce-modal,
.gpp-modal-backdrop .gpp-added-choice,
.gpp-modal-backdrop .gpp-v463-menu-picker{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.gpp-modal-backdrop .gpp-accomp-modal,
.gpp-modal-backdrop .gpp-dessert-modal,
.gpp-modal-backdrop .gpp-slot-modal{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.gpp-modal-backdrop .gpp-review-modal{width:min(610px,100%)!important;padding:32px!important}
.gpp-modal-backdrop .gpp-sauce-modal{width:min(700px,100%)!important;padding:30px!important}
.gpp-modal-backdrop .gpp-accomp-modal{width:min(900px,100%)!important;padding:30px!important}
.gpp-modal-backdrop .gpp-dessert-modal{width:min(980px,100%)!important;padding:30px!important}
.gpp-modal-backdrop .gpp-slot-modal{width:min(700px,100%)!important;padding:30px!important}
.gpp-modal-backdrop .gpp-added-choice{width:min(650px,100%)!important;padding:30px!important}

.gpp-modal-backdrop .gpp-modal-close,
.gpp-modal-backdrop .gpp-review-close{
  position:absolute!important;
  inset:15px 15px auto auto!important;
  z-index:20!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(133,118,80,.18)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:#5f563f!important;
  font-size:28px!important;
  line-height:1!important;
  box-shadow:0 7px 20px rgba(37,29,16,.09)!important;
}
.gpp-modal-backdrop h3{
  max-width:calc(100% - 66px)!important;
  margin:0 auto 8px!important;
  color:var(--gpp-v4619-ink)!important;
  font-family:Poppins,Arial,sans-serif!important;
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.12!important;
  font-weight:750!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.gpp-modal-backdrop .gpp-modal-kicker,
.gpp-modal-backdrop .gpp-added-choice__kicker{
  display:table!important;
  margin:0 auto 9px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:#f0eadf!important;
  color:#756848!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.gpp-modal-backdrop .gpp-review-modal>p,
.gpp-modal-backdrop .gpp-sauce-modal>p,
.gpp-modal-backdrop .gpp-accomp-modal>p,
.gpp-modal-backdrop .gpp-dessert-sub,
.gpp-modal-backdrop .gpp-slot-modal>p{
  max-width:680px!important;
  margin:0 auto 18px!important;
  color:var(--gpp-v4619-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
  text-align:center!important;
}

/* Actions toujours lisibles */
.gpp-modal-backdrop .gpp-modal-actions,
.gpp-modal-backdrop .gpp-dessert-actions,
.gpp-modal-backdrop .gpp-added-choice__actions{
  position:sticky!important;
  bottom:-1px!important;
  z-index:12!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  width:100%!important;
  margin-top:18px!important;
  padding:14px 0 max(1px,var(--gpp-v4619-safe-bottom))!important;
  background:linear-gradient(180deg,rgba(255,253,249,0),#fffdf9 24%,#fffdf9 100%)!important;
}
.gpp-modal-backdrop .gpp-modal-actions .gpp-btn,
.gpp-modal-backdrop .gpp-dessert-actions .gpp-btn,
.gpp-modal-backdrop .gpp-added-choice__actions .gpp-btn{
  min-width:0!important;
  min-height:50px!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  font-size:11px!important;
  line-height:1.25!important;
  white-space:normal!important;
  text-align:center!important;
}

/* Avis */
.gpp-modal-backdrop .gpp-rating-stars{display:flex!important;justify-content:center!important;gap:clamp(4px,2vw,12px)!important;margin:14px 0 20px!important}
.gpp-modal-backdrop .gpp-rating-stars button{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;padding:0!important;font-size:35px!important;line-height:1!important}
.gpp-modal-backdrop .gpp-field{margin-bottom:13px!important}
.gpp-modal-backdrop .gpp-field label{margin-bottom:6px!important;color:#4a4335!important;font-size:11px!important;line-height:1.25!important;font-weight:750!important;letter-spacing:.04em!important}
.gpp-modal-backdrop .gpp-field input,
.gpp-modal-backdrop .gpp-field textarea{
  width:100%!important;min-height:48px!important;box-sizing:border-box!important;
  padding:12px 14px!important;border:1px solid rgba(133,118,80,.2)!important;border-radius:13px!important;
  background:#fff!important;color:#29251d!important;font:500 14px/1.4 Poppins,Arial,sans-serif!important;
}
.gpp-modal-backdrop .gpp-field textarea{min-height:120px!important;resize:vertical!important}

/* Sauces */
#gpp-sauce-backdrop .gpp-sauce-box{margin:0!important;padding:16px!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--gpp-v4619-line)!important}
#gpp-sauce-backdrop .gpp-sauce-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:13px!important}
#gpp-sauce-backdrop .gpp-sauce-head h3{max-width:none!important;margin:0!important;text-align:left!important;font-size:18px!important;letter-spacing:-.025em!important}
#gpp-sauce-backdrop .gpp-sauce-head span{flex:0 0 auto!important;font-size:10px!important}
#gpp-sauce-backdrop .gpp-sauce-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
#gpp-sauce-backdrop .gpp-sauce-options button{min-width:0!important;min-height:74px!important;padding:9px 5px!important;border-radius:14px!important}
#gpp-sauce-backdrop .gpp-sauce-options button span{font-size:22px!important}
#gpp-sauce-backdrop .gpp-sauce-options button strong{font-size:10px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
#gpp-sauce-backdrop .gpp-sauce-summary{margin:12px 0 0!important;padding:10px 12px!important;border-radius:12px!important;background:#f7f2e9!important;font-size:11px!important;line-height:1.4!important}

/* Accompagnements */
.gpp-modal-backdrop .gpp-accomp-list{
  flex:1 1 auto!important;min-height:0!important;display:grid!important;gap:12px!important;
  margin:4px 0 0!important;padding:2px 5px 4px 0!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
}
.gpp-modal-backdrop .gpp-accomp-item{
  display:grid!important;grid-template-columns:124px minmax(0,1fr) 50px!important;align-items:center!important;gap:16px!important;
  min-width:0!important;padding:13px!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--gpp-v4619-line)!important;
  box-shadow:0 7px 20px rgba(36,29,18,.035)!important;
}
.gpp-modal-backdrop .gpp-accomp-item img{width:124px!important;height:108px!important;object-fit:contain!important;border-radius:14px!important;background:#fbf7f2!important}
.gpp-modal-backdrop .gpp-accomp-info{min-width:0!important}
.gpp-modal-backdrop .gpp-accomp-item h4{margin:0 0 5px!important;font-family:Poppins,Arial,sans-serif!important;font-size:18px!important;line-height:1.18!important;font-weight:750!important;letter-spacing:-.025em!important;text-transform:none!important;overflow-wrap:anywhere!important}
.gpp-modal-backdrop .gpp-accomp-item p{margin:0 0 8px!important;color:var(--gpp-v4619-muted)!important;font-size:12px!important;line-height:1.4!important}
.gpp-modal-backdrop .gpp-accomp-price{font-size:17px!important;line-height:1!important}
.gpp-modal-backdrop .gpp-accomp-add{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;font-size:29px!important}

/* Desserts */
.gpp-modal-backdrop .gpp-dessert-list{
  flex:1 1 auto!important;min-height:0!important;display:grid!important;gap:12px!important;
  margin:4px 0 0!important;padding:2px 5px 4px 0!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
}
.gpp-modal-backdrop .gpp-dessert-item,
.gpp-modal-backdrop .gpp-dessert-item.gpp-v450-dessert-item,
.gpp-modal-backdrop .gpp-dessert-item.gpp-v451-dessert-item,
.gpp-modal-backdrop .gpp-dessert-item.gpp-v452-dessert-item{
  display:grid!important;grid-template-columns:128px minmax(0,1fr) 150px!important;grid-template-areas:none!important;
  align-items:center!important;gap:15px!important;min-width:0!important;padding:13px!important;
  border:1px solid var(--gpp-v4619-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 20px rgba(36,29,18,.035)!important;
}
.gpp-modal-backdrop .gpp-dessert-item>img{width:128px!important;height:108px!important;object-fit:contain!important;border-radius:14px!important;background:#fbf7f2!important}
.gpp-modal-backdrop .gpp-dessert-info{min-width:0!important}
.gpp-modal-backdrop .gpp-dessert-info h4{margin:0 0 5px!important;font-size:18px!important;line-height:1.18!important;font-weight:750!important;letter-spacing:-.025em!important;text-transform:none!important;overflow-wrap:anywhere!important}
.gpp-modal-backdrop .gpp-dessert-info p{margin:0 0 7px!important;font-size:12px!important;line-height:1.4!important}
.gpp-modal-backdrop .gpp-dessert-info strong{font-size:17px!important}
.gpp-modal-backdrop .gpp-dessert-buy{min-width:0!important}

/* Créneaux */
.gpp-modal-backdrop .gpp-slot-modal-grid{
  flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;margin:8px 0 16px!important;padding:2px 5px 3px 0!important;overflow-y:auto!important;overscroll-behavior:contain!important;
}
.gpp-modal-backdrop .gpp-slot-modal-grid button{min-height:44px!important;height:auto!important;padding:9px 7px!important;border-radius:12px!important;font-size:11px!important}

/* Confirmation panier */
.gpp-modal-backdrop .gpp-added-choice__check{width:58px!important;height:58px!important;margin:0 auto 10px!important}
.gpp-modal-backdrop .gpp-added-choice__product{margin:17px 0 12px!important;padding:12px!important;border-radius:16px!important}
.gpp-modal-backdrop .gpp-added-choice__details{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.gpp-modal-backdrop .gpp-added-choice__detail{min-width:0!important;padding:9px!important;border-radius:12px!important}
.gpp-modal-backdrop .gpp-added-choice__detail strong{overflow-wrap:anywhere!important}

/* Nouveau configurateur de menus */
#gpp-smart-flow.gpp-v4618-flow-backdrop{background:rgba(31,26,18,.58)!important}
#gpp-smart-flow .gpp-v4618-flow{
  width:min(1180px,calc(var(--gpp-v4619-vw) - 36px))!important;
  max-width:1180px!important;
  height:min(860px,calc(var(--gpp-v4619-vh) - 28px))!important;
  max-height:calc(var(--gpp-v4619-vh) - 28px)!important;
  min-height:0!important;
  border-radius:26px!important;
}
#gpp-smart-flow .gpp-v4618-progress{flex:0 0 auto!important}
#gpp-smart-flow .gpp-v4618-scroll{min-width:0!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
#gpp-smart-flow .gpp-v4618-layout{grid-template-columns:minmax(0,1fr) 310px!important}
#gpp-smart-flow .gpp-v4618-main{min-width:0!important;padding:30px 32px 34px!important}
#gpp-smart-flow .gpp-v4618-summary{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:100%!important;padding:28px 22px!important}
#gpp-smart-flow .gpp-v4618-summary__lines strong{overflow-wrap:anywhere!important}
#gpp-smart-flow .gpp-v4618-actions{flex:0 0 auto!important;padding-bottom:max(16px,var(--gpp-v4619-safe-bottom))!important}
#gpp-smart-flow .gpp-v4618-format-grid button,
#gpp-smart-flow .gpp-v4618-formula-card,
#gpp-smart-flow .gpp-v4618-mode-grid button,
#gpp-smart-flow .gpp-v4618-product-option{min-height:78px!important}
#gpp-smart-flow .gpp-v4618-progress__steps{overflow:hidden!important}
#gpp-smart-flow .gpp-v4618-progress__steps span{flex:1 1 0!important}
#gpp-smart-flow .gpp-v4618-progress__steps em{max-width:100%!important}

/* Tablette portrait et petits ordinateurs */
@media (max-width:960px){
  .gpp-modal-backdrop,
  .gpp-v4-flow-backdrop,
  #gpp-smart-flow.gpp-v4618-flow-backdrop{padding:max(10px,var(--gpp-v4619-safe-top)) max(10px,var(--gpp-v4619-safe-right)) max(10px,var(--gpp-v4619-safe-bottom)) max(10px,var(--gpp-v4619-safe-left))!important}

  #gpp-smart-flow .gpp-v4618-flow{width:calc(var(--gpp-v4619-vw) - 20px)!important;height:calc(var(--gpp-v4619-vh) - 20px)!important;max-height:calc(var(--gpp-v4619-vh) - 20px)!important;border-radius:22px!important}
  #gpp-smart-flow .gpp-v4618-layout{grid-template-columns:1fr!important}
  #gpp-smart-flow .gpp-v4618-main{padding:26px 24px 28px!important}
  #gpp-smart-flow .gpp-v4618-summary{
    position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 18px!important;
    min-height:0!important;margin:0 24px 24px!important;padding:16px 18px!important;border:1px solid var(--gpp-v4619-line)!important;border-radius:17px!important;
  }
  #gpp-smart-flow .gpp-v4618-summary__product{grid-column:1/-1!important;padding-bottom:12px!important}
  #gpp-smart-flow .gpp-v4618-summary__product>img,#gpp-smart-flow .gpp-v4618-summary__product>span{flex-basis:54px!important;width:54px!important;height:54px!important}
  #gpp-smart-flow .gpp-v4618-summary__lines{padding:0!important}
  #gpp-smart-flow .gpp-v4618-summary__total{align-self:end!important;margin:0!important;padding:8px 0 0!important;min-width:150px!important}
  #gpp-smart-flow .gpp-v4618-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .gpp-modal-backdrop .gpp-accomp-modal,
  .gpp-modal-backdrop .gpp-dessert-modal{width:min(820px,100%)!important;padding:25px!important}
  .gpp-modal-backdrop .gpp-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v450-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v451-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v452-dessert-item{grid-template-columns:108px minmax(0,1fr) 142px!important;gap:12px!important}
  .gpp-modal-backdrop .gpp-dessert-item>img{width:108px!important;height:96px!important}
}

/* Mobile */
@media (max-width:700px){
  body.gpp-v4619-modal-open{width:100%!important}
  .gpp-modal-backdrop{
    align-items:flex-end!important;justify-content:center!important;
    padding:max(7px,var(--gpp-v4619-safe-top)) 0 0!important;
    background:rgba(31,26,18,.5)!important;
  }
  .gpp-modal-backdrop .gpp-review-modal,
  .gpp-modal-backdrop .gpp-accomp-modal,
  .gpp-modal-backdrop .gpp-sauce-modal,
  .gpp-modal-backdrop .gpp-slot-modal,
  .gpp-modal-backdrop .gpp-dessert-modal,
  .gpp-modal-backdrop .gpp-added-choice,
  .gpp-modal-backdrop .gpp-v463-menu-picker{
    width:100%!important;max-width:none!important;
    max-height:calc(var(--gpp-v4619-vh) - max(7px,var(--gpp-v4619-safe-top)))!important;
    border-right:0!important;border-bottom:0!important;border-left:0!important;
    border-radius:24px 24px 0 0!important;
    box-shadow:0 -18px 55px rgba(24,19,11,.22)!important;
  }
  .gpp-modal-backdrop .gpp-review-modal,
  .gpp-modal-backdrop .gpp-sauce-modal,
  .gpp-modal-backdrop .gpp-accomp-modal,
  .gpp-modal-backdrop .gpp-dessert-modal,
  .gpp-modal-backdrop .gpp-slot-modal,
  .gpp-modal-backdrop .gpp-added-choice{padding:22px 15px max(14px,var(--gpp-v4619-safe-bottom))!important}
  .gpp-modal-backdrop .gpp-modal-close,
  .gpp-modal-backdrop .gpp-review-close{top:10px!important;right:11px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .gpp-modal-backdrop h3{max-width:calc(100% - 62px)!important;font-size:clamp(22px,7vw,28px)!important;line-height:1.13!important}
  .gpp-modal-backdrop .gpp-review-modal>p,
  .gpp-modal-backdrop .gpp-sauce-modal>p,
  .gpp-modal-backdrop .gpp-accomp-modal>p,
  .gpp-modal-backdrop .gpp-dessert-sub,
  .gpp-modal-backdrop .gpp-slot-modal>p{margin-bottom:13px!important;font-size:12px!important;line-height:1.45!important}
  .gpp-modal-backdrop .gpp-modal-actions,
  .gpp-modal-backdrop .gpp-dessert-actions,
  .gpp-modal-backdrop .gpp-added-choice__actions{gap:8px!important;margin-top:12px!important;padding-top:11px!important}
  .gpp-modal-backdrop .gpp-modal-actions .gpp-btn,
  .gpp-modal-backdrop .gpp-dessert-actions .gpp-btn,
  .gpp-modal-backdrop .gpp-added-choice__actions .gpp-btn{min-height:48px!important;padding:10px 9px!important;font-size:10px!important}

  .gpp-modal-backdrop .gpp-rating-stars{gap:1px!important;margin:8px 0 14px!important}
  .gpp-modal-backdrop .gpp-rating-stars button{width:44px!important;height:44px!important;font-size:30px!important}
  .gpp-modal-backdrop .gpp-field input,
  .gpp-modal-backdrop .gpp-field textarea{font-size:16px!important}
  .gpp-modal-backdrop .gpp-field textarea{min-height:100px!important}

  #gpp-sauce-backdrop .gpp-sauce-box{padding:12px!important}
  #gpp-sauce-backdrop .gpp-sauce-head{align-items:flex-start!important;flex-direction:column!important;gap:6px!important;margin-bottom:10px!important}
  #gpp-sauce-backdrop .gpp-sauce-head h3{font-size:16px!important;text-align:left!important}
  #gpp-sauce-backdrop .gpp-sauce-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #gpp-sauce-backdrop .gpp-sauce-options button{min-height:66px!important;padding:7px 4px!important}

  .gpp-modal-backdrop .gpp-accomp-list,
  .gpp-modal-backdrop .gpp-dessert-list{padding-right:2px!important}
  .gpp-modal-backdrop .gpp-accomp-item{
    grid-template-columns:82px minmax(0,1fr) 44px!important;gap:10px!important;padding:10px!important;border-radius:15px!important;
  }
  .gpp-modal-backdrop .gpp-accomp-item img{width:82px!important;height:76px!important;border-radius:11px!important}
  .gpp-modal-backdrop .gpp-accomp-item h4{font-size:14px!important;margin-bottom:3px!important}
  .gpp-modal-backdrop .gpp-accomp-item p{font-size:10.5px!important;margin-bottom:5px!important}
  .gpp-modal-backdrop .gpp-accomp-price{font-size:14px!important}
  .gpp-modal-backdrop .gpp-accomp-add{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}

  .gpp-modal-backdrop .gpp-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v450-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v451-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v452-dessert-item{
    grid-template-columns:78px minmax(0,1fr)!important;grid-template-areas:"image info" "buy buy"!important;
    gap:9px!important;padding:10px!important;border-radius:15px!important;
  }
  .gpp-modal-backdrop .gpp-dessert-item>img{grid-area:image!important;width:78px!important;height:76px!important;border-radius:11px!important}
  .gpp-modal-backdrop .gpp-dessert-info{grid-area:info!important}
  .gpp-modal-backdrop .gpp-dessert-buy{grid-area:buy!important;display:grid!important;grid-template-columns:minmax(116px,145px) minmax(0,1fr)!important;gap:8px!important;width:100%!important}
  .gpp-modal-backdrop .gpp-dessert-info h4{font-size:14px!important;margin-bottom:3px!important}
  .gpp-modal-backdrop .gpp-dessert-info p{font-size:10.5px!important;margin-bottom:5px!important}
  .gpp-modal-backdrop .gpp-dessert-info strong{font-size:15px!important}
  .gpp-modal-backdrop .gpp-slot-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .gpp-modal-backdrop .gpp-added-choice__details{grid-template-columns:1fr!important}
  .gpp-modal-backdrop .gpp-added-choice__actions{grid-template-columns:1fr!important}

  /* Le configurateur principal devient une vraie application plein écran. */
  #gpp-smart-flow.gpp-v4618-flow-backdrop{align-items:stretch!important;padding:0!important;background:#fffdf9!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #gpp-smart-flow .gpp-v4618-flow{width:100%!important;max-width:none!important;height:var(--gpp-v4619-vh)!important;max-height:var(--gpp-v4619-vh)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  #gpp-smart-flow .gpp-v4618-progress{padding:15px 60px 12px 15px!important}
  #gpp-smart-flow .gpp-v4618-progress__current{margin-bottom:9px!important}
  #gpp-smart-flow .gpp-v4618-main{padding:20px 15px 22px!important}
  #gpp-smart-flow .gpp-v4618-main h3{font-size:clamp(24px,7.4vw,29px)!important;line-height:1.12!important}
  #gpp-smart-flow .gpp-v4618-lead{font-size:12px!important;line-height:1.5!important;margin-bottom:16px!important}
  #gpp-smart-flow .gpp-v4618-summary{display:block!important;margin:0 15px 16px!important;padding:13px 14px!important}
  #gpp-smart-flow .gpp-v4618-summary__product{display:none!important}
  #gpp-smart-flow .gpp-v4618-summary__lines{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px 11px!important;padding:0 0 9px!important}
  #gpp-smart-flow .gpp-v4618-summary__lines p{padding:3px 0!important;font-size:9.5px!important}
  #gpp-smart-flow .gpp-v4618-summary__lines p:nth-child(n+5){display:none!important}
  #gpp-smart-flow .gpp-v4618-summary__total{min-width:0!important;padding-top:9px!important}
  #gpp-smart-flow .gpp-v4618-format-grid,
  #gpp-smart-flow .gpp-v4618-mode-grid,
  #gpp-smart-flow .gpp-v4618-products-grid{grid-template-columns:1fr!important}
  #gpp-smart-flow .gpp-v4618-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #gpp-smart-flow .gpp-v4618-format-grid button,
  #gpp-smart-flow .gpp-v4618-formula-card,
  #gpp-smart-flow .gpp-v4618-mode-grid button,
  #gpp-smart-flow .gpp-v4618-product-option{min-height:72px!important;padding:12px!important;border-radius:15px!important}
  #gpp-smart-flow .gpp-v4618-actions{padding:10px 15px max(10px,var(--gpp-v4619-safe-bottom))!important;gap:8px!important}
  #gpp-smart-flow .gpp-v4618-actions .gpp-btn{min-height:48px!important;padding:10px 12px!important;font-size:10px!important}
  #gpp-smart-flow .gpp-v4618-actions .gpp-btn-light{flex-basis:88px!important}
}

/* Téléphones étroits */
@media (max-width:390px){
  .gpp-modal-backdrop .gpp-modal-actions{grid-template-columns:1fr!important}
  .gpp-modal-backdrop .gpp-review-modal,
  .gpp-modal-backdrop .gpp-sauce-modal,
  .gpp-modal-backdrop .gpp-accomp-modal,
  .gpp-modal-backdrop .gpp-dessert-modal,
  .gpp-modal-backdrop .gpp-slot-modal,
  .gpp-modal-backdrop .gpp-added-choice{padding-right:12px!important;padding-left:12px!important}
  .gpp-modal-backdrop .gpp-accomp-item{grid-template-columns:68px minmax(0,1fr) 42px!important;gap:8px!important}
  .gpp-modal-backdrop .gpp-accomp-item img{width:68px!important;height:66px!important}
  .gpp-modal-backdrop .gpp-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v450-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v451-dessert-item,
  .gpp-modal-backdrop .gpp-dessert-item.gpp-v452-dessert-item{grid-template-columns:68px minmax(0,1fr)!important}
  .gpp-modal-backdrop .gpp-dessert-item>img{width:68px!important;height:66px!important}
  .gpp-modal-backdrop .gpp-dessert-buy{grid-template-columns:112px minmax(0,1fr)!important}
  #gpp-smart-flow .gpp-v4618-main{padding-right:12px!important;padding-left:12px!important}
  #gpp-smart-flow .gpp-v4618-summary{margin-right:12px!important;margin-left:12px!important}
}

/* Paysage bas / clavier virtuel */
@media (max-height:620px){
  .gpp-modal-backdrop,
  .gpp-v4-flow-backdrop{align-items:stretch!important;padding:6px!important}
  .gpp-modal-backdrop .gpp-review-modal,
  .gpp-modal-backdrop .gpp-accomp-modal,
  .gpp-modal-backdrop .gpp-sauce-modal,
  .gpp-modal-backdrop .gpp-slot-modal,
  .gpp-modal-backdrop .gpp-dessert-modal,
  .gpp-modal-backdrop .gpp-added-choice,
  .gpp-modal-backdrop .gpp-v463-menu-picker{max-height:calc(var(--gpp-v4619-vh) - 12px)!important;border-radius:18px!important}
  #gpp-smart-flow .gpp-v4618-flow{height:var(--gpp-v4619-vh)!important;max-height:var(--gpp-v4619-vh)!important;border-radius:0!important}
  #gpp-smart-flow .gpp-v4618-progress{padding-top:11px!important;padding-bottom:9px!important}
  #gpp-smart-flow .gpp-v4618-progress__steps{display:none!important}
  #gpp-smart-flow .gpp-v4618-main{padding-top:17px!important;padding-bottom:19px!important}
  #gpp-smart-flow .gpp-v4618-lead{margin-bottom:12px!important}
}

/* Grandes résolutions : respiration sans modal surdimensionnée */
@media (min-width:1440px) and (min-height:850px){
  #gpp-smart-flow .gpp-v4618-flow{width:min(1220px,calc(var(--gpp-v4619-vw) - 64px))!important;max-width:1220px!important;height:min(880px,calc(var(--gpp-v4619-vh) - 52px))!important}
  #gpp-smart-flow .gpp-v4618-layout{grid-template-columns:minmax(0,1fr) 330px!important}
  #gpp-smart-flow .gpp-v4618-main{padding:36px 38px 40px!important}
}

@media (pointer:coarse){
  .gpp-modal-backdrop button,
  .gpp-modal-backdrop a.gpp-btn,
  #gpp-smart-flow button,
  #gpp-smart-flow a.gpp-btn{touch-action:manipulation!important}
  .gpp-modal-backdrop button:not(.gpp-rating-stars button),
  #gpp-smart-flow button{min-height:44px}
}

@media (prefers-reduced-motion:reduce){
  .gpp-modal-backdrop *,
  #gpp-smart-flow *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
