/* Alphatrad theme additional styles */
/* Utilisez theme.json pour la plupart des styles. Cette feuille est pour des ajustements légers. */

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

/* FAQ / <details> overrides (inspiré de a-finance) */
details.wp-block-details {
  overflow: hidden;
}

details.wp-block-details summary::-webkit-details-marker {
  display: none;
}

details.wp-block-details summary::marker {
  display: none;
}

details.wp-block-details summary {
  list-style: none;
  margin-bottom: 0;
  padding: var(--wp--preset--spacing--24, 24px) var(--wp--preset--spacing--32, 32px) var(--wp--preset--spacing--24, 24px) 0;
  font-size: var(--wp--preset--font-size--ml, 21px);
  font-weight: 600;
  position: relative;
  line-height: 1.2;
  color: var(--wp--preset--color--dark);
  transition: color .3s ease;
}

details.wp-block-details summary::after {
  content: '+';
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s ease;
}

details.wp-block-details[open] summary::after {
  content: '-';
}

details.wp-block-details[open] summary {
  color: var(--wp--preset--color--brand-primary);
}

details.wp-block-details .wrapout {
  margin-top: 0;
  padding: 0;
  overflow: hidden;
}

details.wp-block-details .wrapout>*:first-child {
  margin-top: 0;
}

.wp-block-details+.wp-block-details {
  border-top: 1px solid var(--wp--preset--color--grey-300);
  margin-top: 0;
}


/* Featured image caption placement (inspiré de terrena) */
figure.has-caption.wp-block-post-featured-image {
  height: auto !important;
}

figure.has-caption.wp-block-post-featured-image figcaption {
  font-size: 16px;
  color: var(--wp--preset--color--dark);
  font-weight: 600;
  line-height: 1.35;
  margin-top: var(--wp--preset--spacing--8, 8px);
}

.overflow-hidden {
  overflow: hidden;
}

/* Stacker - Positionnement sticky pour les groupes enfants */
.wp-block-group.is-style-stacker {
  position: relative;
}

.wp-block-group.is-style-stacker>* {
  position: sticky;
}

.wp-block-group.is-style-stacker>*:nth-child(1) {
  top: 150px;
}

.wp-block-group.is-style-stacker>*:nth-child(2) {
  top: 185px;
}

.wp-block-group.is-style-stacker>*:nth-child(3) {
  top: 220px;
}

.wp-block-group.is-style-stacker>*:nth-child(4) {
  top: 255px;
}

.wp-block-group.is-style-stacker>*:nth-child(5) {
  top: 290px;
}

.wp-block-group.is-style-stacker>*:nth-child(6) {
  top: 325px;
}

.wp-block-group.is-style-stacker>*:nth-child(7) {
  top: 360px;
}

.wp-block-group.is-style-stacker>*:nth-child(8) {
  top: 395px;
}

.wp-block-group.is-style-stacker>*:nth-child(9) {
  top: 430px;
}

.wp-block-group.is-style-stacker>*:nth-child(10) {
  top: 465px;
}

.wp-block-group.is-style-stacker>*:nth-child(2) {
  top: 170px;
}

.wp-block-group.is-style-stacker>*:nth-child(3) {
  top: 190px;
}

.wp-block-group.is-style-stacker>*:nth-child(4) {
  top: 210px;
}

.wp-block-group.is-style-stacker>*:nth-child(5) {
  top: 230px;
}

.wp-block-group.is-style-stacker>*:nth-child(6) {
  top: 250px;
}

.wp-block-group.is-style-stacker>*:nth-child(7) {
  top: 270px;
}

.wp-block-group.is-style-stacker>*:nth-child(8) {
  top: 290px;
}

.wp-block-group.is-style-stacker>*:nth-child(9) {
  top: 310px;
}

.wp-block-group.is-style-stacker>*:nth-child(10) {
  top: 330px;
}

/* Support pour la classe CSS directe "stacker" */
.stacker {
  position: relative;
}

.stacker>* {
  position: sticky;
}

.stacker>*:nth-child(1) {
  top: 150px;
}

.stacker>*:nth-child(2) {
  top: 185px;
}

.stacker>*:nth-child(3) {
  top: 220px;
}

.stacker>*:nth-child(4) {
  top: 255px;
}

.stacker>*:nth-child(5) {
  top: 290px;
}

.stacker>*:nth-child(6) {
  top: 325px;
}

.stacker>*:nth-child(7) {
  top: 360px;
}

.stacker>*:nth-child(8) {
  top: 395px;
}

.stacker>*:nth-child(9) {
  top: 430px;
}

.stacker>*:nth-child(10) {
  top: 465px;
}

/* Link wrappers */

.link-wrapper {
  position: relative;
}

.link-wrapper .link-target a::before,
.link-wrapper a.link-target::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.editor-styles-wrapper .link-wrapper .link-target a::before,
.editor-styles-wrapper .link-wrapper a.link-target::before {
  display: none;
}

.link-target a,
a.link-target {
  text-decoration: inherit;
}

.link-wrapper a[href]:not(.link-target):not(.link-target a) {
  position: relative;
  z-index: 2;
}

.link-wrapper.strict-wrapper {
  overflow: hidden
}

.link-wrapper.strict-wrapper .link-target a::before,
.link-wrapper.strict-wrapper a.link-target::before {
  content: '';
  position: absolute;
  top: -50vw;
  left: -50vw;
  right: -50vw;
  bottom: -50vw;
}

.no-underline a,
a.no-underline {
  text-decoration: none !important;
}

.is-position-sticky {
  z-index: 1100;
  position: sticky;
}

/* Menu principal */
@media (min-width:1300px) {
  .menu-principal>li {
    height: 98px;
  }

  .menu-principal>li>a {
    font-weight: bold;
    display: block;
    border-bottom: 1px solid transparent;
    transition: all 0.3s ease;
  }

  .menu-principal>li:hover>a,
  .menu-principal>li.current-menu-item>a,
  .menu-principal>li.current-menu-ancestor>a,
  .menu-principal>li.current-page-ancestor>a,
  .menu-principal>li.current-menu-ancestor.has-dropdown>a,
  .menu-principal>li.current-page-ancestor.has-dropdown>a,
  .menu-principal>li:focus-within>a {
    border-bottom: 1px solid var(--wp--preset--color--brand-primary);
    color: var(--wp--preset--color--brand-primary) !important;
  }

  .wp-block-navigation__submenu-container {
    border: 1px solid var(--wp--preset--color--blue-200) !important;
    border-top: 0 !important;
    left: calc(var(--wp--preset--spacing--24, 24px) * -1) !important;
    right: calc(var(--wp--preset--spacing--24, 24px) * -1) !important;
    min-width: 200px;
    border-radius: 0 0 8px 8px;
    box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.10) !important;
    z-index: -1;
    overflow: hidden !important;
  }

  .wp-block-navigation__submenu-container>li {
    background-color: transparent !important;

  }

  .wp-block-navigation__submenu-container>li>a {
    height: 66px;
    padding: var(--wp--preset--spacing--8, 8px) var(--wp--preset--spacing--24, 24px) !important;
    box-sizing: border-box;
    display: flex;
    justify-content: start;
    align-items: center;
    font-weight: 400 !important;
  }

  .wp-block-navigation__submenu-container>li>a:hover,
  .wp-block-navigation__submenu-container>li>a:focus {
    background-color: var(--wp--preset--color--blue-200) !important;
  }

  .wp-block-navigation__submenu-container>li:not(:first-child)>a::before {
    content: '';
    position: absolute;
    top: 0;
    left: var(--wp--preset--spacing--24, 24px);
    right: var(--wp--preset--spacing--24, 24px);
    height: 0;
    border-top: 1px solid var(--wp--preset--color--blue-200);
  }

  .wp-block-navigation__submenu-container>li:has(a:focus, a:hover)+li>a::before {
    left: 0;
    right: 0;
  }

  /*
  .wp-block-navigation__container.menu-principal .has-child .wp-block-navigation__submenu-container{
    padding-top:10px;
    margin-top:-1px;
    background:white !important;
    border:0;
  }

  .wp-block-navigation__container.menu-principal .has-child .wp-block-navigation__submenu-container > li{
    background-color: var(--wp--preset--color--brand-primary);
    color:white;
  }

  .wp-block-navigation__container.menu-principal .has-child .wp-block-navigation__submenu-container > li:first-child{
    border-radius:10px 10px 0 0;
  }

  .wp-block-navigation__container.menu-principal .has-child .wp-block-navigation__submenu-container > li:last-child{
    border-radius:0 0 10px 10px;
  }*/
}

.column-2 {
  column-gap: var(--wp--preset--spacing--16, 16px);
  columns: 2;
}

.is-top {
  position: absolute;
  top: calc(-1 * var(--wp--preset--spacing--24, 24px));
  left: 0;
  box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.5);
  transform: translateY(-50%) rotate(-2deg);
  display: inline-block;
}

div>.is-top+* {
  margin-top: 0;
}

div:has(> .is-top) {
  position: relative;
}

.wp-block-list.is-style-stripped {
  list-style: none;
  padding: 0;
}

.wp-block-list.is-style-stripped li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  border: 1px solid #9edbeb;
  margin-bottom: -1px;
  background-color: white;
  line-height: 1.4;
}

.wp-block-list.is-style-stripped li::before {
  content: '•';
  color: #2db2d4;
  font-weight: 700;
  font-family: 'Kulim Park', sans-serif;
  flex-shrink: 0;
  white-space: pre;
}

.wp-block-list.is-style-stripped li:nth-child(odd) {
  background-color: #eaf7fb;
}

.wp-block-list.is-style-stripped li:first-child {
  border-radius: 8px 8px 0 0;
}

.wp-block-list.is-style-stripped li:last-child {
  border-radius: 0 0 8px 8px;
}

/* Liste en colonnes */
.wp-block-list.is-style-colomnized {
  list-style: none;
  padding: 0;
  column-gap: 8px;
  columns: 1;
}

.wp-block-list.is-style-colomnized li:not(:first-child) {
  margin-top: var(--wp--preset--spacing--8, 8px);
}

.wp-block-list.is-style-colomnized li a {
  text-decoration: none;
}

@media (min-width: 480px) {
  .wp-block-list.is-style-colomnized {
    columns: 2;
  }
}

@media (min-width: 768px) {
  .wp-block-list.is-style-colomnized {
    columns: 3;
  }
}

@media (min-width: 1024px) {
  .wp-block-list.is-style-colomnized {
    columns: 4;
  }
}

@media (min-width: 1280px) {
  .wp-block-list.is-style-colomnized {
    columns: 5;
  }
}

@media (min-width: 1536px) {
  .wp-block-list.is-style-colomnized {
    columns: 6;
  }
}

.wp-block-flexible-table-block-table.is-style-stripes {
  overflow: auto;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--wp--preset--color--blue-200);
}

.wp-block-flexible-table-block-table.is-style-stripes tbody {
  z-index: 0;
  position: relative;
}

/* Liste en colonnes avec flèches (alignée sur le Figma) */
.wp-block-list.is-style-columnized-fleches {
  list-style: none;
  padding: 0;
  margin: 0;
  column-gap: var(--wp--preset--spacing--32, 32px);
  columns: 1;
}

.wp-block-list.is-style-columnized-fleches li {
  position: relative;
  margin: 0;
  padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--32) var(--wp--preset--spacing--24) 0;
  border-bottom: 1px solid var(--wp--preset--color--grey-300);
  color: var(--wp--preset--color--grey-900);
  break-inside: avoid;
}

.wp-block-list.is-style-columnized-fleches li a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.wp-block-list.is-style-columnized-fleches li::before {
  content: '→';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--wp--preset--color--orange-200);
  font-weight: 700;
}

.wp-block-list.is-style-columnized-fleches li:hover::before,
.wp-block-list.is-style-columnized-fleches li:focus-within::before {
  transform: translateY(-50%) translateX(2px);
}

@media (min-width: 768px) {
  .wp-block-list.is-style-columnized-fleches {
    columns: 2;
  }
}

@media (min-width: 1024px) {
  .wp-block-list.is-style-columnized-fleches {
    columns: 3;
  }
}

.wp-block-wabeo-custom-details.is-style-rounded summary {
  border-radius: 8px;
  transition: all 0.3s ease;
  border: 1px solid var(--wp--preset--color--orange-200)
}

.wp-block-wabeo-custom-details.is-style-rounded.is-open summary {
  border-radius: 8px 8px 0 0;
}

.is-style-ligne {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--16, 16px);
  list-style: none;
  justify-content: center;
}

.is-style-ligne li {
  text-align: center;
}

.is-style-ligne .current-cat {
  font-weight: 700;
}

.wsf-label-position-inside .wsf-label {
  max-width: 90%;
  white-space: nowrap;
  overflow: clip;
  text-overflow: ellipsis;
}

.wsf-form a:link {
  word-wrap: break-word;
}

.is-position-sticky:not(.is-menu-bar, .has-progress) {
  top: calc(100px + var(--wp-admin--admin-bar--height, 0px)) !important;
}

html {
  scroll-behavior: smooth;
  background-color: var(--wp--preset--color--darkblue-700);
}

/* Variables pour le header sticky */
:root {
  --sticky-header-offset: 250px;
  /* Valeur de déclenchement facilement modifiable */
}

/* Styles pour le header sticky avec animation */
.is-position-sticky.is-menu-bar {
  transition: transform 0.3s ease-in-out;
  transform: translateY(0);
}

.is-position-sticky.is-menu-bar.is-hidden {
  transform: translateY(-100%);
}

@media (min-width: 783px) {
  html {
    scroll-padding-top: calc(100px + var(--wp-admin--admin-bar--height, 0px));
  }
}

body .wp-block-wpseopress-table-of-contents li.active>a {
  font-weight: 400;
  text-decoration: underline !important;
}

.link-wrapper:not(:has(.link-target a, a.link-target)) .is-more {
  display: none !important;
}

/* Comportement hover pour .is-more à partir de 1000px */
@media (min-width: 1000px) {

  /* Masque le .is-more HTML */
  .link-wrapper .is-more {
    display: none !important;
  }

  /* Crée un pseudo-élément ::after pour le bouton "En savoir plus" */
  /* Uniquement si le .link-wrapper contient un a.link-target ou un .link-target a */
  .link-wrapper[data-more-text]:has(.is-more):has(.link-target a, a.link-target)::after {
    content: attr(data-more-text) ' →';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    background-color: rgba(45, 178, 212, 0.95);
    backdrop-filter: blur(1.5px);
    border: 1px solid var(--wp--preset--color--blue-300, #2db2d4);
    border-radius: 0 0 8px 8px;
    padding: var(--wp--preset--spacing--24, 24px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--wp--preset--spacing--8, 8px);
    color: white;
    font-weight: 600;
    font-family: 'Kulim Park', sans-serif;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;
    pointer-events: none;
  }

  .link-wrapper[data-more-text]:has(.is-more):has(.link-target a, a.link-target):hover::after,
  .link-wrapper[data-more-text]:has(.is-more):has(.link-target a, a.link-target):focus-within::after {
    opacity: 1;
    visibility: visible;
  }
}

:root :where(.wp-block-button .wp-block-button__link):hover,
:root :where(.wp-block-button .wp-block-button__link):focus {
  background-color: var(--wp--preset--color--blue-900) !important;
}

:root :where(.wp-block-button .wp-block-button__link.has-brand-secondary-background-color):hover,
:root :where(.wp-block-button .wp-block-button__link.has-brand-secondary-background-color):focus {
  background-color: var(--wp--preset--color--orange-900) !important;
}

:root :where(.wp-block-button .wp-block-button__link.has-grey-900-color.has-white-background-color):hover,
:root :where(.wp-block-button .wp-block-button__link.has-grey-900-color.has-white-background-color):focus {
  color: var(--wp--preset--color--white) !important;
  background-color: var(--wp--preset--color--orange-900) !important;
}

.nospaces details {
  margin: 0 !important;
}

.has-modal-open .is-position-sticky.is-menu-bar {
  transition: none !important;
  transform: none !important;
}

/* Menu mobile - Gestion des sous-menus */
.is-mobile-menu .wp-block-navigation__submenu-container {
  display: none !important;
  overflow: hidden !important;
  height: 0 !important;
  transition: height 0.3s ease !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  min-width: auto !important;
  border-radius: 0 !important;
}

.is-mobile-menu .wp-block-navigation-submenu.submenu-open>.wp-block-navigation__submenu-container {
  display: block !important;
  height: auto !important;
}

/* Alignement des éléments de menu avec flèche */
.is-mobile-menu .wp-block-navigation-submenu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}

/* Le lien parent (Traductions Humaines, etc.) doit prendre tout l'espace */
.is-mobile-menu .wp-block-navigation-item__content {
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  flex-wrap: nowrap !important;
}

/* Le bouton toggle (la flèche) doit avoir une grande zone cliquable */
.is-mobile-menu .wp-block-navigation-submenu__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
  margin: -12px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  background: none !important;
  border: none !important;
  transition: transform 0.3s ease !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin-right: auto !important
}

/* Rotation de la flèche quand ouvert */
.is-mobile-menu .wp-block-navigation-submenu.submenu-open .wp-block-navigation-submenu__toggle {
  transform: rotate(180deg) !important;
}

/* Reset des styles des sous-menus pour mobile */
.is-mobile-menu .wp-block-navigation__submenu-container>li {
  background-color: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.is-mobile-menu .wp-block-navigation__submenu-container>li>a {
  height: auto !important;
  padding: var(--wp--preset--spacing--8, 8px) 0 !important;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 400 !important;
  margin-left: var(--wp--preset--spacing--16, 16px);
}

.is-mobile-menu .wp-block-navigation__submenu-container>li>a:hover,
.is-mobile-menu .wp-block-navigation__submenu-container>li>a:focus {
  background-color: transparent !important;
}

.is-mobile-menu .wp-block-navigation__submenu-container>li:not(:first-child)>a::before {
  display: none !important;
}


.overflow-x-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-direction: row;
  flex-wrap: nowrap !important;
  max-width: 100vw;
  margin-left: calc(var(--wp--style--root--padding-left) * -1);
  margin-right: calc(var(--wp--style--root--padding-right) * -1);
  padding-left: var(--wp--style--root--padding-left);
  padding-right: var(--wp--style--root--padding-right);
}

.overflow-x-scroll::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Opera */
}

.overflow-x-scroll>.wp-block-column {
  min-width: 250px;
}

.wsf-group-tab:not(.wsf-tab-active) a span {
  display: none !important;
}

.cb {
  box-sizing: content-box;
}

body .wp-block-buttons .wp-block-button__link {
  width: 100%;
  min-height: 38px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

@media (max-width: 900px) {

  .br-mobile-top,
  figure.br-mobile-top>img {
    border-radius: 8px 8px 0 0 !important;
  }

  .br-mobile-bottom,
  figure.br-mobile-bottom>img {
    border-radius: 0 0 8px 8px !important;
  }
}

.etablissement-ouvert::before,
.etablissement-ferme::before {
  content: '';
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-right: 0.5em;
  vertical-align: middle;
  background-color: var(--wp--preset--color--green-500, #26c281);
  border-radius: 50%;
}

.etablissement-ferme::before {
  background-color: var(--wp--preset--color--red-500, #e74c3c);
}

.height-100 {
  min-height: 100%;
}

.vp-filters__label {
  display: block;
}

.vp-voices-player .vp-filters select {
  display: block;
  padding: 12px 0;
  border: none;
  border-bottom: 1px solid #000;
}

.form-has-bg {
  border: 1px solid #3582c4 !important;
  margin: 2rem 0 !important;
  padding: 0 2rem 2rem !important;
}

.wp-block-column {
  box-sizing: border-box;
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: auto;
  }
}

.sp-html-sitemap li::first-letter {
  text-transform: uppercase;
}

.show-required {
  color: var(--wp--preset--color--red-500, #e74c3c);
  font-size: 12px;
  font-weight: 200;
  font-style: italic;
}

@media (max-width: 782px) {
  .has-global-padding>.alignfull>.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  :where(.wp-block-group.has-background) {
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
  }

  .wp-block-cover {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }

  .single-post .wp-block-cover {
    padding-top: 140px !important;
    padding-bottom: 80px !important;
  }

  .stack-under-782 {
    flex-direction: column;
    gap: 8px !important;
    align-items: flex-start;
  }

  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    max-width: 100%;
  }
}

.wp-block-categories-list {
  padding-inline-start: 0;
}


/* --- BEGIN Agency Extra Content Specific Styles --- */

.agency-content-1 {
  margin-top: var(--wp--preset--spacing--48);
  margin-bottom: var(--wp--preset--spacing--48);
  padding: var(--wp--preset--spacing--32);

  background-color: var(--wp--preset--color--blue-50);
  border: 1px solid var(--wp--preset--color--blue-200);
  border-radius: 12px;

  box-shadow: var(--wp--custom--shadow--main-shadow);
  line-height: 1.7;
  color: var(--wp--preset--color--grey-900);
}

.agency-content-1 h2,
.agency-content-1 h3 {
  color: var(--wp--preset--color--brand-primary);
}

.agency-content-2:empty {
  display: none;
}

.agency-content-2 {
  margin-top: var(--wp--preset--spacing--48);
  margin-bottom: var(--wp--preset--spacing--48);
  padding: var(--wp--preset--spacing--32);

  background-color: var(--wp--preset--color--orange-100);
  border: 1px solid var(--wp--preset--color--orange-200);
  border-radius: 12px;

  box-shadow: var(--wp--custom--shadow--main-shadow);
  line-height: 1.7;
  color: var(--wp--preset--color--grey-900);
}

.agency-content-2 h2,
.agency-content-2 h3 {
  color: var(--wp--preset--color--brand-primary);
}

.text-editor-tip-icon,
.text-editor-right-arrow {
  display: block;
  position: relative;
  background-color: white;
  padding: var(--wp--preset--spacing--24) var(--wp--preset--spacing--24) var(--wp--preset--spacing--24) 60px;
  margin: var(--wp--preset--spacing--32) 0;

  border-radius: 4px;
  line-height: 1.6;
  color: var(--wp--preset--color--orange-900);
}

.text-editor-tip-icon::before,
.text-editor-right-arrow::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 26px;

  width: 24px;
  height: 24px;

  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.text-editor-tip-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FD7E2F' d='M24,46C11.9,46,2,36.1,2,24S11.9,2,24,2s22,9.9,22,22S36.1,46,24,46z M24,4C13,4,4,13,4,24c0,11,9,20,20,20 c11,0,20-9,20-20C44,13,35,4,24,4z'/%3E%3Crect fill='%23FD7E2F' height='20' width='2' x='23' y='16'/%3E%3Crect fill='%23FD7E2F' height='2' width='2' x='23' y='12'/%3E%3C/svg%3E");
}

.text-editor-right-arrow::before {
  background-image: url("data:image/svg+xml,%3Csvg id='Layer_1' style='enable-background:new 0 0 48 48%3B' version='1.1' viewBox='0 0 48 48' xml%3Aspace='preserve' xmlns='http://www.w3.org/2000/svg' xmlns%3Axlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M24%2C46C11.9%2C46%2C2%2C36.1%2C2%2C24S11.9%2C2%2C24%2C2s22%2C9.9%2C22%2C22S36.1%2C46%2C24%2C46z M24%2C4C13%2C4%2C4%2C13%2C4%2C24s9%2C20%2C20%2C20s20-9%2C20-20 S35%2C4%2C24%2C4z'/%3E%3C/g%3E%3Cg%3E%3Cpolygon points='21.4%2C36.7 19.9%2C35.3 31.2%2C24 19.9%2C12.7 21.4%2C11.3 34.1%2C24 '/%3E%3C/g%3E%3C/svg%3E");
}

.text-editor-tip-icon strong,
.text-editor-right-arrow strong {
  color: var(--wp--preset--color--brand-secondary);
}

.text-editor-tip-icon a,
.text-editor-right-arrow a {
  color: var(--wp--preset--color--brand-primary);
  text-decoration: underline;
}

.text-editor-tip-icon a:hover,
.text-editor-right-arrow a:hover {
  color: var(--wp--preset--color--blue-900);
}

/* --- END Agency Extra Content Specific Styles --- */

/* Styles for styling clients list */
.wp-block-list.client-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 15px;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.wp-block-list.client-grid li {
  background: #f9f9f9;
  border: 1px solid #a6d1ff;
  padding: 10px 8px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  border-radius: 4px;
  min-height: 50px;
}

.wp-block-list.client-grid li:hover {
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  color: #000;
}

.wp-block-list.client-grid li:last-child {
  font-style: italic;
  font-weight: normal;
  background: transparent;
  border: none;
}



/* Show mobile submenus expanded by default */
.is-mobile-menu .wp-block-navigation__submenu-container {
  display: flex !important;
  overflow: hidden !important;
  height: auto !important;
}

.is-mobile-menu .wp-block-navigation-submenu {
  display: flex !important;
  flex-direction: column !important;
  align-items: left !important;
}

.is-mobile-menu .wp-block-navigation-submenu {
  align-items: start !important;
}

.is-mobile-menu .wp-block-navigation-submenu ul {
  padding-left: 20px !important;
}



.choose-country .wp-block-group {
  border-top: 1px solid #d9d9d9;
  padding-top: 1.25rem;
}
.choose-country p {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: rgb(51, 51, 51);
  margin-bottom: 1rem;
}
.choose-country p::before {
  content: "";
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  margin-right: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.choose-country ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.choose-country li + li {
  margin-top: .5rem;
}
.choose-country li a {
  display: block;
  text-decoration: none;
}
.choose-country li a {
  padding: .35rem 0 .35rem 68px;
  position: relative;
}
.choose-country li a:hover {
  text-decoration: underline;
}
.choose-country li a::before {
  content: "→";
  position: absolute;
  left: 40px;
  opacity: .5;
}

.choose-country .austria::before {
  background-image: url("/wp-content/uploads/flags/austria.svg");
}

.choose-country .belgium::before {
  background-image: url("/wp-content/uploads/flags/belgium.svg");
}

.choose-country .denmark::before {
  background-image: url("/wp-content/uploads/flags/denmark.svg");
}

.choose-country .france::before {
  background-image: url("/wp-content/uploads/flags/france.svg");
}

.choose-country .germany::before {
  background-image: url("/wp-content/uploads/flags/germany.svg");
}

.choose-country .italy::before {
  background-image: url("/wp-content/uploads/flags/italy.svg");
}

.choose-country .luxembourg::before {
  background-image: url("/wp-content/uploads/flags/luxembourg.svg");
}

.choose-country .netherlands::before {
  background-image: url("/wp-content/uploads/flags/netherlands.svg");
}

.choose-country .portugal::before {
  background-image: url("/wp-content/uploads/flags/portugal.svg");
}

.choose-country .spain::before {
  background-image: url("/wp-content/uploads/flags/spain.svg");
}

.choose-country .switzerland::before {
  background-image: url("/wp-content/uploads/flags/switzerland.svg");
}

.choose-country .uk::before {
  background-image: url("/wp-content/uploads/flags/uk.svg");
}

.choose-country .worldwide::before {
  background-image: url("/wp-content/uploads/flags/worldwide.svg");
}

.choose-country.wp-block-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
}

.choose-country > .wp-block-group {
  margin: 0 !important;
  width: 100% !important;
}
@media (max-width: 992px) {
  .choose-country.wp-block-group {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 576px) {
  .choose-country.wp-block-group {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
}




/* BEGIN Google reviews box */
.google-reviews-box {
  max-width: 1180px;
  margin: 40px auto;
  padding: 28px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  font-family: Arial, sans-serif;
  color: #202124;
}

.reviews-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid #ececec;
}

.reviews-summary-left {
  min-width: 0;
}

.google-reviews-box h2 {
  margin: 0 0 18px;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.15;
  color: #202124;
}

.reviews-score {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.score-value {
  font-size: 88px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -2px;
  color: #202124;
}

.score-meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.score-text {
  font-size: 18px;
  color: #5f6368;
  line-height: 1.4;
}

.score-text strong {
  color: #202124;
  font-weight: 700;
}

/* ===== Aggregate rating stars ===== */
.rating-stars {
  --star-size: 34px;
  --star-gap: 6px;
  --rating: 95.8%;
  --star-color-empty: #dadce0;
  --star-color-fill: #fbbc04;

  position: relative;
  width: calc(var(--star-size) * 5 + var(--star-gap) * 4);
  height: var(--star-size);
  flex: 0 0 auto;
}

.rating-stars-bg,
.rating-stars-fill {
  position: absolute;
  inset: 0;
  background-repeat: repeat-x;
  background-position: left center;
  background-size: calc(var(--star-size) + var(--star-gap)) var(--star-size);
}

.rating-stars-bg {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path fill='%23dadce0' d='M12 1.9l3.09 6.26 6.91 1-5 4.87 1.18 6.89L12 17.77 5.82 20.92 7 14.03 2 9.16l6.91-1L12 1.9z'/>\
</svg>");
}

.rating-stars-fill {
  width: var(--rating);
  overflow: hidden;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path fill='%23fbbc04' d='M12 1.9l3.09 6.26 6.91 1-5 4.87 1.18 6.89L12 17.77 5.82 20.92 7 14.03 2 9.16l6.91-1L12 1.9z'/>\
</svg>");
}

@media (max-width: 640px) {
  .rating-stars {
    --star-size: 28px;
    --star-gap: 5px;
  }
}




/* Google badge */
.google-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 170px;
  color: #5f6368;
  font-size: 16px;
  text-align: center;
}

.google-icon {
  width: 52px;
  height: 52px;
  display: block;
}

.reviews-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.review-item {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.03);
}

.review-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.review-user {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}

.review-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #d9ccf4;
  color: #202124;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 500;
  flex-shrink: 0;
}

.review-avatar-alt {
  background: #d8e3f6;
}

.review-meta {
  min-width: 0;
}

.review-author {
  font-size: 22px;
  line-height: 2;
  font-weight: 700;
  color: #202124;
/*   margin-bottom: 6px; */

}

.review-date {
  font-size: 15px;
  color: #777;
}

.review-rating {
  flex-shrink: 0;
  color: #fbbc04;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 3px;
  white-space: nowrap;
  margin-top: 4px;
}

.review-body {
  font-size: 18px;
  line-height: 1.7;
  color: #3c4043;
}

@media (max-width: 1024px) {
  .score-value {
    font-size: 72px;
  }

  .google-reviews-box h2 {
    font-size: 36px;
  }

  .review-author {
    font-size: 20px;
  }

  .review-body {
    font-size: 17px;
  }
}

@media (max-width: 820px) {
  .reviews-summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .reviews-summary-right {
    width: 100%;
  }

  .google-badge {
    align-items: flex-start;
    text-align: left;
  }

  .reviews-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .google-reviews-box {
    padding: 20px;
    border-radius: 14px;
  }

  .google-reviews-box h2 {
    font-size: 30px;
    margin-bottom: 14px;
  }

  .reviews-summary {
    padding-bottom: 22px;
    margin-bottom: 22px;
  }

  .reviews-score {
    gap: 16px;
  }

  .score-value {
    font-size: 56px;
  }

  .rating-stars {
    font-size: 30px;
    letter-spacing: 4px;
  }

  .score-text {
    font-size: 16px;
  }

  .review-item {
    padding: 22px;
  }

  .review-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 14px;
  }

  .review-author {
    font-size: 18px;
  }

  .review-body {
    font-size: 16px;
    line-height: 1.65;
  }

  .review-rating {
    font-size: 24px;
  }

  .review-avatar {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
}
/* END Google reviews box */


.agences-proches li.agency h3,
.agences-proches li.agency p {
  text-align:center;
  width:100%;

}
