/* GS Concept — pages services et index des services.
   Surcharge locale chargée après le thème. Aucun texte n'est généré en CSS. */
.gs-page{
  --gs-ease:cubic-bezier(.2,.8,.2,1);
  --gs-spring:cubic-bezier(.34,1.56,.64,1);
  --gs-accent-clair:#65dc82;
}

.gs-page [data-progress]{box-shadow:0 0 12px color-mix(in srgb,var(--accent) 72%,transparent)}

/* En-tête : photo ample, titre révélé mot par mot et liseré végétal. */
.gs-hero{isolation:isolate}
.gs-hero [style*="color:var(--accent-texte)"]{color:var(--gs-accent-clair)!important}
.gs-hero-bg{transform:scale(1.09);will-change:transform;transition:transform 1.4s var(--gs-ease)}
.gs-hero.gs-ready .gs-hero-bg{transform:scale(1.02)}
.gs-hero-word{display:inline-block;overflow:hidden;vertical-align:bottom}
.gs-hero-word>i{display:inline-block;font-style:normal;transition:opacity .65s ease,transform .8s var(--gs-ease);transition-delay:calc(var(--gs-i,0)*70ms + 100ms)}
.gs-pre .gs-hero-word>i{opacity:0;transform:translateY(.7em)}
.gs-hero-line{display:block;width:86px;height:4px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--gs-accent-clair));transform-origin:left;transition:transform .9s var(--gs-ease) .55s}
.gs-pre .gs-hero-line{transform:scaleX(0)}

/* Onglets : seule rangée horizontale défilante de la galerie en mobile. */
.gs-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px;padding:0;list-style:none}
.gs-tabs li{transition:opacity .55s ease,transform .7s var(--gs-ease);transition-delay:calc(var(--gs-i,0)*55ms)}
.gs-tabs.gs-hidden li{opacity:0;transform:translateY(18px)}
.gs-tabs a{display:inline-flex;align-items:center;padding:11px 18px;border:1px solid var(--bord);border-radius:999px;background:var(--carte);color:var(--titre);font-size:14px;font-weight:650;line-height:1.2;text-decoration:none;transition:transform .35s var(--gs-spring),background .25s,border-color .25s,box-shadow .25s,color .25s}
.gs-tabs a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 58%,var(--bord));background:color-mix(in srgb,var(--accent) 10%,var(--carte));box-shadow:0 13px 28px -20px rgba(0,65,18,.7)}
.gs-tabs a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--sur-accent);box-shadow:0 12px 25px -17px rgba(0,90,24,.85)}
.gs-tabs a:focus-visible{outline:3px solid var(--accent-fonce);outline-offset:3px}

/* Galeries : entrée en relief, sans reflet sur les photos. */
.gs-page .grille-galeries>div{min-width:0;transition:opacity .75s ease,transform .9s var(--gs-ease),filter .75s ease;transition-delay:calc(var(--gs-i,0)*70ms)}
.gs-page .grille-galeries>div.gs-hidden{opacity:0;filter:blur(5px);transform:perspective(900px) translateY(44px) rotateX(-10deg) scale(.97);transform-origin:50% 100%}
.gs-page .mini-gallery{box-shadow:0 18px 42px -28px rgba(0,55,18,.65);transition:transform .5s var(--gs-ease),box-shadow .4s,border-color .3s;touch-action:pan-y}
.gs-page .mini-gallery:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 55%,var(--bord))!important;box-shadow:0 28px 54px -30px rgba(0,55,18,.8)}
.gs-page .mini-gallery-track img{transition:transform 1s var(--gs-ease)}
.gs-page .mini-gallery:hover .mini-gallery-track img{transform:scale(1.035)}
.gs-page .mini-gallery [data-prev],.gs-page .mini-gallery [data-next]{width:42px!important;height:42px!important;background:rgba(255,255,255,.94)!important;color:#12351b!important;border:0!important;box-shadow:0 8px 22px -8px rgba(0,35,10,.65);transition:background .25s,color .25s,transform .35s var(--gs-spring)!important}
.gs-page .mini-gallery [data-prev]:hover,.gs-page .mini-gallery [data-next]:hover{background:var(--accent)!important;color:var(--sur-accent)!important;transform:translateY(-50%) scale(1.09)!important}
.gs-page .mini-gallery [data-prev]:focus-visible,.gs-page .mini-gallery [data-next]:focus-visible{outline:3px solid var(--gs-accent-clair);outline-offset:2px}

/* Index : cartes animées et survol vivant, uniquement par relief/zoom. */
.gs-services-index .grille-services-accueil>div{transition:opacity .75s ease,transform .9s var(--gs-ease),filter .7s ease;transition-delay:calc(var(--gs-i,0)*65ms)}
.gs-services-index .grille-services-accueil>div.gs-hidden{opacity:0;filter:blur(5px);transform:translateY(44px) scale(.96)}
.gs-services-index .grille-services-accueil .hv23{position:relative;box-shadow:0 16px 38px -30px rgba(0,55,18,.7)!important;transition:transform .45s var(--gs-spring),box-shadow .35s,border-color .3s!important}
.gs-services-index .grille-services-accueil .hv23:hover{transform:translateY(-8px) rotate(.35deg)!important;border-color:color-mix(in srgb,var(--accent) 58%,var(--bord))!important;box-shadow:0 28px 55px -32px rgba(0,70,20,.85)!important}
.gs-services-index .grille-services-accueil .hv23:hover img{transform:scale(1.055)!important}

/* Bandeau d'appel : la photo de chantier existante reste visible et respire à l'arrivée. */
.gs-cta{isolation:isolate}
.gs-cta [style*="color:var(--accent)"]{color:var(--gs-accent-clair)!important}
.gs-cta>.gs-cta-photo{transform:scale(1.08);transition:transform 1.8s var(--gs-ease)}
.gs-cta.gs-ready>.gs-cta-photo{transform:scale(1)}

@media (max-width:767px){
  .gs-tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 26px;padding:2px 16px 9px;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .gs-tabs::-webkit-scrollbar{display:none}
  .gs-tabs li{flex:none}
  .gs-tabs a{padding:10px 15px;white-space:nowrap;font-size:13.5px}
  .gs-page .grille-galeries{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;scroll-snap-type:none!important}
  .gs-page .grille-galeries>div{width:auto!important;flex:none!important}
  .gs-page .mini-gallery:hover{transform:none}
  .gs-services-index .grille-services-accueil .hv23:hover{transform:none!important}
}

@media (hover:none){.gs-page .mini-gallery:hover .mini-gallery-track img{transform:none}}

@media (prefers-reduced-motion:reduce){
  .gs-hero-bg,.gs-hero-word>i,.gs-hero-line,.gs-tabs li,.gs-page .grille-galeries>div,.gs-page .mini-gallery,.gs-page .mini-gallery-track img,.gs-services-index .grille-services-accueil>div,.gs-services-index .grille-services-accueil .hv23,.gs-cta>.gs-cta-photo{animation:none!important;transition:none!important}
  .gs-pre .gs-hero-word>i,.gs-tabs.gs-hidden li,.gs-page .grille-galeries>div.gs-hidden,.gs-services-index .grille-services-accueil>div.gs-hidden{opacity:1!important;filter:none!important;transform:none!important}
  .gs-pre .gs-hero-line{transform:none!important}
  .gs-page .mini-gallery:hover,.gs-services-index .grille-services-accueil .hv23:hover{transform:none!important}
}
