
.afc-product-entry{margin:18px 0;border:1px solid rgba(0,100,192,.16);border-radius:16px;background:#fff;overflow:hidden}
.afc-product-entry-main{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px}.afc-product-entry p{margin:4px 0 0;font-size:.9em;opacity:.72}
.afc-customize-button{appearance:none;border:0;border-radius:12px;background:#0064C0;color:#fff;padding:13px 18px;font-weight:700;cursor:pointer}.afc-customize-button:hover,.afc-customize-button:focus{filter:brightness(.94)}
.afc-customizer-shell{padding:18px;border-top:1px solid rgba(0,100,192,.12);background:#f7fbff}
@media(max-width:640px){.afc-product-entry-main{align-items:stretch;flex-direction:column}.afc-customize-button{width:100%}}

.afc-start-design{margin-top:12px;appearance:none;border:0;border-radius:12px;background:#0064C0;color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}
.afc-designer-status{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff;min-height:22px}

.afc-live-designer{display:grid;gap:14px;margin-top:14px}.afc-toolbar{display:grid;grid-template-columns:1fr 2fr auto 1fr;gap:10px;align-items:end}.afc-toolbar label{display:grid;gap:5px;font-size:12px;font-weight:800}.afc-toolbar input,.afc-toolbar select{min-height:40px}
.afc-canvas-wrap{display:grid;place-items:center;min-height:300px;padding:24px;border-radius:16px;background:linear-gradient(45deg,#f4f7fa 25%,transparent 25%),linear-gradient(-45deg,#f4f7fa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f4f7fa 75%),linear-gradient(-45deg,transparent 75%,#f4f7fa 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.afc-design-surface{position:relative;width:min(100%,520px);aspect-ratio:4/3;background:#fff;border:2px dashed #0064C0;border-radius:14px;overflow:hidden}.afc-design-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90%;white-space:nowrap;font-weight:800;cursor:move;user-select:none}
.afc-designer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.afc-save-design{appearance:none;border:0;border-radius:12px;background:#0064C0;color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}
@media(max-width:720px){.afc-toolbar{grid-template-columns:1fr}.afc-canvas-wrap{min-height:240px;padding:14px}}

.afc-tool-actions{display:flex;gap:8px;flex-wrap:wrap}.afc-tool-actions button,.afc-upload-btn{border:1px solid rgba(0,100,192,.2);background:#fff;color:#0064C0;border-radius:10px;padding:9px 12px;font-weight:750;cursor:pointer}
.afc-design-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:65%;max-height:65%;object-fit:contain}.afc-design-text{z-index:2;text-shadow:0 1px 1px rgba(255,255,255,.35)}
.afc-preflight{background:#fff;border:1px solid rgba(0,100,192,.12);border-radius:14px;padding:14px}.afc-check{display:flex;gap:8px;align-items:flex-start;margin-top:8px;font-size:.9em}.afc-check span{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#6d7b8d;flex:0 0 auto}.afc-check.ok span{background:#16834b}.afc-check.warning span{background:#d98a00}.afc-check.info span{background:#1677d2}.afc-check.error span{background:#c92c2c}
.afc-approve-design{border:0;border-radius:12px;background:#122033;color:#fff;padding:11px 16px;font-weight:800;cursor:pointer}.afc-product-entry.is-approved{border-color:#16834b}.afc-product-entry.is-approved .afc-customizer-shell{background:#f5fff9}

.afc-designer-layout{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;gap:14px;align-items:stretch}
.afc-layers,.afc-properties{background:#fff;border:1px solid rgba(0,100,192,.12);border-radius:14px;padding:12px;min-width:0}
.afc-layers>strong,.afc-properties>strong{display:block;margin-bottom:10px}
.afc-layer{display:flex;width:100%;align-items:center;gap:8px;border:0;background:transparent;border-radius:9px;padding:8px;text-align:left;cursor:pointer;color:#24364a}.afc-layer:hover,.afc-layer.is-active{background:#e8f3ff;color:#0064C0}.afc-layer span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f0f4f8;font-weight:900}.afc-layer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.afc-properties{display:grid;align-content:start;gap:9px}.afc-properties label{display:grid;gap:4px;font-size:11px;font-weight:800}.afc-properties input{width:100%;box-sizing:border-box}
.afc-design-surface{touch-action:none}.afc-object{position:absolute;left:50%;top:50%;transform-origin:center center;cursor:grab;user-select:none;max-width:70%;max-height:70%;z-index:1}.afc-object:active{cursor:grabbing}.afc-object-text{white-space:nowrap;font-weight:800;line-height:1.05}.afc-object-image{object-fit:contain}.afc-object.is-selected{outline:2px solid #0064C0;outline-offset:4px}
.afc-tool-actions button:disabled,.afc-upload-btn:has(input:disabled){opacity:.45;cursor:not-allowed}
@media(max-width:920px){.afc-designer-layout{grid-template-columns:1fr}.afc-layers{order:2}.afc-properties{order:3}.afc-canvas-wrap{order:1}.afc-layers [data-afc-layers]{display:flex;gap:6px;overflow:auto}.afc-layer{width:auto;min-width:120px}.afc-properties{grid-template-columns:repeat(2,1fr)}}

/* 0.54.90 — repères des marges techniques dans le simulateur */
.afc-bleed-guide,.afc-safety-guide{position:absolute;pointer-events:none;z-index:8;border-radius:6px;box-sizing:border-box}
.afc-bleed-guide{border:1.5px dashed rgba(221,45,109,.92)}
.afc-bleed-guide:before{content:"Fond perdu";position:absolute;left:5px;top:5px;font-size:10px;font-weight:800;color:#b51f58;background:rgba(255,255,255,.94);padding:2px 5px;border-radius:5px;box-shadow:0 1px 4px rgba(31,45,61,.08)}
.afc-safety-guide{border:1.5px dashed rgba(20,126,204,.92)}
.afc-safety-guide:before{content:"Zone sûre";position:absolute;right:5px;top:5px;font-size:10px;font-weight:800;color:#0f67a7;background:rgba(255,255,255,.94);padding:2px 5px;border-radius:5px;box-shadow:0 1px 4px rgba(31,45,61,.08)}

/* Express: only essential controls */
.afc-runtime-express .afc-layers,
.afc-runtime-express .afc-properties,
.afc-runtime-express [data-afc-duplicate],
.afc-runtime-express [data-afc-delete],
.afc-runtime-express [data-afc-center],
.afc-runtime-express .afc-tool-actions button[data-afc-add-text]{display:none!important}
.afc-runtime-express .afc-designer-layout{grid-template-columns:1fr}
.afc-runtime-express .afc-toolbar{grid-template-columns:1fr 1.5fr auto}

/* Guided: visual editor without technical side panels */
.afc-runtime-guided .afc-properties{display:none}
.afc-runtime-guided .afc-designer-layout{grid-template-columns:160px minmax(0,1fr)}
@media(max-width:720px){
  .afc-runtime-guided .afc-designer-layout,.afc-runtime-express .afc-designer-layout{grid-template-columns:1fr}
  .afc-runtime-guided .afc-layers{order:2}
}

.afc-canvas-column{display:grid;gap:14px;min-width:0}
.afc-mockup-card{background:#fff;border:1px solid rgba(0,100,192,.12);border-radius:14px;padding:12px}
.afc-mockup-stage{margin-top:10px;display:grid;place-items:center;min-height:220px;background:#f6f9fc;border-radius:12px;overflow:hidden}
.afc-mockup-product{position:relative;display:inline-block;max-width:100%}.afc-mockup-product>img{display:block;max-width:100%;max-height:360px;object-fit:contain}
.afc-mockup-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden}.afc-mockup-object{opacity:.92}

.afc-technique-client{padding:0 16px 16px}.afc-technique-client-title{display:block;font-size:12px;font-weight:800;color:#526278;margin-bottom:9px}
.afc-technique-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.afc-technique-client-grid label>input{position:absolute;opacity:0;pointer-events:none}
.afc-technique-client-grid label>span{display:flex;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid #dce6ef;border-radius:12px;background:#fff;cursor:pointer}
.afc-technique-client-grid label>input:checked+span{border:2px solid #0064C0;background:#f3f9ff}
.afc-technique-client-grid strong{font-size:13px;color:#122033}.afc-technique-client-grid small{font-size:11px;color:#6d7b8d;white-space:nowrap}

.afc-properties label{display:grid;gap:5px}.afc-properties input[type=range]{width:100%}
.afc-tool-actions button[data-afc-layer-up],.afc-tool-actions button[data-afc-layer-down]{background:#f4f8fc}

.afc-customizer-shell{padding:18px;background:#f8fbfe}
.afc-designer-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(0,100,192,.12);border-radius:14px;background:#fff}
.afc-designer-intro strong{display:block;font-size:17px;color:#122033}.afc-designer-intro p{margin:5px 0 0;color:#6e7c8d}
.afc-client-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.afc-client-summary>div{padding:12px;border:1px solid rgba(0,100,192,.12);border-radius:12px;background:#fff}
.afc-client-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#748396;font-weight:800}.afc-client-summary strong{display:block;margin-top:5px;color:#122033}
.afc-bat-confirm{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #d8e5ef;border-radius:12px;background:#fff;font-weight:700;color:#314256}
.afc-approve-design:disabled{opacity:.45;cursor:not-allowed}
.afc-product-entry.is-approved .afc-bat-confirm{background:#f3fbf6;border-color:#cde8d6}
@media(max-width:720px){.afc-designer-intro{align-items:stretch;flex-direction:column}.afc-client-summary{grid-template-columns:1fr}.afc-designer-foot{align-items:stretch;flex-direction:column}.afc-designer-foot>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}}

/* Front correction 0.22 */
.afc-product-entry{border:1px solid #dbe7f1;border-radius:16px;background:#fff;overflow:hidden}
.afc-product-entry-main{padding:14px 16px}.afc-product-entry-main strong{font-size:14px}.afc-product-entry-main p{font-size:11px;color:#758396;margin:4px 0 0}
.afc-customize-button{min-height:42px;border-radius:11px!important;background:#0064C0!important;color:#fff!important;border:0!important;padding:0 18px!important;font-weight:800!important;cursor:pointer}
.afc-customize-button:hover{background:#0054a2!important}
.afc-customizer-shell{border-top:1px solid #e4ebf2;padding:16px;background:#f7fafe}
.afc-live-designer{margin-top:14px}
.afc-designer-status:empty{display:none}.afc-designer-status{margin-top:10px;border-radius:11px;background:#eef6fd;color:#314b64;padding:10px 12px}
.afc-designer-status strong{color:#0d3558}
.afc-toolbar{background:#fff;border:1px solid #e0e8ef;border-radius:13px;padding:12px}
.afc-tool-actions{padding:2px 0}
.afc-canvas-wrap{border:1px solid #e0e7ee;box-shadow:none}
.afc-preflight{box-shadow:none}
.afc-designer-foot{position:sticky;bottom:0;z-index:8;padding:12px;border:1px solid #dce6ef;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:13px}
.afc-product-entry.is-approved{border-color:#51a975;box-shadow:0 0 0 1px #51a975 inset}

/* ==========================================================
   AFIWAI Customizable 0.23 — Premium full-screen Studio
   ========================================================== */
body.afc-studio-open{overflow:hidden!important}

.afc-customizer-shell[hidden]{display:none!important}
.afc-customizer-shell{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#edf3f8!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
}

.afc-studio-topbar{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 24px;
  background:#fff;
  border-bottom:1px solid #dce6ef;
  box-shadow:0 5px 20px rgba(18,40,64,.06);
  z-index:20;
}
.afc-studio-title{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}
.afc-studio-kicker{grid-row:1/3;display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border-radius:12px;background:#0064C0;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;text-align:center}
.afc-studio-title strong{font-size:16px;color:#10283f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}
.afc-studio-title small{font-size:11px;color:#758597;margin-top:2px}
.afc-studio-topbar-actions{display:flex;align-items:center;gap:12px}
.afc-studio-save-indicator{font-size:11px;font-weight:800;color:#68798c}
.afc-studio-close{
  border:1px solid #d6e1ea!important;
  background:#f7fafc!important;
  color:#18324a!important;
  border-radius:11px!important;
  min-height:42px;
  padding:0 15px!important;
  font-weight:800!important;
  cursor:pointer!important
}
.afc-studio-close:hover{border-color:#0064C0!important;color:#0064C0!important;background:#fff!important}

.afc-studio-scroll{
  overflow:auto;
  overscroll-behavior:contain;
  padding:20px 24px 34px;
}
.afc-studio-scroll>.afc-designer-intro{
  max-width:1480px;
  margin:0 auto 12px;
}
.afc-studio-scroll>.afc-designer-status{
  max-width:1480px;
  margin:0 auto 12px;
}
.afc-live-designer{
  max-width:1480px;
  margin:0 auto!important;
  display:grid;
  gap:14px;
}

.afc-studio-toolbar{
  position:sticky;
  top:-20px;
  z-index:15;
  display:grid;
  gap:10px;
  padding:12px;
  background:rgba(255,255,255,.96);
  border:1px solid #dce6ef;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(18,40,64,.07);
  backdrop-filter:blur(10px);
}
.afc-studio-toolbar .afc-toolbar{
  grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) 90px minmax(140px,1fr);
  border:0!important;
  padding:0!important;
  background:transparent!important;
}
.afc-studio-toolbar .afc-tool-actions{
  padding-top:10px;
  border-top:1px solid #edf1f4;
}
.afc-studio-toolbar .afc-tool-actions button,
.afc-studio-toolbar .afc-upload-btn{
  min-height:38px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f7fafc;
}
.afc-studio-toolbar [data-afc-add-text],
.afc-studio-toolbar .afc-upload-btn{
  background:#0064C0!important;
  border-color:#0064C0!important;
  color:#fff!important;
}

.afc-studio-workspace{
  display:grid;
  grid-template-columns:220px minmax(520px,1fr) 240px;
  gap:14px;
  align-items:start;
}
.afc-studio-panel,
.afc-studio-center>.afc-mockup-card{
  background:#fff;
  border:1px solid #dce6ef;
  border-radius:16px;
  box-shadow:0 7px 22px rgba(18,40,64,.045);
}
.afc-studio-panel{padding:14px;min-width:0}
.afc-studio-panel-head{display:grid;gap:2px;margin-bottom:12px}
.afc-studio-panel-head strong{font-size:13px;color:#15304a}
.afc-studio-panel-head small{font-size:10px;color:#8190a0}
.afc-studio-center{display:grid;gap:14px;min-width:0}

.afc-studio-workspace .afc-canvas-wrap{
  min-height:600px;
  padding:26px;
  background:
    linear-gradient(45deg,#f4f7fa 25%,transparent 25%),
    linear-gradient(-45deg,#f4f7fa 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#f4f7fa 75%),
    linear-gradient(-45deg,transparent 75%,#f4f7fa 75%);
  background-size:24px 24px;
  background-position:0 0,0 12px,12px -12px,-12px 0;
  border:1px solid #dce6ef;
  border-radius:16px;
  position:relative;
}
.afc-canvas-caption{
  position:absolute;
  top:12px;
  left:14px;
  z-index:4;
  display:grid;
  gap:2px;
  pointer-events:none;
}
.afc-canvas-caption span{font-size:8px;font-weight:900;letter-spacing:.1em;color:#8290a0}
.afc-canvas-caption strong{font-size:11px;color:#29445d}
.afc-studio-workspace .afc-design-surface{
  width:min(100%,760px);
  min-width:280px;
  min-height:280px;
  max-height:68vh;
  border:2px solid #0064C0;
  border-radius:12px;
  box-shadow:0 16px 40px rgba(27,55,83,.12);
}

.afc-studio-workspace .afc-layers,
.afc-studio-workspace .afc-properties{
  position:sticky;
  top:114px;
  align-self:start;
}
.afc-studio-workspace .afc-layers{max-height:calc(100dvh - 180px);overflow:auto}
.afc-studio-workspace .afc-properties{display:grid;gap:12px}
.afc-studio-workspace .afc-properties label{
  display:grid;
  gap:6px;
  padding-top:9px;
  border-top:1px solid #edf1f4;
  font-size:10px;
  font-weight:800;
  color:#5d7083;
}
.afc-studio-workspace .afc-properties input{width:100%}

.afc-studio-center>.afc-mockup-card{padding:14px}
.afc-studio-center .afc-mockup-stage{
  min-height:380px;
  border-radius:12px;
  background:#f4f7fa;
}
.afc-studio-center .afc-mockup-product>img{max-height:520px}

.afc-studio-review{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);
  gap:14px;
}
.afc-studio-review .afc-preflight,
.afc-studio-review .afc-client-summary{
  background:#fff;
  border:1px solid #dce6ef;
  border-radius:16px;
  padding:14px;
  box-shadow:0 7px 22px rgba(18,40,64,.04);
}
.afc-studio-review .afc-client-summary{display:grid;grid-template-columns:1fr;gap:8px}
.afc-studio-review .afc-client-summary>div{border:0;border-top:1px solid #edf1f4;border-radius:0;padding:9px 0}
.afc-studio-review .afc-client-summary>div:first-child{border-top:0}

.afc-bat-confirm{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:16px;
  background:#fff;
  border:1px solid #d7e3ec;
  border-radius:15px;
}
.afc-bat-confirm>span{display:grid;gap:3px}
.afc-bat-confirm strong{font-size:12px;color:#15304a}
.afc-bat-confirm small{font-size:10px;font-weight:500;color:#7b8a9b;line-height:1.4}

.afc-designer-foot{
  position:sticky!important;
  bottom:-34px!important;
  z-index:16!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid #d6e2eb!important;
  border-radius:15px!important;
  box-shadow:0 -8px 25px rgba(18,40,64,.08)!important;
}
.afc-designer-foot-state{font-size:11px;color:#68798b}
.afc-designer-foot>div{display:flex;gap:8px}
.afc-designer-foot .afc-save-design,
.afc-designer-foot .afc-approve-design{
  min-height:44px;
  padding:0 18px;
}
.afc-designer-foot .afc-approve-design{background:#0064C0;color:#fff}
.afc-designer-foot .afc-approve-design:disabled{background:#a9b8c5!important;color:#fff!important}

.afc-product-entry.is-approved .afc-customizer-shell{background:#edf3f8!important}

/* Guided = comfortable editor, still spacious */
.afc-runtime-guided .afc-studio-workspace{
  grid-template-columns:210px minmax(520px,1fr);
}
.afc-runtime-guided .afc-studio-workspace .afc-properties{display:none!important}

/* Express = central experience */
.afc-runtime-express .afc-studio-workspace{grid-template-columns:1fr}
.afc-runtime-express .afc-studio-workspace .afc-layers,
.afc-runtime-express .afc-studio-workspace .afc-properties{display:none!important}
.afc-runtime-express .afc-studio-center{max-width:980px;width:100%;margin:0 auto}

@media(max-width:1100px){
  .afc-studio-scroll{padding:14px 14px 28px}
  .afc-studio-workspace,
  .afc-runtime-guided .afc-studio-workspace{grid-template-columns:180px minmax(0,1fr)}
  .afc-studio-workspace .afc-properties{grid-column:1/-1;position:static;grid-template-columns:repeat(5,1fr)}
  .afc-runtime-guided .afc-studio-workspace .afc-properties{display:none!important}
  .afc-studio-review{grid-template-columns:1fr}
  .afc-studio-toolbar{top:-14px}
}
@media(max-width:760px){
  .afc-studio-topbar{min-height:62px;padding:9px 12px}
  .afc-studio-title strong{font-size:13px;max-width:48vw}
  .afc-studio-title small,.afc-studio-save-indicator{display:none}
  .afc-studio-kicker{min-width:36px;height:36px;font-size:7px}
  .afc-studio-close{min-height:38px;padding:0 10px!important}
  .afc-studio-scroll{padding:10px 10px 22px}
  .afc-studio-scroll>.afc-designer-intro{display:none}
  .afc-studio-toolbar{top:-10px}
  .afc-studio-toolbar .afc-toolbar{grid-template-columns:1fr 1fr}
  .afc-studio-toolbar .afc-tool-actions{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
  .afc-studio-toolbar .afc-tool-actions>*{flex:0 0 auto}
  .afc-studio-workspace,
  .afc-runtime-guided .afc-studio-workspace{grid-template-columns:1fr}
  .afc-studio-workspace .afc-layers{position:static;max-height:none;order:2}
  .afc-studio-workspace .afc-layers [data-afc-layers]{display:flex;gap:6px;overflow:auto}
  .afc-studio-workspace .afc-properties{position:static;grid-template-columns:repeat(2,1fr)}
  .afc-runtime-guided .afc-studio-workspace .afc-properties{display:none!important}
  .afc-studio-workspace .afc-canvas-wrap{min-height:390px;padding:42px 12px 16px}
  .afc-studio-workspace .afc-design-surface{min-width:0;min-height:230px;max-height:52vh}
  .afc-studio-center .afc-mockup-stage{min-height:260px}
  .afc-designer-foot{bottom:-22px!important;align-items:stretch;flex-direction:column}
  .afc-designer-foot>div{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .afc-designer-foot .afc-save-design,.afc-designer-foot .afc-approve-design{width:100%}
}

/* 0.24 — exact physical ratio + direct manipulation */
.afc-studio-workspace .afc-design-surface{min-width:0!important;min-height:0!important;max-width:100%!important;max-height:none!important;margin:auto!important;box-sizing:border-box!important}
.afc-object{position:absolute;transform-origin:center center;cursor:grab;user-select:none;touch-action:none;z-index:2;width:auto;max-width:none!important;max-height:none!important}
.afc-object:active{cursor:grabbing}.afc-object-content{display:block;max-width:100%;pointer-events:none;user-select:none}
.afc-object-image .afc-object-content{width:100%;height:auto}.afc-object-text .afc-object-content{white-space:nowrap;font-weight:800;line-height:1.05}
.afc-object.is-selected{outline:2px solid #0064C0;outline-offset:5px}
.afc-resize-handle{position:absolute!important;right:-13px!important;bottom:-13px!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;padding:0!important;border:3px solid #fff!important;border-radius:50%!important;background:#0064C0!important;box-shadow:0 2px 8px rgba(0,0,0,.25)!important;cursor:nwse-resize!important;z-index:8!important}
.afc-resize-handle:after{content:"↘";display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;height:100%}

/* 0.26 — unified product editor */
.afc-product-scene-card{background:#fff;border:1px solid #dce6ef;border-radius:16px;padding:14px;box-shadow:0 7px 22px rgba(18,40,64,.045)}
.afc-product-scene{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  min-height:620px;
  overflow:hidden;
  border-radius:13px;
  background:#f5f8fb;
}
.afc-product-scene-image{
  display:block;
  max-width:100%;
  max-height:68vh;
  width:auto;
  height:auto;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}
.afc-production-zone{
  position:absolute;
  z-index:4;
  border:2px solid #0064C0;
  background:rgba(0,100,192,.04);
  box-shadow:0 0 0 1px rgba(255,255,255,.9) inset,0 8px 22px rgba(0,100,192,.12);
  overflow:visible;
  box-sizing:border-box;
}
.afc-production-zone-label{
  position:absolute;
  left:6px;
  top:6px;
  z-index:20;
  padding:4px 6px;
  border-radius:6px;
  background:#0064C0;
  color:#fff;
  font-size:9px;
  font-weight:900;
  pointer-events:none;
}
.afc-production-zone .afc-design-surface{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.afc-product-scene-help{display:flex;gap:10px;align-items:flex-start;padding:11px 2px 0;font-size:10px;color:#748497}
.afc-product-scene-help strong{color:#17304a;white-space:nowrap}
.afc-object{max-width:none!important}
.afc-object-image{overflow:visible}
.afc-object-image .afc-object-content{display:block;width:100%;height:auto;max-width:none!important}
.afc-object.is-selected{outline:2px solid #0064C0;outline-offset:3px}
.afc-resize-handle{z-index:30!important}

/* Old second mockup is intentionally removed */
.afc-mockup-card,.afc-mockup-stage{display:none!important}

@media(max-width:760px){
  .afc-product-scene{min-height:430px}
  .afc-product-scene-image{max-height:52vh}
}

/* 0.28 — personal customer asset library */
.afc-user-library{position:fixed;inset:82px 24px 24px;z-index:1000003;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:1050px;margin:auto;background:#fff;border:1px solid #d9e5ee;border-radius:18px;box-shadow:0 24px 70px rgba(17,41,65,.24);overflow:hidden}
.afc-user-library[hidden]{display:none!important}
.afc-user-library-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;border-bottom:1px solid #e6edf3}.afc-user-library-head>div{display:grid;gap:2px}.afc-user-library-head strong{font-size:15px;color:#14304a}.afc-user-library-head small{font-size:10px;color:#7b8999}.afc-user-library-head button{min-height:36px;border-radius:9px}
.afc-user-library-body{overflow:auto;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;align-content:start;background:#f7fafc}.afc-user-library-body.is-busy{opacity:.55;pointer-events:none}
.afc-library-item{display:grid!important;grid-template-rows:130px auto auto!important;text-align:left!important;padding:0!important;border:1px solid #dce6ef!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;cursor:pointer!important}
.afc-library-item:hover{border-color:#0064C0!important;box-shadow:0 6px 18px rgba(0,100,192,.09)!important}
.afc-library-thumb{display:grid;place-items:center;background:#f0f4f7;overflow:hidden}.afc-library-thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.afc-library-copy{display:grid;gap:3px;padding:9px 10px}.afc-library-copy strong{font-size:11px;color:#16304a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afc-library-copy small{font-size:9px;color:#7c8a99}
.afc-library-use{padding:7px 10px;border-top:1px solid #edf1f4;color:#0064C0;font-size:10px;font-weight:900}
.afc-user-library-note{padding:10px 14px;background:#eef7ff;border-top:1px solid #d8e8f5;color:#587086;font-size:10px}
.afc-library-loading,.afc-library-empty,.afc-library-login{grid-column:1/-1;padding:30px;text-align:center;color:#708193;background:#fff;border:1px dashed #ccd9e3;border-radius:12px}
.afc-retention-notice{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:12px;background:#f3f8fc;border:1px solid #dce8f1}.afc-retention-notice>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#0064C0;color:#fff;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.afc-retention-notice p{margin:0;font-size:10px;line-height:1.45;color:#687c8f}
@media(max-width:700px){.afc-user-library{inset:64px 8px 8px}.afc-user-library-body{grid-template-columns:repeat(2,minmax(0,1fr))}.afc-library-item{grid-template-rows:100px auto auto!important}}

/* 0.29 — explicit simulation / scale disclaimer */
.afc-simulation-notice{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:11px;
  align-items:flex-start;
  margin:0 0 12px;
  padding:12px 13px;
  border:1px solid #cfe0ef;
  border-radius:12px;
  background:#f3f8fc;
}
.afc-simulation-notice>span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#0064C0;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.afc-simulation-notice>div{display:grid;gap:3px}
.afc-simulation-notice strong{font-size:11px;color:#17304a}
.afc-simulation-notice p{margin:0;font-size:10px;line-height:1.45;color:#667a8e}
.afc-bat-scale-note{
  padding:10px 12px;
  border-radius:11px;
  background:#fff8e9;
  border:1px solid #f0ddb0;
  color:#755f29;
  font-size:10px;
  line-height:1.45;
}
.afc-bat-scale-note strong{color:#5f4a19}
@media(max-width:600px){
  .afc-simulation-notice{grid-template-columns:1fr}
  .afc-simulation-notice>span{justify-self:start}
}

/* 0.30 — exact admin/front surface geometry */
.afc-product-scene{
  position:relative!important;
}
.afc-product-scene-image{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
}
.afc-production-zone{
  transform:none!important;
  transform-origin:0 0!important;
  box-sizing:border-box!important;
}

/* 0.31 — premium horizontal toolbar + quality guidance */
.afc-studio-toolbar .afc-toolbar{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:end!important;
}
.afc-toolbar-field{
  display:grid!important;
  grid-template-rows:auto 44px!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
}
.afc-toolbar-field>span:first-child{
  font-size:10px!important;
  font-weight:900!important;
  color:#20384f!important;
  line-height:1!important;
}
.afc-toolbar-field>input[type=text],
.afc-toolbar-field>select,
.afc-color-control,
.afc-size-control{
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  box-sizing:border-box!important;
  border:1px solid #b9d3e9!important;
  border-radius:10px!important;
  background:#fff!important;
}
.afc-toolbar-field>input[type=text],
.afc-toolbar-field>select{
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#17304a!important;
}
.afc-color-control{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:5px 8px!important;
}
.afc-color-control input[type=color]{
  width:38px!important;
  height:32px!important;
  min-width:38px!important;
  min-height:32px!important;
  padding:2px!important;
  border:1px solid #c9d6e1!important;
  background:#fff!important;
  cursor:pointer!important;
}
.afc-color-control strong{
  font-size:11px!important;
  color:#52687d!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.afc-size-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 62px!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 10px!important;
}
.afc-size-control input[type=range]{
  width:100%!important;
  height:6px!important;
  min-height:6px!important;
  margin:0!important;
  padding:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#dbe6ef!important;
  border-radius:999px!important;
  outline:none!important;
}
.afc-size-control input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  border:3px solid #fff!important;
  background:#0064C0!important;
  box-shadow:0 1px 6px rgba(0,100,192,.28)!important;
  cursor:pointer!important;
}
.afc-size-control input[type=range]::-moz-range-thumb{
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  border:3px solid #fff!important;
  background:#0064C0!important;
  box-shadow:0 1px 6px rgba(0,100,192,.28)!important;
  cursor:pointer!important;
}
.afc-size-control strong{
  min-width:62px!important;
  text-align:center!important;
  font-size:11px!important;
  color:#17304a!important;
  background:#f2f7fb!important;
  border-radius:8px!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
}
.afc-quality-guidance,
.afc-quality-responsibility{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:flex-start;
  padding:11px 12px;
  border-radius:11px;
  margin:8px 0 12px;
}
.afc-quality-guidance{
  background:#eef7ff;
  border:1px solid #d4e7f6;
}
.afc-quality-guidance>span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#0064C0;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
}
.afc-quality-guidance p,
.afc-quality-responsibility p{
  margin:0;
  font-size:10px;
  line-height:1.5;
  color:#60758a;
}
.afc-quality-responsibility{
  grid-template-columns:1fr;
  background:#fff9ed;
  border:1px solid #ecdcae;
}
.afc-quality-responsibility strong{
  font-size:10px;
  color:#6a541f;
}
.afc-quality-responsibility p{
  color:#776638;
}
@media(max-width:900px){
  .afc-studio-toolbar .afc-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .afc-studio-toolbar .afc-toolbar{grid-template-columns:1fr!important}
  .afc-quality-guidance{grid-template-columns:1fr}
  .afc-quality-guidance>span{justify-self:start}
}

/* 0.32 — confirmation qualité conditionnelle */
.afc-resolution-confirm{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border:1px solid #ead39d;border-radius:11px;background:#fffaf0}
.afc-resolution-confirm[hidden]{display:none!important}
.afc-resolution-confirm>span{display:grid;gap:2px}.afc-resolution-confirm strong{font-size:10px;color:#5c4a24}.afc-resolution-confirm small{font-size:9px;color:#786843}

/* 0.36 — simplified responsive Studio */
.afc-studio-title strong{
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  max-width:48vw!important;
}
.afc-studio-title small{font-size:10px!important}
.afc-studio-topbar{min-height:60px!important;padding:8px 18px!important}
.afc-studio-kicker{height:38px!important;min-width:38px!important;font-size:7px!important}

/* Only the header remains persistent; saving/validation stays in normal flow. */
.afc-designer-foot{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}
.afc-studio-toolbar{position:static!important;top:auto!important}

/* Main Studio: simulator left, tools right. */
.afc-studio-workspace-v2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:16px!important;
  align-items:start!important;
}
.afc-studio-center{min-width:0!important}
.afc-studio-sidebar{
  position:sticky;
  top:12px;
  display:grid;
  gap:10px;
  min-width:0;
}
.afc-studio-toolbox,
.afc-studio-side-section{
  background:#fff;
  border:1px solid #dce6ef;
  border-radius:15px;
  box-shadow:0 7px 22px rgba(18,40,64,.045);
}
.afc-studio-toolbox{padding:13px}
.afc-toolbar-vertical{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
.afc-toolbar-vertical>.afc-toolbar-field{
  display:grid!important;
  grid-template-rows:auto 42px!important;
  gap:5px!important;
}
.afc-toolbar-inline{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.afc-toolbar-inline .afc-toolbar-field{
  display:grid!important;
  grid-template-rows:auto 42px!important;
  gap:5px!important;
}
.afc-toolbar-vertical select,
.afc-toolbar-vertical input[type="text"],
.afc-toolbar-inline .afc-color-control,
.afc-toolbar-inline .afc-size-control{
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  box-sizing:border-box!important;
}
.afc-add-actions,
.afc-compact-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.afc-add-actions button,.afc-add-actions .afc-upload-btn,
.afc-compact-actions button{
  min-height:36px!important;
  padding:0 8px!important;
  border-radius:9px!important;
  font-size:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.afc-add-actions [data-afc-add-text],
.afc-add-actions .afc-upload-btn{
  background:#0064C0!important;color:#fff!important;border-color:#0064C0!important;
}
.afc-position-pad-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:10px;
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid #edf1f4;
}
.afc-position-pad-wrap>div:first-child{display:grid;gap:2px}
.afc-position-pad-wrap strong{font-size:10px;color:#17304a}
.afc-position-pad-wrap small{font-size:8px;color:#8190a0}
.afc-position-pad{
  display:grid;
  grid-template-columns:34px 34px 34px;
  grid-template-rows:34px 34px 34px;
  gap:3px;
}
.afc-position-pad button{
  width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  border:1px solid #cbdbe8!important;border-radius:8px!important;
  background:#f7fbfe!important;color:#0064C0!important;font-size:15px!important;font-weight:900!important;
}
.afc-position-pad [data-afc-nudge="up"]{grid-column:2;grid-row:1}
.afc-position-pad [data-afc-nudge="left"]{grid-column:1;grid-row:2}
.afc-position-pad [data-afc-center]{grid-column:2;grid-row:2;background:#0064C0!important;color:#fff!important}
.afc-position-pad [data-afc-nudge="right"]{grid-column:3;grid-row:2}
.afc-position-pad [data-afc-nudge="down"]{grid-column:2;grid-row:3}
.afc-studio-side-section>summary{
  list-style:none;cursor:pointer;padding:11px 13px;font-size:10px;font-weight:900;color:#17304a
}
.afc-studio-side-section>summary::-webkit-details-marker{display:none}
.afc-properties-compact{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}
.afc-properties-compact label{display:grid;gap:4px;font-size:9px;font-weight:800;color:#66798d}
.afc-properties-compact input{width:100%;min-height:34px}
.afc-layers-compact{padding:0 12px 12px;display:grid;gap:5px}

/* Full product image: never crop; white fallback/background. */
.afc-product-scene-card{background:#fff!important}
.afc-product-scene{
  min-height:560px!important;
  background:#fff!important;
  overflow:hidden!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
.afc-product-scene-image{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(100vh - 190px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  margin:auto!important;
}
.afc-scene-head{margin-bottom:9px!important}
.afc-scene-head strong{font-size:12px!important}
.afc-scene-head small{font-size:9px!important}

/* Surface label/pill removed: keep no reserved space. */
.afc-production-zone-label{display:none!important}

/* Text objects adapt to the surface instead of being clipped. */
.afc-object-text{
  width:90%!important;
  max-width:90%!important;
  pointer-events:auto;
}
.afc-object-text .afc-object-content{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  text-align:center!important;
  line-height:1.08!important;
  box-sizing:border-box!important;
}

/* Review follows naturally below the editor, no permanent bottom bar. */
.afc-studio-review,.afc-retention-notice,.afc-bat-scale-note,.afc-bat-confirm,.afc-designer-foot{
  position:relative!important;
}

/* Responsive */
@media(max-width:1050px){
  .afc-studio-workspace-v2{grid-template-columns:minmax(0,1fr) 280px!important}
  .afc-studio-sidebar{position:static}
}
@media(max-width:820px){
  .afc-studio-scroll{padding:12px!important}
  .afc-studio-workspace-v2{grid-template-columns:1fr!important}
  .afc-studio-center{grid-row:1}
  .afc-studio-sidebar{grid-row:2}
  .afc-studio-toolbox{padding:11px}
  .afc-toolbar-inline{grid-template-columns:1fr 1fr}
  .afc-add-actions,.afc-compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .afc-product-scene{min-height:420px!important}
  .afc-product-scene-image{max-height:58vh!important}
  .afc-position-pad-wrap{grid-template-columns:1fr auto}
}
@media(max-width:520px){
  .afc-studio-topbar{padding:7px 9px!important}
  .afc-studio-title strong{font-size:12px!important;max-width:55vw!important}
  .afc-studio-title small{display:none}
  .afc-studio-kicker{display:none}
  .afc-toolbar-inline{grid-template-columns:1fr}
  .afc-add-actions,.afc-compact-actions{grid-template-columns:1fr 1fr}
  .afc-properties-compact{grid-template-columns:1fr}
  .afc-product-scene{min-height:340px!important;padding:6px!important}
  .afc-product-scene-image{max-height:50vh!important}
  .afc-designer-foot{flex-direction:column!important;align-items:stretch!important}
  .afc-designer-foot>div{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
}

/* Common Smart Shop image safety when Customizable is present on a product page. */
.afc-product-entry ~ * img,
.afc-product-entry img{
  object-fit:contain;
}

/* 0.37 — allowed surface associations, deletable layers, useful advanced properties */
.afc-layer-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px;align-items:center}
.afc-layer-row .afc-layer{width:100%;min-width:0}
.afc-layer-delete{
  width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;
  border:1px solid #ead4d4!important;border-radius:8px!important;background:#fff!important;
  color:#a52a2a!important;font-size:18px!important;line-height:1!important;cursor:pointer!important
}
.afc-layer-delete:hover{background:#fff4f4!important;border-color:#c85050!important}
.afc-layers-empty{padding:10px;border:1px dashed #cfdae4;border-radius:9px;color:#7a8998;font-size:9px;text-align:center}
.afc-advanced-properties summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.afc-advanced-properties summary small{font-size:8px;color:#7b8b9c;font-weight:700}
.afc-properties-help{grid-column:1/-1;margin:0 0 3px;font-size:9px;line-height:1.45;color:#718295}
.afc-properties-compact label output{float:right;color:#0064C0;font-size:9px;font-weight:900}
.afc-properties-compact input:disabled{opacity:.45;cursor:not-allowed}

/* 0.38 — compact surface thumbnail rail */
.afc-studio-workspace-v2{
  grid-template-columns:72px minmax(0,1fr) 320px!important;
  gap:12px!important;
}
.afc-surface-thumbnails{
  position:sticky;top:12px;
  display:flex;flex-direction:column;gap:7px;
  width:72px;min-width:72px;
  max-height:calc(100vh - 28px);
  overflow-y:auto;overflow-x:hidden;
  padding:2px;box-sizing:border-box;
}
.afc-surface-thumb{
  display:grid!important;grid-template-rows:54px auto!important;gap:4px!important;
  width:68px!important;min-width:68px!important;padding:4px!important;
  border:1px solid #d8e3ec!important;border-radius:10px!important;
  background:#fff!important;color:#536a80!important;cursor:pointer!important;
}
.afc-surface-thumb.is-active{
  border-color:#0064C0!important;
  box-shadow:0 0 0 1px #0064C0 inset!important;
  background:#f3f9ff!important;color:#0064C0!important;
}
.afc-surface-thumb-image{
  display:grid;place-items:center;width:58px;height:54px;overflow:hidden;
  border-radius:7px;background:#fff;
}
.afc-surface-thumb-image img{
  display:block;width:100%;height:100%;object-fit:contain;background:#fff;
}
.afc-surface-thumb strong{
  display:block;max-width:58px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  text-align:center;font-size:8px!important;line-height:1.15!important;
}
.afc-surface-select-help{display:block;margin-top:3px;font-size:8px!important;line-height:1.3!important;color:#7b8b9c!important}
@media(max-width:1050px){
  .afc-studio-workspace-v2{grid-template-columns:64px minmax(0,1fr) 280px!important}
  .afc-surface-thumbnails{width:64px;min-width:64px}
  .afc-surface-thumb{width:60px!important;min-width:60px!important;grid-template-rows:48px auto!important}
  .afc-surface-thumb-image{width:50px;height:48px}
  .afc-surface-thumb strong{max-width:50px}
}
@media(max-width:820px){
  .afc-studio-workspace-v2{grid-template-columns:1fr!important;gap:9px!important}
  .afc-surface-thumbnails{
    grid-row:1;position:static;width:100%;min-width:0;max-width:100%;max-height:none;
    overflow-x:auto;overflow-y:hidden;flex-direction:row;gap:6px;padding:2px 1px 6px;
  }
  .afc-studio-center{grid-row:2!important}
  .afc-studio-sidebar{grid-row:3!important}
  .afc-surface-thumb{flex:0 0 58px;width:58px!important;min-width:58px!important;grid-template-rows:46px auto!important}
  .afc-surface-thumb-image{width:48px;height:46px}
  .afc-surface-thumb strong{max-width:48px;font-size:7px!important}
}
@media(max-width:520px){
  .afc-surface-thumb{flex-basis:54px;width:54px!important;min-width:54px!important;grid-template-rows:42px auto!important}
  .afc-surface-thumb-image{width:44px;height:42px}
  .afc-surface-thumb strong{max-width:44px}
}

/* 0.38.1 — clearer personalization location choice */
.afc-surface-choice{
  display:grid;
  gap:9px;
  padding:11px;
  border:1px solid #dce7f0;
  border-radius:12px;
  background:#f8fbfe;
}
.afc-surface-choice-intro strong{
  display:block;
  margin:0 0 4px;
  color:#17324d;
  font-size:12px;
  line-height:1.3;
}
.afc-surface-choice-intro p{
  margin:0;
  color:#617589;
  font-size:9px;
  line-height:1.5;
}
.afc-surface-choice-intro b{color:#0064C0}
.afc-surface-choice .afc-toolbar-field>span{
  font-size:9px!important;
  font-weight:800!important;
  color:#334e68!important;
}
.afc-surface-choice select{
  width:100%!important;
  min-height:38px!important;
  font-weight:700!important;
}
.afc-surface-choice .afc-surface-select-help{
  margin-top:5px!important;
  color:#718497!important;
  font-size:8.5px!important;
}
@media(max-width:520px){
  .afc-surface-choice{padding:9px}
  .afc-surface-choice-intro strong{font-size:11px}
  .afc-surface-choice-intro p{font-size:8.5px}
}

/* 0.39 — client conception lead time */
.afc-lead-client{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid #dce7f0;border-radius:13px;background:#f8fbfe}
.afc-lead-client[hidden]{display:none!important}
.afc-lead-client-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.afc-lead-client-head strong{display:block;font-size:11px;color:#17304a}.afc-lead-client-head p{margin:3px 0 0;font-size:9px;color:#748497}
.afc-lead-client-head>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#edf5fb;color:#0064C0;font-size:8px;font-weight:900;text-transform:uppercase}
.afc-lead-client>label{display:grid;gap:5px;font-size:9px;font-weight:800;color:#526a80}
.afc-lead-client select{width:100%;min-height:40px;border-radius:9px;font-weight:700}
.afc-lead-client-summary{display:grid;gap:3px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e2eaf1}
.afc-lead-client-summary strong{font-size:10px;color:#17304a}.afc-lead-client-summary span{font-size:9px;font-weight:800;color:#0064C0}.afc-lead-client-summary small{font-size:8px;color:#8090a0}

/* 0.40 — customer minimum quantity notice */
.afc-min-qty-notice{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid #cfe1f0;
  border-radius:10px;
  background:#f4f9fd;
}
.afc-min-qty-notice[hidden]{display:none!important}
.afc-min-qty-notice strong{font-size:10px;color:#17304a}
.afc-min-qty-notice span{font-size:8.5px;color:#718497}
.afc-min-qty-notice.is-error{
  border-color:#efd0a1;
  background:#fff8ed;
}
.afc-min-qty-notice.is-error strong{color:#7a5315}
.afc-min-qty-notice.is-error span{color:#8a6a36}

.afc-technique-client label.is-min-qty-blocked{opacity:.58;filter:grayscale(.15)}
.afc-technique-client label.is-min-qty-blocked span{cursor:not-allowed}
.afc-technique-client label.is-min-qty-blocked small{font-weight:700;color:#8b5a00}

.afc-live-final-price{margin:0 0 14px;padding:14px 15px;border:1px solid #cfe2f5;border-radius:14px;background:#f7fbff;box-shadow:0 8px 24px rgba(0,61,115,.06)}
.afc-live-final-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.afc-live-final-price-head>div:first-child{display:grid;gap:4px}.afc-live-final-price-head span{font-size:10px;letter-spacing:.08em;color:#0064C0}
.afc-live-final-price-head [data-afc-live-unit]{font-size:22px;line-height:1.15;color:#08243e}
.afc-live-final-total{display:grid;gap:3px;text-align:right}.afc-live-final-total small{font-size:11px;color:#64788d}.afc-live-final-total strong{font-size:18px;color:#08243e}
.afc-live-final-price-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.afc-live-final-price-meta>span{display:grid;gap:2px;padding:8px 9px;border:1px solid #dce9f5;border-radius:10px;background:#fff}
.afc-live-final-price-meta small{font-size:10px;color:#6b7e91}.afc-live-final-price-meta strong{font-size:13px;color:#102c45}
.afc-live-final-price-message{margin-top:10px;padding-top:9px;border-top:1px solid #dce9f5;font-size:12px;font-weight:600;color:#0064C0}
@media(max-width:640px){.afc-live-final-price-head{align-items:stretch;flex-direction:column}.afc-live-final-total{text-align:left}.afc-live-final-price-meta{grid-template-columns:1fr}}

/* 0.50.6 — studio pricing clarity */
.afc-live-final-price,.afc-live-final-price *{box-sizing:border-box}
.afc-live-final-price{min-width:0;overflow:hidden}
.afc-live-final-price-head>div{min-width:0}
.afc-live-final-price-head [data-afc-live-unit]{overflow-wrap:anywhere}
.afc-live-final-price-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
.afc-live-final-price-meta>span{min-width:0;overflow:hidden}
.afc-live-final-price-meta small,.afc-live-final-price-meta strong{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.afc-live-final-price-personalization{grid-column:1/-1}
.afc-live-final-price-personalization small{white-space:normal}

.afc-surface-choice-intro{display:grid;gap:6px}
.afc-surface-choice-intro strong{margin:0}
.afc-surface-choice-intro details{margin:0;border:1px solid #dce7f0;border-radius:9px;background:#fff;overflow:hidden}
.afc-surface-choice-intro summary{cursor:pointer;padding:7px 9px;color:#0064C0;font-size:9px;font-weight:700;list-style:none}
.afc-surface-choice-intro summary::-webkit-details-marker{display:none}
.afc-surface-choice-intro summary:after{content:"+";float:right;font-weight:800}
.afc-surface-choice-intro details[open] summary:after{content:"−"}
.afc-surface-choice-intro details p{padding:0 9px 8px}

.afc-live-price-details{margin-top:10px;border:1px solid #dce9f5;border-radius:10px;background:#fff;overflow:hidden}
.afc-live-price-details summary{cursor:pointer;padding:8px 10px;color:#17324d;font-size:10px;font-weight:700;list-style:none}
.afc-live-price-details summary::-webkit-details-marker{display:none}
.afc-live-price-details summary:after{content:"+";float:right;color:#0064C0;font-weight:800}
.afc-live-price-details[open] summary:after{content:"−"}
.afc-live-price-details [data-afc-live-breakdown]{display:grid;gap:0;padding:0 10px 9px}
.afc-live-price-details [data-afc-live-breakdown]>span{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #edf2f7}
.afc-live-price-details em{min-width:0;color:#617589;font-size:9px;font-style:normal;line-height:1.35}
.afc-live-price-details strong{flex:0 0 auto;color:#17324d;font-size:10px}
.afc-live-price-details .is-subtotal{margin-top:2px}
.afc-live-price-details .is-subtotal em,.afc-live-price-details .is-subtotal strong{font-weight:700;color:#17324d}
.afc-live-price-details .is-total{padding-top:8px;border-top:1px solid #bcd8f0}
.afc-live-price-details .is-total em,.afc-live-price-details .is-total strong{font-weight:800;color:#0064C0}

/* 0.50.6 — studio responsive + placement-first pricing */
.afc-placement-hint{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid #cfe2f5;
  border-radius:10px;
  background:#eef7ff;
}
.afc-placement-hint[hidden]{display:none!important}
.afc-placement-hint strong{font-size:10px;color:#0f3b62}
.afc-placement-hint span{font-size:9px;color:#6b7e91;line-height:1.35}

.afc-placement-pending .afc-production-zone{
  opacity:0!important;
  pointer-events:none!important;
}
.afc-placement-pending .afc-add-actions,
.afc-placement-pending .afc-toolbar-vertical>.afc-toolbar-field:not(.afc-surface-choice .afc-toolbar-field),
.afc-placement-pending .afc-toolbar-inline,
.afc-placement-pending .afc-position-pad-wrap,
.afc-placement-pending .afc-compact-actions{
  opacity:.48;
}
.afc-placement-pending .afc-add-actions,
.afc-placement-pending .afc-position-pad-wrap,
.afc-placement-pending .afc-compact-actions{
  pointer-events:none;
}
.afc-live-price-details .is-waiting strong{
  white-space:normal;
  text-align:right;
  color:#0064C0;
}

/* Desktop : colonne de réglages réellement plus confortable. */
@media(min-width:1201px){
  .afc-studio-workspace-v2{
    grid-template-columns:72px minmax(0,1fr) 420px!important;
    gap:16px!important;
  }
  .afc-studio-sidebar{min-width:420px}
  .afc-studio-toolbox{padding:16px}
  .afc-live-final-price{padding:16px}
  .afc-live-final-price-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .afc-live-final-price-personalization{grid-column:auto}
}

/* Tablette paysage / écrans intermédiaires. */
@media(min-width:981px) and (max-width:1200px){
  .afc-studio-workspace-v2{
    grid-template-columns:64px minmax(0,1fr) 360px!important;
    gap:12px!important;
  }
  .afc-studio-sidebar{min-width:360px}
  .afc-live-final-price-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .afc-live-final-price-personalization{grid-column:1/-1}
}

/* Tablette : une colonne, commandes lisibles, aperçu puis réglages. */
@media(max-width:980px){
  .afc-studio-scroll{padding:12px!important}
  .afc-studio-workspace-v2{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .afc-surface-thumbnails{
    grid-row:1!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-direction:row!important;
    gap:8px!important;
    padding:2px 1px 6px!important;
    scroll-snap-type:x proximity;
  }
  .afc-surface-thumb{scroll-snap-align:start}
  .afc-studio-center{grid-row:2!important}
  .afc-studio-sidebar{
    grid-row:3!important;
    position:static!important;
    min-width:0!important;
    width:100%!important;
  }
  .afc-studio-toolbox{padding:14px}
  .afc-live-final-price-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .afc-live-final-price-personalization{grid-column:auto}
  .afc-toolbar-inline{grid-template-columns:1fr 1fr}
  .afc-add-actions,.afc-compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .afc-product-scene{min-height:440px!important}
}

/* Mobile : contrôles tactiles, empilement propre et prix compact. */
@media(max-width:640px){
  .afc-studio-scroll{padding:8px!important}
  .afc-studio-workspace-v2{gap:9px!important}
  .afc-studio-toolbox{padding:10px}
  .afc-live-final-price{
    margin-bottom:10px;
    padding:11px;
    border-radius:12px;
  }
  .afc-live-final-price-head{gap:8px}
  .afc-live-final-price-head [data-afc-live-unit]{font-size:18px}
  .afc-live-final-total strong{font-size:16px}
  .afc-live-final-price-meta{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .afc-live-final-price-personalization{grid-column:1/-1}
  .afc-live-final-price-meta>span{padding:7px 8px}
  .afc-live-price-details summary,
  .afc-surface-choice-intro summary{
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .afc-surface-choice{padding:9px}
  .afc-toolbar-vertical select,
  .afc-toolbar-vertical input[type="text"],
  .afc-toolbar-inline .afc-color-control,
  .afc-toolbar-inline .afc-size-control{
    min-height:46px!important;
    height:46px!important;
  }
  .afc-toolbar-inline{grid-template-columns:1fr!important}
  .afc-add-actions,.afc-compact-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .afc-add-actions button,
  .afc-add-actions label,
  .afc-compact-actions button{
    min-height:46px!important;
  }
  .afc-product-scene{
    min-height:320px!important;
    padding:4px!important;
  }
  .afc-product-scene-image{max-height:46vh!important}
  .afc-position-pad-wrap{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .afc-position-pad button{min-width:44px;min-height:44px}
  .afc-studio-side-section>summary{min-height:46px}
}

/* Très petits écrans : priorité aux actions principales. */
@media(max-width:420px){
  .afc-live-final-price-meta{grid-template-columns:1fr!important}
  .afc-live-final-price-personalization{grid-column:auto}
  .afc-add-actions,.afc-compact-actions{grid-template-columns:1fr!important}
  .afc-surface-thumb{
    flex-basis:60px!important;
    width:60px!important;
    min-width:60px!important;
  }
}

/* 0.50.6 — placement pricing + technique UX */
.afc-studio-technique-choice{
  margin-top:2px;
  padding-top:9px;
  border-top:1px solid #e4edf5;
}
.afc-studio-technique-choice>small{
  margin-top:4px;
  color:#718497;
  font-size:8.5px;
  line-height:1.35;
}
.afc-technique-description{
  margin-top:9px;
  padding:10px 12px;
  border:1px solid #d8e7f5;
  border-radius:10px;
  background:#f7fbff;
  color:#536a80;
  font-size:11px;
  line-height:1.45;
}
.afc-technique-description[hidden]{display:none!important}
.afc-technique-client-grid label>span{transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.afc-technique-client-grid label>span:hover{border-color:#a9cbed;background:#f8fbff}
@media(max-width:640px){
  .afc-technique-client-grid{grid-template-columns:1fr 1fr}
  .afc-technique-description{font-size:10px}
}
@media(max-width:420px){
  .afc-technique-client-grid{grid-template-columns:1fr}
}

/* 0.53.9 — parcours premium en 3 étapes */
.afc-premium-steps{display:grid;gap:10px;margin-top:2px}
.afc-premium-step{margin:0;border:1px solid #d9e6f1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(10,47,80,.035);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.afc-premium-step[open]{border-color:#b8d6ee;box-shadow:0 8px 24px rgba(0,100,192,.075)}
.afc-premium-step>summary{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:62px;padding:10px 12px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#fbfdff 0%,#f5f9fd 100%);user-select:none}
.afc-premium-step>summary::-webkit-details-marker{display:none}
.afc-premium-step[open]>summary{border-bottom:1px solid #e4edf5;background:linear-gradient(135deg,#f7fbff 0%,#edf6fd 100%)}
.afc-step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;border:1px solid #c6dced;background:#fff;color:#0064C0;font-size:12px;font-weight:900;letter-spacing:.05em;box-shadow:0 3px 10px rgba(0,100,192,.06)}
.afc-premium-step[open] .afc-step-number{border-color:#0064C0;background:#0064C0;color:#fff}
.afc-step-copy{display:grid;gap:2px;min-width:0}
.afc-step-copy strong{color:#102f49;font-size:11.5px;line-height:1.2}
.afc-step-copy small{color:#74879a;font-size:8.5px;line-height:1.3}
.afc-step-toggle{position:relative;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #d6e4ef}
.afc-step-toggle:before,.afc-step-toggle:after{content:"";position:absolute;left:6px;right:6px;top:10px;height:1.5px;border-radius:2px;background:#0064C0;transition:transform .18s ease}
.afc-step-toggle:after{transform:rotate(90deg)}
.afc-premium-step[open] .afc-step-toggle:after{transform:rotate(0)}
.afc-step-content{display:grid;gap:10px;padding:12px;background:#fff}
.afc-step-content .afc-surface-choice{margin:0;border:0;padding:0;background:transparent;border-radius:0}
.afc-step-content .afc-add-actions,.afc-step-content .afc-compact-actions{margin:0}
.afc-studio-technique-description{display:block;margin-top:7px;padding:9px 10px;border:1px solid #d5e6f4;border-radius:9px;background:#f7fbff;color:#526b81;font-size:8.8px;font-weight:600;line-height:1.45}
.afc-studio-technique-description[hidden]{display:none!important}
.afc-placement-pending .afc-step-content-editor .afc-toolbar-field,
.afc-placement-pending .afc-step-content-editor .afc-toolbar-inline,
.afc-placement-pending .afc-step-content-editor .afc-add-actions,
.afc-placement-pending .afc-step-placement .afc-step-content{opacity:.48}
.afc-placement-pending .afc-step-content-editor .afc-add-actions,
.afc-placement-pending .afc-step-placement .afc-step-content{pointer-events:none}

/* Les boutons de technique restent épurés : aucun libellé artificiel "Inclus". */
.afc-technique-client-grid label>span{align-items:center;min-height:50px}
.afc-technique-client-grid label>span>strong{min-width:0}
.afc-technique-client-grid label>span>small{margin-left:auto}
.afc-technique-description{width:100%;box-sizing:border-box;margin:10px 0 0}

@media(max-width:640px){
  .afc-premium-step>summary{grid-template-columns:38px minmax(0,1fr) 22px;min-height:58px;padding:9px 10px;gap:8px}
  .afc-step-number{width:36px;height:36px;font-size:11px}
  .afc-step-content{padding:10px}
  .afc-step-copy strong{font-size:11px}
}

/* 0.53.9 — studio : ordre logique et regroupement des outils */
.afc-step-personalization .afc-surface-choice{
  display:grid;
  gap:12px;
}
.afc-step-personalization .afc-studio-technique-choice{
  order:1;
  margin:0;
  padding:0 0 10px;
  border-top:0;
  border-bottom:1px solid #e3edf6;
}
.afc-step-personalization .afc-surface-choice-intro{order:2}
.afc-step-personalization .afc-surface-choice>.afc-toolbar-field:not(.afc-studio-technique-choice){order:3}
.afc-step-personalization .afc-placement-hint{order:4}

.afc-step-content-creation-placement{
  display:grid;
  gap:14px;
}
.afc-creation-tools,.afc-placement-tools{
  display:grid;
  gap:10px;
  min-width:0;
}
.afc-placement-tools{
  padding-top:13px;
  border-top:1px solid #e3edf6;
}

.afc-studio-advanced-group{margin-top:10px!important}
.afc-studio-advanced-group>summary{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.afc-studio-advanced-group>summary>span{
  font-weight:800;
  color:#17324d;
}
.afc-studio-advanced-group>summary>small{
  margin-left:auto;
  color:#8190a0;
  font-size:9px;
}
.afc-advanced-group-body{
  display:grid;
  gap:0;
  padding:0 13px 13px;
}
.afc-advanced-group-section{
  display:grid;
  gap:10px;
  padding:13px 0;
  border-top:1px solid #edf2f7;
}
.afc-advanced-group-section header{
  display:grid;
  gap:2px;
}
.afc-advanced-group-section header strong{
  font-size:11px;
  color:#17324d;
}
.afc-advanced-group-section header small{
  font-size:9px;
  color:#7b8b9b;
}
.afc-advanced-layers{padding-bottom:0}

@media(min-width:1200px){
  .afc-step-content-creation-placement{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .afc-studio-advanced-group>summary{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
  .afc-studio-advanced-group>summary>small{margin-left:0}
}

/* 0.53.9 — correction structurelle de la zone de contrôle */
.afc-studio-review{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.afc-studio-review>*{
  min-width:0!important;
  width:auto!important;
  box-sizing:border-box!important;
}
.afc-studio-review .afc-preflight,
.afc-studio-review .afc-client-summary{
  min-width:0!important;
  height:auto!important;
  align-self:stretch!important;
}
.afc-studio-review .afc-preflight{
  display:grid!important;
  align-content:start!important;
  gap:12px!important;
}
.afc-studio-review .afc-client-summary{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  gap:0!important;
}
.afc-quality-guidance,
.afc-quality-responsibility{
  min-width:0!important;
  width:100%!important;
  overflow-wrap:anywhere!important;
}
.afc-quality-guidance p,
.afc-quality-responsibility p{
  max-width:none!important;
}

@media(max-width:1100px){
  .afc-studio-review{
    grid-template-columns:1fr!important;
  }
  .afc-studio-review .afc-client-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .afc-studio-review{
    gap:10px!important;
  }
  .afc-studio-review .afc-client-summary{
    grid-template-columns:1fr!important;
  }
  .afc-studio-review .afc-preflight,
  .afc-studio-review .afc-client-summary{
    padding:12px!important;
    border-radius:13px!important;
  }
}

/* 0.53.9 — Personnalisation en deux blocs + descriptions enrichies */
.afc-personalization-split{
  display:grid!important;
  gap:12px!important;
  padding:12px!important;
  background:#f7fbff!important;
}
.afc-personalization-subblock{
  display:grid;
  gap:11px;
  min-width:0;
  padding:12px;
  border:1px solid #d7e6f5;
  border-radius:12px;
  background:#fff;
}
.afc-personalization-subhead{
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:9px;
  border-bottom:1px solid #edf2f7;
}
.afc-personalization-subhead>span{
  display:grid;
  place-items:center;
  flex:0 0 25px;
  width:25px;
  height:25px;
  border-radius:8px;
  background:#0064C0;
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.afc-personalization-subhead>div{
  display:grid;
  gap:1px;
  min-width:0;
}
.afc-personalization-subhead strong{
  font-size:11px;
  color:#17324d;
}
.afc-personalization-subhead small{
  font-size:8.5px;
  line-height:1.3;
  color:#7c8c9c;
}
.afc-personalization-technique .afc-studio-technique-choice{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.afc-personalization-location .afc-surface-choice{
  gap:10px!important;
}
.afc-single-technique{
  display:grid;
  gap:8px;
}
.afc-single-technique>strong{
  padding:10px 11px;
  border:1px solid #cfe0f1;
  border-radius:10px;
  background:#f8fbff;
  color:#17324d;
  font-size:11px;
}

.afc-technique-description-rich{
  display:grid;
  gap:7px;
  margin-top:8px;
  padding:10px 11px!important;
  border:1px solid #d8e7f5!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  color:#536a80;
}
.afc-technique-description-rich[hidden]{display:none!important}
.afc-technique-description-rich p{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:5px;
  margin:0!important;
  font-size:10px;
  line-height:1.45;
}
.afc-technique-description-rich p+ p{
  padding-top:7px;
  border-top:1px solid #e4edf6;
}
.afc-technique-description-rich strong{
  font-size:10px!important;
  font-weight:800!important;
}
.afc-technique-description-rich .is-advantage strong{
  color:#23814b!important;
}
.afc-technique-description-rich .is-drawback strong{
  color:#b14d3a!important;
}
.afc-technique-description-rich .is-neutral{
  grid-template-columns:1fr;
}
.afc-technique-description-rich .is-neutral span{
  color:#5f7287;
}
.afc-technique-description-rich .is-advantage:before{
  content:"✓";
  color:#23814b;
  font-weight:800;
}
.afc-technique-description-rich .is-drawback:before{
  content:"×";
  color:#b14d3a;
  font-weight:800;
}
.afc-technique-description-rich .is-advantage,
.afc-technique-description-rich .is-drawback{
  grid-template-columns:auto auto minmax(0,1fr);
}
@media(max-width:640px){
  .afc-personalization-split{padding:9px!important;gap:9px!important}
  .afc-personalization-subblock{padding:10px}
  .afc-technique-description-rich p{
    grid-template-columns:auto minmax(0,1fr);
  }
  .afc-technique-description-rich .is-advantage,
  .afc-technique-description-rich .is-drawback{
    grid-template-columns:auto minmax(0,1fr);
  }
  .afc-technique-description-rich .is-advantage strong,
  .afc-technique-description-rich .is-drawback strong{
    grid-column:2;
  }
  .afc-technique-description-rich .is-advantage span,
  .afc-technique-description-rich .is-drawback span{
    grid-column:2;
  }
}

/* 0.53.9 — séquence studio stricte 1 → 2 → 3 */
.afc-step-technique .afc-step-content,
.afc-step-location .afc-step-content{
  padding:12px!important;
}
.afc-step-technique .afc-studio-technique-choice{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.afc-step-location .afc-surface-choice{
  display:grid!important;
  gap:10px!important;
}
.afc-premium-steps>.afc-premium-step{
  margin:0 0 10px!important;
}
.afc-premium-steps>.afc-premium-step:last-child{
  margin-bottom:0!important;
}

/* 0.53.9 — simulation visuelle des techniques de marquage */
.afc-studio-marking-effect-note{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 8px;
  margin-top:8px;
  padding:8px 9px;
  border:1px solid #d4e5f3;
  border-radius:9px;
  background:#f4f9fe;
}
.afc-studio-marking-effect-note[hidden]{display:none!important}
.afc-studio-marking-effect-note>span{
  grid-row:1/3;
  align-self:center;
  padding:3px 6px;
  border-radius:999px;
  background:#e5f2ff;
  color:#0064C0;
  font-size:7px;
  font-weight:800;
  text-transform:uppercase;
}
.afc-studio-marking-effect-note strong{
  color:#17324d;
  font-size:9px;
}
.afc-studio-marking-effect-note small{
  color:#718497;
  font-size:7.5px;
  line-height:1.3;
}

/* Effets limités aux objets de l’aperçu Studio : aucune donnée de production n'est altérée. */
.afc-marking-effect .afc-object-content{
  transition:filter .15s ease,text-shadow .15s ease,opacity .15s ease;
}
.afc-marking-effect--engraving_metal .afc-object-content{
  filter:grayscale(1) brightness(.68) contrast(1.38) drop-shadow(0 1px .35px rgba(255,255,255,.36));
  mix-blend-mode:multiply;
}
.afc-marking-effect--engraving_metal.afc-object-text .afc-object-content{
  color:#4d5960!important;
  text-shadow:0 1px 0 rgba(255,255,255,.28);
}
.afc-marking-effect--engraving_wood .afc-object-content{
  filter:sepia(.78) saturate(.72) brightness(.66) contrast(1.28);
  mix-blend-mode:multiply;
}
.afc-marking-effect--engraving_wood.afc-object-text .afc-object-content{
  color:#5a3219!important;
  text-shadow:0 .7px .4px rgba(39,20,8,.35);
}
.afc-marking-effect--engraving_glass .afc-object-content{
  filter:grayscale(1) brightness(1.6) contrast(.78) drop-shadow(0 1px 1px rgba(65,92,102,.55));
  opacity:.78!important;
  mix-blend-mode:screen;
}
.afc-marking-effect--engraving_glass.afc-object-text .afc-object-content{
  color:#f2fbff!important;
  text-shadow:0 1px 2px rgba(69,93,103,.65);
}
.afc-marking-effect--flex_relief .afc-object-content{
  filter:contrast(1.04) saturate(1.06) drop-shadow(0 1.6px .8px rgba(0,0,0,.30));
}
.afc-marking-effect--flex_relief.afc-object-text .afc-object-content{
  text-shadow:0 1.4px .7px rgba(0,0,0,.28);
}
.afc-marking-effect--dtf_print .afc-object-content{
  filter:saturate(1.12) contrast(1.05) drop-shadow(0 .7px .45px rgba(0,0,0,.16));
}
.afc-marking-effect--sublimation .afc-object-content{
  filter:saturate(.93) contrast(.98);
  opacity:.91!important;
  mix-blend-mode:multiply;
}
.afc-marking-effect--embroidery .afc-object-content{
  filter:contrast(1.08) saturate(1.04) drop-shadow(1px 1.5px .65px rgba(0,0,0,.28));
}
.afc-marking-effect--embroidery.afc-object-text .afc-object-content{
  text-shadow:.7px 0 .3px rgba(255,255,255,.35),1.5px 1.5px .7px rgba(0,0,0,.28);
}
.afc-marking-effect--uv_gloss .afc-object-content{
  filter:saturate(1.16) contrast(1.08) brightness(1.03) drop-shadow(0 1.2px .6px rgba(0,0,0,.22));
}
.afc-marking-effect--uv_gloss.afc-object-text .afc-object-content{
  text-shadow:0 -1px .4px rgba(255,255,255,.48),0 1.5px .7px rgba(0,0,0,.22);
}
.afc-marking-effect--screen_print .afc-object-content{
  filter:saturate(.92) contrast(1.16) drop-shadow(0 .55px .35px rgba(0,0,0,.13));
  mix-blend-mode:multiply;
}

/* 0.53.9 — simulation couleur / texture du support */
.afc-production-zone.afc-material-active{
  isolation:isolate;
}
.afc-production-zone.afc-material-active:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:.48;
}
.afc-production-zone.afc-material-color:before{
  background:var(--afc-material-color,#d9dde2);
}
.afc-production-zone.afc-material-texture:before{
  background-image:var(--afc-material-texture);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.58;
}
.afc-production-zone.afc-material-active .afc-design-surface{
  position:absolute!important;
  z-index:2!important;
}
.afc-production-zone.afc-material-active .afc-production-zone-label{
  z-index:20!important;
}
.afc-production-zone.afc-material-texture .afc-design-surface{
  mix-blend-mode:normal;
}

/* 0.53.9 — la technique peut piloter la couleur du marquage */
.afc-toolbar-color.is-effect-locked .afc-color-control{
  position:relative;
  border-color:#b9d4ec!important;
  background:#eef7ff!important;
  cursor:not-allowed;
}
.afc-toolbar-color.is-effect-locked .afc-color-control input[type="color"]{
  opacity:.28!important;
  filter:grayscale(1)!important;
  pointer-events:none!important;
}
.afc-toolbar-color.is-effect-locked .afc-color-control strong{
  color:#0064C0!important;
  font-size:9px!important;
  letter-spacing:.05em;
}
.afc-color-effect-lock{
  display:block;
  margin-top:5px;
  padding:6px 8px;
  border:1px solid #cfe2f5;
  border-radius:8px;
  background:#f4f9fe;
  color:#41627e;
  font-size:8px;
  font-weight:700;
  line-height:1.35;
}
.afc-color-effect-lock[hidden]{display:none!important}

/* Pour les gravures, l'effet sélectionné domine toujours la couleur source,
   pour le texte comme pour les images importées. */
.afc-marking-effect--engraving_metal .afc-object-content,
.afc-marking-effect--engraving_wood .afc-object-content,
.afc-marking-effect--engraving_glass .afc-object-content{
  forced-color-adjust:none;
}

/* 0.53.9 — gravure métal : rendu gravé réaliste, sans effet encre noire */
.afc-marking-effect--engraving_metal .afc-object-content{
  filter:
    grayscale(1)
    saturate(0)
    brightness(1.32)
    contrast(.82)
    drop-shadow(0 1px .35px rgba(35,55,70,.28))
    drop-shadow(0 -1px .35px rgba(255,255,255,.42))!important;
  opacity:.88!important;
  mix-blend-mode:screen!important;
}

.afc-marking-effect--engraving_metal.afc-object-text .afc-object-content{
  color:#d7dde2!important;
  -webkit-text-fill-color:#d7dde2!important;
  text-shadow:
    0 -1px 0 rgba(255,255,255,.52),
    0 1px 0 rgba(43,58,68,.36),
    1px 0 .35px rgba(255,255,255,.20)!important;
  font-weight:700!important;
}

.afc-marking-effect--engraving_metal.afc-object-image .afc-object-content{
  opacity:.84!important;
  filter:
    grayscale(1)
    saturate(0)
    brightness(1.35)
    contrast(.78)
    drop-shadow(0 1px .4px rgba(32,48,58,.26))
    drop-shadow(0 -1px .35px rgba(255,255,255,.38))!important;
  mix-blend-mode:screen!important;
}

/* La zone sélectionnée ne doit pas donner l'impression d'un rectangle imprimé. */
.afc-marking-effect--engraving_metal{
  background:transparent!important;
}

/* Etat du contrôle Couleur lorsqu'il est piloté par la gravure métal */
.afc-toolbar-color.is-effect-locked .afc-color-control{
  background:linear-gradient(135deg,#eef2f5,#d4dce2)!important;
}
.afc-toolbar-color.is-effect-locked .afc-color-control strong{
  color:#4e5f6d!important;
}

/* 0.53.9 — typographie client */
.afc-text-style-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:8px;
  align-items:end;
}
.afc-toolbar-font select{
  width:100%;
  min-height:40px;
  border:1px solid #cfe0ef;
  border-radius:9px;
  background:#fff;
  color:#17324d;
  font-size:10px;
  font-weight:700;
}
.afc-bold-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  min-height:40px;
  border:1px solid #cfe0ef;
  border-radius:9px;
  background:#fff;
  color:#17324d;
  cursor:pointer;
  font-size:10px;
  font-weight:700;
}
.afc-bold-toggle strong{font-size:16px;line-height:1}
.afc-bold-toggle:hover,
.afc-bold-toggle.is-active,
.afc-bold-toggle[aria-pressed="true"]{
  border-color:#0064C0;
  background:#eef7ff;
  color:#0064C0;
}
.afc-bold-toggle:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:520px){
  .afc-text-style-row{grid-template-columns:1fr}
}

/* 0.53.9 — gravure : même simulation pour textes ET images.
   Le visuel client devient une représentation du matériau retiré/attaqué,
   pas une couleur d'encre posée sur le support. */

/* Métal : gravure laser claire/argentée */
.afc-marking-effect--engraving_metal .afc-object-content{
  filter:
    grayscale(1)
    saturate(0)
    brightness(1.42)
    contrast(.74)
    drop-shadow(0 -1px .45px rgba(255,255,255,.62))
    drop-shadow(0 1px .55px rgba(42,55,65,.38))!important;
  opacity:.86!important;
  mix-blend-mode:screen!important;
}
.afc-marking-effect--engraving_metal.afc-object-text .afc-object-content{
  color:#dfe5e9!important;
  -webkit-text-fill-color:#dfe5e9!important;
  text-shadow:
    0 -1px 0 rgba(255,255,255,.68),
    0 1px 0 rgba(50,62,70,.42)!important;
}
.afc-marking-effect--engraving_metal.afc-object-image .afc-object-content{
  filter:
    grayscale(1)
    saturate(0)
    brightness(1.5)
    contrast(.68)
    drop-shadow(0 -1px .45px rgba(255,255,255,.58))
    drop-shadow(0 1px .55px rgba(38,50,58,.34))!important;
  opacity:.84!important;
  mix-blend-mode:screen!important;
}

/* Bois : gravure brun/noir absorbée dans la matière */
.afc-marking-effect--engraving_wood .afc-object-content{
  filter:
    grayscale(.35)
    sepia(1)
    saturate(.72)
    brightness(.53)
    contrast(1.32)
    drop-shadow(0 .6px .35px rgba(50,25,8,.30))!important;
  opacity:.9!important;
  mix-blend-mode:multiply!important;
}
.afc-marking-effect--engraving_wood.afc-object-text .afc-object-content{
  color:#563018!important;
  -webkit-text-fill-color:#563018!important;
  text-shadow:0 1px .45px rgba(36,18,7,.35)!important;
}
.afc-marking-effect--engraving_wood.afc-object-image .afc-object-content{
  filter:
    grayscale(.75)
    sepia(1)
    saturate(.8)
    brightness(.48)
    contrast(1.42)!important;
  opacity:.88!important;
  mix-blend-mode:multiply!important;
}

/* Verre : dépoli translucide, texte et dessin identiques */
.afc-marking-effect--engraving_glass .afc-object-content{
  filter:
    grayscale(1)
    brightness(1.75)
    contrast(.60)
    drop-shadow(0 1px 1px rgba(58,78,88,.55))!important;
  opacity:.72!important;
  mix-blend-mode:screen!important;
}
.afc-marking-effect--engraving_glass.afc-object-text .afc-object-content{
  color:#f3fbff!important;
  -webkit-text-fill-color:#f3fbff!important;
  text-shadow:0 1px 1.4px rgba(66,88,98,.55)!important;
}
.afc-marking-effect--engraving_glass.afc-object-image .afc-object-content{
  filter:
    grayscale(1)
    brightness(1.85)
    contrast(.56)
    drop-shadow(0 1px 1px rgba(54,74,84,.48))!important;
  opacity:.7!important;
  mix-blend-mode:screen!important;
}

/* 0.53.9 — gravure réaliste : rendu monochrome de matière */

/* La gravure métal doit être strictement monochrome gris métallique.
   Pour les images, on neutralise totalement les couleurs source tout en
   conservant la transparence / silhouette du PNG ou SVG. */
.afc-marking-effect--engraving_metal.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    invert(84%)
    sepia(4%)
    saturate(230%)
    hue-rotate(165deg)
    brightness(92%)
    contrast(90%)
    drop-shadow(0 -0.7px 0.35px rgba(255,255,255,.52))
    drop-shadow(0 0.8px 0.45px rgba(48,60,68,.34)) !important;
  opacity:.92 !important;
  mix-blend-mode:screen !important;
}

/* Texte métal : gris métallique fixe, pas de couleur cliente. */
.afc-marking-effect--engraving_metal.afc-object-text .afc-object-content{
  color:#cfd6dc !important;
  -webkit-text-fill-color:#cfd6dc !important;
  text-shadow:
    0 -0.8px 0 rgba(255,255,255,.62),
    0 0.9px 0 rgba(55,66,74,.42),
    0 0 1px rgba(255,255,255,.18) !important;
  opacity:.94 !important;
  mix-blend-mode:screen !important;
}

/* Neutralisation stricte pour empêcher un ancien filtre de réinjecter du noir. */
.afc-marking-effect--engraving_metal .afc-object-content{
  background-color:transparent !important;
}

/* Gravure bois : même principe pour les images, mais brun foncé matière. */
.afc-marking-effect--engraving_wood.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    invert(23%)
    sepia(46%)
    saturate(980%)
    hue-rotate(348deg)
    brightness(78%)
    contrast(98%)
    drop-shadow(0 .7px .35px rgba(45,24,10,.28)) !important;
  opacity:.93 !important;
  mix-blend-mode:multiply !important;
}

/* Gravure verre : dessin et texte deviennent uniformément dépolis. */
.afc-marking-effect--engraving_glass.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    invert(97%)
    sepia(8%)
    saturate(130%)
    hue-rotate(165deg)
    brightness(105%)
    contrast(78%)
    drop-shadow(0 1px 1px rgba(70,90,100,.42)) !important;
  opacity:.72 !important;
  mix-blend-mode:screen !important;
}

/* Les polices choisies sont volontairement lisibles pour les petits marquages. */
.afc-toolbar-font .afc-font-hint{
  display:block;
  margin-top:5px;
  color:#6f8295;
  font-size:8px;
  line-height:1.35;
}

/* Un peu d'air pour éviter l'effet de caractères collés en aperçu. */
.afc-object-text .afc-object-content{
  letter-spacing:.015em;
}


/* 0.53.9 — simulation de gravure laser mate
   Référence : marquage fin, monochrome, sans chrome ni halo extérieur. */

:root{
  --afc-engraving-metal-light:#d7d9d7;
  --afc-engraving-metal-mid:#c5c9c8;
  --afc-engraving-metal-dark:#aeb4b3;
  --afc-engraving-wood-light:#c79b68;
  --afc-engraving-wood-mid:#9b673d;
  --afc-engraving-wood-dark:#684329;
}

/* MÉTAL — même matière pour texte et dessin.
   Le micro-dégradé reste volontairement très faible : il sert uniquement
   à éviter un aplat numérique, sans créer un effet chrome. */
.afc-marking-effect--engraving_metal.afc-object-text .afc-object-content{
  background:
    linear-gradient(180deg,
      var(--afc-engraving-metal-light) 0%,
      var(--afc-engraving-metal-mid) 52%,
      var(--afc-engraving-metal-dark) 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:.18px rgba(90,98,98,.24) !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:.94 !important;
  mix-blend-mode:normal !important;
}

/* Image source masquée : aucune couleur/noir du fichier original. */
.afc-marking-effect--engraving_metal.afc-object-image .afc-engraving-source-hidden{
  opacity:0 !important;
  filter:none !important;
}

/* DESSIN métal — exactement la même palette et le même axe que le texte. */
.afc-marking-effect--engraving_metal.afc-object-image .afc-engraving-metal-mask{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      var(--afc-engraving-metal-light) 0%,
      var(--afc-engraving-metal-mid) 52%,
      var(--afc-engraving-metal-dark) 100%) !important;
  -webkit-mask-image:var(--afc-engraving-mask);
  mask-image:var(--afc-engraving-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  opacity:.94;
  filter:none !important;
  box-shadow:none !important;
  mix-blend-mode:normal !important;
}

/* Un très léger creux reste À L'INTÉRIEUR du masque. */
.afc-marking-effect--engraving_metal.afc-object-image .afc-engraving-metal-mask:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,
    rgba(255,255,255,.08) 0%,
    rgba(255,255,255,0) 42%,
    rgba(72,80,80,.09) 100%);
  -webkit-mask-image:var(--afc-engraving-mask);
  mask-image:var(--afc-engraving-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  pointer-events:none;
}

/* BOIS — gravure brûlée mate, sans ombre externe. */
.afc-marking-effect--engraving_wood.afc-object-text .afc-object-content{
  background:linear-gradient(180deg,
    var(--afc-engraving-wood-light) 0%,
    var(--afc-engraving-wood-mid) 48%,
    var(--afc-engraving-wood-dark) 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:.15px rgba(67,39,22,.22) !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:.94 !important;
  mix-blend-mode:multiply !important;
}

.afc-marking-effect--engraving_wood.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    saturate(100%)
    invert(27%)
    sepia(30%)
    saturate(1080%)
    hue-rotate(343deg)
    brightness(82%)
    contrast(91%) !important;
  opacity:.88 !important;
  mix-blend-mode:multiply !important;
  box-shadow:none !important;
}

/* Pas de halo extérieur pour les procédés de gravure. */
.afc-marking-effect--engraving_metal,
.afc-marking-effect--engraving_wood,
.afc-marking-effect--engraving_metal *,
.afc-marking-effect--engraving_wood *{
  text-shadow:none !important;
  box-shadow:none !important;
}

/* Lisibilité des polices, y compris les familles calligraphiques. */
.afc-object-text .afc-object-content{
  letter-spacing:.025em;
}


/* 0.53.9 — aperçu Studio qui suit le défilement des réglages
   Le bloc reste visible pendant le parcours de la colonne droite,
   puis s'arrête naturellement à la fin du workspace. */
@media(min-width:1101px){
  .afc-studio-workspace-v2{
    align-items:start!important;
  }

  .afc-studio-center{
    position:relative!important;
    align-self:stretch!important;
    min-width:0!important;
  }

  .afc-studio-center > .afc-product-scene-card{
    position:sticky!important;
    top:12px!important;
    z-index:5!important;
    align-self:start!important;
  }

  /* L'aperçu reste entièrement visible dans la fenêtre pendant le suivi. */
  .afc-studio-center > .afc-product-scene-card .afc-product-scene{
    max-height:calc(100vh - 118px)!important;
  }

  .afc-studio-center > .afc-product-scene-card .afc-product-scene-image{
    max-height:calc(100vh - 170px)!important;
  }
}

/* Dès que le Studio passe en empilement vertical, on retire le sticky :
   sur tablette/mobile l'aperçu reste dans le flux naturel. */
@media(max-width:1100px){
  .afc-studio-center,
  .afc-studio-center > .afc-product-scene-card{
    position:static!important;
    top:auto!important;
  }
}


/* 0.53.9 — calques intégrés et visibles dans la colonne Création & placement */
.afc-inline-layers{
  display:grid;
  gap:9px;
  margin-top:12px;
  padding:12px;
  border:1px solid #cfe1f1;
  border-radius:12px;
  background:#f8fbfe;
}
.afc-inline-layers-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid #dce8f2;
}
.afc-inline-layers-head>div{
  display:grid;
  gap:2px;
  min-width:0;
}
.afc-inline-layers-head strong{
  color:#17324d;
  font-size:11px;
}
.afc-inline-layers-head small{
  color:#718497;
  font-size:8.5px;
  line-height:1.35;
}
.afc-inline-layers-head>[data-afc-properties-state]{
  flex:0 0 auto;
  max-width:42%;
  color:#0064C0;
  font-size:8px;
  font-weight:800;
  text-align:right;
}
.afc-layers-inline-list{
  display:grid!important;
  gap:6px!important;
  max-height:210px;
  overflow:auto;
  padding:1px;
}
.afc-layers-inline-list .afc-layer-row{
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:7px!important;
}
.afc-layers-inline-list .afc-layer{
  min-height:40px!important;
  padding:8px 10px!important;
  border:1px solid #d5e4f1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#17324d!important;
  font-size:10px!important;
  font-weight:800!important;
  text-align:left!important;
}
.afc-layers-inline-list .afc-layer.is-active,
.afc-layers-inline-list .afc-layer[aria-current="true"]{
  border-color:#8bbce8!important;
  background:#e6f2fd!important;
  color:#0064C0!important;
}
.afc-layers-inline-list .afc-layer-delete{
  width:34px!important;
  height:40px!important;
  min-height:40px!important;
}
.afc-inline-properties{
  margin-top:1px;
  border-top:1px solid #dce8f2;
}
.afc-inline-properties>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
  align-items:center;
  min-height:42px;
  padding:8px 0 0;
  cursor:pointer;
  list-style:none;
}
.afc-inline-properties>summary::-webkit-details-marker{display:none}
.afc-inline-properties>summary span{
  color:#17324d;
  font-size:9.5px;
  font-weight:800;
}
.afc-inline-properties>summary small{
  color:#718497;
  font-size:8px;
}
.afc-inline-properties>summary:after{
  content:"+";
  grid-column:2;
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid #c9deef;
  border-radius:7px;
  background:#fff;
  color:#0064C0;
  font-weight:900;
}
.afc-inline-properties[open]>summary:after{content:"−"}
.afc-inline-properties .afc-properties{
  margin-top:9px!important;
  padding-top:9px!important;
  border-top:1px solid #e1ebf3;
}
@media(max-width:640px){
  .afc-inline-layers{padding:10px}
  .afc-inline-layers-head{display:grid}
  .afc-inline-layers-head>[data-afc-properties-state]{
    max-width:none;
    text-align:left;
  }
  .afc-layers-inline-list{max-height:180px}
}

/* 0.53.9 — orientation mobile intelligente */
.afc-orientation-tip{display:none}

/* Portrait : suggestion sans bloquer le Studio. */
@media(max-width:900px) and (orientation:portrait){
  .afc-orientation-tip{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:8px 10px 0;
    padding:9px 11px;
    border:1px solid #cfe1f1;
    border-radius:10px;
    background:#eef7ff;
    color:#17324d;
  }
  .afc-orientation-tip strong{
    flex:0 0 auto;
    color:#0064C0;
    font-size:9px;
  }
  .afc-orientation-tip span{
    font-size:8.5px;
    line-height:1.4;
  }
}

/* Téléphone/tablette en paysage : aperçu à gauche, outils à droite. */
@media(max-width:1000px) and (min-width:641px) and (orientation:landscape){
  .afc-orientation-tip{display:none!important}
  .afc-studio-scroll{padding:8px!important}

  .afc-studio-workspace-v2{
    display:grid!important;
    grid-template-columns:54px minmax(0,1.15fr) minmax(300px,.85fr)!important;
    gap:8px!important;
    align-items:start!important;
  }

  .afc-surface-thumbnails{
    grid-column:1!important;
    grid-row:1!important;
    position:sticky!important;
    top:8px!important;
    width:54px!important;
    min-width:54px!important;
    max-height:calc(100vh - 76px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    flex-direction:column!important;
    gap:5px!important;
    padding:1px!important;
  }

  .afc-surface-thumb{
    flex:0 0 auto!important;
    width:50px!important;
    min-width:50px!important;
    grid-template-rows:38px auto!important;
    padding:3px!important;
  }
  .afc-surface-thumb-image{width:42px!important;height:38px!important}
  .afc-surface-thumb strong{max-width:42px!important;font-size:6.5px!important}

  .afc-studio-center{
    grid-column:2!important;
    grid-row:1!important;
    position:sticky!important;
    top:8px!important;
    align-self:start!important;
  }

  .afc-studio-sidebar{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
  }

  .afc-product-scene-card{padding:8px!important}
  .afc-scene-head{padding-bottom:6px!important}
  .afc-product-scene{
    min-height:calc(100vh - 120px)!important;
    max-height:calc(100vh - 90px)!important;
  }
  .afc-product-scene-image{
    max-height:calc(100vh - 140px)!important;
  }

  .afc-studio-toolbox{padding:9px!important}
  .afc-premium-step>summary{min-height:42px!important}
  .afc-live-final-price{padding:10px!important;margin-bottom:9px!important}
}

/* Dialogue de classification photo / logo pour la gravure */
.afc-photo-kind-dialog{
  position:fixed;
  inset:0;
  z-index:1000010;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(10,25,40,.48);
}
.afc-photo-kind-dialog[hidden]{display:none!important}
.afc-photo-kind-card{
  width:min(520px,100%);
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #cddfeb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(8,27,44,.22);
}
.afc-photo-kind-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.afc-photo-kind-head>div{display:grid;gap:3px}
.afc-photo-kind-head span{color:#0064C0;font-size:8px;font-weight:900;letter-spacing:.08em}
.afc-photo-kind-head strong{color:#17324d;font-size:16px}
.afc-photo-kind-head small{color:#718497;font-size:9px;line-height:1.4}
.afc-photo-kind-head button{
  width:32px;height:32px;min-height:32px;padding:0;
  border:1px solid #d5e3ee;border-radius:9px;background:#fff;color:#17324d;
  font-size:20px;cursor:pointer;
}
.afc-photo-kind-choices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.afc-photo-kind-choices button{
  display:grid;
  gap:4px;
  min-height:92px;
  padding:12px;
  border:1px solid #d6e4ef;
  border-radius:12px;
  background:#f8fbfe;
  text-align:left;
  cursor:pointer;
}
.afc-photo-kind-choices button:hover{
  border-color:#0064C0;
  background:#eef7ff;
}
.afc-photo-kind-choices strong{color:#17324d;font-size:11px}
.afc-photo-kind-choices small{color:#718497;font-size:8.5px;line-height:1.4}
.afc-photo-kind-result{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #efd3a2;
  border-radius:11px;
  background:#fff8eb;
  color:#61491b;
  font-size:10px;
  line-height:1.45;
}
.afc-photo-kind-result[hidden]{display:none!important}
.afc-photo-kind-result a{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-radius:9px;
  background:#0064C0;
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
}
@media(max-width:520px){
  .afc-photo-kind-choices{grid-template-columns:1fr}
}

/* 0.53.9 — popup automatique d’orientation mobile */
.afc-orientation-tip{display:none!important}

.afc-orientation-popup{
  display:none;
}

/* En portrait mobile/tablette, le popup apparaît automatiquement.
   Il disparaît instantanément dès que l'appareil passe en paysage. */
@media(max-width:900px) and (orientation:portrait){
  .afc-customizer-shell:not([hidden]) .afc-orientation-popup{
    position:fixed;
    inset:0;
    z-index:1000015;
    display:grid!important;
    place-items:center;
    padding:20px;
    background:rgba(9,25,40,.55);
    backdrop-filter:blur(3px);
    animation:afcOrientationBackdropIn .28s ease both;
  }

  .afc-orientation-popup-card{
    width:min(390px,calc(100vw - 36px));
    display:grid;
    grid-template-columns:78px minmax(0,1fr);
    gap:16px;
    align-items:center;
    padding:18px;
    border:1px solid #cfe1f1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 70px rgba(8,28,46,.24);
    animation:afcOrientationCardIn .38s cubic-bezier(.2,.8,.2,1) both;
  }

  .afc-orientation-popup-card>div{
    display:grid;
    gap:6px;
    min-width:0;
  }

  .afc-orientation-popup-card strong{
    color:#17324d;
    font-size:16px;
    line-height:1.2;
  }

  .afc-orientation-popup-card span:not(.afc-orientation-phone){
    color:#667b8e;
    font-size:10px;
    line-height:1.5;
  }

  .afc-orientation-phone{
    position:relative;
    display:grid;
    place-items:center;
    width:60px;
    height:86px;
    margin:auto;
    border:4px solid #0064C0;
    border-radius:12px;
    background:#f3f9ff;
    box-shadow:0 8px 20px rgba(0,100,192,.13);
    transform-origin:center;
    animation:afcRotatePhone 1.7s ease-in-out infinite;
  }

  .afc-orientation-phone:before{
    content:"";
    position:absolute;
    top:6px;
    left:50%;
    width:16px;
    height:3px;
    border-radius:999px;
    background:#0064C0;
    transform:translateX(-50%);
  }

  .afc-orientation-phone:after{
    content:"↻";
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#0064C0;
    color:#fff;
    font-size:21px;
    font-weight:900;
  }

  .afc-orientation-phone i{
    position:absolute;
    right:-19px;
    bottom:-11px;
    width:24px;
    height:24px;
    border-right:3px solid #0064C0;
    border-bottom:3px solid #0064C0;
    border-radius:0 0 12px 0;
    transform:rotate(-20deg);
    opacity:.8;
  }
}

@media(min-width:901px), (orientation:landscape){
  .afc-orientation-popup{
    display:none!important;
  }
}

@keyframes afcOrientationBackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes afcOrientationCardIn{
  from{opacity:0;transform:translateY(18px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes afcRotatePhone{
  0%,18%{transform:rotate(0deg)}
  48%,70%{transform:rotate(90deg)}
  100%{transform:rotate(0deg)}
}

@media(prefers-reduced-motion:reduce){
  .afc-customizer-shell:not([hidden]) .afc-orientation-popup,
  .afc-orientation-popup-card,
  .afc-orientation-phone{
    animation:none!important;
  }
}

/* 0.53.9 — action plein écran intégrée au popup d'orientation */
.afc-orientation-popup-copy{
  display:grid!important;
  gap:7px!important;
}
.afc-orientation-popup-copy button{
  width:100%;
  min-height:42px;
  margin-top:4px;
  padding:0 13px;
  border:1px solid #0064C0;
  border-radius:10px;
  background:#0064C0;
  color:#fff;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.afc-orientation-popup-copy button:disabled{
  opacity:.65;
  cursor:progress;
}
.afc-orientation-popup-copy small{
  color:#718497;
  font-size:8px;
  line-height:1.4;
}

/* En plein écran paysage, le Studio utilise strictement toute la surface disponible. */
.afc-customizer-shell:fullscreen,
.afc-customizer-shell:-webkit-full-screen{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  background:#f4f7fa!important;
}
.afc-customizer-shell:fullscreen .afc-studio-scroll,
.afc-customizer-shell:-webkit-full-screen .afc-studio-scroll{
  height:calc(100vh - 58px)!important;
  max-height:none!important;
  overflow:auto!important;
}
@media(max-width:1000px) and (min-width:641px) and (orientation:landscape){
  .afc-customizer-shell:fullscreen .afc-studio-workspace-v2,
  .afc-customizer-shell:-webkit-full-screen .afc-studio-workspace-v2{
    min-height:calc(100vh - 78px)!important;
  }
}


/* 0.53.9 — plein écran mobile robuste + choix "Rester en mode portrait" */

/* Le bouton du popup devient uniquement une alternative au paysage. */
.afc-orientation-popup-copy [data-afc-stay-portrait]{
  width:100%;
  min-height:42px;
  margin-top:4px;
  padding:0 13px;
  border:1px solid #cbdbe8;
  border-radius:10px;
  background:#fff;
  color:#17324d;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.afc-orientation-popup-copy [data-afc-stay-portrait]:hover{
  border-color:#0064C0;
  color:#0064C0;
  background:#f5faff;
}

/* Après choix explicite, ne plus afficher le popup dans cette ouverture. */
@media(max-width:900px) and (orientation:portrait){
  .afc-product-entry.afc-orientation-popup-dismissed .afc-orientation-popup{
    display:none!important;
  }
}

/* Plein écran CSS de secours.
   Couvre toute la zone réellement disponible, même si l'API native
   requestFullscreen() est refusée par le navigateur. */
html.afc-mobile-fullscreen-document,
body.afc-mobile-fullscreen-body{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

.afc-customizer-shell.afc-mobile-fullscreen-fallback{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:block!important;
  width:100vw!important;
  width:100dvw!important;
  height:100vh!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#f4f7fa!important;
  box-shadow:none!important;
}

.afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-studio-topbar{
  position:relative!important;
  z-index:20!important;
}

.afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-studio-scroll{
  height:calc(100vh - 58px)!important;
  height:calc(100dvh - 58px)!important;
  max-height:none!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

/* En paysage, la mise en page utilise toute la surface disponible. */
@media(max-width:1000px) and (orientation:landscape){
  .afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-studio-workspace-v2{
    min-height:calc(100dvh - 76px)!important;
  }
  .afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-product-scene{
    min-height:calc(100dvh - 116px)!important;
    max-height:calc(100dvh - 92px)!important;
  }
  .afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-product-scene-image{
    max-height:calc(100dvh - 142px)!important;
  }
}

/* Le vrai fullscreen natif reste prioritaire lorsqu'il est disponible. */
.afc-customizer-shell:fullscreen,
.afc-customizer-shell:-webkit-full-screen{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#f4f7fa!important;
}


/* 0.53.9 — moteur viewport mobile dédié */
.afc-customizer-shell.afc-mobile-fullscreen-fallback{
  position:fixed!important;
  left:var(--afc-mobile-vleft,0px)!important;
  top:var(--afc-mobile-vtop,0px)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--afc-mobile-vw,100dvw)!important;
  height:var(--afc-mobile-vh,100dvh)!important;
  min-width:var(--afc-mobile-vw,100dvw)!important;
  min-height:var(--afc-mobile-vh,100dvh)!important;
  max-width:var(--afc-mobile-vw,100dvw)!important;
  max-height:var(--afc-mobile-vh,100dvh)!important;
  overflow:hidden!important;
  transform:none!important;
}

.afc-customizer-shell.afc-mobile-fullscreen-fallback .afc-studio-scroll{
  height:calc(var(--afc-mobile-vh,100dvh) - 58px)!important;
  max-height:calc(var(--afc-mobile-vh,100dvh) - 58px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

/* iOS : éviter que les safe areas ou la barre d'adresse réduisent le Studio. */
.afc-customizer-shell[data-afc-mobile-browser="ios"].afc-mobile-fullscreen-fallback{
  padding-top:env(safe-area-inset-top,0px)!important;
  padding-right:env(safe-area-inset-right,0px)!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  padding-left:env(safe-area-inset-left,0px)!important;
  box-sizing:border-box!important;
}
.afc-customizer-shell[data-afc-mobile-browser="ios"].afc-mobile-fullscreen-fallback .afc-studio-scroll{
  height:calc(var(--afc-mobile-vh,100dvh) - 58px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  max-height:calc(var(--afc-mobile-vh,100dvh) - 58px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
}

/* Android/Chrome : conserver le plein écran même quand la barre d'URL change de hauteur. */
.afc-customizer-shell[data-afc-mobile-browser="android"].afc-mobile-fullscreen-fallback{
  width:var(--afc-mobile-vw,100dvw)!important;
  height:var(--afc-mobile-vh,100dvh)!important;
}

/* Popup systématique à chaque ouverture portrait.
   Le masquage ne dure que pour le cycle Studio courant. */
@media(max-width:900px) and (orientation:portrait){
  .afc-customizer-shell:not([hidden]) .afc-orientation-popup{
    display:grid!important;
  }
  .afc-product-entry.afc-orientation-popup-dismissed .afc-customizer-shell:not([hidden]) .afc-orientation-popup{
    display:none!important;
  }
}


/* 0.53.9 — mode application / PWA uniquement en paysage */
.afc-landscape-app-prompt{display:none!important}

@media(max-width:1000px) and (orientation:landscape){
  .afc-landscape-app-prompt:not([hidden]){
    position:fixed;
    inset:0;
    z-index:2147483500;
    display:grid!important;
    place-items:center;
    padding:18px;
    background:rgba(8,24,39,.58);
    backdrop-filter:blur(3px);
  }

  .afc-landscape-app-card{
    width:min(560px,calc(100vw - 36px));
    display:grid;
    gap:12px;
    padding:17px;
    border:1px solid #cfe1f1;
    border-radius:16px;
    background:#fff;
    box-shadow:0 26px 75px rgba(7,26,43,.24);
  }
  .afc-landscape-app-card>div:first-child{display:grid;gap:5px}
  .afc-landscape-app-card strong{color:#17324d;font-size:14px}
  .afc-landscape-app-card span{color:#6d8092;font-size:9.5px;line-height:1.45}

  .afc-landscape-app-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .afc-landscape-app-actions button{
    min-height:42px;
    padding:0 12px;
    border-radius:10px;
    font-size:9.5px;
    font-weight:900;
    cursor:pointer;
  }
  .afc-landscape-app-actions [data-afc-pwa-install]{
    border:1px solid #0064C0;
    background:#0064C0;
    color:#fff;
  }
  .afc-landscape-app-actions [data-afc-pwa-continue]{
    border:1px solid #cbdbe8;
    background:#fff;
    color:#17324d;
  }
  .afc-landscape-ios-help{
    display:grid;
    gap:4px;
    padding:10px 11px;
    border:1px solid #d9e7f2;
    border-radius:10px;
    background:#f6faff;
  }
  .afc-landscape-ios-help[hidden]{display:none!important}
  .afc-landscape-ios-help strong{font-size:10px;color:#0064C0}
  .afc-landscape-ios-help span{font-size:9px}

  /* Quand l'app est lancée depuis l'écran d'accueil, maximiser uniquement en paysage. */
  html.afc-standalone-landscape,
  html.afc-standalone-landscape body{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html.afc-standalone-landscape .afc-customizer-shell:not([hidden]){
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    width:100dvw!important;
    height:100vh!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
  }
}

@media(max-width:700px) and (orientation:landscape){
  .afc-landscape-app-actions{grid-template-columns:1fr}
}


/* 0.53.9 — iPhone / iPad : Studio paysage uniquement en mode application */
@media(max-width:1000px) and (orientation:landscape){
  .afc-landscape-app-prompt.is-mandatory-ios:not([hidden]){
    position:fixed!important;
    inset:0!important;
    z-index:2147483640!important;
    display:grid!important;
    place-items:center!important;
    padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;
    background:rgba(5,17,29,.82)!important;
    backdrop-filter:blur(8px)!important;
  }

  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-app-card{
    width:min(560px,calc(100vw - 44px))!important;
    max-height:calc(100dvh - 36px)!important;
    overflow:auto!important;
    padding:20px!important;
    border:1px solid #c8ddec!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(0,0,0,.35)!important;
  }

  .afc-landscape-app-title{
    display:grid!important;
    gap:6px!important;
  }
  .afc-landscape-app-title>span{
    color:#0064C0!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
  }
  .afc-landscape-app-title>strong{
    color:#17324d!important;
    font-size:20px!important;
    line-height:1.15!important;
  }
  .afc-landscape-app-title>p{
    margin:0!important;
    color:#607487!important;
    font-size:10px!important;
    line-height:1.5!important;
  }

  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-app-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .afc-landscape-app-prompt.is-mandatory-ios [data-afc-pwa-install]{
    width:100%!important;
    min-height:46px!important;
    border:1px solid #0064C0!important;
    border-radius:11px!important;
    background:#0064C0!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-ios-help{
    display:grid!important;
    gap:6px!important;
    padding:12px!important;
    border:1px solid #d4e4f0!important;
    border-radius:11px!important;
    background:#f7fbff!important;
  }
  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-ios-help strong{
    color:#0064C0!important;
    font-size:11px!important;
  }
  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-ios-help span{
    color:#344e66!important;
    font-size:9.5px!important;
    line-height:1.65!important;
  }
  .afc-landscape-app-prompt.is-mandatory-ios .afc-landscape-ios-help small{
    margin-top:3px!important;
    color:#7b5b16!important;
    font-size:8.5px!important;
    font-weight:800!important;
    line-height:1.45!important;
  }

  /* En mode application, aucune couche d'installation ne doit rester visible. */
  html.afc-standalone-landscape .afc-landscape-app-prompt{
    display:none!important;
  }
}


/* ==========================================================================
   0.53.10 — CORRECTIONS CIBLEES PRODUIT + STUDIO
   ========================================================================== */

/* 1) Page produit Smart Shop :
      réduire uniquement la marge entre la colonne image et la colonne produit. */
@media(min-width:1051px){
  .afiwai-product-v3__layout{
    gap:18px!important;
  }
}

/* 2) Studio de personnalisation :
      supprimer totalement le rail de miniatures à gauche et retirer la
      colonne correspondante de la grille. */
.afc-customizer-shell .afc-surface-thumbnails{
  display:none!important;
}

/* Grand écran : 2 vraies colonnes, aperçu + personnalisation. */
@media(min-width:1201px){
  .afc-customizer-shell .afc-studio-workspace-v2{
    grid-template-columns:minmax(0,1fr) 420px!important;
    gap:16px!important;
  }

  .afc-customizer-shell .afc-studio-center{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }

  .afc-customizer-shell .afc-studio-sidebar{
    grid-column:2!important;
    grid-row:1!important;
    min-width:420px!important;
  }
}

/* Écrans intermédiaires : même principe avec une sidebar plus compacte. */
@media(min-width:981px) and (max-width:1200px){
  .afc-customizer-shell .afc-studio-workspace-v2{
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:12px!important;
  }

  .afc-customizer-shell .afc-studio-center{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }

  .afc-customizer-shell .afc-studio-sidebar{
    grid-column:2!important;
    grid-row:1!important;
    min-width:360px!important;
  }
}

/* Tablette/mobile : plus de ligne vide réservée aux miniatures supprimées. */
@media(max-width:980px){
  .afc-customizer-shell .afc-studio-workspace-v2{
    grid-template-columns:1fr!important;
  }

  .afc-customizer-shell .afc-studio-center{
    grid-column:1!important;
    grid-row:1!important;
  }

  .afc-customizer-shell .afc-studio-sidebar{
    grid-column:1!important;
    grid-row:2!important;
  }
}


/* ==========================================================================
   0.53.11 — ALIGNEMENT DES COLONNES DU STUDIO
   ========================================================================== */
/*
 * Les blocs inférieurs "Contrôle fabrication" et "Technique / Surface /
 * Éléments" utilisent exactement les mêmes colonnes que l'aperçu et la
 * personnalisation situés au-dessus.
 */
@media(min-width:1201px){
  .afc-customizer-shell .afc-studio-review{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 420px!important;
    gap:16px!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    align-items:stretch!important;
  }

  .afc-customizer-shell .afc-studio-review > .afc-preflight{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
  }

  .afc-customizer-shell .afc-studio-review > .afc-client-summary{
    grid-column:2!important;
    min-width:420px!important;
    width:100%!important;
  }
}

@media(min-width:981px) and (max-width:1200px){
  .afc-customizer-shell .afc-studio-review{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:12px!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    align-items:stretch!important;
  }

  .afc-customizer-shell .afc-studio-review > .afc-preflight{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
  }

  .afc-customizer-shell .afc-studio-review > .afc-client-summary{
    grid-column:2!important;
    min-width:360px!important;
    width:100%!important;
    grid-template-columns:1fr!important;
  }
}

@media(max-width:980px){
  .afc-customizer-shell .afc-studio-review{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .afc-customizer-shell .afc-studio-review > .afc-preflight,
  .afc-customizer-shell .afc-studio-review > .afc-client-summary{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
  }
}


/* ==========================================================================
   0.53.12 — APERCU ALIGNE SUR LES BORDS GAUCHE / DROIT
   ========================================================================== */
/*
 * Le décalage visible venait du mode Express qui limitait encore
 * .afc-studio-center à 980px et le centrait avec margin:auto.
 * On retire uniquement cette contrainte dans le Studio ouvert.
 */
@media(min-width:981px){
  .afc-customizer-shell .afc-runtime-express .afc-studio-center,
  .afc-customizer-shell.afc-runtime-express .afc-studio-center,
  .afc-customizer-shell .afc-studio-center{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    justify-self:stretch!important;
  }

  .afc-customizer-shell .afc-studio-center > .afc-product-scene-card{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}


/* ==========================================================================
   0.53.17 — SELECTEUR RECTO / VERSO SANS RAIL LATERAL
   ========================================================================== */

/*
 * Le rail gauche reste supprimé. Le même composant est réutilisé comme
 * sélecteur horizontal dans la carte "Simulation du rendu".
 */
.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0 14px 12px!important;
  padding:9px!important;
  border:1px solid #d8e7f4!important;
  border-radius:12px!important;
  background:#f7fbff!important;
  overflow-x:auto!important;
  box-sizing:border-box!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails[hidden]{
  display:none!important;
}

.afc-customizer-shell .afc-surface-switcher-title{
  flex:0 0 auto;
  padding:0 5px;
  color:#49657c;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb{
  display:grid!important;
  grid-template-columns:42px auto!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:118px!important;
  min-height:54px!important;
  margin:0!important;
  padding:6px 10px 6px 6px!important;
  border:1px solid #cfe1f2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17324d!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb:hover{
  border-color:#78afe0!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb.is-active{
  border-color:#0064C0!important;
  background:#eaf5ff!important;
  box-shadow:0 0 0 2px rgba(0,100,192,.08)!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb-image{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:#fff!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb strong{
  color:#17324d!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

/* Le vieux rail latéral ne doit jamais réapparaître ailleurs. */
.afc-customizer-shell .afc-studio-workspace-v2 > .afc-surface-thumbnails{
  display:none!important;
}

@media(max-width:680px){
  .afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails{
    margin:0 8px 9px!important;
    padding:7px!important;
    gap:7px!important;
  }
  .afc-customizer-shell .afc-surface-switcher-title{
    display:none!important;
  }
  .afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails .afc-surface-thumb{
    min-width:104px!important;
  }
}


/* ==========================================================================
   0.53.18 — VIGNETTES RECTO / VERSO COTE A COTE AU-DESSUS DE LA SIMULATION
   ========================================================================== */

/*
 * Le composant est maintenant un frère direct de .afc-product-scene-card.
 * Il forme une barre compacte de vues juste avant la simulation.
 */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border:1px solid #d8e7f4!important;
  border-radius:12px!important;
  background:#f7fbff!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails[hidden]{
  display:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-switcher-title{
  flex:0 0 auto!important;
  margin-right:4px!important;
  padding:0!important;
  color:#49657c!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb{
  display:grid!important;
  grid-template-columns:42px auto!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:140px!important;
  min-height:54px!important;
  margin:0!important;
  padding:6px 12px 6px 6px!important;
  border:1px solid #cfe1f2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17324d!important;
  box-shadow:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb.is-active{
  border-color:#0064C0!important;
  background:#eaf5ff!important;
  box-shadow:0 0 0 2px rgba(0,100,192,.08)!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb-image{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:#fff!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb strong{
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:150px!important;
}

/* Neutraliser l'ancien positionnement interne de 0.53.17. */
.afc-customizer-shell .afc-product-scene-card > .afc-surface-thumbnails{
  display:none!important;
}

@media(max-width:680px){
  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding:8px!important;
    gap:8px!important;
  }

  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-switcher-title{
    display:none!important;
  }

  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb{
    min-width:120px!important;
  }
}


/* ==========================================================================
   0.53.19 — VIGNETTES COLLEES AU SIMULATEUR
   ========================================================================== */

/*
 * 1) aucune marge verticale autour des vignettes
 * 2) aucun background propre au bloc vignettes
 * 3) bloc visuellement rattaché à la carte Simulation du rendu
 */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
  margin:0!important;
  padding:8px 12px 8px!important;
  border:1px solid #d8e7f4!important;
  border-bottom:0!important;
  border-radius:12px 12px 0 0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails + .afc-product-scene-card{
  margin-top:0!important;
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
  border-top-color:#d8e7f4!important;
}

/* Les boutons eux-mêmes restent lisibles, mais sans carte blanche en arrière-plan. */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb{
  background:transparent!important;
  box-shadow:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb.is-active{
  background:rgba(0,100,192,.06)!important;
  box-shadow:0 0 0 1px rgba(0,100,192,.08)!important;
}

/* Les petites images n'ont pas non plus de fond artificiel. */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb-image{
  background:transparent!important;
}

@media(max-width:680px){
  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
    margin:0!important;
    padding:7px 8px!important;
  }
}


/* ==========================================================================
   0.53.20 — VIGNETTES STICKY AU-DESSUS GAUCHE DU SIMULATEUR
   ========================================================================== */

/*
 * Le sélecteur doit rester immédiatement au-dessus et à gauche du bloc
 * "Simulation du rendu". En défilement, il devient sticky et reste visible.
 * Il ne crée plus une grande barre pleine largeur.
 */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
  position:sticky!important;
  top:10px!important;
  z-index:45!important;

  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;

  width:max-content!important;
  max-width:calc(100% - 12px)!important;
  min-height:0!important;

  margin:0 0 0 12px!important;
  padding:0!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;

  align-self:flex-start!important;
  justify-self:start!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails[hidden]{
  display:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-switcher-title{
  display:none!important;
}

/* Une ou plusieurs vignettes : toujours compactes, côte à côte. */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb{
  display:grid!important;
  grid-template-columns:34px auto!important;
  align-items:center!important;
  gap:7px!important;
  flex:0 0 auto!important;

  width:auto!important;
  min-width:108px!important;
  min-height:44px!important;

  margin:0!important;
  padding:4px 9px 4px 4px!important;

  border:1px solid #cfe1f2!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.96)!important;
  color:#17324d!important;
  box-shadow:0 5px 14px rgba(20,52,79,.08)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb:hover{
  border-color:#7eb5e6!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb.is-active{
  border-color:#0064C0!important;
  background:#eef7ff!important;
  box-shadow:0 5px 14px rgba(0,100,192,.12)!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb-image{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:7px!important;
  background:transparent!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb strong{
  max-width:130px!important;
  color:#17324d!important;
  font-size:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/*
 * Le simulateur commence juste sous les vignettes, sans grande zone vide.
 * On ne fusionne plus les bordures : le groupe sticky flotte proprement
 * au-dessus, aligné sur le bord gauche du simulateur.
 */
.afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails + .afc-product-scene-card{
  margin-top:4px!important;
  border-top-left-radius:16px!important;
  border-top-right-radius:16px!important;
}

/* Admin bar / topbar : éviter que le sticky passe dessous. */
@media(min-width:783px){
  body.admin-bar .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
    top:42px!important;
  }
}

@media(max-width:782px){
  body.admin-bar .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
    top:56px!important;
  }
}

@media(max-width:680px){
  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails{
    top:6px!important;
    max-width:calc(100% - 8px)!important;
    margin-left:6px!important;
    gap:5px!important;
  }

  .afc-customizer-shell .afc-studio-center > .afc-surface-thumbnails .afc-surface-thumb{
    min-width:96px!important;
    min-height:40px!important;
  }
}


/* ==========================================================================
   0.53.21 — VIGNETTES + SIMULATEUR : UN SEUL BLOC STICKY
   ========================================================================== */

/*
 * Correction structurelle :
 * auparavant le simulateur ET les vignettes étaient sticky séparément.
 * Cela pouvait créer un grand espace entre les deux selon la hauteur de la
 * colonne droite. Désormais ils sont contenus dans .afc-simulator-stack.
 */
.afc-customizer-shell .afc-studio-center > .afc-simulator-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  align-self:start!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
}

@media(min-width:1101px){
  .afc-customizer-shell .afc-studio-center > .afc-simulator-stack{
    position:sticky!important;
    top:12px!important;
    z-index:45!important;
  }

  /* Le simulateur ne doit plus être sticky séparément. */
  .afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-product-scene-card{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    align-self:auto!important;
  }

  /* Les vignettes ne doivent plus être sticky séparément non plus. */
  .afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-surface-thumbnails{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
  }
}

.afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-surface-thumbnails{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;

  width:max-content!important;
  max-width:calc(100% - 12px)!important;
  min-height:0!important;

  margin:0 0 0 12px!important;
  padding:0!important;

  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;

  justify-self:start!important;
}

.afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-surface-thumbnails[hidden]{
  display:none!important;
}

.afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-product-scene-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  margin-top:4px!important;
  box-sizing:border-box!important;
}

/* Si le Studio n'affiche qu'une seule face, la vignette reste visible. */
.afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-surface-thumbnails .afc-surface-thumb{
  flex:0 0 auto!important;
}

/* Tablette/mobile : le groupe reste attaché mais suit le flux naturel. */
@media(max-width:1100px){
  .afc-customizer-shell .afc-studio-center > .afc-simulator-stack{
    position:relative!important;
    top:auto!important;
  }
}

@media(max-width:680px){
  .afc-customizer-shell .afc-studio-center > .afc-simulator-stack > .afc-surface-thumbnails{
    max-width:calc(100% - 8px)!important;
    margin-left:6px!important;
  }
}


/* 0.54.8 — validation regroupée + quantité finale */
.afc-bat-confirm-unified.has-resolution-warning{
  border-color:#e5c56f;
  background:#fffaf0;
}
.afc-visual-confirm-warning{
  display:block;
  margin-top:5px;
  color:#85651d!important;
  font-weight:600;
}
.afc-visual-confirm-warning[hidden]{display:none!important}

.afc-designer-foot{
  gap:18px;
}
.afc-designer-foot-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.afc-studio-quantity{
  display:grid;
  grid-template-columns:auto 86px;
  align-items:center;
  gap:4px 8px;
  margin-right:4px;
}
.afc-studio-quantity>span{
  font-size:12px;
  font-weight:800;
  color:#18344d;
}
.afc-studio-quantity input{
  width:86px!important;
  min-height:42px;
  border:1px solid #cbdbe8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#173b5c!important;
  font-weight:800;
  text-align:center;
}
.afc-studio-quantity small{
  grid-column:1/-1;
  max-width:250px;
  color:#71869a;
  font-size:10px;
  line-height:1.35;
}
.afc-approve-design{
  min-width:200px;
}
@media(max-width:780px){
  .afc-designer-foot{align-items:stretch}
  .afc-designer-foot-actions{justify-content:stretch}
  .afc-studio-quantity{width:100%;grid-template-columns:1fr 92px}
  .afc-designer-foot-actions>.afc-save-design,
  .afc-designer-foot-actions>.afc-approve-design{flex:1 1 150px}
}

.afc-design-name-modal[hidden]{display:none!important}.afc-design-name-modal{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:20px}.afc-design-name-backdrop{position:absolute;inset:0;background:rgba(12,31,48,.55)}.afc-design-name-dialog{position:relative;width:min(460px,calc(100vw - 32px));padding:24px;background:#fff;border:1px solid #d5e3ee;border-radius:18px;box-shadow:0 24px 70px rgba(15,42,64,.25)}.afc-design-name-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;color:#0064c0}.afc-design-name-dialog h3{margin:7px 0 6px;font-size:21px;color:#173650}.afc-design-name-dialog p{margin:0 0 18px;color:#718597;font-size:12px}.afc-design-name-dialog label{display:grid;gap:7px}.afc-design-name-dialog label>span{font-size:12px;font-weight:800;color:#284a65}.afc-design-name-dialog input{width:100%;min-height:44px;border:1px solid #c9dce9;border-radius:10px;padding:0 12px;font-size:14px}.afc-design-name-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.afc-design-name-actions button{min-height:40px;padding:0 16px;border-radius:9px;font-weight:800;cursor:pointer}.afc-design-name-cancel{border:1px solid #ccdbe7;background:#fff;color:#36566f}.afc-design-name-confirm{border:1px solid #0064c0;background:#0064c0;color:#fff}


/* ==========================================================================
   0.54.16 — Mon compte Customizable : bibliothèque premium
   ========================================================================== */

.afc-account-workspace{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,34px);
  border:1px solid #d9e6ef;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 44px rgba(16,47,72,.07);
}

.afc-account-workspace__hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  margin-bottom:24px;
  padding-bottom:22px;
  border-bottom:1px solid #e7eef4;
}

.afc-account-workspace__hero-copy{
  min-width:0;
  max-width:720px;
}

.afc-account-eyebrow{
  display:inline-flex;
  margin-bottom:7px;
  color:#0064c0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.afc-account-workspace__hero h2{
  margin:0 0 7px;
  color:#173650;
  font-size:clamp(24px,3vw,34px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.afc-account-workspace__hero p{
  margin:0;
  color:#6e8294;
  font-size:13px;
  line-height:1.55;
}

.afc-account-workspace__stats{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}

.afc-account-workspace__stats>div{
  min-width:92px;
  padding:11px 14px;
  border:1px solid #dce8f1;
  border-radius:13px;
  background:#f7fbfe;
  text-align:center;
}

.afc-account-workspace__stats strong,
.afc-account-workspace__stats span{
  display:block;
}

.afc-account-workspace__stats strong{
  color:#173650;
  font-size:17px;
  line-height:1.1;
}

.afc-account-workspace__stats span{
  margin-top:3px;
  color:#7c8e9d;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Images */
.afc-account-gallery{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.afc-account-media-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce7ef;
  border-radius:15px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.afc-account-media-card:hover{
  transform:translateY(-2px);
  border-color:#b9d6ec;
  box-shadow:0 12px 28px rgba(20,56,82,.1);
}

.afc-account-media-card__preview{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:
    linear-gradient(45deg,#f4f7f9 25%,transparent 25%),
    linear-gradient(-45deg,#f4f7f9 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#f4f7f9 75%),
    linear-gradient(-45deg,transparent 75%,#f4f7f9 75%);
  background-position:0 0,0 8px,8px -8px,-8px 0;
  background-size:16px 16px;
}

.afc-account-media-card__preview img{
  width:100%;
  height:100%;
  padding:10px;
  object-fit:contain;
  transition:transform .2s ease;
}

.afc-account-media-card:hover .afc-account-media-card__preview img{
  transform:scale(1.025);
}

.afc-account-media-card__open{
  position:absolute;
  right:9px;
  bottom:9px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  padding:0 9px;
  border-radius:8px;
  background:rgba(19,49,73,.88);
  color:#fff;
  font-size:10px;
  font-weight:800;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .18s ease,transform .18s ease;
}

.afc-account-media-card:hover .afc-account-media-card__open,
.afc-account-media-card__preview:focus .afc-account-media-card__open{
  opacity:1;
  transform:none;
}

.afc-account-media-card__open .dashicons{
  width:14px;
  height:14px;
  font-size:14px;
}

.afc-account-media-card__body{
  padding:11px 12px 12px;
}

.afc-account-media-card__title{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
}

.afc-account-media-card__title strong{
  min-width:0;
  overflow:hidden;
  color:#1b3a53;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.afc-account-media-card__title>span{
  flex:0 0 auto;
  padding:3px 5px;
  border-radius:5px;
  background:#eef6fc;
  color:#48718f;
  font-size:8px;
  font-weight:900;
}

.afc-account-media-card__meta{
  display:flex;
  gap:8px 12px;
  flex-wrap:wrap;
  margin-top:8px;
  color:#8595a3;
  font-size:9px;
}

.afc-account-media-card__meta span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.afc-account-media-card__meta .dashicons{
  width:11px;
  height:11px;
  font-size:11px;
}

/* Personnalisations */
.afc-account-design-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.afc-account-design-tile{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce7ef;
  border-radius:17px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.afc-account-design-tile:hover{
  transform:translateY(-2px);
  border-color:#b9d6ec;
  box-shadow:0 14px 32px rgba(20,56,82,.09);
}

.afc-account-design-tile__visual{
  position:relative;
  display:grid;
  place-items:center;
  height:156px;
  overflow:hidden;
  border-bottom:1px solid #e4edf3;
  background:linear-gradient(145deg,#f4f8fb,#eef4f8);
}

.afc-account-design-tile__visual img{
  width:100%;
  height:100%;
  padding:13px;
  object-fit:contain;
}

.afc-account-design-tile__visual>.dashicons{
  width:42px;
  height:42px;
  color:#9ab5c9;
  font-size:42px;
}

.afc-account-design-tile__status{
  position:absolute;
  top:11px;
  right:11px;
  display:inline-flex;
  min-height:25px;
  padding:0 8px;
  align-items:center;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 4px 12px rgba(23,54,80,.08);
}

.afc-account-design-tile__status.is-approved{
  background:#e7f7ed;
  color:#176b38;
}

.afc-account-design-tile__status.is-saved{
  background:#edf6fd;
  color:#0064c0;
}

.afc-account-design-tile__body{
  padding:15px;
}

.afc-account-design-tile__heading>span{
  display:block;
  overflow:hidden;
  color:#758a9a;
  font-size:10px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.afc-account-design-tile__heading h3{
  margin:5px 0 14px;
  overflow:hidden;
  color:#173650;
  font-size:15px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.afc-account-design-tile__metrics{
  display:grid;
  grid-template-columns:1.5fr .8fr .8fr;
  gap:8px;
}

.afc-account-design-tile__metrics>div{
  min-width:0;
  padding:8px 9px;
  border-radius:9px;
  background:#f7fafc;
}

.afc-account-design-tile__metrics span,
.afc-account-design-tile__metrics strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.afc-account-design-tile__metrics span{
  color:#8a99a5;
  font-size:8px;
  text-transform:uppercase;
}

.afc-account-design-tile__metrics strong{
  margin-top:3px;
  color:#2a506c;
  font-size:10px;
}

.afc-account-design-tile footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid #edf2f5;
  color:#8293a1;
  font-size:9px;
}

.afc-account-design-tile footer span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.afc-account-design-tile footer .dashicons{
  width:12px;
  height:12px;
  font-size:12px;
}

.afc-account-design-tile__actions{
  margin-top:12px;
}
.afc-account-design-reuse{
  display:inline-flex;
  width:100%;
  min-height:38px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:10px;
  background:#0064c0;
  color:#fff !important;
  font-size:11px;
  font-weight:800;
  text-decoration:none !important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.afc-account-design-reuse:hover,
.afc-account-design-reuse:focus{
  background:#0055a3;
  box-shadow:0 9px 20px rgba(0,100,192,.18);
  transform:translateY(-1px);
}
.afc-account-design-reuse .dashicons{
  width:15px;
  height:15px;
  font-size:15px;
}

/* Empty */
.afc-account-empty-state{
  display:flex;
  min-height:150px;
  padding:28px;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:1px dashed #c9dae7;
  border-radius:15px;
  background:#f9fcfe;
  text-align:left;
}

.afc-account-empty-state>.dashicons{
  width:38px;
  height:38px;
  color:#6f9fbe;
  font-size:38px;
}

.afc-account-empty-state strong{
  display:block;
  color:#173650;
  font-size:14px;
}

.afc-account-empty-state p{
  margin:4px 0 0;
  color:#748896;
  font-size:11px;
}

@media(max-width:1180px){
  .afc-account-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .afc-account-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:860px){
  .afc-account-workspace__hero{display:grid}
  .afc-account-workspace__stats{justify-content:flex-start}
  .afc-account-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  .afc-account-workspace{padding:18px;border-radius:17px}
  .afc-account-workspace__stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .afc-account-workspace__stats>div{min-width:0}
  .afc-account-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .afc-account-design-grid{grid-template-columns:1fr}
  .afc-account-design-tile__visual{height:180px}
}

/* ==========================================================================
   0.54.23 — Bibliothèques Mon compte : même largeur que le contenu Smart Shop
   ========================================================================== */

.afiwai-account-module-section .afc-account-workspace{
  width:min(1440px,calc(100vw - 48px));
  max-width:1440px;
  margin-right:auto;
  margin-left:auto;
}

.afc-account-gallery,
.afc-account-design-grid,
.afc-account-library-toolbar,
.afc-account-empty-state{
  width:100%;
  margin-right:0;
  margin-left:0;
}

#afc-account-images{
  margin-bottom:clamp(32px,4vw,48px);
}

#afc-account-designs{
  margin-top:clamp(32px,4vw,48px);
}

.afc-account-library-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:-4px;
  margin-bottom:22px;
  padding:11px 13px 11px 16px;
  border:1px solid #e1ebf2;
  border-radius:14px;
  background:linear-gradient(135deg,#f9fcfe,#f3f8fc);
}

.afc-account-library-toolbar>span{
  color:#718697;
  font-size:11px;
  line-height:1.45;
}

.afc-account-clear-library,
.afc-account-delete-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  padding:0 10px;
  border:1px solid #e7dddd;
  border-radius:9px;
  background:#fff;
  color:#965050;
  font-size:10px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

.afc-account-clear-library:hover,
.afc-account-delete-item:hover{
  border-color:#e4bcbc;
  background:#fff5f5;
  color:#7e2525;
  transform:translateY(-1px);
}

.afc-account-clear-library .dashicons,
.afc-account-delete-item .dashicons{
  width:14px;
  height:14px;
  font-size:14px;
}

.afc-account-media-card__actions{
  display:flex;
  justify-content:flex-end;
  padding:0 12px 12px;
}

.afc-account-design-tile__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.afc-account-design-tile__actions .afc-account-design-reuse{
  flex:1 1 170px;
}

@media(max-width:680px){
  .afiwai-account-module-section .afc-account-workspace{
    width:min(100vw - 24px,1440px);
  }
  #afc-account-images{margin-bottom:24px}
  #afc-account-designs{margin-top:24px}
  .afc-account-library-toolbar{align-items:flex-start;flex-direction:column}
  .afc-account-clear-library{width:100%}
}


/* 0.54.29 — Finalisation Studio, portée strictement locale */
.afc-finalization-zone{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding:16px;
  border:1px solid #d9e5ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,55,90,.05);
}
.afc-finalization-zone-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 2px 2px;
}
.afc-finalization-zone-head>div{display:grid;gap:3px}
.afc-finalization-zone-head span{color:#0064C0;font-size:9px;font-weight:900;letter-spacing:.08em}
.afc-finalization-zone-head strong{color:#17344f;font-size:15px;line-height:1.3}
.afc-finalization-zone-head p{
  max-width:520px;
  margin:0;
  color:#71869a;
  font-size:10px;
  line-height:1.45;
  text-align:right;
}
.afc-finalization-info-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
.afc-finalization-zone .afc-retention-notice,
.afc-finalization-zone .afc-bat-scale-note{
  margin:0!important;
  min-height:100%;
  box-sizing:border-box;
}
.afc-finalization-zone .afc-retention-notice{padding:12px 14px}
.afc-finalization-zone .afc-bat-scale-note{padding:12px 14px}
.afc-finalization-zone .afc-bat-confirm-unified{
  margin:0!important;
  padding:14px 16px;
  border-color:#bfdaf0;
  background:#f6fbff;
}
.afc-finalization-zone .afc-designer-foot{
  position:relative!important;
  bottom:auto!important;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0!important;
  padding:13px 14px!important;
  border-color:#d9e5ef!important;
  background:#f8fbfe!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.afc-finalization-zone .afc-designer-foot-state{line-height:1.45}
.afc-finalization-zone .afc-designer-foot-actions{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
.afc-finalization-action-buttons{
  display:flex;
  align-items:center;
  gap:8px;
}
.afc-finalization-action-buttons .afc-save-design,
.afc-finalization-action-buttons .afc-approve-design{
  min-height:44px;
  white-space:nowrap;
}

/* Fenêtre d'erreur bloquante du parcours panier */
.afc-cart-error-modal[hidden]{display:none!important}
.afc-cart-error-modal{
  position:fixed;
  inset:0;
  z-index:100900;
  display:grid;
  place-items:center;
  padding:20px;
}
.afc-cart-error-backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,31,48,.58);
  backdrop-filter:blur(3px);
}
.afc-cart-error-dialog{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px 15px;
  width:min(500px,calc(100vw - 32px));
  padding:21px;
  border:1px solid #efcaca;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,42,64,.28);
}
.afc-cart-error-symbol{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff0f0;
  color:#b42318;
  font-size:22px;
  font-weight:900;
}
.afc-cart-error-copy{display:grid;gap:4px}
.afc-cart-error-copy span{color:#b42318;font-size:9px;font-weight:900;letter-spacing:.08em}
.afc-cart-error-copy strong{color:#17344f;font-size:18px}
.afc-cart-error-copy p{margin:2px 0 0;color:#53687b;font-size:13px;line-height:1.55}
.afc-cart-error-dismiss{
  grid-column:1/-1;
  justify-self:end;
  min-height:42px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  background:#0064C0;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:900px){
  .afc-finalization-zone-head{align-items:flex-start;flex-direction:column;gap:5px}
  .afc-finalization-zone-head p{text-align:left}
  .afc-finalization-info-grid{grid-template-columns:1fr}
  .afc-finalization-zone .afc-designer-foot{grid-template-columns:1fr;align-items:stretch}
  .afc-finalization-zone .afc-designer-foot-actions{justify-content:space-between}
}
@media(max-width:620px){
  .afc-finalization-zone{padding:12px}
  .afc-finalization-zone .afc-designer-foot-actions{display:grid;grid-template-columns:1fr}
  .afc-finalization-action-buttons{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:460px){
  .afc-finalization-action-buttons{grid-template-columns:1fr}
  .afc-finalization-action-buttons .afc-save-design,
  .afc-finalization-action-buttons .afc-approve-design{width:100%}
  .afc-cart-error-dialog{grid-template-columns:1fr}
  .afc-cart-error-dismiss{grid-column:1;width:100%}
}


/* 0.54.34 — Précondition modèle avant ouverture du Studio */
.afiwai-product-v3 [data-afc-open-customizer].is-afc-model-required{
  opacity:.48!important;
  filter:saturate(.45);
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.afc-product-model-required[hidden]{display:none!important}
.afc-product-model-required{
  display:grid;
  gap:4px;
  margin:10px 0 0;
  padding:11px 13px;
  border:1px solid #f1d49d;
  border-radius:11px;
  background:#fff9ed;
  color:#70531b;
}
.afc-product-model-required strong{
  color:#66450b;
  font-size:12px;
  line-height:1.35;
}
.afc-product-model-required span{
  color:#7c6842;
  font-size:10px;
  line-height:1.5;
}
.afc-product-model-required.is-attention{
  animation:afcModelRequiredAttention .45s ease;
}
@keyframes afcModelRequiredAttention{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-3px)}
  75%{transform:translateX(3px)}
}
@media(max-width:620px){
  .afc-product-model-required{
    padding:10px 11px;
  }
}


/* 0.54.35 — Halo d'attention commun aux informations jaunes du front */
.afc-bat-scale-note,
.afc-quality-responsibility,
.afc-min-qty-notice.is-error,
.afc-photo-kind-result,
.afc-bat-confirm-unified.has-resolution-warning,
.afc-product-model-required{
  animation:afcAttentionHalo 2.35s ease-in-out infinite;
  will-change:box-shadow;
}

@keyframes afcAttentionHalo{
  0%,100%{
    box-shadow:
      0 0 0 0 rgba(226,171,52,0),
      0 2px 10px rgba(151,105,11,.05);
  }
  45%{
    box-shadow:
      0 0 0 5px rgba(245,190,67,.16),
      0 0 22px rgba(226,171,52,.26),
      0 3px 12px rgba(151,105,11,.10);
  }
  65%{
    box-shadow:
      0 0 0 3px rgba(245,190,67,.10),
      0 0 14px rgba(226,171,52,.18),
      0 3px 10px rgba(151,105,11,.08);
  }
}

@media (prefers-reduced-motion:reduce){
  .afc-bat-scale-note,
  .afc-quality-responsibility,
  .afc-min-qty-notice.is-error,
  .afc-photo-kind-result,
  .afc-bat-confirm-unified.has-resolution-warning,
  .afc-product-model-required{
    animation:none!important;
    will-change:auto;
  }
}


/* 0.54.37 — Alignement vertical réel des actions de finalisation */
.afc-finalization-zone .afc-designer-foot-actions{
  align-items:center!important;
}

.afc-finalization-zone .afc-finalization-action-buttons{
  display:flex;
  align-items:center;
  align-self:center;
  gap:10px;
}

.afc-finalization-zone .afc-finalization-action-buttons .afc-save-design,
.afc-finalization-zone .afc-finalization-action-buttons .afc-approve-design{
  min-height:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding-top:0;
  padding-bottom:0;
}

.afc-finalization-zone .afc-studio-quantity{
  align-self:center;
}

@media(max-width:620px){
  .afc-finalization-zone .afc-finalization-action-buttons .afc-save-design,
  .afc-finalization-zone .afc-finalization-action-buttons .afc-approve-design{
    min-height:50px;
    height:50px;
  }
}


/* 0.54.38 — Gravure bois intense : brun-noir profond, presque noir.
 * Simulation visuelle uniquement : aucune donnée de production n'est modifiée. */
:root{
  --afc-engraving-wood-intense-light:#3a2114;
  --afc-engraving-wood-intense-mid:#24130c;
  --afc-engraving-wood-intense-dark:#130906;
}

.afc-marking-effect--engraving_wood_dark .afc-object-content{
  mix-blend-mode:multiply!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

.afc-marking-effect--engraving_wood_dark.afc-object-text .afc-object-content{
  background:
    linear-gradient(
      180deg,
      var(--afc-engraving-wood-intense-light) 0%,
      var(--afc-engraving-wood-intense-mid) 48%,
      var(--afc-engraving-wood-intense-dark) 100%
    )!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.16px rgba(20,9,5,.30)!important;
  filter:none!important;
  opacity:.97!important;
}

.afc-marking-effect--engraving_wood_dark.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    saturate(100%)
    invert(10%)
    sepia(42%)
    saturate(980%)
    hue-rotate(342deg)
    brightness(58%)
    contrast(118%)!important;
  opacity:.96!important;
  mix-blend-mode:multiply!important;
  box-shadow:none!important;
}

.afc-marking-effect--engraving_wood_dark,
.afc-marking-effect--engraving_wood_dark *{
  text-shadow:none!important;
  box-shadow:none!important;
}


/* 0.54.39 — Gravure sur simili cuir.
 * Teinte volontairement intermédiaire entre Gravure sur bois et Gravure sur bois — intense. */
:root{
  --afc-engraving-faux-leather-light:#6a3c21;
  --afc-engraving-faux-leather-mid:#4b2817;
  --afc-engraving-faux-leather-dark:#30170d;
}

.afc-marking-effect--engraving_faux_leather .afc-object-content{
  mix-blend-mode:multiply!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

.afc-marking-effect--engraving_faux_leather.afc-object-text .afc-object-content{
  background:linear-gradient(
    180deg,
    var(--afc-engraving-faux-leather-light) 0%,
    var(--afc-engraving-faux-leather-mid) 48%,
    var(--afc-engraving-faux-leather-dark) 100%
  )!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.12px rgba(47,22,12,.24)!important;
  filter:none!important;
  opacity:.97!important;
}

.afc-marking-effect--engraving_faux_leather.afc-object-image .afc-object-content{
  filter:
    brightness(0)
    saturate(100%)
    invert(18%)
    sepia(47%)
    saturate(1000%)
    hue-rotate(342deg)
    brightness(72%)
    contrast(112%)!important;
  opacity:.96!important;
  mix-blend-mode:multiply!important;
  box-shadow:none!important;
}

.afc-marking-effect--engraving_faux_leather,
.afc-marking-effect--engraving_faux_leather *{
  text-shadow:none!important;
  box-shadow:none!important;
}

/* 0.54.81 — passerelle Studio unique pour produit fini / sans personnalisation */
.afc-purchase-entry-main{
  align-items:center;
  gap:16px;
}
.afc-purchase-entry-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  background:#eaf5ff;
  color:#0064c0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.afc-purchase-only-shell .afc-studio-scroll{
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:clamp(20px,3vw,38px);
}
.afc-purchase-only-card{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:28px;
  align-items:center;
  width:min(1080px,100%);
  margin:0 auto;
  padding:clamp(24px,4vw,44px);
  border:1px solid #d9e7f4;
  border-radius:28px;
  background:linear-gradient(145deg,#fff 0%,#f5faff 100%);
  box-shadow:0 24px 70px rgba(18,70,112,.12);
}
.afc-purchase-only-card:not(:has(.afc-purchase-only-visual)){
  grid-template-columns:minmax(0,1fr);
}
.afc-purchase-only-kicker{
  display:inline-flex;
  margin-bottom:10px;
  color:#0064c0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.afc-purchase-only-copy h3{
  margin:0 0 12px;
  font-size:clamp(28px,4vw,46px);
  line-height:1.04;
}
.afc-purchase-only-copy>p{
  max-width:720px;
  margin:0;
  color:#526474;
  font-size:16px;
  line-height:1.65;
}
.afc-purchase-only-partner{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
}
.afc-purchase-only-partner span{
  color:#718190;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.afc-purchase-only-partner strong{font-size:14px}
.afc-purchase-only-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.afc-purchase-only-checks>div{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px;
  border:1px solid #dfebf5;
  border-radius:16px;
  background:#fff;
}
.afc-purchase-only-checks .dashicons{color:#0064c0}
.afc-purchase-only-checks p{margin:0}
.afc-purchase-only-checks strong,.afc-purchase-only-checks small{display:block}
.afc-purchase-only-checks small{margin-top:4px;color:#6b7b88;line-height:1.45}
.afc-purchase-only-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:280px;
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e0ebf4;
}
.afc-purchase-only-visual img{
  display:block;
  max-width:100%;
  max-height:360px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.afc-purchase-only-finalization{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;
  gap:18px;
  align-items:end;
  width:min(1080px,100%);
  margin:0 auto;
  padding:22px 24px;
  border:1px solid #dce8f2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 40px rgba(18,70,112,.08);
}
.afc-purchase-only-finalization>div>span{
  display:block;
  margin-bottom:5px;
  color:#0064c0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}
.afc-purchase-only-finalization>div>strong{display:block;font-size:20px}
.afc-purchase-only-finalization>div>p{margin:6px 0 0;color:#6a7a87;line-height:1.5}
.afc-purchase-confirm{
  min-height:52px;
  padding:0 22px;
  border:0;
  border-radius:14px;
  background:#0064c0;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.afc-purchase-confirm:hover{filter:brightness(.96)}
.afc-purchase-confirm:disabled{opacity:.6;cursor:wait}
@media(max-width:820px){
  .afc-purchase-only-card{grid-template-columns:1fr}
  .afc-purchase-only-finalization{grid-template-columns:1fr}
  .afc-purchase-only-checks{grid-template-columns:1fr}
  .afc-purchase-confirm{width:100%}
}

/* 0.54.83 — informations produit dans la validation simplifiée */
.afc-purchase-only-product-description{
  margin-top:18px;
  padding:18px 20px;
  border:1px solid #dce8f2;
  border-radius:18px;
  background:#fff;
}
.afc-purchase-only-product-description>span{
  display:block;
  margin-bottom:7px;
  color:#0064c0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.afc-purchase-only-product-description>p{
  margin:0;
  color:#3f5364;
  font-size:15px;
  line-height:1.65;
}
.afc-purchase-only-mode-note{
  margin-top:14px;
  padding:14px 16px;
  border-radius:15px;
  background:#eef6fc;
}
.afc-purchase-only-mode-note>strong{
  display:block;
  margin-bottom:4px;
  color:#233746;
  font-size:14px;
}
.afc-purchase-only-mode-note>p{
  margin:0;
  color:#60717f;
  font-size:13px;
  line-height:1.5;
}

/* 0.54.84 — résumé d’achat orienté client */
.afc-purchase-only-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.afc-purchase-summary-item{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  padding:14px 16px;
  border:1px solid #dce8f2;
  border-radius:15px;
  background:#fff;
}
.afc-purchase-summary-item>span{
  color:#6a7b89;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.afc-purchase-summary-item>strong{
  color:#1e3444;
  font-size:15px;
  line-height:1.4;
}
.afc-purchase-summary-item [data-afc-purchase-unit-price],
.afc-purchase-summary-item [data-afc-purchase-total-price]{
  color:#0064c0;
  font-size:18px;
  font-weight:900;
}
.afc-purchase-only-mode-note{
  border:1px solid #dce8f2;
  background:#f6faff;
}
.afc-purchase-only-mode-note>p{
  color:#4b6171;
  font-size:14px;
}
.afc-purchase-only-finalization .afc-studio-quantity small{
  display:block;
  margin-top:6px;
  color:#6b7b88;
  font-size:12px;
  line-height:1.4;
}
@media(max-width:640px){
  .afc-purchase-only-summary{grid-template-columns:1fr}
}


/* 0.54.85 — prix dégressifs dans le résumé d’achat */
.afc-purchase-tier-pricing{
  margin-top:14px;
  padding:16px;
  border:1px solid #dce8f2;
  border-radius:18px;
  background:#fff;
}
.afc-purchase-tier-pricing__head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.afc-purchase-tier-pricing__head>strong{
  color:#1e3444;
  font-size:15px;
  font-weight:900;
}
.afc-purchase-tier-pricing__head>span{
  color:#6a7b89;
  font-size:12px;
  line-height:1.45;
}
.afc-purchase-tier-pricing__rows{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.afc-purchase-tier-pricing__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  padding:11px 13px;
  border:1px solid #e1eaf2;
  border-radius:13px;
  background:#f8fbfe;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.afc-purchase-tier-pricing__row>span{
  color:#526675;
  font-size:13px;
  font-weight:700;
}
.afc-purchase-tier-pricing__row>strong{
  color:#1e3444;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.afc-purchase-tier-pricing__row>strong small{
  color:#6a7b89;
  font-size:11px;
  font-weight:700;
}
.afc-purchase-tier-pricing__row.is-active{
  border-color:#8fc5ef;
  background:#eef7ff;
  box-shadow:0 0 0 2px rgba(0,100,192,.08);
}
.afc-purchase-tier-pricing__row.is-active>strong{
  color:#0064c0;
}
@media(max-width:640px){
  .afc-purchase-tier-pricing__rows{grid-template-columns:1fr}
}

/* ==========================================================================
   0.54.93 — BLOC VUE SIDEBAR : BLEU, 120PX, MINIATURES AGRANDIES
   ========================================================================== */
.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  column-gap:10px!important;
  row-gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:120px!important;
  min-height:120px!important;
  max-height:120px!important;
  margin:10px 0 12px!important;
  padding:10px 12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid rgba(255,255,255,.26)!important;
  border-radius:12px!important;
  background:#2A86AE!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar[hidden]{
  display:none!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-switcher-title{
  display:block!important;
  flex:0 0 100%!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#FFFFFF!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:16px!important;
  letter-spacing:.08em!important;
  text-align:left!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:54px auto!important;
  align-items:center!important;
  justify-items:center!important;
  gap:4px!important;
  flex:0 0 auto!important;
  width:74px!important;
  min-width:74px!important;
  height:78px!important;
  min-height:78px!important;
  margin:0!important;
  padding:4px 5px 5px!important;
  border:2px solid rgba(255,255,255,.80)!important;
  border-radius:10px!important;
  background:#FFFFFF!important;
  color:#294C63!important;
  box-shadow:0 3px 8px rgba(12,54,75,.12)!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb:hover{
  border-color:#BCEBFF!important;
  background:#FFFFFF!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb.is-active{
  border-color:#0064C0!important;
  background:#FFFFFF!important;
  color:#0064C0!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.72),0 4px 10px rgba(12,54,75,.18)!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb-image{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:#FFFFFF!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#FFFFFF!important;
}

.afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar .afc-surface-thumb strong{
  display:block!important;
  max-width:64px!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-align:center!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media(max-width:980px){
  .afc-customizer-shell .afc-studio-sidebar .afc-surface-thumbnails-sidebar{
    justify-content:flex-start!important;
  }
}



/* ==========================================================================
 * AFIWAI Customizable 0.55.8 — Studio responsive vertical stable
 * Base fonctionnelle : 0.54.94.
 * IMPORTANT : correction CSS uniquement. Le moteur JS d'ouverture/fermeture,
 * le fullscreen existant, le calcul des prix et le moteur de personnalisation
 * restent strictement ceux de 0.54.94.
 * ========================================================================== */
@media (max-width: 820px){
  /* L'ancienne invitation à tourner l'appareil reste neutralisée visuellement.
     Aucun événement JS n'est ajouté ou retiré dans cette version. */
  .afc-customizer-shell:not([hidden]) .afc-orientation-popup,
  .afc-customizer-shell:not([hidden]) .afc-landscape-app-prompt{
    display:none!important;
  }

  /* Bandeau Studio toujours visible : nom du produit + bouton Fermer. */
  .afc-customizer-shell:not([hidden]) .afc-studio-topbar{
    position:relative!important;
    z-index:80!important;
    min-height:54px!important;
    height:auto!important;
    padding:8px 10px!important;
    background:#0064C0!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.12)!important;
    box-shadow:0 4px 12px rgba(7,33,58,.14)!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-title{
    min-width:0!important;
    display:block!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-kicker,
  .afc-customizer-shell:not([hidden]) .afc-studio-title small,
  .afc-customizer-shell:not([hidden]) .afc-studio-save-indicator{
    display:none!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-title strong{
    display:block!important;
    max-width:calc(100vw - 112px)!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-close{
    min-width:82px!important;
    min-height:38px!important;
    padding:0 12px!important;
    border:1px solid rgba(255,255,255,.7)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.14)!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  /* Le conteneur existant de 0.54.94 reste l'unique zone de défilement. */
  .afc-customizer-shell:not([hidden]) .afc-studio-scroll{
    position:relative!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px!important;
    scroll-padding-top:calc(60dvh + 10px)!important;
  }

  .afc-customizer-shell:not([hidden]) .afc-live-designer,
  .afc-customizer-shell:not([hidden]) .afc-studio-workspace-v2{
    min-width:0!important;
    width:100%!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-workspace-v2{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  /* Aperçu : maximum deux tiers de la fenêtre. Il reste visible pendant que
     les options de la colonne inférieure défilent. */
  .afc-customizer-shell:not([hidden]) .afc-studio-center{
    grid-row:1!important;
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    width:100%!important;
    min-width:0!important;
    max-height:calc(66dvh - 62px)!important;
    padding-bottom:8px!important;
    background:#edf3f8!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-center > .afc-simulator-stack,
  .afc-customizer-shell:not([hidden]) .afc-studio-center > .afc-product-scene-card,
  .afc-customizer-shell:not([hidden]) .afc-studio-center .afc-product-scene-card{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-product-scene-card{
    padding:7px!important;
    border-radius:12px!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-scene-head{
    display:none!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-product-scene{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(66dvh - 78px)!important;
    aspect-ratio:auto!important;
    padding:4px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-product-scene-image{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:calc(66dvh - 90px)!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  /* Les vues éventuelles restent compactes dans la zone d'aperçu. */
  .afc-customizer-shell:not([hidden]) .afc-studio-center .afc-surface-thumbnails,
  .afc-customizer-shell:not([hidden]) .afc-studio-center .afc-simulator-stack > .afc-surface-thumbnails{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    max-height:48px!important;
    margin:4px 0 0!important;
    padding:0 2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }

  /* Les réglages restent dans le flux sous l'aperçu et constituent la partie
     réellement défilante du Studio. */
  .afc-customizer-shell:not([hidden]) .afc-studio-sidebar{
    grid-row:2!important;
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

@media (max-width: 420px){
  .afc-customizer-shell:not([hidden]) .afc-studio-center{
    max-height:calc(62dvh - 58px)!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-product-scene{
    max-height:calc(62dvh - 74px)!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-product-scene-image{
    max-height:calc(62dvh - 86px)!important;
  }
}


/* 0.55.8 — bleu uniquement lorsque l’aperçu mobile est réellement figé.
 * Hors état .afc-is-stuck, aucun fond ni bordure n’est redéfini :
 * le rendu habituel de la 0.55.1 est conservé intégralement. */
@media (max-width:820px){
  .afc-customizer-shell:not([hidden]) .afc-studio-center.afc-is-stuck{
    background:#0064C0!important;
    border-bottom:3px solid #0A8FE8!important;
  }
  .afc-customizer-shell:not([hidden]) .afc-studio-center.afc-is-stuck > .afc-simulator-stack,
  .afc-customizer-shell:not([hidden]) .afc-studio-center.afc-is-stuck > .afc-product-scene-card,
  .afc-customizer-shell:not([hidden]) .afc-studio-center.afc-is-stuck .afc-product-scene-card{
    background:#0064C0!important;
    border-color:#0064C0!important;
  }
}


/* ==========================================================================
   AFIWAI New Customizable 0.60.3 — Studio V2 clean layout
   Built as an isolated layer over the stable 0.55.8 engine.
   ========================================================================== */
.afc-new-studio-shell[hidden]{display:none!important}
.afc-new-studio-shell{
  position:fixed!important;
  inset:0!important;
  z-index:1000000!important;
  box-sizing:border-box!important;
  overflow:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:#fff!important;
  color:#102a43!important;
}
.afc-new-studio-shell *,
.afc-new-studio-shell *::before,
.afc-new-studio-shell *::after{box-sizing:border-box}

.afc-new-studio-shell .afc-studio-topbar{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  min-height:64px!important;
  margin:0!important;
  padding:10px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #e8eef5!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
.afc-new-studio-shell .afc-studio-title{
  display:flex!important;
  align-items:baseline!important;
  gap:12px!important;
  min-width:0!important;
}
.afc-new-studio-shell .afc-studio-title .afc-studio-kicker{
  color:#0064C0!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.afc-new-studio-shell .afc-studio-title strong{
  max-width:42vw!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  color:#102a43!important;
}
.afc-new-studio-shell .afc-studio-title small{display:none!important}
.afc-new-studio-shell .afc-studio-topbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.afc-new-studio-shell .afc-studio-save-indicator{
  font-size:11px!important;
  color:#6b7d90!important;
}
.afc-new-studio-shell .afc-studio-close{
  min-height:38px!important;
  padding:0 14px!important;
  border:1px solid #dce6ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17324d!important;
  font-weight:800!important;
}

.afc-new-studio-shell .afc-studio-scroll{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.afc-new-studio-shell .afc-designer-intro,
.afc-new-studio-shell .afc-designer-status{
  max-width:1280px!important;
  margin:14px auto 0!important;
}
.afc-new-studio-shell .afc-live-designer{
  margin:0!important;
  gap:0!important;
}
.afc-new-studio-shell .afc-new-studio-workspace{
  display:grid!important;
  grid-template-columns:106px minmax(540px,1fr) minmax(340px,410px)!important;
  grid-template-areas:"views main side"!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:calc(100vh - 64px)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-new-studio-views{
  grid-area:views!important;
  position:relative!important;
  min-width:0!important;
  padding:22px 12px!important;
  border-right:1px solid #edf1f5!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-studio-center{
  grid-area:main!important;
  min-width:0!important;
  padding:18px 24px 28px!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-studio-sidebar{
  grid-area:side!important;
  position:relative!important;
  top:auto!important;
  min-width:0!important;
  height:auto!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  padding:20px 24px 24px!important;
  border-left:1px solid #e8eef5!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Product scene */
.afc-new-studio-shell .afc-product-scene-card{
  width:100%!important;
  max-width:980px!important;
  min-height:100%!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
}
.afc-new-studio-shell .afc-scene-head{
  min-height:42px!important;
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.afc-new-studio-shell .afc-scene-head strong{
  font-size:12px!important;
  font-weight:800!important;
  color:#17324d!important;
}
.afc-new-studio-shell .afc-scene-head small{display:none!important}
.afc-new-studio-shell .afc-product-scene{
  flex:1 1 auto!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:650px!important;
  height:calc(100vh - 150px)!important;
  max-height:900px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-product-scene-image{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  max-width:min(90%,880px)!important;
  max-height:88%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  user-select:none!important;
  pointer-events:none!important;
}
.afc-new-studio-shell .afc-production-zone{
  border:1px solid #8094a8!important;
  background:rgba(255,255,255,.03)!important;
  box-shadow:none!important;
}
.afc-new-studio-shell .afc-production-zone-label{display:none!important}

/* Product views — desktop vertical rail */
.afc-new-studio-shell .afc-surface-thumbnails-sidebar{
  position:sticky!important;
  top:86px!important;
  z-index:4!important;
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-switcher-title{display:none!important}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:56px auto!important;
  place-items:center!important;
  gap:5px!important;
  width:80px!important;
  min-width:80px!important;
  height:94px!important;
  min-height:94px!important;
  margin:0 auto!important;
  padding:7px 6px!important;
  border:1px solid #e3eaf1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#38526b!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb:hover{
  border-color:#aac6df!important;
  background:#fbfdff!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb.is-active{
  border:2px solid #0e3558!important;
  background:#fff!important;
  color:#0e3558!important;
  box-shadow:0 0 0 1px rgba(14,53,88,.04)!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb-image{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  overflow:hidden!important;
  border-radius:6px!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar img,
.afc-new-studio-shell .afc-surface-thumb-image img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb-label{
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:1.18!important;
  font-weight:700!important;
  text-align:center!important;
  text-overflow:ellipsis!important;
}

/* Right panel */
.afc-new-studio-shell .afc-studio-toolbox{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.afc-new-studio-shell .afc-studio-toolbox>.afc-studio-panel-head{display:none!important}
.afc-new-studio-shell .afc-toolbar-vertical{gap:14px!important}
.afc-new-studio-shell .afc-live-final-price{
  order:90!important;
  margin-top:10px!important;
  border:1px solid #e5ecf3!important;
  border-radius:12px!important;
  background:#fbfdff!important;
  box-shadow:none!important;
}
.afc-new-studio-product-summary{
  display:grid!important;
  gap:5px!important;
  padding:0 0 4px!important;
}
.afc-new-studio-product-summary>span{
  color:#6b7d90!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.afc-new-studio-product-summary>strong{
  color:#102a43!important;
  font-size:18px!important;
  line-height:1.3!important;
}
.afc-new-studio-product-summary>small{
  color:#718399!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.afc-new-studio-quick{
  display:grid!important;
  gap:10px!important;
  padding:2px 0 4px!important;
}
.afc-new-studio-quick-title{
  color:#17324d!important;
  font-size:13px!important;
  font-weight:900!important;
}
.afc-new-studio-quick-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.afc-new-studio-quick-grid button{
  min-width:0!important;
  min-height:88px!important;
  padding:12px 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid #dce6ef!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#17324d!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important;
}
.afc-new-studio-quick-grid button:hover{
  border-color:#0064C0!important;
  background:#f8fbff!important;
  transform:translateY(-1px)!important;
}
.afc-new-studio-quick-grid .dashicons{
  width:26px!important;
  height:26px!important;
  font-size:26px!important;
  line-height:26px!important;
  color:#0064C0!important;
}
.afc-new-studio-quick-grid button strong{
  font-size:12px!important;
  font-weight:800!important;
}

/* Existing settings become clean accordions instead of a second application */
.afc-new-studio-shell .afc-premium-steps{
  display:grid!important;
  gap:8px!important;
  margin-top:2px!important;
}
.afc-new-studio-shell .afc-premium-step{
  margin:0!important;
  border:1px solid #e4ebf2!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.afc-new-studio-shell .afc-premium-step>summary{
  min-height:48px!important;
  padding:10px 12px!important;
  background:#fff!important;
}
.afc-new-studio-shell .afc-step-number{
  display:none!important;
}
.afc-new-studio-shell .afc-step-copy strong{
  font-size:12px!important;
  color:#17324d!important;
}
.afc-new-studio-shell .afc-step-copy small{
  font-size:9px!important;
  color:#8494a5!important;
}
.afc-new-studio-shell .afc-step-content{
  padding:4px 12px 12px!important;
}
.afc-new-studio-shell .afc-inline-layers{
  margin-top:0!important;
  border:1px solid #e4ebf2!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.afc-new-studio-shell .afc-inline-layers-head{padding:11px 12px!important}

.afc-new-studio-primary-cta{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  width:100%!important;
  min-height:50px!important;
  margin-top:auto!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:10px!important;
  background:#0064C0!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 -10px 24px rgba(255,255,255,.92),0 8px 22px rgba(0,100,192,.14)!important;
  cursor:pointer!important;
}
.afc-new-studio-primary-cta:hover{background:#0055a3!important}

/* Review/finalization stay part of the workflow, but no longer deform the editor viewport. */
.afc-new-studio-shell .afc-studio-review,
.afc-new-studio-shell .afc-finalization-zone{
  width:min(1180px,calc(100% - 48px))!important;
  margin:28px auto!important;
}

/* Mobile / portrait layout follows the supplied responsive reference. */
@media (max-width: 900px){
  .afc-new-studio-shell .afc-studio-topbar{
    min-height:58px!important;
    padding:8px 12px!important;
  }
  .afc-new-studio-shell .afc-studio-title .afc-studio-kicker{display:none!important}
  .afc-new-studio-shell .afc-studio-title strong{
    max-width:52vw!important;
    font-size:12px!important;
  }
  .afc-new-studio-shell .afc-studio-save-indicator{display:none!important}
  .afc-new-studio-shell .afc-studio-close{
    min-height:36px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
  .afc-new-studio-shell .afc-new-studio-workspace{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "main"
      "views"
      "side"!important;
    min-height:0!important;
  }
  .afc-new-studio-shell .afc-studio-center{
    padding:8px 8px 0!important;
  }
  .afc-new-studio-shell .afc-product-scene-card{
    min-height:0!important;
  }
  .afc-new-studio-shell .afc-scene-head{
    min-height:30px!important;
    margin:0!important;
  }
  .afc-new-studio-shell .afc-scene-head strong{display:none!important}
  .afc-new-studio-shell .afc-product-scene{
    height:min(62vh,620px)!important;
    min-height:390px!important;
    max-height:620px!important;
  }
  .afc-new-studio-shell .afc-product-scene-image{
    max-width:96%!important;
    max-height:94%!important;
  }

  .afc-new-studio-shell .afc-new-studio-views{
    padding:10px 12px 12px!important;
    border-right:0!important;
    border-bottom:1px solid #edf1f5!important;
  }
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 2px!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar::-webkit-scrollbar{display:none!important}
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb{
    flex:0 0 112px!important;
    width:112px!important;
    min-width:112px!important;
    height:76px!important;
    min-height:76px!important;
    grid-template-columns:44px 1fr!important;
    grid-template-rows:1fr!important;
    gap:7px!important;
    margin:0!important;
    padding:7px 8px!important;
    scroll-snap-align:start!important;
  }
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb-image{
    width:42px!important;
    height:58px!important;
  }
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb-label{
    text-align:left!important;
    font-size:11px!important;
  }

  .afc-new-studio-shell .afc-studio-sidebar{
    padding:12px 12px 86px!important;
    border-left:0!important;
    gap:12px!important;
  }
  .afc-new-studio-product-summary{display:none!important}
  .afc-new-studio-quick{
    position:sticky!important;
    bottom:0!important;
    z-index:45!important;
    margin:0 -12px!important;
    padding:10px 12px 8px!important;
    background:rgba(255,255,255,.97)!important;
    border-top:1px solid #e8eef5!important;
    box-shadow:0 -8px 28px rgba(16,42,67,.08)!important;
  }
  .afc-new-studio-quick-title{display:none!important}
  .afc-new-studio-quick-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .afc-new-studio-quick-grid button{
    min-height:62px!important;
    padding:7px 3px!important;
    border-color:transparent!important;
    background:#fff!important;
    gap:4px!important;
  }
  .afc-new-studio-quick-grid button:hover{
    border-color:transparent!important;
    transform:none!important;
  }
  .afc-new-studio-quick-grid .dashicons{
    width:22px!important;
    height:22px!important;
    font-size:22px!important;
    line-height:22px!important;
  }
  .afc-new-studio-quick-grid button strong{font-size:10px!important}
  .afc-new-studio-primary-cta{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:8px!important;
    z-index:70!important;
    width:auto!important;
    margin:0!important;
    min-height:52px!important;
    border-radius:12px!important;
  }
  .afc-new-studio-shell .afc-studio-review,
  .afc-new-studio-shell .afc-finalization-zone{
    width:calc(100% - 24px)!important;
    margin:18px auto!important;
  }
}

@media (max-width: 480px){
  .afc-new-studio-shell .afc-product-scene{
    height:55vh!important;
    min-height:340px!important;
  }
  .afc-new-studio-shell .afc-surface-thumbnails-sidebar .afc-surface-thumb{
    flex-basis:104px!important;
    width:104px!important;
    min-width:104px!important;
  }
}

/* 0.62.2 — Le statut du Studio ne doit jamais flotter au-dessus du header responsive. */
.afc-studio-v4 .afc-v4-sidebar .afc-designer-status{
  position:static!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
}
@media (max-width:820px){
  .afc-studio-v4 .afc-v4-sidebar .afc-designer-status{display:none!important}
}

/* 0.63.29 — résumé tarifaire client simplifié */
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-clean-hidden="1"]{
  display:none!important;
}
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-current-card]{
  margin-bottom:14px;
}
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-current-card] [data-afc-pricing-current-value]{
  color:#0064C0;
}

/* 0.63.29 — prix unitaire stable + total clairement encadré */


.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-total-row]{
  border:2px solid #0064C0!important;
  border-radius:14px!important;
  background:#F6FAFE!important;
  padding:14px 16px!important;
  box-shadow:0 6px 18px rgba(0,100,192,.08)!important;
}

.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-total-row] strong,
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-total-row] b,
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-total-row] [class*="price"],
.afiwai-product-v3.afc-pricing-ui-simplified [data-afc-pricing-total-row] [class*="amount"]{
  color:#0064C0!important;
  font-weight:800!important;
}

/* ==========================================================================
   0.63.29 — Actions produit natives : Personnaliser + Demander un devis
   ========================================================================== */
.afc-product-primary-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  align-items:stretch!important;
}

.afc-product-primary-actions > [data-afc-open-customizer],
.afc-product-primary-actions > .afc-request-quote-link{
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  box-sizing:border-box!important;
}

.afc-request-quote-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:12px 14px!important;
  border:1px solid #0064C0!important;
  border-radius:12px!important;
  background:#FFFFFF!important;
  color:#0064C0!important;
  font:inherit!important;
  text-decoration:none!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.afc-request-quote-link strong{
  color:inherit!important;
  font:inherit!important;
  font-weight:800!important;
}

.afc-request-quote-link:hover,
.afc-request-quote-link:focus-visible{
  background:#EFF7FF!important;
  color:#00549F!important;
  text-decoration:none!important;
}

@media (max-width:520px){
  .afc-product-primary-actions{
    gap:8px!important;
  }

  .afc-product-primary-actions > [data-afc-open-customizer],
  .afc-product-primary-actions > .afc-request-quote-link{
    min-height:48px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:12px!important;
  }
}

/* ==========================================================================
   0.63.29 — CTA produit strictement côte à côte
   ========================================================================== */
.afc-product-primary-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-auto-flow:column !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    align-items:stretch !important;
}

.afc-product-primary-actions > [data-afc-open-customizer],
.afc-product-primary-actions > .afc-request-quote-link{
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
}

@media (max-width:520px){
    .afc-product-primary-actions{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:6px !important;
    }

    .afc-product-primary-actions > [data-afc-open-customizer],
    .afc-product-primary-actions > .afc-request-quote-link{
        min-width:0 !important;
        width:100% !important;
        padding-left:6px !important;
        padding-right:6px !important;
        font-size:11px !important;
        white-space:normal !important;
        text-align:center !important;
    }
}
