/* ===================================================================
   KustomLab v6 — Flow TH4
   =================================================================== */
:root {
  --kld-dark: #1a1a2e;
  --kld-accent: #e94560;
  --kld-accent-dark: #d63b55;
  --kld-accent-rgb: 233,69,96;
  --kld-bg: #f7f7f9;
  --kld-border: #e5e5ea;
  --kld-text: #222;
  --kld-muted: #999;
  --kld-radius: 8px;
  --kld-font: 'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.kld-configurator{font-family:var(--kld-font);color:var(--kld-text);max-width:100%;line-height:1.5;margin:0;}
.kld-configurator *,.kld-configurator *::before,.kld-configurator *::after{box-sizing:border-box;}

/* ── Prix live ───────────────────────────────────────────── */
.kld-price-live{padding:.25rem 0 .4rem;border-bottom:1px solid var(--kld-border);}
.kld-price-live__row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.kld-price-live__amount{font-size:2rem;font-weight:800;color:var(--kld-text);letter-spacing:-.03em;}
.kld-price-live__label{font-size:.8rem;color:var(--kld-muted);}
.kld-price-live__from{font-size:.65rem;color:var(--kld-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600;width:100%;}
.kld-price-live__sub{font-size:.72rem;color:var(--kld-muted);margin-top:2px;}
.kld-price-live__note{font-size:.68rem;color:var(--kld-text);margin-top:2px;}
.kld-price-live__note small{color:var(--kld-muted);font-size:.6rem;}
/* Toggle HT/TTC */
.kld-tax-toggle{display:flex;margin-left:auto;border:1px solid var(--kld-border);border-radius:4px;overflow:hidden;}
.kld-tax-btn{font-family:var(--kld-font);font-size:.6rem;font-weight:700;padding:.2rem .45rem;border:none;background:#fff;color:var(--kld-muted);cursor:pointer;transition:all .2s;}
.kld-tax-btn:first-child{border-right:1px solid var(--kld-border);}
.kld-tax-btn--active{background:var(--kld-dark);color:#fff;}
.kld-tax-btn:hover:not(.kld-tax-btn--active){background:var(--kld-bg);}
.kld-recap__total-alt{text-align:right;font-size:.72rem;color:var(--kld-muted);margin-top:.1rem;}

/* ── Blocs ───────────────────────────────────────────────── */
.kld-block{padding:.35rem 0;border-bottom:1px solid var(--kld-border);}
.kld-block__label{font-size:.78rem;font-weight:700;color:var(--kld-text);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;display:flex;align-items:center;gap:.4rem;}

/* ── Etapes visuelles ───────────────────────────────────── */
.kld-step{border:1.5px solid var(--kld-border);border-radius:var(--kld-radius);margin:.4rem 0;overflow:hidden;transition:border-color .3s;}
.kld-step--active{border-color:var(--kld-accent);}
.kld-step--done{border-color:#2e7d32;}
.kld-step__header{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:var(--kld-bg);border-bottom:1px solid var(--kld-border);}
.kld-step--active .kld-step__header{background:rgba(var(--kld-accent-rgb),.04);}
.kld-step--done .kld-step__header{background:#f0faf0;}
.kld-step__number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.7rem;font-weight:800;color:#fff;background:var(--kld-muted);flex-shrink:0;transition:background .3s;}
.kld-step--active .kld-step__number{background:var(--kld-accent);}
.kld-step--done .kld-step__number{background:#2e7d32;}
.kld-step__title{font-size:.78rem;font-weight:700;color:var(--kld-text);text-transform:uppercase;letter-spacing:.03em;}
.kld-step__check{display:none;font-size:.8rem;margin-left:auto;}
.kld-step--done .kld-step__check{display:inline;}
.kld-step--done .kld-step__check::after{content:"\2713";color:#2e7d32;font-weight:800;}
.kld-step__body{padding:.5rem .65rem;}
.kld-step__alert{font-size:.7rem;color:#d32f2f;background:#ffeef0;border-left:3px solid #d32f2f;border-radius:0 4px 4px 0;padding:.3rem .5rem;margin-top:.3rem;display:flex;align-items:center;gap:.3rem;}
.kld-step__alert::before{content:"\26A0";font-size:.8rem;}

/* ── Grille tailles ──────────────────────────────────────── */
.kld-sizes{display:flex;gap:.25rem;flex-wrap:wrap;}
.kld-size{display:flex;flex-direction:column;align-items:center;gap:2px;}
.kld-size__name{font-size:.62rem;font-weight:700;color:var(--kld-muted);text-transform:uppercase;}
.kld-size__input{
  width:64px;height:42px;text-align:center;font-size:1rem;font-weight:600;
  font-family:var(--kld-font);color:var(--kld-text);background:#fff;
  border:1.5px solid var(--kld-border);border-radius:6px;outline:none;
  transition:all .2s;-moz-appearance:textfield;
}
.kld-size__input::-webkit-inner-spin-button,.kld-size__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.kld-size__input::placeholder{color:#ccc;}
.kld-size__input:focus{border-color:var(--kld-accent);box-shadow:0 0 0 3px rgba(var(--kld-accent-rgb),.1);}
.kld-taille-input--filled{background:var(--kld-dark)!important;color:#fff!important;border-color:var(--kld-dark)!important;}
.kld-size__surcharge{font-size:.5rem;font-weight:700;color:var(--kld-accent);white-space:nowrap;}

.kld-sizes-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-top:.2rem;font-size:.75rem;color:var(--kld-muted);}
.kld-sizes-bar__total{color:var(--kld-text);}
.kld-sizes-bar__total strong{font-size:1rem;color:var(--kld-dark);}
.kld-qty-summary__palier{display:inline-block;font-size:.62rem;font-weight:700;padding:.1rem .4rem;border-radius:20px;white-space:nowrap;}
.kld-qty-summary__palier:empty{display:none;}
.kld-qty-summary__palier--default{background:transparent;color:var(--kld-muted);}
.kld-qty-summary__palier--low{background:#fff3e0;color:#e65100;}
.kld-qty-summary__palier--mid{background:#e8f5e9;color:#2e7d32;}
.kld-qty-summary__palier--high{background:var(--kld-accent);color:#fff;}
.kld-sizes-bar__hint{font-size:.68rem;font-weight:600;color:#2e7d32;width:100%;margin-top:.2rem;}

/* ── Marquage ────────────────────────────────────────────── */
.kld-badge{font-size:.55rem;font-weight:700;padding:.1rem .4rem;border-radius:20px;text-transform:uppercase;vertical-align:middle;background:#e8f5e9;color:#2e7d32;}
.kld-global-tabs{display:flex;gap:2px;margin-bottom:.25rem;background:var(--kld-bg);border-radius:var(--kld-radius);padding:3px;}
.kld-global-tab{flex:1;padding:.45rem .15rem;font-family:var(--kld-font);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;background:transparent;color:var(--kld-muted);border:none;border-radius:calc(var(--kld-radius) - 2px);cursor:pointer;transition:all .2s;}
.kld-global-tab:hover{color:var(--kld-text);background:rgba(255,255,255,.6);}
.kld-global-tab--active{background:#fff;color:var(--kld-text);box-shadow:0 1px 3px rgba(0,0,0,.08);}

.kld-face-tabs{display:flex;gap:0;margin-bottom:.2rem;border-radius:6px;overflow:hidden;border:1px solid var(--kld-border);}
.kld-face-tab{flex:1;padding:.35rem .1rem;font-family:var(--kld-font);font-size:.62rem;font-weight:700;text-transform:uppercase;text-align:center;background:#fff;color:var(--kld-muted);border:none;border-right:1px solid var(--kld-border);cursor:pointer;transition:all .2s;}
.kld-face-tab:last-child{border-right:none;}
.kld-face-tab:hover{background:var(--kld-bg);}
.kld-face-tab--active{background:var(--kld-dark);color:#fff;}
.kld-face-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;font-size:.5rem;font-weight:800;background:var(--kld-accent);color:#fff;border-radius:7px;margin-left:.15rem;}
.kld-face-tab--active .kld-face-tab__badge{background:#fff;color:var(--kld-accent);}

.kld-face-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;}
.kld-zone-card{border:1.5px solid var(--kld-border);border-radius:6px;overflow:hidden;cursor:pointer;transition:all .2s;position:relative;background:#fff;}
.kld-zone-card:hover{border-color:#c0c0c5;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.kld-zone-card--selected{border-color:var(--kld-accent);border-width:2px;}
.kld-zone-card__type-badge{position:absolute;top:3px;right:3px;font-size:.42rem;font-weight:800;text-transform:uppercase;padding:2px 5px;border-radius:3px;background:var(--kld-accent);color:#fff;opacity:0;transition:opacity .2s;z-index:2;pointer-events:none;}
.kld-zone-card--has-type .kld-zone-card__type-badge{opacity:1;}
.kld-zone-card__visual{padding:.3rem .15rem .1rem;display:flex;justify-content:center;background:var(--kld-bg);}
.kld-zone-card--selected .kld-zone-card__visual{background:rgba(var(--kld-accent-rgb),.03);}
.kld-zone-card__visual svg{width:48px;height:44px;display:block;}
.kld-zone-card__info{padding:.15rem .2rem;text-align:center;}
.kld-zone-card__name{font-size:.58rem;font-weight:700;color:var(--kld-dark);line-height:1.2;}
.kld-zone-card__dims{font-size:.46rem;color:var(--kld-muted);}
.kld-zone-card__prix{text-align:center;font-size:.55rem;font-weight:700;color:var(--kld-accent);padding:0;opacity:0;max-height:0;overflow:hidden;transition:all .2s;}
.kld-zone-card--has-type .kld-zone-card__prix{opacity:1;max-height:2rem;padding-bottom:.1rem;}
.kld-zones-more-wrap{grid-column:1/-1;text-align:center;padding:.15rem 0;}
.kld-zones-more-btn{font-family:var(--kld-font);font-size:.65rem;font-weight:600;color:var(--kld-accent);background:none;border:1.5px dashed var(--kld-accent);border-radius:6px;padding:.25rem .7rem;cursor:pointer;transition:all .2s;}
.kld-zones-more-btn:hover{background:rgba(var(--kld-accent-rgb),.05);}

.kld-zone-card__upload{padding:.15rem .25rem .25rem;display:none;}
.kld-zone-card--selected .kld-zone-card__upload{display:block;}
.kld-file-upload{display:flex;align-items:center;justify-content:center;gap:.2rem;cursor:pointer;padding:.15rem;border:1.5px dashed var(--kld-border);border-radius:4px;font-size:.55rem;font-weight:600;color:var(--kld-muted);transition:all .2s;}
.kld-file-upload:hover{border-color:var(--kld-accent);color:var(--kld-accent);}
.kld-file-upload svg{flex-shrink:0;}
.kld-file-upload__label{display:flex;align-items:center;gap:.2rem;pointer-events:none;}
.kld-file-input{position:absolute;width:0;height:0;overflow:hidden;opacity:0;}
.kld-file-preview{display:flex;align-items:center;gap:.2rem;padding:.1rem;background:var(--kld-bg);border-radius:4px;}
.kld-file-preview__thumb{width:18px;height:18px;border-radius:3px;overflow:hidden;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center;}
.kld-file-preview__thumb img{width:100%;height:100%;object-fit:cover;}
.kld-file-preview__icon{font-size:.4rem;font-weight:700;color:var(--kld-accent);text-transform:uppercase;}
.kld-file-preview__info{flex:1;display:flex;align-items:center;gap:.1rem;min-width:0;}
.kld-file-preview__name{font-size:.48rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.kld-file-preview__remove{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--kld-muted);background:transparent;border:none;border-radius:50%;cursor:pointer;padding:0;flex-shrink:0;}
.kld-file-preview__remove:hover{color:var(--kld-accent);}
.kld-file-uploading{display:flex;align-items:center;justify-content:center;padding:.15rem;font-size:.5rem;color:var(--kld-muted);}
.kld-offert{font-size:.6rem;font-weight:700;color:#2e7d32;text-transform:uppercase;}
.kld-broderie-note{font-size:.7rem;color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 4px 4px 0;padding:.35rem .5rem;margin:.4rem 0 0;line-height:1.3;}
.kld-broderie-note strong{color:#78350f;}

/* ── Grille tarifaire (repliable) ────────────────────────── */
.kld-tarif-details{border:1px solid var(--kld-border);border-radius:var(--kld-radius);margin:.75rem 0;overflow:hidden;}
.kld-tarif-summary{padding:.5rem .65rem;font-size:.72rem;font-weight:600;color:var(--kld-muted);cursor:pointer;background:var(--kld-bg);list-style:none;display:flex;align-items:center;gap:.35rem;}
.kld-tarif-summary:hover{color:var(--kld-text);}
.kld-tarif-summary::before{content:'';display:inline-block;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent;transition:transform .2s;}
.kld-tarif-details[open] .kld-tarif-summary::before{transform:rotate(90deg);}
.kld-tarif-summary::-webkit-details-marker{display:none;}
.kld-tarif-table{width:100%;border-collapse:collapse;font-size:.72rem;}
.kld-tarif-table th{background:var(--kld-bg);color:var(--kld-muted);padding:.3rem .4rem;text-align:center;font-weight:600;font-size:.62rem;text-transform:uppercase;border-bottom:1px solid var(--kld-border);}
.kld-tarif-table th:first-child{text-align:left;}
.kld-tarif-table td{padding:.25rem .4rem;text-align:center;border-bottom:1px solid #f0f0f2;}
.kld-palier-label{text-align:left!important;font-weight:500;white-space:nowrap;}
.kld-palier-total{font-weight:700;}
.kld-palier-row--active{background:var(--kld-accent)!important;}
.kld-palier-row--active td{color:#fff;font-weight:600;}

/* ── Recap ───────────────────────────────────────────────── */
.kld-recap{background:var(--kld-bg);border-radius:var(--kld-radius);padding:.65rem .75rem;margin:.5rem 0;}
.kld-recap__row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;padding:.15rem 0;}
.kld-recap__row--muted{font-size:.7rem;color:var(--kld-muted);}
.kld-recap-palier-inline{font-size:.65rem;color:var(--kld-muted);}
.kld-recap__total{border-top:2px solid var(--kld-dark);margin-top:.3rem;padding-top:.4rem;}
.kld-recap__total-line{display:flex;justify-content:space-between;align-items:center;}
.kld-recap__total-line span:first-child{font-size:.82rem;font-weight:800;text-transform:uppercase;}
.kld-recap__total-amount{font-size:1.3rem;font-weight:800;color:var(--kld-accent);}
.kld-recap__total-ttc{text-align:right;font-size:.72rem;color:var(--kld-muted);margin-top:.1rem;}

/* ── Bouton ──────────────────────────────────────────────── */
.kld-add-to-cart-wrap{margin:.5rem 0;}
.kld-add-to-cart-wrap:empty{display:none;}
.kld-add-to-cart-btn{width:100%;padding:.85rem 1rem!important;font-family:var(--kld-font)!important;font-size:.9rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;background:var(--kld-accent)!important;color:#fff!important;border:none!important;border-radius:var(--kld-radius)!important;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(var(--kld-accent-rgb),.25);display:block;text-align:center;}
.kld-add-to-cart-btn:hover{background:var(--kld-accent-dark)!important;transform:translateY(-1px);}

/* ── Delais ──────────────────────────────────────────────── */
.kld-delivery{margin:.5rem 0;}
.kld-delivery__options{display:flex;gap:0;border-radius:var(--kld-radius);overflow:hidden;border:1px solid var(--kld-border);}
.kld-delivery__btn{flex:1;padding:.45rem .15rem;font-family:var(--kld-font);font-size:.68rem;font-weight:600;text-align:center;background:#fff;color:var(--kld-text);border:none;border-right:1px solid var(--kld-border);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.1rem;}
.kld-delivery__btn:last-child{border-right:none;}
.kld-delivery__btn:hover{background:var(--kld-bg);}
.kld-delivery__btn--active{background:var(--kld-dark);color:#fff;}
.kld-delivery__tag{font-size:.52rem;font-weight:800;padding:.08rem .3rem;border-radius:10px;}
.kld-delivery__tag--eco{background:#e8f5e9;color:#2e7d32;}
.kld-delivery__tag--express{background:#fff3e0;color:#e65100;}
.kld-delivery__btn--active .kld-delivery__tag{background:rgba(255,255,255,.2);color:#fff;}
.kld-delivery__total{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem;padding:.5rem .65rem;background:var(--kld-dark);border-radius:var(--kld-radius);color:#fff;font-size:.78rem;font-weight:600;}
.kld-delivery__total-value{font-size:1.1rem;font-weight:800;}

/* ── Loader ──────────────────────────────────────────────── */
.kld-loader{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem;color:var(--kld-muted);font-size:.72rem;}
.kld-loader__spinner{width:12px;height:12px;border:2px solid var(--kld-border);border-top-color:var(--kld-accent);border-radius:50%;animation:kld-spin .7s linear infinite;display:inline-block;flex-shrink:0;}
@keyframes kld-spin{to{transform:rotate(360deg);}}

/* Legacy */
.kld-zone-card .kld-zone-type-radio,.kld-zone-card .kld-zone-type-toggle,.kld-zone-card .kld-zone-type-opt,.kld-zone-card__header,.kld-zone-card__body{display:none;}

/* Cacher tout le bloc add-to-cart WC natif */
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart,
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
  display: none !important;
}
form.cart .quantity,
form.cart .product-quantity-button,
form.cart .tms-qty-button,
.single-product .product-quantity-button {
  display: none !important;
}

/* Proportions colonnes 55 image / 45 contenu */
@media (min-width: 768px) {
  /* Point 1 : scroll — colonne image sticky, colonne contenu scrollable */
  .elementor-element-117ed6a > .elementor-container {
    align-items: flex-start !important;
  }
  .elementor-element-3fbf39b {
    width: 55% !important;
    position: sticky !important;
    top: 80px !important;
    align-self: flex-start !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .elementor-element-72ced0b {
    width: 45% !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    position: relative !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    top: auto !important;
  }
}


/* Reduire le margin-top de la section produit */
.elementor-element-117ed6a {
  margin-top: 20px !important;
}

/* Reduire titre produit + swatches + espaces au-dessus du configurateur */
.single-product .product_title,
.single-product h1.product_title,
.elementor-widget-woocommerce-product-title h1 {
  font-size: 1.4rem !important;
  margin-bottom: .3rem !important;
  line-height: 1.2 !important;
}
.single-product form.cart table.variations {
  margin-bottom: 5px !important;
}
.single-product form.cart table.variations th,
.single-product form.cart table.variations td {
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}
.single-product .kld-swatch-label {
  margin-bottom: .1rem !important;
  margin-top: .15rem !important;
}
.single-product .kld-swatches {
  margin: .2rem 0 !important;
}
.single-product .kld-swatch {
  width: 50px !important;
  height: 50px !important;
}
/* Reduire les espaces Elementor entre widgets */
.elementor-element-72ced0b .elementor-widget:not(:first-child) {
  margin-bottom: 5px !important;
}
.single-product .single_variation_wrap,
.single-product .woocommerce-variation-price,
.single-product .woocommerce-variation-availability {
  display: none !important;
}
.single-product form.cart .single_variation_wrap {
  margin: 0 !important;
  padding: 0 !important;
}
.single-product form.cart .woocommerce-variation {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.single-product form.cart .woocommerce-variation-price,
.single-product form.cart .woocommerce-variation-availability {
  display: none !important;
}
.single-product .kld-swatch-label {
  margin-bottom: .25rem !important;
}
.kld-price-live {
  margin-top: 0 !important;
  padding-top: .25rem !important;
}

/* Adapter le contenu a la colonne droite — scroll libre */
.kld-configurator { overflow: visible; max-width: 100% !important; }

/* Zones : chips compacts en grille */
.kld-face-grid { display: flex; flex-wrap: wrap; gap: .2rem; }
.kld-zone-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .4rem .6rem; border: 1.5px solid var(--kld-border); border-radius: 20px;
  background: #fff; cursor: pointer; transition: all .2s;
  font-family: var(--kld-font); font-size: .7rem; font-weight: 600;
  color: var(--kld-text); line-height: 1.2; white-space: nowrap;
  position: relative;
}
.kld-zone-chip:hover { border-color: #bbb; background: var(--kld-bg); }
.kld-zone-chip--active { border-color: var(--kld-accent); background: rgba(var(--kld-accent-rgb),.05); color: var(--kld-accent); }
.kld-zone-chip__img { width: 32px; height: 32px; flex-shrink: 0; pointer-events: none; display: flex; align-items: center; justify-content: center; background: var(--kld-bg); border-radius: 4px; overflow: hidden; }
.kld-zone-chip__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.kld-zone-chip__img svg { width: 100%; height: 100%; display: block; }
.kld-zone-chip--active .kld-zone-chip__img { background: rgba(var(--kld-accent-rgb),.08); }
.kld-zone-chip__name { pointer-events: none; }
.kld-zone-chip__dims { font-size: .55rem; color: var(--kld-muted); pointer-events: none; }
.kld-zone-chip__prix { font-size: .6rem; font-weight: 700; color: var(--kld-accent); pointer-events: none; }
.kld-zone-chip__prix:empty { display: none; }
.kld-zone-chip__badge { font-size: .5rem; font-weight: 800; color: #fff; background: var(--kld-accent); padding: 1px 4px; border-radius: 8px; text-transform: uppercase; pointer-events: none; }
.kld-zone-chip__badge:empty { display: none; }

/* Upload logo inline dans le chip */
.kld-zone-chip__upload{display:none;font-size:.55rem;font-weight:600;color:var(--kld-accent);cursor:pointer;text-decoration:underline;white-space:nowrap;}
.kld-zone-chip--active .kld-zone-chip__upload{display:inline-flex;align-items:center;gap:.2rem;}
.kld-zone-chip__upload svg{width:12px;height:12px;flex-shrink:0;}
.kld-zone-chip__file-name{font-size:.5rem;color:#2e7d32;font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kld-zone-chip__file-remove{font-size:.7rem;font-weight:700;color:var(--kld-muted);cursor:pointer;margin-left:.1rem;}
.kld-zone-chip__file-remove:hover{color:var(--kld-accent);}

/* Onglets : ne pas deborder */
.kld-global-tab { font-size: .6rem; padding: .3rem .05rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.kld-face-tab { font-size: .5rem; padding: .25rem .04rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Prix live */
.kld-price-live { padding: .3rem 0 .4rem; }
.kld-price-live__amount { font-size: 1.4rem; }
.kld-price-live__sub { font-size: .65rem; }

/* Tailles : 3 chiffres lisibles */
.kld-sizes { gap: .25rem; }
.kld-size__input { width: 66px !important; height: 44px !important; font-size: 1.1rem !important; }
.kld-size__name { font-size: .62rem; }
.kld-size__surcharge { font-size: .48rem; }
.kld-sizes-bar { margin-top: .3rem; font-size: .75rem; }

/* Recap compact */
.kld-recap { padding: .4rem .5rem; margin: .3rem 0; }
.kld-recap__row { font-size: .7rem; padding: .08rem 0; }
.kld-recap__total-amount { font-size: 1.1rem; }
.kld-recap__total-ttc { font-size: .65rem; }

/* Delivery compact */
.kld-delivery__btn { font-size: .6rem; padding: .3rem .08rem; }
.kld-delivery__total { padding: .35rem .45rem; font-size: .7rem; }
.kld-delivery__total-value { font-size: .95rem; }

/* Bouton */
.kld-add-to-cart-btn { padding: .75rem .8rem !important; font-size: .82rem !important; background: #e94560 !important; color: #fff !important; opacity: 1 !important; }

/* Tarif repliable */
.kld-tarif-details { margin: .35rem 0; }
.kld-tarif-summary { padding: .35rem .45rem; font-size: .65rem; }

/* Notes */
.kld-broderie-note { font-size: .62rem; padding: .25rem .4rem; margin: .25rem 0 0; }
.kld-badge { font-size: .5rem; padding: .08rem .3rem; }
.kld-offert { font-size: .52rem; }
.kld-zones-more-btn { font-size: .58rem; padding: .2rem .5rem; }

/* Image : fond gris clair comme TH4 */
.elementor-element-3fbf39b .woocommerce-product-gallery,
.elementor-element-3fbf39b .kld-mockup {
  background: #f0f0f2;
  border-radius: 0;
}

/* ===================================================================
   MOBILE — Force 1 colonne sur page produit
   =================================================================== */
@media(max-width:767px){
  .elementor-element-117ed6a>.elementor-container{flex-direction:column!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  .elementor-element-3fbf39b{width:100%!important;max-width:100%!important;flex:0 0 100%!important;position:static!important;height:auto!important;overflow:visible!important;top:auto!important;}
  .elementor-element-72ced0b{width:100%!important;max-width:100%!important;flex:0 0 100%!important;position:static!important;height:auto!important;overflow:visible!important;overflow-y:visible!important;}
  .single-product .elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important;position:static!important;height:auto!important;overflow:visible!important;top:auto!important;}
  .kld-configurator{max-width:100%!important;width:100%!important;}
  .kld-mockup{width:100%!important;max-width:100%!important;}
}

/* ===================================================================
   RESPONSIVE Configurateur
   =================================================================== */
@media(max-width:600px){
  .kld-price-live__amount{font-size:1.6rem;}
  .kld-sizes{gap:.2rem;}
  .kld-size__input{width:60px !important;height:42px !important;font-size:1rem !important;}
  .kld-size__name{font-size:.58rem;}
  .kld-face-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;}
  .kld-zone-card__visual svg{width:44px;height:40px;}
  .kld-zone-card__name{font-size:.55rem;}
  .kld-global-tab{font-size:.68rem;}
  .kld-face-tab{font-size:.58rem;}
  .kld-block__label{font-size:.75rem;}
  .kld-delivery__btn{font-size:.62rem;}
  .kld-recap__total-amount{font-size:1.1rem;}
  .kld-sizes-bar{flex-wrap:wrap;}
}
@media(max-width:380px){
  .kld-face-grid{grid-template-columns:repeat(2,1fr);}
  .kld-size__input{width:56px !important;height:40px !important;font-size:.95rem !important;}
  .kld-zone-card__visual svg{width:50px;height:46px;}
  .kld-zone-card__name{font-size:.6rem;}
}
