/* Page Ventilation et réseaux — trame catalogue, charte CAPTAIR (complète depoussierage.css). */

/* Hero : plus court que les pages machines. */
.vent-hero { min-height:max(620px,82svh); }
.vent-hero .dust-hero__photo { background-position:center 55%; }
.vent-hero .dust-hero__veil { background:linear-gradient(90deg,rgba(6,10,11,.96),rgba(6,10,11,.84) 45%,rgba(6,10,11,.3) 85%),linear-gradient(0deg,rgba(6,10,11,.78),transparent 43%); }
.vent-hero h1 { font-size:clamp(2.8rem,5.6vw,5.8rem); }

/* Pictogrammes au trait. */
.vent-ico svg { display:block; width:100%; height:100%; fill:none; stroke:#1c251e; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.vent-ico svg .g { stroke:#8fb300; }
.vent-ico svg .d { stroke-dasharray:4 6; stroke:#9aa69b; }
.vent-ico--sm { flex:0 0 46px; width:46px; height:46px; }
.vent-ico--sm svg { stroke-width:2.4; }

/* Bandeau d'engagements. */
.vent-assets { background:#fff; border-bottom:1px solid #e1e6dc; }
.vent-assets__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.vent-asset { display:flex; align-items:center; gap:1rem; padding:2rem 1.4rem; border-left:1px solid #e8ece3; }
.vent-asset:first-child { border-left:0; padding-left:0; }
.vent-asset strong { display:block; margin-bottom:.2rem; font-size:1rem; letter-spacing:-.02em; }
.vent-asset p { margin:0; color:#5b675e; font-size:.88rem; line-height:1.45; }

/* Blocs : intro à gauche, contenu à droite. */
.vent-block { padding:clamp(4rem,8vw,7rem) 0; }
.vent-block--ducts { background:#f4f5f0; }
.vent-block--parts { background:#fff; }
.vent-block--fans { background:#eef1ea; }
.vent-block + .vent-block { border-top:1px solid #e1e6dc; }
.vent-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.vent-split__intro h2 { margin:0 0 1.2rem; font-size:clamp(2.4rem,4.2vw,4rem); line-height:1; }
.vent-split__intro em { color:#6f9000; }
.vent-split__intro > p:not(.dust-label) { margin:0 0 2rem; color:#526055; font-size:1.02rem; line-height:1.65; }

/* Gaines. */
.vent-ducts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.vent-duct { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border:1px solid #e1e6dc; }
.vent-duct__media { position:relative; height:260px; overflow:hidden; background:#1b2221; }
.vent-duct__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vent-duct__media--draw { display:grid; place-items:center; background:radial-gradient(circle at 50% 55%,#e6ecde,#f1f3ec 70%); }
.vent-duct__media--draw svg { width:78%; height:auto; fill:none; stroke:#1c251e; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.vent-duct__media--draw svg .g { stroke:#8fb300; }
.vent-duct__media--draw svg .d { stroke-dasharray:4 6; stroke:#9aa69b; }
.vent-duct__body { padding:1.6rem 1.7rem 1.9rem; }
.vent-duct__body h3 { margin:0 0 .6rem; font-size:1.7rem; line-height:1.05; }
.vent-duct__body p { margin:0; color:#526055; line-height:1.6; }

/* Tuiles (accessoires, ventilateurs). */
.vent-tiles { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.vent-tiles--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.vent-tiles--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vent-tile { display:flex; flex-direction:column; align-items:center; gap:.35rem; min-width:0; padding:1.6rem 1.1rem 1.5rem; text-align:center; background:#f7f8f4; border:1px solid #e1e6dc; transition:border-color .2s, transform .2s; }
.vent-tile:hover { border-color:#9cc500; transform:translateY(-2px); }
.vent-tile .vent-ico { width:92px; height:92px; margin-bottom:.8rem; }
.vent-tile strong { font-size:1rem; letter-spacing:-.02em; line-height:1.25; }
.vent-tile__sub { color:#6a786b; font-size:.83rem; }
.vent-block--fans .vent-tile { background:#fff; }
.vent-tile--fan { align-items:stretch; text-align:left; padding:1.8rem; }
.vent-tile--fan .vent-ico { width:110px; height:110px; }
.vent-tile--fan strong { font-size:1.2rem; }
.vent-tile--fan .vent-tile__sub { color:#4f6a00; font-weight:700; }
.vent-tile__specs { margin:1.1rem 0 0; padding:0; border-top:1px solid #e1e6dc; }
.vent-tile__specs div { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid #e1e6dc; }
.vent-tile__specs dt { color:#6a786b; font-size:.85rem; }
.vent-tile__specs dd { margin:0; font-size:.92rem; font-weight:700; text-align:right; }

/* Tableau des gammes. */
.vent-table { margin-top:clamp(2.5rem,5vw,4rem); background:#fff; }
.vent-page .dust-table tbody tr { background:transparent; }
.vent-page .dust-table tbody tr:nth-child(4) { border-top:2px solid #cfdcb8; }
.vent-block--fans .dust-note { color:#5b675e; }

@media(max-width:1100px) {
 .vent-split { grid-template-columns:1fr; }
 .vent-split__intro { max-width:640px; }
}
@media(max-width:900px) {
 .vent-assets__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vent-asset { padding:1.4rem 1rem; border-left:0; border-top:1px solid #e8ece3; }
 .vent-asset:nth-child(-n+2) { border-top:0; }
 .vent-asset:nth-child(odd) { padding-left:0; }
 .vent-tiles--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vent-tiles--3 { grid-template-columns:1fr; }
}
@media(max-width:640px) {
 .vent-hero h1 { font-size:clamp(2.4rem,10vw,3.8rem); }
 .vent-assets__grid { grid-template-columns:1fr; }
 .vent-asset, .vent-asset:nth-child(odd) { padding:1.1rem 0; }
 .vent-asset:nth-child(2) { border-top:1px solid #e8ece3; }
 .vent-ducts { grid-template-columns:1fr; }
 .vent-duct__media { height:220px; }
 .vent-tile .vent-ico { width:76px; height:76px; }
}

/* Hero : photo des réseaux calée à droite. */
.vent-hero .dust-hero__photo { background-position:right center; filter:saturate(.8) brightness(.8); }

/* Accessoires : photos produits. */
.vent-photos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.vent-photos li { display:flex; flex-direction:column; align-items:center; gap:.9rem; min-width:0; }
.vent-photos__img { display:block; width:100%; aspect-ratio:1; overflow:hidden; background:#d1d1d1; border:1px solid #e1e6dc; }
.vent-photos__img img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.vent-photos li:hover img { transform:scale(1.04); }
.vent-photos strong { font-size:1rem; letter-spacing:-.02em; }

/* Accessoires : familles numérotées. */
.vent-families { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:clamp(2.5rem,5vw,4rem) 0 0; padding:0; list-style:none; background:#e1e6dc; border:1px solid #e1e6dc; }
.vent-families li { display:flex; flex-direction:column; gap:.5rem; padding:1.5rem 1.4rem 1.6rem; background:#fff; }
.vent-families span { color:#6f9000; font-size:.75rem; font-weight:750; letter-spacing:.13em; }
.vent-families strong { font-size:1.12rem; letter-spacing:-.02em; }
.vent-families p { margin:0; color:#5b675e; font-size:.9rem; line-height:1.55; }

/* Ventilateurs : turbines et exécutions. */
.vent-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:clamp(2.5rem,5vw,4rem) 0 0; padding:0; list-style:none; }
.vent-options li { padding:1.4rem 1.5rem; background:#fff; border:1px solid #e1e6dc; border-left:3px solid #9cc500; }
.vent-options span { display:block; margin-bottom:.4rem; color:#6f9000; font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.vent-options strong { display:block; margin-bottom:.35rem; font-size:1.08rem; letter-spacing:-.02em; }
.vent-options p { margin:0; color:#5b675e; font-size:.9rem; line-height:1.5; }

/* Bandeau final avec photo. */
.vent-end { position:relative; isolation:isolate; overflow:hidden; }
.vent-end__photo { position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center; opacity:.35; filter:saturate(.6); }
.vent-end::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,11,11,.96),rgba(8,11,11,.7) 55%,rgba(8,11,11,.35)); }

@media(max-width:1100px) {
 .vent-photos { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .vent-families { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vent-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vent-photos { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .vent-photos { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vent-families, .vent-options { grid-template-columns:1fr; }
}
@media(min-width:901px) {
 .vent-hero .dust-hero__photo { left:auto; width:58%; background-size:cover; background-position:center; filter:saturate(.85) brightness(.9); }
 .vent-hero .dust-hero__veil { background:linear-gradient(90deg,#0d1111 0%,#0d1111 40%,rgba(13,17,17,.55) 62%,rgba(13,17,17,.1) 100%),linear-gradient(0deg,rgba(7,10,11,.7),transparent 35%); }
}

/* Accessoires : cartes produits photo. */
.vent-block--parts .vent-split { align-items:start; }
.vent-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.vent-product { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #e1e6dc; transition:border-color .2s, transform .2s; }
.vent-product:hover { border-color:#9cc500; transform:translateY(-2px); }
.vent-product__img { display:block; aspect-ratio:1; overflow:hidden; background:#f6f6f7; border-bottom:1px solid #eceeea; }
.vent-product__img img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.vent-product:hover img { transform:scale(1.05); }
.vent-product strong { padding:1rem 1.1rem .3rem; font-size:1.02rem; letter-spacing:-.02em; }
.vent-product p { margin:0; padding:0 1.1rem 1.2rem; color:#5b675e; font-size:.86rem; line-height:1.5; }
.vent-more { margin:1.6rem 0 0; color:#526055; font-size:.95rem; }
.vent-more span { margin-right:.5rem; color:#6f9000; font-size:.75rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
@media(max-width:1100px) { .vent-products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:900px) { .vent-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .vent-product strong { padding:.8rem .8rem .25rem; } .vent-product p { padding:0 .8rem 1rem; font-size:.82rem; } }
#gaine-lisse .vent-duct__media { background:#f5f5f6; }
.vent-product--more { justify-content:center; padding:1.6rem 1.4rem; background:#1b2221; border-color:#1b2221; color:#fff; }
.vent-product--more:hover { border-color:#9cc500; }
.vent-product--more .dust-label { margin:0 0 1rem; color:#b9db62; }
.vent-product--more ul { margin:0 0 1.6rem; padding:0; list-style:none; }
.vent-product--more ul li { position:relative; padding:.45rem 0 .45rem 1.2rem; border-bottom:1px solid #343b39; font-size:.98rem; font-weight:650; }
.vent-product--more ul li::before { content:"+"; position:absolute; left:0; color:#9cc500; font-weight:700; }
.vent-product--more .dust-link { align-self:flex-start; color:#c1ee44; font-size:.9rem; }

/* Ventilateurs : photos produits. */
.vent-tile--fan { padding:0 0 1.6rem; overflow:hidden; }
.vent-tile--fan > *:not(.vent-tile__photo) { margin-left:1.6rem; margin-right:1.6rem; }
.vent-tile__photo { display:block; aspect-ratio:4/3; margin-bottom:1rem; background:#fff; border-bottom:1px solid #eceeea; overflow:hidden; }
.vent-tile__photo img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s; }
.vent-tile--fan:hover .vent-tile__photo img { transform:scale(1.04); }
