/* ===== HERO-GRILLE-7-5 ===== */
.hero{padding:calc(var(--header-h-mobile) + 28px) 0 40px;}
@media (min-width:768px){.hero{padding:clamp(48px,7vw,96px) 0 64px;}}
.hero-grid75{
  display:grid;grid-template-columns:1fr;gap:24px;align-items:center;
}
@media (min-width:880px){
  .hero-grid75{grid-template-columns:7fr 5fr;gap:clamp(28px,4vw,64px);}
}
.hero-grid75__title{
  font-family:var(--ff-display);
  font-size:clamp(2.4rem,7vw,4.6rem);line-height:1.04;
  color:var(--text);margin:0 0 18px;
  font-weight:500;letter-spacing:-.012em;
}
.hero-grid75__title em{font-style:italic;color:var(--accent);}
.hero-grid75__sub{
  font-family:var(--ff-body);font-size:clamp(1rem,1.6vw,1.15rem);
  color:var(--text-2);max-width:48ch;margin:0 0 26px;
}
.hero-grid75__cta{display:flex;flex-direction:column;gap:10px;}
.hero-grid75__cta .btn{width:100%;}
@media (min-width:560px){
  .hero-grid75__cta{flex-direction:row;flex-wrap:wrap;}
  .hero-grid75__cta .btn{width:auto;}
}
.hero-grid75__meta{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  margin-top:24px;font-family:var(--ff-ui);font-size:.85rem;color:var(--text-2);
}
.hero-grid75__media{
  position:relative;width:100%;aspect-ratio:16/10;
  border-radius:var(--r-lg);overflow:hidden;
  order:-1;
  box-shadow:0 14px 40px rgba(46,40,32,.12);
}
@media (min-width:880px){
  .hero-grid75__media{aspect-ratio:4/5;order:0;}
}
.hero-grid75__media img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-grid75__media .photo-tag{
  position:absolute;left:14px;bottom:14px;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-family:var(--ff-ui);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;
  padding:7px 12px;border-radius:999px;color:var(--text);
}

/* ===== REALISATIONS — galerie masonry (LAY-2 gallery=masonry) ===== */
.real-section{padding-top:32px;}
.real-head{display:flex;flex-direction:column;gap:16px;margin-bottom:30px;}
@media (min-width:768px){
  .real-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px;}
}
.real-head .sec-head{margin-bottom:0;}
.real-head .real-link{
  font-family:var(--ff-ui);font-size:.92rem;color:var(--accent);
  display:inline-flex;align-items:center;gap:6px;font-weight:600;
}
.real-head .real-link::after{content:"→";transition:transform .2s ease;}
.real-head .real-link:hover::after{transform:translateX(4px);}

.gal-masonry{
  column-count:1;column-gap:14px;
}
@media (min-width:640px){.gal-masonry{column-count:2;}}
@media (min-width:980px){.gal-masonry{column-count:3;}}
.gal-item{
  position:relative;width:100%;margin:0 0 14px;
  border-radius:var(--r-lg);overflow:hidden;
  break-inside:avoid;display:block;cursor:pointer;
  background:var(--bg-alt);
  transition:transform .25s ease, box-shadow .25s ease;
}
.gal-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(46,40,32,.14);}
.gal-item img{width:100%;height:auto;display:block;}
.gal-item__tag{
  position:absolute;left:10px;bottom:10px;
  background:color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-family:var(--ff-ui);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;
  padding:6px 10px;border-radius:999px;color:var(--text);
}

.real-cta{
  margin-top:34px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
}

/* ===== SERVICES — alt-rows (LAY-2 services=alt-rows) ===== */
.svc-intro{max-width:62ch;color:var(--text-2);font-size:1.05rem;margin-top:6px;}
.svc-alt{display:flex;flex-direction:column;gap:clamp(40px,5vw,72px);margin-top:14px;}
.svc-alt__row{
  display:grid;grid-template-columns:1fr;gap:20px;align-items:center;
}
@media (min-width:820px){
  .svc-alt__row{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);}
  .svc-alt__row:nth-child(even) .svc-alt__media{order:-1;}
}
.svc-alt__media{
  width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;
  background:var(--bg-alt);
}
.svc-alt__media img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-alt__media--svg{
  display:grid;place-items:center;padding:30px;
  background:color-mix(in srgb, var(--accent) 9%, var(--bg));
}
.svc-alt__media--svg svg{width:78%;height:auto;color:var(--accent-deep);}
.svc-alt__num{
  font-family:var(--ff-display);font-style:italic;color:var(--accent);
  font-size:1.1rem;margin-bottom:8px;display:inline-block;
}
.svc-alt__title{font-size:clamp(1.5rem,3vw,1.9rem);margin-bottom:12px;}
.svc-alt__row p{color:var(--text-2);font-size:1rem;}
.svc-alt__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}

/* ===== AVIS — single (LAY-2 avis=single) ===== */
.avis-section{background:color-mix(in srgb, var(--accent) 7%, var(--bg));}
.avis-single{max-width:840px;margin:0 auto;text-align:center;}
.avis-stars{display:inline-flex;gap:4px;color:#E0A53A;margin-bottom:18px;}
.avis-stars svg{width:22px;height:22px;}
.avis-single__quote{
  font-family:var(--ff-display);font-style:italic;font-weight:500;
  font-size:clamp(1.35rem,3.4vw,2.05rem);line-height:1.35;
  color:var(--text);margin:0 0 22px;
}
.avis-single__quote::before{content:"« ";color:var(--accent);}
.avis-single__quote::after{content:" »";color:var(--accent);}
.avis-single__author{font-family:var(--ff-ui);font-size:.95rem;color:var(--text-2);}
.avis-single__author strong{color:var(--text);font-weight:600;}
.avis-single__date{font-family:var(--ff-ui);font-size:.82rem;color:var(--text-mute);margin-top:4px;display:block;}
.avis-google-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:22px;
  font-family:var(--ff-ui);font-size:.9rem;color:var(--accent);
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
.avis-google-link:hover{color:var(--accent-deep);}

/* Verbatims complementaires sous le single (cards plain) */
.avis-extra{
  display:grid;grid-template-columns:1fr;gap:14px;
  max-width:1000px;margin:30px auto 0;
}
@media (min-width:760px){.avis-extra{grid-template-columns:1fr 1fr;}}
@media (min-width:1000px){.avis-extra{grid-template-columns:repeat(3,1fr);}}
.avis-card{
  background:color-mix(in srgb, var(--bg) 88%, var(--surface));
  border-radius:var(--r-lg);padding:22px;border:1px solid var(--border);
}
.avis-card .avis-stars{margin-bottom:10px;}
.avis-card .avis-stars svg{width:16px;height:16px;}
.avis-card blockquote{
  font-family:var(--ff-body);color:var(--text-2);
  font-size:.94rem;line-height:1.55;margin:0 0 12px;
}
.avis-card__author{font-family:var(--ff-ui);font-size:.86rem;color:var(--text);font-weight:600;}
.avis-card__meta{font-family:var(--ff-ui);font-size:.78rem;color:var(--text-mute);margin-top:2px;}

/* ===== STATS strip ===== */
.stats-section{padding:36px 0;}
.stats-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
  background:var(--surface);border-radius:var(--r-lg);
  border:1px solid var(--border);padding:26px 22px;
}
@media (min-width:680px){.stats-grid{grid-template-columns:repeat(3,1fr);}}
.stat-item{text-align:center;padding:10px 6px;position:relative;}
@media (min-width:680px){
  .stat-item:not(:last-child)::after{
    content:"";position:absolute;right:0;top:14%;height:72%;
    width:1px;background:var(--border);
  }
}
.stat-number{
  display:block;font-family:var(--ff-display);
  font-size:clamp(2rem,4vw,2.6rem);color:var(--accent-deep);
  font-weight:500;line-height:1;font-style:italic;
}
.stat-label{
  display:block;margin-top:8px;
  font-family:var(--ff-ui);font-size:.86rem;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--text-mute);
}

/* ===== FAQ ===== */
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border);max-width:880px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-trigger{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:14px;padding:20px 0;
  font-family:var(--ff-display);font-size:clamp(1.1rem,2.2vw,1.35rem);
  color:var(--text);text-align:left;font-weight:500;
  cursor:pointer;
}
.faq-trigger:hover{color:var(--accent-deep);}
.faq-chevron{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:color-mix(in srgb, var(--accent) 12%, var(--bg));
  color:var(--accent-deep);position:relative;
  transition:transform .25s ease, background .2s ease;
}
.faq-chevron::before,.faq-chevron::after{
  content:"";position:absolute;left:50%;top:50%;
  width:12px;height:1.5px;background:currentColor;border-radius:1px;
  transform:translate(-50%,-50%);
}
.faq-chevron::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s ease, opacity .2s ease;}
.faq-trigger[aria-expanded="true"] .faq-chevron{background:var(--accent);color:#fff;}
.faq-trigger[aria-expanded="true"] .faq-chevron::after{transform:translate(-50%,-50%) rotate(0);opacity:0;}
.faq-answer{padding:0 0 20px;color:var(--text-2);font-size:1rem;max-width:68ch;}
.faq-answer p{margin-bottom:10px;}

/* ===== CONTACT (avec zone + horaires + form) ===== */
.contact-section{background:var(--accent-deep);color:var(--text-inverse);}
.contact-section :where(h2,h3,h4,p,li,span,a,small,strong){color:var(--text-inverse);}
.contact-section .eyebrow{color:var(--accent-soft);}
.contact-section .eyebrow::before{background:var(--accent-soft);}
.contact-section .sec-head h2{color:var(--text-inverse);}
.contact-section .sec-head p{color:color-mix(in srgb, var(--text-inverse) 78%, transparent);}

.contact-grid{
  display:grid;grid-template-columns:1fr;gap:34px;
}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:48px;}}

.contact-info{display:flex;flex-direction:column;gap:24px;}
.contact-tel{
  font-family:var(--ff-display);font-style:italic;font-weight:500;
  font-size:clamp(1.9rem,5vw,2.4rem);
  color:var(--accent-soft) !important;
  text-decoration:none;
}
.contact-tel:hover{color:#fff !important;}
.contact-ctas{display:flex;flex-wrap:wrap;gap:10px;}
.contact-ctas .btn{flex:1 1 auto;min-width:180px;}

.contact-rows{display:flex;flex-direction:column;gap:14px;margin-top:6px;}
.contact-row{
  display:flex;align-items:center;gap:14px;
  padding:14px;border-radius:var(--r-md);
  background:color-mix(in srgb, var(--text-inverse) 7%, transparent);
  border:1px solid color-mix(in srgb, var(--text-inverse) 14%, transparent);
}
.contact-row__icon{
  width:42px;height:42px;flex-shrink:0;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb, var(--text-inverse) 12%, transparent);
  color:var(--accent-soft);
}
.contact-row__icon svg{width:20px;height:20px;}
.contact-row strong{display:block;font-family:var(--ff-ui);font-size:.95rem;}
.contact-row small{display:block;font-size:.82rem;color:color-mix(in srgb, var(--text-inverse) 68%, transparent);margin-top:2px;}

/* Zone chips */
.zone-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.zone-chips .chip{background:color-mix(in srgb, var(--text-inverse) 10%, transparent);color:var(--text-inverse);border-color:color-mix(in srgb, var(--text-inverse) 22%, transparent);}

/* Horaires */
.horaires-card{padding:18px 20px;border-radius:var(--r-md);
  background:color-mix(in srgb, var(--text-inverse) 7%, transparent);
  border:1px solid color-mix(in srgb, var(--text-inverse) 14%, transparent);}
.horaires-card h3{font-family:var(--ff-ui);font-size:.92rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent-soft) !important;margin-bottom:12px;}
.horaires-table{width:100%;border-collapse:collapse;font-family:var(--ff-ui);font-size:.92rem;}
.horaires-table td{padding:6px 0;}
.horaires-table td:last-child{text-align:right;}
.horaires-table tr.is-today{color:var(--accent-soft);font-weight:600;}
.horaires-table tr.is-closed td:last-child{color:color-mix(in srgb, var(--text-inverse) 50%, transparent);}

/* Form contact (col droite) */
.contact-form-wrap{
  background:color-mix(in srgb, var(--text-inverse) 5%, transparent);
  border:1px solid color-mix(in srgb, var(--text-inverse) 14%, transparent);
  border-radius:var(--r-lg);padding:24px;
}
.contact-form-wrap h3{font-family:var(--ff-display);font-size:1.5rem;margin-bottom:6px;}
.contact-form-wrap p{font-size:.92rem;color:color-mix(in srgb, var(--text-inverse) 74%, transparent);margin-bottom:18px;}
.contact-form-wrap .field label{color:color-mix(in srgb, var(--text-inverse) 80%, transparent);}
.contact-form-wrap .field input,
.contact-form-wrap .field select,
.contact-form-wrap .field textarea{
  background:color-mix(in srgb, var(--text-inverse) 8%, transparent);
  color:var(--text-inverse);
  border-color:color-mix(in srgb, var(--text-inverse) 22%, transparent);
}
.contact-form-wrap .field input::placeholder,
.contact-form-wrap .field textarea::placeholder{color:color-mix(in srgb, var(--text-inverse) 50%, transparent);}
.contact-form-wrap .field input:focus,
.contact-form-wrap .field select:focus,
.contact-form-wrap .field textarea:focus{
  border-color:var(--accent-soft);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 22%, transparent);
}
.contact-form-wrap .btn-wa{width:100%;margin-top:6px;}

/* Map */
.map-wrap{
  margin-top:18px;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid color-mix(in srgb, var(--text-inverse) 14%, transparent);
  aspect-ratio:16/10;
}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;}

/* ===== REALISATIONS PAGE ===== */
.real-page-hero{
  padding:calc(var(--header-h-mobile) + 30px) 0 28px;text-align:center;
}
@media (min-width:768px){.real-page-hero{padding:calc(var(--header-h) + 40px) 0 48px;}}
.real-page-hero h1{font-size:clamp(2rem,5.4vw,3.6rem);}
.real-page-hero .breadcrumb{
  font-family:var(--ff-ui);font-size:.84rem;color:var(--text-mute);
  margin-bottom:18px;letter-spacing:.08em;
}
.real-page-hero .breadcrumb a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px;}
.real-page-hero p{max-width:60ch;margin:0 auto;color:var(--text-2);font-size:1.05rem;}

.real-cta-card{
  margin-top:40px;
  background:var(--accent-deep);color:var(--text-inverse);
  border-radius:var(--r-lg);padding:34px 26px;text-align:center;
}
.real-cta-card :where(h2,h3,p,a){color:var(--text-inverse);}
.real-cta-card p{color:color-mix(in srgb, var(--text-inverse) 78%, transparent);max-width:48ch;margin:0 auto 22px;}
.real-cta-card .btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
