
/* V3.8.8 — Editeur stable */
.ccv2-editor{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start;max-width:1600px;margin:0 auto;padding:24px;box-sizing:border-box}
.ccv2-editor-blocked{display:block;max-width:720px;background:#fff;border:1px solid #fecaca;border-radius:20px;margin:40px auto;padding:24px;text-align:center}
.ccv2-sidebar{background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:18px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.ccv2-sidebar h2{margin:0 0 14px;font-size:22px}
.ccv2-search{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;margin-bottom:10px}
.ccv2-selected-model-info{margin:10px 0 14px;padding:10px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;color:#1e3a8a;font-size:12px}
.ccv2-selected-model-info strong{display:block;font-size:13px;margin-bottom:4px}
.ccv2-selected-model-info span{display:block;line-height:1.4}
.ccv2-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:420px;overflow:auto;padding-right:4px}
.ccv2-card{appearance:none;border:1px solid #dbeafe;border-radius:18px;background:#fff;padding:10px;min-height:126px;cursor:pointer;text-align:center;pointer-events:auto}
.ccv2-card.is-selected{
  outline:3px solid #2563eb;
  border-color:#2563eb;
  background:#eff6ff;
  box-shadow:0 4px 16px rgba(37,99,235,0.18);
  transform:scale(1.06);
  z-index:2;
  position:relative;
}
.ccv2-card.is-selected .ccv2-thumb img{
  transform:scale(1.08);
  border-radius:8px;
}
.ccv2-card.is-selected strong{
  color:#1d4ed8;
  font-weight:700;
}
.ccv2-card[hidden]{display:none!important}
.ccv2-thumb{display:flex;align-items:center;justify-content:center;height:76px;margin-bottom:6px}
.ccv2-thumb img{max-width:58px;max-height:72px;object-fit:contain}
.ccv2-card strong{display:block;font-size:12px;line-height:1.2}
.ccv2-upload-proxy-button,.ccv2-fit-actions button,.ccv2-editor-cart-button{border:1px solid #2563eb;border-radius:16px;background:#2563eb;color:#fff;font-weight:800;padding:12px 16px;cursor:pointer}
.ccv2-upload-proxy-button{width:100%;margin:18px 0 12px}
.ccv2-fit-actions{display:grid;gap:10px}
.ccv2-advanced-tools{margin-top:14px;padding-top:14px;border-top:1px solid #dbeafe;display:grid;gap:10px}
.ccv2-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ccv2-advanced-tools button{border:1px solid #2563eb;border-radius:14px;background:#fff;color:#1d4ed8;font-weight:900;padding:10px;cursor:pointer}
.ccv2-advanced-tools button.is-active{background:#1d4ed8;color:#fff}
.ccv2-advanced-tools button:disabled{opacity:.45;cursor:not-allowed}
.ccv2-rotation-label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#334155}
#ccv2-rotation-slider{width:100%}
#ccv2-rotation-value{font-weight:900;color:#1d4ed8}
.ccv2-main{min-height:780px;background:#eef6ff;border:1px solid #bfdbfe;border-radius:28px;padding:22px;box-sizing:border-box}
.ccv2-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.ccv2-topbar-actions{display:flex;gap:12px;align-items:center}
.ccv2-phone{display:flex;justify-content:center;align-items:center;min-height:80vh}
.ccv2-plane{position:relative;width:360px;height:720px;max-height:95vh;aspect-ratio:1/2;overflow:hidden}
.ccv2-mockup{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;pointer-events:none}
.ccv2-user-image-box{position:absolute;inset:var(--ccv2-print-margin,8%);z-index:2;overflow:hidden;cursor:grab;touch-action:none;user-select:none}
.ccv2-user-image-box[hidden]{display:none!important}
.ccv2-user-image-box.ccv2-is-dragging,.ccv2-user-image-box:active{cursor:grabbing}
.ccv2-user-image-box.ccv2-locked{cursor:not-allowed}
.ccv2-user-image-box img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;will-change:transform}
.ccv2-print-guides{position:absolute;inset:0;z-index:5;pointer-events:none}
.ccv2-print-guides[hidden]{display:none!important}
.ccv2-guide-bleed,.ccv2-guide-cut,.ccv2-guide-safe{position:absolute;display:flex;align-items:flex-start;justify-content:center;font-size:10px;font-weight:900;border-radius:18px;padding-top:6px;box-sizing:border-box}
.ccv2-guide-bleed{inset:2%;border:2px dashed rgba(239,68,68,.75);color:#ef4444}
.ccv2-guide-cut{inset:6%;border:2px solid rgba(245,158,11,.75);color:#d97706}
.ccv2-guide-safe{inset:12%;border:2px dashed rgba(34,197,94,.8);color:#16a34a}
.ccv2-server-library{display:grid;grid-template-columns:1fr 42px;gap:8px;margin:0 0 12px}
.ccv2-server-library-toggle{width:100%;border:1px solid #93c5fd;border-radius:16px;background:#eff6ff;color:#1d4ed8;font-weight:900;padding:11px 14px;cursor:pointer}
.ccv2-server-library-reload{border:1px solid #93c5fd;border-radius:14px;background:#fff;color:#1d4ed8;font-weight:900;cursor:pointer}
.ccv2-server-library-panel{grid-column:1 / -1;margin-top:10px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff;padding:10px;max-height:300px;overflow:auto}
.ccv2-server-category{margin-bottom:8px}
.ccv2-server-category summary{cursor:pointer;font-weight:900;color:#1e3a8a;padding:8px;border-radius:10px;background:#fff}
.ccv2-server-category summary span{float:right;color:#64748b}
.ccv2-server-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.ccv2-server-image{border:1px solid #dbeafe;border-radius:12px;background:#fff;padding:6px;cursor:pointer;text-align:center}
.ccv2-server-image img{width:100%;height:70px;object-fit:cover;border-radius:8px;background:#fff}
.ccv2-server-image span{display:block;font-size:11px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccv2-server-library-empty{padding:10px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:800}
.ccv2-not-customizable-product{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:800}
.ccv2-production-preview-panel[hidden]{display:none!important}
.ccv2-production-preview-panel{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center}
.ccv2-production-preview-card{background:#fff;border-radius:20px;padding:18px;max-width:720px;width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ccv2-production-preview-card img{max-width:100%;height:auto;display:block}
.ccv2-close-production-preview{float:right;border:0;background:#ef4444;color:#fff;border-radius:999px;width:32px;height:32px;cursor:pointer}
@media(max-width:900px){.ccv2-editor{grid-template-columns:1fr;padding:12px}}


/* V3.9.4 — Repères Production Sync */
.ccv2-plane{
  aspect-ratio:var(--ccv2-production-aspect, .5);
}
.ccv2-print-guides{
  aspect-ratio:var(--ccv2-production-aspect, .5);
}
.ccv2-guide-bleed::after,
.ccv2-guide-cut::after,
.ccv2-guide-safe::after{
  content:attr(data-label);
}
.ccv2-print-guides::before{
  content:"Repères production";
  position:absolute;
  left:50%;
  top:-26px;
  transform:translateX(-50%);
  background:#1d4ed8;
  color:#fff;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.ccv2-selected-model-info span{
  display:block;
}


/* V3.9.5 — Template Guides Fit */
.ccv2-phone{
  align-items:center;
}
.ccv2-plane{
  position:relative!important;
  width:min(var(--ccv2-case-width, 360px), 95vw)!important;
  height:auto!important;
  aspect-ratio:var(--ccv2-case-width, 360) / var(--ccv2-case-height, 720)!important;
}
.ccv2-mockup{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  z-index:3!important;
}
.ccv2-user-image-box{
  position:absolute!important;
  inset:var(--ccv2-print-margin,8%)!important;
  z-index:2!important;
  overflow:hidden!important;
}
.ccv2-print-guides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:inherit!important;
  z-index:4!important;
  pointer-events:none!important;
}
.ccv2-print-guides::before{
  top:-30px!important;
}
.ccv2-guide-bleed{
  inset:0!important;
}
.ccv2-guide-cut{
  inset:4%!important;
}
.ccv2-guide-safe{
  inset:12%!important;
}
@media(max-width:900px){
  .ccv2-plane{
    width:min(var(--ccv2-case-width, 360px), 95vw)!important;
  }
}


/* V3.9.6 — Guides Display Fix */
.ccv2-phone{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:620px!important;
}
.ccv2-plane{
  position:relative!important;
  width:var(--ccv2-display-width, 360px)!important;
  height:var(--ccv2-display-height, 720px)!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}
.ccv2-mockup{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  z-index:3!important;
  pointer-events:none!important;
}
.ccv2-user-image-box{
  position:absolute!important;
  inset:var(--ccv2-print-margin,8%)!important;
  width:auto!important;
  height:auto!important;
  z-index:2!important;
  overflow:hidden!important;
}
.ccv2-print-guides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  z-index:4!important;
  pointer-events:none!important;
}
.ccv2-print-guides::before{
  top:-30px!important;
}
.ccv2-guide-bleed{
  inset:0!important;
}
.ccv2-guide-cut{
  inset:5%!important;
}
.ccv2-guide-safe{
  inset:13%!important;
}
.ccv2-guide-bleed,
.ccv2-guide-cut,
.ccv2-guide-safe{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
}


/* V3.9.7 — Guides Mockup Bounds */
.ccv2-print-guides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:20!important;
  pointer-events:none!important;
  border:0!important;
  aspect-ratio:auto!important;
}
.ccv2-print-guides::before{
  content:none!important;
}
.ccv2-guides-label{
  position:absolute!important;
  transform:translateX(-50%)!important;
  background:#075cff!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:7px 15px!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ccv2-guide-box{
  box-sizing:border-box!important;
  min-width:20px!important;
  min-height:20px!important;
  border-radius:18px!important;
  display:block!important;
  padding:0!important;
  text-align:center!important;
  background:transparent!important;
}
.ccv2-guide-box span{
  position:absolute!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.ccv2-guide-bleed{
  border:2px dashed #ff3333!important;
  color:#ff3333!important;
}
.ccv2-guide-cut{
  border:2px solid #ff9800!important;
  color:#ff5b00!important;
}
.ccv2-guide-safe{
  border:2px dashed #19c719!important;
  color:#00a000!important;
}


/* V3.9.8 — Guides Stable Reset */
.ccv2-phone{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:620px!important;
}
.ccv2-plane{
  position:relative!important;
  overflow:hidden!important;
  aspect-ratio:auto!important;
}
.ccv2-mockup{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  z-index:3!important;
  pointer-events:none!important;
}
.ccv2-user-image-box{
  position:absolute!important;
  inset:var(--ccv2-print-margin,8%)!important;
  z-index:2!important;
  overflow:hidden!important;
}
.ccv2-print-guides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:4!important;
  pointer-events:none!important;
  transform:none!important;
  border:0!important;
  background:transparent!important;
  aspect-ratio:auto!important;
}
.ccv2-print-guides::before{
  content:none!important;
}
.ccv2-guide-label-top{
  position:absolute!important;
  left:50%!important;
  top:-34px!important;
  transform:translateX(-50%)!important;
  background:#075cff!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:7px 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ccv2-guide-simple{
  position:absolute!important;
  box-sizing:border-box!important;
  display:block!important;
  background:transparent!important;
  border-radius:18px!important;
  text-align:center!important;
  min-width:0!important;
  min-height:0!important;
}
.ccv2-guide-simple span{
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  transform:translateX(-50%)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.ccv2-guide-simple-bleed{
  inset:0!important;
  border:2px dashed #ff3333!important;
  color:#ff3333!important;
}
.ccv2-guide-simple-cut{
  inset:5%!important;
  border:2px solid #ff9800!important;
  color:#ff5b00!important;
}
.ccv2-guide-simple-safe{
  inset:13%!important;
  border:2px dashed #19c719!important;
  color:#00a000!important;
}

/* Neutralise les anciennes classes automatiques */
.ccv2-guides-label,
.ccv2-guide-box{
  display:none!important;
}


/* V3.9.9 — Guides Toggle Stable */
.ccv2-print-guides[hidden]{
  display:none!important;
}
.ccv2-print-guides.is-visible{
  display:block!important;
}
#ccv2-toggle-guides.is-active{
  background:#075cff!important;
  color:#fff!important;
}
.ccv2-guide-label-top{
  position:absolute!important;
  left:50%!important;
  top:-34px!important;
  transform:translateX(-50%)!important;
  background:#075cff!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:7px 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.ccv2-guide-simple{
  position:absolute!important;
  box-sizing:border-box!important;
  display:block!important;
  background:transparent!important;
  border-radius:18px!important;
  text-align:center!important;
}
.ccv2-guide-simple span{
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  transform:translateX(-50%)!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.ccv2-guide-simple-bleed{
  inset:0!important;
  border:2px dashed #ff3333!important;
  color:#ff3333!important;
}
.ccv2-guide-simple-cut{
  inset:5%!important;
  border:2px solid #ff9800!important;
  color:#ff5b00!important;
}
.ccv2-guide-simple-safe{
  inset:13%!important;
  border:2px dashed #19c719!important;
  color:#00a000!important;
}


/* V3.9.10 — Guides Stable Final */
/* Neutralisation complète des anciens styles de repères */
.ccv2-guides-label,
.ccv2-guide-box,
.ccv2-guide-label-top,
.ccv2-guide-simple,
.ccv2-guide-simple-bleed,
.ccv2-guide-simple-cut,
.ccv2-guide-simple-safe{
  display:none!important;
}

.ccv2-print-guides{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:30!important;
  pointer-events:none!important;
  transform:none!important;
  border:0!important;
  background:transparent!important;
  aspect-ratio:auto!important;
}

.ccv2-print-guides[hidden],
.ccv2-print-guides:not(.is-visible){
  display:none!important;
}

.ccv2-print-guides.is-visible{
  display:block!important;
}

#ccv2-toggle-guides.is-active{
  background:#075cff!important;
  color:#fff!important;
}

.ccv2-guides-stable-label{
  position:absolute!important;
  left:50%!important;
  top:-34px!important;
  transform:translateX(-50%)!important;
  background:#075cff!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:7px 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.ccv2-guides-stable-box{
  position:absolute!important;
  box-sizing:border-box!important;
  display:block!important;
  background:transparent!important;
  border-radius:18px!important;
  text-align:center!important;
  pointer-events:none!important;
}

.ccv2-guides-stable-box span{
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  transform:translateX(-50%)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.ccv2-guides-stable-bleed{
  inset:0!important;
  border:2px dashed #ff3333!important;
  color:#ff3333!important;
}

.ccv2-guides-stable-cut{
  inset:5%!important;
  border:2px solid #ff9800!important;
  color:#ff5b00!important;
}

.ccv2-guides-stable-safe{
  inset:13%!important;
  border:2px dashed #19c719!important;
  color:#00a000!important;
}


/* V3.10.0 — Repères stables propres */
.ccv2-guides-label,.ccv2-guide-box,.ccv2-guide-label-top,.ccv2-guide-simple,.ccv2-guides-stable-label,.ccv2-guides-stable-box{display:none!important}
.ccv2-print-guides{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:30!important;pointer-events:none!important;transform:none!important;border:0!important;background:transparent!important;aspect-ratio:auto!important}
.ccv2-print-guides::before{content:none!important}
.ccv2-print-guides[hidden],.ccv2-print-guides:not(.is-visible){display:none!important}
.ccv2-print-guides.is-visible{display:block!important}
#ccv2-toggle-guides.is-active{background:#075cff!important;color:#fff!important}
.ccv2-guides-clean-label{position:absolute!important;left:50%!important;top:-34px!important;transform:translateX(-50%)!important;background:#075cff!important;color:#fff!important;border-radius:999px!important;padding:7px 16px!important;font-size:13px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}
.ccv2-guides-clean-box{position:absolute!important;box-sizing:border-box!important;display:block!important;background:transparent!important;border-radius:18px!important;text-align:center!important;pointer-events:none!important}
.ccv2-guides-clean-box span{position:absolute!important;left:50%!important;top:8px!important;transform:translateX(-50%)!important;font-size:12px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}
.ccv2-guides-clean-bleed{inset:0!important;border:2px dashed #ff3333!important;color:#ff3333!important}
.ccv2-guides-clean-cut{inset:5%!important;border:2px solid #ff9800!important;color:#ff5b00!important}
.ccv2-guides-clean-safe{inset:13%!important;border:2px dashed #19c719!important;color:#00a000!important}



/* V3.10.4 — Template Resize Editor Sync */
.ccv2-plane{
  width:auto;
  height:auto;
}
.ccv2-mockup{
  transform-origin:center center!important;
}
.ccv2-selected-model-info span{
  display:block;
}

/* ── Quality badge ────────────────────────────────────────────────── */
.ccv2-quality-badge{display:block;margin:8px 0 4px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-align:center;transition:background .2s,color .2s}
.ccv2-quality-excellent{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.ccv2-quality-correct{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}
.ccv2-quality-low{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}

/* ── Confirmation panier ─────────────────────────────────────────── */
.ccv2-cart-confirm-panel{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;animation:ccv2-slide-up .3s ease}
@keyframes ccv2-slide-up{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.ccv2-cart-confirm-inner{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#166534;color:#fff;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.18);font-size:15px;white-space:nowrap}
.ccv2-cart-confirm-btn{background:#fff!important;color:#166534!important;border-radius:8px!important;padding:6px 14px!important;font-weight:700!important;font-size:13px!important;text-decoration:none}
.ccv2-cart-confirm-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0 4px;opacity:.7}
.ccv2-cart-confirm-close:hover{opacity:1}
.ccv2-view-cart-link{font-weight:600;color:#166534;text-decoration:none;padding:6px 12px;border:1.5px solid #166534;border-radius:8px;font-size:13px}
.ccv2-view-cart-link:hover{background:#f0fdf4}

/* ── URL loader ───────────────────────────────────────────────────── */
.ccv2-url-loader-panel {
  display: flex;
  gap: 6px;
  margin: 8px 0;
}
.ccv2-url-input {
  flex: 1;
  padding: 6px 10px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: 12px;
}
.ccv2-url-load-btn {
  padding: 6px 12px;
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
}
.ccv2-url-load-btn:hover { background: #2563eb; }
.ccv2-url-load-btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Panneau texte ────────────────────────────────────────────────── */
.ccv2-text-panel {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0;
  padding: 10px;
  background: #f8faff;
  border: 1.5px solid #e0e7ff;
  border-radius: 10px;
}
.ccv2-text-input {
  width: 100%;
  padding: 7px 10px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: 13px;
  box-sizing: border-box;
}
.ccv2-text-options {
  display: flex;
  gap: 6px;
  align-items: center;
}
.ccv2-text-options select {
  flex: 1;
  padding: 4px 6px;
  border: 1.5px solid #d1d5db;
  border-radius: 6px;
  font-size: 12px;
}
.ccv2-text-size {
  width: 52px;
  padding: 4px 6px;
  border: 1.5px solid #d1d5db;
  border-radius: 6px;
  font-size: 12px;
}
.ccv2-text-color { width: 36px; height: 32px; border: none; border-radius: 6px; cursor: pointer; padding: 0; }
.ccv2-text-add-btn {
  padding: 7px 14px;
  background: #6366f1;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  align-self: flex-start;
}
.ccv2-text-add-btn:hover { background: #4f46e5; }

/* ── Couches texte dans l'éditeur ────────────────────────────────── */
.ccv2-text-layers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 10;
}
.ccv2-text-layer {
  position: absolute;
  pointer-events: all;
  line-height: 1.2;
}
.ccv2-text-layer:hover { outline: 1.5px dashed #6366f1; }

/* ── Filigrane temps réel dans l'éditeur ────────────────────────── */
.ccv2-watermark-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 8%, 42px);
  font-weight: 900;
  font-family: Arial, sans-serif;
  letter-spacing: .15em;
  color: rgba(255, 255, 255, 0.55);
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
  transform: rotate(-30deg);
  user-select: none;
  white-space: nowrap;
}

/* ── Groupement par marque ──────────────────────────────────────── */
.ccv2-brand-header {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6b7280;
  padding: 10px 4px 4px;
  border-top: 1px solid #e5e7eb;
  margin-top: 6px;
}
.ccv2-brand-header:first-child { border-top: none; margin-top: 0; }
.ccv2-brand-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}
.ccv2-brand-grid .ccv2-card {
  width: calc(50% - 4px);
  min-width: 90px;
  box-sizing: border-box;
}

/* ── Compteur panier topbar ─────────────────────────────────────── */
.ccv2-cart-count-link {
  font-weight: 600;
  font-size: 14px;
  color: #1d4ed8;
  text-decoration: none;
  padding: 5px 10px;
  background: #eff6ff;
  border-radius: 20px;
  border: 1px solid #bfdbfe;
}
.ccv2-cart-count-link:hover { background: #dbeafe; }

/* ── Flip buttons ───────────────────────────────────────────────── */
#ccv2-flip-h, #ccv2-flip-v {
  flex: 1;
  padding: 6px 10px;
  background: #f8faff;
  border: 1.5px solid #dbeafe;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: #1d4ed8;
}
#ccv2-flip-h:hover, #ccv2-flip-v:hover { background: #eff6ff; }

/* ── Slider opacité ─────────────────────────────────────────────── */
.ccv2-opacity-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin: 6px 0;
}
#ccv2-opacity-slider { flex: 1; cursor: pointer; }
#ccv2-opacity-value  { min-width: 34px; font-size: 11px; color: #6b7280; text-align: right; }

/* ── Slider zoom barre flottante ────────────────────────────────── */
#ccv2-zoom-slider {
  width: 90px;
  cursor: pointer;
  vertical-align: middle;
}
.ccv2-zoom-value {
  font-size: 11px;
  font-weight: 700;
  color: #374151;
  min-width: 36px;
  display: inline-block;
  text-align: center;
}

/* ── Bouton Ajuster ─────────────────────────────────────────────── */
#ccv2-fit-image {
  background: #f0fdf4;
  border: 1.5px solid #bbf7d0;
  color: #166534;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
#ccv2-fit-image:hover { background: #dcfce7; }

/* ── Filtres par type ────────────────────────────────────────────── */
.ccv2-type-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.ccv2-type-filter-btn {
  padding: 3px 10px;
  border-radius: 20px;
  border: 1.5px solid #e5e7eb;
  background: #f9fafb;
  color: #374151;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.ccv2-type-filter-btn:hover { border-color: #3b82f6; color: #1d4ed8; }
.ccv2-type-filter-btn.active {
  background: #3b82f6;
  color: #fff;
  border-color: #3b82f6;
}

/* ── Bouton Réinitialiser tout ──────────────────────────────────── */
.ccv2-reset-all-btn {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1.5px solid #fca5a5 !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  cursor: pointer !important;
}
.ccv2-reset-all-btn:hover { background: #fca5a5 !important; }

/* ── Indicateur position X/Y ─────────────────────────────────── */
.ccv2-pos-indicator {
  font-size: 11px;
  color: #6b7280;
  font-family: monospace;
  min-width: 90px;
  display: inline-block;
  text-align: center;
}

/* ── Badge luminosité ────────────────────────────────────────── */
.ccv2-brightness-badge {
  display: block;
  margin: 4px 0;
  padding: 5px 10px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}
.ccv2-brightness-dark  { background:#1f2937; color:#f9fafb; border:1px solid #374151; }
.ccv2-brightness-light { background:#fefce8; color:#854d0e; border:1px solid #fde68a; }

/* ── Panneau copier design ───────────────────────────────────── */
.ccv2-copy-design-panel {
  display: flex;
  gap: 6px;
  margin: 8px 0;
}
.ccv2-copy-design-select {
  flex: 1;
  padding: 5px 8px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: 12px;
}
.ccv2-copy-design-btn {
  padding: 5px 12px;
  background: #8b5cf6;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
}
.ccv2-copy-design-btn:hover { background: #7c3aed; }

/* ── Bouton aperçu plein écran ───────────────────────────────── */
#ccv2-preview-fullscreen {
  background: #f0fdf4;
  border: 1.5px solid #bbf7d0;
  color: #166534;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
}
#ccv2-preview-fullscreen:hover { background: #dcfce7; }

/* ── Grille d'alignement ─────────────────────────────────────── */
.ccv2-grid-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 6;
  display: none;
}
.ccv2-grid-visible {
  display: block;
  background-image:
    linear-gradient(rgba(59,130,246,.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59,130,246,.15) 1px, transparent 1px);
  background-size: 20% 20%;
}
/* Lignes centrales */
.ccv2-grid-visible::before,
.ccv2-grid-visible::after {
  content: '';
  position: absolute;
  background: rgba(59,130,246,.35);
}
.ccv2-grid-visible::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.ccv2-grid-visible::after  { top: 50%; left: 0; right: 0; height: 1px; }

/* ── Compteur undo/redo ──────────────────────────────────────── */
.ccv2-history-count {
  font-size: 9px;
  background: #3b82f6;
  color: #fff;
  border-radius: 8px;
  padding: 0 4px;
  margin-left: 2px;
  font-style: normal;
  vertical-align: super;
  min-width: 14px;
  display: inline-block;
  text-align: center;
}
.ccv2-history-count:empty { display: none; }

/* ── Mode plein écran éditeur ────────────────────────────────── */
.ccv2-editor-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: #fff !important;
  border-radius: 0 !important;
  overflow: auto !important;
  max-width: none !important;
  width: 100vw !important;
  height: 100vh !important;
}
.ccv2-editor-fullscreen .ccv2-main {
  min-height: calc(100vh - 60px) !important;
}
.ccv2-fullscreen-btn {
  background: #f8faff;
  border: 1.5px solid #e0e7ff;
  color: #3730a3;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
}
.ccv2-fullscreen-btn:hover { background: #e0e7ff; }

/* ── Bouton grille actif ─────────────────────────────────────── */
.ccv2-btn-active {
  background: #eff6ff !important;
  border-color: #3b82f6 !important;
  color: #1d4ed8 !important;
}

/* ── Taille d'affichage personnalisée (display_scale) ──────────── */
.ccv2-plane.ccv2-plane--scaled {
  width: var(--ccv2-display-width, 360px) !important;
  height: var(--ccv2-display-height, 720px) !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

/* ── Choix Simple / Double ──────────────────────────────────────── */
.ccv2-simple-double-choice {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  margin: 10px 0;
  background: #f8fafc;
  border: 2px solid #dbeafe;
  border-radius: 12px;
}
.ccv2-simple-double-choice.ccv2-sd-error {
  border-color: #dc2626;
  background: #fef2f2;
  animation: ccv2-sd-shake .4s;
}
@keyframes ccv2-sd-shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}
.ccv2-sd-label {
  font-weight: 700;
  font-size: 14px;
  color: #1e293b;
}
.ccv2-sd-label em {
  color: #dc2626;
  font-style: normal;
}
.ccv2-sd-buttons {
  display: flex;
  gap: 10px;
}
.ccv2-sd-btn {
  flex: 1;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  background: #fff;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  cursor: pointer;
  transition: all .15s;
}
.ccv2-sd-btn:hover {
  border-color: #2563eb;
  background: #eff6ff;
}
.ccv2-sd-btn.is-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
  box-shadow: 0 2px 10px rgba(37,99,235,.3);
}
.ccv2-sd-btn.is-active .ccv2-sd-surcharge {
  color: #dbeafe;
}
.ccv2-sd-surcharge {
  color: #2563eb;
  font-weight: 600;
  font-size: 13px;
}

/* ── Options personnalisées (mêmes styles que Simple/Double) ────── */
.ccv2-custom-options { display: flex; flex-direction: column; gap: 10px; margin: 10px 0; }
.ccv2-custom-option {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  background: #f8fafc;
  border: 2px solid #dbeafe;
  border-radius: 12px;
}
.ccv2-custom-option.ccv2-sd-error {
  border-color: #dc2626;
  background: #fef2f2;
  animation: ccv2-sd-shake .4s;
}

/* ── Indicateur de progression upload ───────────────────────────── */
.ccv2-upload-progress {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #1e293b;
  color: #fff;
  padding: 14px 24px;
  border-radius: 12px;
  z-index: 9999;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  min-width: 240px;
  text-align: center;
}
.ccv2-upload-progress-bar {
  height: 6px;
  background: #475569;
  border-radius: 3px;
  margin-top: 8px;
  overflow: hidden;
}
.ccv2-upload-progress-fill {
  height: 100%;
  background: #3bb54a;
  width: 0%;
  transition: width .2s ease;
}

/* ── Couche texte personnalisé ──────────────────────────────────── */
.ccv2-text-layer {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(0,0);
  z-index: 4;
  cursor: move;
  user-select: none;
  touch-action: none;
  pointer-events: auto;
}
.ccv2-text-layer span {
  display: inline-block;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
  padding: 4px 8px;
  transform: translate(-50%, -50%);
}
.ccv2-text-tools {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding: 12px;
  background: #f8fafc;
  border: 1px solid #dbeafe;
  border-radius: 12px;
}
.ccv2-text-label, .ccv2-text-size-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
}
.ccv2-text-label input[type="text"] {
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 14px;
}
.ccv2-text-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.ccv2-text-row select {
  flex: 1;
  padding: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 13px;
}
.ccv2-text-row input[type="color"] {
  width: 42px;
  height: 38px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  cursor: pointer;
  padding: 2px;
}

/* ── Éléments (texte + stickers) ────────────────────────────────── */
.ccv2-elements-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}
.ccv2-element {
  position: absolute;
  top: 50%;
  left: 50%;
  cursor: move;
  user-select: none;
  touch-action: none;
  pointer-events: auto;
  border: 2px dashed transparent;
  border-radius: 6px;
  padding: 2px;
}
.ccv2-element.is-active {
  border-color: #2563eb;
}
.ccv2-element span {
  display: inline-block;
  font-weight: 700;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  line-height: 1.1;
}

/* ── Boutons ajout élément ──────────────────────────────────────── */
.ccv2-el-add-row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.ccv2-el-add-btn {
  flex: 1;
  padding: 10px;
  font-size: 14px;
  font-weight: 700;
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background .15s;
}
.ccv2-el-add-btn:hover { background: #1d4ed8; }
.ccv2-el-delete-btn {
  padding: 8px;
  font-size: 13px;
  font-weight: 600;
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
  border-radius: 8px;
  cursor: pointer;
}
.ccv2-el-delete-btn:hover { background: #fee2e2; }
.ccv2-text-editor-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ── Picker de stickers ─────────────────────────────────────────── */
.ccv2-sticker-picker {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
  margin-top: 8px;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
  background: #fff;
  border: 1px solid #dbeafe;
  border-radius: 10px;
}
.ccv2-sticker-item {
  font-size: 24px;
  padding: 4px;
  background: none;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: all .12s;
}
.ccv2-sticker-item:hover {
  background: #eff6ff;
  border-color: #2563eb;
  transform: scale(1.2);
}


/* ═══════════════════════════════════════════════════════════════════
   THÈME SOFT CORAIL — modernisation visuelle (V3.10.21)
   Surcharge uniquement l'apparence, aucun changement de structure/ID
   ═══════════════════════════════════════════════════════════════════ */

/* Layout général */
.ccv2-editor{ gap:16px; }
.ccv2-sidebar{
  background:#ffffff !important;
  border:none !important;
  border-radius:20px !important;
  box-shadow:0 4px 24px rgba(244,114,94,0.08) !important;
}
.ccv2-sidebar h2{ color:#1c1917; font-weight:800; }

/* Recherche */
.ccv2-search{
  background:#faf7f5 !important;
  border:none !important;
  border-radius:12px !important;
}

/* Cartes modèles */
.ccv2-card{
  border:none !important;
  border-radius:16px !important;
  background:#faf7f5 !important;
}
.ccv2-card.is-selected{
  outline:none !important;
  background:linear-gradient(135deg,#fff1f0,#ffe4e1) !important;
  box-shadow:0 0 0 2px #fb7185 !important;
  border-color:transparent !important;
}
.ccv2-card.is-selected strong{ color:#e11d48 !important; }

/* Infos modèle sélectionné */
.ccv2-selected-model-info{
  border:none !important;
  border-radius:14px !important;
  background:#faf7f5 !important;
}

/* Bouton "Ajoutez votre image" — accent corail principal */
.ccv2-upload-proxy-button{
  border:none !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#fb7185,#f43f5e) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(244,63,94,0.3) !important;
  font-weight:700 !important;
}
.ccv2-upload-proxy-button:hover{ filter:brightness(1.05); }

/* Boutons Adapter / Remplir — neutres doux */
.ccv2-fit-actions button{
  border:none !important;
  border-radius:11px !important;
  background:#faf7f5 !important;
  color:#78716c !important;
  font-weight:600 !important;
}
.ccv2-fit-actions button:hover{ background:#f5f0ee !important; }

/* Boutons outils avancés (rotation, etc.) */
.ccv2-advanced-tools{ border-top:1px solid #f5e8e5 !important; }
.ccv2-advanced-tools button{
  border:none !important;
  border-radius:11px !important;
  background:#faf7f5 !important;
  color:#78716c !important;
}
.ccv2-advanced-tools button.is-active{
  background:linear-gradient(135deg,#fb7185,#f43f5e) !important;
  color:#fff !important;
}
.ccv2-rotation-label{ color:#57534e !important; }
#ccv2-rotation-value{ color:#e11d48 !important; }

/* Boutons + Texte / + Sticker */
.ccv2-el-add-btn{
  border:none !important;
  border-radius:11px !important;
  font-weight:700 !important;
}
.ccv2-el-add-btn:first-child{
  background:#fff1f0 !important;
  color:#e11d48 !important;
}
.ccv2-el-add-btn:last-child{
  background:#fff7ed !important;
  color:#ea580c !important;
}
.ccv2-el-add-btn:hover{ filter:brightness(0.97); }

/* Boutons Simple / Double */
.ccv2-sd-btn{
  border:1.5px solid #e7e5e4 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#44403c !important;
}
.ccv2-sd-btn.is-active{
  background:linear-gradient(135deg,#fb7185,#f43f5e) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(244,63,94,0.25) !important;
}
.ccv2-simple-double-choice, .ccv2-custom-option{
  background:#faf7f5 !important;
  border:none !important;
  border-radius:14px !important;
}

/* Zone principale + coque */
.ccv2-main{
  background:linear-gradient(160deg,#fff5f5,#fef2f2,#faf7f5) !important;
  border:none !important;
  border-radius:20px !important;
  box-shadow:0 4px 24px rgba(244,114,94,0.06) !important;
}

/* Topbar */
.ccv2-topbar{
  background:#fff;
  border-radius:18px;
  padding:14px 18px;
  box-shadow:0 4px 24px rgba(244,114,94,0.08);
  margin-bottom:16px !important;
}

/* Bouton Ajouter au panier */
.ccv2-editor-cart-button{
  border:none !important;
  border-radius:11px !important;
  background:linear-gradient(135deg,#fb7185,#f43f5e) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(244,63,94,0.3) !important;
  font-weight:700 !important;
}
.ccv2-editor-cart-button:hover{ filter:brightness(1.05); }

/* Bouton plein écran */
.ccv2-fullscreen-btn{
  background:#faf7f5 !important;
  border:none !important;
  border-radius:11px !important;
  color:#78716c !important;
  font-weight:600 !important;
}

/* Barre de zoom flottante */
.ccv2-floating-toolbar{
  background:#fff !important;
  border-radius:30px !important;
  box-shadow:0 6px 20px rgba(244,114,94,0.18) !important;
  border:none !important;
}
.ccv2-floating-toolbar button{
  color:#f43f5e !important;
  font-weight:700 !important;
}
#ccv2-zoom-value, .ccv2-zoom-value{ color:#a8a29e !important; font-weight:600 !important; }

/* Picker de stickers */
.ccv2-sticker-picker{
  border:none !important;
  border-radius:14px !important;
  background:#faf7f5 !important;
}
.ccv2-sticker-item:hover{
  background:#fff1f0 !important;
  border-color:#fb7185 !important;
}

/* Panneaux d'édition (texte/sticker) */
.ccv2-text-editor-panel input[type=text],
.ccv2-text-editor-panel select{
  border:1px solid #e7e5e4 !important;
  border-radius:10px !important;
}

/* Bouton supprimer élément */
.ccv2-el-delete-btn{
  background:#fff1f0 !important;
  border:none !important;
  border-radius:10px !important;
  color:#e11d48 !important;
}

/* ── Avertissement couverture de zone ───────────────────────────── */
.ccv2-coverage-warning {
  margin-top: 8px;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 10px;
  color: #92400e;
  font-size: 12px;
  line-height: 1.4;
}

/* ── Badges Nouveau / Populaire sur les cards ───────────────────── */
.ccv2-card { position: relative; }
.ccv2-card-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 3;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 20px;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  pointer-events: none;
}
.ccv2-badge-nouveau   { background: linear-gradient(135deg,#10b981,#059669); }
.ccv2-badge-populaire { background: linear-gradient(135deg,#f43f5e,#e11d48); }
.ccv2-badge-promo     { background: linear-gradient(135deg,#f59e0b,#d97706); }
.ccv2-badge-exclusif  { background: linear-gradient(135deg,#8b5cf6,#7c3aed); }

/* ── Description courte au survol de la card ────────────────────── */
.ccv2-card-desc {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 3px;
  line-height: 1.3;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .2s ease, opacity .2s ease, margin .2s ease;
}
.ccv2-card:hover .ccv2-card-desc {
  max-height: 40px;
  opacity: 1;
  margin-top: 4px;
}

/* ── Overlay de découpe (forme du produit) ──────────────────────── */
.ccv2-cutout-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  z-index: 6;
  pointer-events: none;
}

/* ── Watermark image ────────────────────────────────────────────── */
.ccv2-watermark-image {
  transform: rotate(-30deg);
}
.ccv2-watermark-image img {
  display: block;
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.2));
}

/* ── FIX débordement image (tous templates, y compris horizontaux) ── */
#ccv2-editor-plane.ccv2-plane,
#ccv2-editor-plane.ccv2-plane.ccv2-plane--scaled {
  overflow: hidden !important;
}
#ccv2-user-image-box.ccv2-user-image-box {
  overflow: hidden !important;
}
/* La boîte image épouse exactement le cadre interne (ratio du template) */
#ccv2-user-image-box.ccv2-user-image-box {
  inset: var(--ccv2-print-margin, 8%) !important;
}

/* ── Bouton et modale d'aide client ─────────────────────────────── */
.ccv2-help-btn { font-weight: 700; }
.ccv2-help-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ccv2-help-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28,25,23,0.6);
  backdrop-filter: blur(2px);
}
.ccv2-help-dialog {
  position: relative;
  width: min(92vw, 480px);
  max-height: 88vh;
  overflow-y: auto;
  background: linear-gradient(165deg,#fff5f5,#ffffff);
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.ccv2-help-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 12px;
}
.ccv2-help-header strong { font-size: 17px; color: #1c1917; }
.ccv2-help-close {
  border: none;
  background: #faf0ee;
  width: 34px; height: 34px;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #78716c;
  flex-shrink: 0;
}
.ccv2-help-close:hover { background: #fee2e2; color: #e11d48; }
.ccv2-help-body { padding: 6px 20px 8px; }
.ccv2-help-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f8eae7;
}
.ccv2-help-step:last-child { border-bottom: none; }
.ccv2-help-num {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg,#fb7185,#f43f5e);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ccv2-help-text strong {
  display: block;
  font-size: 14.5px;
  color: #1c1917;
  margin-bottom: 3px;
}
.ccv2-help-text p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #57534e;
}
.ccv2-help-footer {
  padding: 12px 20px 20px;
}
.ccv2-help-ok {
  width: 100%;
  border: none;
  background: linear-gradient(135deg,#fb7185,#f43f5e);
  color: #fff;
  border-radius: 12px;
  padding: 13px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.ccv2-help-ok:hover { filter: brightness(1.05); }
