/* =========================================================
   HOP COM x Ermon Publicité : fiches produit + page devis
   Identité : les 4 encres d'impression (CMJN) + trame de points
   ========================================================= */
.hc{--c:#00AFEC;--m:#F50589;--y:#FFF032;--k:#061B33;--k2:#0E2A4A;--ink:#061B33;--muted:#3E5266;--line:#DCE5EE;--soft:#F3F7FB;--paper:#FFFFFF;
  --accent:var(--c);--accent-soft:#E6F6FD;--accent-ink:#061B33;
  --r-lg:20px;--r-md:14px;--r-sm:10px;--ease:cubic-bezier(.23,1,.32,1);
  font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.hc--part{--accent:var(--m);--accent-soft:#FFEAF4;--accent-ink:#FFFFFF}
.hc *,.hc *::before,.hc *::after{box-sizing:border-box}
.hc h1,.hc h2,.hc h3{text-wrap:balance}
.hc p{text-wrap:pretty}

/* ---------- petits éléments communs ---------- */
.hc-crumb .woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin:0}
.hc-crumb .woocommerce-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.hc-crumb .woocommerce-breadcrumb a:hover{color:var(--ink)}
.hc-tag{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.hc-tag i{display:inline-flex;gap:3px}
.hc-tag i b{width:7px;height:7px;border-radius:50%;display:block}
.hc-tag i b:nth-child(1){background:var(--c)}.hc-tag i b:nth-child(2){background:var(--m)}.hc-tag i b:nth-child(3){background:var(--y)}.hc-tag i b:nth-child(4){background:var(--k)}
.hc-cmyk{display:flex;height:6px;width:100%;border-radius:999px;overflow:hidden}
.hc-cmyk span{flex:1}
.hc-cmyk span:nth-child(1){background:var(--c)}.hc-cmyk span:nth-child(2){background:var(--m)}.hc-cmyk span:nth-child(3){background:var(--y)}.hc-cmyk span:nth-child(4){background:var(--k)}
.hc-h2{font-weight:800;font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.02em;margin:0;color:var(--ink)}
.hc-h2 em{font-style:normal;color:var(--accent)}
.hc--pro .hc-h2 em{color:#0091C4}
.hc-lead{font-size:17px;line-height:1.6;color:var(--muted);margin:0;max-width:60ch}

/* ---------- galerie ---------- */
.hc-stage{position:relative;border-radius:var(--r-lg);background:var(--soft);padding:18px;isolation:isolate}
.hc-stage::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background-image:radial-gradient(color-mix(in srgb,var(--accent) 22%,transparent) 1.4px,transparent 1.6px);background-size:16px 16px;
  -webkit-mask-image:linear-gradient(135deg,#000 0%,transparent 55%);mask-image:linear-gradient(135deg,#000 0%,transparent 55%)}
.hc-stage .woocommerce-product-gallery{margin:0!important;width:100%!important}
.hc-stage .woocommerce-product-gallery__wrapper{border-radius:var(--r-md);overflow:hidden;background:#fff}
.hc-stage .woocommerce-product-gallery__image img{border-radius:var(--r-md)}
.hc-stage .flex-control-thumbs{display:flex!important;gap:10px;margin:14px 0 0!important;padding:0;flex-wrap:wrap}
.hc-stage .flex-control-thumbs li{width:68px!important;margin:0!important;float:none!important}
.hc-stage .flex-control-thumbs img{border-radius:var(--r-sm);border:2px solid transparent;background:#fff;opacity:.65;transition:opacity .2s,border-color .2s}
.hc-stage .flex-control-thumbs img.flex-active,.hc-stage .flex-control-thumbs img:hover{opacity:1;border-color:var(--accent)}
.hc-stage .woocommerce-product-gallery__trigger{top:30px!important;right:30px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 4px 14px rgba(6,27,51,.12)}

/* ---------- résumé produit ---------- */
@media(min-width:1025px){.hc-summary{position:sticky;top:110px}}
.hc-title .elementor-heading-title,.hc-title .product_title{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:clamp(30px,3.4vw,46px)!important;line-height:1.05!important;letter-spacing:-.025em!important;color:var(--ink)!important;margin:0!important;text-transform:none!important}
.hc-title .elementor-heading-title::after,.hc-title .product_title::after{display:none!important}
.hc-excerpt{font-size:16px;line-height:1.6;color:var(--muted);margin:0}
.hc-price .price{font-family:'Montserrat',sans-serif!important;font-size:30px!important;font-weight:800!important;color:var(--ink)!important;letter-spacing:-.02em}
.hc-price .price del{font-size:18px;opacity:.5}
.hc-price .price ins{text-decoration:none}

/* ---------- configurateur de devis (pro) ---------- */
.hc-builder{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:22px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 48px -32px rgba(6,27,51,.35)}
.hc-builder__label{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--ink)}
.hc-builder__label span{color:var(--muted);font-weight:600}
.hc-chips{display:flex;flex-wrap:wrap;gap:8px}
.hc-chip{appearance:none;border:1.5px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;border-radius:999px!important;padding:9px 15px!important;font:600 13px/1.2 'Montserrat',sans-serif!important;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),transform .15s var(--ease);text-transform:none!important;letter-spacing:0!important;min-height:0!important;box-shadow:none!important}
.hc-chip:hover{border-color:var(--ink)!important}
.hc-chip:active{transform:scale(.97)}
.hc-chip[aria-pressed=true]{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
.hc-chip:focus-visible{outline:3px solid var(--c);outline-offset:2px}
.hc-devis-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;padding:0 26px;border-radius:999px;background:var(--k);color:#fff!important;font:800 16px/1 'Montserrat',sans-serif;text-decoration:none!important;position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.hc-devis-btn::before{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,#5B7A99 75% 100%)}
.hc-devis-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(6,27,51,.55)}
.hc-devis-btn:active{transform:translateY(0) scale(.99)}
.hc-devis-btn:focus-visible{outline:3px solid var(--c);outline-offset:3px}
.hc-devis-btn svg{transition:transform .2s var(--ease)}
.hc-devis-btn:hover svg{transform:translateX(4px)}
.hc-builder__note{margin:0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}
.hc-builder__note a{color:var(--ink);font-weight:800;text-decoration:none;border-bottom:2px solid var(--c)}
.hc-ticks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.hc-ticks li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink)}
.hc-ticks svg{flex:none;color:var(--accent)}
.hc--pro .hc-ticks svg{color:#0091C4}

/* ---------- étapes particulier ---------- */
.hc-mini-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;counter-reset:st}
.hc-mini-steps li{counter-increment:st;background:var(--accent-soft);border-radius:var(--r-sm);padding:12px 12px 12px 12px;font-size:12.5px;font-weight:700;line-height:1.35;color:var(--ink)}
.hc-mini-steps li::before{content:counter(st);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:800;margin-bottom:8px}

/* ---------- formulaire ajout au panier (particulier) ---------- */
.hc-atc form.cart{margin:0!important}
.hc-atc table.variations{border:0!important;margin:0 0 14px!important;width:100%}
.hc-atc table.variations tr{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.hc-atc table.variations th,.hc-atc table.variations td{padding:0!important;border:0!important;background:none!important;text-align:left}
.hc-atc table.variations th label,.hc-atc table.variations .label label{font:800 13px/1.2 'Montserrat',sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}
.hc-atc table.variations select{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;min-width:220px;font:600 14px 'Montserrat',sans-serif;background:#fff;color:var(--ink)}
.hc-atc .variable-items-wrapper{gap:8px;margin:0!important;padding:0!important}
.hc-atc .variable-items-wrapper .variable-item{margin:0!important;box-shadow:0 0 0 1.5px var(--line)!important;border-radius:999px!important;transition:box-shadow .2s var(--ease)}
.hc-atc .variable-items-wrapper .variable-item:not(.radio-variable-item){min-width:44px;height:40px}
.hc-atc .variable-items-wrapper .variable-item:hover{box-shadow:0 0 0 1.5px var(--ink)!important}
.hc-atc .variable-items-wrapper .variable-item.selected{box-shadow:0 0 0 2px var(--accent)!important}
.hc-atc .variable-items-wrapper .button-variable-item .variable-item-span{font:700 13px 'Montserrat',sans-serif;padding:0 12px}
.hc-atc .reset_variations{font-size:12px;color:var(--muted)}
.hc-atc .woocommerce-variation-price .price{font:800 22px 'Montserrat',sans-serif;color:var(--ink)}
.hc-atc .quantity .qty{border:1.5px solid var(--line)!important;border-radius:999px!important;height:56px;width:88px;font:700 15px 'Montserrat',sans-serif}
.hc-atc .single_add_to_cart_button,.hc-atc .woocommerce-variation-add-to-cart .button,.hc-atc [class*=cpbpwc][class*=button],.hc-atc button.button{background:var(--m)!important;color:#fff!important;border-radius:999px!important;font:800 16px/1 'Montserrat',sans-serif!important;text-transform:none!important;letter-spacing:0!important;padding:0 30px!important;min-height:56px;border:0!important;box-shadow:0 14px 26px -14px rgba(245,5,137,.7)!important;transition:transform .2s var(--ease),filter .2s!important}
.hc-atc .single_add_to_cart_button:hover,.hc-atc button.button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.hc-atc .single_add_to_cart_button:active,.hc-atc button.button:active{transform:translateY(0) scale(.99)}
.hc-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none}
.hc-trust li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.hc-trust svg{color:var(--ink);flex:none}
.hc-trust a{color:var(--ink);font-weight:800;text-decoration:none}

/* ---------- section détail ---------- */
.hc-detail-aside{display:flex;flex-direction:column;gap:16px}
.hc-desc,.hc-desc p,.hc-desc li{font-size:16px;line-height:1.7;color:#24384D}
.hc-desc .woocommerce-product-details__short-description>*:first-child{margin-top:0}
.hc-desc h1,.hc-desc h2,.hc-desc h3,.hc-desc h4{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:19px!important;line-height:1.3!important;color:var(--ink)!important;margin:28px 0 8px!important;text-transform:none!important;letter-spacing:-.01em!important}
.hc-desc h1::after,.hc-desc h2::after,.hc-desc h3::after,.hc-desc h4::after{display:none!important}
.hc-desc strong{color:var(--ink)}
.hc-desc img{border-radius:var(--r-md)}
.hc-desc-wrap{max-width:68ch}

/* ---------- techniques ---------- */
.hc-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.hc-tech-card{position:relative;padding:22px 22px 24px;border-radius:var(--r-lg);background:var(--soft);overflow:hidden;transition:transform .3s var(--ease)}
.hc-tech-card:hover{transform:translateY(-3px)}
.hc-tech-card:nth-child(4n+1){--dot:var(--c)}.hc-tech-card:nth-child(4n+2){--dot:var(--m)}.hc-tech-card:nth-child(4n+3){--dot:#E5D300}.hc-tech-card:nth-child(4n+4){--dot:var(--k)}
.hc-tech-card::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
  background-image:radial-gradient(var(--dot) 1.5px,transparent 1.7px);background-size:9px 9px;opacity:.45}
.hc-tech-card h3{margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.25;color:var(--ink);position:relative}
.hc-tech-card p{margin:0;font-size:14px;line-height:1.55;color:var(--muted);position:relative;max-width:42ch}
.hc-tech-card--lead{background:var(--k);grid-column:span 2}
.hc-tech-card--lead h3{color:#fff;font-size:22px}
.hc-tech-card--lead p{color:#C9D6E3}
@media(max-width:767px){.hc-tech-card--lead{grid-column:auto}}

/* ---------- guide textile ---------- */
.hc-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hc-guide figure{margin:0;background:var(--soft);border-radius:var(--r-lg);padding:22px 18px 18px;text-align:center}
.hc-guide svg{width:100%;max-width:220px;height:auto;display:block;margin:0 auto}
.hc-guide figcaption{margin-top:12px;font-size:14px;color:var(--muted)}
.hc-guide figcaption strong{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.hc-guide .tee{fill:#fff;stroke:#C5D3E0;stroke-width:2}
.hc-guide .zone{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4}
.hc-note{margin:14px 0 0;font-size:14px;color:var(--muted)}

/* ---------- bande process (navy) ---------- */
.hc-band{background:var(--k);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.hc-band::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.09) 1.3px,transparent 1.5px);background-size:18px 18px;
  -webkit-mask-image:radial-gradient(ellipse at 85% 0%,#000 0%,transparent 60%);mask-image:radial-gradient(ellipse at 85% 0%,#000 0%,transparent 60%)}
.hc-band::after{content:"";position:absolute;width:520px;height:520px;right:-180px;bottom:-260px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(245,5,137,.35),transparent 65%)}
.hc-band .hc-h2{color:#fff}
.hc-band .hc-h2 em{color:var(--c)}
.hc-band .hc-lead{color:#C9D6E3}
.hc-years{display:flex;align-items:flex-end;gap:16px}
.hc-years b{font-size:clamp(72px,9vw,128px);line-height:.82;font-weight:800;letter-spacing:-.05em;background:none;color:#fff}
.hc-years span{font-size:15px;line-height:1.4;color:#C9D6E3;max-width:16ch;padding-bottom:6px}
.hc-process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;counter-reset:p}
.hc-process::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 8px,transparent 8px 16px)}
.hc-process li{position:relative;counter-increment:p}
.hc-process li::before{content:counter(p);position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--k);border:2px solid var(--c);color:#fff;font-weight:800;font-size:16px;margin-bottom:16px}
.hc-process li:nth-child(2)::before{border-color:var(--m)}.hc-process li:nth-child(3)::before{border-color:var(--y)}
.hc-process strong{display:block;font-size:17px;font-weight:800;margin-bottom:6px;color:#fff}
.hc-process span{font-size:14px;line-height:1.55;color:#C9D6E3}
@media(max-width:767px){.hc-process{grid-template-columns:1fr;gap:20px}.hc-process::before{left:22px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.35) 0 8px,transparent 8px 16px)}.hc-process li{padding-left:64px}.hc-process li::before{position:absolute;left:0;top:-4px}}

/* ---------- produits associés ---------- */
.hc-related .related.products>h2{display:none}
.hc-related ul.products{margin:0!important}
.hc-related ul.products li.product{text-align:left!important;margin-bottom:0!important}
.hc-related ul.products li.product a img{aspect-ratio:1/1;object-fit:contain;width:100%;height:auto!important;background:var(--soft);border-radius:var(--r-md);padding:10px;margin:0 0 12px!important;transition:transform .35s var(--ease)}
.hc-related ul.products li.product:hover a img{transform:translateY(-4px)}
.hc-related .woocommerce-loop-product__title{font:700 15px/1.35 'Montserrat',sans-serif!important;color:var(--ink)!important;padding:0!important;margin:0 0 6px!important}
.hc-related .price{font:800 15px 'Montserrat',sans-serif!important;color:var(--ink)!important}
.hc--pro .hc-related .price{display:none!important}
.hc-related ul.products li.product .button{margin-top:10px!important;background:transparent!important;border:1.5px solid var(--line)!important;color:var(--ink)!important;border-radius:999px!important;font:700 13px 'Montserrat',sans-serif!important;text-transform:none!important;letter-spacing:0!important;padding:10px 18px!important;transition:border-color .2s,background .2s}
.hc-related ul.products li.product .button:hover{border-color:var(--ink)!important}
.hc-link-arrow{font-weight:800;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* ---------- CTA téléphone ---------- */
.hc-call{border-radius:24px;background:var(--soft);position:relative;overflow:hidden;isolation:isolate}
.hc-call::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(color-mix(in srgb,var(--accent) 30%,transparent) 1.5px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:linear-gradient(270deg,#000,transparent 60%);mask-image:linear-gradient(270deg,#000,transparent 60%)}
.hc-call__tel{display:inline-flex;align-items:center;gap:12px;font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.02em;color:var(--ink)!important;text-decoration:none!important;white-space:nowrap}
.hc-call__tel svg{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--k);color:#fff;flex:none;transition:transform .2s var(--ease)}
.hc-call__tel:hover svg{transform:rotate(-12deg)}

/* ---------- FAQ ---------- */
.hc-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.hc-faq details:first-child{border-top:1px solid var(--line)}
.hc-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:17px;font-weight:800;color:var(--ink)}
.hc-faq summary::-webkit-details-marker{display:none}
.hc-faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23061B33' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .25s var(--ease)}
.hc-faq details[open] summary::after{transform:rotate(45deg)}
.hc-faq details p{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--muted);max-width:65ch}
.hc-faq summary:focus-visible{outline:3px solid var(--c);outline-offset:4px;border-radius:4px}

/* =========================================================
   PAGE DEVIS / CONTACT
   ========================================================= */
.hc-devis-hero{background:var(--k);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.hc-devis-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.1) 1.3px,transparent 1.5px);background-size:18px 18px;-webkit-mask-image:linear-gradient(115deg,#000 0%,transparent 50%);mask-image:linear-gradient(115deg,#000 0%,transparent 50%)}
.hc-devis-hero::after{content:"";position:absolute;z-index:-1;width:760px;height:760px;right:-260px;top:-300px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(0,175,236,.45),transparent 60%),radial-gradient(circle at 70% 70%,rgba(245,5,137,.35),transparent 60%)}
.hc-devis-hero .hc-tag{color:#fff}
.hc-devis-h1 .elementor-heading-title{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:clamp(38px,5vw,66px)!important;line-height:1!important;letter-spacing:-.035em!important;color:#fff!important;text-transform:none!important}
.hc-devis-h1 .elementor-heading-title::after{display:none!important}
.hc-devis-hero .hc-lead{color:#D3DEE9;font-size:18px}
.hc-steps-v{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;counter-reset:s}
.hc-steps-v li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start}
.hc-steps-v li::before{content:counter(s);grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--c);font-weight:800;font-size:16px;color:#fff}
.hc-steps-v li:nth-child(2)::before{border-color:var(--m)}.hc-steps-v li:nth-child(3)::before{border-color:var(--y)}
.hc-steps-v strong{font-size:17px;font-weight:800;color:#fff;line-height:1.3;padding-top:2px}
.hc-steps-v span{font-size:14.5px;line-height:1.5;color:#C9D6E3}
.hc-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hc-channel{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--r-md);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff!important;text-decoration:none!important;transition:background .2s var(--ease),border-color .2s}
a.hc-channel:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.hc-channel small{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9FB3C8}
.hc-channel b{font-size:17px;font-weight:800;line-height:1.3;word-break:break-word}
.hc-channel--wide{grid-column:span 2}
/* carte formulaire qui chevauche la section suivante */
.hc-form-card{background:#fff;color:var(--ink);border-radius:24px;box-shadow:0 40px 80px -40px rgba(0,0,0,.55),0 0 0 1px rgba(6,27,51,.06)}
@media(min-width:1025px){.hc-form-card{margin-bottom:-140px!important;position:relative;z-index:2}.hc-after-hero{padding-top:180px!important}}
.hc-form-card .hc-cmyk{height:5px;margin-bottom:6px}
.hc-form-title .elementor-heading-title{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:26px!important;letter-spacing:-.02em!important;color:var(--ink)!important;text-transform:none!important}
.hc-form-title .elementor-heading-title::after{display:none!important}
.hc-form-sub p{margin:0;font-size:14px;color:var(--muted)}
.hc-devis-form .elementor-field-label{font:800 13px/1.3 'Montserrat',sans-serif!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important}
.hc-devis-form .elementor-field-textual,.hc-devis-form select.elementor-field{border:1.5px solid var(--line)!important;border-radius:12px!important;background:#fff!important;font:500 15px 'Montserrat',sans-serif!important;color:var(--ink)!important;min-height:50px;transition:border-color .2s,box-shadow .2s}
.hc-devis-form .elementor-field-textual:hover,.hc-devis-form select.elementor-field:hover{border-color:#B8C7D6!important}
.hc-devis-form .elementor-field-textual:focus,.hc-devis-form select.elementor-field:focus{border-color:var(--c)!important;box-shadow:0 0 0 4px rgba(0,175,236,.16)!important;outline:none}
.hc-devis-form .elementor-field-textual::placeholder{color:#6B7F93}
.hc-devis-form input[type=file]{font:600 14px 'Montserrat',sans-serif;padding:14px;border:1.5px dashed #B8C7D6;border-radius:12px;width:100%;background:var(--soft);color:var(--muted);cursor:pointer}
.hc-devis-form input[type=file]::file-selector-button{border:0;border-radius:999px;background:var(--k);color:#fff;font:700 13px 'Montserrat',sans-serif;padding:9px 14px;margin-right:12px;cursor:pointer}
.hc-devis-form .elementor-field-type-acceptance .elementor-field-subgroup label{font-size:13px;color:var(--muted)}
.hc-devis-form .elementor-button{background:var(--k)!important;color:#fff!important;border-radius:999px!important;min-height:56px;font:800 16px 'Montserrat',sans-serif!important;text-transform:none!important;letter-spacing:0!important;transition:transform .2s var(--ease),box-shadow .2s!important}
.hc-devis-form .elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(6,27,51,.5)}
.hc-devis-form .e-form__buttons__wrapper__button-previous .elementor-button,.hc-devis-form .elementor-field-type-previous .elementor-button{background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--line)!important}
.hc-devis-form .e-form__indicators{margin-bottom:22px!important;gap:6px}
.hc-devis-form .e-form__indicators__indicator__number{width:34px!important;height:34px!important;font-weight:800;border-width:2px!important}
.hc-devis-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,.hc-devis-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number{background:var(--k)!important;border-color:var(--k)!important;color:#fff!important}
.hc-devis-form .e-form__indicators__indicator__label{font:700 13px 'Montserrat',sans-serif!important;color:var(--ink)!important}
.hc-devis-form .e-form__indicators__indicator__separator{background:var(--line)!important;height:2px!important}
.hc-devis-form .elementor-message{font:600 15px 'Montserrat',sans-serif;border-radius:12px;padding:14px 16px}
.hc-devis-form .elementor-message-success{background:#E9F8F0;color:#0B5B36}
#devis{scroll-margin-top:110px}
/* garanties bento */
.hc-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,auto);gap:14px}
.hc-bento>div{border-radius:var(--r-lg);padding:22px;background:var(--soft);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;position:relative;overflow:hidden}
.hc-bento img{width:44px;height:44px;object-fit:contain;margin-bottom:auto}
.hc-bento strong{font-size:17px;font-weight:800;color:var(--ink);line-height:1.25}
.hc-bento p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.hc-bento .hc-bento__big{grid-column:span 2;grid-row:span 2;background:var(--k);justify-content:space-between}
.hc-bento .hc-bento__big::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1.3px,transparent 1.5px);background-size:16px 16px;-webkit-mask-image:linear-gradient(200deg,#000,transparent 70%);mask-image:linear-gradient(200deg,#000,transparent 70%)}
.hc-bento__big b{font-size:clamp(80px,10vw,140px);line-height:.8;font-weight:800;letter-spacing:-.05em;color:#fff;position:relative}
.hc-bento__big strong{color:#fff;font-size:20px;position:relative}
.hc-bento__big p{color:#C9D6E3;position:relative;max-width:34ch}
.hc-bento .hc-bento__wide{grid-column:span 2;background:var(--accent-soft)}
@media(max-width:1024px){.hc-bento{grid-template-columns:1fr 1fr}.hc-bento .hc-bento__big{grid-row:auto}}
@media(max-width:600px){.hc-bento{grid-template-columns:1fr}.hc-bento .hc-bento__big,.hc-bento .hc-bento__wide{grid-column:auto}}

/* ---------- priorité sur les titres du kit Elementor (Playfair / gris clair) ---------- */
.hc h1,.hc h2,.hc h3,.hc h4,.hc summary{font-family:'Montserrat',system-ui,sans-serif!important;text-transform:none!important}
.hc .hc-h2{font-size:clamp(26px,3vw,40px)!important;font-weight:800!important;line-height:1.08!important;letter-spacing:-.02em!important;color:var(--ink)!important;margin:0!important}
.hc .hc-h2 em{font-style:normal!important;color:#0091C4!important}
.hc--part .hc-h2 em{color:var(--m)!important}
.hc-band .hc-h2,.hc-devis-hero .hc-h2{color:#fff!important}
.hc-band .hc-h2 em{color:var(--c)!important}
.hc .hc-h2::after,.hc .hc-tech-card h3::after{display:none!important}
.hc .hc-tech-card h3{font-size:18px!important;font-weight:800!important;line-height:1.25!important;letter-spacing:-.01em!important;color:var(--ink)!important;margin:0 0 8px!important}
.hc .hc-tech-card--lead h3{color:#fff!important;font-size:22px!important}
.hc .hc-faq summary{font-size:17px!important;font-weight:800!important;color:var(--ink)!important}

/* ---------- correctifs v2.1 ---------- */
.hc--pro.hc-related .price,.hc--pro .hc-related .price{display:none!important}
.hc-tech-card--lead{grid-column:1/-1!important;display:grid;grid-template-columns:minmax(180px,.8fr) 2fr;gap:8px 32px;align-items:center;padding:28px 30px!important}
.hc-tech-card--lead h3{margin:0!important}
.hc-tech-card--lead p{max-width:60ch!important;font-size:15px!important}
@media(max-width:767px){.hc-tech-card--lead{grid-template-columns:1fr;padding:22px!important}}

.hc-guide figcaption{font-style:normal!important}

/* ---------- retours v2.2 ---------- */
/* bouton devis simple */
.hc-cta{display:flex;flex-direction:column;gap:12px}
/* liens : aucun changement de couleur au survol (le thème mettait du rose) */
.hc a:hover,.hc a:focus,.hc a:active{color:inherit}
.hc .hc-builder__note a,.hc .hc-builder__note a:hover,.hc .hc-trust a,.hc .hc-trust a:hover,.hc .hc-link-arrow,.hc .hc-link-arrow:hover,.hc .hc-call__tel,.hc .hc-call__tel:hover{color:var(--ink)!important}
.hc .hc-devis-btn:hover{color:#fff!important}
/* prix : couleurs de la charte, plus de vert */
.hc .price,.hc .price .amount,.hc .price bdi,.hc .woocommerce-variation-price .price,.hc .woocommerce-variation-price .price .amount{color:var(--ink)!important}
.hc-atc .woocommerce-variation-price .price{font-size:26px!important;font-weight:800!important;letter-spacing:-.02em}
/* formulaire particulier plus aéré */
.hc-atc table.variations tr{gap:10px;margin-bottom:22px}
.hc-atc table.variations tr:last-child{margin-bottom:6px}
.hc-atc .variable-items-wrapper{gap:10px!important}
.hc-atc .reset_variations{display:inline-block;margin-top:8px}
.hc-atc .single_variation_wrap{margin-top:8px}
.hc-atc .woocommerce-variation{margin:0 0 18px}
.hc-atc .woocommerce-variation-price{margin:0!important}
.hc-atc .woocommerce-variation-add-to-cart,.hc-atc form.cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hc-atc .quantity{margin:0!important}
.hc-atc .ppc-button-wrapper,.hc-atc [id*=ppc-button],.hc-atc .ppcp-messages,.hc-atc [class*=ppcp]{margin-top:16px!important}
.hc-atc .ppcp-messages{margin-bottom:6px!important}
.hc-trust{margin-top:10px;padding-top:20px;gap:12px 24px}
.hc-mini-steps{gap:10px}
.hc-mini-steps li{padding:14px}

/* ---------- retours v2.3 ---------- */
/* description pro sur 2 colonnes (plus de grand vide) */
.hc-detail-head .hc-lead{max-width:62ch}
@media(min-width:1025px){
  .hc-desc--cols .woocommerce-product-details__short-description{column-count:2;column-gap:64px}
  .hc-desc--cols h1,.hc-desc--cols h2,.hc-desc--cols h3,.hc-desc--cols h4{break-after:avoid;break-inside:avoid}
  .hc-desc--cols p,.hc-desc--cols li{break-inside:avoid}
  .hc-desc--cols .woocommerce-product-details__short-description>*:first-child{margin-top:0!important}
}
.hc-desc--cols .woocommerce-product-details__short-description{max-width:none}
/* bandeau appel : téléphone + e-mail, sans coupure */
.hc-call__links{display:flex;flex-direction:column;gap:12px;align-items:flex-start;min-width:0}
.hc .hc-call__tel{font-size:clamp(22px,2.3vw,30px)!important;white-space:nowrap;gap:12px}
.hc .hc-call__tel svg{width:40px!important;height:40px!important;padding:10px!important}
.hc .hc-call__mail{font-size:clamp(15px,1.4vw,18px)!important;font-weight:700!important}
.hc .hc-call__mail svg{width:40px!important;height:40px!important;background:var(--c)!important;color:var(--k)!important}
@media(max-width:1024px){.hc-call__links{width:100%}}
@media(max-width:480px){.hc .hc-call__tel{font-size:20px!important}.hc .hc-call__mail{font-size:15px!important;white-space:normal;word-break:break-all}}

@media(max-width:767px){
  .hc-related ul.products li.product .button{width:100%;text-align:center;padding:9px 10px!important;font-size:12.5px!important;white-space:nowrap}
  .hc-related .woocommerce-loop-product__title{font-size:14px!important}
}

@media(min-width:768px){
  .hc-call>.e-con-inner>.e-con:first-child,.hc-call>.e-con:first-child{flex:1 1 auto!important;width:auto!important;min-width:0}
  .hc-call .elementor-widget-html:last-child{flex:0 0 auto}
}

@media(max-width:767px){
  .hc-atc .woocommerce-variation-add-to-cart,.hc-atc form.cart:not(.variations_form){flex-wrap:nowrap;gap:10px}
  .hc-atc .quantity{flex:0 0 76px}
  .hc-atc .quantity .qty{width:76px}
  .hc-atc .single_add_to_cart_button,.hc-atc button.button{flex:1 1 auto;min-width:0;padding:0 16px!important;font-size:15px!important;white-space:normal;line-height:1.2!important}
}

/* ---------- emplacement du marquage (particulier) ---------- */
.hc-format{margin:4px 0 22px}
.hc-format__label{margin:0 0 10px;font:800 13px/1.2 'Montserrat',sans-serif;color:var(--ink)}
.hc-format__label abbr{color:var(--m);text-decoration:none;border:0}
.hc-format__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.hc-format__opt{position:relative;cursor:pointer;margin:0}
.hc-format__opt input{position:absolute;opacity:0;pointer-events:none}
.hc-format__box{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:14px;box-shadow:0 0 0 1.5px var(--line);background:#fff;transition:box-shadow .2s var(--ease),background .2s var(--ease)}
.hc-format__box b{font:800 15px/1.2 'Montserrat',sans-serif;color:var(--ink)}
.hc-format__box small{font-size:12.5px;color:var(--muted);line-height:1.35}
.hc-format__sup{font-style:normal;font-weight:800;font-size:13px;color:var(--ink);margin-top:4px}
.hc-format__opt:hover .hc-format__box{box-shadow:0 0 0 1.5px var(--ink)}
.hc-format__opt input:checked+.hc-format__box{box-shadow:0 0 0 2px var(--m);background:#FFF5FA}
.hc-format__opt input:focus-visible+.hc-format__box{outline:3px solid var(--c);outline-offset:2px}
/* paiement express PayPal masqué sur la fiche : le client passe par la personnalisation puis le panier */
.hc--part .hc-atc .ppc-button-wrapper,.hc--part .hc-atc [id^=ppc-button],.hc--part .hc-atc .ppcp-messages,.hc--part .hc-atc [data-pp-message]{display:none!important}
/* le prix de la variation est déjà affiché en haut (prix unique mis à jour) */
.hc--part .hc-atc .woocommerce-variation-price{display:none!important}

/* ---------- apparition au scroll (sobre) ---------- */
.hc-js .hc-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.hc-js .hc-reveal.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:1024px){.hc-summary{position:static}}
@media(max-width:767px){
  .hc-mini-steps{grid-template-columns:1fr}
  .hc-mini-steps li{display:flex;align-items:center;gap:10px}
  .hc-mini-steps li::before{margin:0}
  .hc-guide{grid-template-columns:1fr 1fr;gap:10px}
  .hc-channels{grid-template-columns:1fr}.hc-channel--wide{grid-column:auto}
  .hc-builder{padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .hc *,.hc *::before,.hc *::after{transition:none!important;animation:none!important}
  .hc-js .hc-reveal{opacity:1;transform:none}
}

/* ---------- v8 : bloc titre + prix, quantité, formats ---------- */
.hc-title .product_title,.hc-title h1{margin:0!important;line-height:1.08!important}
.hc-price{margin-top:-8px!important}
.hc-price .price{display:flex!important;align-items:baseline;gap:10px;margin:0!important;line-height:1!important;font-size:34px!important;font-variant-numeric:tabular-nums}
.hc-price .price::after{content:"TTC";font:700 12px/1 'Montserrat',sans-serif;letter-spacing:.08em;color:var(--muted);padding:5px 8px;border-radius:999px;background:#EEF3F8;align-self:center}
.hc-format__box{padding:16px 18px;justify-content:center;min-height:58px}
.hc-format__box b{font-size:15.5px}
.hc-atc .quantity .qty{color:var(--ink)!important;font:800 17px 'Montserrat',sans-serif!important;border:2px solid #C9D5E2!important;background:#fff!important;height:56px!important;opacity:1!important;-moz-appearance:textfield}
.hc-atc .quantity .qty:focus{border-color:var(--ink)!important;outline:none}
.hc-atc .quantity .qty::-webkit-inner-spin-button,.hc-atc .quantity .qty::-webkit-outer-spin-button{opacity:1;height:28px}
@media (max-width:767px){.hc-price .price{font-size:30px!important}}
body .elementor .hc-title h1.product_title,body .elementor .hc-title .elementor-heading-title{margin:0!important;line-height:1.08!important}
body .elementor .hc-price{margin-top:-6px!important}

/* quantité : boutons - / + */
.hc-atc .quantity.hc-qty{position:relative;display:inline-flex!important;align-items:center;flex:0 0 132px!important;width:132px}
.hc-atc .quantity.hc-qty .qty{width:132px!important;padding:0 40px!important;text-align:center!important;-webkit-appearance:none;appearance:textfield;-moz-appearance:textfield}
.hc-atc .quantity.hc-qty .qty::-webkit-inner-spin-button,.hc-atc .quantity.hc-qty .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.hc-qty__btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0!important;background:#EEF3F8!important;color:var(--ink)!important;font:800 18px/1 'Montserrat',sans-serif!important;padding:0!important;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none!important}
.hc-qty__btn:hover{background:#DCE5EE!important}
.hc-qty__btn--minus{left:11px}.hc-qty__btn--plus{right:11px}
@media (max-width:767px){.hc-atc .quantity.hc-qty{flex:0 0 120px!important;width:120px}.hc-atc .quantity.hc-qty .qty{width:120px!important;padding:0 36px!important}.hc-qty__btn{width:30px;height:30px}.hc-qty__btn--minus{left:9px}.hc-qty__btn--plus{right:9px}}
.hc-atc .hc-qty__btn{border-radius:50%!important;min-height:0!important;line-height:1!important}

/* ===== v9 : pastilles couleur, choix manquants, barre mobile ===== */
.hc-atc ul.hc-sws{display:flex!important;flex-wrap:wrap;gap:10px!important}
.hc-atc ul.hc-sws li.variable-item.hc-sw{width:36px!important;height:36px!important;min-width:0!important;padding:0!important;margin:0!important;border-radius:50%!important;background:var(--sw)!important;box-shadow:0 0 0 1px rgba(6,27,51,.14)!important;border:0!important;position:relative;transition:transform .15s ease,box-shadow .15s ease}
.hc-atc ul.hc-sws li.hc-sw .variable-item-contents{opacity:0}
.hc-atc ul.hc-sws li.hc-sw:hover{transform:scale(1.08)}
.hc-atc ul.hc-sws li.hc-sw.selected{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)!important}
.hc-atc ul.hc-sws li.hc-sw.selected::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-62%) rotate(45deg)}
.hc-atc ul.hc-sws li.hc-sw.hc-sw--light.selected::after{border-color:var(--ink)}
.hc-atc ul.hc-sws li.hc-sw.disabled,.hc-atc ul.hc-sws li.hc-sw.out-of-stock{opacity:.35}
.hc-sw-name{margin-left:6px;font:600 13px 'Montserrat',sans-serif;color:var(--muted)}
.hc-sw-name:not(:empty)::before{content:"· "}
.hc-atc .single_add_to_cart_button.hc-wait{opacity:.55!important;cursor:pointer!important}
.hc-missing{display:none;margin:12px 0 0!important;padding:10px 14px;border-radius:12px;background:#FFF5FA;color:var(--ink);font:600 13.5px/1.4 'Montserrat',sans-serif;border-left:3px solid var(--m)}
.hc-missing.is-on{display:block}
.hc-missing.hc-shake{animation:hcShake .4s ease}
@keyframes hcShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.hc-atc tr.hc-need th.label label,.hc-format.hc-need .hc-format__label{color:var(--m)!important}
.hc-atc tr.hc-need td.value,.hc-format.hc-need .hc-format__opts{animation:hcPulse 1.2s ease 1}
@keyframes hcPulse{0%{box-shadow:0 0 0 0 rgba(245,5,137,.35);border-radius:14px}100%{box-shadow:0 0 0 12px rgba(245,5,137,0);border-radius:14px}}
.hc-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 24px rgba(6,27,51,.12);transform:translateY(110%);transition:transform .25s ease}
.hc-bar.is-on{transform:none}
.hc-bar__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hc-bar__name{font:600 12.5px/1.2 'Montserrat',sans-serif;color:var(--muted,#5b6b7c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-bar__price{font:800 19px/1.1 'Montserrat',sans-serif;color:#061B33}
.hc-bar__btn{flex:0 0 auto;border:0!important;border-radius:999px!important;background:#F50589!important;color:#fff!important;font:800 14.5px/1 'Montserrat',sans-serif!important;padding:15px 22px!important;box-shadow:0 8px 20px rgba(245,5,137,.3)}
.hc-bar:not(.is-ready) .hc-bar__btn{background:#061B33!important;box-shadow:none}
body.hc-bar-on .xoo-wsc-basket{bottom:88px!important;transition:bottom .25s ease}
body.hc-bar-on{padding-bottom:76px}
@media (min-width:768px){.hc-bar{display:none!important}}

.hc-bar__btn{text-transform:none!important;letter-spacing:0!important}

.hc-format__opts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}
@media (max-width:767px){.hc-atc .quantity.hc-qty{flex:0 0 108px!important;width:108px}.hc-atc .quantity.hc-qty .qty{width:108px!important;padding:0 32px!important}.hc-qty__btn{width:28px;height:28px}.hc-qty__btn--minus{left:7px}.hc-qty__btn--plus{right:7px}.hc-atc .single_add_to_cart_button{white-space:nowrap!important;font-size:14.5px!important;padding-left:14px!important;padding-right:14px!important}}

@media (max-width:767px){body .elementor .hc-atc button.single_add_to_cart_button{white-space:nowrap!important;padding-left:14px!important;padding-right:14px!important}}
