/*
Theme Name: Astra Child
Theme URI: https://alphavidia.com/astra-child/
Description: Astra Child Theme
Author: Jean-Christophe Sarda
Author URI: https://alphavidia.com
Template: astra
Version: 3.9.9
*/

/* ===========================
   SINGLE TISSERANDS — STYLES
   =========================== */

/* Fond neutre (pas de panneau gris) */
.single-tisserands .site,
.single-tisserands .site-content,
.single-tisserands .ast-container,
.single-tisserands .content-area,
.single-tisserands .entry-content,
.single-tisserands .ast-separate-container .ast-article-single,
.single-tisserands .ast-plain-container .site-content,
.single-tisserands .site-main,
.single-tisserands .single-tisserands-article {
  background: transparent !important;
  box-shadow: none !important;
  padding-top: 0;
}

/* H1 */
.single-tisserands .tisserand-h1 {
  text-align: center;
  margin: 0 0 1.5rem;
  line-height: 1.2;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.5vw, 2.625rem);
  padding-bottom: 20px;
}

/* Cibler l'iframe de HelloAsso */
iframe[src*="helloasso"] {
    width: 100%;
    min-height: 600px; /* Ajustez selon la longueur du formulaire */
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    display: block;
    margin: 20px auto;
}

/* === Polaroid === */
.single-tisserands .tisserand-polaroid-wrap { will-change: opacity; }

.single-tisserands .tisserand-polaroid {
  --polaroid-size: 340px;
  width: min(90vw, var(--polaroid-size));
  margin: 0 auto 2rem;
  padding: 12px 12px 28px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  border-radius: 6px;
  text-align: center;
  position: relative;
  transform-origin: 50% 85%;
}
.single-tisserands .tisserand-polaroid.is-tilted { transform: rotate(-2deg); }

/* Image : neutralise tout effet externe */
.single-tisserands .tisserand-polaroid__img,
.single-tisserands .tisserand-polaroid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  height: auto;
  border-radius: 4px;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

/* Légende */
.single-tisserands .tisserand-polaroid__caption {
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.1;
  margin-top: 10px;
  color: #222;
}

/* Variante : label en haut */
.single-tisserands .tisserand-polaroid.label-top { padding-top: 42px; padding-bottom: 16px; }
.single-tisserands .tisserand-polaroid.label-top .tisserand-polaroid__caption {
  position: absolute; top: 10px; left: 12px; right: 12px; margin: 0;
}

/* Pas de doublon de la mise en avant dans le contenu */
.single-tisserands .post-thumb,
.single-tisserands .entry-content > .wp-post-image { display: none !important; }


/* On cible l'image à l'intérieur de la Grid Box de Spectra */
.wp-block-spectra-grid-box img, 
.uagb-post-grid img {
    min-height: 250px !important; /* Définit la hauteur minimale */
    height: 300px !important;     /* Force une hauteur fixe pour l'alignement */
    width: 100% !important;
    object-fit: cover !important;  /* EMPECHE L'ECRASEMENT : Recadre proprement */
    object-position: center center; /* Centre le sujet de la photo */
}


/* Accessibilité : réduit les effets si demandé */
@media (prefers-reduced-motion: reduce) {
  [data-aos] { transition: none !important; opacity: 1 !important; }
}

/* === Images en contenu (option) === */
.wp-post-image.is-featured-fixed { width:clamp(280px,92vw,720px); height:auto; display:block; margin-inline:auto; }
.post-thumb .wp-post-image.is-featured-fixed { width:clamp(240px,48vw,360px); }
@media (min-width:1024px){ .wp-post-image.is-featured-fixed { width:720px; } }

/* Image à la une — page détail article : sans ombre ni contour */
.single-post .post-thumb img,
.single-post .wp-post-image,
.single-post .featured-image img,
.single-post .ast-post-format-image img {
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
}

/* ===========================
   Query Loop Tisserands — vignettes à gauche
   =========================== */

li.wp-block-post.type-tisserands > .wp-block-columns {
  overflow: hidden;
  background: #fff;
  border: 1px solid #e9e9ee;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  gap: 0;
  padding: 0 !important;
  align-items: stretch !important;
}
li.wp-block-post.type-tisserands > .wp-block-columns.are-vertically-aligned-center {
  align-items: stretch !important;
}

li.wp-block-post.type-tisserands .wp-block-column:first-child {
  flex-basis: 28% !important;
  padding: 0; margin: 0;
  align-self: stretch !important;
  display: flex;
}
li.wp-block-post.type-tisserands .wp-block-column:first-child .wp-block-post-featured-image,
li.wp-block-post.type-tisserands .wp-block-column:first-child .wp-block-post-featured-image a {
  display: block; width: 100%; height: 100%;
}
li.wp-block-post.type-tisserands .wp-block-column:first-child img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
li.wp-block-post.type-tisserands .wp-block-column:nth-child(2) {
  flex-basis: 72% !important;
  padding: 20px 24px !important;
  display: flex; flex-direction: column; justify-content: center;
}
@media (max-width: 680px) {
  li.wp-block-post.type-tisserands > .wp-block-columns { flex-direction: column; }
  li.wp-block-post.type-tisserands .wp-block-column:first-child { height: 190px; }
}

/* Image “masque” moderne (optionnel) */
.img-mask-diag { filter: drop-shadow(0 8px 24px rgba(0,0,0,.12)); }
.img-mask-diag img{
  display:block; width:100%; height:auto;
  -webkit-mask-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">\
  <path fill="white" d="M8,27C17,8,43,3,62,10c19,7,32,23,34,41 2,18-6,36-22,42-16,6-39,0-53-12C7,69,0,46,8,27Z"/>\
</svg>');
  mask-image: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">\
  <path fill="white" d="M8,27C17,8,43,3,62,10c19,7,32,23,34,41 2,18-6,36-22,42-16,6-39,0-53-12C7,69,0,46,8,27Z"/>\
</svg>');
  -webkit-mask-size: cover; mask-size: cover;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  border-radius: 0 !important;
}

/* ===========================
   Bellows — TOUS les menus accordéon
   =========================== */

/* 0) Transparence des CONTENEURS (autour des boutons) */
.bellows,
.bellows .bellows-nav,
.bellows-menu,
.bellows-wrapper,
.bellows .bellows-submenu,
.bellows .bellows-submenu .bellows-inner,
.bellows .bellows-overlay,
.bellows .bellows-backdrop {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Laisse l'ombre/élévation dépasser sans être “coupée” */
.bellows .bellows-item { overflow: visible !important; }

/* 1) Le lien devient le bouton : arrondi + clip du contenu
   (important car certains skins mettent un fond carré sur le <span> interne) */
nav.bellows-main .bellows-nav > li.bellows-menu-item > a.bellows-target {
  display: block;
  margin: 6px 0;
  border-radius: 12px !important;
  overflow: hidden;                       /* <-- clé : le span interne est clippé par l'arrondi */
  border: 1px solid rgba(0,0,0,.14) !important;
  background: rgba(255,255,255,.65) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background-color .15s ease !important;
  will-change: transform, box-shadow;
}

/* 1b) Neutralise le fond carré du titre interne, gère le padding/texte */
nav.bellows-main .bellows-nav > li.bellows-menu-item > a.bellows-target .bellows-target-title {
  display: block;
  background: transparent !important;     /* <-- crucial */
  padding: 10px 14px;                     /* padding ici pour éviter conflits de skins */
  color: #222 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
  line-height: 1.25;
}

/* 2) Hover / focus-within : micro-élévation + ombre plus marquée */
nav.bellows-main .bellows-nav > li.bellows-menu-item:hover > a.bellows-target,
nav.bellows-main .bellows-nav > li.bellows-menu-item:focus-within > a.bellows-target {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.14) !important;
  border-color: rgba(0,0,0,.20) !important;
  background: rgba(255,255,255,.80) !important;
}

/* 3) Actif / ouvert */
nav.bellows-main .bellows-nav > li.bellows-menu-item.bellows-active > a.bellows-target {
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  border-color: rgba(0,0,0,.22) !important;
  background: rgba(255,255,255,.85) !important;
}

/* 4) Clic (press) */
nav.bellows-main .bellows-nav > li.bellows-menu-item > a.bellows-target:active {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.10) !important;
}

/* 5) Focus clavier visible (accessibilité) */
nav.bellows-main .bellows-nav > li.bellows-menu-item > a.bellows-target:focus-visible {
  outline: 2px solid #2563eb !important;
  outline-offset: 2px;
  border-color: #2563eb !important;
}

/* 6) Sous-menus : version plus légère, même correction d'arrondi */
nav.bellows-main .bellows-submenu .bellows-item > a.bellows-target {
  margin: 5px 0;
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(255,255,255,.55) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.05) !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
nav.bellows-main .bellows-submenu .bellows-item > a.bellows-target .bellows-target-title {
  background: transparent !important;
  padding: 8px 12px;
}
nav.bellows-main .bellows-submenu .bellows-item:hover > a.bellows-target,
nav.bellows-main .bellows-submenu .bellows-item:focus-within > a.bellows-target {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.10) !important;
  border-color: rgba(0,0,0,.16) !important;
}

/* 7) État courant / ancêtre : contour interne + barre gauche fine */
nav.bellows-main .bellows-menu-item.current-menu-item > a.bellows-target,
nav.bellows-main .bellows-menu-item.current_page_item > a.bellows-target,
nav.bellows-main .bellows-menu-item.current-menu-ancestor > a.bellows-target,
nav.bellows-main .bellows-menu-item.current_page_ancestor > a.bellows-target,
nav.bellows-main .bellows-menu-item.bellows-current_page_item > a.bellows-target,
nav.bellows-main .bellows-menu-item.bellows-current_menu_item > a.bellows-target,
nav.bellows-main .bellows-menu-item.bellows-current_menu_ancestor > a.bellows-target {
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.12) !important;
  font-weight: 600;
  position: relative;
}
nav.bellows-main .bellows-menu-item.current-menu-item > a.bellows-target::before,
nav.bellows-main .bellows-menu-item.current-menu-ancestor > a.bellows-target::before,
nav.bellows-main .bellows-menu-item.current_page_item > a.bellows-target::before,
nav.bellows-main .bellows-menu-item.current_page_ancestor > a.bellows-target::before {
  content: "";
  position: absolute;
  left: 6px; top: 8px; bottom: 8px;
  width: 3px; border-radius: 3px;
  background: #bfae95;
  pointer-events: none;
}

/* 8) Nettoyage des doublons d’UI (flèches) si Astra/Bellows les ajoutent */
nav.bellows-main .ast-menu-toggle { display: none !important; }
nav.bellows-main .bellows-subtoggle { display: none !important; }


/* ===========================
   Bellows — parents (toplevel + nested), enfants + INDENTATION
   =========================== */

/* Variables */
:root{
  --acc-parent-bg: rgba(0,0,0,.08);
  --acc-parent-bg-hover: rgba(0,0,0,.12);
  --acc-parent-bg-open: rgba(0,0,0,.14);

  --acc-child-bg: rgba(255,255,255,.55);
  --acc-child-bg-hover: rgba(255,255,255,.70);

  --acc-border: rgba(0,0,0,.18);
  --acc-border-hover: rgba(0,0,0,.24);
  --acc-chevron: rgba(0,0,0,.55);

  /* Indentation */
  --acc-indent: 14px; /* décalage par niveau */
}

/* Base : nécessaire pour le chevron */
nav.bellows-main :is(a.bellows-target, .bellows-target){
  position: relative;
  display: block;
}

/* ===== PARENTS (tous niveaux) ===== */

/* Style de base des parents (fond + bordure) */
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item)
  :is(.bellows-has-children > .bellows-target,
      .menu-item-has-children > .bellows-target,
      [aria-haspopup="true"] > .bellows-target,
      :has(> .bellows-submenu) > .bellows-target){
  background: var(--acc-parent-bg) !important;
  border-color: var(--acc-border) !important;
}

/* Hover / focus des parents */
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item)
  :is(.bellows-has-children > .bellows-target,
      .menu-item-has-children > .bellows-target,
      [aria-haspopup="true"] > .bellows-target,
      :has(> .bellows-submenu) > .bellows-target):is(:hover, :focus, :focus-visible){
  background: var(--acc-parent-bg-hover) !important;
  border-color: var(--acc-border-hover) !important;
}

/* Ouvert (actif / aria-expanded) */
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item).bellows-active
  > :is(a.bellows-target, .bellows-target),
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item)[aria-expanded="true"]
  > :is(a.bellows-target, .bellows-target){
  background: var(--acc-parent-bg-open) !important;
  border-color: var(--acc-border-hover) !important;
}

/* Chevron indicateur (pivot quand ouvert) */
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item):is(.bellows-has-children, .menu-item-has-children, [aria-haspopup="true"], :has(> .bellows-submenu))
  > :is(a.bellows-target, .bellows-target)::after{
  content: "";
  position: absolute;
  right: 10px; top: 50%;
  width: 10px; height: 10px;
  transform: translateY(-50%) rotate(0deg);
  transition: transform .18s ease, opacity .18s ease;
  opacity: .9; pointer-events: none;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") center/contain no-repeat;
  background: var(--acc-chevron);
}
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item).bellows-active
  > :is(a.bellows-target, .bellows-target)::after,
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li[aria-expanded="true"]
  > :is(a.bellows-target, .bellows-target)::after{
  transform: translateY(-50%) rotate(180deg);
}

/* Laisse la place au chevron dans le texte */
nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-menu-item, .bellows-item, .menu-item):is(.bellows-has-children, .menu-item-has-children, [aria-haspopup="true"], :has(> .bellows-submenu))
  > :is(a.bellows-target, .bellows-target) .bellows-target-title{
  padding-right: 30px;
}

/* ===== ENFANTS (non-parents) ===== */
nav.bellows-main .bellows-submenu
  > li:not(.bellows-has-children):not(.menu-item-has-children):not([aria-haspopup="true"]):not(:has(> .bellows-submenu))
  > :is(a.bellows-target, .bellows-target){
  background: var(--acc-child-bg) !important;
}
nav.bellows-main .bellows-submenu
  > li:not(.bellows-has-children):not(.menu-item-has-children):not([aria-haspopup="true"]):not(:has(> .bellows-submenu))
  > :is(a.bellows-target, .bellows-target):is(:hover, :focus, :focus-visible){
  background: var(--acc-child-bg-hover) !important;
}

/* ===== INDENTATION PAR NIVEAU ===== */
/* Niveau 1 (top-level) : pas de décalage */

/* Niveau 2 */
nav.bellows-main .bellows-submenu > li > :is(a.bellows-target, .bellows-target){
  margin-left: var(--acc-indent) !important;
}
/* Niveau 3 */
nav.bellows-main .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target){
  margin-left: calc(var(--acc-indent) * 2) !important;
}
/* Niveau 4 */
nav.bellows-main .bellows-submenu .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target){
  margin-left: calc(var(--acc-indent) * 3) !important;
}
/* Ajoute d’autres lignes si >4 niveaux */

/* Optionnel : fine “barre guide” verticale (désactive si tu veux) */
nav.bellows-main .bellows-submenu > li > :is(a.bellows-target, .bellows-target)::before,
nav.bellows-main .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target)::before,
nav.bellows-main .bellows-submenu .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target)::before{
  content: "";
  position: absolute;
  left: 8px; top: 8px; bottom: 8px;
  width: 2px; border-radius: 2px;
  background: rgba(0,0,0,.08);
  pointer-events: none;
}

/* RTL : miroir indentation + chevron */
[dir="rtl"] nav.bellows-main .bellows-submenu > li > :is(a.bellows-target, .bellows-target){ margin-left: 0 !important; margin-right: var(--acc-indent) !important; }
[dir="rtl"] nav.bellows-main .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target){ margin-right: calc(var(--acc-indent) * 2) !important; }
[dir="rtl"] nav.bellows-main .bellows-submenu .bellows-submenu .bellows-submenu > li > :is(a.bellows-target, .bellows-target){ margin-right: calc(var(--acc-indent) * 3) !important; }
[dir="rtl"] nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li > :is(a.bellows-target, .bellows-target)::after{ right: auto; left: 10px; }
[dir="rtl"] nav.bellows-main :is(.bellows-nav, .bellows-submenu)
  > li:is(.bellows-has-children, .menu-item-has-children, [aria-haspopup="true"], :has(> .bellows-submenu))
  > :is(a.bellows-target, .bellows-target) .bellows-target-title{ padding-left: 30px; padding-right: 14px; }




.tiss-edit-wrap { display:flex; justify-content:center; margin: 0 0 18px; }
a.tiss-edit-btn {
  display:inline-block; padding:8px 14px;
  background:#1f2937; color:#fff !important; border-radius:10px;
  text-decoration:none; font-weight:600; box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition: transform .15s, box-shadow .15s;
}
a.tiss-edit-btn:hover { transform: translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.18); }


.tisserand-section { margin-block: 2rem; }
.tisserand-section__title { margin: 0 0 1rem; }
.tisserand-section__inner > * + * { margin-top: .75rem; }

/* H2 des sections Tisserand (pages single du CPT) */
.single-tisserands .tisserand-section__title {
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); /* ~20→24px */
  line-height: 1.25;
  margin: 1.25rem 0 .75rem;
  font-weight: 600;
}

/* Quand une section n'a pas de titre (ex: Présentation), resserrer l'espace */
.single-tisserands .tisserand-section--no-title .tisserand-section__inner {
  margin-top: 0.5rem;
}

.tiss-titre_tisserand {
  font-weight: 900;
}

/* focus visible sur la carte quand on tabule */
.tiss-card:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}

/* ===========================
   GALERIE 3 PHOTOS
   =========================== */

.tisserands-galerie-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}

.tisserands-galerie-3__item {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 4px;
}

.tisserands-galerie-3__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 600px) {
  .tisserands-galerie-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
