
:root{
  --brand-color:#f59a00;
  --brand-color-1:#151515;
  --brand-color-rgb:245,154,0;
  --brand-color-1-rgb:21,21,21;
  --brand-h:37deg;
  --brand-s:100%;
  --brand-l:48%;
}
body{color:#555;background:#fff}
a{transition:.2s ease}
.header-main{background:#000000;box-shadow:0 5px 22px rgba(0,0,0,.06)}
.navbar-brand img{width:auto;object-fit:contain}.header-main .navbar-brand img{max-height:154px!important}
.header-top{background:#111!important}
.nav-menu-link{font-weight:700}.nav-menu-link:hover,.nav-submenu-link:hover{color:var(--brand-color)!important}
.section-hero .swiper-slide{min-height:650px;background-position:center;background-size:cover}
.section-hero .overlay-linear-left-dark:before{background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.12) 78%,rgba(0,0,0,0) 100%)}
.hero-content .display2{font-size:clamp(2.7rem,5.4vw,5rem);text-transform:none!important}
.sub-title{color:var(--brand-color)}
.btn-primary{color:#111!important;font-weight:800}.btn-primary:hover{color:#111!important}
.btn-dark{background:#111;color:#fff;border-color:#111}.btn-dark:hover{background:#2b2b2b;color:#fff}
.section-page-info{background-position:center;background-size:cover;min-height:330px;display:flex;align-items:center}
.section-page-info:before{background:rgba(0,0,0,.70)!important}
.page-title{font-size:clamp(2.5rem,5vw,4.6rem)}
.solusun-card{height:100%;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.08);padding:32px;border-top:4px solid var(--brand-color)}
.solusun-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(var(--brand-color-rgb),.12);color:var(--brand-color);font-size:30px;margin-bottom:20px}
.kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--brand-color)}
.check-list{list-style:none;margin:0;padding:0}.check-list li{display:flex;gap:12px;margin:10px 0}.check-list i{color:var(--brand-color);font-size:22px;flex:0 0 auto;margin-top:2px}
.dark-panel{background:#111;color:#fff;padding:42px}.dark-panel h2,.dark-panel h3,.dark-panel h4{color:#fff}
.stats-band{background:#111;color:#fff}.stat{padding:26px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.15)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:2rem;color:var(--brand-color);line-height:1.1}.stat span{font-size:.95rem}
.img-cover{width:100%;height:100%;object-fit:cover}.rounded-0{border-radius:0!important}
.service-feature{overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);height:100%}.service-feature img{height:320px;width:100%;object-fit:cover}.service-feature .content{padding:28px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid a{display:block;overflow:hidden;position:relative;min-height:260px;background:#eee}.gallery-grid img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:.35s ease}.gallery-grid a:hover img{transform:scale(1.035)}
.gallery-grid .portrait{grid-row:span 2}.gallery-grid .portrait img{min-height:538px}
.contact-box{background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.08);padding:32px;border-left:4px solid var(--brand-color)}
.form-control{border-radius:0;min-height:52px}.form-control:focus{border-color:var(--brand-color);box-shadow:0 0 0 .2rem rgba(var(--brand-color-rgb),.12)}textarea.form-control{min-height:150px}
.footer .navbar-brand img{max-height:90px!important}.footer a[href]{cursor:pointer}
.footer-logo-panel{background:#080808;padding:18px;display:inline-block}.footer-logo-panel img{max-width:250px;width:100%;height:auto}
.small-note{font-size:.88rem;color:#777}
.local-zone{background:#f6f6f6;border-left:4px solid var(--brand-color);padding:24px}
.product-badge{display:inline-block;background:#111;color:#fff;padding:6px 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.cta-inline{background:var(--brand-color);padding:28px;color:#111}.cta-inline h3{color:#111}.cta-inline .btn{background:#111;color:#fff;border-color:#111}
@media(max-width:991.98px){.section-hero .swiper-slide{min-height:560px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .portrait{grid-row:auto}.gallery-grid .portrait img{min-height:260px}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}}
@media(max-width:575.98px){.gallery-grid{grid-template-columns:1fr}.gallery-grid a,.gallery-grid img{min-height:240px}.dark-panel{padding:28px}.solusun-card{padding:25px}.header-main .navbar-brand img{max-height:52px!important}.section-page-info{min-height:260px}}


/* Promotion popup - accueil */
.promo-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.promo-popup.is-open{opacity:1;visibility:visible;pointer-events:auto}
.promo-popup__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}
.promo-popup__dialog{position:relative;z-index:1;width:min(92vw,760px);max-height:90vh;animation:promoPopupIn .35s ease both;filter:drop-shadow(0 24px 60px rgba(0,0,0,.48))}
.promo-popup__image{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain}
.promo-popup__close{position:absolute;top:-15px;right:-15px;z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand-color);color:#111;font-size:31px;line-height:1;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.32);cursor:pointer}
.promo-popup__close:hover{transform:scale(1.06);background:#fff}
body.promo-popup-open{overflow:hidden}
@keyframes promoPopupIn{from{opacity:0;transform:translateY(18px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Logos fournisseurs - présentation */
.suppliers-section{border-top:1px solid #ececec}
.supplier-logo-card{height:100%;min-height:230px;padding:34px;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid #ececec;box-shadow:0 12px 32px rgba(0,0,0,.055);transition:transform .25s ease,box-shadow .25s ease}
.supplier-logo-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.09)}
.supplier-logo-card img{display:block;max-width:100%;max-height:155px;width:auto;height:auto;object-fit:contain}
@media(max-width:575.98px){.promo-popup{padding:14px}.promo-popup__dialog{width:min(95vw,540px)}.promo-popup__close{top:-10px;right:-8px;width:42px;height:42px;font-size:28px}.supplier-logo-card{min-height:185px;padding:25px}.supplier-logo-card img{max-height:125px}}
@media(prefers-reduced-motion:reduce){.promo-popup,.promo-popup__dialog,.supplier-logo-card{transition:none;animation:none}}
