/*
Theme Name: La Pie Verte
Author: domclic.fr
Author URI: http://domclic.fr/
Description: A theme for the organisation https://lapieverte.fr/
Version: 2.0.24
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: block-theme, full-site-editing, lapieverte
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* Gallery — establish BFC to prevent margin collapse eating parent padding */
.wp-block-gallery {
  padding-bottom: 10px;
  display: flow-root;
}

/* Prevent gallery negative gutters from collapsing post padding */
.wp-block-post.format-gallery {
  overflow: hidden;
}

/* Prevent first/last child margin collapse inside padded containers */
.wp-block-post-content > *:first-child,
.wp-block-group > *:first-child {
  margin-top: 0;
}
.wp-block-post-content > *:last-child,
.wp-block-group > *:last-child {
  margin-bottom: 0;
}

/* File block */
.wp-block-file > a:first-of-type {
  color: #2e7d32;
  font-weight: 600;
  text-decoration: none;
}

.wp-block-file__button {
  color: #fff;
  font-weight: 600;
}

.wp-block-file__button:hover {
  background-color: #1b5e20;
  color: #fff;
}

/* Utility */
.vert {
  color: green;
  font-weight: bold;
}

/* Post item border separation */
.wp-block-post-template .wp-block-post {
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

/* Post date */
.wp-block-post-date {
  margin-bottom: 1.25rem;
}

/* Post excerpt */
.wp-block-post-excerpt {
  text-align: justify;
}

/* Post format: aside / actus — light box style */
.wp-block-post.format-aside,
.wp-block-post.format-status {
  background-color: #f5f5f5;
  border-radius: 4px;
  padding: 1rem;
  text-align: center;
}

.wp-block-post.format-aside .wp-block-post-title a,
.wp-block-post.format-status .wp-block-post-title a {
  color: #008000;
  font-weight: bold;
}

/* Single aside post (body class) */
body.format-aside .wp-block-post-content,
body.format-status .wp-block-post-content {
  background-color: #f5f5f5;
  border-radius: 4px;
  padding: 1.5rem;
}

/* Post format: gallery — dark background */
.wp-block-post.format-gallery {
  background-color: #333;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
}

.wp-block-post.format-gallery .wp-block-post-title a,
.wp-block-post.format-gallery .wp-block-post-date,
.wp-block-post.format-gallery .wp-block-post-date a {
  color: #fff;
}

/* Single gallery post */
body.format-gallery .entry-title,
body.format-gallery h1.wp-block-post-title {
  color: #fff;
}

body.format-gallery .wp-block-post-content {
  background-color: #333;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
}

/* Programme category tarifs block */
.post-programme {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 2rem;
}

/* Nav bar — 10px margins on each side with rounded corners.
   Uses inline style attribute to reliably target the green bar
   regardless of whether the header uses <header> tag or a <div>. */
.wp-block-group.has-background[style*="background-color:#008000"] {
  margin-left: 10px !important;
  margin-right: 10px !important;
  border-radius: 10px !important;
}

/* Fix flex gap between nav items */
:root :where(.is-layout-flex) {
  gap: 5px;
  row-gap: 5px;
  column-gap: 5px;
}

/* Switch to mobile hamburger menu at ≤610px */
@media (max-width: 610px) {
  .wp-block-navigation__container {
    display: none !important;
  }
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
}

@media (min-width: 611px) {
  .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
    display: none !important;
  }
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
}

/* Left/right padding on all screen sizes */
main.wp-block-group,
.wp-block-post-content,
.wp-block-query {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* ==============================
   NAVIGATION — desktop
   ============================== */

/* Base link style and transition */
.wp-block-navigation .wp-block-navigation-item__content {
  padding: 5px 10px !important;
  border-radius: 3px;
  transition: background-color 0.2s ease, color 0.2s ease;
  margin: 3px;
}

/* Desktop hover — semi-transparent white over green */
.wp-block-navigation:not(.has-background) .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

/* Parent of active item (e.g. Activités when a child page is current) */
.wp-block-navigation .nav-current-parent > .wp-block-navigation-item__content {
  background-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

.wp-block-navigation .nav-current-parent > .wp-block-navigation-item__content:hover {
  background-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
}

/* Mobile overlay — parent of active item */
.wp-block-navigation__responsive-container.is-menu-open .nav-current-parent > .wp-block-navigation-item__content {
  background-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

/* Active / current page */
.wp-block-navigation .nav-current > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_item > .wp-block-navigation-item__content {
  background-color: #f0f4f0 !important;
  color: #008000 !important;
}

/* Active item hover */
.wp-block-navigation .nav-current > .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation .current_page_item > .wp-block-navigation-item__content:hover {
  background-color: #e4ede4 !important;
  color: #008000 !important;
}

/* ==============================
   NAVIGATION — submenu (Activités dropdown)
   ============================== */

.wp-block-navigation__submenu-container {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 3px;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:visited {
  color: #333 !important;
  padding: 6px 14px !important;
  background-color: transparent !important;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
  background-color: #f0f4f0 !important;
  color: #008000 !important;
}

/* ==============================
   NAVIGATION — mobile overlay
   ============================== */

/* Overlay background — keep green like the navbar */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: #008000 !important;
}

/* Links in overlay — white text */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #fff !important;
}

/* Hover in overlay — slightly darker green */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
  background-color: rgba(0, 0, 0, 0.2) !important;
  color: #fff !important;
}

/* Submenu inside mobile overlay — slightly darker green, white text */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  background-color: #006800 !important;
  border: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: #fff !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background-color: rgba(0, 0, 0, 0.2) !important;
  color: #fff !important;
}

/* Close button in overlay */
.wp-block-navigation__responsive-container-close {
  color: #fff !important;
}

/* Active item in mobile overlay — must override the white text rule above.
   Uses higher specificity (3 classes vs 2) to win the !important tie.
   #1b5e20 on #f0f4f0 = 8.0:1 contrast ratio (WCAG AAA) */
.wp-block-navigation__responsive-container.is-menu-open .nav-current > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .current_page_item > .wp-block-navigation-item__content {
  background-color: #f0f4f0 !important;
  color: #1b5e20 !important;
}

/* Active item hover in mobile overlay */
.wp-block-navigation__responsive-container.is-menu-open .nav-current > .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .current_page_item > .wp-block-navigation-item__content:hover {
  background-color: #e4ede4 !important;
  color: #1b5e20 !important;
}

/* Mobile overlay menu items */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: block !important;        /* ensure links are block-level for easy tapping */
  color: #fff !important;           /* white text on green background */
  padding: 12px 20px !important;    /* bigger touch area */
  text-align: left;                 /* left-align links for readability */
  border-bottom: 1px solid rgba(255,255,255,0.2); /* optional separator */
}

/* Remove any inherited flex behavior that can shrink items */
.wp-block-navigation__responsive-container.is-menu-open ul,
.wp-block-navigation__responsive-container.is-menu-open li {
  display: block !important;
  width: 100% !important;
}