
/* =====================================================
   GDSA74 — BANDEAU PRINCIPAL V4
   Basé sur le HTML Elementor réel
   ===================================================== */

:root {
    --gdsa-yellow: #ffbe00;
    --gdsa-dark: #111111;
}

/* 1. BANDEAU PLEINE LARGEUR */

body .elementor-847 .gdsa74-hero-v4 {
    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: 565px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;

    padding: 45px max(35px, calc((100vw - 1200px) / 2)) !important;

    background-position: center 42% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;

    overflow: hidden;
}

/* 2. DÉGRADÉ SOMBRE À GAUCHE */

body .elementor-847 .gdsa74-hero-v4::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(0, 20, 22, 0.72) 0%,
        rgba(0, 20, 22, 0.42) 32%,
        rgba(0, 20, 22, 0.05) 65%,
        transparent 100%
    );

    pointer-events: none;
    z-index: 0;
}

/* 3. CONTENEUR DES TEXTES */

body .elementor-847 .gdsa74-hero-v4-inner {
    position: relative !important;
    z-index: 2;

    width: 480px !important;
    max-width: 100% !important;

    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    gap: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Supprimer les marges Elementor des widgets */

body .elementor-847 .gdsa74-hero-v4-inner > .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* 4. TITRE GDSA74 */

body .elementor-847 .gdsa74-hero-v4-inner
> .elementor-widget-heading:nth-child(1)
.elementor-heading-title {
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(48px, 5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;

    margin: 0 0 5px !important;
    padding: 0 !important;
}

/* 74 jaune */

body .elementor-847 .gdsa74-hero-v4-inner h1 span {
    color: var(--gdsa-yellow) !important;
}

/* 5. SOUS-TITRE */

body .elementor-847 .gdsa74-hero-v4-inner
> .elementor-widget-heading:nth-child(2)
.elementor-heading-title {
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(25px, 2.6vw, 32px) !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.6px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* 6. TRAIT JAUNE SOUS LE SOUS-TITRE */

body .elementor-847 .gdsa74-hero-v4-inner
> .elementor-widget-heading:nth-child(2)::after {
    content: "";
    display: block;

    width: 60px;
    height: 4px;

    margin-top: 13px;
    margin-bottom: 13px;

    background: var(--gdsa-yellow);
}

/* 7. DESCRIPTION */

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-widget-text-editor {
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;

    margin: 0 0 16px !important;
}

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-widget-text-editor p {
    color: #ffffff !important;
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
}

/* 8. BOUTON JAUNE ARRONDI */

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-widget-button {
    width: auto !important;
    align-self: flex-start !important;
}

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 43px !important;

    padding: 11px 23px !important;

    background: var(--gdsa-yellow) !important;
    color: var(--gdsa-dark) !important;

    border: none !important;
    border-radius: 50px !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;

    transition: background 0.2s ease,
                transform 0.2s ease !important;
}

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-button .elementor-button-text {
    color: var(--gdsa-dark) !important;
}

body .elementor-847 .gdsa74-hero-v4-inner
.elementor-button:hover {
    background: #ffd34d !important;
    transform: translateY(-2px);
}

/* =====================================================
   TABLETTE
   ===================================================== */

@media (max-width: 1024px) {

    body .elementor-847 .gdsa74-hero-v4 {
        min-height: 350px !important;
        padding: 40px 45px !important;
        background-position: 56% center !important;
    }

    body .elementor-847 .gdsa74-hero-v4-inner {
        width: 420px !important;
    }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

    body .elementor-847 .gdsa74-hero-v4 {
        min-height: 430px !important;

        padding: 45px 24px !important;

        align-items: flex-end !important;
        background-position: 60% center !important;
    }

    body .elementor-847 .gdsa74-hero-v4::before {
        background: linear-gradient(
            0deg,
            rgba(0, 20, 22, 0.92) 0%,
            rgba(0, 20, 22, 0.70) 48%,
            rgba(0, 20, 22, 0.05) 100%
        );
    }

    body .elementor-847 .gdsa74-hero-v4-inner {
        width: 100% !important;
    }

    body .elementor-847 .gdsa74-hero-v4-inner
    > .elementor-widget-heading:nth-child(1)
    .elementor-heading-title {
        font-size: 46px !important;
    }

    body .elementor-847 .gdsa74-hero-v4-inner
    > .elementor-widget-heading:nth-child(2)
    .elementor-heading-title {
        font-size: 23px !important;
    }

    body .elementor-847 .gdsa74-hero-v4-inner
    .elementor-widget-text-editor {
        font-size: 15px !important;
    }
}



/*  Acces rapides */

/* GDSA74 — Accès rapides : correctif basé sur HTML Elementor réel */
body .elementor-847 .gdsa74-quick-section {
  --gdsa-jaune: #ffbe00;
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 28px 0 36px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  background: transparent !important;
}
body .elementor-847 .gdsa74-quick-section > .gdsa74-quick-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 112px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 20px 38px 20px 76px !important;
  background: #f2f2f4 !important;
  border: 0 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
/* Icone principale en haut à gauche */
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:first-child {
  position: absolute !important;
  top: 22px !important;
  left: 17px !important;
  width: 43px !important;
  height: 43px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:first-child .elementor-icon-wrapper,
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:first-child .elementor-icon {
  display: block !important;
  width: 43px !important;
  height: 43px !important;
  font-size: 43px !important;
  line-height: 1 !important;
  color: #111 !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:first-child svg {
  display: block !important;
  width: 43px !important;
  height: 43px !important;
  fill: #111 !important;
  color: #111 !important;
}
/* Texte : aucune colonne écrasée */
body .elementor-847 .gdsa74-quick-card > .gdsa74-quick-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 5px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-847 .gdsa74-quick-copy > .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-847 .gdsa74-quick-copy h3.elementor-heading-title {
  color: #111 !important;
  font: 700 20px/1.15 Arial, Helvetica, sans-serif !important;
  letter-spacing: -.3px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body .elementor-847 .gdsa74-quick-copy .elementor-widget-text-editor,
body .elementor-847 .gdsa74-quick-copy .elementor-widget-text-editor p {
  color: #222 !important;
  font: 400 13px/1.3 Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Petite flèche noire dans un rond jaune en bas à droite */
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  top: auto !important;
  left: auto !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child .elementor-icon-wrapper,
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child .elementor-icon {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child a.elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  background: var(--gdsa-jaune) !important;
  color: #111 !important;
  border-radius: 50% !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child svg {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  fill: #111 !important;
  color: #111 !important;
}
body .elementor-847 .gdsa74-quick-card > .elementor-widget-icon:last-child a.elementor-icon:hover {
  background: #ffd34b !important;
}
@media (max-width: 1024px) {
  body .elementor-847 .gdsa74-quick-section {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  body .elementor-847 .gdsa74-quick-section {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
    padding: 20px 0 28px !important;
  }
}
/*   Missions **/


/* GDSA74 - NOS MISSIONS - CSS indépendant (classes du JSON) */
body .elementor .gdsa74-missions-section {
  --mission-yellow: #ffbe00;
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 42px 24px 36px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: center !important;
  background: #fff !important;
}
body .elementor .gdsa74-missions-section > .gdsa74-missions-copy,
body .elementor .gdsa74-missions-section > .gdsa74-missions-photo {
  width: 100% !important; min-width: 0 !important; max-width: none !important;
  padding: 0 !important; margin: 0 !important;
}
body .elementor .gdsa74-missions-copy {position:relative !important; min-height: 270px !important; display:block !important;}
body .elementor .gdsa74-missions-copy > .elementor-widget {margin:0 !important;}
body .elementor .gdsa74-missions-copy .elementor-widget-heading {border-left: 5px solid var(--mission-yellow); padding-left: 17px !important; margin-bottom: 12px !important;}
body .elementor .gdsa74-missions-copy h2.elementor-heading-title {color:#101010 !important;font:800 clamp(28px,3vw,38px)/1.1 Arial,sans-serif !important;letter-spacing:-.6px !important;}
body .elementor .gdsa74-missions-copy .elementor-widget-text-editor {max-width: 78% !important;color:#161616 !important;font:400 16px/1.42 Arial,sans-serif !important;}
body .elementor .gdsa74-missions-copy .elementor-widget-text-editor p {margin:0 0 11px !important;color:inherit !important;}
body .elementor .gdsa74-missions-copy ul {list-style:none !important; padding:0 !important; margin:0 !important;}
body .elementor .gdsa74-missions-copy li {position:relative; padding:0 0 6px 28px !important; margin:0 !important;}
body .elementor .gdsa74-missions-copy li::before {content:'✓';position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:var(--mission-yellow);color:#111;font:700 13px/19px Arial,sans-serif;text-align:center;}
body .elementor .gdsa74-missions-illustration-img {position:absolute !important;right:0;bottom:0;width:34% !important;max-width:190px !important;pointer-events:none;}
body .elementor .gdsa74-missions-illustration-img img {width:100% !important;height:auto !important;object-fit:contain !important;}
body .elementor .gdsa74-missions-photo {border-left:2px solid var(--mission-yellow);padding-left:25px !important;}
body .elementor .gdsa74-missions-photo-img,
body .elementor .gdsa74-missions-photo-img .elementor-widget-container {width:100% !important;}
body .elementor .gdsa74-missions-photo-img img {display:block !important;width:100% !important;height:280px !important;object-fit:cover !important;border-radius:18px !important;}
@media(max-width:900px){body .elementor .gdsa74-missions-section {grid-template-columns:1fr 1fr !important;gap:16px !important;padding:30px 20px !important;}body .elementor .gdsa74-missions-copy .elementor-widget-text-editor {max-width:100% !important;}body .elementor .gdsa74-missions-illustration-img {display:none !important;}body .elementor .gdsa74-missions-photo {padding-left:15px !important;}}
@media(max-width:650px){body .elementor .gdsa74-missions-section {grid-template-columns:1fr !important;gap:20px !important;}body .elementor .gdsa74-missions-copy {min-height:0 !important;}body .elementor .gdsa74-missions-photo {border-left:0 !important;padding-left:0 !important;}body .elementor .gdsa74-missions-photo-img img {height:240px !important;}}
/* GDSA74 — Illustration décorative des missions */

.gdsa74-missions-ruche {
    position: absolute !important;
    width: 180px !important;
    max-width: 180px !important;
    right: 10px !important;
    bottom: 0 !important;
    z-index: 1;
    pointer-events: none;
}

.gdsa74-missions-ruche img {
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

/* Mobile : masquer la décoration pour préserver la lisibilité */
@media (max-width: 767px) {
    .gdsa74-missions-ruche {
        display: none !important;
    }
}


/*   forations */

/* GDSA74 — Bandeau formations. Ajouter après le CSS existant. */
body .elementor .gdsa74-training-banner {
  --training-yellow:#ffbe00;
  width:100vw!important; max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important; margin-right:calc(50% - 50vw)!important;
  min-height:158px!important; padding:0 max(30px,calc((100vw - 1180px)/2)) 0 0!important;
  display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important;
  align-items:stretch!important; gap:0!important; position:relative!important;
  background:linear-gradient(105deg,#ffe27a 0%,#ffed98 48%,#ffc400 100%)!important;
  overflow:hidden!important;
}
/* Alvéoles décoratives à droite */
body .elementor .gdsa74-training-banner::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 245px;
    height: 100%;

    background: url('/wp-content/themes/sirat/assets/images/alveoles.svg')
                center / cover no-repeat;

    opacity: 0.65;
    pointer-events: none;
}

/* Photographie de l'abeille à gauche */
body .elementor .gdsa74-training-photo {
    flex: 0 0 38% !important;
    width: 38% !important;
    min-width: 0 !important;
    min-height: 158px !important;

    background-image: url('https://www.gdsa74.fr/wp-content/uploads/2026/11/abeille-fleur-reference.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
body .elementor .gdsa74-training-content {
  flex:1 1 auto!important;width:auto!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;gap:2px!important;padding:17px 20px 17px 25px!important;
  position:relative!important;z-index:1;
}
body .elementor .gdsa74-training-content .elementor-widget {margin:0!important;width:100%!important;}
body .elementor .gdsa74-training-eyebrow .elementor-heading-title {
  font-size:17px!important;font-weight:800!important;color:#151515!important;line-height:1.2!important;
}
body .elementor .gdsa74-training-eyebrow .elementor-heading-title::before {
  content:'▦';display:inline-block;margin-right:10px;font-size:21px;
}
body .elementor .gdsa74-training-title .elementor-heading-title {
  font-size:clamp(23px,2.8vw,32px)!important;line-height:1.1!important;
  color:#111!important;font-weight:800!important;letter-spacing:-.6px!important;
}
body .elementor .gdsa74-training-description,body .elementor .gdsa74-training-description p {
  color:#111!important;font-size:15px!important;line-height:1.25!important;margin:0!important;
}
body .elementor .gdsa74-training-action {
  flex:0 0 245px!important;width:245px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;position:relative!important;z-index:1;
}
body .elementor .gdsa74-training-action .elementor-button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#1e1e1e!important;color:white!important;border-radius:40px!important;
  padding:12px 22px!important;font-weight:700!important;font-size:14px!important;
  white-space:nowrap!important;border:0!important;
}
body .elementor .gdsa74-training-action .elementor-button-text {color:white!important;}
@media(max-width:900px){
 body .elementor .gdsa74-training-banner {padding-right:18px!important;}
 body .elementor .gdsa74-training-photo {flex-basis:28%!important;width:28%!important;}
 body .elementor .gdsa74-training-action {flex-basis:190px!important;width:190px!important;}
}
@media(max-width:650px){
 body .elementor .gdsa74-training-banner {flex-direction:column!important;padding:0 20px 24px!important;}
 body .elementor .gdsa74-training-photo {width:calc(100% + 40px)!important;min-height:145px!important;flex:0 0 145px!important;margin:0 -20px!important;}
 body .elementor .gdsa74-training-content {width:100%!important;padding:20px 0 12px!important;}
 body .elementor .gdsa74-training-action {width:100%!important;flex:0 0 auto!important;align-items:flex-start!important;justify-content:flex-start!important;}
 body .elementor .gdsa74-training-banner::after {width:150px;height:200px;top:auto;bottom:0;}
}
/* ==========================================
   GDSA74 — Corrections bandeau formations
   ========================================== */

/* Bandeau plus haut */
body .elementor .gdsa74-training-banner {
    min-height: 185px !important;
    position: relative;
    align-items: center !important;
}

/* Photo à gauche */
body .elementor .gdsa74-training-photo {
    min-height: 185px !important;
}

/* Titres et textes en noir */
body .elementor .gdsa74-training-banner
.elementor-heading-title {
    color: #111111 !important;
}

/* Description */
body .elementor .gdsa74-training-banner
.elementor-widget-text-editor,
body .elementor .gdsa74-training-banner
.elementor-widget-text-editor p {
    color: #111111 !important;
}

/* Petit texte : À ne pas manquer */
body .elementor .gdsa74-training-banner
.elementor-widget-heading:first-child
.elementor-heading-title {
    font-weight: 700 !important;
}

/* Titre principal */
body .elementor .gdsa74-training-banner h2 {
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

/* Bouton noir, texte blanc */
body .elementor .gdsa74-training-banner
.elementor-button {
    background: #222222 !important;
    color: #ffffff !important;
    border-radius: 40px !important;
    padding: 12px 24px !important;
}

/* Mobile */
@media (max-width: 767px) {
    body .elementor .gdsa74-training-banner {
        min-height: 0 !important;
    }

    body .elementor .gdsa74-training-photo {
        min-height: 180px !important;
    }

    body .elementor .gdsa74-training-banner h2 {
        font-size: 25px !important;
    }
}