/* ===== PADEL STOCK BOOSTER - Front CSS ===== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

.dcp{font-family:'Poppins',system-ui,-apple-system,sans-serif;color:#111111;line-height:1.6;-webkit-font-smoothing:antialiased;background:#ffffff;}
.dcp,.dcp *{margin:0;padding:0;box-sizing:border-box;}
.dcp a{text-decoration:none;color:inherit;}
.dcp img{max-width:100%;display:block;}
.dcp button{font-family:inherit;cursor:pointer;border:none;}
.dcp em{font-style:italic;}

.dcp-empty{background:#ffffff;border:2px dashed #e5e9f0;padding:40px;text-align:center;border-radius:18px;margin:20px;color:#4b5563;}
.dcp-empty a{color:#1447B8;font-weight:600;}

/* BREADCRUMB */
.dcp-bc{padding:18px 6%;background:#ffffff;border-bottom:1px solid #f4f6f9;}
.dcp-bc-l{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;flex-wrap:wrap;}
.dcp-bc-l a{color:#6b7280;transition:color .3s;}
.dcp-bc-l a:hover{color:#1447B8;}
.dcp-bc-sep{color:#1447B8;}
.dcp-bc-cur{color:#111111;font-weight:600;}

/* HERO */
.dcp-hero{padding:40px 6% 70px;background:#ffffff;}
.dcp-hero-c{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;}
.dcp-gal{position:sticky;top:20px;}
.dcp-gal-main{position:relative !important;background:#ffffff !important;border-radius:24px !important;overflow:hidden !important;border:1px solid #f4f6f9 !important;display:flex !important;align-items:center !important;justify-content:center !important;min-height:300px !important;aspect-ratio:auto !important;height:auto !important;}
.dcp-gal-main img{width:100% !important;height:auto !important;max-height:700px !important;object-fit:contain !important;display:block !important;transition:opacity .3s;aspect-ratio:auto !important;}
.dcp-gal-bdg{position:absolute;top:20px;left:20px;background:#1447B8;color:#fff;padding:8px 16px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.5px;z-index:2;}
.dcp-gal-fav{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;transition:all .3s;}
.dcp-gal-fav:hover{background:#1447B8;}
.dcp-gal-fav svg{width:20px;height:20px;color:#111111;transition:color .3s;}
.dcp-gal-fav:hover svg{color:#fff;}
.dcp-gal-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px;}
.dcp-gal-th{aspect-ratio:1;background:#ffffff;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s;}
.dcp-gal-th:hover,.dcp-gal-th.active{border-color:#1447B8;}
.dcp-gal-th img{width:100%;height:100%;object-fit:contain;display:block;}

.dcp-info{padding-top:8px;}
.dcp-info-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#1447B8;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.dcp-info-eyebrow::before{content:'★';}
.dcp-info-h{font-size:38px;font-weight:600;line-height:1.05;color:#111111;letter-spacing:-1.2px;margin-bottom:18px;}
.dcp-info-h em{color:#1447B8;font-weight:500;}
.dcp-info-rt{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap;}
.dcp-info-rt-st{color:#1447B8;font-size:15px;letter-spacing:1.5px;}
.dcp-info-rt-n{font-size:14px;color:#4b5563;}
.dcp-info-rt-n strong{color:#111111;font-weight:600;}
.dcp-info-rt-st-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#6b7280;color:#fff;border-radius:100px;font-size:11px;font-weight:600;}
.dcp-info-rt-st-pill svg{width:12px;height:12px;color:#fff;}

.dcp-info-bullets{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.dcp-info-bullet{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#4b5563;line-height:1.6;}
.dcp-info-bullet-i{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#f4f6f9;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.dcp-info-bullet-i svg{width:11px;height:11px;color:#6b7280;}
.dcp-info-bullet strong{color:#111111;font-weight:600;}

.dcp-info-price{padding:18px 22px;background:#fff;border-radius:14px;margin-bottom:16px;border:1px solid #f4f6f9;}
.dcp-info-price-r{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.dcp-info-price-pn{font-size:36px;font-weight:700;color:#1447B8;letter-spacing:-1.2px;line-height:1;}
.dcp-info-price-pn .woocommerce-Price-amount{color:#1447B8;}
.dcp-info-price-po{font-size:17px;color:#9ca3af;text-decoration:line-through;font-weight:500;}
.dcp-info-price-po .woocommerce-Price-amount{color:#9ca3af;}
.dcp-info-price-disc{display:inline-flex;align-items:center;background:#1447B8;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;}
.dcp-info-price-saved{font-size:12px;color:#6b7280;font-weight:500;margin-top:2px;}
.dcp-info-price-saved strong{color:#111111;font-weight:700;}
.dcp-info-stock{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;color:#6b7280;}
.dcp-info-stock-d{width:8px;height:8px;border-radius:50%;background:#6b7280;animation:dcpPulse 2s ease-in-out infinite;}
@keyframes dcpPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.dcp-info-stock strong{color:#111111;font-weight:600;}

/* CTA WooCommerce form natif - restylé
   Layout grid pour gérer : quantity + bouton sur ligne 1, wcdi-card (install) sur ligne 2 */
.dcp .dcp-info-cta-row form.cart{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-areas:
    "qty btn"
    "install install"!important;
  gap:10px!important;
  align-items:stretch!important;
  margin-bottom:14px!important;
}
.dcp .dcp-info-cta-row form.cart .quantity{grid-area:qty;display:flex;align-items:center;background:#fff;border:1.5px solid #e5e9f0;border-radius:100px;overflow:hidden;}
.dcp .dcp-info-cta-row input.qty{width:60px;height:54px;border:none;text-align:center;background:transparent;font-family:inherit;font-size:15px;font-weight:600;color:#111111;outline:none;}
/* L'encart "Installation à domicile" injecté par wc-detente-installation passe en pleine largeur sous le bouton */
.dcp .dcp-info-cta-row form.cart .wcdi-card{
  grid-area:install;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 0 0!important;
}
/* Override Elementor / Hello Elementor pour le bouton Add to Cart */
body.single-product .dcp .dcp-info-cta-row button.single_add_to_cart_button,
body.single-product .dcp .dcp-info-cta-row .single_add_to_cart_button,
.dcp .dcp-info-cta-row button.single_add_to_cart_button,
.dcp .dcp-info-cta-row button.button.alt,
.dcp form.cart button[type="submit"]{
  grid-area:btn!important;
  width:100%!important;
  max-width:100%!important;
  min-height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#111111!important;
  background-color:#111111!important;
  background-image:none!important;
  color:#ffffff!important;
  padding:18px 32px!important;
  border-radius:100px!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.3px!important;
  border:none!important;
  text-transform:none!important;
  cursor:pointer!important;
  transition:all .3s cubic-bezier(.2,.8,.2,1)!important;
  box-shadow:none!important;
}
/* Mobile : tout sur une colonne */
@media(max-width:560px){
  .dcp .dcp-info-cta-row form.cart{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "qty"
      "btn"
      "install"!important;
  }
  .dcp .dcp-info-cta-row form.cart .quantity{justify-self:start;}
}
body.single-product .dcp .dcp-info-cta-row button.single_add_to_cart_button:hover,
.dcp .dcp-info-cta-row button.single_add_to_cart_button:hover,
.dcp .dcp-info-cta-row button.button.alt:hover,
.dcp form.cart button[type="submit"]:hover{
  background:#1447B8!important;
  background-color:#1447B8!important;
  color:#ffffff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(201,125,96,.35)!important;
}

/* ===== PRODUITS VARIABLES : styling du sélecteur d'attributs ===== */
/* Cacher le prix WC dupliqué qui apparait sous le sélecteur de variation */
.dcp .dcp-info-cta-row .woocommerce-variation-price,
.dcp .dcp-info-cta-row .woocommerce-variation-availability,
.dcp .dcp-info-cta-row .woocommerce-variation-description{
  display:none!important;
}

/* Layout général du form variations */
.dcp .dcp-info-cta-row form.variations_form{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}

/* Reset complet de la table */
.dcp .dcp-info-cta-row table.variations,
.dcp .dcp-info-cta-row table.variations tbody,
.dcp .dcp-info-cta-row table.variations tr,
.dcp .dcp-info-cta-row table.variations td{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  outline:none!important;
  margin:0!important;
}
.dcp .dcp-info-cta-row table.variations{
  width:100%!important;
  display:block!important;
  padding:0!important;
}
.dcp .dcp-info-cta-row table.variations tbody{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
}

/* Chaque attribut = une pill blanche compacte */
.dcp .dcp-info-cta-row table.variations tr{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  background:#fff!important;
  border:1.5px solid #e5e9f0!important;
  border-radius:100px!important;
  padding:0 22px!important;
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  box-shadow:none!important;
  transition:border-color .2s ease;
}
.dcp .dcp-info-cta-row table.variations tr:hover{
  border-color:#1447B8!important;
}
/* Reset complet sur les cellules (le HTML utilise th.label, pas td.label) */
.dcp .dcp-info-cta-row table.variations th,
.dcp .dcp-info-cta-row table.variations td{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  background-color:transparent!important;
  vertical-align:middle!important;
  text-align:left!important;
  font-weight:inherit!important;
  width:auto!important;
  display:block!important;
}

/* Cellule label (th.label) */
.dcp .dcp-info-cta-row table.variations th.label,
.dcp .dcp-info-cta-row table.variations td.label{
  flex-shrink:0!important;
  width:auto!important;
}

/* Reset agressif sur le <label> "Couleur" : Hello Elementor ajoute outline/border par défaut */
.dcp .dcp-info-cta-row table.variations th.label label,
.dcp .dcp-info-cta-row table.variations td.label label,
.dcp .dcp-info-cta-row table.variations th.label label *,
.dcp .dcp-info-cta-row table.variations td.label label *,
.dcp .dcp-info-cta-row form.variations_form label{
  font-size:12px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:1.4px!important;
  color:#1447B8!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  outline:0!important;
  outline-width:0!important;
  outline-style:none!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  line-height:1!important;
  cursor:default!important;
  text-decoration:none!important;
}

/* Cellule value (td.value) */
.dcp .dcp-info-cta-row table.variations td.value{
  flex:1!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}

/* Le <select> natif - on désappearance */
.dcp .dcp-info-cta-row table.variations select{
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 0 center!important;
  background-size:16px!important;
  border:none!important;
  outline:none!important;
  padding:0 24px 0 0!important;
  margin:0!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  line-height:42px!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:600!important;
  color:#111111!important;
  cursor:pointer!important;
  box-shadow:none!important;
  border-radius:0!important;
  text-align:right!important;
  text-align-last:right!important;
  direction:ltr!important;
}
.dcp .dcp-info-cta-row table.variations select:focus,
.dcp .dcp-info-cta-row table.variations select:focus-visible,
.dcp .dcp-info-cta-row table.variations select:active{
  outline:none!important;
  box-shadow:none!important;
  border:none!important;
}
.dcp .dcp-info-cta-row table.variations select option{
  background:#fff;
  color:#111111;
  font-weight:500;
  padding:8px;
}

/* "Effacer" : caché par défaut, n'apparait QUE quand WC met visibility:visible.
   WC change l'inline style à display:inline / display:none, donc on s'aligne là-dessus. */
.dcp .dcp-info-cta-row .reset_variations{
  display:none!important;
  font-size:11px!important;
  color:#9ca3af!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
  letter-spacing:.3px;
  margin-left:14px!important;
  padding:0!important;
}
.dcp .dcp-info-cta-row .reset_variations[style*="display: inline"],
.dcp .dcp-info-cta-row .reset_variations[style*="display:inline"]{
  display:inline-block!important;
}
.dcp .dcp-info-cta-row .reset_variations:hover{color:#1447B8!important;}

/* Le bloc add-to-cart dans le single_variation_wrap (pour variables) */
.dcp .dcp-info-cta-row .single_variation_wrap{width:100%;}
.dcp .dcp-info-cta-row .woocommerce-variation-add-to-cart{
  display:flex!important;
  gap:10px!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
}
.dcp .dcp-info-cta-row .woocommerce-variation-add-to-cart .quantity{flex-shrink:0;}
.dcp .dcp-info-cta-row .woocommerce-variation-add-to-cart button{flex:1!important;min-width:0!important;}

/* Produit simple : forcer qty + bouton sur la même ligne, qty étroite */
.dcp .dcp-info-cta-row form.cart:not(.variations_form){
  flex-wrap:nowrap!important;
}
.dcp .dcp-info-cta-row form.cart .quantity{flex-shrink:0;}

/* Bouton "Add to cart" sur le variation_form (cas où WC le rend dans le single_variation_wrap) */
.dcp .dcp-info-cta-row .woocommerce-variation-add-to-cart button.single_add_to_cart_button{
  flex:1!important;
  background:#111111!important;
  color:#ffffff!important;
  padding:18px 32px!important;
  border-radius:100px!important;
  font-size:15px!important;
  font-weight:600!important;
  border:none!important;
  cursor:pointer!important;
}
.dcp .dcp-info-cta-row .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover{
  background:#1447B8!important;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(201,125,96,.35);
}

/* ===== TIMELINE LIVRAISON (dans bloc prix) ===== */
.dcp-timeline{margin-top:24px;padding:20px 18px;background:#f4f6f9;border-radius:16px;}
.dcp-timeline-urgency{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-radius:10px;margin-bottom:18px;border-left:3px solid #1447B8;}
.dcp-timeline-urgency-ic{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;}
.dcp-timeline-urgency-ic svg{width:18px;height:18px;color:#1447B8;}
.dcp-timeline-urgency-tx{font-size:13px;color:#111111;line-height:1.4;}
.dcp-timeline-urgency-tx strong{color:#1447B8;font-weight:700;}

.dcp-timeline-track{display:flex;align-items:flex-start;gap:0;padding:4px 0;}
.dcp-timeline-step{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px;}
.dcp-timeline-line{flex:1 1 auto;height:2px;background:#d4d9e2;margin-top:18px;border-radius:1px;position:relative;top:0;}
.dcp-timeline-line.is-active{background:linear-gradient(to right,#6b7280,#d4d9e2);}

.dcp-timeline-dot{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid #d4d9e2;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:all .25s;}
.dcp-timeline-dot svg{width:16px;height:16px;}
.dcp-timeline-step.is-done .dcp-timeline-dot{background:#6b7280;border-color:#6b7280;color:#fff;}
.dcp-timeline-step.is-current .dcp-timeline-dot{background:#fff;border-color:#1447B8;color:#1447B8;box-shadow:0 0 0 4px rgba(201,125,96,.18);}
.dcp-timeline-step.is-current .dcp-timeline-dot svg{animation:dcp-tl-pulse 1.8s ease-in-out infinite;}
@keyframes dcp-tl-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}

.dcp-timeline-label{font-size:11px;font-weight:600;color:#6b7280;letter-spacing:.3px;text-transform:uppercase;}
.dcp-timeline-date{font-size:12px;font-weight:700;color:#111111;text-align:center;line-height:1.25;}
.dcp-timeline-step.is-done .dcp-timeline-date{color:#6b7280;}
.dcp-timeline-step.is-current .dcp-timeline-date{color:#1447B8;}

.dcp-timeline-foot{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid #d4d9e2;font-size:12px;font-weight:600;color:#6b7280;}
.dcp-timeline-foot svg{width:14px;height:14px;color:#6b7280;}

/* ===== BANDE DE RÉASSURANCE (entre hero et avis) ===== */
.dcp-trust-band{background:#fff;border-top:1px solid #f4f6f9;border-bottom:1px solid #f4f6f9;padding:42px 6%;}
.dcp-trust-band-c{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:center;}
.dcp-trust-band-i{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;}
.dcp-trust-band-ic{width:54px;height:54px;border-radius:50%;background:#ffffff;display:flex;align-items:center;justify-content:center;border:1px solid #f4f6f9;transition:all .3s;}
.dcp-trust-band-ic svg{width:24px;height:24px;color:#1447B8;}
.dcp-trust-band-i:hover .dcp-trust-band-ic{background:#1447B8;border-color:#1447B8;transform:translateY(-2px);box-shadow:0 8px 20px rgba(201,125,96,.2);}
.dcp-trust-band-i:hover .dcp-trust-band-ic svg{color:#fff;}
.dcp-trust-band-tx strong{display:block;font-size:14px;font-weight:700;color:#111111;line-height:1.3;margin-bottom:4px;}
.dcp-trust-band-tx span{display:block;font-size:12px;color:#6b7280;line-height:1.3;}

/* POUR QUI */
.dcp-who{padding:60px 6%;background:#fff;border-top:1px solid #f4f6f9;border-bottom:1px solid #f4f6f9;}
.dcp-who-c{max-width:1400px;margin:0 auto;}
.dcp-who-hd{text-align:center;margin-bottom:36px;}
.dcp-eyebrow{display:inline-block;font-size:11px;font-weight:600;color:#1447B8;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.dcp-eyebrow::before{content:'❋ ';}
.dcp-who-hd h2,.dcp-specs-hd h2,.dcp-desc-hd h2,.dcp-tech-hd h2,.dcp-faq-hd h2,.dcp-rev-hd-l h2,.dcp-cross-hd-l h2{font-size:32px;font-weight:600;color:#111111;letter-spacing:-1px;line-height:1.2;}
.dcp h2 em{color:#1447B8;font-weight:500;}
.dcp-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dcp-who-c-i{padding:28px;background:#ffffff;border-radius:20px;border:1.5px solid transparent;transition:all .3s;}
.dcp-who-c-i:hover{border-color:#1447B8;transform:translateY(-4px);}
.dcp-who-c-i-ic{font-size:36px;line-height:1;margin-bottom:14px;display:block;}
.dcp-who-c-i h3{font-size:17px;font-weight:600;color:#111111;margin-bottom:8px;letter-spacing:-.3px;}
.dcp-who-c-i p{font-size:13px;color:#4b5563;line-height:1.6;}

/* SPECS */
/* ===== SECTION SPECS — VERT SAUGE SOMBRE (cohérent accordéon homepage) ===== */
.dcp-specs{padding:80px 6%;background:#111111;color:#ffffff;position:relative;overflow:hidden;}
.dcp-specs::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,125,96,.12) 0%,transparent 70%);pointer-events:none;}
.dcp-specs::after{content:'';position:absolute;bottom:-200px;left:-200px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(122,139,106,.18) 0%,transparent 70%);pointer-events:none;}
.dcp-specs-c{max-width:1400px;margin:0 auto;position:relative;z-index:2;}
.dcp-specs-hd{text-align:center;margin-bottom:48px;}
.dcp-specs-hd .dcp-eyebrow{color:#1447B8;}
.dcp-specs-hd h2{color:#ffffff!important;}
.dcp-specs-hd h2 em{color:#1447B8;}
.dcp-specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dcp-specs-i{background:rgba(251,247,240,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:28px 24px;border:1px solid rgba(251,247,240,.12);transition:all .3s;display:flex;align-items:flex-start;gap:18px;}
.dcp-specs-i:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.25);border-color:#1447B8;background:rgba(251,247,240,.08);}
.dcp-specs-ic{flex-shrink:0;width:48px;height:48px;border-radius:14px;background:rgba(201,125,96,.18);display:flex;align-items:center;justify-content:center;}
.dcp-specs-ic svg{width:22px;height:22px;color:#1447B8;}
.dcp-specs-c-tx{flex:1;}
.dcp-specs-l{font-size:11px;color:rgba(251,247,240,.6);letter-spacing:1.2px;text-transform:uppercase;font-weight:600;margin-bottom:6px;}
.dcp-specs-v{font-size:20px;font-weight:700;color:#ffffff;letter-spacing:-.5px;line-height:1.1;margin-bottom:4px;}
.dcp-specs-d{font-size:12px;color:rgba(251,247,240,.7);line-height:1.5;}

/* DESCRIPTION MAGAZINE */
.dcp-desc{padding:80px 6%;background:#fff;}
.dcp-desc-c{max-width:1100px;margin:0 auto;}
.dcp-desc-hd{margin-bottom:50px;text-align:center;}
.dcp-desc-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:60px;}
.dcp-desc-row:last-child{margin-bottom:0;}
.dcp-desc-row.reverse{direction:rtl;}
.dcp-desc-row.reverse>*{direction:ltr;}
.dcp-desc-row.no-img{grid-template-columns:1fr;max-width:780px;margin-left:auto;margin-right:auto;text-align:center;padding:40px 0;}
.dcp-desc-row.no-img .dcp-desc-tx h3{font-size:28px;}
.dcp-desc-tx h3{font-size:24px;font-weight:600;color:#111111;letter-spacing:-.5px;line-height:1.25;margin-bottom:16px;}
.dcp-desc-tx h3 em{color:#1447B8;font-weight:500;}
.dcp-desc-tx p{font-size:15px;color:#4b5563;line-height:1.75;margin-bottom:14px;}
.dcp-desc-tx p:last-child{margin-bottom:0;}
.dcp-desc-img{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1/1;background:#f4f6f9;max-width:560px;margin:0 auto;}
.dcp-desc-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* TECH TABLE */
.dcp-tech{padding:60px 6% 80px;background:#ffffff;}
.dcp-tech-c{max-width:900px;margin:0 auto;}
.dcp-tech-hd{text-align:center;margin-bottom:36px;}
.dcp-tech-tbl{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #f4f6f9;}
.dcp-tech-r{display:grid;grid-template-columns:1fr 1.4fr;border-bottom:1px solid #f4f6f9;}
.dcp-tech-r:last-child{border-bottom:none;}
.dcp-tech-r:nth-child(odd){background:#ffffff;}
.dcp-tech-k{padding:16px 24px;font-size:13px;color:#6b7280;font-weight:500;letter-spacing:.2px;}
.dcp-tech-v{padding:16px 24px;font-size:14px;color:#111111;font-weight:600;}

/* TIPS */
.dcp-tips{padding:60px 6%;background:#fff;}
.dcp-tips-c{max-width:1100px;margin:0 auto;background:linear-gradient(135deg,#f4f6f9 0%,#e5e9f0 100%);border-radius:28px;padding:48px 56px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;}
.dcp-tips-l h3{font-size:28px;font-weight:600;color:#111111;letter-spacing:-.8px;line-height:1.15;margin-bottom:14px;}
.dcp-tips-l h3 em{color:#1447B8;font-weight:500;}
.dcp-tips-l p{font-size:14px;color:#4b5563;line-height:1.7;}
.dcp-tips-r{display:flex;flex-direction:column;gap:14px;}
.dcp-tips-i{display:flex;align-items:flex-start;gap:14px;background:rgba(255,255,255,.6);padding:18px 20px;border-radius:14px;}
.dcp-tips-i-ic{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#1447B8;display:flex;align-items:center;justify-content:center;}
.dcp-tips-i-ic svg{width:14px;height:14px;color:#fff;}
.dcp-tips-i-tx h4{font-size:14px;font-weight:600;color:#111111;letter-spacing:-.2px;margin-bottom:4px;}
.dcp-tips-i-tx p{font-size:13px;color:#4b5563;line-height:1.55;}

/* AVIS WC */
.dcp-rev{padding:70px 6%;background:#f4f6f9;}
.dcp-rev-c{max-width:1400px;margin:0 auto;}
.dcp-rev-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;flex-wrap:wrap;gap:24px;}
.dcp-rev-hd-l .dcp-eyebrow{margin-bottom:8px;}
.dcp-rev #reviews{background:#fff;border-radius:20px;padding:28px;}

/* FAQ */
.dcp-faq{padding:70px 6%;background:#ffffff;}
.dcp-faq-c{max-width:900px;margin:0 auto;}
.dcp-faq-hd{text-align:center;margin-bottom:40px;}
.dcp-faq-list{display:flex;flex-direction:column;gap:14px;}
.dcp-faq-i{background:#fff;border-radius:18px;padding:24px 28px;cursor:pointer;transition:all .3s;border:1.5px solid transparent;}
.dcp-faq-i:hover{border-color:#e5e9f0;}
.dcp-faq-i.open{border-color:#1447B8;}
.dcp-faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.dcp-faq-q h4{font-size:16px;font-weight:600;color:#111111;letter-spacing:-.2px;flex:1;}
.dcp-faq-q-i{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff;display:flex;align-items:center;justify-content:center;transition:all .3s;}
.dcp-faq-i.open .dcp-faq-q-i{background:#1447B8;transform:rotate(45deg);}
.dcp-faq-q-i svg{width:14px;height:14px;color:#111111;transition:color .3s;}
.dcp-faq-i.open .dcp-faq-q-i svg{color:#fff;}
.dcp-faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,margin .4s ease;}
.dcp-faq-i.open .dcp-faq-a{max-height:400px;margin-top:14px;}
.dcp-faq-a p{font-size:14px;color:#4b5563;line-height:1.7;}

/* CROSS-SELL */
.dcp-cross{padding:70px 6%;background:#fff;}
.dcp-cross-c{max-width:1400px;margin:0 auto;}
.dcp-cross-hd{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:36px;}
.dcp-cross-hd-l .dcp-eyebrow{margin-bottom:8px;}
.dcp-cross-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.dcp-pc{background:#ffffff;border-radius:20px;overflow:hidden;cursor:pointer;transition:all .4s;display:block;}
.dcp-pc:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(45,58,46,.1);}
.dcp-pc-im{position:relative;height:0;padding-top:100%;background:#ffffff;overflow:hidden;}
.dcp-pc-ii{position:absolute;inset:0;}
.dcp-pc-ii img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box;transition:transform .8s;}
.dcp-pc:hover .dcp-pc-ii img{transform:scale(1.05);}
.dcp-pc-bd{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:100px;font-size:10px;font-weight:600;background:#1447B8;color:#fff;letter-spacing:.3px;z-index:2;}
.dcp-pc-in{padding:18px 18px 20px;}
.dcp-pc-br{font-size:10px;color:#6b7280;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;}
.dcp-pc-nm{font-size:14px;font-weight:600;color:#111111;line-height:1.35;margin-bottom:10px;letter-spacing:-.1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;}
.dcp-pc-pr{display:flex;align-items:baseline;gap:8px;}
.dcp-pc-p{font-size:18px;font-weight:700;color:#111111;letter-spacing:-.4px;}
.dcp-pc-p .woocommerce-Price-amount{color:#111111;}
.dcp-pc-o{font-size:12px;color:#9ca3af;text-decoration:line-through;}
.dcp-pc-o .woocommerce-Price-amount{color:#9ca3af;}

/* RESPONSIVE TABLETTE */
@media(max-width:1100px){
.dcp-hero-c{grid-template-columns:1fr;gap:40px;}
.dcp-info-h{font-size:32px;}
.dcp-who-grid{grid-template-columns:1fr;gap:14px;}
.dcp-specs-grid{grid-template-columns:1fr 1fr;}
.dcp-desc-row,.dcp-desc-row.reverse{grid-template-columns:1fr;gap:24px;direction:ltr;}
.dcp-tips-c{grid-template-columns:1fr;gap:28px;padding:36px 32px;}
.dcp-cross-grid{grid-template-columns:repeat(3,1fr);}
}

/* RESPONSIVE MOBILE */
@media(max-width:768px){
.dcp-bc,.dcp-hero,.dcp-who,.dcp-specs,.dcp-desc,.dcp-tech,.dcp-tips,.dcp-rev,.dcp-faq,.dcp-cross{padding-left:5%;padding-right:5%;}
.dcp-hero{padding-top:24px;padding-bottom:50px;}
.dcp-info-h{font-size:26px;letter-spacing:-.8px;}
.dcp-info-price-pn{font-size:34px;}
.dcp-info-price-po{font-size:16px;}
.dcp-timeline{padding:16px 14px;}
.dcp-timeline-track{padding:0;}
.dcp-timeline-step{min-width:62px;gap:5px;}
.dcp-timeline-dot{width:34px;height:34px;}
.dcp-timeline-label{font-size:10px;}
.dcp-timeline-date{font-size:11px;}
.dcp-timeline-urgency{padding:8px 12px;margin-bottom:14px;}
.dcp-timeline-urgency-tx{font-size:12px;}
.dcp-trust-band{padding:28px 5%;}
.dcp-trust-band-c{grid-template-columns:repeat(2,1fr);gap:24px 16px;}
.dcp-trust-band-ic{width:42px;height:42px;}
.dcp-trust-band-ic svg{width:20px;height:20px;}
.dcp-trust-band-tx strong{font-size:13px;}
.dcp-trust-band-tx span{font-size:11px;}
.dcp-who,.dcp-specs,.dcp-desc,.dcp-tech,.dcp-tips,.dcp-rev,.dcp-faq,.dcp-cross{padding-top:50px;padding-bottom:50px;}
.dcp-who-hd h2,.dcp-specs-hd h2,.dcp-desc-hd h2,.dcp-tech-hd h2,.dcp-rev-hd-l h2,.dcp-faq-hd h2,.dcp-cross-hd-l h2{font-size:26px;letter-spacing:-.8px;}
.dcp-specs-grid{grid-template-columns:1fr;}
.dcp-tips-c{padding:28px 24px;}
.dcp-tips-l h3{font-size:22px;}
.dcp-rev-hd{flex-direction:column;align-items:flex-start;}
.dcp-cross-grid{grid-template-columns:1fr 1fr;gap:14px;}
.dcp-cross-hd{flex-direction:column;align-items:flex-start;}
.dcp-tech-tbl{font-size:13px;}
.dcp-tech-k,.dcp-tech-v{padding:12px 18px;}
.dcp-faq-i{padding:20px 22px;}
.dcp-faq-q h4{font-size:14px;}
.dcp-desc-tx h3{font-size:20px;}
}

/* TOAST notification ajout panier */
.dcp-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:#111111;color:#ffffff;padding:14px 22px;border-radius:100px;font-family:'Poppins',system-ui,sans-serif;font-size:14px;font-weight:500;display:flex;align-items:center;gap:12px;box-shadow:0 16px 40px rgba(45,58,46,.25);opacity:0;transition:all .4s cubic-bezier(.2,.8,.2,1);z-index:99999;max-width:90vw;}
.dcp-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.dcp-toast svg{width:18px;height:18px;color:#6b7280;flex-shrink:0;}
.dcp-toast a{color:#1447B8;font-weight:600;text-decoration:none;border-left:1px solid rgba(251,247,240,.2);padding-left:12px;margin-left:4px;}
.dcp-toast a:hover{color:#ffffff;}
@media(max-width:768px){
.dcp-toast{font-size:13px;padding:12px 18px;bottom:16px;}
.dcp-toast a{padding-left:10px;margin-left:2px;}
}

/* Cacher le fil d'Ariane WooCommerce (on a déjà notre breadcrumb custom) */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
    display: none !important;
}

/* ========== OVERRIDE CARTES WOOCOMMERCE / ELEMENTOR ========== */
/* Force toutes les cartes produit (loops, related, upsells, page catégorie) à afficher
   les images en entier sans crop ni vide blanc, avec un fond crème qui matche la palette */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.elementor-widget-woocommerce-products ul.products li.product img,
.elementor-products-grid ul.products li.product img,
ul.products li.product .attachment-woocommerce_thumbnail,
ul.products li.product a img {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    background: #ffffff !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
}

/* Et leurs conteneurs : pas de hauteur forcée qui crée le vide blanc */
.woocommerce ul.products li.product a,
.elementor-widget-woocommerce-products ul.products li.product a {
    display: block;
}

/* Page produit single : images de galerie WC respectent leur ratio */
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img {
    object-fit: contain !important;
    background: #ffffff !important;
}

/* ========== FULL-BLEED SECTIONS ==========
   Casse le container Hello Elementor / WooCommerce pour que ces sections
   prennent toute la largeur du viewport. Le contenu interne reste centré
   via .dcp-xxx-c (max-width:1400px;margin:0 auto). */
.dcp,
.dcp-product-page {
    overflow: visible !important;
}
.dcp .dcp-specs,
.dcp .dcp-tech,
.dcp .dcp-faq,
.dcp .dcp-rev {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}
/* Empêche le scroll horizontal causé par 100vw quand une scrollbar est présente */
html, body {
    overflow-x: hidden;
}
