/* ===== Section « Nos marques » ===== */
.brands-band { padding: 46px 0 34px; }
.brands-band .brands-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.9fr) 300px; gap: 28px; align-items: center; }
.brands-copy { display: grid; gap: 14px; justify-items: start; }
.brands-copy h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; color: var(--deep); font-weight: 800; }
.brands-copy h2 .script { font-size: 1.15em; color: #2a9da1; font-weight: 500; }
.brands-copy p { color: #3d6b72; font-size: .85rem; line-height: 1.6; }
.brands-copy .btn-yellow { background: var(--amber); color: var(--deep); }
.brands-copy .pill-yellow { background: var(--amber-soft); color: var(--deep); font-weight: 800; padding: 4px 14px 4px 5px; gap: 8px; }
.brands-copy .pill-yellow > .icon:first-child { background: var(--amber); color: #fff; border-radius: 50%; padding: 5px; width: 26px; height: 26px; }

.brands-slider { position: relative; min-width: 0; }
.brands-slider .brand-logos { display: grid; grid-template-rows: repeat(2, 92px); grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 14px) / 4); gap: 14px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; padding: 4px 2px; }
.brands-slider .brand-logos::-webkit-scrollbar { display: none; }
.brands-slider .brand-logos li { background: #fff; border: 0; border-radius: 16px; box-shadow: 0 6px 20px rgba(13, 85, 96, .07); scroll-snap-align: start; overflow: hidden; }
.brands-slider .brand-logos a { display: grid; place-items: center; height: 100%; background: none; box-shadow: none; border: 0; padding: 4px; }
.brands-slider .brand-logos img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.brands-slider .prev { left: -16px; top: auto; bottom: -28px; transform: none; }
.brands-slider .next { right: -16px; top: auto; bottom: -28px; transform: none; }
.brands-photo { height: 280px; background: center / cover no-repeat; border-radius: 40px 0 0 40px; -webkit-mask-image: linear-gradient(to right, transparent, #000 25%); mask-image: linear-gradient(to right, transparent, #000 25%); }

/* ===== Newsletter ===== */
.newsletter { margin-top: 26px; min-height: 230px; background: linear-gradient(90deg, #dcecf5 0%, #e6f3f8 45%, #f4f9fb 100%); position: relative; overflow: hidden; }
.newsletter::before { content: ""; position: absolute; inset: 0 0 0 auto; width: 62%; background: var(--news-img) right bottom / auto 100% no-repeat; -webkit-mask-image: linear-gradient(to right, transparent, #000 30%); mask-image: linear-gradient(to right, transparent, #000 30%); }
.newsletter .news-grid { position: relative; display: block; }
.news-copy { display: grid; gap: 10px; justify-items: start; max-width: 620px; }
.news-copy h2 { font-size: clamp(1.6rem, 2.5vw, 2.2rem); color: var(--deep); font-weight: 800; }
.news-copy h2 .light { font-weight: 500; }
.news-copy h2 .script { font-size: 1.15em; font-weight: 600; color: var(--deep); font-style: italic; }
.news-copy p { font-size: .85rem; color: #2f5f66; font-weight: 600; line-height: 1.55; }
.news-copy .pill-yellow { background: var(--amber-soft); color: var(--deep); font-weight: 800; padding: 4px 14px 4px 5px; gap: 8px; }
.news-copy .pill-yellow > .icon:first-child { background: var(--amber); color: #fff; border-radius: 50%; padding: 5px; width: 26px; height: 26px; }
.news-form { width: 100%; max-width: 560px; background: #fff; border: 0; box-shadow: 0 6px 20px rgba(13, 85, 96, .08); padding: 5px 5px 5px 18px; }
.news-form .btn-yellow { background: var(--amber); color: var(--deep); padding: 12px 28px; font-size: .88rem; }
.newsletter .news-note { position: absolute; right: 4%; top: 6%; display: block; font-size: 1.6rem; color: #2a9da1; transform: rotate(-8deg); }
.news-note .sparkle { position: absolute; right: -34px; top: -6px; width: 30px; }

@media (max-width: 1100px) {
    .brands-band .brands-grid { grid-template-columns: 1fr; }
    .brands-photo { display: none; }
    .newsletter::before { width: 80%; opacity: .55; }
}
@media (max-width: 860px) {
    .newsletter .news-note { display: none; }
    .brands-slider .brand-logos { grid-auto-columns: calc((100% - 14px) / 2); }
}

/* Ajustements newsletter */
.newsletter .wrap.news-grid { width: min(1440px, 100% - max(32px, 10.6vw)); }
.newsletter::before { inset: 0 15% 0 auto; width: 52%; -webkit-mask-image: linear-gradient(to right, transparent, #000 30%, #000 85%, transparent); mask-image: linear-gradient(to right, transparent, #000 30%, #000 85%, transparent); }
.newsletter .news-note { right: 3%; top: 14%; }

/* Photo bébé de la section marques */
.brands-photo { background-position: 40% center; -webkit-mask-image: linear-gradient(to right, transparent, #000 18%); mask-image: linear-gradient(to right, transparent, #000 18%); }

/* Logo du pied de page : version transparente, sans fond */
.logo-light { background: none; padding: 0; border-radius: 0; }
.logo-light img { height: 64px; filter: drop-shadow(0 0 1px rgba(255, 255, 255, .5)); }

/* Newsletter : image pleine largeur, hauteur définie par le contenu */
.newsletter { min-height: 0; padding-block: 48px; background: #f6fafc; }
.newsletter::before { inset: 0; width: auto; background: linear-gradient(90deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .5) 38%, rgba(255, 255, 255, 0) 60%), var(--news-img) right 55% / cover no-repeat; -webkit-mask-image: none; mask-image: none; opacity: 1; }
.newsletter .news-note { right: 3%; top: 10%; }
@media (max-width: 1100px) { .newsletter::before { width: auto; opacity: 1; background-position: 70% 55%; } }

/* Cartes marques : icônes, sans ombre */
.brands-slider .brand-logos li { box-shadow: none; border: 1px solid #e8f0f2; }
.brands-slider .brand-logos a { color: var(--logo-teal); transition: none; }
.brands-slider .brand-logos .icon { width: 40px; height: 40px; stroke-width: 1.5; }
.brands-slider .car-btn { box-shadow: none; }

/* Photo des marques : pleine hauteur, collée au bord droit de l'écran, fondue vers la gauche (comme la newsletter) */
.brands-band { position: relative; overflow: hidden; }
.brands-band::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 26%; background: var(--brands-img, url('../images/newsletter.jpg')) 72% 20% / cover no-repeat; -webkit-mask-image: linear-gradient(to right, transparent, #000 45%); mask-image: linear-gradient(to right, transparent, #000 45%); pointer-events: none; }
.brands-band .brands-grid { position: relative; z-index: 1; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.9fr) 17%; }
.brands-photo { display: none; }
@media (max-width: 1100px) { .brands-band::after { display: none; } .brands-band .brands-grid { grid-template-columns: 1fr; } }

/* Réseaux sociaux du pied de page : icônes seules, sans fond blanc */
.social { gap: 18px; }
.social a { background: none; width: auto; height: auto; border-radius: 0; color: #fff; opacity: .85; transition: color .15s, opacity .15s; }
.social a:hover { color: var(--yellow); opacity: 1; }
.social .icon { width: 24px; height: 24px; }

/* Bouton Promotions : icône sans pastille */
.nav-promo .nav-promo-ic { background: none; width: auto; height: auto; border-radius: 0; }
.nav-promo { gap: 8px !important; padding-left: 16px; }
.nav-promo .nav-promo-ic .icon { width: 24px; height: 24px; }

/* Baleine du pied de page : sans rond blanc */
.whale-sm { background: none; padding: 0; border-radius: 0; width: 72px; }

/* Newsletter : « à notre » en gras comme « Abonnez-vous » */
.news-copy h2 .light { font-weight: 800; }

/* Marques de l'accueil : logos seuls, sans carte (ni fond, ni bordure, ni ombre) */
.brands-slider .brand-logos li,
.brands-slider .brand-logos li.card { background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.brands-slider .brand-logos a { padding: 6px 10px; border-radius: 0; }
.brands-slider .brand-logos img { max-height: 70px; filter: grayscale(1); opacity: .75; transition: filter .25s, opacity .25s, transform .25s; }
.brands-slider .brand-logos a:hover img { filter: none; opacity: 1; transform: scale(1.08); }
