/*
Theme Name: Histoire numérique
Template: Histoire numérique
Author: Nicolas Heim
*/

/* =========================
   ASTRA — DESKTOP UNIQUEMENT
   Header transparent sur l’image + couleur au scroll
   ========================= */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&display=swap');

@media (min-width: 921px) {

  /* Header et wraps : transparents au départ */
  .ast-desktop-header,
  .ast-primary-header-bar,
  .ast-above-header,
  .ast-primary-header-bar-wrap,
  .ast-above-header-wrap,
  .main-header-bar-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    transition: background-color .3s ease, box-shadow .3s ease;
  }

  /* Header fixé en haut */
  .ast-desktop-header,
  .ast-primary-header-bar,
  .ast-above-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
  }

  /* Couleur du header au scroll */
  body.scrolled .ast-primary-header-bar,
  body.scrolled .ast-above-header,
  body.scrolled .ast-primary-header-bar-wrap,
  body.scrolled .ast-above-header-wrap {
    background-color:  #1E1E2E!important;
    box-shadow: 0 6px 20px rgba(0,0,0,.2) !important;
  }

  /* Couleur des liens au scroll */
  body.scrolled .ast-header-menu > li > a {
    color: #ffffff !important;
  }

  body.scrolled .ast-header-menu > li > a:hover {
    color: #f1e6ff !important;
  }

  /* Gestion de la hauteur :
     - home : header sur l’image
     - autres pages : compensation */
  body.home {
    padding-top: 0 !important;
  }

  body:not(.home) {
    padding-top: 90px;
  }
}

.ast-above-header.ast-above-header-bar {
  margin-top: -30px;
}

/* Conteneur image */
.elementor-widget-image,
.wp-caption {
  position: relative;
}

/* Légende sur l'image */
.elementor-widget-image .wp-caption-text,
.wp-caption .wp-caption-text {
  position: absolute;
  bottom: 12px;
  left: 0;
  width: 100%;
  margin: 0;
  background: rgba(0, 0, 0, 0.55); /* fond lisible */
  padding: 10px 12px;
  text-align: center;
  font-size: 25px;
  font-family: 'Chonburi', serif !important;
  font-weight: 700 !important; 
  color: #E2A9F1 !important 
}

.elementor-18 .elementor-element.elementor-element-f2d70d2 .highlight-violet {
  color: #E2A9F1 !important;
  font-weight: 700;
}

/* Desktop : image immersive */
@media (min-width: 768px) {
  .hero-image {
    background-size: cover;
  }
}

/* Mobile : image entière, jamais coupée */
@media (max-width: 767px) {
  .hero-image {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat;
    height: auto !important;
    min-height: auto !important;
    padding-top: 56.25%; /* ratio 16/9 – ajuste si besoin */
  }
}

.elementor-18 .elementor-element.elementor-element-cc110fd .highlight-violet {
  color: #E2A9F1 !important;
  font-weight: 700 !important;
}



/* Bouton */
.btn-uniform .elementor-button{
  width: 220px;        /* largeur identique */
  height: 56px;        /* hauteur identique */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

/* Supprimer le soulignement des liens dans le footer */
.site-footer a {
  text-decoration: none !important;
}

/* Mettre tous les textes en gras en violet dans le footer */
.site-footer strong,
.site-footer b {
  color: #E29EF1;
}

.footer-legal-links a {
  display: block;
}

.elementor-18 .elementor-element.elementor-element-d696224, .elementor-18 .elementor-element.elementor-element-dcf2a74 {
   background: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(3px);
  padding: 14px 28px;      
  margin: 10px 0;       
}

/* Fond global */
body {
  background-image: url("/wp-content/uploads/2026/01/web.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Sections qui laissent voir le fond */
.bg-pass {
  background: transparent !important;
}

.bg-hide {
  background-color: #fff !important;
  position: relative;
  z-index: 2;
}

.elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] > a {
  text-decoration: none !important;
}

/* Boutons même largeur ET même hauteur */
@media (max-width: 1024px){

  /* centre le widget bouton */
  .btn-uniforme{
    width: 100%;
    display: flex !important;
    justify-content: center !important;
  }

  /* centre le bouton lui-même */
  .btn-uniforme .elementor-button,
  .btn-uniforme .elementor-button-link{
    margin: 0 auto !important;      /* CENTRAGE */
    width: 100% !important;
    max-width: 320px !important;
    height: 90px !important;
    padding: 0 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
}

/* WPForms - Bouton Envoyer */

.wpforms-submit {

  /* Dégradé */
  background: linear-gradient(90deg, #E2A9F1 0%, #E129F2 100%) !important;
  border: none !important;

  /* Typo */
  font-family: "Chonburi", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #1E293B !important;

  /* Taille */
  padding: 0 !important;
  width: 260px !important;
  height: 64px !important;

  /* Centrage parfait */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* Style */
  border-radius: 18px !important;
  cursor: pointer !important;

  /* Ombre douce */
  box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;

  transition: all 0.25s ease !important;
}

/* Hover */
.wpforms-submit:hover {
  background: #1E293B !important;
  color: #E2A9F1 !important;

  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.20) !important;
}

/* Clic */
.wpforms-submit:active {
  transform: scale(0.97) !important;
}

/* Titres des champs WPForms (Nom, Prénom, Email, Message…) */
.wpforms-form .wpforms-field-label {
  color: #E2A9F1 !important;
  font-family: "Chonburi", serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* Optionnel : astérisque champ obligatoire */
.wpforms-form .wpforms-required-label {
  color: #E129F2 !important;
}

@media (min-width: 921px) {

  /* Réduire la hauteur globale du header */
  .ast-primary-header-bar {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Réduire la hauteur des liens du menu */
  .ast-header-menu > li > a {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
  }

  /* Réduire aussi la zone du logo */
  .site-branding {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  /* Ajuster la compensation (important) */
  body:not(.home) {
    padding-top: 70px !important; /* au lieu de 90px */
  }
}

.elementor-widget-heading h1 {
  background: rgba(226, 169, 241, 0.45); /* violet clair transparent */
  padding: 12px 25px;
  border-radius: 14px;
  color: #1E1E2E; /* texte foncé */
  display: inline-block;
  text-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

@media (max-width: 768px) {
  .elementor-widget-heading h1 {
    padding: 8px 15px;
    font-size: 28px;
  }
}