/*
Theme Name: garef-theme
Theme URI: 
Author: Whodunit
Author URI: https://whodunit.fr
Description: Theme enfant de Twenty Twenty Five pour Garef
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: garef-theme
Tags: 
*/

:root :where(.wp-block-button .wp-block-button__link):hover,
:root :where(.wp-block-button.is-style-outline--2 .wp-block-button__link):hover,
input#gform_submit_button_2:hover {
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--contrast) 85%,
    white
  ) !important;
}

.yoast-breadcrumbs {
  font-size: 0.75rem;
  line-height: 1.4;
  padding: 20px 0;
}

.yoast-breadcrumbs > span,
.yoast-breadcrumbs > span > span {
  display: inline-flex;
  align-items: center;
}

.yoast-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.yoast-breadcrumbs a:hover {
  text-decoration: underline;
}

.yoast-breadcrumbs > span > span {
  padding: 0 0.75rem;
}

.yoast-breadcrumbs > span > span:first-child {
  padding-left: 0;
}

.yoast-breadcrumbs > span > .breadcrumb_last {
  padding-right: 0;
}
footer.wp-block-template-part {
  margin-block-start: 0;
}

ol.wp-block-list li {
  margin-left: 3rem;
}

ol.wp-block-list li::marker {
  font-family: "Cascadia Code", monospace;
  color: #318cc9;
  font-size: 28px;
}

li.wp-block-navigation-item.current-menu-item.wp-block-navigation-link a {
  text-decoration: underline;
}

/* 1) Préparer le compteur sur la boucle */
.wp-block-query .wp-block-post-template {
  counter-reset: post-index;
}
.wp-block-query .wp-block-post-template > li.wp-block-post {
  counter-increment: post-index;
}

/* 2) Style commun */
.wp-block-query .wp-block-post .post-index,
.wp-block-query .wp-block-post .post-index::before {
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  color: var(--wp--preset--color--accent-1);
}

/* 3) En front: masquer le texte placeholder et afficher le numéro auto */
.wp-block-query .wp-block-post .post-index {
  position: relative;
  /* Visuellement on remplace le texte par ::before */
  color: transparent !important; /* masque la couleur du texte saisi */
}
.wp-block-query .wp-block-post .post-index::before {
  content: counter(post-index, decimal-leading-zero);
  display: inline-block;
  min-width: 2ch;
  /* Mise en forme éventuelle */
  color: var(--wp--preset--color--accent-1); /* la vraie couleur visible */
}

/* Optionnel: badge/spacing */
.wp-block-query .wp-block-post .post-index,
.wp-block-query .wp-block-post .post-index::before {
  display: inline-block;
  margin-right: 0.5rem;
}
/* Dans l’éditeur uniquement, on montre le contenu saisi et on neutralise le ::before */
.editor-styles-wrapper .wp-block-query .wp-block-post .post-index {
  color: inherit;
}
.editor-styles-wrapper .wp-block-query .wp-block-post .post-index::before {
  content: none;
}

/* Bloc Média et texte – arrondi image */
.wp-block-media-text .wp-block-media-text__media img,
.wp-block-media-text .wp-block-media-text__media video {
  border-radius: 12px;
  overflow: hidden; /* utile si l’élément parent a un fond ou un masque */
  display: block; /* évite d’éventuels espaces baselines */
}
/* Éditeur */
.editor-styles-wrapper .wp-block-media-text .wp-block-media-text__media img,
.editor-styles-wrapper .wp-block-media-text .wp-block-media-text__media video {
  border-radius: 12px;
}

.wp-block-navigation
  .has-child
  .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content {
  text-transform: initial;
}

.wp-block-group.is-style-blanc .is-style-outline-with-icon a {
  background-color: transparent !important;
  color: var(--wp--preset--color--contrast) !important;
  border-color: var(--wp--preset--color--contrast) !important;
}

.wp-block-group.is-style-blanc .is-style-outline-with-icon a::before {
  content: "" !important;
  display: inline-block !important;
  width: 9px !important;
  height: 10px !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
  background-image: url('data:image/svg+xml;utf8,<svg width="9" height="10" viewBox="0 0 9 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.125 4.38657C8.40278 4.54695 8.40278 4.94789 8.125 5.10826L0.625 9.43839C0.347222 9.59876 -1.40204e-08 9.39829 0 9.07754L3.78552e-07 0.417288C3.92572e-07 0.0965378 0.347223 -0.103931 0.625 0.0564445L8.125 4.38657Z" fill="%231D1D1B"/></svg>') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.wp-block-group.is-style-blanc .is-style-outline-with-icon a:hover {
  background-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base) !important;
}

.wp-block-group.is-style-blanc .is-style-outline-with-icon a:hover::before {
  background-image: url('data:image/svg+xml;utf8,<svg width="9" height="10" viewBox="0 0 9 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.125 4.38657C8.40278 4.54695 8.40278 4.94789 8.125 5.10826L0.625 9.43839C0.347222 9.59876 -1.40204e-08 9.39829 0 9.07754L3.78552e-07 0.417288C3.92572e-07 0.0965378 0.347223 -0.103931 0.625 0.0564445L8.125 4.38657Z" fill="%23ffffff"/></svg>') !important;
}

.wp-block-group.is-style-blanc
  .is-style-bandeau-contrast-base
  .is-style-outline-with-icon
  a:hover::before {
  background-image: url('data:image/svg+xml;utf8,<svg width="9" height="10" viewBox="0 0 9 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.125 4.38657C8.40278 4.54695 8.40278 4.94789 8.125 5.10826L0.625 9.43839C0.347222 9.59876 -1.40204e-08 9.39829 0 9.07754L3.78552e-07 0.417288C3.92572e-07 0.0965378 0.347223 -0.103931 0.625 0.0564445L8.125 4.38657Z" fill="%231D1D1B"/></svg>') !important;
}

.wp-block-group.is-style-bandeau-contrast-base
  .wp-block-buttons
  .wp-block-button:not(.is-style-outline).is-style-outline-with-icon
  a:hover {
  background-color: rgba(255, 255, 255, 0.9) !important;
}

.taxonomy-post_tag a {
  pointer-events: none;
  border: 1px solid var(--primary-Blue, rgba(49, 140, 201, 1));
  border-radius: 70px;
  font-weight: 800;
}

.taxonomy-post_tag a:hover {
  text-decoration: none;
  color: inherit;
}

.wp-grid-builder .wpgb-card-11 .wpgb-block-1 .wpgb-block-term {
  pointer-events: none;
  font-weight: 800 !important;
  font-size: 0.88rem;
}

.wp-grid-builder .wpgb-card-11 .wpgb-block-1 .wpgb-block-term:hover {
  text-decoration: none;
}

.wpgb-masonry .wpgb-card time {
  font-size: 0.88rem !important;
}

/* PAGINATION */
.wpgb-facet.wpgb-style-2 .wpgb-pagination .wpgb-page > a {
  font-family: "Cascadia Code", serif;
}

/* Hide the default arrow text more aggressively */
.wpgb-pagination .wpgb-page-prev a,
.wpgb-pagination .wpgb-page-next a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0;
  overflow: hidden;
}

/* Add the previous arrow SVG */
.wpgb-pagination .wpgb-page-prev a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  text-indent: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.54834 11.4751C5.42253 11.4751 5.30246 11.4222 5.21729 11.3296L0.568848 6.26709C0.410794 6.09496 0.410793 5.82984 0.568848 5.65771L5.21729 0.595215C5.30246 0.502629 5.42253 0.44975 5.54834 0.449707C5.67434 0.449707 5.79515 0.502403 5.88037 0.595215L6.77197 1.56689C6.92955 1.73897 6.92972 2.00331 6.77197 2.17529L4.33838 4.82568H14.3999C14.6484 4.82568 14.8501 5.02735 14.8501 5.27588V6.64893C14.8501 6.76827 14.8026 6.8829 14.7183 6.96729C14.6339 7.05168 14.5192 7.09912 14.3999 7.09912H4.33838L6.77197 9.74951C6.92972 9.92149 6.92955 10.1858 6.77197 10.3579L5.88037 11.3296L5.81006 11.3911C5.73436 11.4452 5.64289 11.4751 5.54834 11.4751Z' fill='%23318CC9' stroke='%23318CC9' stroke-width='0.9' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Add the next arrow SVG */
.wpgb-pagination .wpgb-page-next a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 12px;
  text-indent: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.75146 0.449707C9.87728 0.44975 9.99735 0.502629 10.0825 0.595215L14.731 5.65771C14.889 5.82984 14.889 6.09496 14.731 6.26709L10.0825 11.3296C9.99735 11.4222 9.87728 11.4751 9.75146 11.4751C9.62546 11.4751 9.50466 11.4224 9.41943 11.3296L8.52783 10.3579C8.37025 10.1858 8.37008 9.92149 8.52783 9.74951L10.9614 7.09912H0.899902C0.651374 7.09912 0.449707 6.89745 0.449707 6.64893V5.27588C0.449707 5.15654 0.497162 5.04191 0.581543 4.95752C0.665934 4.87313 0.780555 4.82568 0.899902 4.82568H10.9614L8.52783 2.17529C8.37008 2.00331 8.37025 1.73897 8.52783 1.56689L9.41943 0.595215L9.48975 0.533691C9.56544 0.479627 9.65691 0.449707 9.75146 0.449707Z' fill='%23318CC9' stroke='%23318CC9' stroke-width='0.9' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.wpgb-pagination .wpgb-page-next a,
.wpgb-pagination .wpgb-page-prev a {
  top: 5px;
  padding-right: 24px !important;
  padding-left: 10px !important;
}

/* GALLERY */
.wp-block-gallery.has-nested-images
  figure.wp-block-image:has(figcaption)::before {
  display: none !important;
}

.wp-block-gallery figure.wp-block-image {
  display: flex !important;
  flex-direction: column !important; /* Pas de reverse ! */
  flex-wrap: nowrap !important;
}

.wp-block-gallery figure.wp-block-image img {
  order: 1 !important;
  margin-bottom: 0 !important;
}

.wp-block-gallery figure.wp-block-image figcaption.wp-element-caption {
  order: 2 !important;
  margin-top: 0px !important;
  position: relative !important; /* Au cas où il y a du absolute */
  top: auto !important;
  bottom: auto !important;
  background: transparent !important;
  color: inherit !important;
  text-shadow: none !important;
  text-align: left !important;
  padding-left: 0 !important;
}

.wp-block-group.is-style-blanc img,
.wp-block-group.is-style-blanc .wp-block-image img {
  border-radius: 12px;
}

a.wp-block-file__button.wp-element-button {
  border-radius: 6px;
  color: #fff !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.wp-block-file__button.wp-element-button::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 18px;
  margin-right: 16px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuODk0NTggMTEuNjk3NkwxMS42OTE5IDYuOTAwMjhMMTAuODA4IDYuMDE2MzlMNy40OTk5NSA5LjMyNDQ1TDcuNDk5OTUgMEg2LjI0OTk1TDYuMjQ5OTUgOS40MTYzNUwyLjUwNDcgNS45OTY3OEwxLjY2MTg3IDYuOTE5ODlMNi44OTQ1OCAxMS42OTc2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTAgMTBIMS4yNUwxLjI1IDEyLjkxNjdIMTIuMDgzM1YxMEgxMy4zMzMzVjE0LjE2NjdIMFYxMFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
}

.wp-block-file:not(.wp-element-button) {
  font-size: 0.8em;
  justify-content: space-between;
  display: flex;
  align-items: center;
}

li.type-stage:last-of-type hr {
  display: none;
}

html {
  scroll-behavior: smooth;
}

/* ============================================
   MOBILE MENU STYLING - MEDIA QUERY
   ============================================ */

@media (max-width: 782px) {
  /* Overlay background */
  .wp-block-navigation__responsive-container {
    background: #ffffff !important;
  }

  ul.wp-block-navigation__container,
  ul.wp-block-navigation__container li,
  ul.wp-block-navigation__container li a {
    width: 100%;
  }

  ul.wp-block-navigation__container li a:focus {
    outline: 0;
  }

  /* Main menu container padding */
  .wp-block-navigation__responsive-container-content {
    padding: 2rem 1.5rem !important;
  }

  .wp-block-navigation__responsive-container-content
    .wp-block-navigation__mobile-menu-content {
    padding-top: 3rem;
  }

  /* Top level menu items */
  .wp-block-navigation__responsive-container-content
    > ul
    > .wp-block-navigation-item {
    margin: 0 !important;
  }

  .wp-block-navigation__responsive-container-content
    > ul
    > .wp-block-navigation-item:last-child {
    border-bottom: none;
  }

  /* Parent menu links */
  .wp-block-navigation__responsive-container-content
    > ul
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--wp--preset--color--accent-1) !important;
    text-transform: uppercase;
    letter-spacing: 0.025em;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation
    > ul
    > .wp-block-navigation-item {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation
    > ul
    > .wp-block-navigation-item
    > .wp-block-navigation-item__content {
    padding: 10px 0px;
    flex: 1;
  }

  /* Arrow icon */
  .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle {
    display: block !important;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle:focus {
      outline: none;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle
    svg {
    width: 100%;
    height: 100%;
    stroke: var(--wp--preset--color--accent-1);
    stroke-width: 2.5;
    transition: transform 0.3s ease;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    svg {
    transform: rotate(180deg);
  }

  /* Submenu container */
  .wp-block-navigation__responsive-container
    .wp-block-navigation__submenu-container {
    position: static !important;
    padding: 0.5rem 0 1rem 1rem !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
  }

  /* Submenu items */
  .wp-block-navigation__responsive-container
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
    border-bottom: none;
    padding: 0;
  }

  .wp-block-navigation__responsive-container
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
    padding: 0.75rem 0;
    font-size: 1rem;
    font-weight: 400;
    color: #1d1d1b;
    text-transform: none;
    letter-spacing: normal;
    padding-inline: 0 !important;
  }

  /* Contact button */
  .wp-block-navigation__responsive-container .wp-block-buttons {
    margin: 2rem 0 1.5rem 0;
  }

  /* Language switcher */
  .wp-block-navigation__responsive-container .lang-item {
    border-top: 1px solid #e5e7eb;
    margin-top: 1rem;
    padding-top: 1rem;
  }

  /* Close button */
  .wp-block-navigation__responsive-container-close {
    top: 2rem !important;
    right: 1.5rem !important;
  }

  .wp-block-navigation__responsive-container-close svg {
    width: 28px;
    height: 28px;
    stroke: var(--wp--preset--color--accent-1);
    stroke-width: 2;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    margin-top: 105px;
  }
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation__container {
    gap: 0;
  }
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item {
    border-bottom: 1px solid #1d1d1b;
    padding: 10px 0px;
  }
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
    border-bottom: none;
    padding: 0px;
  }
  .wp-block-navigation-item.has-child.open-on-hover-click.current-menu-item.wp-block-navigation-submenu:focus {
    outline: none !important;
  }
}

/* YouTube player */
.youtube_player {
  aspect-ratio: 16 / 9;
}

.youtube_player iframe {
  border: none;
}