/* ══════════════════════════════════════════════════════════════════
   GATHER THEME — Clean Editorial
   Une seule police (DM Sans), espaces généreux, mobile-first
   ══════════════════════════════════════════════════════════════════ */

/* ── Base ───────────────────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* WP Admin Bar — s'assurer qu'il reste au-dessus et cliquable */
#wpadminbar, #wpadminbar * {
  z-index: 9999999999 !important;
  pointer-events: auto !important;
}
body.admin-bar .wp-site-blocks {
  position: relative;
  z-index: 1;
}

::selection {
  background: var(--wp--preset--color--accent);
  color: #fff;
}

/* ── Header ─────────────────────────────────────────────────────── */
.site-header {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Header — logo + nav alignés au centre vertical */
.site-header.is-layout-flex {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* Logo */
.site-header .site-logo-img {
  margin: 0 !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center;
}

.site-header .site-logo-img figure,
.site-header .site-logo-img a {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
}

.site-header .site-logo-img img {
  height: 44px;
  width: auto;
  display: block;
}

/* Nav */
.site-header .wp-block-navigation {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.wp-block-navigation a {
  position: relative;
  transition: color .2s ease;
  color: var(--wp--preset--color--secondary);
}

.wp-block-navigation a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--wp--preset--color--accent);
  transition: width .25s ease;
}

.wp-block-navigation a:hover::after,
.wp-block-navigation .current-menu-item > a::after {
  width: 100%;
}

.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item > a {
  color: var(--wp--preset--color--secondary) !important;
}

/* Séparateur avant Contact (desktop) */
.nav-contact-link {
  margin-left: 8px !important;
  padding-left: 16px !important;
  border-left: 1px solid #e5e7eb;
}

/* Burger menu : items centrés avec espacement */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding: 40px 32px !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  font-size: 18px !important;
  padding: 12px 0 !important;
}

/* Sur mobile, pas de séparateur sur Contact */
@media (max-width: 768px) {
  .nav-contact-link {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
  }
}

/* ── Hero ───────────────────────────────────────────────────────── */
.hero-section .wp-block-cover__inner-container { position: relative; z-index: 2; }
.hero-title { text-shadow: 0 2px 30px rgba(0,0,0,0.25); }
.section-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
}

/* ── Category Cards (miobar style) ──────────────────────────────── */
.cat-card-img {
  min-height: 500px !important;
  transition: transform .3s ease, box-shadow .3s ease;
  overflow: hidden;
}

.cat-card-img:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

/* Image zoom on hover */
.cat-card-img .wp-block-cover__image-background {
  transition: transform .6s ease;
}
.cat-card-img:hover .wp-block-cover__image-background {
  transform: scale(1.06);
}

/* Gradient overlay : transparent en haut, sombre en bas */
.cat-card-img .wp-block-cover__background {
  background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%) !important;
  opacity: 1 !important;
}

/* Texte en bas à gauche (style miobar) */
/* Cards : hauteur basée sur la largeur du viewport */
.cat-card-img.wp-block-cover {
  aspect-ratio: auto !important;
  min-height: 22vw !important;
}

/* Force inner-container en flex, texte en bas */
div.cat-card-img > div.wp-block-cover__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  height: 100% !important;
  /* Override le constrained layout qui centre tout */
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Le groupe enfant aussi : pas de centrage, aligné à gauche */
div.cat-card-img .wp-block-cover__inner-container > .wp-block-group {
  min-height: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Contenu enfant du constrained : pas de max-width auto-centré */
div.cat-card-img .wp-block-cover__inner-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.cat-card-img h3 {
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.cat-card-img p, .cat-card-img h3 {
  margin-left: 0 !important;
  text-align: left !important;
}

/* Mobile cards catégories */
@media (max-width: 768px) {
  .cat-card-img.wp-block-cover { min-height: 65vw !important; }
  div.cat-card-img > div.wp-block-cover__inner-container { min-height: 65vw !important; padding-bottom: 36px !important; }
}

/* ── Article Cards ──────────────────────────────────────────────── */
.wp-block-latest-posts.is-grid li {
  background: #fff;
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: transform .3s ease, box-shadow .3s ease;
  padding: 0 !important;
}
.wp-block-latest-posts.is-grid li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

/* Images dans les cards */
.wp-block-latest-posts__featured-image { margin-bottom: 0; overflow: hidden; }
.wp-block-latest-posts__featured-image img {
  width: 100%; height: 220px; object-fit: cover;
  transition: transform .4s ease;
}
.wp-block-latest-posts.is-grid li:hover .wp-block-latest-posts__featured-image img {
  transform: scale(1.03);
}
.wp-block-post-featured-image img {
  transition: transform .4s ease;
}

/* Card text */
.wp-block-latest-posts__post-title {
  font-size: 16px; font-weight: 700; line-height: 1.4;
  padding: 16px 16px 0; color: var(--wp--preset--color--secondary);
  display: block; transition: color .2s; text-decoration: none;
}
.wp-block-latest-posts__post-title:hover { color: var(--wp--preset--color--primary); }
.wp-block-latest-posts__post-excerpt {
  padding: 8px 16px 8px; color: var(--wp--preset--color--muted);
  font-size: 15px; line-height: 1.6;
}
.wp-block-latest-posts__post-date {
  padding: 0 16px 16px; color: var(--wp--preset--color--muted);
  font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase;
  margin-top: 10px;
}

/* Query loop article cards */
.article-card {
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  border-radius: 12px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.article-card .wp-block-post-title a {
  text-decoration: none !important;
  color: var(--wp--preset--color--secondary) !important;
  transition: color .2s;
}
.article-card .wp-block-post-title a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* Images articles dans les cards latest-posts */
.wp-block-latest-posts__featured-image {
  margin: 0 !important;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}
.wp-block-latest-posts__featured-image a {
  display: block;
  line-height: 0;
}
.wp-block-latest-posts__featured-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
  transition: transform .4s ease;
  display: block;
}
.wp-block-latest-posts.is-grid li:hover .wp-block-latest-posts__featured-image img {
  transform: scale(1.04);
}

/* Images articles dans les cards query loop */
.article-card .wp-block-post-featured-image {
  overflow: hidden;
  margin: 0 !important;
  border-radius: 12px 12px 0 0;
}
.article-card .wp-block-post-featured-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.article-card:hover .wp-block-post-featured-image img {
  transform: scale(1.04);
}

/* Grille 4 colonnes → 2 sur tablette → 1 sur mobile */
@media (max-width: 1024px) {
  .wp-block-post-template[class*="grid"][class*="columns-4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .wp-block-post-template[class*="grid"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Single Article ─────────────────────────────────────────────── */

/* Image mise en avant : forcer horizontal */
.single .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
}

/* Pas de séparateurs entre les H2 */
.single .wp-block-post-content h2 {
  margin-top: 2.5rem;
  padding-top: 0;
  border-top: none;
}

/* Premier paragraphe légèrement plus grand */
.single .wp-block-post-content > p:first-of-type {
  font-size: 1.1em;
  color: var(--wp--preset--color--muted);
}

/* Points clés à retenir */
.single .wp-block-post-content .key-takeaways {
  background: var(--wp--preset--color--accent);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 2rem 0 2.5rem;
  border-left: none;
}
.single .wp-block-post-content .key-takeaways h3 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}
.single .wp-block-post-content .key-takeaways h3 i {
  color: #fff;
}
.single .wp-block-post-content .key-takeaways ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.single .wp-block-post-content .key-takeaways li {
  position: relative;
  padding: 6px 0 6px 24px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.95);
}
.single .wp-block-post-content .key-takeaways li strong {
  color: #fff;
  font-weight: 600;
}
.single .wp-block-post-content .key-takeaways li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

/* Encadrés conseil/astuce/warning/retenir */
.single .wp-block-post-content .wp-block-quote.is-style-default {
  background: #faf9f6;
  border-left: 4px solid var(--wp--preset--color--accent);
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin: 2rem 0;
  font-style: normal;
  color: var(--wp--preset--color--secondary);
}
.single .wp-block-post-content .wp-block-quote.is-style-default p {
  font-style: normal;
  color: var(--wp--preset--color--secondary);
}

/* Blockquotes (citations) */
.single .wp-block-post-content blockquote:not(.is-style-default) {
  border-left: 3px solid var(--wp--preset--color--accent);
  padding: 1rem 0 1rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--wp--preset--color--muted);
}

/* Liens dans l'article */
.single .wp-block-post-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--wp--preset--color--accent);
}
.single .wp-block-post-content a:hover {
  text-decoration-color: var(--wp--preset--color--secondary);
}

/* Category badge */
.post-category-badge a,
.taxonomy-category a,
.cat-links a {
  font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  text-decoration: none;
}

/* Sommaire */
.article-toc {
  font-family: var(--wp--preset--font-family--body);
  border-radius: 0;
  background: #faf9f6 !important;
  border-left: 3px solid var(--wp--preset--color--accent) !important;
}
.article-toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Author box */
.author-box {
  border-radius: 0;
}
.author-box .wp-block-post-author {
  display: flex !important;
  align-items: center !important;
  gap: 20px;
}
.author-box .wp-block-post-author__avatar {
  flex-shrink: 0;
}
.author-box .wp-block-post-author__avatar img {
  border-radius: 50%;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  display: block;
}
.author-box .wp-block-post-author__content {
  display: flex;
  align-items: center;
}

/* ── Boutons ────────────────────────────────────────────────────── */
.wp-block-button__link {
  transition: all .25s ease;
}
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}
.is-style-outline .wp-block-button__link {
  border: 2px solid currentColor;
  background: transparent;
}

/* ── Footer ─────────────────────────────────────────────────────── */
.site-footer { border-top: none; }

/* ── Separator accent ───────────────────────────────────────────── */
.accent-line {
  width: 60px;
  border-top: 3px solid var(--wp--preset--color--accent);
  margin-left: 0;
}
.accent-line-center {
  width: 60px;
  border-top: 3px solid var(--wp--preset--color--accent);
  margin-left: auto; margin-right: auto;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile first
   ══════════════════════════════════════════════════════════════════ */

/* ── Tablette (max 1024px) ──────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Réduire les paddings des sections */
  .wp-block-group[style*="padding-top:100px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  .wp-block-group[style*="padding-top:80px"] { padding-top: 50px !important; padding-bottom: 50px !important; }
  .wp-block-group[style*="padding-left:48px"] { padding-left: 24px !important; padding-right: 24px !important; }

  /* Hero */
  .wp-block-cover[style*="min-height:600px"] { min-height: 450px !important; }
  .wp-block-group[style*="padding-top:120px"] { padding-top: 80px !important; padding-bottom: 80px !important; }

  /* Grille 2 colonnes au lieu de 3 */
  .wp-block-latest-posts.is-grid { columns: 2 !important; }

  /* Cards catégorie sur 2 colonnes */
  .wp-block-columns:has(.cat-card) { flex-wrap: wrap !important; }
  .wp-block-columns:has(.cat-card) > .wp-block-column { flex-basis: 48% !important; margin-bottom: 16px; }
}

/* ── Mobile (max 768px) ─────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Paddings globaux réduits */
  .wp-block-group[style*="padding-left:40px"] { padding-left: 20px !important; padding-right: 20px !important; }
  .wp-block-group[style*="padding-left:48px"] { padding-left: 16px !important; padding-right: 16px !important; }
  .wp-block-group[style*="padding-top:100px"] { padding-top: 40px !important; padding-bottom: 40px !important; }
  .wp-block-group[style*="padding-top:80px"] { padding-top: 36px !important; padding-bottom: 36px !important; }
  .wp-block-group[style*="padding-top:48px"] { padding-top: 24px !important; }

  /* Hero mobile */
  .wp-block-cover[style*="min-height:600px"] { min-height: 400px !important; }
  .wp-block-group[style*="padding-top:120px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  .hero-title { font-size: 1.8rem !important; }

  /* Header */
  .site-header { padding-left: 16px !important; padding-right: 16px !important; }

  /* Colonnes catégories en 1 colonne */
  .wp-block-columns:has(.cat-card) > .wp-block-column { flex-basis: 100% !important; }
  .cat-card { padding: 24px 20px !important; }

  /* Grille articles en 1 colonne */
  .wp-block-latest-posts.is-grid { columns: 1 !important; }
  .wp-block-post-template[class*="grid"] { grid-template-columns: 1fr !important; }

  /* Article single */
  .single .wp-block-post-featured-image img {
    border-radius: 0;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
  }

  /* Sommaire */
  .article-toc {
    padding: 20px 20px !important;
    margin-bottom: 32px !important;
  }

  /* Boutons hero seulement */
  .hero-section .wp-block-buttons { flex-direction: column !important; }
  .hero-section .wp-block-button { width: 100%; }
  .hero-section .wp-block-button__link { width: 100%; text-align: center; }

  /* Footer mobile : compact, pas de colonnes */
  .site-header + * ~ * .wp-block-columns { flex-direction: column !important; }
  .site-header + * ~ * .wp-block-column { flex-basis: 100% !important; margin-bottom: 32px; }

  /* Footer bouton Contact petit sur mobile */
  footer .wp-block-button__link,
  .has-dark-background-color:last-child .wp-block-button__link {
    font-size: 11px !important;
    padding: 8px 16px !important;
    letter-spacing: 0.5px !important;
  }

  /* Footer flex wrap */
  footer .is-layout-flex,
  .site-footer .is-layout-flex {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  /* Images cards plus petites */
  .wp-block-latest-posts__featured-image img { height: 200px; }

  /* Titres cards */
  .wp-block-latest-posts__post-title { font-size: 16px; padding: 16px 20px 0; }
  .wp-block-latest-posts__post-excerpt { padding: 6px 20px 6px; font-size: 14px; }
  .wp-block-latest-posts__post-date { padding: 0 20px 16px; }
}

/* ── Petit mobile (max 480px) ───────────────────────────────────── */
@media (max-width: 480px) {
  .hero-title { font-size: 1.5rem !important; }
  .wp-block-cover[style*="min-height"] { min-height: 320px !important; }
  body { font-size: 16px; }
}
