.elementor-62821 .elementor-element.elementor-element-317d280{--display:flex;overflow:visible;}/* Start custom CSS for text-editor, class: .elementor-element-9bf6821 *//* ===========================
   AQGS – Volet Formations (Teal)
   Remplace tout rose (#f3bafd) par le teal #02AAB0
   =========================== */

:root{
  --primary-color:#02AAB0;   /* teal principal (remplace le rose) */
  --primary-dark:#01858a;    /* teal foncé */
  --text-dark:#005b50;
  --text-light:#555;
  --light-bg:#f8fdfd;

  --card-shadow:0 10px 30px rgba(0,91,80,.08);
  --card-hover: 0 15px 40px rgba(0,91,80,.12);

  --danger-500:#ef4444;      /* rouge principal */
  --danger-600:#dc2626;
  --danger-700:#b91c1c;
}

/* Harmonisation des variables Elementor/Gutenberg (accent) dans le périmètre de la page */
.aqgs-volet-page{
  --e-global-color-primary: var(--primary-color);
  --e-global-color-accent:  var(--primary-color);
  --wp--preset--color--accent: var(--primary-color);
  --wp--preset--color--vivid-pink: var(--primary-color);
}

/* PAGE */
.aqgs-volet-page{
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color:#333;
  max-width:1200px;
  margin:0 auto;
  padding:40px 20px;
}

/* ---------- HERO ---------- */
.aqgs-hero{
  position:relative;
  background: linear-gradient(135deg, #e6f9f8 0%, #d1f4f3 100%);
  border-radius:20px;
  overflow:hidden;
  margin-bottom:70px;
  padding:70px 50px;
  box-shadow:0 15px 50px rgba(0,0,0,.05);
}
.aqgs-hero-content{ position:relative; z-index:2; max-width:800px; margin:0 auto; text-align:center; }
.aqgs-volet-intro{ font-size:1.4rem; color:var(--text-dark); line-height:1.8; margin:0; }
.aqgs-volet-intro strong{ color:var(--primary-dark); position:relative; font-weight:700; }
.aqgs-volet-intro strong:after{
  content:""; position:absolute; bottom:-2px; left:0; width:100%; height:3px;
  background: linear-gradient(90deg, transparent, var(--primary-color), transparent); opacity:.6;
}
.aqgs-hero-decoration{ position:absolute; inset:0; z-index:1; overflow:hidden; }
.aqgs-deco-circle{ position:absolute; width:200px; height:200px; border-radius:50%; background:rgba(2,170,176,.15); top:-80px; right:-80px; }
.aqgs-deco-wave{
  position:absolute; width:300px; height:300px; border-radius:40% 60% 70% 30% / 40% 50% 60% 50%;
  background:rgba(2,170,176,.10); bottom:-100px; left:-50px; transform:rotate(45deg);
}

/* ---------- GRILLE ---------- */
.aqgs-course-grid{
  display:grid; grid-template-columns: repeat(2,1fr);
  gap:35px; margin-bottom:80px;
}
.aqgs-course-card{
  background:#fff; border-radius:18px; padding:35px;
  box-shadow:var(--card-shadow);
  transition: all .4s cubic-bezier(.175,.885,.32,1.1);
  border-top:5px solid var(--primary-color);
  display:flex; flex-direction:column; height:100%;
}
.aqgs-course-card:hover{ transform:translateY(-10px); box-shadow:var(--card-hover); }
.aqgs-course-card h2{
  font-size:1.6rem; color:var(--text-dark); margin:0 0 20px; line-height:1.35;
  font-weight:700; position:relative; padding-bottom:15px;
}
.aqgs-course-card h2:after{
  content:""; position:absolute; bottom:0; left:0; width:60px; height:3px; background:var(--primary-color); border-radius:3px;
}
.aqgs-course-card p{ font-size:1.08rem; color:var(--text-light); margin-bottom:25px; line-height:1.7; flex-grow:1; }
.aqgs-course-card ul{ list-style:none; padding:0; margin:25px 0 0; border-top:1px solid #f0f0f0; padding-top:20px; }
.aqgs-course-card ul li{
  font-size:1rem; margin-bottom:12px; display:flex; align-items:flex-start; line-height:1.6; position:relative; padding-left:1.2em;
}
.aqgs-course-card ul li:before{
  content:"•"; color:var(--primary-color); font-weight:bold; position:absolute; left:0; top:0;
}
.aqgs-course-card ul li strong{ color:var(--text-dark); min-width:120px; display:inline-block; font-weight:600; }

/* ---------- BADGE NOUVEAU (ROUGE) ---------- */
.badge-new{
  display:inline-flex; align-items:center; gap:.45rem;
  margin-left:.6rem; padding:.28rem .6rem .26rem;
  border-radius:999px;
  font-size:.78rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase;
  color:#fff;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%),
    linear-gradient(90deg, #ff3b30 0%, var(--danger-500) 45%, var(--danger-700) 100%);
  box-shadow:0 8px 20px rgba(220,38,38,.28);
  vertical-align:middle;
}
.badge-new::before{
  content:"⬤"; font-size:.55em; filter:brightness(1.05);
}

/* ---------- CATALOGUE ---------- */
.aqgs-catalog-box{
  text-align:center;
  background: linear-gradient(135deg, #e6f9f8 0%, #d1f4f3 100%);
  padding:60px 40px; border-radius:25px; margin-bottom:80px;
  border:1px solid #cdf0ef; position:relative; overflow:hidden;
}
.aqgs-catalog-box:before{
  content:""; position:absolute; top:0; left:0; width:100%; height:5px; background:var(--primary-color);
}
.aqgs-catalog-box img{
  display:block; margin:0 auto 30px; max-width:300px; height:auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.08));
  transition: transform .4s ease;
}
.aqgs-catalog-box:hover img{ transform:scale(1.05); }
.aqgs-catalog-box p{ font-size:1.3rem; color:var(--text-dark); margin-bottom:30px; max-width:600px; margin-inline:auto; line-height:1.6; }

/* Bouton catalogue – AQUA ONLY */
.aqgs-catalog-btn,
.aqgs-catalog-btn:visited{
  background: var(--primary-color);
  color:#fff;
  padding:16px 45px; border-radius:35px; font-weight:700; text-decoration:none; display:inline-block; font-size:1.15rem;
  transition: all .4s cubic-bezier(.175,.885,.32,1.275);
  box-shadow:0 5px 20px rgba(2,170,176,.30); border:none;
  position:relative; overflow:hidden;
}
.aqgs-catalog-btn:after{
  content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transform:translateX(-100%); transition: transform .6s ease;
}
.aqgs-catalog-btn:hover{
  background:var(--primary-dark); transform:translateY(-3px);
  box-shadow:0 8px 25px rgba(1,133,138,.40);
}
.aqgs-catalog-btn:hover:after{ transform:translateX(100%); }

/* ---------- CONTACT ---------- */
.aqgs-contact-section{
  background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
  color:#fff; padding:60px 40px; border-radius:25px; overflow:hidden; position:relative;
}
.aqgs-contact-section:before{
  content:""; position:absolute; top:-50%; right:-50%; width:200%; height:200%;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 70%);
}
.aqgs-contact-content{
  display:grid; grid-template-columns:1fr 1fr; gap:50px; max-width:1000px; margin:0 auto; align-items:start; position:relative; z-index:2;
}
.aqgs-contact-info{ display:flex; flex-direction:column; gap:35px; }
.aqgs-contact-item{ display:flex; align-items:flex-start; gap:20px; }
.aqgs-contact-icon{ font-size:2rem; margin-top:5px; }
.aqgs-contact-details p{ margin:0 0 8px; font-weight:700; font-size:1.1rem; }
.aqgs-contact-details a{ color:#fff; text-decoration:none; font-weight:600; display:block; margin-bottom:5px; transition: opacity .3s; }
.aqgs-contact-details a:hover{ opacity:.9; text-decoration:underline; }
.aqgs-form-link{
  display:inline-block; background:#fff; color:var(--primary-dark);
  padding:16px 40px; border-radius:30px; text-decoration:none; font-weight:700; margin-top:30px; font-size:1.1rem;
  transition: all .3s ease; box-shadow:0 4px 15px rgba(0,0,0,.1);
}
.aqgs-form-link:hover{ transform:translateY(-3px); box-shadow:0 7px 20px rgba(0,0,0,.15); }
.aqgs-discount-box{
  background: rgba(255,255,255,.15); padding:35px; border-radius:20px; text-align:center;
  backdrop-filter: blur(5px); border:1px solid rgba(255,255,255,.2);
}
.aqgs-discount-text{ font-size:1.4rem; font-weight:700; margin-bottom:25px; line-height:1.4; }
.aqgs-discount-link{
  display:inline-block; color:#fff; border:2px solid #fff; padding:12px 35px; border-radius:30px;
  text-decoration:none; font-weight:700; font-size:1.1rem; transition: all .3s ease;
}
.aqgs-discount-link:hover{ background: rgba(255,255,255,.2); }
.aqgs-discount-footer{ margin-top:35px; color:rgba(255,255,255,.95); }
.aqgs-discount-name{ font-size:1.2rem; font-weight:700; margin-bottom:5px; }
.aqgs-discount-role{ font-size:1.05rem; opacity:.9; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .aqgs-course-grid{ gap:30px; }
  .aqgs-course-card{ padding:30px; }
}
@media (max-width:900px){
  .aqgs-course-grid{ grid-template-columns:1fr; max-width:700px; margin:0 auto 60px; }
  .aqgs-hero{ padding:50px 30px; }
  .aqgs-volet-intro{ font-size:1.3rem; }
  .aqgs-contact-content{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:768px){
  .aqgs-volet-page{ padding:30px 15px; }
  .aqgs-hero{ padding:40px 25px; margin-bottom:50px; }
  .aqgs-catalog-box{ padding:50px 30px; margin-bottom:60px; }
  .aqgs-course-card h2{ font-size:1.5rem; }
}
@media (max-width:480px){
  .aqgs-hero{ padding:35px 20px; border-radius:15px; }
  .aqgs-volet-intro{ font-size:1.2rem; }
  .aqgs-course-card{ padding:25px; border-radius:15px; }
  .aqgs-catalog-box{ padding:40px 20px; }
  .aqgs-contact-section{ padding:40px 25px; }
}

/* ---------- OVERRIDES ANTI-ROSE (Elementor / thème / inline) ---------- */

/* Classes Gutenberg/Elementor courantes “accent/primary” */
.aqgs-volet-page .has-accent-color,
.aqgs-volet-page .has-accent-background-color,
.aqgs-volet-page .elementor-element .elementor-heading-title.elementor-size-default,
.aqgs-volet-page .elementor-widget-button .elementor-button{
  color:#fff;
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

/* Boutons Elementor (toutes tailles) */
.aqgs-volet-page .elementor-button,
.aqgs-volet-page .elementor-button:visited,
.aqgs-volet-page .elementor-button.elementor-size-sm,
.aqgs-volet-page .elementor-button.elementor-size-md,
.aqgs-volet-page .elementor-button.elementor-size-lg{
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color:#fff !important;
  box-shadow: 0 5px 20px rgba(2,170,176,.30) !important;
}
.aqgs-volet-page .elementor-button:hover,
.aqgs-volet-page .elementor-button:focus{
  background-color: var(--primary-dark) !important;
  border-color: var(--primary-dark) !important;
  color:#fff !important;
}

/* Forcer le remplacement si un style inline contient #f3bafd */
.aqgs-volet-page [style*="#f3bafd"]{
  background-color: var(--primary-color) !important;
  color: #fff !important;
  border-color: var(--primary-color) !important;
}
/* Variantes fréquentes (majuscule, rgb) */
.aqgs-volet-page [style*="#F3BAFD"],
.aqgs-volet-page [style*="rgb(243, 186, 253)"],
.aqgs-volet-page [style*="rgba(243, 186, 253"]{
  background-color: var(--primary-color) !important;
  color:#fff !important;
  border-color: var(--primary-color) !important;
}

/* Cohérence des accents internes (au cas où) */
.aqgs-volet-page .aqgs-course-card h2:after{ background: var(--primary-color) !important; }
.aqgs-volet-page .aqgs-course-card ul li:before{ color: var(--primary-color) !important; }
.aqgs-volet-page .aqgs-catalog-box,
.aqgs-volet-page .aqgs-contact-section{ background-blend-mode: normal !important; }

/* ===== Anti-rose V2 — force tous les accents en teal (#02AAB0) ===== */

/* Harmonise encore plus les variables de thème/Elementor */
.aqgs-volet-page{
  --primary-color:#02AAB0;
  --primary-dark:#01858a;
  --e-global-color-primary: var(--primary-color);
  --e-global-color-secondary: var(--primary-color);
  --e-global-color-accent: var(--primary-color);
  --ekit-primary-color: var(--primary-color);
  --ekit-accent-color: var(--primary-color);
}

/* Cartes formation : bordure haute + soulignement du H2 */
.aqgs-volet-page .aqgs-course-card{ 
  border-top-color: var(--primary-color) !important; 
}
.aqgs-volet-page .aqgs-course-card h2::after{
  background: var(--primary-color) !important;
}

/* Points des listes (encore roses sur certains sites) */
.aqgs-volet-page .aqgs-course-card ul li{
  --dot-color: var(--primary-color); /* si un thème lit une var personnalisée */
}
.aqgs-volet-page .aqgs-course-card ul li::before{
  content: "";                       /* on remplace proprement le dot */
  position: absolute; left: 0; top: .55em;
  width: .55em; height: .55em; 
  border-radius: 50%;
  background: var(--primary-color) !important;
  box-shadow: none !important;
  transform: translateY(-50%);
}
/* au cas où le thème utilise ::marker */
.aqgs-volet-page .aqgs-course-card ul li::marker{ 
  color: var(--primary-color) !important; 
}

/* Traits/underlines ou séparateurs hérités */
.aqgs-volet-page .aqgs-course-card hr,
.aqgs-volet-page .aqgs-course-card .divider{
  border-color: #e7f7f7 !important;
}

/* Eléments Elementor pouvant recevoir une bordure rose via styles inline */
.aqgs-volet-page [style*="#f3bafd"],
.aqgs-volet-page [style*="#F3BAFD"],
.aqgs-volet-page [style*="rgb(243, 186, 253)"],
.aqgs-volet-page [style*="rgba(243, 186, 253"]{
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
}

/* Sécurité supplémentaires sur containers Elementor */
.aqgs-volet-page .elementor-widget-container,
.aqgs-volet-page .elementor-widget,
.aqgs-volet-page .elementor-column{
  --accent-color: var(--primary-color);
  border-color: var(--primary-color) !important;
  outline-color: var(--primary-color) !important;
}

/* Toute classe « accent » générique encore colorée en rose */
.aqgs-volet-page .accent,
.aqgs-volet-page .is-accent,
.aqgs-volet-page .has-accent-color{
  color: var(--primary-color) !important;
}/* End custom CSS */