/* GATARD Product Pro 4.6.21 — finitions publiques ciblées
   Modal configurateur + panier/retrait uniquement.
   Aucun sélecteur Staff Hub, header, footer ou checkout natif. */

/* --------------------------------------------------------------------------
   1. En-tête du configurateur : centrage mathématique indépendant du bouton X
   -------------------------------------------------------------------------- */
#gpp-smart-flow .gpp-v4618-progress{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  align-content:center!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px 78px 16px!important;
  text-align:center!important;
}
#gpp-smart-flow .gpp-v4618-progress__current{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:0 0 10px!important;
  text-align:center!important;
}
#gpp-smart-flow .gpp-v4618-progress__current small,
#gpp-smart-flow .gpp-v4618-progress__current strong{
  display:block!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
#gpp-smart-flow .gpp-v4618-progress__current small{
  margin-bottom:4px!important;
  color:#857650!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
}
#gpp-smart-flow .gpp-v4618-progress__current strong{
  color:#211d17!important;
  font-weight:750!important;
  letter-spacing:-.025em!important;
}
#gpp-smart-flow .gpp-v4618-progress__bar{
  width:min(100%,560px)!important;
  margin:0 auto!important;
}
#gpp-smart-flow .gpp-v4618-progress__steps{
  width:100%!important;
}
#gpp-smart-flow .gpp-v4618-close{
  top:18px!important;
  right:18px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  line-height:1!important;
  color:#4c4333!important;
  -webkit-tap-highlight-color:transparent!important;
}
#gpp-smart-flow .gpp-v4618-close:focus-visible{
  outline:0!important;
  border-color:#857650!important;
  box-shadow:0 0 0 4px rgba(133,118,80,.16),0 8px 22px rgba(40,31,17,.1)!important;
}

/* --------------------------------------------------------------------------
   2. Panier et retrait : textes, alignements, boutons et détails mobiles
   -------------------------------------------------------------------------- */
#gpp-cart-root,
#gpp-cart-root *{box-sizing:border-box!important}
#gpp-cart-root .gpp-cart-side{min-width:0!important}
#gpp-cart-root .gpp-step{
  overflow:hidden!important;
  border-color:rgba(133,118,80,.18)!important;
  background:linear-gradient(145deg,#fffefa 0%,#fbf7f1 100%)!important;
  box-shadow:0 13px 34px rgba(39,31,18,.065)!important;
}
#gpp-cart-root .gpp-step-heading{
  align-items:center!important;
  min-width:0!important;
  line-height:1.18!important;
}
#gpp-cart-root .gpp-step-title{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
#gpp-cart-root .gpp-pickup-card{
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-width:0!important;
  margin:0 0 18px!important;
}
#gpp-cart-root .gpp-pickup-card>div{min-width:0!important}
#gpp-cart-root .gpp-pickup-card img{
  width:112px!important;
  height:92px!important;
  border:1px solid rgba(133,118,80,.13)!important;
  border-radius:18px!important;
  object-fit:cover!important;
  box-shadow:0 8px 20px rgba(35,27,16,.09)!important;
}
#gpp-cart-root .gpp-pickup-card strong{
  display:block!important;
  margin:0 0 3px!important;
  color:#2a241b!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:750!important;
  overflow-wrap:anywhere!important;
}
#gpp-cart-root .gpp-pickup-card p{
  margin:0!important;
  color:#766d61!important;
  font-size:14px!important;
  line-height:1.45!important;
}
#gpp-cart-root .gpp-cart-side label{
  display:block!important;
  margin:0 0 9px!important;
  color:#2d271f!important;
  font-size:14px!important;
  line-height:1.3!important;
}
#gpp-cart-root .gpp-select,
#gpp-cart-root .gpp-later-date,
#gpp-cart-root .gpp-note{
  min-height:52px!important;
  border:1px solid rgba(133,118,80,.24)!important;
  border-radius:16px!important;
  background-color:#fff!important;
  color:#272119!important;
  font-size:16px!important;
  line-height:1.35!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
#gpp-cart-root .gpp-select:focus,
#gpp-cart-root .gpp-later-date:focus,
#gpp-cart-root .gpp-note:focus{
  outline:0!important;
  border-color:#857650!important;
  box-shadow:0 0 0 4px rgba(133,118,80,.13)!important;
}
#gpp-cart-root .gpp-day-buttons,
#gpp-cart-root .gpp-slot-grid{
  align-items:stretch!important;
  gap:10px!important;
}
#gpp-cart-root .gpp-day-buttons button,
#gpp-cart-root .gpp-slot-grid button,
#gpp-cart-root .gpp-slot-modal-grid button{
  min-width:0!important;
  min-height:52px!important;
  height:auto!important;
  padding:11px 9px!important;
  border:1px solid rgba(133,118,80,.22)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#4e4434!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:750!important;
  box-shadow:0 5px 15px rgba(42,33,19,.035)!important;
  -webkit-tap-highlight-color:transparent!important;
}
#gpp-cart-root .gpp-day-buttons button:hover,
#gpp-cart-root .gpp-slot-grid button:hover,
#gpp-cart-root .gpp-slot-modal-grid button:hover{
  border-color:rgba(133,118,80,.42)!important;
  color:#332b20!important;
}
#gpp-cart-root .gpp-day-buttons button:focus-visible,
#gpp-cart-root .gpp-slot-grid button:focus-visible,
#gpp-cart-root .gpp-slot-modal-grid button:focus-visible{
  outline:0!important;
  border-color:#857650!important;
  box-shadow:0 0 0 4px rgba(133,118,80,.14)!important;
}
#gpp-cart-root .gpp-day-buttons button.is-active,
#gpp-cart-root .gpp-slot-grid button.is-active,
#gpp-cart-root .gpp-slot-modal-grid button.is-active{
  border-color:#a78335!important;
  background:linear-gradient(135deg,#9a844d 0%,#d19622 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 21px rgba(170,125,35,.20)!important;
}
#gpp-cart-root .gpp-prep-info{
  margin:0 0 14px!important;
  color:#6f6658!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:650!important;
}
#gpp-cart-root .gpp-btn-light[data-gpp-accomp-open]{
  min-height:54px!important;
  border:1px solid rgba(133,118,80,.22)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#fff,#fbf8f2)!important;
  color:#75633f!important;
  font-size:14px!important;
  letter-spacing:.035em!important;
  box-shadow:0 8px 22px rgba(44,34,19,.045)!important;
}

@media (max-width:700px){
  #gpp-smart-flow .gpp-v4618-progress{
    min-height:102px!important;
    padding:20px 68px 15px!important;
  }
  #gpp-smart-flow .gpp-v4618-progress__current{margin-bottom:9px!important}
  #gpp-smart-flow .gpp-v4618-progress__current small{
    margin:0 0 4px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
  #gpp-smart-flow .gpp-v4618-progress__current strong{
    font-size:17px!important;
    line-height:1.15!important;
  }
  #gpp-smart-flow .gpp-v4618-close{
    top:18px!important;
    right:18px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    font-size:27px!important;
  }

  #gpp-cart-root.gpp-safe-root{
    width:calc(100% - 30px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #gpp-cart-root .gpp-cart-side{gap:14px!important}
  #gpp-cart-root .gpp-step{
    padding:16px!important;
    border-radius:24px!important;
  }
  #gpp-cart-root .gpp-step-heading{
    gap:10px!important;
    margin-bottom:15px!important;
    font-size:clamp(17px,4.7vw,20px)!important;
  }
  #gpp-cart-root .gpp-step-num{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    border-radius:13px!important;
    font-size:16px!important;
  }
  #gpp-cart-root .gpp-step-title{
    white-space:normal!important;
    line-height:1.18!important;
    letter-spacing:-.035em!important;
  }
  #gpp-cart-root .gpp-pickup-card{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:13px!important;
  }
  #gpp-cart-root .gpp-pickup-card img{
    width:112px!important;
    height:112px!important;
    border-radius:18px!important;
  }
  #gpp-cart-root .gpp-pickup-card strong{
    font-size:16px!important;
    line-height:1.28!important;
  }
  #gpp-cart-root .gpp-pickup-card p{
    font-size:14px!important;
    line-height:1.42!important;
  }
  #gpp-cart-root .gpp-day-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #gpp-cart-root .gpp-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #gpp-cart-root .gpp-day-buttons button,
  #gpp-cart-root .gpp-slot-grid button{font-size:13px!important}
}

@media (max-width:390px){
  #gpp-smart-flow .gpp-v4618-progress{
    min-height:96px!important;
    padding:18px 62px 13px!important;
  }
  #gpp-smart-flow .gpp-v4618-close{
    top:16px!important;
    right:16px!important;
    width:42px!important;
    height:42px!important;
  }
  #gpp-cart-root .gpp-pickup-card{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:12px!important;
  }
  #gpp-cart-root .gpp-pickup-card img{
    width:96px!important;
    height:96px!important;
  }
  #gpp-cart-root .gpp-step-heading{font-size:17px!important}
  #gpp-cart-root .gpp-step-num{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
    font-size:14px!important;
  }
  #gpp-cart-root .gpp-day-buttons{gap:7px!important}
  #gpp-cart-root .gpp-day-buttons button{padding-left:5px!important;padding-right:5px!important;font-size:12px!important}
}

@media (prefers-reduced-motion:reduce){
  #gpp-smart-flow .gpp-v4618-close,
  #gpp-cart-root button{transition:none!important}
}
