/* Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.3.0
Text Domain: hello-elementor-child
*/

/* ================================================================= */
/* 1. STRUCTURE DES COLONNES (DESKTOP UNIQUEMENT) */
/* ================================================================= */

@media (min-width: 1025px) {
  /* Force le parent des colonnes à ne pas passer à la ligne */
  .e-con:has(> .main_content),
  .e-con-inner:has(> .main_content),
  .elementor-element-f2dd6b6 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 30px !important;
  }

  /* Colonne GAUCHE */
  .main_content {
    width: 70% !important;
    max-width: 70% !important;
    flex: 0 0 70% !important;
    min-width: 0 !important;
  }

  /* Colonne DROITE */
  .right-content {
    width: 30% !important;
    max-width: 30% !important;
    flex: 0 0 30% !important;
    margin-left: auto !important;
  }
}

/* ================================================================= */
/* 2. LE PAYWALL (CARTE & FORMULAIRE - GLOBAL) */
/* ================================================================= */

/* Casse la limite de 500px et force l'occupation de l'espace */
body .urcr-access-card,
#paywall .urcr-access-card {
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 20px 0 !important; /* Marge verticale uniquement sur desktop */
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Style du bloc gris formulaire */
#paywall #deja_abonne .ur-frontend-form {
  background-color: #f7f7f7 !important;
  padding: 25px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 4px !important;
  margin-top: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Conteneur global */
#paywall {
  width: 100% !important;
  z-index: 1 !important;
}

/* ================================================================= */
/* 3. CHAMPS (INPUTS) ET BOUTONS */
/* ================================================================= */

/* Reset */
#paywall .ur-form-row,
#paywall .ur-form-grid {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin-bottom: 15px !important;
}

/* Inputs */
#paywall input[type="text"],
#paywall input[type="email"],
#paywall input[type="password"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  padding: 0 15px !important;
  background-color: #ffffff !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  color: #333 !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 50 !important;
  appearance: none !important;
}

#paywall input:focus {
  border-color: #e73f1f !important;
  outline: none !important;
}

#paywall input[type="password"] {
  padding-right: 45px !important;
}

/* Icone Oeil */
#paywall .password_preview {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 45px !important;
  height: 48px !important;
  line-height: 48px !important;
  text-align: center !important;
  z-index: 60 !important;
  color: #777 !important;
  cursor: pointer !important;
}

/* Bouton */
#paywall button[type="submit"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  background-color: #e73f1f !important;
  color: #fff !important;
  font-weight: bold !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  position: relative !important;
  z-index: 50 !important;
}

#paywall button[type="submit"]:hover {
  background-color: #042537 !important;
}

/* Labels et Liens */
#paywall label {
  display: block !important;
  margin-bottom: 5px !important;
  font-weight: 600 !important;
  color: #222 !important;
}

#paywall .user-registration-LostPassword,
#paywall .user-registration-register {
  text-align: center !important;
  display: block !important;
  margin-top: 10px !important;
}

/* ================================================================= */
/* 4. DÉGRADÉ FLOU */
/* ================================================================= */

.urcr-access-card,
body .entry-content .restricted {
  position: relative !important;
  display: block !important;
  z-index: 2;
}

/* Pseudo-élément dégradé */
.urcr-access-card::before,
body .entry-content .restricted::before {
  content: "";
  display: block;
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: 201px;
  background-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 1)
  );
  pointer-events: none !important;
  z-index: 1;
}

/* ================================================================= */
/* 5. SPÉCIFIQUE MOBILE (CORRECTION LARGEUR ET HEADER) */
/* ================================================================= */

@media (max-width: 1024px) {
  /* 2. LARGEUR 100% POUR LE PAYWALL SUR MOBILE */
  /* C'est ici qu'on supprime les bordures blanches */
  body .urcr-access-card,
  #paywall,
  #paywall .ur-frontend-form,
  .main_content {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 100% !important;
    /* Annulation de TOUTES les marges et paddings latéraux */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important; /* Enlève l'arrondi sur les côtés sur mobile */
  }

  /* On remet un peu de padding interne pour que le texte ne colle pas au bord */
  #paywall #deja_abonne .ur-frontend-form {
    padding: 20px 15px !important;
    margin-top: 0 !important; /* Colle le formulaire au dégradé */
  }

  /* 3. RESET DES COLONNES POUR MOBILE (L'une sous l'autre) */
  .e-con:has(> .main_content),
  .e-con-inner:has(> .main_content),
  .elementor-element-f2dd6b6 > .e-con-inner {
    flex-wrap: wrap !important;
    display: block !important;
    padding-left: 0 !important; /* Enlève le padding du conteneur principal */
    padding-right: 0 !important;
  }

  .main_content,
  .right-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

/* ================================================================= */
/* 6. AUTRES STYLES */
/* ================================================================= */

.elementor-widget-heading
  .elementor-heading-title[class*="elementor-size-"]
  > a {
  transition: ease-in 0.2s !important;
}

/* Tag voir plus  */
.voir-plus a:hover {
  color: #e73f1f !important;
}

/* 5 articles les plus lus */

.elementor-25233
  .elementor-element.elementor-element-44cecf7
  .elementor-heading-title
  a {
  color: #373737 !important;
  & a:hover {
    color: #e73f1f !important;
  }
}
.elementor-25233
  .elementor-element.elementor-element-44cecf7
  .elementor-heading-title
  a:hover {
  color: #e73f1f !important;
}

.title-line h2 {
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-size: none;
  transition: 0.2s ease-in !important;
  padding-bottom: 0 !important;
  font-weight: 400 !important;
  color: #373737 !important;
}

.title-line h2:hover {
  color: #e73f1f !important;
}
.title-line h3 {
  transition: ease-in 0.2s;
}
.title-line h3:hover {
  color: #e73f1f !important;
}

/*------------------------------------*/
/* Images = Légendes */
/*------------------------------------*/
.wp-caption-text {
  display: flex !important;
  padding: 10px 0 10px 0;
  font-family: "Source Sans 3";
  font-size: 12px;
  line-height: 1.2em;
  color: #818181;
}
/*------------------------------------*/
/* CITATIONS - Structure "Sandwich"   */
/*------------------------------------*/

blockquote {
  /* On nettoie le conteneur */
  display: block;
  position: relative;
  margin: 60px auto; /* Marge externe */
  padding: 0 20px; /* Marge interne latérale */
  border: none !important;
  background: transparent !important;

  /* On définit les caractères des guillemets */
  quotes: "“" "”";
}

/*------------------------------------*/
/* 1. GUILLEMET OUVRANT (Haut Gauche) */
/*------------------------------------*/
blockquote::before {
  content: open-quote;

  /* FORCE L'AFFICHAGE EN BLOC = PAS DE FLOTTEMENT */
  display: block;
  width: 100%;
  text-align: left; /* Aligné à GAUCHE */
  font-family: "Robotto", sans-serif !important;
  font-size: 120px; /* Taille fixe en px pour éviter les surprises */
  line-height: 0.1; /* Hauteur écrasée pour réduire l'espace vide */
  color: #e73f1f; /* Orange */
  margin-top: 50px !important;
  margin-bottom: 0px; /* Espace avant le texte */
}

/*------------------------------------*/
/* 2. LE TEXTE (Au centre)            */
/*------------------------------------*/
blockquote {
  /* On s'assure que le texte est un bloc indépendant */
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;

  /* Typographie */
  font-family: "RecentGrotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 30px !important;
  line-height: 1.1em !important;
  color: #495a65 !important; /* Gris foncé */
  text-align: right !important; /* CENTRÉ */
}

/*------------------------------------*/
/* 3. L'AUTEUR (Signature)            */
/*------------------------------------*/
blockquote cite {
  display: block !important;
  width: 100%;
  text-align: right !important; /* Aligné à DROITE */

  font-family: "Newsreader", sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  color: #e73f1f !important; /* Orange */

  margin-top: 20px;
}

/*------------------------------------*/
/* 4. GUILLEMET FERMANT (Bas Droite)  */
/*------------------------------------*/
blockquote::after {
  content: close-quote;

  /* FORCE L'AFFICHAGE EN BLOC */
  display: block;
  width: 100%;
  text-align: right; /* Aligné à DROITE */

  font-family: "Robotto", sans-serif !important;
  font-size: 120px;
  line-height: 0.5;
  color: #e73f1f;

  margin-top: 30px; /* Espace au-dessus du guillemet */
}

/*------------------------------------*/
/* VERSION RESPONSIVE (Mobile)        */
/*------------------------------------*/
@media screen and (max-width: 768px) {
  blockquote {
    margin: 30px auto;
    padding: 0 15px; /* Un peu moins de padding sur les côtés */
  }

  blockquote::before {
    font-size: 60px; /* Guillemets plus petits sur mobile */
    margin-bottom: 0px;
  }

  blockquote p {
    border: 1px solid red !important;
  }

  blockquote p {
    font-size: 18px !important; /* Texte lisible mais plus petit */
    line-height: 1.4em;
  }

  blockquote cite {
    font-size: 16px !important;
    margin-top: 15px;
  }

  blockquote::after {
    font-size: 60px;
    margin-top: 20px;
  }
}

/* Force les popups Elementor à passer au-dessus de tout le reste */
.elementor-popup-modal {
  z-index: 99999 !important;
}

/* .jl_ajse.search_form_menu_personal .searchform_theme .search_btn{ border: 1px solid #042537 !important; padding: 5px; }
.jl_ajse.search_form_menu_personal .searchform_theme .search_btn:focus::placeholder { color: transparent !important; opacity: 1; } */

.cmplz-service-desc,
.cookies-per-purpose {
  color: #042537 !important;
}
/* .author-description > p { font-family: 'Roboto', Helvetica, sans-serif !important; font-size:16px !important } */

/*  */
/* FORMAT ITV
/*  */


/* A lire aussi ARTICLE ITV  */

 /*Container principal*/


/* IMG */
selector .elementor-29853 .elementor-element.elementor-element-21ee97e.e-con img { 
    width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center !important;
      transition: transform 0.5s ease; 
}


.content-itv .jet-listing-dynamic-field__inline-wrap > figure {
    width:100% !important ;
}

.content-itv .jet-listing-dynamic-field__inline-wrap > figure > figcaption {
    line-height: 1em !important;
}

.content-itv .jet-listing-dynamic-field__inline-wrap a > img {
    width: 100% !important;
    margin-top: 10px !important;
}


/* HOVER IMG */
selector .elementor-29853 .elementor-element.elementor-element-21ee97e.e-con img:hover {
  transform: scale(1.1); 
}

/* Paragraphe */

/* -------------------------------------------------- */
/* CONTENT-ITV — Affichage des paragraphes dynamiques */
/* -------------------------------------------------- */

/* Masque le premier paragraphe (metadata JetEngine) */
.content-itv .jet-listing-dynamic-field__inline-wrap > p:first-of-type {
    display: none;
}

/* Deuxième paragraphe en inline */
.content-itv .jet-listing-dynamic-field__inline-wrap > p:nth-of-type(2) {
    display: inline;
}

/* Paragraphes suivants en bloc avec espacement */
.content-itv .jet-listing-dynamic-field__inline-wrap > p:nth-of-type(n+3) {
    display: block;
    margin-top: 20px;
}

/* Fix hauteur question */
.content-itv .jet-listing-dynamic-field__inline-wrap .e-con-inner,
.content-itv .jet-listing-dynamic-field__inline-wrap .e-con {
    height: auto !important;
    min-height: 0 !important;
}


/* -------------------------------------------------- */
/* CONTENT-ITV — Titres de questions (balise <b>)     */
/* -------------------------------------------------- */

.content-itv .jet-listing-dynamic-field__content p:has(> b),
.content-itv .jet-listing-dynamic-field__content p > b {
    font-family: "recent-grotesk", sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    display: block !important;
    padding-top: 20px !important;
    margin-bottom: 16px !important;
}

.content-itv .elementor-35329 .elementor-element.elementor-element-984e784, .elementor-35329 .elementor-element.elementor-element-984e784 * {
  margin: 0;
}
/* -------------------------------------------------- */
/* ARTICLES — Espacement paragraphes                  */
/* -------------------------------------------------- */

.article-classique > p {
    margin-block-end: 20px;
}

.article-classique .e-con-inner,
.article-classique .e-con {
    height: auto !important;
    min-height: 0 !important;
}


/* -------------------------------------------------- */
/* ARTICLES — Couleur h3 (override Elementor)         */
/* -------------------------------------------------- */

.elementor-35882 .elementor-element.elementor-element-cd9670d h3,
.elementor-25451 .elementor-element.elementor-element-ad09aea h3 {
    color: #373737 !important;
}

/* -------------------------------------------------- */
/* ARTICLES — Figures et images                       */
/* -------------------------------------------------- */

:is(.article-dialogue, .article-classique) > figure {
    width: 100% !important;
    margin: 0 !important;
}

:is(.article-dialogue, .article-classique) > figure > figcaption {
    line-height: 1em !important;
}

:is(.article-dialogue, .article-classique) a > img:not(.emoji){
    width: 100% !important;
    margin-top: 10px !important;
}

/* -------------------------------------------------- */
/* ARTICLES — Typo titres h3                          */
/* -------------------------------------------------- */

:is(.article-dialogue, .article-classique, .content-itv) h3,
:is(.article-dialogue, .article-classique, .content-itv) .elementor-widget-theme-post-content h3 {
    font-family: "recent-grotesk", sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    padding-top: 20px !important;
    color: #373737 !important;
}