/* Les tokens et les variantes simples sont définis dans theme.json / styles. */
.blabla-ambassadeurs { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--wp--preset--spacing--50); }
.blabla-ambassadeurs > * { margin-block: 0; min-width: 0; }
.blabla-gallery-band { overflow: clip; padding-block: var(--wp--preset--spacing--50); }
.blabla-gallery-band .blabla-gallery.wp-block-gallery { display: flex; flex-wrap: nowrap; gap: 0; width: 122%; max-width: none; margin: 0 0 0 -11%; padding-bottom: var(--wp--preset--spacing--50); }
.blabla-gallery-band .blabla-gallery.wp-block-gallery > figure.wp-block-image { width: 20% !important; flex: 0 0 20%; margin: 0; transform: rotate(4deg); }
.blabla-gallery-band .blabla-gallery.wp-block-gallery > figure.wp-block-image img { width: 100%; aspect-ratio: 350 / 450; height: auto; object-fit: cover; border-radius: var(--wp--custom--radius--photo); }
.blabla-gallery-band .blabla-gallery > figure:nth-child(2) { transform: translateY(8%) rotate(-2deg) !important; }
.blabla-gallery-band .blabla-gallery > figure:nth-child(3) { transform: translateY(16%) rotate(-2deg) !important; }
.blabla-gallery-band .blabla-gallery > figure:nth-child(4) { transform: translateY(9%) rotate(1deg) !important; }
.blabla-gallery-band .blabla-gallery > figure:nth-child(5) { transform: translateY(4%) rotate(3deg) !important; }
.blabla-faq { display: grid; grid-template-columns: 1fr 1.25fr; gap: var(--wp--preset--spacing--100); }
.blabla-faq > .blabla-faq__questions { margin-block-start: 0; min-width: 0; }
.blabla-faq__questions > .wp-block-details { margin-block-start: var(--wp--preset--spacing--20); }
.blabla-faq__questions summary { position: relative; padding-inline-end: 1.75rem; cursor: pointer; list-style: none; }
.blabla-faq__questions summary::-webkit-details-marker { display: none; }
.blabla-faq__questions summary::after { content: '+'; position: absolute; right: 0; top: 0; font-size: 1.4em; line-height: 1; }
.blabla-faq__questions details[open] > summary::after { content: '−'; }
#faq, #ambassadeurs, #villes, #aide { scroll-margin-top: 60px; }
@media (max-width: 781px) {
 .blabla-ambassadeurs, .blabla-faq { grid-template-columns: minmax(0, 1fr); }
 .blabla-ambassadeurs { gap: var(--wp--preset--spacing--20); text-align: center; }
 .blabla-gallery-band .blabla-gallery.wp-block-gallery { width: 220%; margin-left: -60%; }
 .blabla-faq { gap: var(--wp--preset--spacing--50); }
}
.blabla-hero__intro, .blabla-section-intro { text-align: center; }
.blabla-hero__intro > .wp-block-heading { max-width: 1050px; }
.blabla-hero__intro .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--30); }
.blabla-hero__photos { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); }
.blabla-hero__photos > .wp-block-image { margin: 0; }
.blabla-photo img { display: block; width: 100%; object-fit: cover; }
.blabla-hero__photos .blabla-photo img { aspect-ratio: 657 / 450; }
.blabla-hero__photos > .is-style-bulle { position: absolute; z-index: 1; padding: var(--wp--preset--spacing--20); border-radius: var(--wp--custom--radius--card); }
.blabla-hero__reviews { top: -3rem; left: 5%; transform: rotate(-12deg); }
.blabla-hero__members { right: calc(-1 * var(--wp--custom--gutter) / 2); top: 18%; border-radius: 50% !important; aspect-ratio: 1; display: grid; place-content: center; }
.blabla-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: var(--wp--preset--spacing--20); }
.blabla-steps > .blabla-step { margin-block-start: 0; display: flex; flex-direction: column; }
.blabla-step > .wp-block-heading { min-height: 3.75em; }
.blabla-step > p:last-child { border-top: 1px dashed currentColor; padding-block-start: var(--wp--preset--spacing--30); }
.blabla-step__number { margin: 0; }
.blabla-concept { display: grid; grid-template-columns: 1fr 3fr; gap: var(--wp--preset--spacing--50); }
.blabla-concept > .blabla-concept__body { margin-block-start: 0; }
.blabla-concept__aside .wp-block-buttons { justify-content: flex-start; }
.blabla-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); margin-block-start: var(--wp--preset--spacing--50); }
.blabla-benefits > .blabla-benefit { margin-block-start: 0; }
.blabla-benefit .wp-block-heading { font-size: var(--wp--preset--font-size--base); }
.blabla-full-photo .blabla-photo img { aspect-ratio: 1340 / 600; }
@media (max-width: 1000px) {
 .blabla-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .blabla-concept { grid-template-columns: 1fr 2fr; }
}
@media (max-width: 781px) {
 .blabla-hero__photos { grid-template-columns: minmax(0, 1fr); margin-block-start: var(--wp--preset--spacing--70) !important; }
 .blabla-hero__table { display: none; }
 .blabla-hero__photos .blabla-photo img { aspect-ratio: 358 / 400; }
 .blabla-hero__reviews { left: 2%; }
 .blabla-hero__members { top: auto; bottom: -1rem; right: 0; }
 .blabla-steps { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--20); }
 .blabla-steps > .blabla-step { flex: 0 0 82%; scroll-snap-align: center; }
 .blabla-concept { grid-template-columns: minmax(0, 1fr); }
 .blabla-concept__aside { text-align: center; }
 .blabla-concept__aside .wp-block-buttons { justify-content: center; }
 .blabla-full-photo .blabla-photo img { aspect-ratio: 1; }
}
:where(.wp-site-blocks, .editor-styles-wrapper) :where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.wp-site-blocks > header, .wp-site-blocks > footer { margin-block-start: 0; }
.blabla-header__row { min-width: 0; }
.blabla-brand img { display: block; width: auto; height: auto; }
.blabla-header__row > .blabla-header__nav { margin-inline-start: auto; }
.blabla-header__nav .wp-block-navigation-item__content { padding-block: .65rem; }
.blabla-header__nav .wp-block-navigation__responsive-container-open,
.blabla-header__nav .wp-block-navigation__responsive-container-close { border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--rouge-bouton); color: var(--wp--preset--color--blanc); padding: 12px; }
.is-style-fleche .wp-block-button__link::after, .is-style-inscription .wp-block-button__link::after { content: ""; display: inline-block; width: 1.1em; height: 1.1em; margin-inline-start: .5em; vertical-align: -.18em; background-color: currentColor; mask: url("../icons/arrow-right.svg") center / contain no-repeat; }
.is-style-eyebrow::before { content: "•"; margin-inline-end: .55em; }
.is-style-eyebrow { font-family: var(--wp--preset--font-family--tanker); font-size: var(--wp--preset--font-size--subtitle); text-transform: uppercase; }
.is-style-carte-inclinee { transform: rotate(-2deg); }
.is-style-carte-inclinee:nth-child(even) { transform: rotate(2deg); }
.is-style-bulle { position: relative; }
.is-style-bulle::after { content: ""; position: absolute; width: 1.5rem; height: 1.5rem; bottom: -.6rem; left: 25%; background: inherit; border-radius: 0 0 0 100%; transform: skewY(25deg); }
.blabla-footer__brand { border-inline-end: 1px dashed currentColor; padding-inline-end: var(--wp--preset--spacing--30); }
.blabla-footer__brand { flex-shrink: 0; }
.blabla-footer__brand img { filter: brightness(0) invert(1); }
.blabla-footer .wp-block-navigation-item__content::after { content: " ↗"; margin-inline-start: .3em; }
.blabla-footer a { text-underline-offset: .2em; }
.blabla-footer__legal { border-top: 1px dashed currentColor; }
.blabla-header__cta { flex-wrap: nowrap !important; }
.blabla-header__account { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin-left: 12px; border: 1px solid currentColor; border-radius: 50%; color: inherit; text-decoration: none; }
.blabla-nav-account { color: inherit; font-weight: 600; text-underline-offset: .2em; }
@media (max-width: 781px) {
 .blabla-header__row { gap: var(--wp--preset--spacing--10) !important; flex-wrap: nowrap !important; }
 .blabla-header .blabla-brand { width: 76px !important; flex-shrink: 0; }
 .blabla-header__row > .blabla-header__nav { order: 3; margin-inline-start: 0; }
 .blabla-header__row > .blabla-header__cta { margin-inline-start: auto; }
 .blabla-header__cta .wp-block-button__link { padding: 12px 16px; }
 /* Member: the "Faire un Blabla Table" button moves into the menu panel, the account icon stays in the bar. */
 .logged-in .blabla-header__cta .wp-block-button { display: none; }
 .blabla-header__account { margin-left: 0; }
 .blabla-header__account--login { display: none; }
 .blabla-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
 .blabla-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
 .blabla-header__nav .is-menu-open { background: var(--wp--preset--color--fond) !important; color: var(--wp--preset--color--marron) !important; padding: var(--wp--custom--gutter); }
 .blabla-header__nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 5rem; align-items: stretch; }
 .blabla-header__nav .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0; align-items: stretch; }
 .blabla-header__nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--divider); }
 .blabla-header .blabla-header__nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { width: 100%; padding: 1.5rem 0; text-align: center; font-size: var(--wp--preset--font-size--heading); font-weight: 600; }
 .blabla-header__nav .is-menu-open .blabla-nav-extras { display: flex; flex-direction: column; align-items: center; gap: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--50); }
 .blabla-header__nav .is-menu-open .blabla-nav-extras .wp-block-button__link { padding: 16px 32px; }
 .blabla-header__nav .is-menu-open .blabla-nav-extras .blabla-socials { margin-top: 0; }
 .blabla-footer__brand { border-inline-end: 0; padding-inline-end: 0; }
 .blabla-footer__columns { gap: var(--wp--preset--spacing--50) !important; }
}
@media (min-width: 782px) {
 .blabla-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; }
 .blabla-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
 .blabla-header__nav .blabla-nav-contact { display: none; }
}
/* Mobile panel only: never in the desktop bar, nor in the closed mobile menu. */
.blabla-header__nav .blabla-nav-extras { display: none; }
@media (max-width: 359px) {
 .blabla-header .blabla-brand { width: 62px !important; }
 .blabla-header__cta .wp-block-button__link { padding-inline: 10px; font-size: 16px; }
}

/* Account pages: editorial layout remains editable as native blocks. */
.blabla-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.blabla-auth-content{min-width:0;padding:16px 0 40px}
.blabla-auth-layout--login .blabla-auth-content,.blabla-auth-layout--recovery .blabla-auth-content{width:100%;max-width:440px;justify-self:center}
.blabla-auth-content>.blabla-brand{margin:0 auto 24px}
.blabla-auth-photo{position:sticky;top:24px;margin:0!important}
.blabla-auth-photo img{display:block;width:100%;height:calc(100svh - 150px);min-height:480px;max-height:900px;object-fit:cover;border-radius:var(--wp--custom--radius--photo)}
@media(max-width:781px){.blabla-auth-layout{grid-template-columns:minmax(0,1fr)}.blabla-auth-photo{display:none}.blabla-auth-content{padding-top:0}.blabla-auth-layout--register .blabla-auth-content{max-width:540px;justify-self:center}}.blabla-back{margin:0;font-weight:600}
.blabla-back a{text-decoration:none}
.blabla-back a:hover{text-decoration:underline}

/* Mouvement au défilement (assets/js/motion.js), actif seulement si le script a ajouté .bb-motion. */
.bb-motion .bb-reveal { opacity: 0; translate: 0 2rem; transition: opacity .7s ease-out, translate .7s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--bb-reveal-delay, 0ms); }
.bb-motion .bb-reveal.is-visible { opacity: 1; translate: 0 0; }
.bb-motion .bb-parallax { translate: 0 var(--bb-parallax, 0px); will-change: translate; }
.bb-motion .blabla-full-photo .blabla-photo { overflow: hidden; border-radius: var(--wp--custom--radius--photo); }
.bb-motion .blabla-full-photo .blabla-photo img { scale: 1.15; }
