/*
Theme Name: Astra Child – Graphitour
Template: astra
Author: DIGICOM-IT
Author URI: https://digicom-it.fr
Version: 1.0.14
Text Domain: astra-child
*/

/* === Accueil : en-tête (hero) === */
.gt-hero-media{position:relative;width:100%;max-width:520px;margin-left:auto}
.gt-hero-media::before{content:"";position:absolute;inset:0;transform:translate(28px,28px);border:1px solid #e0b04f;pointer-events:none}
.gt-hero-slides{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e8e4da;box-shadow:0 30px 60px -30px rgba(34,48,47,.35)}
.gt-hero-slides .gt-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:gtFade 24s infinite ease-in-out}
.gt-hero-slides .gt-slide:nth-child(1){animation-delay:0s}
.gt-hero-slides .gt-slide:nth-child(2){animation-delay:6s}
.gt-hero-slides .gt-slide:nth-child(3){animation-delay:12s}
.gt-hero-slides .gt-slide:nth-child(4){animation-delay:18s}
@keyframes gtFade{0%{opacity:0;transform:scale(1.035)}6%{opacity:1}25%{opacity:1}31%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.gt-hero-slides .gt-slide:nth-child(1){opacity:1;animation-name:gtFadeFirst}
@keyframes gtFadeFirst{0%{opacity:1;transform:scale(1.035)}25%{opacity:1}31%{opacity:0;transform:scale(1)}94%{opacity:0;transform:scale(1.035)}100%{opacity:1;transform:scale(1.035)}}
@media (max-width:1024px){.gt-hero-media{margin:0 auto;max-width:460px}.gt-hero-media::before{transform:translate(18px,18px)}}
@media (prefers-reduced-motion:reduce){.gt-hero-slides .gt-slide{animation:none}.gt-hero-slides .gt-slide:nth-child(1){opacity:1}}
.elementor-widget-html:has(.gt-hero-media){width:100%;align-self:stretch}
.gt-hero-media{display:block}

/* === Accueil : nos supports (grille décalée) === */
.elementor-widget-html:has(.gt-sup-grid){width:100%}
.gt-sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start}
.gt-sup-col{display:flex;flex-direction:column;gap:56px}
.gt-sup-col:nth-child(2){margin-top:96px}
.gt-sup-col:nth-child(3){margin-top:40px}
.gt-sup{display:block;color:#22302f;text-decoration:none}
.gt-sup-img{display:block;overflow:hidden;background:#ebe6dc;margin-bottom:20px}
.gt-sup-img img{display:block;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.gt-sup:hover .gt-sup-img img{transform:scale(1.035)}
.gt-sup-name{display:block;font-family:'Fredoka',sans-serif;font-weight:600;font-size:28px;line-height:1.2;margin-bottom:6px}
.gt-sup-desc{display:block;font-family:'Poppins',sans-serif;font-size:15px;line-height:1.6;color:#5d6664;margin-bottom:12px}
.gt-sup-more{display:inline-block;font-family:'Poppins',sans-serif;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#3f7570;padding-bottom:4px;border-bottom:1px solid #e0b04f;transition:color .3s}
.gt-sup:hover .gt-sup-more{color:#22302f}
@media (max-width:1024px){.gt-sup-grid{gap:24px}.gt-sup-col{gap:40px}.gt-sup-col:nth-child(2){margin-top:60px}.gt-sup-col:nth-child(3){margin-top:24px}.gt-sup-name{font-size:24px}}
@media (max-width:767px){.gt-sup-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.gt-sup-col{display:contents}.gt-sup-col .gt-sup:nth-child(2){transform:translateY(40px)}.gt-sup-grid{padding-bottom:40px}.gt-sup-name{font-size:20px}.gt-sup-desc{font-size:13px}}
@media (prefers-reduced-motion:reduce){.gt-sup-img img{transition:none}}

/* === Accueil : comment ça marche (itinéraire en 4 étapes) === */
.elementor-widget-html:has(.gt-steps),.elementor-widget-html:has(.gt-steps-photo){width:100%}
.gt-steps-intro{position:sticky;top:40px}
.gt-steps-photo{margin:0;position:relative}
.gt-steps-photo::before{content:"";position:absolute;inset:0;transform:translate(-22px,22px);border:1px solid #e0b04f;pointer-events:none}
.gt-steps-photo img{position:relative;display:block;width:100%;height:auto}
.gt-steps{list-style:none;margin:0;padding:0;position:relative}
.gt-step{position:relative;display:flex;gap:32px;padding:0 0 48px}
.gt-step:last-child{padding-bottom:8px}
/* le tracé pointillé qui relie les étapes, comme un itinéraire */
.gt-step:not(:last-child)::after{content:"";position:absolute;left:27px;top:62px;bottom:6px;border-left:2px dashed rgba(224,176,79,.7)}
.gt-step-num{flex:0 0 56px;height:56px;border:2px solid #e0b04f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fredoka',sans-serif;font-weight:600;font-size:18px;color:#3f7570;background:#f3efe7;position:relative;z-index:1;transition:background .4s,color .4s}
.gt-step:hover .gt-step-num{background:#3f7570;border-color:#3f7570;color:#fff}
.gt-step-body{padding-top:8px}
.gt-step-title{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:26px;line-height:1.25;color:#22302f}
.gt-step-text{margin:0;font-family:'Poppins',sans-serif;font-size:16px;line-height:1.7;color:#5d6664;max-width:520px}
@media (max-width:1024px){.gt-steps-intro{position:static}.gt-steps-photo{max-width:520px}}
@media (max-width:767px){.gt-step{gap:18px;padding-bottom:36px}.gt-step-num{flex-basis:44px;height:44px;font-size:15px}.gt-step:not(:last-child)::after{left:21px;top:50px}.gt-step-title{font-size:21px}.gt-step-text{font-size:15px}.gt-steps-photo::before{transform:translate(-12px,12px)}}
@media (prefers-reduced-motion:reduce){.gt-step-num{transition:none}}

/* === Système typographique Graphitour ===
   Titres (H1, H2)        : Fredoka 600
   Sous-titres (H3 à H6)  : Fredoka 500
   Sur-titres / libellés  : Poppins 500, capitales espacées
   Texte courant          : Poppins 400
   Menu et boutons        : Poppins 500, capitales espacées */
:root{--gt-font-title:'Fredoka',sans-serif;--gt-font-text:'Poppins',sans-serif;--gt-sage:#4f8a85;--gt-sage-deep:#3f7570;--gt-safran:#e0b04f;--gt-ink:#22302f;--gt-text:#5d6664;--gt-cream:#f3efe7}
body,p,li,input,select,textarea{font-family:var(--gt-font-text)}
h1,h2,.entry-title{font-family:var(--gt-font-title);font-weight:600}
h3,h4,h5,h6{font-family:var(--gt-font-title);font-weight:500}
.ast-builder-menu .main-header-menu>.menu-item>.menu-link,
.ast-builder-menu-mobile .main-header-menu .menu-link{font-family:var(--gt-font-text);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.ast-builder-menu .sub-menu .menu-link{font-family:var(--gt-font-text);font-weight:400;font-size:14px;letter-spacing:0;text-transform:none}
.elementor-button,.button,button,input[type=submit]{font-family:var(--gt-font-text)}
.gt-sup-name,.gt-step-title{font-weight:500}
.elementor-widget-html .gt-steps{padding:0;margin:0}

/* === Accueil : fond animé de l'en-tête (itinéraire en pointillés autour du globe) === */
.elementor .gt-hero.e-con{background-image:url("assets/hero-route.svg?v=4");background-size:100% 100%;background-position:center;background-repeat:no-repeat}
@media (prefers-reduced-motion:reduce){.elementor .gt-hero.e-con{background-image:url("assets/hero-route-static.svg?v=4")}}
@media (max-width:1024px){.elementor .gt-hero.e-con{background-size:auto 640px;background-position:right top}}
@media (max-width:767px){.elementor .gt-hero.e-con{background-size:auto 540px}}
/* En-tête : tient en hauteur d écran sur ordinateur (hauteur écran) (photo réduite sur les petits écrans) */
@media (min-width:1025px){
.elementor .gt-hero.e-con{--min-height:calc(100vh - 150px);min-height:calc(100vh - 150px)!important}
.elementor .gt-hero.e-con>.e-con-inner{padding-top:32px!important;padding-bottom:56px!important}
.gt-hero-media{max-width:min(500px,calc((100vh - 290px) * .8))}
}
