/* ============================================================
   Store Engine — gabarit « Estimateur » (v4.4) — moderne, app
   ============================================================ */
.dcp--estimateur{background:var(--wcse-bg)}
.dce-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.dce-h2{font-family:var(--wcse-font-heading);font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0 0 22px;color:var(--wcse-text)}
.dce-sec{padding:56px 0}
.dce-small{font-size:13.5px;color:var(--wcse-secondary);margin:14px 0 0;line-height:1.55}

/* ---------- Haut : galerie carte + achat ---------- */
.dce-top{padding:24px 0 56px}
.dce-top-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.dce-gal-main{background:#fff;border-radius:var(--wcse-radius-lg,24px);padding:32px;box-shadow:0 10px 40px rgba(0,0,0,.05)}
.dce-gal-main img{width:100%;height:auto;max-height:520px;object-fit:contain;display:block}
.dce-gal-thumbs{display:flex;gap:8px;margin-top:12px}
.dce-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;font-size:15px}
.dce-points li{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:var(--wcse-radius,12px);padding:12px 14px}
.dce-points svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--wcse-accent)}
.dce-bc{font-size:13px;color:var(--wcse-secondary);margin:0 0 14px}
.dce-bc a{color:inherit;text-decoration:none}
.dce-bc span{margin:0 6px}
.dce-bc b{font-weight:500;color:var(--wcse-text)}
.dce-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.dce-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:var(--wcse-radius-pill,100px);background:#fff;border:1px solid var(--tpl-line);color:var(--wcse-text)}
.dce-chip-rt{background:var(--wcse-accent);border-color:var(--wcse-accent);color:#fff}
.dce-h1{font-family:var(--wcse-font-heading);font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 8px;color:var(--wcse-text)}
.dce-accent{font-size:17px;color:var(--wcse-secondary);margin:0 0 20px}

/* Estimateur */
.dce-est{background:#fff;border-radius:var(--wcse-radius-lg,24px);padding:20px 22px 18px;margin:0 0 18px;box-shadow:0 10px 40px rgba(0,0,0,.05);border:1px solid var(--tpl-line)}
.dce-est-hd{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin-bottom:14px}
.dce-est-hd svg{width:26px;height:26px;color:var(--wcse-accent);grid-row:1/3}
.dce-est-hd b{font-family:var(--wcse-font-heading);font-size:18px;font-weight:700}
.dce-est-hd span{font-size:13px;color:var(--wcse-secondary)}
.dce-est-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dce-est-g label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--wcse-secondary);text-transform:uppercase;letter-spacing:.05em}
.dce-est-g select{appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0 34px 0 12px;border:1.5px solid var(--tpl-line);border-radius:var(--wcse-radius-sm,10px);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/14px;font:inherit;font-size:14px;font-weight:600;color:var(--wcse-text);text-transform:none;letter-spacing:0;cursor:pointer}
.dce-est-g select:focus{outline:2px solid var(--wcse-accent);outline-offset:1px}
.dce-est-out{margin:14px 0 0;font-size:14px;color:var(--wcse-text);background:var(--tpl-soft);border-radius:var(--wcse-radius-sm,10px);padding:10px 14px;line-height:1.5}
.dce-est-out b{color:var(--wcse-primary)}

/* Cartes conseillées */
body .dcp--estimateur button.wcse-var-card.is-reco{border-color:var(--wcse-accent)!important}
body .dcp--estimateur button.wcse-var-card.is-reco::before{content:"Conseillé";position:absolute;top:-10px;right:12px;background:var(--wcse-accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:var(--wcse-radius-pill,100px)}
.dce-price{padding:6px 0 4px}

/* Étapes + confiance */
.dce-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.dce-step{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#fff;border-radius:var(--wcse-radius,12px);border:1px solid var(--tpl-line);font-size:12.5px;color:var(--wcse-secondary);line-height:1.3}
.dce-step svg{width:20px;height:20px;flex:none;color:var(--wcse-accent)}
.dce-step b{color:var(--wcse-text);font-size:13.5px}
.dce-step.is-on{border-color:var(--wcse-accent)}
.dce-trust{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px;color:var(--wcse-secondary);margin-top:14px}
.dce-trust span{display:inline-flex;align-items:center;gap:6px}
.dce-trust svg{width:13px;height:13px}

/* ---------- Pictos ---------- */
.dce-specs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.dce-specs-3,.dce-specs-4,.dce-specs-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.dce-spec{background:#fff;border-radius:var(--wcse-radius-lg,24px);padding:22px 18px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--tpl-line);min-width:0}
.dce-spec svg{width:28px;height:28px;color:var(--wcse-accent);margin-bottom:6px}
.dce-spec b{font-family:var(--wcse-font-heading);font-size:22px;font-weight:700;line-height:1;color:var(--wcse-text);overflow-wrap:anywhere}
.dce-spec span{font-size:13px;color:var(--wcse-secondary)}
.dce-spec small{font-size:12px;color:var(--wcse-secondary);opacity:.8}

/* ---------- Onglets ---------- */
.dce-tabbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;background:#fff;padding:6px;border-radius:var(--wcse-radius-pill,100px);border:1px solid var(--tpl-line);width:fit-content;max-width:100%}
.dce-tab{border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--wcse-secondary);padding:10px 18px;border-radius:var(--wcse-radius-pill,100px);cursor:pointer;transition:background .15s,color .15s}
.dce-tab.is-on{background:var(--wcse-primary);color:#fff}
.dce-panel{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;background:#fff;border-radius:var(--wcse-radius-lg,24px);padding:32px;border:1px solid var(--tpl-line)}
.dce-panel.is-on{display:grid}
.dce-panel-tx h3{font-family:var(--wcse-font-heading);font-size:24px;font-weight:700;margin:0 0 12px;line-height:1.15}
.dce-panel-tx p{font-size:15.5px;line-height:1.65;color:var(--wcse-secondary);margin:0 0 12px}
.dce-panel-tx p:last-child{margin-bottom:0}
.dce-panel-im{aspect-ratio:4/3;overflow:hidden;border-radius:var(--wcse-radius,14px);background:var(--tpl-soft)}
.dce-panel-im img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Durée en barres ---------- */
.dce-dur{background:#fff;border-radius:var(--wcse-radius-lg,24px);padding:32px;border:1px solid var(--tpl-line)}
.dce-dur-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.dce-dur-hd .dce-h2{margin:0}
.dce-dur-big{text-align:right}
.dce-dur-big b{display:block;font-family:var(--wcse-font-heading);font-size:40px;font-weight:700;line-height:1;color:var(--wcse-primary)}
.dce-dur-big span{font-size:13px;color:var(--wcse-secondary)}
.dce-bars{display:grid;gap:12px}
.dce-bar{display:grid;grid-template-columns:200px 1fr auto;gap:16px;align-items:center;font-size:14px}
.dce-bar-l{color:var(--wcse-secondary)}
.dce-bar-t{height:12px;background:var(--tpl-soft);border-radius:var(--wcse-radius-pill,100px);overflow:hidden}
.dce-bar-t i{display:block;height:100%;background:var(--wcse-accent);border-radius:inherit}
.dce-bar b{font-weight:700;white-space:nowrap}
.dce-incl{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.dce-incl span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--wcse-text);background:var(--tpl-soft);border-radius:var(--wcse-radius-pill,100px);padding:6px 12px}
.dce-incl svg{width:13px;height:13px;color:var(--wcse-accent)}

/* ---------- Avis en grille compacte (markup du module reviews) ---------- */
.dce-reviews{padding:0}
.dcp--estimateur .dcp-rvf{background:transparent!important;padding:56px 24px!important}
.dcp--estimateur .dcp-rvf-c{max-width:1132px!important}
.dcp--estimateur .dcp-rvf-hd-title .dcp-eyebrow{display:none}
.dcp--estimateur .dcp-rvf-hd-title h2{font-family:var(--wcse-font-heading)!important;font-size:clamp(22px,2.4vw,28px)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--wcse-text)!important;margin:0!important}
.dcp--estimateur .dcp-rvf-nav{display:none!important}
.dcp--estimateur .dcp-rvf-carousel{overflow:visible!important;padding:0!important;margin:0!important}
.dcp--estimateur .dcp-rvf-track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;transform:none!important}
.dcp--estimateur .dcp-rvf-track .dcp-rvf-card{flex:none!important;width:auto!important;min-width:0!important;background:#fff!important;border:1px solid var(--tpl-line)!important;border-radius:var(--wcse-radius-lg,24px)!important;padding:20px!important;box-shadow:none!important;transform:none!important}
.dcp--estimateur .dcp-rvf-track .dcp-rvf-card:nth-child(n+7){display:none!important}
.dcp--estimateur .dcp-rvf-card-body{font-size:14px!important;line-height:1.55!important}
body .dcp--estimateur .dcp-rvf .dcp-rvf-cta-btn{border-radius:var(--wcse-radius-pill,100px)!important;background:var(--wcse-primary)!important;color:#fff!important;box-shadow:none!important}

/* ---------- FAQ en cartes ---------- */
.dce-faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.dce-faq .dcp-faq-i{background:#fff;border:1px solid var(--tpl-line);border-radius:var(--wcse-radius,14px);padding:16px 18px}
.dce-faq .dcp-faq-i.open{border-color:var(--wcse-accent)}

/* ---------- Rail de produits ---------- */
.dce-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.dce-card{flex:0 0 220px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--tpl-line);border-radius:var(--wcse-radius-lg,24px);padding:14px 14px 16px;transition:transform .2s,box-shadow .2s}
.dce-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.07)}
.dce-card-im{display:block;aspect-ratio:1/1;border-radius:var(--wcse-radius,14px);background:#fff;padding:12px;border:1px solid var(--tpl-line);margin-bottom:6px}
.dce-card-im img{width:100%;height:100%;object-fit:contain;display:block}
.dce-card-cat{font-size:12px;color:var(--wcse-secondary)}
.dce-card b{font-size:14.5px;font-weight:600;line-height:1.3}
.dce-card-pr{font-weight:700;color:var(--wcse-primary);font-size:15px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .dce-top-g{grid-template-columns:1fr;gap:24px}
  .dce-gal-main img{max-height:380px}
  .dce-specs,.dce-specs-3,.dce-specs-4,.dce-specs-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dce-panel{grid-template-columns:1fr;gap:20px;padding:22px}
  .dcp--estimateur .dcp-rvf-track{grid-template-columns:1fr 1fr}
  .dce-bar{grid-template-columns:1fr;gap:6px}
}
@media (max-width:640px){
  .dce-wrap{padding:0 16px}
  .dce-sec{padding:40px 0}
  .dce-est-g{grid-template-columns:1fr}
  .dce-steps{grid-template-columns:1fr}
  .dce-specs,.dce-specs-3,.dce-specs-4,.dce-specs-5{grid-template-columns:1fr 1fr}
  .dce-dur{padding:22px}
  .dce-dur-hd{flex-direction:column;align-items:flex-start}
  .dce-dur-big{text-align:left}
  .dcp--estimateur .dcp-rvf{padding:40px 16px!important}
  .dcp--estimateur .dcp-rvf-track{grid-template-columns:1fr}
  .dce-faq{grid-template-columns:1fr}
  .dce-tabbar{border-radius:var(--wcse-radius,14px)}
}

/* v4.6.10 — onglets blindés contre les styles de bouton du thème (Hello Elementor : bordure et texte #c36,
   fond #c36 au survol et au focus). `.dce-tab` seul (0,1,0) perdait face à `[type=button]` et `button:hover`. */
body .dcp--estimateur button.dce-tab,
body .dcp--estimateur button.dce-tab:hover,
body .dcp--estimateur button.dce-tab:focus,
body .dcp--estimateur button.dce-tab:active{appearance:none;-webkit-appearance:none;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;outline:none;color:var(--wcse-secondary)!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important;padding:10px 18px!important;margin:0!important;min-height:0!important;height:auto!important;border-radius:var(--wcse-radius-pill,100px)!important;text-decoration:none!important;white-space:nowrap}
body .dcp--estimateur button.dce-tab:hover{color:var(--wcse-text)!important;background:color-mix(in srgb,var(--wcse-primary) 7%,#fff)!important}
body .dcp--estimateur button.dce-tab:focus-visible{box-shadow:0 0 0 2px var(--wcse-accent)!important}
body .dcp--estimateur button.dce-tab.is-on,
body .dcp--estimateur button.dce-tab.is-on:hover,
body .dcp--estimateur button.dce-tab.is-on:focus{background:var(--wcse-primary)!important;color:#fff!important}
@media (max-width:640px){
  .dcp--estimateur .dce-tabbar{display:grid;grid-template-columns:1fr;width:100%;gap:4px}
  body .dcp--estimateur button.dce-tab,body .dcp--estimateur button.dce-tab:hover,body .dcp--estimateur button.dce-tab:focus{white-space:normal;text-align:left;padding:12px 16px!important;border-radius:var(--wcse-radius-sm,8px)!important;font-size:15px!important}
}

/* v4.6.11 — équilibre du haut de fiche.
   La galerie suit le défilement tant que la colonne d'achat est plus haute (estimateur + conditionnements).
   Produit simple (pas d'estimateur ni de conditionnements) : les points forts passent dans la colonne d'achat,
   regroupés dans une seule carte à filets, et la galerie est un peu moins haute. */
@media (min-width:1025px){
  .dce-gal{position:sticky;top:24px}
  .dce-top-simple .dce-gal-main img{max-height:440px}
  .dce-top-simple .dce-gal-main{padding:28px}
}
.dce-points-buy{margin:4px 0 20px;gap:0;background:#fff;border-radius:var(--wcse-radius,14px);border:1px solid var(--tpl-line);padding:4px 16px}
.dce-points-buy li{background:transparent;border-radius:0;padding:12px 0;border-bottom:1px solid var(--tpl-line);font-size:15px;line-height:1.45}
.dce-points-buy li:last-child{border-bottom:0}
.dce-top-simple .dce-accent{margin-bottom:16px}
