/* ==========================================================
   RPI Trélévern — custom.css
   Styles non gérés par theme.json
   ========================================================== */


/* === HEADER STICKY === */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
  z-index: 50;
  transition: all 200ms ease;
}

/* Compensation du header fixe */
.wp-site-blocks {
  padding-top: 0;
}


/* === HERO GRADIENT === */
.hero-section {
  background: linear-gradient(to bottom right, #38BDF8, #60A5FA, #22D3EE);
  position: relative;
  overflow: visible;
  margin-bottom: 0 !important;
}

/* Cercle décoratif haut-gauche */
.hero-section::before {
  content: '';
  position: absolute;
  top: 2.5rem;
  left: 2.5rem;
  width: 18rem;
  height: 18rem;
  background-color: #FDE047; /* yellow-300 */
  border-radius: 9999px;
  filter: blur(64px);
  opacity: 0.1;
  pointer-events: none;
}

/* Cercle décoratif bas-droite */
.hero-section::after {
  content: '';
  position: absolute;
  bottom: 2.5rem;
  right: 2.5rem;
  width: 24rem;
  height: 24rem;
  background-color: #86EFAC; /* green-300 */
  border-radius: 9999px;
  filter: blur(64px);
  opacity: 0.1;
  pointer-events: none;
}

/* Badge rotatif */
.hero-badge-rotated {
  display: inline-block;
  transform: rotate(-2deg);
}

/* Vague SVG en bas du hero — full-bleed en flux normal */
.hero-wave {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 100vw;
  line-height: 0;
  margin-top: 2rem;
  margin-bottom: -2px;
}
.hero-wave svg {
  width: 100%;
  height: auto;
  display: block;
}


/* === HOVER EFFECTS === */
/* Cartes avec lift au hover (Projects, Sites) */
.card-hover-lift {
  transition: all 300ms ease;
}
.card-hover-lift:hover {
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  transform: translateY(-0.25rem);
}

/* Cartes avec shadow transition (Outdoor, classes) */
.card-hover-shadow {
  transition: box-shadow 300ms ease;
}
.card-hover-shadow:hover {
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
}

/* Boutons avec scale */
.btn-hover-scale {
  transition: all 300ms ease;
}
.btn-hover-scale:hover {
  transform: scale(1.05);
}


/* === NAVIGATION === */

/* Z-index header au-dessus de tout */
.site-header {
  z-index: 9999 !important;
}

/* Dropdowns desktop */
.wp-block-navigation .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-container {
  border-radius: 0.5rem;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  overflow: hidden;
  min-width: 12rem;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  padding: 0.75rem 1rem;
  color: #374151;
  transition: all 150ms ease;
  white-space: nowrap;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background-color: #EFF6FF;
  color: #2563EB;
}
.wp-block-navigation-item.has-child.nav-classes .wp-block-navigation__submenu-container {
  min-width: 16rem;
}
.nav-site-separator {
  padding: 0.5rem 1rem;
  background-color: #EFF6FF;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1E3A8A;
}

/* ——————————————————————
   Desktop ≥ 1024px : menu inline, cacher hamburger
—————————————————————— */
@media (min-width: 1024px) {
  .site-header .wp-block-navigation__responsive-container-open,
  .site-header .wp-block-navigation__responsive-container-close {
    display: none !important;
  }
  .site-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
    display: flex !important;
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    height: auto !important;
    width: auto !important;
  }
  .site-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open)
    .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 1.5rem;
  }
}

/* ——————————————————————
   Mobile/Tablette < 1024px : hamburger
—————————————————————— */
@media (max-width: 1023px) {
  /* Cacher les items inline */
  .site-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
    display: none !important;
  }
  /* Bouton hamburger visible et tappable */
  .site-header .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #1E3A8A;
    cursor: pointer;
    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem;
  }
}

/* Panneau overlay (menu ouvert) */
.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;          /* top/right/bottom/left = 0 */
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 5rem 1.5rem 2rem !important;
  transform: none !important;
  z-index: 9998 !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow-y: auto;
  overflow-x: hidden;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
}
/* Contenu de l'overlay : full-width pour centrage correct */
.wp-block-navigation__responsive-container.is-menu-open
  > .wp-block-navigation__responsive-container-content {
  width: 100% !important;
  max-width: 24rem;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
}
.wp-block-navigation__responsive-container.is-menu-open
  > .wp-block-navigation__responsive-container-content
  > .wp-block-navigation__container {
  width: 100% !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
}
/* Liens principaux dans l'overlay */
.wp-block-navigation__responsive-container.is-menu-open
  > .wp-block-navigation__responsive-container-content
  > .wp-block-navigation__container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  padding: 0.875rem 1.5rem !important;
  border-bottom: 1px solid #F3F4F6;
  display: block;
  text-align: center;
  text-decoration: none;
}
/* Sous-menus dans l'overlay */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: #4B5563 !important;
  padding: 0.625rem 1.5rem !important;
  text-align: center;
}
/* Bouton fermer (×) — visible seulement quand l'overlay est ouvert */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close {
  position: fixed !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 10000 !important;
  color: #1E3A8A !important;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Sous-menus dans l'overlay : déployés en liste (pas en dropdown) */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container {
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  box-shadow: none !important;
  background: transparent !important;
  min-width: auto !important;
  border-radius: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item.has-child {
  position: static !important;
}
/* Flèche toggle : cacher dans l'overlay (tout est affiché d'emblée) */
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle {
  display: none !important;
}


/* === FORMULAIRE CONTACT === */
/* CF7 — groupes de champs : espacement vertical */
.wpcf7-form p {
  margin-bottom: 1.25rem;
}
.wpcf7-form p:last-child {
  margin-bottom: 0;
}

/* CF7 — span wrapper pleine largeur */
.wpcf7-form span.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.contact-form input,
.contact-form textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  border: 2px solid #E5E7EB; /* gray-200 */
  border-radius: 0.5rem;
  outline: none;
  transition: all 200ms ease;
  font-family: inherit;
  font-size: 1rem;
  background-color: #FFFFFF;
}

.contact-form input:focus,
.contact-form textarea:focus,
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
  border-color: #3B82F6; /* blue-500 */
  box-shadow: 0 0 0 2px #BFDBFE; /* ring-2 ring-blue-200 */
}

.contact-form label,
.wpcf7-form label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151; /* gray-700 */
  margin-bottom: 0.5rem;
}

.contact-form textarea,
.wpcf7-form textarea {
  resize: none;
  min-height: 6rem;
}

.contact-form .submit-btn,
.wpcf7-form input[type="submit"] {
  width: 100%;
  background: linear-gradient(to right, #3B82F6, #06B6D4);
  color: white;
  font-weight: 700;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1);
  transition: all 300ms ease;
  font-size: 1rem;
}

.contact-form .submit-btn:hover,
.wpcf7-form input[type="submit"]:hover {
  background: linear-gradient(to right, #2563EB, #0891B2);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  transform: scale(1.05);
}


/* === JOURNÉE TYPE — TIMELINE === */
.timeline-item {
  padding-left: 1rem;
  border-left-width: 4px;
  border-left-style: solid;
}
.timeline-blue   { border-left-color: #2563EB; } /* TPS/PS */
.timeline-purple { border-left-color: #9333EA; } /* MS/GS */
.timeline-green  { border-left-color: #16A34A; } /* GS/CP */
.timeline-orange { border-left-color: #EA580C; } /* CE1/CE2 */
.timeline-teal   { border-left-color: #0D9488; } /* CM1/CM2 */


/* === FOOTER === */
.footer-links a {
  color: #9CA3AF;
  text-decoration: none;
  transition: color 150ms ease;
}
.footer-links a:hover {
  color: #FFFFFF;
}

.footer-values li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.footer-bullet {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  flex-shrink: 0;
}


/* === UTILITIES === */
/* Backdrop blur pour les encarts translucides (hero badges, APE kermesse) */
.backdrop-blur-card {
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Badge pills */
.badge-pill {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.875rem;
}

/* Colored bullets */
.bullet-blue   { background-color: #60A5FA; }
.bullet-green  { background-color: #4ADE80; }
.bullet-yellow { background-color: #FACC15; }
.bullet-orange { background-color: #FB923C; }
.bullet-pink   { background-color: #F472B6; }

.bullet-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  display: inline-block;
  flex-shrink: 0;
}

/* Checkmark SVG dans liste bienfaits */
.check-circle {
  background-color: #22C55E; /* green-500 */
  color: white;
  border-radius: 9999px;
  padding: 0.25rem;
  flex-shrink: 0;
  margin-top: 0.25rem;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Enrollment numéros circulaires */
.step-number {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

/* Gradients de bandeau CTA */
.gradient-blue-cyan   { background: linear-gradient(to right, #3B82F6, #06B6D4); }
.gradient-orange-pink { background: linear-gradient(to right, #FB923C, #F472B6); }
.gradient-rose-pink   { background: linear-gradient(to right, #E11D48, #EC4899); }
.gradient-green-emerald { background: linear-gradient(to right, #22C55E, #10B981); }

/* Gradients des pages de classes (diagonal) */
.gradient-classe-tps-ps  { background: linear-gradient(to bottom right, #F43F5E, #E11D48); }
.gradient-classe-ms-gs   { background: linear-gradient(to bottom right, #3B82F6, #2563EB); }
.gradient-classe-gs-cp   { background: linear-gradient(to bottom right, #10B981, #059669); }
.gradient-classe-ce1-ce2 { background: linear-gradient(to bottom right, #A855F7, #9333EA); }
.gradient-classe-cm1-cm2 { background: linear-gradient(to bottom right, #0D9488, #0F766E); }

/* Section outdoor — fond vert pastel */
.section-outdoor {
  background: linear-gradient(to bottom right, #F0FDF4, #ECFDF5);
}

/* Section contact/schedule — fond bleu pastel */
.section-blue-light {
  background: linear-gradient(to bottom right, #EFF6FF, #ECFEFF);
}

/* Responsive — Compensation header sticky */
@media (min-width: 640px) {
  .site-header__title-group {
    display: flex;
    flex-direction: column;
  }
}

/* Espacement body pour header fixe */
body {
  padding-top: 0;
}

/* Fix liste sans puces natives dans footer */
.footer-links,
.footer-values {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* === BOUTON FLOTTANT INSCRIPTIONS === */
.fab-inscriptions {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 9990;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: linear-gradient(135deg, #EA580C, #F97316);
  color: #FFFFFF !important;
  text-decoration: none !important;
  padding: 1rem 1.75rem;
  border-radius: 9999px;
  font-weight: 800;
  font-size: 1.0625rem;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 28px rgba(234, 88, 12, 0.5), 0 2px 8px rgba(0,0,0,0.15);
  transition: transform 200ms ease, box-shadow 200ms ease;
  white-space: nowrap;
}
.fab-inscriptions:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 16px 40px rgba(234, 88, 12, 0.6), 0 4px 12px rgba(0,0,0,0.2);
}
.fab-inscriptions:active {
  transform: translateY(0) scale(0.97);
}
/* Sur mobile : icône seule, label masqué */
@media (max-width: 639px) {
  .fab-inscriptions {
    padding: 1rem;
    bottom: 1.25rem;
    right: 1.25rem;
  }
  .fab-inscriptions__label {
    display: none;
  }
}

/* === FEATURE CARDS — icône + titre visible, texte révélé au hover === */
.feature-card {
  cursor: pointer;
  transition: box-shadow 250ms ease, transform 200ms ease;
}
.feature-card:hover {
  box-shadow: 0 20px 40px -8px rgba(0,0,0,.15) !important;
  transform: translateY(-2px);
}
.feature-card__desc {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transition: max-height 350ms ease, opacity 300ms ease, margin-top 300ms ease;
}
.feature-card:hover .feature-card__desc,
.feature-card:focus-within .feature-card__desc {
  max-height: 8rem;
  opacity: 1;
  margin-top: 0.5rem !important;
}
/* Sur mobile : texte toujours visible (pas de hover) */
@media (hover: none) {
  .feature-card__desc {
    max-height: none !important;
    opacity: 1 !important;
    margin-top: 0.5rem !important;
  }
}
/* Grille 2 colonnes feature-cards : 1 colonne sur petit mobile */
@media (max-width: 480px) {
  .feature-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === PLACEHOLDER PHOTOS === */
.img-placeholder {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  transition: border-color 200ms ease, background 200ms ease;
}
.img-placeholder:hover {
  border-color: #3B82F6 !important;
  background: #EFF6FF !important;
  cursor: pointer;
}


/* ============================================================
   ACTUALITÉS / BLOG
   ============================================================ */

/* Bannière titre pages actualités / archive */
.news-banner {
  background: linear-gradient(135deg, #3B82F6, #06B6D4);
}
.news-banner h1,
.news-banner h2 {
  color: #FFFFFF !important;
}
.news-banner p {
  color: rgba(255, 255, 255, 0.9);
}
/* Lien retour archive */
.news-banner a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
  text-decoration: none;
}
.news-banner a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

/* Barre de filtrage par catégories */
.news-filter ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-filter ul li a {
  display: inline-block;
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  background: #F3F4F6;
  text-decoration: none;
  transition: background 200ms ease, color 200ms ease;
  border: 1.5px solid #E5E7EB;
}
.news-filter ul li a:hover,
.news-filter ul li.current-cat a {
  background: #3B82F6;
  color: #FFFFFF;
  border-color: #3B82F6;
}

/* Carte article */
.news-card {
  background: #FFFFFF;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);
  position: relative; /* ancre pour le stretched-link */
}
/* Toute la carte est cliquable (ouvre l'article) */
.news-card__title a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
/* Les autres liens restent cliquables par-dessus l'overlay */
.news-card__category a,
.news-card__read-more a,
.news-card .wp-block-post-featured-image a {
  position: relative;
  z-index: 2;
}
.news-card .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.75rem 0.75rem 0 0;
}
/* Placeholder si pas d'image à la une */
.news-card .wp-block-post-featured-image:empty::after {
  content: '';
  display: block;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #EFF6FF, #ECFEFF);
}

/* Méta (date + catégorie) */
.news-card__meta {
  font-size: 0.8125rem !important;
  color: #6B7280 !important;
}
.news-card__category {
  font-size: 0.8125rem !important;
}
.news-card__category a {
  color: #3B82F6 !important;
  text-decoration: none;
  font-weight: 500;
}

/* Titre */
.news-card__title a {
  text-decoration: none;
  color: #111827 !important;
  transition: color 200ms ease;
}
.news-card__title a:hover {
  color: #3B82F6 !important;
}

/* Extrait */
.news-card__excerpt p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #4B5563;
  margin: 0;
}

/* Lien « Lire la suite » */
.news-card__read-more a {
  color: #3B82F6 !important;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.875rem;
}
.news-card__read-more a:hover {
  text-decoration: underline;
}

/* Pagination blog */
.news-pagination {
  margin-top: 3rem;
}
.news-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 0.375rem;
  flex-wrap: wrap;
  justify-content: center;
}
.news-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  background: #F3F4F6;
  text-decoration: none;
  border: 1.5px solid #E5E7EB;
  transition: all 200ms ease;
}
.news-pagination .page-numbers.current,
.news-pagination .page-numbers:hover {
  background: #3B82F6;
  color: #FFFFFF;
  border-color: #3B82F6;
}
.news-pagination .wp-block-query-pagination-previous a,
.news-pagination .wp-block-query-pagination-next a {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 1rem;
  border-radius: 0.5rem;
  color: #374151;
  background: #F3F4F6;
  border: 1.5px solid #E5E7EB;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 200ms ease;
}
.news-pagination .wp-block-query-pagination-previous a:hover,
.news-pagination .wp-block-query-pagination-next a:hover {
  background: #3B82F6;
  color: #FFFFFF;
  border-color: #3B82F6;
}

/* === ARTICLE INDIVIDUEL === */

.single-post__hero img {
  border-radius: 0.75rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 2rem;
}
.single-post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  color: #6B7280;
  margin-bottom: 0.75rem;
}
.single-post__meta a {
  color: #3B82F6;
  text-decoration: none;
  font-weight: 500;
}
.single-post__meta a:hover {
  text-decoration: underline;
}

/* Contenu de l'article (prose) */
.single-post-content p {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #374151;
  margin-bottom: 1.25rem;
}
.single-post-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin: 2rem 0 1rem;
}
.single-post-content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
  margin: 1.5rem 0 0.75rem;
}
.single-post-content ul,
.single-post-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
  color: #374151;
  line-height: 1.75;
}
.single-post-content img {
  border-radius: 0.5rem;
  max-width: 100%;
  height: auto;
  margin: 1.5rem 0;
}
.single-post-content blockquote {
  border-left: 4px solid #3B82F6;
  padding: 0.75rem 1.25rem;
  margin: 1.5rem 0;
  background: #EFF6FF;
  border-radius: 0 0.5rem 0.5rem 0;
  font-style: italic;
  color: #1E40AF;
}

/* Navigation article précédent / suivant */
.single-post-nav {
  border-top: 1px solid #E5E7EB;
  padding-top: 2rem;
  margin-top: 3rem;
}
.single-post-nav a {
  color: #3B82F6;
  font-weight: 600;
  text-decoration: none;
}
.single-post-nav a:hover {
  text-decoration: underline;
}

/* ============================================================
   RESPONSIVE GLOBAL
   ============================================================ */

/* Empêcher le défilement horizontal (sur body seulement — html doit rester sans overflow pour ne pas casser position:fixed) */
body {
  overflow-x: hidden;
}

/* Grille articles : 3 → 2 → 1 colonne */
@media (max-width: 1023px) {
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Cercles décoratifs hero réduits */
  .hero-section::before { width: 10rem; height: 10rem; }
  .hero-section::after  { width: 14rem; height: 14rem; }
  /* Nav prev/next article */
  .single-post-nav { flex-wrap: wrap; }
}

@media (max-width: 639px) {
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: 1fr !important;
  }
  /* Hero compact */
  .hero-section { padding-top: 5rem !important; }
  .hero-section::before { width: 6rem; height: 6rem; top: 1rem; left: 1rem; }
  .hero-section::after  { width: 8rem; height: 8rem; bottom: 1rem; right: 1rem; }
  /* Masquer sous-titre header */
  .site-header__title-group p { display: none; }
  /* Sections outdoor */
  .section-outdoor { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  /* Bannières actualités */
  .news-banner { padding-top: 5rem !important; padding-bottom: 2rem !important; }
  /* Filtre catégories */
  .news-filter ul li a { font-size: 0.8125rem; padding: 0.25rem 0.75rem; }
  /* Pagination */
  .news-pagination .page-numbers { min-width: 2rem; height: 2rem; font-size: 0.8125rem; }
  /* Nav article en colonne */
  .single-post-nav { flex-direction: column !important; gap: 0.75rem; }
  /* Titre article */
  .wp-block-post-title { font-size: 1.75rem !important; }
  /* Bannières CTA */
  .gradient-blue-cyan h3,
  .gradient-orange-pink h3,
  .gradient-rose-pink h3,
  .gradient-green-emerald h3 { font-size: 1.5rem !important; }
}

@media (max-width: 399px) {
  .wp-block-site-title a { font-size: 1rem !important; }
}

/* Désactiver les transforms sur appareils tactiles */
@media (hover: none) {
  .btn-hover-scale:hover  { transform: none !important; }
  .card-hover-lift:hover  { transform: none !important; box-shadow: 0 1px 3px rgba(0,0,0,.1) !important; }
  .card-hover-shadow:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,.1) !important; }
}
