/*
Theme Name: Amal Oursana
Theme URI: https://amaloursana.it
Description: Tema figlio di Twenty Twenty-Five per il sito di Amal Oursana, medico agopuntore. Colori, caratteri e modelli di blocco del sito.
Author: Amal Oursana
Template: twentytwentyfive
Version: 1.7.1
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: amaloursana
*/

/* ============ Base ============ */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wp-site-blocks{padding:0}
.wp-site-blocks>*+*{margin-block-start:0}
:where(.wp-site-blocks) > main, main.wp-block-group{margin-block-start:0}
img{max-width:100%;height:auto}
a{text-underline-offset:.2em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:3px;border-radius:4px}
.ao-eyebrow,.ao-eyebrow a{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--wp--preset--color--accent);text-decoration:none;margin:0}
.ao-lead{font-size:var(--wp--preset--font-size--large);color:var(--wp--preset--color--neutral)}

/* ============ Header ============ */
.ao-header{position:sticky;top:0;z-index:50;background:rgba(250,247,241,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(59,77,26,.1);padding:.7rem var(--wp--preset--spacing--40)}
.admin-bar .ao-header{top:32px}
.ao-header .wp-block-site-title a{text-decoration:none;color:var(--wp--preset--color--primary-dark)}
.ao-header .wp-block-navigation a{text-decoration:none;color:var(--wp--preset--color--contrast);font-weight:500}
.ao-header .wp-block-navigation a:hover{color:var(--wp--preset--color--accent)}
.ao-header .wp-block-navigation .current-menu-item>a,.ao-header .wp-block-navigation [aria-current]{color:var(--wp--preset--color--accent)}
.ao-header__cta .wp-block-button__link{padding:.6rem 1.3rem;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:959px){
  .ao-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .ao-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
}
.ao-header__cta .wp-block-button__link{white-space:nowrap}
/* Selettore lingua IT · FR */
.ao-lingue{display:flex;align-items:center;font-size:.85rem;font-weight:600;letter-spacing:.06em}
.ao-lingue a,.ao-lingue span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;text-decoration:none;color:var(--wp--preset--color--neutral)}
.ao-lingue a:hover{color:var(--wp--preset--color--accent)}
@media (max-width:959px){.ao-lingue{order:-1}}
.ao-lingue__attiva{color:var(--wp--preset--color--contrast)!important;text-decoration:underline!important;text-decoration-color:var(--wp--preset--color--accent)!important;text-underline-offset:5px;text-decoration-thickness:2px!important}
.ao-header .wp-block-site-title{white-space:nowrap}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--cream);padding:var(--wp--preset--spacing--50)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--heading);font-size:1.7rem;padding:.4rem 0}

/* ============ Page heads ============ */
.ao-pagehead{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--wp--preset--color--tint) 0%,#f6f1e6 70%)!important}
.ao-pagehead::after{content:"";position:absolute;right:max(-60px,calc((100vw - 1240px)/2 - 40px));top:50%;width:min(340px,48vw);aspect-ratio:1;transform:translateY(-50%);background:url("assets/img/logo/amal-oursana-logo.svg") center/contain no-repeat;opacity:.12;pointer-events:none}
.ao-pagehead h1{margin:0;max-width:18ch;font-size:var(--wp--preset--font-size--xx-large)}
.ao-pagehead .ao-eyebrow{margin-bottom:.6rem}
.ao-pagehead + main{padding-top:var(--wp--preset--spacing--60)}

/* ============ Hero ============ */
.ao-hero.wp-block-cover{min-height:min(92vh,880px);padding-block:var(--wp--preset--spacing--70)}
.ao-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(24,32,12,.88) 0%,rgba(24,32,12,.62) 42%,rgba(24,32,12,.08) 100%)!important;opacity:1!important}
.ao-hero .wp-block-cover__inner-container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--wp--preset--spacing--40);box-sizing:border-box}
.ao-hero h1{font-size:var(--wp--preset--font-size--hero)!important;line-height:1.02;font-weight:500;margin:.2rem 0 1rem;color:#fff}
.ao-hero__lead{font-size:var(--wp--preset--font-size--large);color:#eef2e6;max-width:40ch}
.ao-hero .ao-eyebrow{color:var(--wp--preset--color--accent-soft)}
.ao-hero .wp-block-button__link{min-height:52px;display:inline-flex;align-items:center;padding-inline:1.7rem}
@media (max-width:781px){.ao-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(24,32,12,.55) 0%,rgba(24,32,12,.85) 100%)!important}.ao-hero.wp-block-cover{min-height:88svh}}

/* trust strip */
.ao-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2.2rem;padding:1.3rem var(--wp--preset--spacing--40);background:var(--wp--preset--color--primary-dark);color:#e6edd8;font-size:.95rem;text-align:center}
.ao-trust span{display:inline-flex;align-items:center;gap:.55rem}
.ao-trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--wp--preset--color--accent-soft)}

/* ============ Sections ============ */
.ao-section{padding-block:var(--wp--preset--spacing--70)}
.ao-section-head{max-width:46rem;margin-inline:auto;text-align:center;margin-bottom:var(--wp--preset--spacing--60)}
.ao-section-head h2{margin:.4rem 0 .8rem}
.ao-statement{font-family:var(--wp--preset--font-family--heading);font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.35;text-align:center;color:var(--wp--preset--color--primary-dark);max-width:30ch;margin-inline:auto}
.ao-statement em{color:var(--wp--preset--color--accent)}

/* pillars: big image cards */
.ao-pillars{gap:var(--wp--preset--spacing--40)!important}
.ao-pillar.wp-block-cover{min-height:460px;border-radius:22px;overflow:hidden;align-items:flex-end;padding:1.6rem;transition:transform .35s ease,box-shadow .35s ease;position:relative}
.ao-pillar .wp-block-cover__background{background:linear-gradient(180deg,rgba(24,32,12,0) 25%,rgba(24,32,12,.88) 100%)!important;opacity:1!important}
.ao-pillar h3{color:#fff;font-size:1.7rem;margin:0 0 .4rem}
.ao-pillar p{color:#e6edd8;margin:0 0 .8rem;font-size:1rem}
.ao-pillar a{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid var(--wp--preset--color--accent-soft)}
.ao-pillar a::after{content:"";position:absolute;inset:0;z-index:2}
.ao-pillar:hover{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(35,46,16,.5)}
.ao-pillar .wp-block-cover__image-background{transition:transform .8s ease}
.ao-pillar:hover .wp-block-cover__image-background{transform:scale(1.05)}

/* tinted bands */
.ao-band-tint{background:var(--wp--preset--color--tint)}
.ao-band-rose{background:var(--wp--preset--color--tint-2)}

/* testimonials */
.ao-quotes{gap:var(--wp--preset--spacing--40)!important}
.ao-quotes .wp-block-column{display:flex;flex-direction:column;gap:var(--wp--preset--spacing--40)}
.ao-quotes blockquote.wp-block-quote{background:#fff;border:0!important;border-radius:20px;padding:2.2rem 1.8rem 1.6rem!important;margin:0;font-family:var(--wp--preset--font-family--body);font-style:normal;font-size:1rem;line-height:1.65;box-shadow:0 14px 34px -22px rgba(35,46,16,.45);position:relative}
.ao-quotes blockquote.wp-block-quote::before{content:"“";position:absolute;top:.2rem;left:1.3rem;font:700 4.5rem/1 var(--wp--preset--font-family--heading);color:var(--wp--preset--color--accent-soft)}
.ao-quotes blockquote cite{display:block;margin-top:1rem;font-style:normal;font-weight:600;color:var(--wp--preset--color--primary);font-size:.95rem}
.ao-quotes blockquote cite::before{content:"— "}

/* newsletter card */
.ao-newsletter-card{background:linear-gradient(135deg,var(--wp--preset--color--primary) 0%,var(--wp--preset--color--primary-dark) 100%);border-radius:28px;color:#fff;position:relative;overflow:hidden}
.ao-newsletter-card::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;aspect-ratio:1;pointer-events:none;background:url("assets/img/logo/amal-oursana-logo-blanc-512.png") center/contain no-repeat;opacity:.14}
.ao-newsletter-card h2{color:#fff}

/* book */
.ao-book img{border-radius:6px;box-shadow:0 26px 40px -22px rgba(0,0,0,.55);transform:rotate(-2deg)}

/* studios */
.ao-studio{background:#fff;border-radius:18px;padding:1.6rem!important;box-shadow:0 12px 30px -22px rgba(35,46,16,.5);border-top:4px solid var(--wp--preset--color--accent-soft)}
.ao-studio h3{margin-top:0}

/* ============ Buttons ============ */
.wp-block-button__link{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;min-height:44px}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(35,46,16,.55)}
.wp-block-button.is-style-outline .wp-block-button__link{border:2px solid currentColor;background:transparent;color:var(--wp--preset--color--primary)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--primary);color:#fff}
.ao-hero .wp-block-button.is-style-outline .wp-block-button__link,.ao-newsletter-card .is-style-outline .wp-block-button__link{color:#fff}
.ao-hero .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--primary-dark)}

/* ============ Content ============ */
.wp-block-post-content>h2{margin-top:var(--wp--preset--spacing--60)}
.wp-block-post-content>h2:first-child{margin-top:0}
.wp-block-post-content ul.wp-block-list li{margin-bottom:.45rem}
.wp-block-post-content ul.wp-block-list li::marker{color:var(--wp--preset--color--accent)}
.wp-block-media-text .wp-block-media-text__media img,.wp-block-image img{border-radius:16px}
.wp-block-media-text{gap:var(--wp--preset--spacing--50);margin-block:var(--wp--preset--spacing--50)}
.wp-block-media-text__content{padding:0!important}
.wp-block-quote{border-left:4px solid var(--wp--preset--color--accent-soft);padding-left:1.4rem}
.wp-block-gallery img{border-radius:12px}
.wp-block-embed iframe{border-radius:16px}
.wp-block-separator{border-color:var(--wp--preset--color--accent-soft);opacity:.6}

/* course + blog cards */
.wp-block-query .wp-block-post-title a{text-decoration:none;color:var(--wp--preset--color--primary-dark)}
.wp-block-query .wp-block-post-title a:hover{color:var(--wp--preset--color--accent)}
.wp-block-post-template.is-layout-grid>li{transition:transform .3s ease}
.wp-block-post-template.is-layout-grid>li:hover{transform:translateY(-4px)}
.wp-block-post-featured-image img{transition:transform .6s ease}
.wp-block-post-template li:hover .wp-block-post-featured-image img{transform:scale(1.04)}
.wp-block-post-featured-image{overflow:hidden;border-radius:14px}
.ao-footer a{text-decoration:none}.ao-footer a:hover{text-decoration:underline}
.ao-footer__title{letter-spacing:.14em;text-transform:uppercase;font-size:.8125rem!important;color:var(--wp--preset--color--accent-soft)!important;font-family:var(--wp--preset--font-family--body)!important}
.ao-footer .ao-logo img{width:72px;height:72px}

/* ============ Forms ============ */
.wpforms-container .wpforms-field-label{font-weight:600}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container textarea{font-size:16px;padding:.8rem 1rem;border:1px solid rgba(0,0,0,.18);border-radius:12px;width:100%;max-width:100%;background:#fff}
.wpforms-container input:focus,.wpforms-container textarea:focus{border-color:var(--wp--preset--color--primary);box-shadow:0 0 0 3px rgba(59,77,26,.15);outline:none}
.wpforms-container input[type=checkbox]{width:22px;height:22px}
.wpforms-container button.wpforms-submit{background:var(--wp--preset--color--primary)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:.85rem 1.8rem!important;font:inherit!important;font-weight:600!important;font-size:1.0625rem!important;min-height:48px;cursor:pointer}
.wpforms-container button.wpforms-submit:hover{background:var(--wp--preset--color--primary-dark)!important}

/* ============ Mobile ============ */
@media (max-width:781px){
  .ao-hero .wp-block-cover__inner-container{padding-inline:0}
  /* header keeps the same side margin as the page content (24px), so the logo lines up with the text */
  .ao-header .wp-block-site-title{font-size:1.15rem!important}
  .ao-section{padding-block:var(--wp--preset--spacing--60)}
  .ao-pillar.wp-block-cover{min-height:380px}
  .ao-pagehead::after{opacity:.1}
  .ao-book img{transform:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Phone: logo, IT·FR and menu only; booking stays in the menu and on every page */
@media (max-width:499px){.ao-header .ao-header__cta{display:none}}
/* Small laptops: the French menu is longer, keep it on one line */
@media (min-width:960px) and (max-width:1279px){.ao-header .wp-block-navigation{gap:1rem!important;font-size:.95rem}.ao-header .wp-block-site-title{font-size:1.15rem}}

/* Video placeholder before cookie consent: readable notice */
.cmplz-blocked-content-notice{background:rgba(31,38,23,.94)!important;color:#fff!important;font-size:15px!important;padding:12px 16px!important;border-radius:10px!important}
.cmplz-blocked-content-notice a,.cmplz-blocked-content-notice button{color:#fff!important;text-decoration:underline}


/* =====================================================================
   Modern refresh (31 Oct 2026)
   ===================================================================== */

/* Section titles: a little larger and tighter */
.ao-section-head h2{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.01em}
.ao-section-head .ao-eyebrow{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:var(--wp--preset--color--tint-2)}
.ao-band-tint .ao-section-head .ao-eyebrow{background:#fff}

/* Trust strip as soft chips */
.ao-trust{gap:.6rem .7rem;padding:1.1rem var(--wp--preset--spacing--40)}
.ao-trust span{padding:.5rem 1rem;border:1px solid rgba(241,184,208,.35);border-radius:999px;background:rgba(255,255,255,.05);font-size:.9375rem;line-height:1.3}

/* Course and blog grids: centred, never a lonely card on the left */
.wp-block-query .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),23rem))!important;justify-content:center}

/* Course cards: date badge on the photo */
.ao-card-corso{position:relative;overflow:hidden;box-shadow:0 14px 34px -26px rgba(35,46,16,.5)}
.ao-data{position:absolute;top:12px;left:12px;z-index:2;margin:0;min-width:58px;background:#fff;border-radius:14px;padding:.5rem .65rem .45rem;text-align:center;line-height:1;color:var(--wp--preset--color--primary-dark);box-shadow:0 10px 22px -12px rgba(0,0,0,.45)}
.ao-data time{display:flex;flex-direction:column;align-items:center;gap:3px}
.ao-data__giorno{font-family:var(--wp--preset--font-family--heading);font-size:1.65rem;font-weight:600}
.ao-data__mese{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--wp--preset--color--accent)}
.ao-data--sempre{padding:.55rem .8rem;min-width:0}
.ao-data--sempre span{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--primary)}

/* Video before consent: thumbnail + play button instead of a blank frame */
.wp-block-embed .cmplz-blocked-content-container{background-size:cover!important;background-position:center!important;border-radius:16px;overflow:hidden;position:relative}
.wp-block-embed .cmplz-blocked-content-container iframe{opacity:0}
.wp-block-embed:has(.cmplz-blocked-content-container){position:relative}
.wp-block-embed:has(.cmplz-blocked-content-container)::after{content:"";position:absolute;left:50%;top:42%;width:76px;height:76px;transform:translate(-50%,-50%);border-radius:50%;z-index:2;pointer-events:none;background:rgba(184,49,108,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 56% 50%/32px no-repeat;box-shadow:0 14px 30px -10px rgba(0,0,0,.5)}
.wp-block-embed .cmplz-blocked-content-container .cmplz-blocked-content-notice{top:auto!important;bottom:16px!important;left:50%!important;transform:translateX(-50%)!important;width:max-content;max-width:calc(100% - 32px)}

/* Gentle fade-in (only when JS runs and motion is allowed) */
.ao-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.ao-reveal.ao-in{opacity:1;transform:none}

/* Phone action bar */
.ao-mbar{display:none}

@media (max-width:781px){
  /* Hero: photo visible at the top, text sits at the bottom */
  .ao-hero.wp-block-cover{min-height:78svh;align-items:flex-end;padding-block:var(--wp--preset--spacing--50)}
  .ao-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(24,32,12,.12) 0%,rgba(24,32,12,.35) 38%,rgba(24,32,12,.9) 100%)!important}
  .ao-hero__lead{font-size:1.0625rem}
  .ao-hero .wp-block-buttons{gap:.6rem}
  .ao-hero .wp-block-button__link{min-height:48px;padding-inline:1.3rem}

  /* Chips: two tidy columns */
  .ao-trust{display:grid;grid-template-columns:1fr 1fr;text-align:left;padding:1rem var(--wp--preset--spacing--30)}
  .ao-trust span{border-radius:14px;font-size:.875rem;padding:.6rem .75rem;align-items:flex-start}
  .ao-trust span::before{margin-top:.45em;flex:none}

  /* Testimonials: swipe sideways, next card peeks in */
  .ao-quotes{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;margin-inline:calc(-1 * var(--wp--style--root--padding-left,1.25rem))!important;padding:6px var(--wp--style--root--padding-left,1.25rem) 22px!important;scroll-padding-inline:var(--wp--style--root--padding-left,1.25rem);scrollbar-width:none}
  .ao-quotes::-webkit-scrollbar{display:none}
  .ao-quotes .wp-block-column{display:contents}
  .ao-quotes blockquote.wp-block-quote{flex:0 0 84%;scroll-snap-align:start}

  .ao-pillar.wp-block-cover{min-height:320px}

  /* Phone action bar */
  .ao-mbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:rgba(250,247,241,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(59,77,26,.12);border-radius:20px;box-shadow:0 14px 34px -14px rgba(35,46,16,.5);transition:transform .3s ease,opacity .3s ease}
  .ao-mbar a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:14px;font-weight:600;font-size:1rem;text-decoration:none}
  .ao-mbar__prenota{background:var(--wp--preset--color--accent);color:#fff}
  .ao-mbar__wa{background:#fff;color:var(--wp--preset--color--primary-dark);border:1px solid #e3e8d8}
  .ao-mbar--hidden,.ao-mbar--menu{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
  .ao-footer{padding-bottom:calc(var(--wp--preset--spacing--40) + 12px)!important}
}

/* Inner pages (Servizi, Corsi, Articoli): clearer headings and softer empty states */
.wp-block-post-content>h2{font-size:clamp(1.75rem,3.4vw,2.4rem);line-height:1.12;letter-spacing:-.005em}
.wp-block-query-no-results p{background:var(--wp--preset--color--tint);border-radius:16px;padding:1rem 1.2rem;color:var(--wp--preset--color--neutral);max-width:40rem;margin-inline:0;text-align:left}

/* Sticky header: the sticky element must be the template-part wrapper (the inner group is as tall as its parent) */
header.wp-block-template-part{position:sticky;top:0;z-index:50}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
@media (max-width:600px){.admin-bar header.wp-block-template-part{top:0}}
.ao-header,.admin-bar .ao-header{position:relative;top:auto}
/* The blur lives on a background layer: a backdrop-filter on the header itself would trap the full-screen mobile menu inside the header */
.ao-header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.ao-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(250,247,241,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
[id]{scroll-margin-top:96px}
.ao-header .wp-block-site-logo{flex:none}
.ao-header .wp-block-site-title a{display:inline-block;padding-block:8px;margin-block:-8px}

/* ============ Layout system (1.5): one frame ============
   Every page uses the same 1240px frame as the header: logo, page title, text, photos and
   the contact band all start on the same left edge. Running text keeps a readable width
   (720px) but is no longer centred, so nothing floats in the middle of the page. */
:root{--ao-frame-left:max(0px,calc((100% - var(--wp--style--global--wide-size)) / 2))}
.wp-block-post-content.is-layout-constrained>:not(.alignwide):not(.alignfull),
main.is-layout-constrained>:not(.alignwide):not(.alignfull),
.ao-pagehead.is-layout-constrained>:not(.alignwide):not(.alignfull){margin-left:var(--ao-frame-left)!important;margin-right:auto!important}
.ao-pagehead h1{max-width:22ch}

/* Centred intro lines on the home page never run the full wide width */
.ao-lead,.ao-section>p.has-text-align-center{max-width:40rem;margin-inline:auto!important}

/* Wide image + text rows: two equal halves, same gutter on every row and every page */
@media (min-width:782px){
  .wp-block-media-text.alignwide:not(.ao-book),
  .wp-block-media-text.alignwide.has-media-on-the-right:not(.ao-book){grid-template-columns:1fr 1fr!important;column-gap:var(--wp--preset--spacing--60)}
  .wp-block-media-text.alignwide.is-image-fill .wp-block-media-text__media{min-height:360px}
}
/* Image + text inside the text column (book, flyer) */
.wp-block-post-content>.wp-block-media-text:not(.alignwide){gap:var(--wp--preset--spacing--40)}

/* Consultation band: wide card, text left, buttons right; stacked on phones */
.ao-cta{border-radius:24px;padding:clamp(1.75rem,4vw,3rem) clamp(1.25rem,5vw,3.5rem)!important;gap:1.5rem 3rem!important;margin-top:var(--wp--preset--spacing--60)!important}
.ao-cta__testo{flex:1 1 20rem;max-width:34rem}
.ao-cta__testo h2{margin:0 0 .4rem;font-size:var(--wp--preset--font-size--x-large)}
.ao-cta__testo p{margin:0;color:var(--wp--preset--color--neutral)}
.ao-cta__bottoni{flex:0 1 auto;gap:.75rem}
@media (max-width:599px){
  .ao-cta__bottoni{display:inline-flex!important;flex-direction:column;align-items:stretch;width:auto}
  .ao-cta__bottoni .wp-block-button,.ao-cta__bottoni .wp-block-button__link{width:100%;justify-content:center;text-align:center}
}
.ao-cta__testo h2{text-wrap:balance}
.wp-block-post-content>.wp-block-media-text:not(.alignwide){align-items:start}

/* ============ Logo B1 (1.4) ============ */
:root{--green:#28492E;--gold:#DDAE57;--pink:#F685AD}
.ao-logo{flex:none;line-height:0;margin:0}
.ao-logo a{display:inline-block;border-radius:50%}
.ao-header .ao-logo img{width:64px;height:64px;display:block}
@media (max-width:781px){.ao-header .ao-logo img{width:48px;height:48px}}
@media (max-width:359px){.ao-header .ao-logo img{width:44px;height:44px}.ao-header .wp-block-site-title{font-size:1.05rem!important}.ao-header .alignwide>.wp-block-group:last-child{gap:.9rem!important}}

/* ============ Pages Corsi e Contatti (1.6) ============ */
/* Course cards on inner pages follow the frame (home keeps them centred under its centred titles) */
.wp-block-post-content>.wp-block-query .wp-block-post-template.is-layout-grid,main>.wp-block-query .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))!important;justify-content:start}
/* Photo gallery: even squares instead of tall portrait strips */
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{aspect-ratio:1;height:auto;object-fit:cover}
/* Newsletter band inside a page: no double gap before the contact band */
.wp-block-post-content>.ao-section{padding-block:var(--wp--preset--spacing--50)}
.wp-block-post-content>.ao-section+.ao-cta{margin-top:0!important}
/* In-page section links (Corsi e seminari) */
.ao-ancore{display:flex;flex-wrap:wrap;gap:.6rem}
.ao-ancore a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:999px;background:var(--wp--preset--color--tint);color:var(--wp--preset--color--primary-dark);text-decoration:none;font-weight:600;font-size:.95rem;transition:background-color .2s ease,color .2s ease}
.ao-ancore a:hover,.ao-ancore a:focus-visible{background:var(--wp--preset--color--primary);color:#fff}
/* Contatti: direct contact card + form, side by side */
.ao-contatti{gap:var(--wp--preset--spacing--60)!important;margin-top:var(--wp--preset--spacing--50)!important;align-items:flex-start!important}
.ao-contatti__card{border-radius:20px;padding:clamp(1.5rem,3vw,2.25rem)!important}
.ao-contatti__card>h2,.ao-contatti .wp-block-column>h2:first-child{margin-top:0}
/* stacked buttons share the width of the longest label, not the whole card */
.ao-contatti__bottoni{display:inline-flex!important;flex-direction:column;align-items:stretch!important;width:auto;gap:.75rem}
.ao-contatti__bottoni .wp-block-button,.ao-contatti__bottoni .wp-block-button__link{width:100%;justify-content:center;text-align:center}
.ao-contatti__dati{margin-top:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--30);border-top:1px solid rgba(59,77,26,.15)}
.ao-contatti .wpforms-container{margin-top:var(--wp--preset--spacing--30)}
.ao-contatti .wpforms-container .wpforms-field input:not([type=checkbox]),.ao-contatti .wpforms-container .wpforms-field textarea{max-width:100%!important;width:100%}
@media (min-width:782px){.ao-contatti__card{position:sticky;top:110px}}
.ao-card-corso>.wp-block-post-featured-image,.ao-card-corso>.wp-block-group{align-self:stretch;width:100%}.ao-card-corso>.wp-block-post-featured-image img{width:100%}
/* Short pages (404, search): the footer stays at the bottom of the screen */
.wp-site-blocks{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.wp-site-blocks>footer{margin-top:auto}
/* All content buttons share one height (filled and outlined were 54px vs 63px) */
:where(main) .wp-block-button__link{min-height:52px;padding-top:.5rem!important;padding-bottom:.5rem!important;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
@media (max-width:359px){:where(main) .wp-block-button__link{padding-left:1.1rem!important;padding-right:1.1rem!important;font-size:.95rem}}
.wp-block-media-text.alignwide:not(.ao-book):not(.is-image-fill) .wp-block-media-text__media img{aspect-ratio:4/3;object-fit:cover;width:100%}
/* Booking box beside long texts (wide screens only; phones have the bottom bar) */
.ao-aside{display:none}
@media (min-width:1200px){
  .wp-block-post-content:has(>.ao-aside){position:relative}
  .wp-block-post-content>.ao-aside{display:block;position:absolute!important;right:var(--ao-frame-left);top:0;width:280px;margin:0!important;max-width:none!important}
  .ao-aside__card{position:sticky;top:120px;background:var(--wp--preset--color--tint);border-radius:20px;padding:1.5rem;display:flex;flex-direction:column;gap:.7rem}
  .ao-aside__card p{margin:0}
  .ao-aside__titolo{font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--large);color:var(--wp--preset--color--primary-dark);line-height:1.2}
  .ao-aside__card>p:not(.ao-aside__titolo){font-size:.95rem;color:var(--wp--preset--color--neutral)}
  .ao-aside__card .wp-block-button__link{margin-top:.3rem;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
  .ao-aside__link{display:flex;align-items:center;min-height:44px;font-weight:600;color:var(--wp--preset--color--primary)}
  .ao-aside--nascosto{visibility:hidden}
}
.wp-block-post-content>.ao-aside+*{margin-block-start:0!important}
/* Image-fill rows use a real <img> (srcset) instead of a full-size background */
.wp-block-media-text.is-image-fill .wp-block-media-text__media{position:relative;overflow:hidden;border-radius:16px}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0;clip:auto!important;object-fit:cover;border-radius:16px}
/* Booking form (Bookly): site fonts, readable sizes, 16px fields (no iOS zoom), site buttons */
.bookly-form{font-family:var(--wp--preset--font-family--body)!important;max-width:none!important;font-size:1rem!important}
.bookly-form *{font-family:inherit!important}
.bookly-form label,.bookly-form .bookly-box,.bookly-form .bookly-label-error,.bookly-form .bookly-progress-tracker>div{font-size:.95rem!important}
.bookly-form input[type=text],.bookly-form input[type=email],.bookly-form input[type=tel],.bookly-form select,.bookly-form textarea{font-size:16px!important;min-height:44px;border-radius:10px!important;padding:.4rem .7rem!important}
.bookly-form .bookly-btn,.bookly-form button.bookly-nav-btn,.bookly-form .bookly-square{text-transform:none!important}
.bookly-form .bookly-btn.bookly-next-step,.bookly-form .bookly-btn.bookly-back-step,.bookly-form .bookly-nav-btn{border-radius:999px!important;min-height:48px;padding:0 1.6rem!important;font-size:1rem!important;font-weight:600!important;letter-spacing:0!important}
.bookly-form .bookly-time-step .bookly-hour,.bookly-form .bookly-column button{min-height:44px;font-size:.95rem!important;border-radius:10px!important}
.bookly-form button,.bookly-form .ladda-button,.bookly-form .ladda-label{text-transform:none!important;letter-spacing:0!important}
/* Course list (Tutor) inside pages: same frame as everything else */
.wp-block-post-content>.tutor-courses-wrap{width:auto!important;max-width:var(--wp--style--global--wide-size)!important;padding-left:0!important;padding-right:0!important;margin-right:auto!important}
/* Tutor greys: readable contrast */
.tutor-meta,.tutor-meta>div,.tutor-meta span,.tutor-course-card .tutor-color-secondary,.tutor-course-details-page .tutor-color-secondary,.tutor-color-muted{color:var(--wp--preset--color--neutral)!important}
/* Tutor LMS: site colours, buttons and frame */
:root{--tutor-color-primary:#3b4d1a;--tutor-color-primary-rgb:59,77,26;--tutor-color-primary-hover:#232e10;--tutor-color-primary-hover-rgb:35,46,16}
.tutor-btn-primary,.tutor-add-to-cart-button,.tutor-btn.tutor-btn-primary{background-color:var(--wp--preset--color--primary)!important;border-color:var(--wp--preset--color--primary)!important;border-radius:999px!important;min-height:48px;font-weight:600!important}
.tutor-btn-primary:hover,.tutor-add-to-cart-button:hover{background-color:var(--wp--preset--color--primary-dark)!important;border-color:var(--wp--preset--color--primary-dark)!important}
.tutor-btn-outline-primary{border-radius:999px!important;color:var(--wp--preset--color--primary)!important;border-color:var(--wp--preset--color--primary)!important}
.tutor-accordion-item-header,.tutor-course-topic-title{color:var(--wp--preset--color--primary-dark)!important}
.tutor-wrap.tutor-page-wrap>.tutor-course-details-page,.tutor-course-details-page.tutor-container,.tutor-wrap .tutor-container{max-width:var(--wp--style--global--wide-size)!important;padding-left:0!important;padding-right:0!important}
.tutor-wrap.tutor-page-wrap{padding-left:var(--wp--style--root--padding-left)!important;padding-right:var(--wp--style--root--padding-right)!important}
.tutor-course-thumbnail img,.tutor-card{border-radius:16px}
.bookly-form .bookly-mobile-next-step,.bookly-form .bookly-mobile-prev-step,.bookly-form .bookly-js-mobile-next-step,.bookly-form .bookly-js-mobile-prev-step{border-radius:999px!important;min-height:48px;padding:0 1.6rem!important;font-size:1rem!important;font-weight:600!important;text-transform:none!important}

/* ============ Revue du 4 novembre 2026 ============ */
/* Accueil : le titre et le texte démarrent sur le même bord que le logo et le reste de la page */
.ao-hero.wp-block-cover{padding-left:var(--wp--preset--spacing--40)!important;padding-right:var(--wp--preset--spacing--40)!important}
.ao-hero .wp-block-cover__inner-container{width:100%!important;max-width:var(--wp--style--global--wide-size)!important;margin-inline:auto!important;padding-inline:0!important}
.ao-hero .wp-block-cover__inner-container>.has-global-padding{padding-inline:0!important}
/* Contatti : les deux titres ont la même taille et la même ligne ; boutons de même largeur */
.ao-contatti .wp-block-column>h2{font-size:clamp(1.75rem,3.4vw,2.4rem)!important;line-height:1.12}
@media (min-width:782px){.ao-contatti>.wp-block-column:not(.ao-contatti__card){padding-top:clamp(1.5rem,3vw,2.25rem)}}
.ao-contatti__bottoni{display:flex!important;width:100%}
/* Pages des cours (Tutor) : polices et fond du site */
body.tutor-lms{font-family:var(--wp--preset--font-family--body)!important;background-color:var(--wp--preset--color--cream)!important}
body.tutor-lms .tutor-wrap :is(h1,h2,h3,h4,h5,h6,p,a,span,label,li,input,select,textarea,button,div):not([class*="tutor-icon"]){font-family:var(--wp--preset--font-family--body)}
/* Cours vidéo : pas de menu de tri ; section cachée tant qu'aucun cours n'est en vente */
.tutor-courses-wrap .tutor-course-filter,.tutor-courses-wrap .tutor-course-filter+br{display:none!important}
.wp-block-post-content>h2#video:has(+.tutor-empty-state),
.wp-block-post-content>h2#video+.tutor-empty-state,
body:has(h2#video+.tutor-empty-state) .ao-ancore a[href$="#video"]{display:none!important}
/* Cookie policy : mêmes tailles de texte que les autres pages */
#cmplz-document{font-size:var(--wp--preset--font-size--medium)!important;line-height:1.7}
#cmplz-document p,#cmplz-document li,#cmplz-document td,#cmplz-document th,#cmplz-document summary,#cmplz-document summary *,#cmplz-document .cmplz-always-active{font-size:inherit!important}
#cmplz-document h2{font-size:clamp(1.5rem,2.6vw,1.9rem)!important;line-height:1.2}
#cmplz-document h3{font-size:var(--wp--preset--font-size--large)!important}
