/*
Theme Name: Astra Child
Description: Theme enfant de Clientela
Author: AnjouWeb
Author URI: https://www.anjouweb.com
Template: astra
Version: 0.1.0
*/

:root{
    --bleu-fonce: #09214A;
    --bleu-clair: #3DC2E2;
    --rouge: #ED151A;
    --gris: #8F8F8F;
    --light: #F4F7FB;
    --text: #1a1a2e;
    --muted: #6b7a99;
    --white: #FFFFFF;
    --success-color: rgb(66, 165, 66);
    --vert: rgb(77, 186, 77);
    --jaune: rgb(218, 218, 98);

    --font-title: Gliker-Bold;
    --font-subtitle: Gliker-Regular;
    --font-global: Exo2-Regular;
    --font-playfair: Playfair Display;
}


*, a:focus, button:focus {
    outline: none;
}

body.ast-plain-container, body.ast-page-builder-template {
    font-family: 'DM Sans', sans-serif;
    font-weight: 300;
    background: var(--light);
    color: var(--text);
    line-height: 1.7;
}

h1 span {
  color: var(--bleu-clair);
}

.ast-container, .ast-container-fluid {
  padding-left: 0px;
  padding-right: 0px;
}

.label-hidden.rgpd .nf-field-element {
  width: 30px !important;
  position: relative;
    top: 0px;
}

.label-hidden.rgpd .nf-field-label {
  width: 0;
}

.label-hidden.rgpd .nf-field-description {
  width: calc(100% - 30px);
  float: right;
  line-height: 1.4;
  font-size: 14px;
  color: #333;
}

/* Header */
header#masthead {
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(0);
  transition: transform 0.35s ease, background-color 0.35s ease;
    width: 100%;
}

header#masthead .ast-primary-header-bar {
  background: linear-gradient(33deg, #1a6fa8, #0a3d6b) ;
   z-index: 4;
    animation: gradientMove 5s linear infinite;
    view-transition-name: navbar;
}

header#masthead.is-sticky {
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  backdrop-filter: blur(6px);
  position: fixed;
}

/* Move reCAPTCHA v3 badge to the left */
 
 .grecaptcha-badge {
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}

/* Badge metadata*/
.header-meta {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.badge-metadata {
    background: rgba(61, 194, 226, 0.15);
    border: 1px solid rgba(61, 194, 226, 0.4);
    color: var(--blue);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 5px 14px;
    border-radius: 20px;
}

/*Sommaire*/
.sommaire {
    background: var(--white);
    border-left: 4px solid var(--bleu-clair);
    border-radius: 0 12px 12px 0;
    padding: 28px 32px;
    margin: 48px 0 40px;
    box-shadow: 0 4px 24px rgba(9, 33, 74, 0.06);
}

.sommaire h2 {
  margin-bottom: 20px;
}

.sommaire ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 32px;
}

.section, .section-flex > div {
    background: var(--white);
    border-radius: 16px;
    padding: 40px 44px;
    margin-bottom: 28px;
    box-shadow: 0 2px 16px rgba(9, 33, 74, 0.05);
    position: relative;
    overflow: hidden;
}

body .section-flex-home > div {
    background: var(--white);
    border-radius: 16px;
    padding: 40px;
    padding-inline-end: 35px !important;
    padding-inline-start: 35px !important;
    margin-bottom: 28px;
    box-shadow: 0 2px 16px rgba(9, 33, 74, 0.05);
    position: relative;
}

.section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bleu-fonce), var(--bleu-clair));
    opacity: 0;
    transition: opacity 0.3s;
}

.section:hover::before {
    opacity: 1;
}

.section-number {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--rouge);
    margin-bottom: 8px;
}

.section h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--bleu-fonce);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e8edf5;
    line-height: 1.3;
}

.section h3, body .section .article h2 a, body .section .e-n-accordion-item-title h3 {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--bleu-fonce);
    margin: 30px 0 15px;
    padding: 10px 15px;
    background: var(--light);
    border-left: 3px solid var(--bleu-clair);
    border-radius: 0 6px 6px 0;
    display: block;
}

body .section .article h2 a {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--bleu-fonce) !important;
    padding-right: 40px;
    line-height: 24px !important;
    position: relative;
}

body .section .article h2.elementor-active a, body .section .article h2 a:hover, 
body .section .article h2 a:focus, body .section .article h2 a:active, 
body .section .e-n-accordion-item-title h3:hover, body .section .e-n-accordion-item-title h3:focus, body .section .e-n-accordion-item-title[aria-expanded="true"] h3, body .section .e-n-accordion-item-title h3:active {
  color: var(--white) !important;
  background-color: var(--bleu-fonce) !important;
}

body .section .article h2 a:after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

body span.e-n-accordion-item-title-header, body .section .e-n-accordion-item-title h3 {
    width: 100%;
    margin: 0;
}

body .section .article h2.elementor-active a:after {
  content: '-';
}

.warning-box {
    background: rgba(237, 21, 26, 0.05);
    border: 1px solid rgba(237, 21, 26, 0.2);
    border-radius: 10px;
    padding: 16px 20px;
    margin: 16px 0;
    font-size: 0.88rem;
    color: var(--bleu-fonce);
}

header#masthead .ast-primary-header-bar > div, footer .ast-builder-grid-row-container-inner {
    max-width: 1120px;
}

footer .ast-builder-grid-row-container-inner {
    margin: auto;
    width: 100%;
}

body .nf-form-content .nf-field-container button,
body .nf-form-content .nf-field-container input[type="button"],
body .nf-form-content .submit-container input[type="submit"],
body .nf-form-content .submit-container button, body a.elementor-button  {
    background: linear-gradient(135deg, #1a6fa8, #0a3d6b);
    color: #ffffff;
    border: none;
    border-radius: 45px;
    padding: 12px 32px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    opacity: 0.95;
    transition: opacity 0.2s ease;
    color: #fff;
    border: none;
}

body .nf-form-content .submit-container button:hover,
body .nf-form-content .submit-container input[type="submit"]:hover, body a.elementor-button:hover, body a.elementor-button:focus {
    opacity: 1;
    background: linear-gradient(67deg, #1a6fa8, #0a3d6b);
    color: #fff;
    border: none;
}

body #ninja_forms_required_items, body .nf-field-container {
    margin-bottom: 14px;
}

body .nf-form-fields-required {
    font-size: 14px;
    margin-bottom: 7px;
}

body .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    opacity: 1;
    background: linear-gradient(348deg, #1a6fa8, #0a3d6b);
}

body .site-below-footer-wrap {
    padding-top: 0;
    padding-bottom: 0;
}