.immersive-intro { position: relative; overflow: hidden; min-height: 460px; display: flex; align-items: flex-end; color: #fff; border: 0; background-color: #151515; background-position: center; background-size: cover; }
.immersive-intro::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,10,.93) 0%, rgba(10,10,10,.68) 50%, rgba(10,10,10,.25) 100%); }
.immersive-intro .wrap { position: relative; z-index: 1; padding-bottom: 5rem; }
.immersive-intro h1 { max-width: 840px; color: #fff; }
.immersive-intro p:not(.eyebrow) { color: #ece8e1; }
.catalogue-intro { background-image: url('../../uploads/site/catalogue-hero.jpg'); }
.dealers-intro { background-image: url('../../uploads/site/usine1.jpg'); }
.about-intro { background-image: url('../../uploads/site/miro-material-detail.jpg'); background-position: 70% center; }
.catalogue-search-panel { position: relative; z-index: 3; width: min(790px, 100%); margin: -2.5rem auto 3.5rem; padding: 1.35rem; background: #fffdfa; border-top: 4px solid #c9252a; box-shadow: 0 18px 36px rgba(0,0,0,.12); }
.catalogue-search-panel > label { display: block; margin-bottom: .65rem; color: #6f6a62; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.catalogue-search-field { position: relative; }
.catalogue-search-field input { width: 100%; padding: 1rem 3.4rem 1rem 1rem; border: 1px solid #d8d2c7; background: #fff; color: #151515; font: inherit; font-size: 1rem; }
.catalogue-search-field input:focus { outline: 2px solid #c9252a; outline-offset: 2px; }
.catalogue-search-field span { position: absolute; top: 50%; right: 1.1rem; transform: translateY(-52%); color: #c9252a; font-size: 1.8rem; line-height: 1; }
.search-suggestions { position: absolute; right: 1.35rem; left: 1.35rem; z-index: 5; max-height: 350px; overflow: auto; background: #fffdfa; border: 1px solid #d8d2c7; border-top: 0; box-shadow: 0 14px 28px rgba(0,0,0,.12); }
.search-suggestions a { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: #151515; text-decoration: none; border-top: 1px solid #ebe6dc; }
.search-suggestions [hidden] { display: none !important; }
.search-suggestions a:hover, .search-suggestions a:focus { background: #f1ede6; }
.search-suggestions small { color: #c9252a; font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-align: right; text-transform: uppercase; }
.search-empty { margin: 0; padding: 1rem; color: #6f6a62; }
.product-gallery { min-width: 0; }
.gallery-thumbnails { display: flex; gap: .65rem; margin-top: .8rem; overflow: auto; padding-bottom: .25rem; }
.gallery-thumbnails button { flex: 0 0 74px; height: 58px; padding: 0; border: 2px solid transparent; background: #e4dfd5; cursor: pointer; }
.gallery-thumbnails button.active, .gallery-thumbnails button:focus-visible { border-color: #c9252a; outline: none; }
.gallery-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.dealers-map-section { padding: 6rem 0 0; background: #f4f1eb; }
.map-count { margin: 0; color: #6f6a62; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.dealer-map-shell { display: grid; grid-template-columns: 1.5fr .5fr; min-height: 500px; background: #151515; }
#dealers-map { min-height: 500px; background: #d8d2c7; }
.dealer-map-shell aside { padding: 3rem; color: #fff; }
.dealer-map-shell aside h2 { font-size: clamp(2.2rem, 3.5vw, 3.6rem); margin-bottom: 1.3rem; }
.dealer-map-shell aside p:not(.eyebrow) { color: #d5d0c8; }
.leaflet-container { font-family: Arial, Helvetica, sans-serif; }
.map-popup h3 { margin: 0 0 .35rem; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.1; }
.map-popup p { margin: 0; color: #6f6a62; }
.map-popup a { display: inline-block; margin-top: .65rem; color: #c9252a; font-weight: 800; text-decoration: none; }
@media (max-width: 860px) { .immersive-intro { min-height: 390px; } .immersive-intro .wrap { padding-bottom: 3.5rem; } .dealer-map-shell { grid-template-columns: 1fr; } .dealer-map-shell aside { padding: 2.4rem; } #dealers-map { min-height: 400px; } }
@media (max-width: 560px) { .immersive-intro { min-height: 360px; } .catalogue-search-panel { margin-top: -1.5rem; padding: 1rem; } .search-suggestions { right: 1rem; left: 1rem; } .search-suggestions a { align-items: flex-start; flex-direction: column; gap: .3rem; } .search-suggestions small { text-align: left; } .map-count { white-space: normal; } }
