/**
 * La Lettre Patriote - Styles Consolidés
 * Fichier regroupant tous les styles précédemment injectés via wp_head
 */

/* Variables CSS pour la cohérence du design */
:root {
  /* Couleurs */
  --llp-text-color: #333333;
  --llp-title-color: #000000;
  --llp-link-color: #326891;
  --llp-light-gray: #979292;
  --llp-dark-gray: #4b4b4b;
  --llp-yellow: #ffd117;
  --llp-gray-bg: #969696;
  
  /* Typographie */
  --llp-base-font-size: 1rem;
  --llp-title-font-size: 2.25rem;
  --llp-subtitle-font-size: 1.5rem;
  --llp-body-font-size: 1.1875rem;
  --llp-small-font-size: 0.9375rem;
  --llp-tiny-font-size: 0.75rem;
  
  /* Espacement */
  --llp-base-spacing: 1rem;
  --llp-large-spacing: 2.5rem;
  --llp-small-spacing: 0.625rem;
}

/* ===== TYPOGRAPHIE ET TEXTE ===== */

/* Styles de base pour le texte */
body {
  font-family: var(--font-primary);
  color: var(--color-text);
  line-height: 1.6;
}

/* Typographie des articles */
.article-title {
  word-spacing: 0.1em;
}

.article-title::after {
  content: " "; /* espace insécable */
  white-space: nowrap;
}

/* Définitions des polices */
@font-face {
  font-family: "llp-single-corps";
  src: url("../fonts/llp-single-corps.woff") format('woff');
}

@font-face {
  font-family: "llp-single-titre";
  src: url("../fonts/llp-single-titre.woff") format('woff');
}

@font-face {
  font-family: "llp-home-article-titre";
  src: url("../fonts/llp-home-article-titre.woff2") format('woff2');
}

@font-face {
  font-family: "llp-home-rubrique";
  src: url("../fonts/llp-home-rubrique.woff2") format('woff2');
}

@font-face {
  font-family: "llp-franklin";
  src: url("../fonts/franklin-normal-500.ttf") format('truetype');
}

@font-face {
  font-family: "llp-single-auteur";
  src: url("../fonts/llp-single-auteur.woff2") format('woff2');
}

@font-face {
  font-family: "llp-cheltenham";
  src: url("../fonts/llp-cheltenham.woff") format('woff');
}

@font-face {
  font-family: "llp-imperial";
  src: url("../fonts/llp-imperial.woff") format('woff');
}

/* Styles généraux de typographie */
div.entry-content p, div.entry-content ol li {
  font-family: llp-single-corps, georgia, "times new roman", times, serif;
  font-size: var(--llp-body-font-size);
  line-height: 1.5;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

h1.entry-title {
  font-family: llp-single-titre, georgia, "times new roman", times, serif;
  font-size: var(--llp-title-font-size);
  line-height: 1.1;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

/* ===== ALIGNEMENT DE TEXTE ===== */
.llp-right {
  text-align: right;
}

.llp-left {
  text-align: left;
}

.llp-center {
  text-align: center;
}

.llp-justify {
  text-align: justify;
}

/* ===== PAGE D'ACCUEIL ===== */

/* Titres des articles en page d'accueil */
.llp-home-article-titre {
  font-weight: 700;
  letter-spacing: 0.2px;
  margin-top: -3px;
  transition: color 0.6s ease;
  color: var(--llp-title-color);
  font-size: 1.55rem;
  line-height: 1.6375rem;
  font-family: llp-home-article-titre, georgia, "times new roman", times, serif;
  margin-bottom: 0.625rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

.llp-home2019-article-titre {
  font-weight: 700;
  letter-spacing: 0.2px;
  margin-top: -3px;
  transition: color 0.6s ease;
  color: var(--llp-title-color);
  font-size: 1.2rem;
  line-height: 1.38rem;
  font-family: llp-home-article-titre, georgia, "times new roman", times, serif;
  margin-bottom: 0.625rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

/* Auteurs et opinions en page d'accueil */
.llp-home2019-opinion-auteur {
  font-weight: 400;
  letter-spacing: 0.2px;
  margin-top: -3px;
  transition: color 0.6s ease;
  color: var(--llp-light-gray);
  font-size: 1rem;
  line-height: 1rem;
  font-family: llp-home-article-titre, georgia, "times new roman", times, serif;
  margin-bottom: 0.625rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

.llp-home2019-opinion-titre {
  font-weight: 700;
  letter-spacing: 0.2px;
  margin-top: -3px;
  transition: color 0.6s ease;
  color: #131313;
  font-size: 1rem;
  line-height: 1.3rem;
  font-family: llp-home-article-titre, georgia, "times new roman", times, serif;
  margin-bottom: 0.4375rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

/* Extraits en page d'accueil */
.llp-home2019-extrait {
  font-family: llp-single-corps, georgia, "times new roman", times, serif;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  color: var(--llp-dark-gray);
  hyphens: none;
  -webkit-hyphens: none;
  -epub-hyphens: none;
  -moz-hyphens: none;
}

/* Rubriques en page d'accueil */
#llp-home-rubrique {
  font-family: llp-home-rubrique, helvetica, arial, sans-serif;
  font-size: 0.6em;
  font-weight: 400;
  margin-bottom: 0.625rem;
  margin-top: -0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#llp-home-basse-rubrique {
  font-family: llp-home-rubrique, helvetica, arial, sans-serif;
  font-size: 0.8em;
  font-weight: 520;
  margin-bottom: 0.1875rem;
  margin-top: -0.75rem;
  letter-spacing: 0em;
  text-transform: none;
  color: var(--llp-title-color) !important;
}

/* Crédits photos en page d'accueil */
.llp-home-photo-by {
  font-family: llp-home-article-titre, georgia, "times new roman", times, serif;
  font-size: 0.6em;
  color: #c7c7c7;
}

/* ===== PAGE ARTICLE ===== */

/* Titre de l'article */
.llp-single-titre {
  color: var(--llp-title-color);
  font-family: 'Rozha One', serif !important;
  vertical-align: baseline;
  letter-spacing: normal;
  word-spacing: 0px;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  text-align: start;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 1rem;
  margin-left: 8rem;
}



/* Corps de l'article */
.llp-single-corps p {
  color: var(--llp-text-color);
  font-family: llp-imperial, georgia, "times new roman", times, serif;
  font-size: 1.1875rem;
  line-height: 1.8125rem;
  vertical-align: baseline;
  letter-spacing: normal;
  word-spacing: 0px;
  text-align: justify;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  text-indent: 0px;
}

/* Liens dans le corps de l'article */
.llp-single-corps p a {
  color: var(--llp-link-color);
  text-decoration: underline;
}

.llp-single-corps p a:hover {
  text-decoration: none;
}

/* Auteur de l'article */
.llp-single-auteur {
  color: var(--llp-text-color);
  font-family: llp-franklin, helvetica, arial, sans-serif;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  vertical-align: baseline;
  letter-spacing: 0.3px;
  word-spacing: 0px;
  font-weight: 700;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  text-align: start;
  text-indent: 0px;
}

/* Crédits photo dans l'article */
.llp-single-photo-byline {
  display: inline-block;
  color: #888;
  font-family: llp-single-photo-byline, georgia, 'times new roman', times, serif;
  line-height: 1.125rem;
}

/* Titres vidéo */
.llp-home-video-titre-big {
  color: var(--llp-title-color);
  font-family: llp-cheltenham, georgia, "times new roman", times, serif;
  font-size: 1.5rem;
  line-height: 1.6875rem;
  vertical-align: baseline;
  letter-spacing: 0.2px;
  word-spacing: 0px;
  font-weight: 700;
  font-style: normal;
  font-variant: normal;
}

/* ===== CARTES ET ENCADRÉS ===== */

/* Carte citoyen */
div.llp-cart-citoyen {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  background-color: var(--llp-yellow);
  color: var(--llp-title-color);
}

/* Carte solidarité */
div.llp-cart-solidarite {
  padding-top: 2.5rem;
  background-color: var(--llp-gray-bg);
  color: #ffffff;
}

/* ===== BLOC AUTEUR ===== */

.llp-auteur-block {
  display: inline-block;
  color: #666;

}

.llp-auteur-nom {
  display: inline;
  margin-right: 8px;
  font-size: 16px;
  color: #666;
  transition: color 0.2s ease;
}

.llp-auteur-nom:hover {
  color: #000;
}


.llp-auteur-nom span {
  text-decoration: underline;
  text-decoration-color: #ccc;
}

.llp-auteur-nom span:hover,
.llp-auteur-nom span:focus {
  text-decoration: none;
}

/* Auteur et catégories */
.article-author-date {
  margin-left: 8rem;
  margin-bottom: 1.5rem;
}

.article-author {
  font-family: 'Playfair Display', serif;
  margin-bottom: 0.5rem;
}

.article-publication-date {
  font-size: 0.9rem;
}

.article-separator {
  border-bottom: 1px solid #eee;
}

/* Categories */
.article-categories {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.75rem;
  color: #000;
  margin-bottom: 0.5rem;
  margin-top: -1rem;
}

.article-categories a {
  color: inherit;
  text-decoration: none;
}

.article-categories a:hover {
  color: #666;
}

/* ===== NOTES ET RÉFÉRENCES ===== */

div.simple-footnotes ol {
  list-style-position: inside;
  margin-left: -2.5rem;
  font-size: 0.9375rem;
  line-height: 1.1875rem;
}

p.notes {
  font-style: italic;
  font-variant: normal;
  font-weight: bold;
  text-decoration: underline;
  text-transform: lowercase;
  color: #8c8c8c;
}

/* ===== MÉDIAS ===== */

/* Images */
img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
  max-width: 100%;
}

/* Image credit */
.image-credit {
  font-family: 'Noticia Text', serif;
  font-size: 0.6rem;
  color: #999;
  margin-top: -0.1rem;
}

.image-credit a,
.image-credit a:hover,
.image-credit a:visited {
  color: inherit;
  text-decoration: none;
}

/* Video responsive */
.featured-video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.featured-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-element-caption {
  font-size: 12px;
  font-style: italic;
  color: #555;
  text-align: center;
  margin-top: 5px;
  line-height: 1.4;
}

/* Vidéos */
.wp-embedded-content {
  padding-top: 0% !important;
  height: 350px !important;
  width: 580px !important;
}

.wp-video {
  width: 580px !important;
}

/* ===== LAYOUT ET STRUCTURE ===== */

/* Conteneur principal */
.container, .container-lg, .container-md, .container-sm, .container-xl {
  max-width: 1300px !important;
}

/* Styles du menu et de la navigation */
.llp-sur-menu {
  margin-bottom: 0;
}

.llp-bandeau {
  padding-top: 50px;
  padding-bottom: 50px;
}

.llp-filet-gauche {
  border-left-width: 1px; 
  border-left-style: solid; 
  border-left-color: #ebebeb; 
}

.navbar {
  background-color: #ffffff !important;
}

#llp-sous-menu {
  border-style: none;
  margin-top: 0;
  border-color: #000000;
}

#llp-sous-menu hr {
  border-style: solid;
  margin-top: -20px;
}

#llp-menu {
  text-align: center;
  padding-top: 0;
}

/* Styles des articles single */
.single .article-header {
  margin-top: 2rem;
}

.article-thumbnail {
  margin-bottom: 1.5rem;
  max-width: 100%;
}

.single .article-title,
h1.article-title {
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 1rem;
  margin-left: 8rem;
}

.single .article-meta {
  margin-left: 8rem;
  font-family: 'Noticia Text', serif;
}

.article-meta a {
  text-decoration: underline;
}

.article-meta a:hover {
  text-decoration: none;
}

.single .article-content,
.page .article-content,
.single-more {
  margin-left: 8rem;
  font-size: 1.1rem;
  line-height: 1.6;
  text-align: justify;
  font-family: 'Noticia Text', serif;
  line-height: 1.6;
}

/* Widgets et sidebars */

.centered-col {
  margin-top:auto;
  margin-bottom:auto;
}


.col-md-3 ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
  
}

.widget-title {
  font-size: 0.6rem;
  font-weight: 500;
  color: #999;
  text-transform: uppercase;
  margin-bottom: 1rem;
  letter-spacing: 0.1rem;
  font-family: llp-franklin, helvetica, arial, sans-serif !important;
}

.widget-title a {
  color: #000000;
  text-decoration: none;
}

.widget-title a:hover {
  color: #000000;
  text-decoration: none;
}


.me-2 {
  margin-right: .5rem!important;
}

/* Trait séparateur sous la date */
.article-separator {
  border-bottom: 1px solid #e5e5e5;
  width: 25%;
  margin-left: 0;
}

/* Styles pour les icônes des réseaux sociaux */
.author-social-links {
  display: flex;
  align-items: center;
}

.article-author .widget-title {
  font-family: 'Playfair Display', serif !important;
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.article-author .widget-title a {
  color: #000;
  text-decoration: none;
}

.article-author .widget-title a:hover {
  color: #666;
}

.article-publication-date {
  margin-top: 3px;
}

.row .col-md-6 h5.article-title a {
  color: inherit;
  text-decoration: none;
}

.row .col-md-6 h5.article-title a:hover {
  color: #666;
  text-decoration: none;
}



/* Opinions sidebar */
.opinions-sidebar {
  margin-bottom: 2rem;
}

.opinion-item .article-title {
  margin-left: 0;
  padding-left: 0;
  width: 100%;
  display: block;
  clear: both;
}

.opinions-column-title {
  border-bottom: 1px solid #eee;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}

.opinions-list {
  margin-bottom: 1.5rem;
}

.opinion-item {
  margin-bottom: 1.5rem;
}

.article-excerpt {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Archives et Recherche */
.archive .article-title,
.search .article-title {
  font-size: 1.6rem;
}

.archive .article-thumbnail,
.search .article-thumbnail {
  padding-bottom: 1rem;
}

/* Blocs publicitaires */
.llp-ad-in-content,
.llp-ad-after-content {
  margin: 2rem 0;
  text-align: center;
  clear: both;
  width: 100%;
  overflow: hidden;
}

.llp-ad-in-content {
  margin-left: 8rem;
  max-width: calc(100% - 8rem);
}

.llp-ad-after-content {
  margin-left: 8rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

/* Responsive */
@media (max-width: 991.98px) {
  .single .article-title,
  .single .article-meta,
  .single .article-content,
  .page .article-title,
  .page .article-content, 
  .single .article-author-date,
  .page .article-author-date,
  .llp-ad-in-content,
  .llp-ad-after-content,
  .llp-single-titre,
  .single-more {
    margin-left: 0;
    max-width: 100%;
  }
  
  .single .article-title,
  .page .article-title {
    font-size: 2rem;
  }

  .row > div[class*="col-md-3"] {
    display: none !important;
  }

  .row > div[class*="col-md-9"] {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
}

/* Restrictions */
.restricted:before {
  content: "";
  position: absolute;
  bottom: 60px; /* hauteur du bouton */
  left: 0;
  width: 100%;
  height: 180px;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, white 100%);
  pointer-events: none;
  z-index: 1;
}

.restricted {
  position: relative;
  z-index: 2;
  padding: 8px 14px;
  border-radius: 5px;
  background-color: #bd0808;
  border: 1px solid #bd0808;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: .3s ease-in-out;
}

.restricted a {
  color: #ffffff;
  font-weight: bold;
  text-decoration: underline;
}

.restricted a:hover {
  color: #ffffff;
  font-weight: bold;
  text-decoration: underline;
}

/* Articles */
.row.mb-4 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.addedshadow {
  -webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.25);
  -moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.25);
}

nav.navbar.navbar-expand-lg.navbar-light.bg-light {
  font-size: 0.8em;
  font-family: llp-franklin, helvetica, arial, sans-serif !important;
  color: #000000;
  display: inline-block;
  padding-top: 0px;
  background-color: transparent !important;
}

.llp-puisque {
  background-color: #b50909;
  padding-left: 20px;
  padding-top: 20px;
}

/* Styles pour l'en-tête et le logo */
.llp-single-header {
  margin-bottom: 40px;
}

img.custom-logo {
  width: 300px;
}

.llp-footer-logo {
  margin-top: -7px;
  width: 200px;
}

.entry-header {
  margin-top: 50px;
}

/* Styles pour les blocs d'en-tête */
.llp-header-block-titre {
  color: #666666;
  font-family: llp-franklin, helvetica, arial, sans-serif;
  font-size: 13px;
  margin-bottom: 45px;
}

.llp-header-block-texte {
  color: #666666;
  font-family: llp-franklin, helvetica, arial, sans-serif;
  font-size: 13px;
}

.llp-header-block-texte p a {
  text-decoration: underline;
}

h2.wp-block-heading {
  margin-top: 2.5rem;
  margin-bottom: 2rem;
  text-align: left;
  font-family: 'Rozha One', serif !important;
}

h1, h2, h3, h4, h5, h6, .article-title, .card-title {
  
}

/* Styles pour les liens sous le menu */
#llp-sous-menu a {
  text-decoration: none;
  color: #666666;
  transition: color 0.3s ease;
}

#llp-sous-menu a:hover {
  text-decoration: none;
  color: #000000;
}

/* Affichage responsive */
@media (max-width: 500px) {
  .llp-mob-only {
    display: none;
  }
}

/* Styles pour la sidebar gauche verticalement centrée */
.llp-sidebar-left-container {
  margin-top: auto;
  margin-bottom: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Styles pour la colonne principale de contenu */
.llp-main-content-column {
  margin-top: 40px;
}

/* Styles pour les éléments de single.php */
.llp-category-labels-container {
  margin-bottom: 20px;
}

.llp-category-label {
  text-decoration: none;
}

.llp-featured-tag {
  background-color: #e20000;
  color: white;
  padding: 1px 5px;
  margin-top: 20px;
  display: inline-block;
  border-radius: 4px;
  font-weight: 800;
  font-size: 0.8em;
}

.llp-single-illustr {
  width: 100%;
  padding: 0;
  display: block;
}

.llp-featured-image {
  width: 100%;
  height: auto;
  display: block;
}

.llp-post-date {
  color: #333;
  font-size: 12px;
  font-family: helvetica, arial, sans-serif;
  margin-bottom: 30px;
  text-transform: capitalize;
}

.llp-post-content-spacing,
.llp-amazon-books-widget {
  margin-top: 20px;
  margin-bottom: 30px;
}

.llp-post-footer {
  margin-bottom: 30px;
}

/* Footer et en-têtes */
footer.entry-meta {
  margin-top: 2.5rem;
  margin-bottom: 1.5625rem;
  color: var(--llp-title-color);
  font-size: 0.9375rem;
}

.entry-header {
  margin-top: 3.125rem;
}

div.hfeed.site {
  border-style: none !important;
}

/* Ajustements divers */
a.noslimstat img {
  margin-left: -0.9375rem;
}
