
/*
 * AFIWAI New Customizable — Studio 0.63.5
 * Recomposition visuelle complète d'après les références desktop/mobile fournies.
 * Le moteur métier reste celui de Customizable ; ce fichier ne touche qu'à l'UI.
 */
.afc-studio-v4,
.afc-studio-v4 *{box-sizing:border-box}
.afc-studio-v4[hidden],
.afc-studio-v4 [hidden]{display:none!important}

.afc-studio-v4{
  --afc-blue:#0064C0;
  --afc-blue-700:#004f98;
  --afc-blue-50:#eef6ff;
  --afc-ink:#17191d;
  --afc-muted:#767b85;
  --afc-border:#e4e5e8;
  --afc-soft:#f6f6f7;
  --afc-panel:#fff;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:1000000!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f4f4f5!important;
  color:var(--afc-ink)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
body.afc-studio-open{overflow:hidden!important}
.afc-studio-v4 button,
.afc-studio-v4 input,
.afc-studio-v4 select{font:inherit}
.afc-studio-v4 button{cursor:pointer}
.afc-studio-v4 img{max-width:none}

.afc-v4-scroll{
  height:100dvh!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
  background:#f4f4f5!important;
}
.afc-v4-start{
  position:absolute!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:100!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--afc-blue)!important;
  color:#fff!important;
  padding:14px 22px!important;
  font-weight:800!important;
  box-shadow:0 14px 35px rgba(0,100,192,.22)!important;
}
.afc-studio-v4 .afc-designer-status{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 12px!important;
  box-sizing:border-box!important;
}
.afc-studio-v4 .afc-designer-status:empty{display:none!important}
.afc-studio-v4 .afc-v4-sidebar .afc-designer-status{
  padding:10px 12px!important;
  border:1px solid #d8e7f5!important;
  border-radius:10px!important;
  background:#f4f9fe!important;
  color:#314b64!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.afc-studio-v4 .afc-v4-sidebar .afc-designer-status strong{
  display:block!important;
  margin:0 0 3px!important;
  color:#0d3558!important;
  font-size:12px!important;
}
.afc-studio-v4 .afc-v4-sidebar .afc-designer-status p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.35!important;
}
@media (max-width:820px){
  .afc-studio-v4 .afc-v4-sidebar .afc-designer-status{
    display:none!important;
  }
}

.afc-v4-app{
  height:100dvh!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:152px minmax(0,1fr) 430px!important;
  overflow:hidden!important;
  background:#f4f4f5!important;
}

/* LEFT — vues produit */
.afc-v4-views{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:58px minmax(0,1fr) auto!important;
  background:#fff!important;
  border-right:1px solid var(--afc-border)!important;
  overflow:hidden!important;
}
.afc-v4-views-brand{
  height:58px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border-bottom:1px solid var(--afc-border)!important;
}
.afc-v4-views-brand img{
  width:30px!important;height:30px!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:50%!important;
}
.afc-v4-views-brand span{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  color:var(--afc-blue)!important;
}
.afc-studio-v4 .afc-v4-surface-thumbnails{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  padding:12px 10px!important;
  margin:0!important;
  overflow:auto!important;
  position:static!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
.afc-studio-v4 .afc-v4-surface-thumbnails>.afc-surface-switcher-title{display:none!important}
.afc-studio-v4 .afc-surface-thumb{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:112px!important;
  padding:5px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--afc-ink)!important;
  display:grid!important;
  grid-template-rows:84px auto!important;
  gap:5px!important;
  align-items:center!important;
  justify-items:center!important;
  box-shadow:none!important;
  transition:border-color .15s ease,background .15s ease!important;
}
.afc-studio-v4 .afc-surface-thumb:hover{
  border-color:#cfd2d7!important;
  background:#fafafa!important;
}
.afc-studio-v4 .afc-surface-thumb.is-active{
  border:2px solid var(--afc-blue)!important;
  background:#fff!important;
}
.afc-studio-v4 .afc-surface-thumb-image{
  width:100%!important;height:84px!important;
  overflow:hidden!important;
  border-radius:5px!important;
  background:#f7f7f7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.afc-studio-v4 .afc-surface-thumb-image img{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.afc-studio-v4 .afc-surface-thumb strong{
  width:100%!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.afc-v4-view-help{
  padding:9px 10px 12px!important;
  border-top:1px solid #f0f0f1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.afc-v4-view-help span{font-size:10px!important;font-weight:800!important}
.afc-v4-view-help small{font-size:9px!important;color:var(--afc-muted)!important}

/* CENTER — scène */
.afc-v4-workspace{
  min-width:0!important;min-height:0!important;
  display:grid!important;
  grid-template-rows:58px 48px minmax(0,1fr)!important;
  position:relative!important;
  overflow:hidden!important;
  background:#f2f2f3!important;
}
.afc-v4-workspace-head{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  min-width:0!important;
  padding:0 14px!important;
  background:#fff!important;
  border-bottom:1px solid var(--afc-border)!important;
  position:relative!important;
  z-index:20!important;
}
.afc-v4-techniques{grid-column:2!important;justify-self:center!important}
.afc-v4-technique-switch{
  display:flex!important;
  align-items:center!important;
  padding:3px!important;
  border:1px solid #d9dadd!important;
  border-radius:8px!important;
  background:#f4f4f5!important;
}
.afc-v4-technique-switch button{
  height:32px!important;
  min-width:92px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#656a73!important;
  font-size:12px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
.afc-v4-technique-switch button.is-active{
  background:#fff!important;
  color:var(--afc-ink)!important;
  box-shadow:0 1px 4px rgba(20,22,26,.10)!important;
}
.afc-v4-technique-switch.is-single button{min-width:130px!important}
.afc-v4-native-technique{
  position:absolute!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}
.afc-v4-head-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.afc-v4-head-actions>.afc-save-design{
  height:34px!important;
  padding:0 12px!important;
  border:1px solid #d9dadd!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#25282d!important;
  font-size:11px!important;
  font-weight:750!important;
}
.afc-v4-close{
  width:34px!important;height:34px!important;
  padding:0!important;
  border:1px solid #d9dadd!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#3c4047!important;
  font-size:21px!important;
  line-height:1!important;
}
.afc-v4-canvas-toolbar{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  padding:0 14px!important;
  background:#fafafa!important;
  border-bottom:1px solid #e8e8ea!important;
}
.afc-v4-view-name{justify-self:start!important}
.afc-v4-view-name strong{
  font-size:11px!important;
  font-weight:750!important;
  color:#5d626b!important;
}
.afc-v4-zoom{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.afc-v4-zoom button{
  height:30px!important;min-width:30px!important;
  padding:0 8px!important;
  border:1px solid #d8dadd!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#353940!important;
  font-size:12px!important;
  font-weight:800!important;
}
.afc-v4-zoom input{
  width:120px!important;
  accent-color:var(--afc-blue)!important;
}
.afc-v4-save-state{
  justify-self:end!important;
  min-width:0!important;
}
.afc-v4-save-state span{
  font-size:10px!important;
  color:#8a8f98!important;
}
.afc-v4-canvas{
  min-width:0!important;min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  padding:18px 20px!important;
  position:relative!important;
  background:#f3f3f4!important;
}
.afc-studio-v4 .afc-v4-scene-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  transform:scale(var(--afc-v3-zoom,1))!important;
  transform-origin:center center!important;
  transition:transform .14s ease!important;
}
.afc-studio-v4 .afc-product-scene{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:transparent!important;
}
.afc-studio-v4 .afc-product-scene-image{
  position:relative!important;
  left:auto!important;top:auto!important;
  transform:none!important;
  width:auto!important;height:auto!important;
  max-width:86%!important;
  max-height:91%!important;
  object-fit:contain!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:1!important;
  filter:none!important;
}
.afc-studio-v4 .afc-production-zone{
  z-index:4!important;
  border:1px dashed rgba(0,100,192,.72)!important;
}
.afc-studio-v4 .afc-design-surface{z-index:5!important}
.afc-v4-image-fallback{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:4px!important;
  color:#80848d!important;
}
.afc-v4-image-fallback strong{font-size:14px!important;color:#30343a!important}
.afc-v4-image-fallback span{font-size:11px!important}
.afc-v4-mobile-views{display:none!important}

/* RIGHT — panneau produit/outils */
.afc-v4-sidebar{
  min-width:0!important;min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  background:#fff!important;
  border-left:1px solid var(--afc-border)!important;
  overflow:hidden!important;
}
.afc-v4-sidebar-scroll{
  min-height:0!important;
  overflow:auto!important;
  padding:18px 22px 24px!important;
  scrollbar-width:thin!important;
}
.afc-v4-product{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:13px!important;
  align-items:center!important;
  padding:0 0 17px!important;
  border-bottom:1px solid #ececef!important;
}
.afc-v4-product-thumb{
  width:74px!important;height:74px!important;
  border:1px solid #ececef!important;
  border-radius:8px!important;
  background:#f8f8f8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.afc-v4-product-thumb img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.afc-v4-product-info{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}
.afc-v4-product-info small{
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  color:#9499a2!important;
}
.afc-v4-product-info strong{
  max-width:100%!important;
  font-size:16px!important;
  line-height:1.24!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.afc-v4-change-product{
  margin-top:3px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--afc-blue)!important;
  font-size:10px!important;
  font-weight:750!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.afc-v4-personalize,
.afc-v4-placement,
.afc-v4-quality{
  padding:18px 0!important;
  border-bottom:1px solid #ececef!important;
}
.afc-v4-section-head{
  margin-bottom:11px!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.afc-v4-section-head strong{
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.afc-v4-section-head small{
  font-size:10px!important;
  color:#9297a0!important;
  white-space:nowrap!important;
}
.afc-v4-toolgrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.afc-v4-toolgrid button{
  min-width:0!important;
  height:76px!important;
  padding:7px 3px!important;
  border:1px solid #e1e2e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#26292e!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  box-shadow:none!important;
  transition:.15s ease!important;
}
.afc-v4-toolgrid button:hover,
.afc-v4-toolgrid button.is-active{
  border-color:var(--afc-blue)!important;
  background:#f3f8fe!important;
  color:var(--afc-blue)!important;
}
.afc-v4-icon{
  height:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:500!important;
}
.afc-v4-toolgrid strong{
  width:100%!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.afc-v4-toolpanels{margin-top:10px!important}
.afc-v4-toolpanel{
  padding:13px!important;
  border:1px solid #e2e3e6!important;
  border-radius:9px!important;
  background:#fafafa!important;
}
.afc-v4-panel-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
.afc-v4-panel-title strong{font-size:12px!important}
.afc-v4-panel-title button{
  width:26px!important;height:26px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#7e838c!important;
  font-size:19px!important;
}
.afc-v4-toolpanel>p{
  margin:0 0 10px!important;
  color:#7c818a!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.afc-v4-field{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin:0!important;
  font-size:10px!important;
  font-weight:750!important;
}
.afc-v4-field>span{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  color:#555a63!important;
}
.afc-v4-field input[type=text],
.afc-v4-field input[type=number],
.afc-v4-field select{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid #d6d8dc!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#22252a!important;
  box-shadow:none!important;
}
.afc-v4-field input[type=range]{width:100%!important;accent-color:var(--afc-blue)!important}
.afc-v4-fieldrow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 114px!important;
  gap:8px!important;
  margin-top:8px!important;
}
.afc-v4-color{
  height:38px!important;
  padding:4px 7px!important;
  border:1px solid #d6d8dc!important;
  border-radius:7px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.afc-v4-color input{width:27px!important;height:26px!important;padding:0!important;border:0!important;background:transparent!important}
.afc-v4-color strong{font-size:9px!important}
.afc-v4-text-actions,
.afc-v4-object-actions,
.afc-v4-create-actions{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin-top:9px!important;
}
.afc-v4-upload,
.afc-v4-primary,
.afc-v4-secondary,
.afc-v4-create-actions button{
  min-height:38px!important;
  padding:0 12px!important;
  border-radius:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.afc-v4-upload,
.afc-v4-primary{
  border:1px solid var(--afc-blue)!important;
  background:var(--afc-blue)!important;
  color:#fff!important;
}
.afc-v4-secondary,
.afc-v4-create-actions button{
  border:1px solid #d7d9dd!important;
  background:#fff!important;
  color:#33373d!important;
}
.afc-studio-v4 .afc-bold-toggle{
  height:38px!important;
  padding:0 11px!important;
  border:1px solid #d7d9dd!important;
  border-radius:7px!important;
  background:#fff!important;
}
.afc-studio-v4 .afc-bold-toggle.is-active,
.afc-studio-v4 .afc-bold-toggle[aria-pressed=true]{
  border-color:var(--afc-blue)!important;
  color:var(--afc-blue)!important;
  background:#f1f7fd!important;
}
.afc-v4-layer-state{
  display:block!important;
  margin-bottom:7px!important;
  font-size:9px!important;
  color:#858a93!important;
}
.afc-v4-nudge{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:5px!important;
  margin-top:8px!important;
}
.afc-v4-nudge button,
.afc-v4-object-actions button{
  min-height:32px!important;
  border:1px solid #d9dadd!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#34383e!important;
  font-size:9px!important;
  font-weight:750!important;
}
.afc-v4-object-actions button{padding:0 8px!important}
.afc-v4-advanced{margin-top:9px!important}
.afc-v4-advanced summary{font-size:10px!important;font-weight:800!important;cursor:pointer!important}
.afc-studio-v4 .afc-properties-compact{
  margin-top:8px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.afc-studio-v4 .afc-properties-compact label{
  font-size:9px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
.afc-studio-v4 .afc-properties-compact input{width:100%!important}

.afc-studio-v4 .afc-placement-hint{
  margin-top:7px!important;
  padding:8px 9px!important;
  border-radius:7px!important;
  background:#f8f8f9!important;
  border:1px solid #e4e5e8!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.afc-studio-v4 .afc-placement-hint strong{font-size:9px!important}
.afc-studio-v4 .afc-placement-hint span{font-size:9px!important;color:#8a8f98!important}
.afc-v4-quality [data-afc-checks]{display:grid!important;gap:5px!important}
.afc-v4-quality [data-afc-checks]>*{font-size:9px!important}

.afc-v4-sidebar-footer{
  padding:13px 22px 16px!important;
  background:#fff!important;
  border-top:1px solid #e5e6e9!important;
  box-shadow:0 -6px 20px rgba(20,22,26,.04)!important;
}
.afc-studio-v4 .afc-v4-price{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.afc-v4-price>div{display:flex!important;flex-direction:column!important;gap:1px!important}
.afc-v4-price span{font-size:9px!important;color:#888d96!important}
.afc-v4-price strong{font-size:15px!important;color:#24272c!important}
.afc-v4-finalize{
  width:100%!important;
  height:50px!important;
  border:0!important;
  border-radius:8px!important;
  background:var(--afc-blue)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.afc-v4-finalize:hover{background:var(--afc-blue-700)!important}
.afc-v4-mobile-toolbar{display:none!important}

/* Finalisation — conservée mais remise au même niveau visuel. */
.afc-v3-finalize-sheet{
  position:fixed!important;inset:0!important;z-index:1000020!important;
  display:flex!important;align-items:stretch!important;justify-content:flex-end!important;
}
.afc-v3-finalize-backdrop{position:absolute!important;inset:0!important;background:rgba(18,20,24,.42)!important;backdrop-filter:blur(2px)!important}
.afc-v3-finalize-card{
  position:relative!important;
  width:min(470px,100vw)!important;height:100%!important;
  background:#fff!important;
  box-shadow:-18px 0 50px rgba(18,20,24,.18)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.afc-v3-finalize-card>header{
  padding:20px!important;
  border-bottom:1px solid #e5e6e8!important;
  display:flex!important;justify-content:space-between!important;gap:14px!important;
}
.afc-v3-finalize-card>header div{display:flex!important;flex-direction:column!important;gap:3px!important}
.afc-v3-finalize-card>header span{font-size:9px!important;letter-spacing:.12em!important;font-weight:900!important;color:var(--afc-blue)!important}
.afc-v3-finalize-card>header strong{font-size:19px!important}
.afc-v3-finalize-card>header small{font-size:10px!important;color:#858a92!important}
.afc-v3-finalize-card>header button{width:34px!important;height:34px!important;border:1px solid #dadce0!important;border-radius:7px!important;background:#fff!important;font-size:20px!important}
.afc-v3-finalize-content{overflow:auto!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:15px!important}
.afc-studio-v4 .afc-client-summary{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important}
.afc-studio-v4 .afc-client-summary>div{padding:10px!important;border:1px solid #e2e3e6!important;border-radius:8px!important;background:#fafafa!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.afc-studio-v4 .afc-client-summary span{font-size:8px!important;color:#898e97!important;text-transform:uppercase!important}
.afc-studio-v4 .afc-client-summary strong{font-size:11px!important}
.afc-v3-finalize-note{padding:12px!important;border-radius:8px!important;background:#eef6ff!important;color:#25425f!important}
.afc-v3-finalize-note strong{font-size:11px!important}
.afc-v3-finalize-note p{margin:4px 0 0!important;font-size:10px!important;line-height:1.45!important}
.afc-studio-v4 .afc-studio-quantity{display:flex!important;flex-direction:column!important;gap:5px!important}
.afc-studio-v4 .afc-studio-quantity input{height:40px!important;border:1px solid #d4d6da!important;border-radius:7px!important;padding:0 10px!important}
.afc-studio-v4 .afc-studio-quantity small{font-size:9px!important;color:#898e97!important}
.afc-v3-finalize-card>footer{padding:14px 20px!important;border-top:1px solid #e5e6e8!important;display:flex!important;gap:8px!important}
.afc-v3-finalize-card>footer button{flex:1!important;height:44px!important;border-radius:8px!important;font-weight:850!important}
.afc-v3-finalize-card .afc-approve-design{border:0!important;background:var(--afc-blue)!important;color:#fff!important}
.afc-v3-finalize-card .afc-approve-design:disabled{opacity:.45!important;cursor:not-allowed!important}
.afc-studio-v4 .afc-user-library{z-index:1000030!important}
.afc-studio-v4 .afc-design-name-modal,
.afc-studio-v4 .afc-cart-error-modal,
.afc-studio-v4 .afc-photo-kind-dialog{z-index:1000040!important}

/* 0.63.5 — écran de préchargement du Studio.
   Il masque les phases d'initialisation AJAX/image et évite l'impression de page blanche. */
.afc-studio-v4 .afc-v4-scroll{position:relative!important}
.afc-studio-v4 .afc-studio-preloader{
  position:absolute!important;
  inset:0!important;
  z-index:1000020!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:#f4f4f5!important;
  color:#17191d!important;
}
.afc-studio-v4 .afc-studio-preloader[hidden]{display:none!important}
.afc-studio-v4 .afc-studio-preloader-card{
  width:min(390px,calc(100vw - 36px))!important;
  min-height:190px!important;
  padding:28px 26px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border:1px solid #dfe5eb!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 55px rgba(19,42,67,.12)!important;
  text-align:center!important;
}
.afc-studio-v4 .afc-studio-preloader-mark{
  width:46px!important;
  height:46px!important;
  border:4px solid #d8e8f6!important;
  border-top-color:var(--afc-blue)!important;
  border-radius:50%!important;
  animation:afc-studio-preloader-spin .8s linear infinite!important;
}
.afc-studio-v4 .afc-studio-preloader-card strong{
  margin-top:3px!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.afc-studio-v4 .afc-studio-preloader-card span{
  max-width:310px!important;
  color:#737b85!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.afc-studio-v4 .afc-studio-preloader-retry{
  min-height:38px!important;
  margin-top:4px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--afc-blue)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
}
.afc-studio-v4 .afc-studio-preloader-retry:disabled{opacity:.45!important;cursor:wait!important}
@keyframes afc-studio-preloader-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .afc-studio-v4 .afc-studio-preloader-mark{animation:none!important;border-top-color:#d8e8f6!important;box-shadow:inset 0 0 0 4px var(--afc-blue)!important}
}

/* 0.63.5 — Desktop : réserver exactement 100 px en haut du viewport.
   Le Studio reste plein écran, mais son contenu commence après ce padding.
   La zone de padding reste transparente et ne bloque pas le menu du site. */
@media (min-width:901px){
  .afc-studio-v4{
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    height:100dvh!important;
    padding-top:100px!important;
    background:transparent!important;
    pointer-events:none!important;
  }
  .afc-studio-v4>.afc-v4-scroll,
  .afc-studio-v4>.afc-landscape-app-prompt,
  .afc-studio-v4>.afc-orientation-popup{
    pointer-events:auto!important;
  }
  .afc-studio-v4 .afc-v4-scroll{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    display:block!important;
    background:#f4f4f5!important;
  }
  .afc-studio-v4 .afc-v4-app{
    width:min(1480px,100%)!important;
    max-width:1480px!important;
    height:100%!important;
    max-height:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* 0.63.2 — Desktop : le bloc Studio garde sa largeur de travail et reste
   centré horizontalement dans le viewport, y compris sur les grands écrans. */
/* Desktop plus compact */
@media (max-width:1360px) and (min-width:901px){
  .afc-v4-app{grid-template-columns:130px minmax(0,1fr) 390px!important}
  .afc-v4-sidebar-scroll{padding-left:17px!important;padding-right:17px!important}
  .afc-v4-sidebar-footer{padding-left:17px!important;padding-right:17px!important}
  .afc-v4-toolgrid{gap:5px!important}
  .afc-v4-toolgrid button{height:69px!important}
  .afc-v4-product-thumb{width:64px!important;height:64px!important}
  .afc-v4-product{grid-template-columns:64px minmax(0,1fr)!important}
}

/* 0.63.5 — finitions ergonomiques du panneau Studio. */
.afc-studio-v4 .afc-v4-quality{
  padding:18px 14px!important;
  box-sizing:border-box!important;
}
.afc-studio-v4 .afc-v4-upload-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.afc-studio-v4 .afc-v4-upload-actions .afc-v4-upload,
.afc-studio-v4 .afc-v4-upload-actions .afc-v4-secondary{
  margin:0!important;
}
.afc-studio-v4 .afc-library-model-placeholder{
  font-size:34px!important;
  line-height:1!important;
  color:var(--afc-blue)!important;
}

/* MOBILE / TABLETTE */
@media (max-width:900px){
  .afc-v4-app{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) 112px!important;
    height:100dvh!important;
  }
  .afc-v4-views{display:none!important}
  .afc-v4-workspace{
    grid-column:1!important;
    grid-row:1!important;
    grid-template-rows:52px 42px minmax(0,1fr) 84px!important;
    min-height:0!important;
  }
  .afc-v4-workspace-head{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    padding:0 7px!important;
  }
  .afc-v4-head-spacer{display:block!important}
  .afc-v4-techniques{width:100%!important;justify-self:stretch!important}
  .afc-v4-technique-switch{width:100%!important}
  .afc-v4-technique-switch button{flex:1!important;min-width:0!important;padding:0 7px!important;font-size:10px!important}
  .afc-v4-head-actions>.afc-save-design{display:none!important}
  .afc-v4-close{width:34px!important;height:34px!important}
  .afc-v4-canvas-toolbar{padding:0 9px!important}
  .afc-v4-view-name strong{font-size:10px!important}
  .afc-v4-save-state{display:none!important}
  .afc-v4-zoom{grid-column:2!important}
  .afc-v4-zoom input{width:72px!important}
  .afc-v4-zoom button[data-afc-v3-fit]{display:none!important}
  .afc-v4-canvas{padding:8px 9px!important;overflow:hidden!important}
  .afc-studio-v4 .afc-v4-scene-card{width:100%!important;height:100%!important}
  .afc-studio-v4 .afc-product-scene-image{max-width:96%!important;max-height:96%!important}
  .afc-v4-mobile-views{
    display:block!important;
    background:#fff!important;
    border-top:1px solid #e5e6e8!important;
    overflow:hidden!important;
  }
  .afc-v4-mobile-thumbs{
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:7px 9px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .afc-v4-mobile-thumbs::-webkit-scrollbar{display:none!important}
  .afc-v4-mobile-thumbs .afc-surface-thumb{
    flex:0 0 78px!important;
    width:78px!important;
    min-height:68px!important;
    height:68px!important;
    padding:3px!important;
    grid-template-rows:46px auto!important;
    border-radius:7px!important;
  }
  .afc-v4-mobile-thumbs .afc-surface-thumb-image{height:46px!important}
  .afc-v4-mobile-thumbs .afc-surface-thumb strong{font-size:8px!important}

  .afc-v4-sidebar{
    position:fixed!important;
    left:8px!important;right:8px!important;bottom:112px!important;
    z-index:90!important;
    max-height:72dvh!important;
    display:none!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    border:1px solid #dedfe2!important;
    border-radius:14px 14px 0 0!important;
    box-shadow:0 -18px 45px rgba(20,22,26,.18)!important;
  }
  .afc-studio-v4.is-mobile-panel-open .afc-v4-sidebar{display:grid!important}
  .afc-v4-sidebar-scroll{padding:14px 15px 18px!important}
  .afc-v4-product,
  .afc-v4-placement,
  .afc-v4-quality{display:none!important}
  .afc-v4-personalize{padding:0!important;border:0!important}
  .afc-v4-personalize>.afc-v4-section-head,
  .afc-v4-personalize>.afc-v4-toolgrid{display:none!important}
  .afc-v4-toolpanels{margin:0!important}
  .afc-v4-toolpanel{border:0!important;background:#fff!important;padding:0!important}
  .afc-v4-sidebar-footer{display:none!important}

  .afc-v4-mobile-toolbar{
    grid-column:1!important;
    grid-row:2!important;
    height:112px!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    grid-template-rows:62px 50px!important;
    background:#fff!important;
    border-top:1px solid #e1e2e5!important;
    z-index:70!important;
  }
  .afc-v4-mobile-toolbar>button:not(.afc-v4-mobile-finalize){
    border:0!important;
    border-right:1px solid #f0f0f1!important;
    background:#fff!important;
    color:#32363c!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
  }
  .afc-v4-mobile-toolbar>button span{font-size:18px!important;line-height:1!important}
  .afc-v4-mobile-toolbar>button strong{font-size:8px!important;font-weight:750!important}
  .afc-v4-mobile-finalize{
    grid-column:1 / -1!important;
    border:0!important;
    background:var(--afc-blue)!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:850!important;
  }
}

@media (max-width:520px){
  .afc-v4-workspace{grid-template-rows:50px 40px minmax(0,1fr) 78px!important}
  .afc-v4-app{grid-template-rows:minmax(0,1fr) 108px!important}
  .afc-v4-mobile-toolbar{height:108px!important;grid-template-rows:60px 48px!important}
  .afc-v4-sidebar{bottom:108px!important}
  .afc-v4-canvas{padding:4px 6px!important}
  .afc-v4-technique-switch button{height:30px!important}
  .afc-v4-zoom button{height:28px!important;min-width:28px!important}
  .afc-v4-mobile-thumbs .afc-surface-thumb{flex-basis:70px!important;width:70px!important}
}

/* Écrans desktop peu hauts : priorité absolue à la scène. */
@media (min-width:901px) and (max-height:760px){
  .afc-v4-workspace{grid-template-rows:52px 42px minmax(0,1fr)!important}
  .afc-v4-views{grid-template-rows:52px minmax(0,1fr) auto!important}
  .afc-v4-views-brand{height:52px!important}
  .afc-studio-v4 .afc-surface-thumb{min-height:96px!important;grid-template-rows:70px auto!important}
  .afc-studio-v4 .afc-surface-thumb-image{height:70px!important}
  .afc-v4-sidebar-scroll{padding-top:12px!important}
  .afc-v4-product{padding-bottom:12px!important}
  .afc-v4-personalize,.afc-v4-placement{padding:12px 0!important}
  .afc-v4-quality{padding:12px 12px!important}
  .afc-v4-toolgrid button{height:62px!important}
}


/* 0.62.1 — le bandeau supérieur du Studio ne doit contenir que le sélecteur de technique.
   Les descriptions techniques appartiennent au parcours produit, jamais à l'en-tête fixe. */
.afc-studio-v4 .afc-v4-workspace-head .afc-studio-technique-description,
.afc-studio-v4 .afc-v4-workspace-head .afc-technique-description,
.afc-studio-v4 .afc-v4-workspace-head [data-afc-technique-description]{
  display:none!important;
  position:static!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
.afc-studio-v4 .afc-v4-workspace-head{
  overflow:hidden!important;
}


/* 0.62.3 — zone de production toujours visible et interactive dans Studio V4 */
.afc-studio-v4 .afc-product-scene{
  position:relative!important;
}
.afc-studio-v4 .afc-production-zone{
  position:absolute!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  box-sizing:border-box!important;
  border:1.5px solid rgba(0,100,192,.82)!important;
  outline:1px solid rgba(255,255,255,.72)!important;
  outline-offset:-2px!important;
  background:rgba(0,100,192,.025)!important;
}
.afc-studio-v4 .afc-design-surface{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  visibility:visible!important;
  overflow:visible!important;
}
.afc-studio-v4.afc-placement-pending .afc-v4-toolpanel,
.afc-studio-v4.afc-placement-pending .afc-v4-toolgrid{
  opacity:1!important;
  pointer-events:auto!important;
}


/* =========================================================
   Studio 0.63 — deterministic scene / production zone
   The Studio owns its scene geometry. Legacy pending-placement
   rules must never hide the configured production area.
   ========================================================= */
.afc-studio-v3 .afc-product-scene{
  position:relative!important;
  isolation:isolate!important;
}
.afc-studio-v3 .afc-production-zone,
.afc-product-entry.afc-placement-pending .afc-studio-v3 .afc-production-zone{
  position:absolute!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  box-sizing:border-box!important;
  border:2px dashed #0064C0!important;
  background:rgba(0,100,192,.025)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.75) inset!important;
  z-index:20!important;
  min-width:2px!important;
  min-height:2px!important;
}
.afc-studio-v3 .afc-design-surface{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:21!important;
  overflow:visible!important;
}
.afc-studio-v3 .afc-placement-hint{
  display:none!important;
}
.afc-studio-v3 [data-afc-image-upload],
.afc-studio-v3 [data-afc-add-text],
.afc-studio-v3 [data-afc-text],
.afc-studio-v3 [data-afc-color],
.afc-studio-v3 [data-afc-font-size],
.afc-studio-v3 [data-afc-font-family],
.afc-studio-v3 [data-afc-font-bold]{
  pointer-events:auto!important;
}
.afc-studio-v3 .afc-v4-toolpanel :disabled{
  opacity:.55;
}


/* 0.63.6 — Étape native Taille / Dimension dans la finalisation.
   Le Studio reproduit le sélecteur de variantes Smart Shop dans le panneau
   final et relaie les clics vers le sélecteur source afin de conserver toute
   la logique stock / disponibilité / variation du produit. */
.afc-studio-v4 .afc-v3-variant-step{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:15px!important;
  border:1px solid #dfe5eb!important;
  border-radius:12px!important;
  background:#fff!important;
}
.afc-studio-v4 .afc-v3-variant-step[hidden]{display:none!important}
.afc-studio-v4 .afc-v3-variant-step__head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head>div{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head>div>span{
  color:#60758a!important;
  font-size:8px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
}
.afc-studio-v4 .afc-v3-variant-step__head strong{
  color:#142c43!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.afc-studio-v4 .afc-v3-variant-step__head small{
  color:#7b8793!important;
  font-size:9px!important;
  line-height:1.4!important;
}
.afc-studio-v4 .afc-v3-variant-current{
  flex:0 0 auto!important;
  max-width:48%!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#eaf4fd!important;
  color:#0064C0!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:800!important;
  text-align:right!important;
}
.afc-studio-v4 .afc-v3-variant-current.is-missing{
  background:#fff2e8!important;
  color:#a64c00!important;
}
.afc-studio-v4 .afc-v3-variant-picker{
  min-width:0!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native [data-term]{
  cursor:pointer!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native [data-term]:focus-visible{
  outline:2px solid #0064C0!important;
  outline-offset:2px!important;
}
.afc-studio-v4 .afc-v3-variant-message{
  margin:0!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  background:#fff6ee!important;
  color:#9a4f0c!important;
  font-size:9px!important;
  line-height:1.4!important;
}

/* Fallback visuel si Smart Shop n'applique ses styles qu'au sélecteur source. */
.afc-studio-v4 .afc-v3-variant-picker__native [data-term]{
  min-height:34px!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native button[data-term],
.afc-studio-v4 .afc-v3-variant-picker__native a[data-term],
.afc-studio-v4 .afc-v3-variant-picker__native [role="button"][data-term]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:3px 4px 3px 0!important;
  padding:7px 11px!important;
  border:1px solid #d9e1e8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#20364b!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.1!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native button[data-term].is-active,
.afc-studio-v4 .afc-v3-variant-picker__native a[data-term].is-active,
.afc-studio-v4 .afc-v3-variant-picker__native [aria-pressed="true"][data-term],
.afc-studio-v4 .afc-v3-variant-picker__native [aria-selected="true"][data-term]{
  border-color:#0064C0!important;
  box-shadow:0 0 0 1px #0064C0!important;
  background:#eef7ff!important;
  color:#0064C0!important;
}
@media (max-width:900px){
  .afc-studio-v4 .afc-v3-variant-step{padding:13px!important}
  .afc-studio-v4 .afc-v3-variant-step__head{flex-direction:column!important;gap:8px!important}
  .afc-studio-v4 .afc-v3-variant-current{max-width:100%!important;text-align:left!important}
}


/* 0.63.7 — Finalisation compacte.
   Réduit l'encombrement de l'étape tailles / dimensions / quantités
   sans modifier le moteur Smart Shop ni les variantes disponibles. */
.afc-studio-v4 .afc-v3-finalize-card{
  width:min(410px,100vw)!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header{
  padding:13px 15px!important;
  gap:10px!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header strong{
  font-size:16px!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header small{
  font-size:9px!important;
  line-height:1.3!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header button{
  width:30px!important;
  height:30px!important;
}
.afc-studio-v4 .afc-v3-finalize-content{
  padding:13px 15px!important;
  gap:9px!important;
}
.afc-studio-v4 .afc-client-summary{
  gap:5px!important;
}
.afc-studio-v4 .afc-client-summary>div{
  padding:7px 8px!important;
  border-radius:7px!important;
}
.afc-studio-v4 .afc-v3-finalize-note{
  padding:8px 10px!important;
}
.afc-studio-v4 .afc-v3-finalize-note p{
  margin-top:2px!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.afc-studio-v4 .afc-v3-variant-step{
  gap:7px!important;
  padding:9px 10px!important;
  border-radius:9px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head{
  gap:8px!important;
  align-items:center!important;
}
.afc-studio-v4 .afc-v3-variant-step__head>div{
  gap:1px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head strong{
  font-size:11px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head small{
  font-size:8px!important;
  line-height:1.25!important;
}
.afc-studio-v4 .afc-v3-variant-current{
  padding:4px 7px!important;
  font-size:8px!important;
}
.afc-studio-v4 .afc-v3-variant-picker__native button[data-term],
.afc-studio-v4 .afc-v3-variant-picker__native a[data-term],
.afc-studio-v4 .afc-v3-variant-picker__native [role="button"][data-term]{
  min-height:28px!important;
  margin:2px 3px 2px 0!important;
  padding:5px 8px!important;
  border-radius:6px!important;
  font-size:9px!important;
}
.afc-studio-v4 .afc-v3-variant-message{
  padding:6px 8px!important;
  font-size:8px!important;
}
.afc-studio-v4 .afc-studio-quantity{
  gap:3px!important;
}
.afc-studio-v4 .afc-studio-quantity input{
  height:34px!important;
  padding:0 8px!important;
}
.afc-studio-v4 .afc-studio-quantity small{
  font-size:8px!important;
}
.afc-studio-v4 .afc-v3-finalize-card>footer{
  padding:10px 15px!important;
  gap:6px!important;
}
.afc-studio-v4 .afc-v3-finalize-card>footer button{
  height:38px!important;
  font-size:11px!important;
}

@media (max-width:900px){
  .afc-studio-v4 .afc-v3-finalize-sheet{
    align-items:flex-end!important;
  }
  .afc-studio-v4 .afc-v3-finalize-card{
    width:100%!important;
    height:auto!important;
    max-height:min(76dvh,680px)!important;
    border-radius:14px 14px 0 0!important;
    overflow:hidden!important;
  }
  .afc-studio-v4 .afc-v3-finalize-card>header{
    padding:10px 12px!important;
  }
  .afc-studio-v4 .afc-v3-finalize-content{
    padding:10px 12px!important;
    gap:7px!important;
  }
  .afc-studio-v4 .afc-v3-variant-step{
    padding:8px!important;
    gap:6px!important;
  }
  .afc-studio-v4 .afc-v3-variant-step__head{
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
  }
  .afc-studio-v4 .afc-v3-variant-step__head small{
    display:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-current{
    max-width:46%!important;
    text-align:right!important;
  }
  .afc-studio-v4 .afc-v3-finalize-card>footer{
    padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
  }
}


/* 0.63.8 — Finalisation épurée : uniquement les actions utiles. */
.afc-studio-v4 .afc-v3-finalize-card{
  width:min(370px,100vw)!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header{
  padding:10px 12px!important;
  min-height:46px!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header strong{
  font-size:15px!important;
  line-height:1.15!important;
}
.afc-studio-v4 .afc-v3-finalize-card>header span,
.afc-studio-v4 .afc-v3-finalize-card>header small{
  display:none!important;
}
.afc-studio-v4 .afc-v3-finalize-content{
  padding:10px 12px!important;
  gap:8px!important;
}
.afc-studio-v4 .afc-v3-finalize-content>.afc-client-summary{
  display:none!important;
}
.afc-studio-v4 .afc-v3-finalize-note{
  display:none!important;
}
.afc-studio-v4 .afc-bat-confirm-unified{
  padding:9px 10px!important;
  min-height:42px!important;
}
.afc-studio-v4 .afc-bat-confirm-unified small:not(.afc-visual-confirm-warning){
  display:none!important;
}
.afc-studio-v4 .afc-v3-variant-step{
  padding:8px 9px!important;
  gap:6px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
}
.afc-studio-v4 .afc-v3-variant-step__head>span:not(.afc-v3-variant-current),
.afc-studio-v4 .afc-v3-variant-step__head small{
  display:none!important;
}
.afc-studio-v4 .afc-v3-variant-step__head>strong{
  font-size:10px!important;
  margin:0!important;
}
.afc-studio-v4 .afc-v3-variant-current:empty{
  display:none!important;
}
.afc-studio-v4 .afc-studio-quantity{
  display:grid!important;
  grid-template-columns:auto 74px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
}
.afc-studio-v4 .afc-studio-quantity>span{
  font-size:10px!important;
  font-weight:800!important;
  margin:0!important;
}
.afc-studio-v4 .afc-studio-quantity>small{
  display:none!important;
}
.afc-studio-v4 .afc-studio-quantity input{
  width:74px!important;
  height:32px!important;
  margin:0!important;
  text-align:center!important;
}
.afc-studio-v4 .afc-v3-finalize-card>footer{
  padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
}
.afc-studio-v4 .afc-v3-finalize-card>footer button{
  height:36px!important;
}
@media (max-width:900px){
  .afc-studio-v4 .afc-v3-finalize-card{
    max-height:min(62dvh,520px)!important;
  }
}


/* =========================================================
   0.63.9 — finition Smart Shop / finalisation
   ========================================================= */

/* Galerie produit : supprimer les fonds, bordures et ombres imposés par Nova. */
body.afiwai-goodies-pro.afiwai-theme-nova :where(.afiwai-product-gallery,.afiwai-product-gallery-system,.afiwai-product-v3__gallery,.afiwai-product-v3__media){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.afiwai-goodies-pro :where(.afiwai-product-card__media,.afiwai-v3-product-card__media,.afiwai-product-media,.afiwai-favorites-card__media,.afiwai-favorites-card__media-wrap,.afiwai-product-gallery,.afiwai-product-gallery-system,.afiwai-product-v3__gallery,.afiwai-product-v3__media){
  background:transparent!important;
}
body.afiwai-goodies-pro :where(.afiwai-product-gallery,.afiwai-product-gallery-system,.afiwai-product-v3__gallery,.afiwai-product-v3__media){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Préchargement au clic sur "Choisir les tailles et quantités". */
.afc-studio-v4 .afc-v3-finalize-loader{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  background:rgba(255,255,255,.96)!important;
  color:#17324b!important;
}
.afc-studio-v4 .afc-v3-finalize-loader[hidden]{display:none!important}
.afc-studio-v4 .afc-v3-finalize-loader__spinner{
  width:34px!important;
  height:34px!important;
  border:3px solid #dcecf8!important;
  border-top-color:#0064C0!important;
  border-radius:50%!important;
  animation:afc-studio-preloader-spin .72s linear infinite!important;
}
.afc-studio-v4 .afc-v3-finalize-loader strong{
  font-size:11px!important;
  font-weight:850!important;
}

/* Desktop uniquement — espacement demandé. */
@media (min-width:901px){
  .afc-studio-v4 .afc-v3-finalize-content{
    padding:75px 12px!important;
    gap:8px!important;
  }
}

/* Responsive : variante plus visuelle et plus compacte. */
@media (max-width:900px){
  /* Corrige le débordement provoqué par margin:10px sur un bloc pleine largeur. */
  body.afiwai-goodies-pro.afiwai-theme-nova .afiwai-variation-picker__status:not(.is-backorder):not(.is-out) {
    border-color: rgba(43, 140, 184, .18) !important;
    background: #EAF7FC !important;
    color: #156A93 !important;
}

  /* Dans la finalisation Studio, les couleurs restent des pastilles uniquement. */
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-color-copy-hidden{
    display:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-color-only{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-color-swatch{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    margin:2px 5px 2px 0!important;
    padding:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-color-swatch *{
    font-size:0!important;
    line-height:0!important;
  }
}


/* =========================================================
   0.63.10 — correctifs réellement applicables / priorité forte
   ========================================================= */

/* Neutralisation effective des habillages galerie Goodies/Nova.
   Sélecteurs volontairement plus spécifiques que les règles thème. */
html body.afiwai-goodies-pro.afiwai-theme-nova :is(
  .afiwai-product-gallery,
  .afiwai-product-gallery-system,
  .afiwai-product-v3__gallery,
  .afiwai-product-v3__media
),
html body.afiwai-goodies-pro :is(
  .afiwai-product-card__media,
  .afiwai-v3-product-card__media,
  .afiwai-product-media,
  .afiwai-favorites-card__media,
  .afiwai-favorites-card__media-wrap,
  .afiwai-product-gallery,
  .afiwai-product-gallery-system,
  .afiwai-product-v3__gallery,
  .afiwai-product-v3__media
){
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Desktop seulement : valeur exacte demandée. */
@media (min-width:901px){
  html body .afc-studio-v4 .afc-v3-finalize-content{
    padding:75px 12px!important;
    gap:8px!important;
  }
}

/* Responsive uniquement. */
@media (max-width:900px){
  html body.afiwai-goodies-pro.afiwai-theme-nova
  .afiwai-variation-picker__status:not(.is-backorder):not(.is-out){
    border-color:rgba(43,140,184,.18)!important;
    background:#EAF7FC!important;
    color:#156A93!important;

    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    box-sizing:border-box!important;
  }

  /* Le clone responsive ne montre que les pastilles du groupe couleur. */
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group
  :is(.afc-v3-mobile-color-label,.afc-v3-mobile-color-name){
    display:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-swatch{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0!important;
    margin:2px 5px 2px 0!important;
    border-radius:999px!important;
    overflow:hidden!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-swatch *{
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
  }
  .afc-studio-v4 .afc-v3-responsive-help-hidden{
    display:none!important;
  }
}

/* Préchargeur : suffisamment haut dans la pile et visible au moins brièvement. */
.afc-studio-v4 .afc-v3-finalize-loader{
  z-index:2147483000!important;
}

/* =========================================================
   0.63.11 — correctifs canoniques validés
   Les règles ci-dessous sont volontairement placées en fin
   de fichier pour être la source de vérité de cette passe.
   ========================================================= */

/* 2 — Neutralisation EXACTE des habillages Nova demandés. */
html body.afiwai-goodies-pro.afiwai-theme-nova :where(
  .afiwai-product-gallery,
  .afiwai-product-gallery-system,
  .afiwai-product-v3__gallery,
  .afiwai-product-v3__media
){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html body.afiwai-goodies-pro :where(
  .afiwai-product-card__media,
  .afiwai-v3-product-card__media,
  .afiwai-product-media,
  .afiwai-favorites-card__media,
  .afiwai-favorites-card__media-wrap,
  .afiwai-product-gallery,
  .afiwai-product-gallery-system,
  .afiwai-product-v3__gallery,
  .afiwai-product-v3__media
){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}
html body.afiwai-goodies-pro :where(
  .afiwai-product-gallery,
  .afiwai-product-gallery-system,
  .afiwai-product-v3__gallery,
  .afiwai-product-v3__media
){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* 1 — Préchargement réellement visible au clic. */
.afc-studio-v4 .afc-v3-finalize-loader{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:10px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  color:#17324b!important;
  pointer-events:all!important;
}
.afc-studio-v4 .afc-v3-finalize-loader[hidden]{
  display:none!important;
}
.afc-studio-v4 [data-afc-v3-finalize].is-loading{
  position:relative!important;
  pointer-events:none!important;
  opacity:.82!important;
}
.afc-studio-v4 [data-afc-v3-finalize].is-loading::before{
  content:""!important;
  display:inline-block!important;
  width:14px!important;
  height:14px!important;
  margin-right:8px!important;
  vertical-align:-2px!important;
  border:2px solid rgba(255,255,255,.45)!important;
  border-top-color:#fff!important;
  border-radius:50%!important;
  animation:afc-studio-preloader-spin .65s linear infinite!important;
}

/* 3 — ordinateur uniquement, valeur exacte demandée. */
@media (min-width:901px){
  html body .afc-studio-v4 .afc-v3-finalize-content{
    padding:75px 12px!important;
    gap:8px!important;
  }
}

/* 4 — responsive uniquement. */
@media (max-width:900px){
  /* Phrase d'aide supprimée, y compris après rerender Smart Shop. */
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-responsive-help-hidden{
    display:none!important;
  }

  /* Le groupe couleur n'a plus de carte / titre / libellé. */
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group{
    margin:0 0 6px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group
  > :not(.afc-v3-mobile-color-options):not([data-term]){
    display:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-options{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native
  .afc-v3-mobile-color-group [data-term]{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(16,62,99,.22)!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
    overflow:visible!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native
  .afc-v3-mobile-color-group [data-term].is-active,
  .afc-studio-v4 .afc-v3-variant-picker__native
  .afc-v3-mobile-color-group [data-term][aria-pressed="true"],
  .afc-studio-v4 .afc-v3-variant-picker__native
  .afc-v3-mobile-color-group [data-term][aria-selected="true"]{
    outline:2px solid #0064C0!important;
    outline-offset:2px!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-dot{
    display:block!important;
    width:22px!important;
    height:22px!important;
    border-radius:50%!important;
    border:1px solid rgba(16,62,99,.12)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
    pointer-events:none!important;
  }

  /* Aucun nom de couleur ni badge « Sélection : Blanc … » en mobile. */
  .afc-studio-v4 .afc-v3-variant-picker__native
  .afc-v3-mobile-color-group [data-term] > :not(.afc-v3-mobile-color-dot),
  .afc-studio-v4 .afc-v3-variant-current{
    font-size:0!important;
    color:transparent!important;
  }
  .afc-studio-v4 .afc-v3-variant-current{
    display:none!important;
  }

  /* Correction demandée du statut, avec compensation de largeur. */
  html body.afiwai-goodies-pro.afiwai-theme-nova
  .afiwai-variation-picker__status:not(.is-backorder):not(.is-out){
    border-color:rgba(43,140,184,.18)!important;
    background:#EAF7FC!important;
    color:#156A93!important;

    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    box-sizing:border-box!important;
  }
}


/* =========================================================
   0.63.12 — synchronisation emplacements + responsive compact
   ========================================================= */
@media (max-width:900px){
  /* Les textes explicitement supprimés sont marqués par le moteur JS. */
  .afc-studio-v4 .afc-v3-responsive-help-hidden{
    display:none!important;
  }

  /* Le groupe Couleur ne conserve que les pastilles cliquables. */
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-options{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:center!important;
  }
  .afc-studio-v4 .afc-v3-variant-picker__native .afc-v3-mobile-color-group [data-term]{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
    line-height:0!important;
    color:transparent!important;
    overflow:visible!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-dot{
    display:block!important;
    width:22px!important;
    height:22px!important;
    border-radius:50%!important;
    border:1px solid rgba(16,62,99,.16)!important;
    pointer-events:none!important;
  }
}


/* 0.63.29 — nettoyage responsive strict, sans modifier le flux de finalisation. */
@media (max-width:900px){
  .afc-studio-v4 .afc-v3-responsive-help-hidden{
    display:none!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-group{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-options{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-options [data-term],
  .afc-studio-v4 [data-term].afc-v3-color-only{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    font-size:0!important;
    line-height:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .afc-studio-v4 .afc-v3-mobile-color-dot{
    display:block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    border-radius:50%!important;
    border:1px solid rgba(0,0,0,.12)!important;
    box-sizing:border-box!important;
  }
}

/* AFIWAI 0.63.29 — backorder spacing */
.afiwai-variation-picker__status.is-backorder {
    margin-top: 15px;
}

/* AFIWAI 0.63.29 — statut variation Nova (global desktop + responsive) */
body.afiwai-goodies-pro.afiwai-theme-nova .afiwai-variation-picker__status:not(.is-backorder):not(.is-out) {
    border-color: rgba(43, 140, 184, .18) !important;
    background: #EAF7FC !important;
    color: #156A93 !important;
    margin-top: 15px;
}

/* 0.63.30 — le zoom reste strictement dans le bloc aperçu. */
.afc-studio-v4 .afc-v4-canvas{overflow:hidden!important;contain:paint!important;}
.afc-studio-v4 .afc-v4-scene-card{overflow:hidden!important;}
.afc-studio-v4 .afc-product-scene{overflow:hidden!important;}


/* 0.63.31 — compatibilité Smart Shop : Customizable ne doit jamais
   libérer le débordement de la galerie. Le zoom reste contenu dans
   son viewport natif sans modifier son facteur ni son origine. */
html body .afiwai-product-gallery-system__stage,
html body .afiwai-product-v3__media{
  overflow:hidden!important;
}

/* 0.63.32 — zone de production fidèle à l'admin, sans rogner le visuel client. */
.afc-studio-v3 .afc-production-zone,
.afc-studio-v4 .afc-production-zone{
  overflow:visible!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-color:transparent!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.afc-studio-v3 .afc-design-surface,
.afc-studio-v4 .afc-design-surface{
  overflow:visible!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-radius:0!important;
}
.afc-production-shape-guide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  z-index:40;
}
.afc-production-shape-guide rect,
.afc-production-shape-guide ellipse,
.afc-production-shape-guide polygon{
  fill:rgba(0,100,192,.025);
  stroke:#0064C0;
  stroke-width:2;
  stroke-dasharray:6 4;
}
.afc-studio-v3 .afc-object,
.afc-studio-v4 .afc-object{
  max-width:none!important;
  max-height:none!important;
}
.afc-studio-v3 .afc-object-image,
.afc-studio-v4 .afc-object-image,
.afc-studio-v3 .afc-object-image .afc-object-content,
.afc-studio-v4 .afc-object-image .afc-object-content{
  overflow:visible!important;
  max-width:none!important;
  max-height:none!important;
}
