html body .vh-header.hv-top{display:grid!important;grid-template-columns:200px minmax(180px,1fr) auto;grid-template-areas:"logo search tools" "shortcuts shortcuts shortcuts";align-items:center;gap:10px 16px!important;padding:10px 20px!important}
html body .hv-top .vh-logo{grid-area:logo;width:200px}
html body .hv-top .hv-search{grid-area:search;display:flex;align-items:center;gap:0;margin:0;padding:0;background:#fff;border:1px solid #c5d2e0;border-radius:999px;overflow:hidden}
html body .hv-top .hv-search .search{flex:1;margin:0;padding:0;border:0;background:transparent}
html body .hv-top .hv-search input{width:100%;border:0;min-height:46px;padding:0 16px;font:16px Arial,sans-serif;background:transparent;color:#10233f}
html body .hv-top [data-search-submit]{width:48px;min-height:46px;border:0;border-radius:0;background:#12315c;color:#fff;cursor:pointer}
html body .hv-top .vh-tools{grid-area:tools;display:flex;align-items:center;gap:14px}
html body .hv-top .hv-shortcuts{grid-area:shortcuts;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;justify-content:flex-end}html body .hv-top .vh-nav{display:flex!important;position:static!important;grid-row:auto!important;grid-column:auto!important}
html body .hv-top .hv-shortcut,html body .hv-top .vh-nav summary{background:transparent;border:0;color:#12315c;font:600 14px/1.3 Arial,sans-serif;cursor:pointer;padding:8px 0;min-height:44px}
html body .hv-top .hv-pro{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:8px;background:#12315c!important;color:#fff!important;font:700 13px/1 Arial,sans-serif;letter-spacing:.04em}
html body .hv-note{flex-basis:100%;margin:0;font-size:13px;color:#3d5166}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html body.storefront main:has(> .hv-home:not([hidden])){max-width:none;width:100%;margin:0;padding:12px 28px 36px}html body .hv-home{max-width:none;width:auto;margin:0;padding:8px 0 28px}html body .partner-brands.rn-home{max-width:none;width:auto;margin:0;padding-left:28px;padding-right:28px}
html body .hv-home h1{margin:0 0 14px;color:#10233f;font-size:clamp(14.3px,1.56vw,23.4px);font-weight:750;letter-spacing:.06em;line-height:1.2}
html body .hv-home h2{margin:0 0 14px;color:#10233f;font-size:clamp(26px,3vw,36px);letter-spacing:-.03em}
html body .hv-need-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
html body .hv-need-grid > a[href],html body .hv-need-grid > .hv-tile,html body .hv-direct > a[href]{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-items:stretch;gap:8px;width:100%;max-width:100%;min-width:0;height:auto;color:#10233f;text-decoration:none;background:transparent;white-space:normal;overflow-wrap:normal;word-break:normal}
html body .hv-direct > a[href]{justify-items:center;text-align:center;background:#fff;border-radius:16px;padding:12px}
html body .hv-need-grid img,html body .hv-direct > a[href] > img{display:block;width:100%;max-width:100%;min-width:0;height:clamp(180px,16vw,240px);object-fit:cover;border-radius:16px;background:#fff}
html body .hv-direct > a[href] > img{height:clamp(120px,12vw,180px);object-fit:contain}
html body .hv-need-grid > a[href] > span,html body .hv-need-grid > .hv-tile > span,html body .hv-direct > a[href] > span{display:flex;width:100%;max-width:100%;min-width:0;height:auto;flex-wrap:wrap;align-items:center;white-space:normal;overflow-wrap:normal}
html body .hv-direct > a[href] > span{justify-content:center;text-align:center}
html body .hv-need-fallback{display:grid;place-items:center;padding:16px;text-align:center;color:#3d5166;font-size:14px}
html body .hv-need-grid span{display:flex;align-items:center;gap:8px;font-weight:750}
html body .hv-need-grid b,html body .hv-clim-postes .hv-poste b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d7ebff;color:#163a66;font-size:15px;flex:none}
html body .hv-direct{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
html body .hv-direct > a[href]{min-height:44px}
html body .hv-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 0 0;font-weight:650}
html body .hv-links a,html body .hv-links span{color:#12315c}
html body .hv-depot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:center;background:#eef5ff;border-radius:18px;padding:16px}
html body .hv-depot img{width:100%;height:240px;object-fit:cover;border-radius:14px}
html body .hv-depot h2{font-size:clamp(22px,2.4vw,32px)}
html body .hv-depot p,html body .hv-depot address{margin:6px 0;font-style:normal}
html body .hv-sms{font-weight:750}
html body .hv-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
html body .hv-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:8px;text-decoration:none;font-weight:700}
html body .hv-actions a:first-child{background:#12315c;color:#fff}
html body .hv-actions a:last-child{background:#fff;color:#12315c;border:1px solid #12315c}
html body .hv-split,html body .hv-pay{display:grid;grid-template-columns:1fr 1fr;gap:14px}
html body .hv-split article,html body .hv-pay li{border:1px solid #d5e0ea;border-radius:14px;padding:16px;background:#fff}
html body .hv-pay{list-style:none;padding:0;grid-template-columns:repeat(3,minmax(0,1fr))}
html body .hv-pay strong{display:block;margin-bottom:6px}
html body .rn-footer.hv-foot{display:block;background:#10233f;color:#fff;padding:28px 20px}
html body .hv-foot-grid,html body .hv-social{max-width:none;margin:0;display:flex;flex-wrap:wrap;gap:10px 16px}
html body .hv-foot a,html body .hv-foot button{color:#fff;background:transparent;border:0;padding:8px 0;min-height:44px;font:600 14px/1.3 Arial,sans-serif;cursor:pointer;text-decoration:none}
html body .hv-social{display:flex;gap:16px;flex-wrap:wrap}
html body .hv-social a{display:inline-flex;align-items:center;gap:6px}
@media(max-width:900px){
 html body .vh-header.hv-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo tools" "search search" "shortcuts shortcuts"}html body .hv-top .vh-tools{flex-wrap:nowrap}html body .hv-top .vh-logo{width:148px}
 html body .hv-top .vh-logo{width:min(180px,58vw)}
 html body .hv-need-grid{grid-template-columns:1fr 1fr}
 html body .hv-direct{grid-template-columns:repeat(3,minmax(0,1fr))}
 html body .hv-depot,html body .hv-split,html body .hv-pay{grid-template-columns:1fr}
}
@media(max-width:700px){
 html body.storefront main:has(> .hv-home:not([hidden])){padding:8px 14px 28px}
 html body .hv-home{padding-inline:0}
 html body .partner-brands.rn-home{padding-left:14px;padding-right:14px}
 html body .vh-header .vh-logo{width:min(168px,48vw)}
 html body .hv-need-grid img{height:auto;aspect-ratio:4/3}
 html body .hv-direct > a[href] > img{height:auto;aspect-ratio:1;max-height:150px}
}
@media(max-width:560px){html body .hv-direct{grid-template-columns:1fr 1fr}html body .hv-home{padding-inline:0}}
html body .hv-home,html body .vh-header.hv-top{overflow-x:clip}
html body .hv-home h2.hv-lot-title{margin:18px 0 14px;color:#10233f;font-size:clamp(14.3px,1.56vw,23.4px);font-weight:750;letter-spacing:.06em;line-height:1.2}
html body .hv-clim-lead{margin:0 0 14px;color:#3d5166;font-size:15px}
html body .hv-clim{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
html body .hv-clim > a[href]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;color:#10233f;text-decoration:none;overflow-wrap:normal;word-break:normal}
html body .hv-clim span{display:flex;align-items:center;gap:8px;font-weight:750;color:#10233f}
html body .hv-clim b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d7ebff;color:#163a66;font-size:15px;flex:none}
html body .hv-clim > a[href] > img{display:block;width:100%;max-width:100%;min-width:0;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:16px;background:#e8eaed}
html body .hv-clim-five{margin:12px 0 0}
html body .hv-clim-five > a[href]{display:inline-flex;align-items:center;min-height:44px;color:#10233f;text-decoration:none}
html body .hv-clim-five span{display:flex;align-items:center;gap:8px;font-weight:750}
html body .hv-clim-five b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d7ebff;color:#163a66;font-size:15px;flex:none}
html body a.hv-clim-open{display:inline-flex;align-items:center;min-height:48px;margin-top:14px;padding:0 16px;border-radius:8px;background:#12315c;color:#fff;font-weight:700;text-decoration:none}
@media(max-width:900px){html body .hv-clim{grid-template-columns:1fr 1fr}}

/* Postes P1-P16 du référentiel plomberie */
html body .hv-postes-grid{row-gap:28px}
html body .hv-postes-grid .hv-poste>span{flex-wrap:nowrap;align-items:center;line-height:1.35}
html body .hv-postes-grid .hv-poste strong{font-size:15px;font-weight:700;flex:1;min-width:0;text-align:center}
html body .hv-postes-grid .hv-poste>img{height:auto;aspect-ratio:3/2;background:#f4f7fa}
html body .hv-postes-grid .hv-poste b{font-variant-numeric:tabular-nums}
@media(max-width:480px){html body .hv-postes-grid{gap:22px 12px}html body .hv-postes-grid .hv-poste strong{font-size:13px}html body .hv-postes-grid .hv-poste b{width:26px;height:26px;font-size:13px}}

/* Relief et interaction des cartes du catalogue plomberie */
html body .hv-postes-grid{padding:12px 8px 24px;perspective:1400px}
html body .hv-postes-grid .hv-poste{padding:8px;border:1px solid #dce7f1;border-radius:22px;background:linear-gradient(145deg,#fff,#f0f5fb);box-shadow:0 3px 0 #cbd9e7,0 10px 22px -12px #173b6866;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;transform-origin:center;}
html body .hv-postes-grid .hv-poste>img{border-radius:16px;box-shadow:0 2px 5px #102e491a}
html body .hv-postes-grid .hv-poste>span{min-height:72px;margin-top:8px;padding:10px 12px;border-radius:14px;background:linear-gradient(145deg,#fff 0%,#e8f2ff 100%);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 3px 0 #d3e1ee,0 5px 9px #1c426b12;box-sizing:border-box}
html body .hv-postes-grid .hv-poste b{background:linear-gradient(145deg,#edf8ff,#b4d8ff);border:1px solid #eaf6ff;box-shadow:inset 0 2px 2px #fff,0 3px 0 #94b9db,0 5px 9px #244d7426;text-shadow:0 1px 0 #fff}
html body .hv-postes-grid .hv-poste strong{color:#12365b;text-shadow:0 1px 0 #fff}
@media(hover:hover) and (pointer:fine){html body .hv-postes-grid .hv-poste:hover{transform:translateY(-7px) rotateX(2deg);border-color:#8dbce7;box-shadow:0 4px 0 #a8c9e6,0 22px 32px -16px #173b6880}}
html body .hv-postes-grid .hv-poste:focus-visible{outline:3px solid #1476c9;outline-offset:5px;box-shadow:0 4px 0 #a8c9e6,0 14px 26px -12px #173b6870}
html body .hv-postes-grid .hv-poste:active{transform:translateY(2px);box-shadow:0 1px 0 #cbd9e7,0 4px 12px -6px #173b6844}
@media(max-width:480px){html body .hv-postes-grid .hv-poste{padding:5px;border-radius:17px}html body .hv-postes-grid .hv-poste>span{padding:8px 5px;min-height:88px;gap:6px}}
@media(prefers-reduced-motion:reduce){html body .hv-postes-grid .hv-poste{transition:none}html body .hv-postes-grid .hv-poste:hover,html body .hv-postes-grid .hv-poste:active{transform:none}}

/* Typographie uniforme du titre et des étiquettes */
html body .hv-home h1,html body .hv-postes-grid .hv-poste strong{font-family:Arial,Helvetica,sans-serif;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
html body .hv-postes-grid .hv-poste strong{line-height:1.4}

/* Étiquettes lisibles, sans débordement */
html body .hv-postes-grid,html body .hv-postes-grid *{box-sizing:border-box}
html body .hv-postes-grid{gap:28px 22px;align-items:stretch}
html body .hv-postes-grid .hv-poste{min-width:0;width:100%;grid-template-rows:auto 1fr;align-content:start;gap:10px}
html body .hv-postes-grid .hv-poste>span{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;min-height:100px;height:auto;margin:0;padding:14px 12px;background:linear-gradient(145deg,#fff,#f0f3f6);border:1px solid #e0e5eb;box-shadow:inset 0 1px 0 #fff,0 2px 0 #d4dbe3,0 4px 8px #00000008}
html body .hv-postes-grid .hv-poste strong{display:block;min-width:0;max-width:100%;font-size:14px;line-height:1.5;letter-spacing:.025em;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center;color:#111;text-shadow:none}
html body .hv-home h1,html body .hv-postes-grid .hv-poste b{color:#111;text-shadow:none}
@media(max-width:600px){html body .hv-postes-grid{gap:22px 14px}html body .hv-postes-grid .hv-poste>span{grid-template-columns:1fr;justify-items:center;gap:8px;padding:12px 8px;min-height:120px}html body .hv-postes-grid .hv-poste strong{font-size:12px;letter-spacing:.015em}}
@media(max-width:360px){html body .hv-postes-grid{grid-template-columns:1fr}}

html body.storefront .hv-home #shop-title{text-align:center!important;width:100%}

/* Taille des libellés réduite de 50 % à la demande du client */
html body .hv-postes-grid .hv-poste strong{font-size:7px}
@media(max-width:600px){html body .hv-postes-grid .hv-poste strong{font-size:6px}}

/* Libellés lisibles, au format compact du menu principal */
html body .hv-postes-grid .hv-poste{grid-template-rows:auto auto;align-content:start}
html body .hv-postes-grid .hv-poste>span{min-height:0;height:auto;padding:8px 10px;align-self:start}
html body .hv-postes-grid .hv-poste strong{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.02em;margin:0;color:#111}
@media(max-width:600px){html body .hv-postes-grid .hv-poste>span{grid-template-columns:26px minmax(0,1fr);min-height:0;padding:7px 6px;gap:6px}html body .hv-postes-grid .hv-poste strong{font-size:12px;line-height:1.3}}

/* Climate catalogue: shared compact plumbing cards. */
.hv-clim-photo{width:100%;aspect-ratio:1.6;background-image:url("/images/postes-climatisation/equipements.png");background-repeat:no-repeat;border-radius:18px}.hv-clim-postes .hv-poste{min-width:0}#clim-title,#ventilation-title{text-align:center;color:#111;margin:24px 0 18px}.hv-clim-postes{margin-bottom:16px}
html body .hv-clim-postes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}html body .hv-clim-postes .hv-poste{display:grid;grid-template-columns:minmax(0,1fr);text-decoration:none} @media(max-width:900px){html body .hv-clim-postes{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:360px){html body .hv-clim-postes{grid-template-columns:1fr}}.hv-clim-photo-1{background-size:300% 334.641%;background-position:0% 0.000%}.hv-clim-photo-2{background-size:300% 334.641%;background-position:50% 0.000%}.hv-clim-photo-3{background-size:300% 334.641%;background-position:100% 0.000%}.hv-clim-photo-4{background-size:300% 437.607%;background-position:0% 38.734%}.hv-clim-photo-5{background-size:300% 437.607%;background-position:50% 38.734%}.hv-clim-photo-6{background-size:300% 437.607%;background-position:100% 38.734%}.hv-clim-photo-7{background-size:300% 449.123%;background-position:0% 67.839%}.hv-clim-photo-8{background-size:300% 449.123%;background-position:50% 67.839%}.hv-clim-photo-9{background-size:300% 449.123%;background-position:100% 67.839%}.hv-clim-photo-10{background-size:300% 400.000%;background-position:0% 100.000%}.hv-clim-photo-11{background-size:300% 400.000%;background-position:50% 100.000%}.hv-clim-photo-12{background-size:300% 400.000%;background-position:100% 100.000%}
html body .hv-clim-photo-1{background-image:url("/images/postes-climatisation/individuels.png");background-size:200% 174.15%;background-position:0 100%}

/* Eight aligned catalogue columns on desktop; retain responsive mobile layout. */
@media(min-width:1100px){
 html body .hv-postes-grid,html body .hv-clim-postes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px 12px;align-items:stretch}
 html body .hv-postes-grid .hv-poste{display:grid;padding:6px;gap:8px;grid-template-rows:auto 1fr}
 html body .hv-postes-grid .hv-poste>span{grid-template-columns:24px minmax(0,1fr);gap:5px;padding:8px 5px;align-self:stretch}
 html body .hv-postes-grid .hv-poste b{width:24px;height:24px;font-size:12px}
 html body .hv-postes-grid .hv-poste strong{font-size:clamp(11px,.8vw,14px);line-height:1.3;letter-spacing:0}
}

html body .hv-clim-photo-6{background-image:url("/images/distribution-air/gainable-diffuseurs.png");background-size:cover;background-position:center}

html body .hv-clim-photo-9{background-image:url("/images/bsk-diffuseurs/categorie-diffuseurs.png");background-size:cover;background-position:center}

/* Photos des catégories C5 et C6 : appareil entier, cadrage homogène. */
html body .hv-clim-photo-7{background-image:url("/images/climatisation-familles/unite-eau.webp");background-size:contain;background-position:center;background-color:#fff;}
html body .hv-clim-photo-1{background-image:url("/images/climatisation-familles/residentiel.jpg");background-size:cover;background-position:left center;}

/* B2B reassurance block, scoped to the homepage brand section. */
#nos-marques .hv-brand-reassurance{max-width:1100px;margin:20px auto 28px;padding:20px 24px;border:1px solid #dbe5ee;border-left:4px solid #1266a4;border-radius:12px;background:#f5f8fc;text-align:left;color:#122a44;box-sizing:border-box;}
#nos-marques .hv-brand-reassurance p{margin:0;line-height:1.65;font-size:16px;}
#nos-marques .hv-brand-reassurance strong{font-weight:700;}
#depot .hv-sms{line-height:1.6;max-width:65ch;}
@media(max-width:600px){#nos-marques .hv-brand-reassurance{padding:16px;margin:16px 0 22px;}#nos-marques .hv-brand-reassurance p{font-size:14px;}}

html body .hv-clim-photo-5{background-image:url("/images/climatisation-familles/distribution-eau-v2.png");background-size:cover;background-position:center;}
/* Keep eight catalogue columns; small screens scroll horizontally. */
html body .hv-postes-grid,html body .hv-clim-postes{
 display:grid!important;grid-template-columns:repeat(8,minmax(150px,1fr))!important;
 gap:18px 12px!important;max-width:100%;overflow-x:auto;padding:12px 8px 24px;align-items:stretch;
}

/* Match ventilation cards to the shared catalogue format. */
html body #ventilation .hv-poste>img{aspect-ratio:1.6;height:auto;object-fit:contain!important;object-position:center;background:#fff;}

#divers-title{text-align:center;color:#111;margin:24px 0 18px}html body #divers .hv-poste>img{aspect-ratio:1.6;height:auto;object-fit:contain!important;object-position:center;background:#fff}

html body #divers .hv-postes-grid{grid-template-columns:repeat(6,max(150px,calc((100% - 84px)/8)))!important}
html body #divers .hv-poste>span{min-height:60.5px}

/* Common label typography for every catalogue. */
html body .hv-postes-grid .hv-poste>span{grid-template-columns:20px minmax(0,1fr);gap:4px;padding:8px 4px;min-height:60.5px;align-self:stretch}
html body .hv-postes-grid .hv-poste b{width:20px;height:20px;font-size:11px}
html body .hv-postes-grid .hv-poste strong{font-size:clamp(10px,.8vw,14px);font-weight:700;line-height:1.3;letter-spacing:0;overflow-wrap:normal;word-break:normal;text-align:center}
