.elementor-515 .elementor-element.elementor-element-db90403{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-515 .elementor-element.elementor-element-b7072a9{--display:flex;}.elementor-515 .elementor-element.elementor-element-8e54107{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-515 .elementor-element.elementor-element-49ec098{--grid-columns:3;}.elementor-515 .elementor-element.elementor-element-d426edd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-515 .elementor-element.elementor-element-31342ed{margin:-90px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-515 .elementor-element.elementor-element-bfff3be{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-515 .elementor-element.elementor-element-49ec098{--grid-columns:2;}}@media(max-width:767px){.elementor-515 .elementor-element.elementor-element-49ec098{--grid-columns:1;}}/* Start custom CSS *//* ============================================================
   📰 STYLE DU LOOP GRID — ARCHIVES BLOG AUTO-ÉCOLE SAVOIE
   ============================================================
   ⚠️ À COLLER DANS :
   Page Blog → ⚙️ Paramètres → Avancé → CSS personnalisé
   (et NON pas dans le widget HTML, ici c'est du CSS pur)

   Ce CSS cible les classes générées par Elementor Pro
   pour le widget Loop Grid + Loop Item personnalisé.
   On force le rendu pour matcher la coque HTML (#0A0A0A,
   #B97B40, Archivo, Fraunces, Inter, JetBrains Mono).
   ============================================================ */

/* === Variables charte (re-déclarées pour scope page) === */
:root {
  --aes-noir: #0A0A0A;
  --aes-noir-2: #121212;
  --aes-noir-3: #1A1A1A;
  --aes-or: #B97B40;
  --aes-or-clair: #D49A60;
  --aes-or-fonce: #8F5E2E;
  --aes-or-glow: rgba(185, 123, 64, 0.4);
  --aes-or-soft: rgba(185, 123, 64, 0.12);
  --aes-blanc: #FFFFFF;
  --aes-blanc-90: rgba(255,255,255,0.9);
  --aes-blanc-70: rgba(255,255,255,0.7);
  --aes-blanc-50: rgba(255,255,255,0.5);
  --aes-blanc-20: rgba(255,255,255,0.2);
  --aes-blanc-10: rgba(255,255,255,0.1);
}

/* ============================================================
   1. CONTENEUR GLOBAL DE LA SECTION LOOP GRID
   ============================================================
   ➝ Sur la section Elementor qui contient le Loop Grid, ajoute
     la classe CSS personnalisée : "aes-loop-section"
*/
.aes-loop-section {
  background: #0A0A0A !important;
  padding: 20px 32px 100px !important;
}

/* ============================================================
   2. GRILLE DES ARTICLES
   ============================================================
   Cible le wrapper du Loop Grid (Elementor le nomme
   .elementor-loop-container, certains thèmes utilisent
   .e-loop-item-wrap). On couvre les deux.
*/
.aes-loop-section .elementor-loop-container,
.aes-loop-section .e-loop-item-wrap {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  max-width: 1280px;
  margin: 0 auto !important;
}

@media (max-width: 1024px) {
  .aes-loop-section .elementor-loop-container,
  .aes-loop-section .e-loop-item-wrap {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}
@media (max-width: 640px) {
  .aes-loop-section .elementor-loop-container,
  .aes-loop-section .e-loop-item-wrap {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* ============================================================
   3. CARTE ARTICLE (LOOP ITEM)
   ============================================================
   Sur ton template Loop Item, ajoute à la section racine
   la classe CSS personnalisée : "aes-card"
*/
.aes-card {
  position: relative;
  background: var(--aes-noir-2) !important;
  border: 1px solid var(--aes-blanc-10) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer;
}

/* Coins dorés décoratifs */
.aes-card::before,
.aes-card::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border: 1px solid var(--aes-or);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s, width 0.4s, height 0.4s;
  z-index: 3;
}
.aes-card::before {
  top: 8px; left: 8px;
  border-right: none;
  border-bottom: none;
}
.aes-card::after {
  bottom: 8px; right: 8px;
  border-left: none;
  border-top: none;
}

.aes-card:hover {
  border-color: var(--aes-or) !important;
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4),
              0 0 40px rgba(185,123,64,0.2),
              inset 0 1px 0 rgba(255,255,255,0.05);
}
.aes-card:hover::before,
.aes-card:hover::after {
  opacity: 1;
  width: 24px;
  height: 24px;
}

/* ============================================================
   4. IMAGE VEDETTE DE L'ARTICLE
   ============================================================
   Sur ton widget Image vedette dans le template Loop,
   ajoute la classe CSS personnalisée : "aes-card-img"
*/
.aes-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--aes-noir-3);
}
.aes-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
              transparent 0%,
              transparent 50%,
              rgba(10,10,10,0.4) 100%);
  pointer-events: none;
  transition: opacity 0.5s;
  z-index: 1;
}
.aes-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
  filter: grayscale(0.15) brightness(0.92);
}
.aes-card:hover .aes-card-img img {
  transform: scale(1.06);
  filter: grayscale(0) brightness(1);
}

/* Effet shimmer doré au hover sur l'image */
.aes-card-img::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg,
              transparent,
              rgba(185,123,64,0.2),
              transparent);
  z-index: 2;
  transition: left 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.aes-card:hover .aes-card-img::before {
  left: 100%;
}

/* ============================================================
   5. BADGE CATÉGORIE
   ============================================================
   Sur ton widget Catégorie (Post Info) dans le template Loop,
   ajoute la classe CSS personnalisée : "aes-card-cat"
*/
.aes-card-cat {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  background: rgba(10,10,10,0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--aes-or) !important;
  border-radius: 100px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--aes-or-clair) !important;
}
.aes-card-cat a {
  color: var(--aes-or-clair) !important;
  text-decoration: none !important;
}
.aes-card-cat a:hover {
  color: var(--aes-blanc) !important;
}

/* ============================================================
   6. ZONE TEXTE (TITRE + EXTRAIT + META)
   ============================================================
   Englobe le titre, l'extrait et les métadonnées dans un
   conteneur (widget Conteneur) avec la classe : "aes-card-body"
*/
.aes-card-body {
  padding: 28px 24px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: 14px !important;
}

/* === Titre de l'article ===
   Sur le widget Titre (Post Title), ajoute la classe : "aes-card-title"
*/
.aes-card-title,
.aes-card-title h1,
.aes-card-title h2,
.aes-card-title h3,
.aes-card-title h4 {
  font-family: 'Archivo', sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: var(--aes-blanc) !important;
  text-transform: none !important;
  margin: 0 !important;
  transition: color 0.4s !important;
}
.aes-card-title a {
  color: var(--aes-blanc) !important;
  text-decoration: none !important;
  transition: color 0.4s !important;
}
.aes-card:hover .aes-card-title,
.aes-card:hover .aes-card-title a {
  color: var(--aes-or-clair) !important;
}

/* === Extrait de l'article ===
   Sur le widget Extrait (Post Excerpt), ajoute la classe : "aes-card-excerpt"
*/
.aes-card-excerpt {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--aes-blanc-70) !important;
  margin: 0 !important;
}
.aes-card-excerpt p {
  margin: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
}

/* === Méta : date + temps de lecture ===
   Sur le widget Post Info (date), ajoute la classe : "aes-card-meta"
*/
.aes-card-meta {
  margin-top: auto !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--aes-blanc-10) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--aes-blanc-50) !important;
}
.aes-card-meta a,
.aes-card-meta span,
.aes-card-meta time {
  color: var(--aes-blanc-50) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

/* === Bouton "Lire" (Read more) ===
   Sur le widget Bouton ou Lire la suite, ajoute la classe : "aes-card-link"
*/
.aes-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Archivo', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--aes-or) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  transition: gap 0.3s, color 0.3s !important;
}
.aes-card-link::after {
  content: '→';
  display: inline-block;
  transition: transform 0.3s;
}
.aes-card:hover .aes-card-link {
  color: var(--aes-or-clair) !important;
  gap: 12px !important;
}
.aes-card:hover .aes-card-link::after {
  transform: translateX(4px);
}

/* ============================================================
   7. PAGINATION ELEMENTOR
   ============================================================
   Le widget de pagination du Loop Grid. On le re-style
   pour qu'il soit en accord avec la charte.
*/
.aes-loop-section .elementor-pagination,
.aes-loop-section .e-loop__pagination {
  margin-top: 64px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
}
.aes-loop-section .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 1px solid var(--aes-blanc-20) !important;
  border-radius: 4px !important;
  color: var(--aes-blanc-70) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aes-loop-section .page-numbers:hover {
  border-color: var(--aes-or) !important;
  color: var(--aes-or-clair) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(185,123,64,0.2) !important;
}
.aes-loop-section .page-numbers.current {
  background: var(--aes-or) !important;
  border-color: var(--aes-or) !important;
  color: var(--aes-noir) !important;
  font-weight: 700 !important;
}

/* ============================================================
   8. RESPONSIVE FINAL
   ============================================================ */
@media (max-width: 768px) {
  .aes-loop-section { padding: 20px 24px 80px !important; }
  .aes-card-body { padding: 24px 20px 20px !important; }
  .aes-card-title,
  .aes-card-title h1,
  .aes-card-title h2,
  .aes-card-title h3,
  .aes-card-title h4 { font-size: 19px !important; }
}

/* ============================================================
   9. ANIMATION D'ENTRÉE DES CARDS
   ============================================================
   Effet "stagger" : les cards apparaissent les unes après
   les autres au chargement.
*/
@keyframes aesCardIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.aes-card {
  opacity: 0;
  animation: aesCardIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.aes-loop-section .elementor-loop-container .aes-card:nth-child(1),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(1) { animation-delay: 0.05s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(2),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(2) { animation-delay: 0.15s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(3),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(3) { animation-delay: 0.25s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(4),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(4) { animation-delay: 0.35s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(5),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(5) { animation-delay: 0.45s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(6),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(6) { animation-delay: 0.55s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(7),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(7) { animation-delay: 0.65s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(8),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(8) { animation-delay: 0.75s; }
.aes-loop-section .elementor-loop-container .aes-card:nth-child(9),
.aes-loop-section .e-loop-item-wrap .aes-card:nth-child(9) { animation-delay: 0.85s; }

/* ============================================================
   10. ETAT VIDE (s'il n'y a aucun article)
   ============================================================ */
.aes-loop-section .elementor-loop-container:empty::before {
  content: 'Premiers articles bientôt en ligne.';
  display: block;
  text-align: center;
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 300;
  font-size: 24px;
  color: var(--aes-blanc-50);
  padding: 80px 0;
}











/* ============================================================
   📧 STYLE FLUENTFORM (id 4) — CHARTE AUTO-ÉCOLE SAVOIE
   ============================================================
   ⚠️ OÙ COLLER CE CSS :
   Page Blog → ⚙️ Paramètres → Avancé → CSS personnalisé
   (à la SUITE du CSS des archives déjà collé, ça s'ajoute)

   Ce CSS habille ton formulaire FluentForm "Nom + Email + Bouton"
   pour qu'il soit raccord avec le bloc newsletter noir et or.
   ============================================================ */

/* Conteneur global du formulaire : centré, largeur maîtrisée */
.fluentform {
  max-width: 520px !important;
  margin: 28px auto 0 !important;
}

/* Chaque ligne de champ */
.fluentform .ff-el-group {
  margin-bottom: 14px !important;
}

/* Masquer les labels (le placeholder suffit, look épuré) */
.fluentform .ff-el-input--label {
  display: none !important;
}

/* ─── CHAMPS TEXTE (Nom + Email) ─── */
.fluentform .ff-el-form-control,
.fluentform input[type="text"],
.fluentform input[type="email"] {
  width: 100% !important;
  padding: 17px 20px !important;
  background: #0A0A0A !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 4px !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  transition: border-color 0.3s, background 0.3s, box-shadow 0.3s !important;
  box-shadow: none !important;
}

/* Placeholder */
.fluentform .ff-el-form-control::placeholder,
.fluentform input::placeholder {
  color: rgba(255,255,255,0.5) !important;
  font-family: 'Inter', sans-serif !important;
}

/* Focus sur un champ : bordure dorée + halo */
.fluentform .ff-el-form-control:focus,
.fluentform input[type="text"]:focus,
.fluentform input[type="email"]:focus {
  outline: none !important;
  border-color: #B97B40 !important;
  background: #121212 !important;
  box-shadow: 0 0 0 3px rgba(185,123,64,0.15) !important;
}

/* ─── BOUTON D'ENVOI ─── */
.fluentform .ff-btn-submit,
.fluentform button[type="submit"] {
  width: 100% !important;
  margin-top: 6px !important;
  padding: 18px 32px !important;
  background: #B97B40 !important;
  border: 1px solid #B97B40 !important;
  border-radius: 4px !important;
  color: #0A0A0A !important;
  font-family: 'Archivo', sans-serif !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: none !important;
}
.fluentform .ff-btn-submit:hover,
.fluentform button[type="submit"]:hover {
  background: #D49A60 !important;
  border-color: #D49A60 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(185,123,64,0.4) !important;
}

/* ─── MESSAGES DE VALIDATION / ERREUR ─── */
.fluentform .ff-el-is-error .ff-el-form-control {
  border-color: #c0392b !important;
}
.fluentform .error.text-danger,
.fluentform .ff-el-is-error .text-danger {
  color: #e07a6f !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.03em !important;
  margin-top: 6px !important;
}

/* Message de succès après envoi */
.fluentform .ff-message-success,
.ff-message-success {
  background: rgba(185,123,64,0.12) !important;
  border: 1px solid #B97B40 !important;
  border-radius: 4px !important;
  color: #D49A60 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  padding: 18px 20px !important;
  text-align: center !important;
}

/* ─── DEUX CHAMPS CÔTE À CÔTE (si Nom + Email sur une ligne) ─── */
/* FluentForm utilise une grille : on s'assure que ça reste propre */
.fluentform .ff-t-cell {
  padding: 0 6px !important;
}
.fluentform .ff-t-cell:first-child { padding-left: 0 !important; }
.fluentform .ff-t-cell:last-child { padding-right: 0 !important; }

/* ─── RESPONSIVE MOBILE ─── */
@media (max-width: 600px) {
  .fluentform { max-width: 100% !important; }
  /* Champs côte à côte passent en pleine largeur empilée */
  .fluentform .ff-t-cell {
    display: block !important;
    width: 100% !important;
    padding: 0 0 14px 0 !important;
  }
}/* End custom CSS */