/* Hero photo plein cadre, style Apple/Wallbox/Porsche — partagé entre l'accueil et les pages catégorie. */
.hero-photo { position: relative; width: 100%; max-width: 2560px; left: 50%; transform: translateX(-50%); height: 830px; overflow: hidden; background: #1a1a1a; }
.hero-photo-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 65%; }
.hero-photo-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.42) 18%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.12) 55%, rgba(0,0,0,.5) 100%); }
.hero-photo-content { box-sizing: border-box; position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; padding: 320px 2rem 0 var(--edg-gutter); } /* bord gauche aligné sur le bloc « Estimez vos travaux » et le footer */
.hero-photo-badge { display: inline-block; background: #178bff; color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .5rem 1.1rem; border-radius: 999px; margin-bottom: 1.5rem; }
/* Même famille que les autres titres gras du site (ex. « Estimez vos travaux » : 700, -.035em, 1.1), un cran au-dessus en taille */
/* ESSAI LOCAL UNIQUEMENT — licence Nort à confirmer avant toute mise en ligne */
.hero-photo-title { font-size: clamp(2.75rem, 4.6vw, 94px); font-weight: 700; letter-spacing: -.035em; line-height: 1; color: #fff; margin-top: -1.5rem; margin-bottom: 0; }
.hero-photo-title-kicker { display: block; font-size: 1.25rem; font-weight: 400; line-height: 1.6; letter-spacing: normal; color: rgba(255,255,255,.85); margin-top: 2.75rem; }
.hero-photo-sub { font-size: 1.25rem; color: rgba(255,255,255,.85); max-width: 680px; line-height: 1.6; margin: 0 0 2.25rem; }
.hero-photo-actions { display: flex; align-items: center; justify-content: flex-start; gap: 1rem; flex-wrap: wrap; }
.hero-photo-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; border-radius: 999px; font-size: 1rem; font-weight: 700; padding: 1.15rem 2.4rem; /* taille « grand » (site-base.css) */ transition: filter .2s ease, background-color .2s ease, color .2s ease; }
.hero-photo-btn-primary { background: #178bff; color: #fff; }
.hero-photo-btn-primary:hover { filter: brightness(1.1); }
.hero-photo-btn-secondary { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.7); }
.hero-photo-btn-secondary:hover { background: #fff; color: #000; }

@media (max-width: 900px) {
  .hero-photo { height: 640px; }
  .hero-photo-content { padding: 80px 1.25rem 0; }
  .hero-photo-badge { font-size: .68rem; padding: .4rem .9rem; margin-bottom: .85rem; }
  .hero-photo-title { font-size: clamp(2rem, 9vw, 2.75rem); margin-bottom: .6rem; }
  .hero-photo-sub { font-size: .85rem; max-width: 280px; margin-bottom: 1.5rem; }
  .hero-photo-actions { flex-direction: column; width: 100%; max-width: 280px; gap: .65rem; }
  .hero-photo-btn { width: 100%; font-size: .85rem; padding: .95rem 1.5rem; }
}
