/*
Theme Name: Pavage CRD
Theme URI: https://pavagecrd.com
Author: Pavage CRD Inc
Description: Thème WordPress professionnel sur mesure pour Pavage CRD Inc.
Version: 6.0.0
Text Domain: pavage-crd
*/

:root{
  --yellow:#f4c300;
  --yellow-2:#ffd84a;
  --black:#070707;
  --charcoal:#151515;
  --gray:#d8d8d8;
  --white:#fff;
  --max:1220px;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--black);
  color:var(--white);
  line-height:1.6;
}
body.admin-bar .site-header{top:32px}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.container{width:min(92%,var(--max));margin:auto}
.section{padding:96px 0}
.section-dark{background:var(--charcoal)}
.section-light{background:#f4f4f4;color:#111}
.section-title{text-align:center;margin-bottom:48px}
.section-title .eyebrow{display:block;margin-bottom:10px}
.section-title h2{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.08;margin:0}
.section-title p{max-width:780px;margin:14px auto 0;opacity:.75}
.eyebrow{color:var(--yellow);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.83rem}
.grid{display:grid;gap:24px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(6,6,6,.91);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(244,195,0,.25);
  transition:.25s ease;
}
.site-header.scrolled{box-shadow:0 12px 34px rgba(0,0,0,.32)}
.header-inner{
  min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:900}
.brand img{width:148px;height:60px;object-fit:cover;border-radius:8px}
.brand-text{font-size:1.1rem;letter-spacing:.04em}
.main-nav{display:flex;gap:24px;align-items:center}
.main-nav a{text-decoration:none;font-weight:800;position:relative}
.main-nav a:after{
  content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;
  background:var(--yellow);transition:.25s
}
.main-nav a:hover:after{width:100%}
.header-phone,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--yellow);color:#000;text-decoration:none;
  font-weight:900;padding:15px 24px;border-radius:999px;border:none;cursor:pointer;
  transition:.22s ease;box-shadow:0 10px 24px rgba(244,195,0,.16)
}
.btn:hover,.header-phone:hover{transform:translateY(-2px);background:var(--yellow-2)}
.btn-outline{background:transparent;color:white;border:2px solid white;box-shadow:none}
.btn-outline:hover{background:white;color:#000}

/* Hero */
.hero{
  min-height:88vh;display:grid;place-items:center;position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.38)),
    url("assets/images/hero-placeholder.jpg") center/cover no-repeat;
}
.hero:after{
  content:"";position:absolute;inset:auto -12% -20% auto;width:520px;height:520px;
  border:70px solid rgba(244,195,0,.14);border-radius:50%;
}
.hero-content{position:relative;z-index:2;max-width:900px;padding:110px 0}
.hero h1{font-size:clamp(3.2rem,8vw,6.5rem);line-height:.91;margin:.18em 0 .15em}
.hero h2{font-size:clamp(1.25rem,2.8vw,2.15rem);font-weight:650;max-width:780px;margin:0 0 14px}
.hero p{font-size:1.08rem;color:#ededed;max-width:720px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-badge{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);padding:9px 14px;border-radius:999px;font-weight:700}

/* Cards */
.services-grid{grid-template-columns:repeat(3,1fr)}
.card{
  background:#202020;border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);padding:30px;box-shadow:0 18px 46px rgba(0,0,0,.18);
  transition:.28s ease
}
.card:hover{transform:translateY(-8px);border-color:rgba(244,195,0,.55)}
.section-light .card{background:#fff}
.icon{font-size:2.2rem;line-height:1;margin-bottom:18px}
.card h3{color:var(--yellow);margin:0 0 10px;font-size:1.25rem}
.section-light .card h3{color:#111}
.card-number{font-size:2.2rem;font-weight:900;color:var(--yellow)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.media-card{border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 54px rgba(0,0,0,.28);position:relative}
.media-card:after{content:"";position:absolute;inset:0;border:2px solid rgba(244,195,0,.35);border-radius:inherit;pointer-events:none}
.checks{list-style:none;padding:0}
.checks li{margin:13px 0;padding-left:32px;position:relative}
.checks li:before{content:"✓";position:absolute;left:0;color:var(--yellow);font-weight:900}

/* Stats */
.stats{grid-template-columns:repeat(4,1fr)}
.stat{text-align:center;padding:28px;border-radius:18px;background:#111;border:1px solid rgba(255,255,255,.08)}
.stat strong{display:block;font-size:2.3rem;color:var(--yellow)}
.stat span{opacity:.78}

/* Gallery */
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.gallery-item{
  min-height:320px;border-radius:var(--radius);overflow:hidden;
  display:flex;align-items:flex-end;padding:24px;position:relative;
  background:
    linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.78)),
    url("assets/images/realisations-placeholder.jpg") center/cover no-repeat;
  transition:.35s ease
}
.gallery-item:hover{transform:scale(1.02)}
.gallery-item h3{margin:0;font-size:1.4rem}

/* Method */
.steps{grid-template-columns:repeat(4,1fr)}
.step{position:relative}
.step:after{
  content:"";position:absolute;top:38px;right:-18px;width:36px;height:3px;background:var(--yellow)
}
.step:last-child:after{display:none}

/* Reviews */
.reviews{grid-template-columns:repeat(3,1fr)}
.stars{color:var(--yellow);letter-spacing:.12em;font-size:1.15rem}
.quote{font-size:1.05rem}
.reviewer{font-weight:900;margin-top:18px}

/* FAQ */
.faq{max-width:900px;margin:auto}
.faq details{
  background:#202020;border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:18px 20px;margin:12px 0
}
.faq summary{cursor:pointer;font-weight:900;color:var(--yellow)}
.faq p{margin-bottom:0;color:#ddd}

/* CTA */
.cta{
  background:linear-gradient(135deg,#111 0%,#222 63%,var(--yellow) 63%,var(--yellow) 100%);
  border-radius:26px;padding:52px;display:flex;justify-content:space-between;gap:30px;align-items:center
}

/* Contact */
.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start}
.contact-box{
  background:#111;color:#fff;border-radius:20px;padding:32px;
  border:1px solid rgba(244,195,0,.35);box-shadow:0 18px 45px rgba(0,0,0,.20)
}
.contact-box form{display:grid;gap:18px}
.contact-box label{display:block;margin-bottom:7px;color:#fff;font-size:.96rem;font-weight:800}
.contact-box input,.contact-box textarea,.contact-box select{
  width:100%;background:#fff;color:#111;border:2px solid transparent;border-radius:10px;
  padding:14px 15px;min-height:50px;font:inherit
}
.contact-box textarea{min-height:160px;resize:vertical}
.contact-box input:focus,.contact-box textarea:focus,.contact-box select:focus{
  outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,195,0,.18)
}
.contact-box .btn{width:100%;min-height:54px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.notice{font-size:.9rem;color:#cfcfcf}

/* Footer */
.site-footer{background:#050505;border-top:1px solid #252525;padding:46px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:32px}
.footer-title{color:var(--yellow);font-weight:900}
.site-footer a{color:var(--yellow);text-decoration:none}
.legal{font-size:.86rem;color:#aaa;border-top:1px solid #242424;margin-top:30px;padding-top:20px}
.mobile-call{display:none}
.back-to-top{
  position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;
  border:0;background:#111;color:var(--yellow);font-size:1.25rem;cursor:pointer;z-index:70;
  box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.25s
}
.back-to-top.show{opacity:1;pointer-events:auto}

/* Animations */
.reveal{opacity:0;transform:translateY(26px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1000px){
  .main-nav{display:none}
  .services-grid,.stats,.steps{grid-template-columns:repeat(2,1fr)}
  .gallery-grid,.reviews{grid-template-columns:1fr 1fr}
  .split,.contact-grid{grid-template-columns:1fr}
  .step:after{display:none}
  .cta{background:#171717;flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
  body.admin-bar .site-header{top:46px}
  .header-phone{display:none}
  .brand img{width:112px;height:48px}
  .brand-text{display:none}
  .services-grid,.stats,.steps,.gallery-grid,.reviews,.footer-grid,.form-row{grid-template-columns:1fr}
  .section{padding:68px 0}
  .hero{min-height:78vh}
  .hero-content{padding:80px 0}
  .mobile-call{
    display:block;position:fixed;bottom:14px;left:14px;right:14px;z-index:80;
    text-align:center;background:var(--yellow);color:#000;padding:15px;border-radius:999px;
    text-decoration:none;font-weight:900;box-shadow:0 8px 30px rgba(0,0,0,.35)
  }
  .back-to-top{bottom:82px}
}


/* Projet réel avec vidéos — version 3.0 */
.project-comparison{
  display:grid;
  grid-template-columns:1fr 74px 1fr;
  gap:22px;
  align-items:center;
}
.project-photo{
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#111;
  border:1px solid rgba(244,195,0,.28);
  box-shadow:0 20px 55px rgba(0,0,0,.28);
}
.project-photo img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.project-photo figcaption{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:18px 20px;
}
.project-photo figcaption strong{color:var(--yellow);font-size:1.12rem}
.project-photo figcaption span{color:#d4d4d4}
.comparison-arrow{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:auto;
  border-radius:50%;
  background:var(--yellow);
  color:#000;
  font-size:2rem;
  font-weight:900;
}
.process-heading{margin-top:92px}
.video-process{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.video-step{
  position:relative;
  overflow:hidden;
  background:#202020;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.video-step video{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  background:#050505;
  object-fit:cover;
}
.video-copy{padding:24px}
.video-copy h3{color:var(--yellow);margin:0 0 8px}
.video-copy p{margin:0;color:#d6d6d6}
.video-number{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:grid;
  place-items:center;
  min-width:48px;
  height:40px;
  padding:0 12px;
  border-radius:999px;
  background:var(--yellow);
  color:#000;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.project-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:34px;
}
.project-benefits div{
  display:flex;
  gap:10px;
  align-items:center;
  padding:17px;
  border-radius:15px;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
}
.project-benefits strong{color:var(--yellow);font-size:1.25rem}
.project-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  margin-top:44px;
  padding:34px;
  border-radius:22px;
  background:linear-gradient(120deg,#101010,#242424);
  border:1px solid rgba(244,195,0,.28);
}
.project-cta h3{margin:.25rem 0 0;font-size:clamp(1.6rem,3vw,2.3rem)}

@media(max-width:900px){
  .project-comparison{grid-template-columns:1fr}
  .comparison-arrow{transform:rotate(90deg)}
  .video-process{grid-template-columns:1fr}
  .project-benefits{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .project-benefits{grid-template-columns:1fr}
  .project-cta{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   VERSION 4.0 — CORRECTIONS RESPONSIVES ET MOBILE-FIRST
   ========================================================= */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  overflow-wrap: break-word;
}

.hero h1,
.hero h2,
.section-title h2,
.card h3,
.project-photo figcaption,
.project-cta h3 {
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  :root {
    --radius: 16px;
  }

  body {
    padding-bottom: 82px;
    font-size: 16px;
  }

  .container {
    width: min(100% - 32px, var(--max));
  }

  .section {
    padding: 54px 0;
  }

  .section-title {
    margin-bottom: 30px;
  }

  .section-title h2 {
    font-size: clamp(1.9rem, 9vw, 2.55rem);
    line-height: 1.06;
  }

  .section-title p {
    font-size: 1rem;
    line-height: 1.55;
  }

  /* En-tête compact */
  .site-header {
    position: sticky;
    top: 0;
  }

  .header-inner {
    min-height: 76px;
    gap: 10px;
  }

  .brand img {
    width: 128px;
    height: 52px;
    object-fit: contain;
    border-radius: 0;
  }

  /* Bannière d'accueil */
  .hero {
    min-height: auto;
    display: block;
    background-position: 62% center;
  }

  .hero::after {
    width: 310px;
    height: 310px;
    right: -145px;
    bottom: -90px;
    border-width: 42px;
  }

  .hero-content {
    width: 100%;
    max-width: none;
    padding: 64px 0 58px;
  }

  .hero .eyebrow {
    font-size: .78rem;
    letter-spacing: .11em;
  }

  .hero h1 {
    max-width: 100%;
    margin: 12px 0 14px;
    font-size: clamp(2.6rem, 13vw, 4rem);
    line-height: .96;
  }

  .hero h2 {
    font-size: 1.28rem;
    line-height: 1.32;
    margin-bottom: 14px;
  }

  .hero p {
    font-size: 1rem;
    line-height: 1.58;
    margin: 0;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 11px;
    margin-top: 24px;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 54px;
    padding: 13px 16px;
    font-size: .98rem;
    text-align: center;
    white-space: normal;
  }

  .hero-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 20px;
  }

  .hero-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 9px 8px;
    font-size: .84rem;
    text-align: center;
  }

  /* Cartes de services */
  .services-grid,
  .stats,
  .steps,
  .gallery-grid,
  .reviews,
  .footer-grid,
  .form-row,
  .project-benefits {
    grid-template-columns: 1fr;
  }

  .card {
    padding: 24px 22px;
  }

  .card:hover {
    transform: none;
  }

  .icon {
    font-size: 1.85rem;
    margin-bottom: 14px;
  }

  .card h3 {
    font-size: 1.28rem;
  }

  /* Statistiques moins hautes */
  .stat {
    padding: 20px;
  }

  .stat strong {
    font-size: 2rem;
  }

  /* Galerie et images : aucune coupure horizontale */
  .gallery-item {
    min-height: 240px;
    width: 100%;
    padding: 20px;
    background-position: center;
  }

  .gallery-item h3 {
    max-width: 100%;
    font-size: 1.28rem;
  }

  .project-comparison {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .project-photo {
    width: 100%;
    border-radius: 17px;
  }

  .project-photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .project-photo figcaption {
    padding: 15px 16px;
  }

  .comparison-arrow {
    width: 48px;
    height: 48px;
    font-size: 1.45rem;
    transform: rotate(90deg);
  }

  .process-heading {
    margin-top: 58px;
  }

  .video-process {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .video-step {
    width: 100%;
    border-radius: 17px;
  }

  .video-step video {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .video-copy {
    padding: 19px 18px 21px;
  }

  .video-copy h3 {
    font-size: 1.22rem;
  }

  .project-benefits {
    gap: 10px;
  }

  .project-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 24px 20px;
  }

  .project-cta .btn {
    width: 100%;
  }

  /* Processus */
  .step {
    min-height: 0;
  }

  .step::after {
    display: none;
  }

  /* CTA et formulaire */
  .cta {
    padding: 28px 22px;
    border-radius: 18px;
    background: #171717;
    color: #fff;
  }

  .cta h2,
  .cta p {
    color: #fff;
  }

  .cta .btn {
    width: 100%;
  }

  .contact-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .contact-box {
    width: 100%;
    padding: 22px 18px;
  }

  .contact-box input,
  .contact-box textarea,
  .contact-box select {
    font-size: 16px;
  }

  /* Bouton d'appel fixe compact et non bloquant */
  .mobile-call {
    left: 12px;
    right: 12px;
    bottom: 10px;
    padding: 13px 12px;
    min-height: 54px;
    font-size: .96rem;
    line-height: 1.2;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .42);
  }

  .back-to-top {
    right: 16px;
    bottom: 76px;
    width: 44px;
    height: 44px;
  }

  .site-footer {
    padding-bottom: 36px;
  }
}

@media (max-width: 390px) {
  .container {
    width: min(100% - 24px, var(--max));
  }

  .brand img {
    width: 116px;
    height: 47px;
  }

  .hero h1 {
    font-size: 2.55rem;
  }

  .hero h2 {
    font-size: 1.16rem;
  }

  .hero-badges {
    grid-template-columns: 1fr;
  }

  .mobile-call {
    font-size: .89rem;
  }
}

/* Très petits téléphones */
@media (max-width: 340px) {
  .hero h1 {
    font-size: 2.25rem;
  }

  .btn,
  .mobile-call {
    font-size: .84rem;
  }
}


/* =========================================================
   VERSION 5.0 — NOUVELLE BANNIÈRE AVEC L’ENTRÉE EN ASPHALTE
   ========================================================= */

.hero-v5{
  min-height:calc(100vh - 84px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.80) 31%,rgba(0,0,0,.32) 62%,rgba(0,0,0,.10) 100%),
    linear-gradient(0deg,rgba(0,0,0,.48),transparent 45%),
    url("assets/images/hero-entree-asphalte.jpg") center center/cover no-repeat;
}

.hero-v5::after{
  display:none;
}

.hero-v5 .hero-content{
  width:100%;
  max-width:1220px;
  padding:86px 0 38px;
}

.hero-v5 h1{
  margin:12px 0 20px;
  max-width:660px;
  font-size:clamp(4rem,8vw,7.3rem);
  line-height:.78;
  letter-spacing:-.055em;
  text-shadow:0 8px 30px rgba(0,0,0,.55);
}

.hero-v5 h1 span{
  color:#fff;
}

.hero-v5 h1 mark{
  padding:0;
  background:none;
  color:var(--yellow);
}

.hero-v5 .hero-lead{
  max-width:660px;
  margin:0;
  font-size:1.17rem;
  line-height:1.55;
  color:#f2f2f2;
  text-shadow:0 3px 15px rgba(0,0,0,.75);
}

.hero-confidence{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:26px;
  font-size:.98rem;
}

.hero-confidence span{
  color:var(--yellow);
  letter-spacing:.13em;
  font-size:1.2rem;
}

.hero-trust{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-bottom:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  background:rgba(5,5,5,.82);
  box-shadow:0 22px 55px rgba(0,0,0,.38);
  backdrop-filter:blur(12px);
}

.trust-item{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:112px;
  padding:22px 28px;
}

.trust-item + .trust-item{
  border-left:1px solid rgba(255,255,255,.18);
}

.trust-icon{
  flex:0 0 58px;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  color:var(--yellow);
  font-size:1.55rem;
  font-weight:900;
}

.trust-item strong,
.trust-item small{
  display:block;
}

.trust-item strong{
  font-size:1.05rem;
  text-transform:uppercase;
}

.trust-item small{
  margin-top:3px;
  color:#d3d3d3;
  font-size:.9rem;
}

@media (max-width:900px){
  .hero-v5{
    min-height:auto;
    background:
      linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.60)),
      url("assets/images/hero-entree-asphalte.jpg") 58% center/cover no-repeat;
  }

  .hero-v5 .hero-content{
    padding-top:78px;
  }

  .hero-trust{
    grid-template-columns:1fr;
    margin-top:8px;
  }

  .trust-item{
    min-height:90px;
  }

  .trust-item + .trust-item{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
}

@media (max-width:700px){
  .hero-v5{
    min-height:auto;
    background:
      linear-gradient(180deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.90) 100%),
      url("assets/images/hero-entree-asphalte.jpg") 67% center/cover no-repeat;
  }

  .hero-v5 .hero-content{
    padding:58px 0 28px;
  }

  .hero-v5 h1{
    margin:10px 0 18px;
    max-width:100%;
    font-size:clamp(3.15rem,16vw,4.7rem);
    line-height:.82;
  }

  .hero-v5 .hero-lead{
    max-width:100%;
    font-size:1rem;
  }

  .hero-confidence{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
    margin-top:19px;
  }

  .hero-trust{
    width:min(100% - 32px,var(--max));
    margin-bottom:22px;
    border-radius:17px;
  }

  .trust-item{
    min-height:0;
    padding:17px 18px;
  }

  .trust-icon{
    flex-basis:46px;
    width:46px;
    height:46px;
    font-size:1.2rem;
  }

  .trust-item strong{
    font-size:.92rem;
  }

  .trust-item small{
    font-size:.82rem;
  }
}


/* =========================================================
   VERSION 6.0 — FINITIONS PREMIUM ET OPTIMISATION MOBILE
   ========================================================= */

/* Hero: laisse davantage voir l’entrée et ajoute un mouvement subtil */
.hero-v5{
  background-position:58% center;
  animation:heroDrift 18s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  from{background-size:100% auto}
  to{background-size:106% auto}
}
.hero-v5 .hero-content{
  transform:translateX(-18px);
}

/* Engagements plus compacts */
.hero-trust{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.trust-item{
  min-height:88px;
  padding:16px 22px;
}
.trust-icon{
  flex-basis:46px;
  width:46px;
  height:46px;
  font-size:1.2rem;
}
.trust-item strong{font-size:.94rem}
.trust-item small{font-size:.82rem}

/* Services avec vraies photos */
.service-photo-grid{
  gap:24px;
}
.service-photo-card{
  padding:0;
  overflow:hidden;
  min-width:0;
}
.service-photo-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .55s ease,filter .55s ease;
}
.service-photo-card:hover img{
  transform:scale(1.045);
  filter:brightness(1.06);
}
.service-photo-copy{
  position:relative;
  padding:23px 23px 26px;
}
.service-photo-copy > span{
  position:absolute;
  right:20px;
  top:-22px;
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border-radius:50%;
  background:var(--yellow);
  color:#000;
  font-weight:900;
  box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.service-photo-copy h3{
  margin:0 0 9px;
  color:var(--yellow);
}
.service-photo-copy p{
  margin:0;
}

/* Vidéos davantage mises en valeur */
.process-heading{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.video-process{
  gap:24px;
}
.video-step{
  border-color:rgba(244,195,0,.24);
}
.video-step video{
  filter:saturate(1.05) contrast(1.03);
}
.video-copy{
  border-top:1px solid rgba(255,255,255,.07);
}

/* Bouton d’appel fixe moins imposant */
@media(max-width:700px){
  body{padding-bottom:72px}
  .hero-v5{
    animation:none;
    background-position:64% center;
  }
  .hero-v5 .hero-content{
    transform:none;
  }
  .hero-trust{
    width:min(100% - 32px,var(--max));
  }
  .trust-item{
    padding:13px 15px;
    min-height:70px;
  }
  .trust-icon{
    flex-basis:40px;
    width:40px;
    height:40px;
  }
  .service-photo-grid{
    gap:18px;
  }
  .service-photo-card{
    border-radius:17px;
  }
  .service-photo-copy{
    padding:19px 18px 21px;
  }
  .service-photo-copy > span{
    right:16px;
    top:-19px;
    width:39px;
    height:39px;
    font-size:.85rem;
  }
  .mobile-call{
    left:16px;
    right:16px;
    bottom:9px;
    min-height:48px;
    padding:10px 12px;
    font-size:.88rem;
  }
  .back-to-top{
    bottom:68px;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-v5{animation:none}
}
