/* ==========================================================================
   PrestaBlog — CSS personnalisé Aluplex Signalétique
   Scope : #prestablogfront / body#module-prestablog-blog
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. RESET GLOBAL DU MODULE
   Neutralise le centrage, les bordures et décorations injectées par le thème
   -------------------------------------------------------------------------- */

#prestablogfront,
#prestablogfront .post,
#prestablogfront .post-content,
#prestablogauthor {
  text-align: left !important;
}

#prestablogfront h1,
#prestablogfront h2,
#prestablogfront h3,
#prestablogfront h4,
#prestablogfront h5,
#prestablogfront h6,
#prestablogauthor h1,
#prestablogauthor h2,
#prestablogauthor .prestablogtitle {
  text-align: left !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Suppression des pseudo-éléments décoratifs sur les titres */
#prestablogfront h1::before,
#prestablogfront h1::after,
#prestablogfront h2::before,
#prestablogfront h2::after,
#prestablogfront .prestablogtitle::before,
#prestablogfront .prestablogtitle::after {
  content: none !important;
  display: none !important;
}


/* --------------------------------------------------------------------------
   2. TYPOGRAPHIE ET LARGEUR DE LECTURE
   -------------------------------------------------------------------------- */

#prestablogfront h1 {
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.2;
  margin: 0 0 0.6em !important;
}

#prestablogfront h2 {
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.25;
  margin: 1.2em 0 0.5em !important;
}

#prestablogfront h3 {
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.3;
  margin: 1em 0 0.4em !important;
}

#prestablogfront p {
  margin: 0.8em 0 1em;
  line-height: 1.65;
  hyphens: auto;
}

/* Largeur de ligne optimale pour la lecture (~72 caractères) */
#prestablogfront .post-content {
  max-width: 72ch;
}


/* --------------------------------------------------------------------------
   3. LISTES, CITATIONS, TABLEAUX, FIGURES
   -------------------------------------------------------------------------- */

#prestablogfront ul,
#prestablogfront ol {
  padding-left: 1.2em;
  margin: 0.6em 0 1em;
}

#prestablogfront blockquote {
  margin: 1.2em 0;
  padding: 0.8em 1em;
  border-left: 3px solid var(--color-primary, #ec6201);
  background: rgba(0, 0, 0, 0.03);
}

#prestablogfront figure {
  margin: 1.2em 0;
}

#prestablogfront figcaption {
  font-size: 0.9em;
  opacity: 0.8;
  text-align: center;
}

/* Tableaux responsive */
#prestablogfront .table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1em 0;
}

#prestablogfront table {
  width: 100%;
  border-collapse: collapse;
}

#prestablogfront th,
#prestablogfront td {
  border: 1px solid #e5e7eb;
  padding: 0.6em 0.7em;
  text-align: left;
}

#prestablogfront thead th {
  background: #f6f7f9;
}


/* --------------------------------------------------------------------------
   4. TITRES DE BLOCS ET FIL D'ARIANE
   -------------------------------------------------------------------------- */

#prestablogfront .title_block,
#prestablogfront .blog-title,
#prestablogfront .post-title,
#prestablogfront .breadcrumb,
#prestablogfront .page-heading {
  text-align: left !important;
  border: 0 !important;
}


/* --------------------------------------------------------------------------
   5. LIENS — SCOPE BLOG UNIQUEMENT
   -------------------------------------------------------------------------- */

#prestablogfront a,
#prestablogauthor a {
  font-weight: 700 !important;
}

#prestablogfront h1 a,
#prestablogfront h2 a {
  color: inherit;
  text-decoration: none;
}


/* --------------------------------------------------------------------------
   6. IMAGES — COMPORTEMENT GÉNÉRAL
   -------------------------------------------------------------------------- */

body#module-prestablog-blog #prestablogfront .post-content img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  margin: 0 8px 12px 0 !important;
  float: none !important;
  clear: none !important;
  /* Désactiver le clic et le curseur par défaut */
  pointer-events: none !important;
  cursor: default !important;
}

/* Exception : images enveloppées d'un lien restent cliquables */
body#module-prestablog-blog #prestablogfront .post-content a img {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Paragraphe contenant ≥ 2 images : mise en flex automatique */
body#module-prestablog-blog #prestablogfront .post-content p:has(img:nth-of-type(2)) {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

body#module-prestablog-blog #prestablogfront .post-content p:has(img:nth-of-type(2)) img {
  display: block !important;
  margin: 0;
}

body#module-prestablog-blog #prestablogfront .post-content p:has(img:nth-of-type(2)) br {
  display: none;
}


/* --------------------------------------------------------------------------
   7. GRILLES D'IMAGES UTILITAIRES
   -------------------------------------------------------------------------- */

/* Grille automatique multi-colonnes */
#prestablogfront .img-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: start;
}

#prestablogfront .img-row > p {
  margin: 0;
}

#prestablogfront .img-row img {
  width: 100%;
  height: auto;
  display: block;
}

#prestablogfront .img-row figure {
  margin: 0;
}

#prestablogfront .img-row figcaption {
  font-size: 0.9rem;
  opacity: 0.8;
  text-align: center;
  margin-top: 6px;
}

/* Variante 50/50 */
#prestablogfront .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 680px) {
  #prestablogfront .two-col {
    grid-template-columns: 1fr;
  }
}


/* --------------------------------------------------------------------------
   8. DÉSACTIVATION DES LIGHTBOX DU THÈME
   Ne pas interférer avec les liens images volontairement cliquables (§6)
   -------------------------------------------------------------------------- */

body#module-prestablog-blog #prestablogfront .post-content a[data-fancybox]:not(:has(img)),
body#module-prestablog-blog #prestablogfront .post-content a[data-lightbox]:not(:has(img)),
body#module-prestablog-blog #prestablogfront .post-content a[rel="lightbox"]:not(:has(img)),
body#module-prestablog-blog #prestablogfront .post-content a.fancybox:not(:has(img)),
body#module-prestablog-blog #prestablogfront .post-content a.zoom:not(:has(img)),
body#module-prestablog-blog #prestablogfront .post-content a.imagebox:not(:has(img)) {
  pointer-events: none !important;
  cursor: default !important;
}


/* --------------------------------------------------------------------------
   9. SUPPRESSION DES ÉLÉMENTS DE MISE EN PAGE INDÉSIRABLES
   Bandes grises, bordures de titre, meta d'article
   -------------------------------------------------------------------------- */

body#module-prestablog-blog #wrapper .post-title-block,
body#module-prestablog-blog #wrapper .blogpost-title,
body#module-prestablog-blog #wrapper .page-heading {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#module-prestablog-blog #wrapper .post-title-block::before,
body#module-prestablog-blog #wrapper .post-title-block::after,
body#module-prestablog-blog #wrapper .blogpost-title::before,
body#module-prestablog-blog #wrapper .blogpost-title::after {
  content: none !important;
}

/* Ligne grise sous le titre */
body#module-prestablog-blog #prestablogfront .post-header,
body#module-prestablog-blog #prestablogfront .post-header::before,
body#module-prestablog-blog #prestablogfront .post-header::after {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  content: none !important;
}

/* Masquer date, catégories et meta */
body#module-prestablog-blog #prestablogfront .prestablogpostinfos,
body#module-prestablog-blog #prestablogfront .post-meta,
body#module-prestablog-blog #prestablogfront .post-info,
body#module-prestablog-blog #prestablogfront .post-author,
body#module-prestablog-blog #prestablogfront .post-category {
  display: none !important;
}


/* --------------------------------------------------------------------------
   10. ANCRES ET SCROLL
   -------------------------------------------------------------------------- */

:target {
  scroll-margin-top: 96px;
}


/* --------------------------------------------------------------------------
   11. MENU CATÉGORIES — BADGES / PILLS
   Sélecteurs exacts : div#prestablog_menu_cat > nav > ul > li > a
   -------------------------------------------------------------------------- */

/* Conteneur principal */
body#module-prestablog-blog #prestablog_menu_cat {
  padding: 10px 12px !important;
  margin: 0 0 1.2em !important;
  background: #f6f7f9;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}

/* Réinitialisation du menu mobile intégré */
body#module-prestablog-blog #prestablog_menu_cat #menu-mobile {
  display: none !important;
}

/* Masquer la pill icône maison (Material Icons) */
body#module-prestablog-blog #prestablog_menu_cat nav ul li:has(i.material-icons) {
  display: none !important;
}

/* Le <ul> devient un conteneur flex wrappant */
body#module-prestablog-blog #prestablog_menu_cat nav ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px 8px;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: none !important;
}

/* Chaque <li> en inline */
body#module-prestablog-blog #prestablog_menu_cat nav ul li {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Les liens = pills — écrase les 18px/padding 18px 20px du thème */
body#module-prestablog-blog #prestablog_menu_cat nav ul li a {
  display: inline-block !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #444 !important;
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

/* Hover */
body#module-prestablog-blog #prestablog_menu_cat nav ul li a:hover {
  background: var(--color-primary, #ec6201) !important;
  color: #fff !important;
  border-color: var(--color-primary, #ec6201) !important;
}

/* Catégorie active */
body#module-prestablog-blog #prestablog_menu_cat nav ul li.active a,
body#module-prestablog-blog #prestablog_menu_cat nav ul li.current a {
  background: var(--color-primary, #ec6201) !important;
  color: #fff !important;
  border-color: var(--color-primary, #ec6201) !important;
}

/* Responsive mobile */
@media (max-width: 576px) {
  body#module-prestablog-blog #prestablog_menu_cat nav ul li a {
    font-size: 11px !important;
    padding: 3px 8px !important;
  }
}


/* --------------------------------------------------------------------------
   12. RESPONSIVE MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 576px) {
  #prestablogfront .post-content {
    padding: 0 12px;
  }

  #prestablogfront h1 {
    font-size: 24px;
  }

  #prestablogfront h2 {
    font-size: 20px;
  }
}