*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--av-bg,#f5f1e8);color:var(--av-text,#151515);font-family:var(--av-body-font,Arial,sans-serif);font-size:var(--av-body-size,17px);font-weight:var(--av-body-weight,400);line-height:1.6}a{color:inherit}.site-header{position:relative;z-index:20;height:var(--av-header-height,88px);display:flex;align-items:center;justify-content:space-between;padding:0 max(3vw,calc((100vw - var(--av-container,1500px))/2));background:var(--av-bg);color:var(--av-text)}.site-header.is-transparent{position:absolute;top:0;left:0;right:0;background:transparent;color:var(--av-header-text,#fff)}.site-header.is-sticky{position:sticky;top:0}.site-header.is-transparent.is-sticky{position:fixed}.brand{font-family:var(--av-heading-font,Georgia,serif);font-size:28px;text-decoration:none}.brand picture{display:block}.logo{display:block;max-width:var(--av-logo-width,220px);max-height:calc(var(--av-header-height,88px) - 26px);width:auto;height:auto}.logo--light{display:none}.site-header.is-transparent .logo--light{display:block}.site-header.is-transparent .logo--dark{display:none}.custom-logo{max-height:65px;width:auto}.site-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none}.menu-toggle{display:none}.hero-grid{position:relative;min-height:100svh;background:#111;color:#fff;overflow:hidden}.hero-grid:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--overlay,.35));pointer-events:none}.hero-grid__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-grid__items{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);min-height:100svh}.hero-tile{display:flex;align-items:flex-end;justify-content:space-between;padding:clamp(20px,2.5vw,44px);border-right:1px solid rgba(255,255,255,.38);border-bottom:1px solid rgba(255,255,255,.38);text-decoration:none;position:relative;background:var(--tile-bg,transparent);transition:background-color .28s ease,backdrop-filter .28s ease}.hero-tile:hover,.hero-tile:focus-visible{background:var(--tile-hover,rgba(0,0,0,.54));backdrop-filter:blur(2px)}.hero-tile__number{position:absolute;top:calc(var(--av-header-height,88px) + 8px);right:20px;font-size:10px;letter-spacing:.16em}.hero-tile h2{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(34px,3.3vw,68px);font-weight:var(--av-heading-weight,500);line-height:.92;margin:0}.hero-tile__reveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(12px);transition:.28s}.hero-tile:hover .hero-tile__reveal{max-height:180px;opacity:1;transform:none;margin-top:18px}.hero-tile__reveal p{max-width:28ch}.section,.content-shell{padding:var(--av-section-space,140px) max(5vw,calc((100vw - var(--av-container,1500px))/2))}.section--dark{background:var(--av-dark,#181818);color:#fff}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:50px}.section-head span{text-transform:uppercase;letter-spacing:.15em;font-size:12px}.section-head h2,.content-shell h1{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(52px,7vw,110px);font-weight:var(--av-heading-weight,500);line-height:.95;margin:8px 0 20px}.section-head p{max-width:65ch;color:var(--av-muted,#66615b)}.section--dark .section-head p{color:rgba(255,255,255,.75)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:var(--av-surface,#fff)}.section--dark .card{background:transparent}.card a{text-decoration:none}.card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.card h3{font-family:var(--av-heading-font,Georgia,serif);font-size:38px;font-weight:var(--av-heading-weight,500);line-height:1;margin:18px 18px 8px}.card p{margin:0 18px 22px;color:var(--av-muted,#66615b)}.section--dark .card p{color:rgba(255,255,255,.72)}.single-content{max-width:var(--av-container,1500px);margin:auto}.single-content header img{width:100%;height:auto}.prose{max-width:760px;font-size:18px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:70px max(6vw,calc((100vw - var(--av-container,1500px))/2));background:var(--av-dark,#181818);color:var(--av-footer-text,#fff)}.site-footer h2{font-family:var(--av-heading-font,Georgia,serif)}.site-footer ul{list-style:none;padding:0}.button,.wp-block-button__link,input[type=submit]{display:inline-block;padding:12px 18px;background:var(--av-accent);color:#fff;border:1px solid var(--av-accent);border-radius:var(--av-button-radius,0);text-decoration:none;font-weight:600;transition:.2s}.button:hover,.wp-block-button__link:hover,input[type=submit]:hover{background:var(--av-accent-hover);border-color:var(--av-accent-hover)}body.av-buttons-uppercase .button{text-transform:uppercase;letter-spacing:.08em}@media(max-width:800px){
.site-header,.site-header.is-transparent,.site-header.is-sticky,.site-header.is-transparent.is-sticky{position:absolute;top:0;left:0;right:0;height:72px;padding:0 18px;background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,0));color:#fff;display:flex;align-items:center;z-index:100}
.brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 70px);font-size:22px;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.brand picture{display:flex;align-items:center}.logo{display:none!important;max-width:min(var(--av-logo-width,220px),170px);max-height:50px}.logo--light{display:block!important}.custom-logo-link{display:flex;align-items:center}.custom-logo{display:block;max-width:170px;max-height:50px;width:auto;height:auto}
.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;height:48px;margin-left:auto;padding:0 4px;border:0;background:transparent;color:#fff;font:600 11px/1 var(--av-body-font,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.menu-toggle__icon{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}.menu-toggle__icon span{display:block;width:100%;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-toggle__label{display:none}
.site-nav{display:block;position:fixed;inset:0;z-index:-1;padding:96px 24px 36px;background:var(--av-dark,#181818);color:#fff;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility .22s}.site-nav.is-open{opacity:1;visibility:visible;transform:none;z-index:90}.site-nav ul{display:flex;flex-direction:column;gap:0;margin:0;padding:0}.site-nav li{margin:0;border-bottom:1px solid rgba(255,255,255,.14)}.site-nav a{display:flex;align-items:center;min-height:58px;padding:10px 0;font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(26px,8vw,38px);line-height:1.05}.site-nav .sub-menu{padding:0 0 12px 16px}.site-nav .sub-menu li{border:0}.site-nav .sub-menu a{min-height:40px;font-family:var(--av-body-font,Arial,sans-serif);font-size:16px}
body.menu-open{overflow:hidden}.hero-grid{min-height:auto;padding-top:72px}.hero-grid__items{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;min-height:auto}.hero-tile{min-height:clamp(170px,25svh,230px);padding:18px 14px 16px;align-items:flex-end}.hero-tile__number{top:12px;right:12px;font-size:9px}.hero-tile h2{font-size:clamp(25px,7vw,38px);line-height:.95}.hero-tile__reveal{max-height:none;opacity:1;transform:none;margin-top:10px}.hero-tile__reveal p{margin:0 0 8px;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-tile__reveal span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.cards{grid-template-columns:1fr}.section,.content-shell{padding:70px 18px}.section-head{display:block}.section-head h2,.content-shell h1{font-size:clamp(44px,14vw,68px)}.site-footer{grid-template-columns:1fr;padding:55px 18px}
}


/* Archivio unificato: spettacoli, laboratori, corsi ed eventi */
.catalog-page{padding:120px max(4vw,calc((100vw - var(--av-container,1500px))/2));background:var(--av-bg,#f5f1e8)}.catalog-hero{max-width:900px;margin-bottom:50px}.catalog-kicker,.single-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.catalog-hero h1{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(58px,8vw,128px);font-weight:var(--av-heading-weight,500);line-height:.9;margin:12px 0 28px}.catalog-hero>p:last-child{max-width:65ch;font-size:19px}.catalog-filters{border-top:1px solid var(--av-text);border-bottom:1px solid rgba(0,0,0,.18);padding:18px 0 22px;margin-bottom:25px}.catalog-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.catalog-tabs a{padding:8px 13px;border:1px solid rgba(0,0,0,.18);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.catalog-tabs a.is-active{background:var(--av-text);color:var(--av-bg)}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}.filter-grid label span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.filter-grid select{width:100%;min-height:42px;background:transparent;border:1px solid rgba(0,0,0,.25);padding:8px}.filter-grid .button{min-height:42px}.filter-reset{align-self:center;text-align:center}.catalog-results-head{display:flex;justify-content:flex-end;margin:20px 0}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 20px}.catalog-card{min-width:0}.catalog-card__link{text-decoration:none;display:block}.catalog-card__media{aspect-ratio:4/5;background:#dedbd4;overflow:hidden}.catalog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.catalog-card:hover img{transform:scale(1.025)}.catalog-card__body{padding-top:13px}.catalog-card__eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px}.catalog-card h2{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(25px,2vw,37px);font-weight:var(--av-heading-weight,500);line-height:1;margin:0 0 10px}.catalog-card__meta,.catalog-card__price{font-size:13px;margin:4px 0}.catalog-card__status{display:inline-block;margin-top:8px;padding:4px 7px;border:1px solid currentColor;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.catalog-card__cta{display:block;margin-top:14px;background:var(--av-text);color:var(--av-bg);padding:8px 12px;text-align:center;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.catalog-pagination{display:flex;gap:10px;justify-content:center;margin-top:70px}.catalog-pagination .page-numbers{padding:9px 13px;border:1px solid rgba(0,0,0,.25);text-decoration:none}.catalog-pagination .current{background:var(--av-text);color:var(--av-bg)}.catalog-empty{text-align:center;padding:100px 20px}.single-hero{margin-bottom:45px}.single-kicker{margin-top:30px}.single-lead{font-size:22px;max-width:60ch}.facts-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(0,0,0,.16);margin-bottom:70px;border:1px solid rgba(0,0,0,.16)}.facts-panel>div{background:var(--av-surface,#fff);padding:22px}.facts-panel span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.facts-panel strong{display:block}.facts-panel__cta{display:flex;align-items:center;justify-content:center;border-radius:0!important}.prose h2,.prose h3{font-family:var(--av-heading-font,Georgia,serif)}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(3,1fr)}.catalog-grid{grid-template-columns:repeat(3,1fr)}.facts-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.catalog-page{padding:100px 18px 70px}.catalog-hero h1{font-size:58px}.filter-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.catalog-card h2{font-size:25px}.catalog-card__meta,.catalog-card__price{font-size:12px}.facts-panel{grid-template-columns:1fr}.single-content{padding-inline:18px}}
/* v0.6.0 — pagina spettacolo */
.show-detail__hero{position:relative;min-height:min(82svh,900px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--av-dark)}
.show-detail__hero-media,.show-detail__hero-overlay{position:absolute;inset:0}.show-detail__hero-media img{width:100%;height:100%;object-fit:cover}.show-detail__hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.78))}.show-detail__hero-content{position:relative;z-index:1;padding-top:180px;padding-bottom:clamp(50px,8vw,110px)}
.show-detail__hero h1{font-family:var(--av-heading-font);font-size:clamp(3.4rem,8vw,8rem);line-height:.88;max-width:12ch;margin:.15em 0}.show-detail__subtitle{font-size:clamp(1.15rem,2vw,1.6rem);max-width:42ch;margin:0 0 28px}
.show-detail__facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:rgba(0,0,0,.12);margin-top:-1px}.show-detail__facts>div{background:var(--av-surface);padding:25px}.show-detail__facts span,.technical-grid span,.credit-row span{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--av-muted);margin-bottom:7px}.show-detail__facts strong{font-size:1rem}
.show-detail__layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,.9fr);gap:clamp(40px,7vw,110px);padding-top:var(--av-section-space);padding-bottom:var(--av-section-space)}.show-detail__intro{font-family:var(--av-heading-font);font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.15;margin-bottom:55px}.show-detail__content{max-width:75ch}.show-detail__credits{border-left:1px solid rgba(0,0,0,.15);padding-left:32px}.show-detail__sticky{position:sticky;top:calc(var(--av-header-height) + 30px)}.credit-row{padding:15px 0;border-bottom:1px solid rgba(0,0,0,.12)}.credit-row strong{font-size:1.05rem}.credit-row a{text-decoration:none}
.show-detail__media,.show-detail__gallery{margin-top:70px}.responsive-video{position:relative;aspect-ratio:16/9;background:#000}.responsive-video iframe,.responsive-video video{width:100%;height:100%;border:0}.show-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.show-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.show-detail__technical{background:var(--av-dark);color:#fff;padding:var(--av-section-space) 0}.show-detail__technical .single-kicker,.show-detail__technical .technical-grid span{color:rgba(255,255,255,.64)}.show-detail__technical h2,.show-detail__inquiry h2,.show-related h2{font-family:var(--av-heading-font);font-size:clamp(2.7rem,5vw,5.3rem);line-height:.95;margin:.2em 0 .7em}.technical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}.technical-grid>div{padding:24px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.technical-grid strong{display:block;font-size:1.05rem}.technical-grid small{display:block;margin-top:8px;color:rgba(255,255,255,.7)}.venue-tags{margin-top:45px}.venue-tags span{display:inline-flex;border:1px solid rgba(255,255,255,.35);padding:10px 15px;margin:5px 5px 0 0}.show-downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button--outline{background:transparent!important;border:1px solid currentColor!important}
.show-detail__inquiry{padding:var(--av-section-space) 0;background:var(--av-accent);color:#fff}.inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:start}.inquiry-form{background:#fff;color:var(--av-text);padding:clamp(25px,4vw,50px)}.show-related{padding-top:var(--av-section-space);padding-bottom:var(--av-section-space)}
@media(max-width:980px){.show-detail__facts{grid-template-columns:repeat(3,1fr)}.show-detail__layout{grid-template-columns:1fr}.show-detail__credits{border-left:0;border-top:1px solid rgba(0,0,0,.15);padding:35px 0 0}.show-detail__sticky{position:static}.technical-grid{grid-template-columns:repeat(2,1fr)}.inquiry-layout{grid-template-columns:1fr}}
@media(max-width:640px){.show-detail__hero{min-height:72svh}.show-detail__hero-content{padding-top:130px;padding-bottom:45px}.show-detail__hero h1{font-size:clamp(2.9rem,15vw,5rem)}.show-detail__facts{grid-template-columns:repeat(2,1fr);width:100%}.show-detail__facts>div{padding:18px 14px}.show-detail__layout{padding-top:70px;padding-bottom:70px}.show-gallery{grid-template-columns:1fr}.technical-grid{grid-template-columns:1fr}.inquiry-form{padding:22px}.show-downloads .button{width:100%}}

/* v0.6.1 — restyling ArtiVarti palette */
:root{--av-yellow:#f9e900;--av-blue:#0f6dbf;--av-mint:#59e0ac;--av-pink:#e82055;--av-ink:#111820;--av-soft:#f7f8fa}
body{background:var(--av-soft);color:var(--av-ink)}
.site-header{background:#fff;color:var(--av-ink);border-bottom:1px solid rgba(15,109,191,.12)}
.site-nav a{font-size:13px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;position:relative}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:3px;background:var(--av-pink);transition:right .2s ease}.site-nav a:hover:after,.site-nav .current-menu-item>a:after{right:0}
.button{border-radius:4px;text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:800;padding:15px 20px}.button--yellow{background:var(--av-yellow)!important;border-color:var(--av-yellow)!important;color:#111!important}.button--yellow:hover{background:#fff369!important;border-color:#fff369!important}.button--ghost{background:rgba(0,0,0,.22)!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important;backdrop-filter:blur(6px)}
.show-detail--v2{background:#fff}.show-detail--v2 .content-shell{max-width:1440px;margin-inline:auto;padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.show-detail__hero{min-height:680px;background:#050607}.show-detail__hero-media img{object-position:center 28%}.show-detail__hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 34%,rgba(0,0,0,.08) 72%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45))}.show-detail__hero-content{padding-top:160px;padding-bottom:100px}.show-breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:34px;font-size:12px;font-weight:600}.show-breadcrumb a{text-decoration:none}.show-detail__hero .single-kicker{display:inline-flex;margin:0 0 14px;padding:6px 10px;border-radius:3px;background:var(--av-pink);font-weight:800;letter-spacing:.04em}.show-detail__hero h1{font-family:var(--av-body-font,Arial,sans-serif);font-weight:800;font-size:clamp(52px,6.4vw,104px);letter-spacing:-.045em;line-height:.9;max-width:9ch}.show-detail__subtitle{font-size:18px;line-height:1.45;font-weight:500;max-width:48ch}.show-detail__hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.show-detail__facts-wrap{position:relative;z-index:4;padding-top:0!important;padding-bottom:0!important}.show-detail__facts{grid-template-columns:repeat(5,minmax(0,1fr));margin:-34px 0 0;border:1px solid rgba(15,109,191,.15);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(18,30,46,.13)}.show-detail__facts>div{position:relative;background:#fff;padding:24px 26px}.show-detail__facts>div:not(:last-child):after{content:"";position:absolute;right:0;top:24%;height:52%;width:1px;background:rgba(15,109,191,.15)}.show-detail__facts span{color:var(--av-blue);font-size:11px;font-weight:800}.show-detail__facts strong{font-size:17px;color:var(--av-ink)}
.show-detail__layout{max-width:1280px!important;grid-template-columns:minmax(0,2.25fr) minmax(290px,.75fr);gap:70px;padding-top:100px;padding-bottom:100px}.section-label{margin:0 0 16px;color:var(--av-blue);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.show-detail__intro{font-family:var(--av-body-font,Arial,sans-serif);font-size:clamp(22px,2vw,29px);font-weight:500;line-height:1.4;margin-bottom:55px}.show-detail__intro>p:last-child{margin:0}.show-detail__content{font-size:18px;line-height:1.7}.show-detail__content p:first-of-type{margin-top:0}.show-detail__credits{border:0;padding:0}.show-detail__sticky{top:110px;background:#fff;border:1px solid rgba(15,109,191,.18);border-top:5px solid var(--av-pink);border-radius:8px;padding:25px 24px;box-shadow:0 12px 35px rgba(18,30,46,.08)}.credit-row{padding:15px 0}.credit-row span{color:var(--av-pink);font-size:10px;font-weight:900}.credit-row strong{font-size:15px;line-height:1.35}.credit-row a{text-decoration:underline;text-decoration-color:var(--av-mint);text-underline-offset:3px}.show-detail__media,.show-detail__gallery{margin-top:62px}.responsive-video{border-radius:8px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.12)}.show-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:17px}.show-section-heading span{font-size:12px;color:#66717f}.show-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.show-gallery img{aspect-ratio:4/3;border-radius:3px}
.show-detail__technical{padding:80px 0;background:linear-gradient(135deg,#052f56,#0f6dbf);color:#fff}.show-technical-heading{max-width:760px}.show-technical-heading .single-kicker{color:var(--av-mint);font-weight:900}.show-technical-heading h2{font-family:var(--av-body-font,Arial,sans-serif);font-size:clamp(34px,4vw,60px);font-weight:800;letter-spacing:-.035em;line-height:1;margin:8px 0 36px}.technical-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-color:rgba(89,224,172,.35);border-radius:8px;overflow:hidden}.technical-grid>div{border-color:rgba(89,224,172,.35);background:rgba(4,28,52,.18);min-height:112px}.technical-grid span{color:var(--av-mint);font-weight:900}.technical-grid strong{font-size:16px}
.show-detail__practical{background:#fff;padding:65px 0}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.practical-card{min-height:230px;padding:28px;border:1px solid rgba(15,109,191,.15);border-radius:12px;background:#fff}.practical-card--cost{border-top:6px solid var(--av-pink)}.practical-card--venues{border-top:6px solid var(--av-mint)}.practical-card--downloads{border-top:6px solid var(--av-yellow);background:rgba(89,224,172,.16)}.practical-card h2{font-family:var(--av-body-font,Arial,sans-serif);font-size:30px;line-height:1.1;margin:15px 0}.practical-card ul{list-style:none;margin:12px 0 0;padding:0}.practical-card li{margin:8px 0}.practical-card li:before{content:"✓";color:#16966f;font-weight:900;margin-right:8px}.practical-card--downloads a{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(15,109,191,.15);font-weight:700;text-decoration:none}
.show-detail__inquiry{padding:80px 0;background:linear-gradient(125deg,#e82055,#ff1763);color:#fff}.show-detail__inquiry .single-kicker{color:var(--av-yellow);font-weight:900}.show-detail__inquiry h2{font-family:var(--av-body-font,Arial,sans-serif);font-size:clamp(38px,5vw,72px);font-weight:800;letter-spacing:-.045em;line-height:.92}.inquiry-layout{grid-template-columns:.85fr 1.15fr;gap:70px}.inquiry-form{border-radius:10px;box-shadow:0 20px 50px rgba(98,0,35,.24)}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{width:100%;border:1px solid rgba(15,109,191,.2);border-radius:4px;padding:13px 14px;font:inherit}.inquiry-form input[type=submit]{background:var(--av-yellow);border-color:var(--av-yellow);color:#111;font-weight:900}
.show-related{max-width:1280px!important}.show-section-heading--large h2{font-family:var(--av-body-font,Arial,sans-serif);font-size:clamp(34px,4vw,58px);font-weight:800;letter-spacing:-.035em}.show-related .catalog-card{border:1px solid rgba(15,109,191,.13);border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(18,30,46,.07)}.show-related .catalog-card__body{padding:17px}.show-related .catalog-card__eyebrow{color:var(--av-pink);font-weight:900}.show-related .catalog-card h2{font-family:var(--av-body-font,Arial,sans-serif);font-weight:800;font-size:26px}.show-related .catalog-card__cta{display:inline-block;background:transparent;color:var(--av-blue);padding:8px 0;font-weight:900}
.site-footer{background:#101820;border-top:7px solid var(--av-blue)}
@media(max-width:980px){.show-detail__facts{grid-template-columns:repeat(3,1fr)}.show-detail__layout{gap:45px}.practical-grid{grid-template-columns:1fr 1fr}.practical-card--downloads{grid-column:1/-1}.technical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:68px;background:#fff!important;color:var(--av-ink)!important}.menu-toggle{color:var(--av-ink)!important}.logo--dark{display:block!important}.logo--light{display:none!important}.show-detail__hero{min-height:650px;margin-top:68px}.show-detail__hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.12) 20%,rgba(0,0,0,.94) 100%)}.show-detail__hero-content{padding-top:210px;padding-bottom:70px}.show-detail__hero h1{font-size:clamp(48px,15vw,72px);max-width:10ch}.show-detail__subtitle{font-size:16px}.show-detail__hero-actions{display:grid}.show-detail__hero-actions .button{width:100%;text-align:center}.show-detail__facts{grid-template-columns:1fr 1fr;margin-top:-24px;border-radius:12px}.show-detail__facts>div{padding:17px 15px}.show-detail__facts>div:not(:last-child):after{display:none}.show-detail__facts>div:nth-child(odd){border-right:1px solid rgba(15,109,191,.12)}.show-detail__facts>div{border-bottom:1px solid rgba(15,109,191,.12)}.show-detail__layout{padding-top:70px;padding-bottom:70px}.show-detail__intro{font-size:22px}.show-detail__content{font-size:16px}.show-gallery{grid-template-columns:1fr 1fr}.technical-grid{grid-template-columns:1fr}.practical-grid{grid-template-columns:1fr}.practical-card--downloads{grid-column:auto}.inquiry-layout{grid-template-columns:1fr;gap:35px}.show-detail__inquiry h2{font-size:42px}.show-related .catalog-grid{grid-template-columns:1fr}}


/* v0.6.2 — affinamento pagina spettacolo */
.show-detail__hero-content{max-width:none!important;margin:0!important;padding-left:clamp(30px,5vw,92px)!important;padding-right:clamp(24px,4vw,72px)!important}
.show-detail__hero-content>*{max-width:760px}
.show-detail__hero h1{max-width:10ch}
.show-detail__intro{font-size:24px;line-height:1.45;font-weight:500}
.show-detail__content{font-size:20px;line-height:1.65}
.show-detail__credits .show-detail__sticky{max-height:none;overflow:visible}
.credit-row{display:grid;gap:4px;border-bottom:1px solid rgba(15,109,191,.12)}
.credit-row:last-child{border-bottom:0}
.credit-row span{display:block}
.credit-row strong{display:block;white-space:normal;overflow-wrap:anywhere}

.show-detail__technical{padding:58px 0 62px;background:var(--av-yellow);color:#111}
.show-technical-heading{max-width:none}
.show-technical-heading .single-kicker{color:#111;opacity:.7}
.show-technical-heading h2{font-size:clamp(28px,3vw,44px);color:#111;margin-bottom:28px}
.technical-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid rgba(0,0,0,.18);border-radius:10px;background:rgba(255,255,255,.2);overflow:hidden}
.technical-grid>div{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:104px;padding:18px 16px;background:transparent;border-right:1px solid rgba(0,0,0,.16);border-bottom:0;color:#111}
.technical-grid>div:last-child{border-right:0}
.technical-grid i{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border:2px solid #111;border-radius:50%;font-style:normal;font-weight:900}
.technical-grid span{color:#111;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.technical-grid strong{color:#111;font-size:14px;line-height:1.25}

.show-detail__practical{padding:34px 0 72px;background:#fff}
.practical-grid{gap:20px;align-items:stretch}
.practical-card{min-height:245px;padding:26px 28px;border:1px solid rgba(15,109,191,.16);border-radius:12px;box-shadow:0 8px 26px rgba(18,30,46,.06)}
.practical-card--cost,.practical-card--venues{background:#fff}
.practical-card--downloads{background:rgba(89,224,172,.22);border-color:rgba(34,154,116,.18)}
.practical-card__head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.practical-card__head i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-style:normal;font-weight:900;color:#fff}
.practical-card--cost .practical-card__head i{background:var(--av-pink)}
.practical-card--venues .practical-card__head i{background:#25a97c}
.practical-card--downloads .practical-card__head i{background:#25a97c}
.practical-card__head .section-label{margin:0;color:var(--av-ink)}
.practical-card h2{font-size:34px;margin:5px 0 16px}
.practical-card>p:last-child{font-size:15px;line-height:1.55;color:#4f5a66}
.practical-card li{margin:7px 0;font-size:15px}
.practical-card--downloads a{align-items:center;padding:17px 0;color:#143a31}
.practical-card--downloads a span{display:grid;gap:2px}
.practical-card--downloads small{font-size:11px;font-weight:500;opacity:.68}
.practical-card--downloads b{font-size:20px;color:#15936c}

@media(max-width:1100px){.technical-grid{grid-template-columns:repeat(3,1fr)}.technical-grid>div{border-bottom:1px solid rgba(0,0,0,.14)}}
@media(max-width:700px){.show-detail__hero-content{padding-left:22px!important;padding-right:22px!important}.show-detail__intro{font-size:21px}.show-detail__content{font-size:17px}.technical-grid{grid-template-columns:1fr 1fr}.technical-grid>div{min-height:96px}.practical-card{min-height:0}}

/* v0.6.3 — allineamento hero, video, lightbox e tecnica */
.show-detail__layout,
.show-detail__hero-content,
.show-detail__facts-wrap,
.show-detail__technical>.content-shell,
.show-detail__practical>.content-shell,
.show-detail__inquiry>.content-shell,
.show-related.content-shell{
  width:min(calc(100% - 10vw),1280px);
  max-width:1280px!important;
  margin-inline:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.show-detail__hero-content>*{max-width:760px}
.responsive-video iframe,
.responsive-video video{display:block;width:100%;height:100%;min-height:100%;border:0}
.show-gallery__item{display:block;overflow:hidden;background:#111;cursor:zoom-in}
.show-gallery__item img{display:block;width:100%;height:100%;transition:transform .25s ease}
.show-gallery__item:hover img,.show-gallery__item:focus-visible img{transform:scale(1.035)}
.av-lightbox{width:min(96vw,1500px);max-width:none;padding:0;border:0;background:transparent;overflow:visible}
.av-lightbox::backdrop{background:rgba(0,0,0,.9)}
.av-lightbox img{display:block;max-width:96vw;max-height:90vh;width:auto;height:auto;margin:auto;object-fit:contain}
.av-lightbox__close{position:fixed;top:20px;right:24px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#111;color:#fff;font-size:32px;line-height:1;cursor:pointer}

.show-detail__technical{padding:58px 0 62px}
.technical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(0,0,0,.22);border-radius:8px;background:rgba(255,255,255,.22);overflow:hidden}
.technical-grid .technical-item{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:92px;padding:18px 20px;border-right:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18);color:#111}
.technical-grid .technical-item:nth-child(4n){border-right:0}
.technical-grid .technical-item span{margin:0;color:#111;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.technical-grid .technical-item strong{color:#111;font-size:16px;line-height:1.3;font-weight:700}
.technical-grid i{display:none!important}

@media(max-width:980px){
  .technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .technical-grid .technical-item:nth-child(4n){border-right:1px solid rgba(0,0,0,.18)}
  .technical-grid .technical-item:nth-child(2n){border-right:0}
}
@media(max-width:700px){
  .show-detail__layout,.show-detail__hero-content,.show-detail__facts-wrap,.show-detail__technical>.content-shell,.show-detail__practical>.content-shell,.show-detail__inquiry>.content-shell,.show-related.content-shell{width:calc(100% - 44px)}
  .technical-grid{grid-template-columns:1fr}
  .technical-grid .technical-item,.technical-grid .technical-item:nth-child(2n),.technical-grid .technical-item:nth-child(4n){border-right:0}
}

/* Page Composer */
.av-page-section{padding:clamp(70px,8vw,130px) 0}.av-theme--light{background:#fff;color:#111}.av-theme--dark{background:#101820;color:#fff}.av-theme--yellow{background:#f9e900;color:#111}.av-theme--pink{background:#e82055;color:#fff}.av-theme--mint{background:#59e0ac;color:#111}.av-page-eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#0f6dbf;margin:0 0 12px}.av-theme--dark .av-page-eyebrow,.av-theme--pink .av-page-eyebrow{color:#f9e900}.av-page-section h2{font-family:var(--av-heading-font);font-size:clamp(38px,6vw,82px);line-height:.95;margin:0 0 24px;max-width:14ch}.av-page-lead{font-size:clamp(20px,2.2vw,30px);line-height:1.4;max-width:58ch}.av-composer-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#101820}.av-composer-hero__media{position:absolute;inset:0;overflow:hidden}.av-composer-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.2));pointer-events:none}.av-composer-hero__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}.av-composer-hero__inner{position:relative;z-index:1;width:100%;padding-top:120px;padding-bottom:80px}.av-composer-hero__content{color:#fff;max-width:760px}.av-page-text{max-width:900px}.av-media-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center}.av-media-text--left .av-media-text__media{order:-1}.av-media-text__media img{width:100%;height:auto}.av-composer-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.av-composer-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.av-composer-cta{text-align:center;display:grid;justify-items:center}.av-composer-cta h2{max-width:16ch}.catalog-grid--list{grid-template-columns:1fr}.catalog-grid--list .catalog-card__link{display:grid;grid-template-columns:minmax(220px,34%) 1fr}.catalog-grid--list .catalog-card__media{aspect-ratio:4/3}@media(max-width:760px){.av-page-section{padding:70px 0}.av-composer-hero{min-height:68svh}.av-composer-hero__inner{padding-top:110px;padding-bottom:55px}.av-media-text{grid-template-columns:1fr}.av-media-text__media{order:-1!important}.av-composer-gallery{grid-template-columns:1fr 1fr}.catalog-grid--list .catalog-card__link{grid-template-columns:1fr}}

/* Page Composer 0.7.2 */
.av-page-text--narrow{max-width:900px}
.av-page-text--full{max-width:var(--av-container,1280px)}
.av-page-text__grid{display:grid;gap:clamp(28px,5vw,72px)}
.av-page-text--two_equal .av-page-text__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.av-page-text--two_40_60 .av-page-text__grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.av-page-text--two_60_40 .av-page-text__grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.av-composer-shortcode{position:relative}
@media(max-width:760px){.av-page-text--two_equal .av-page-text__grid,.av-page-text--two_40_60 .av-page-text__grid,.av-page-text--two_60_40 .av-page-text__grid{grid-template-columns:1fr}}


/* Page Composer layout stabilization - v0.7.3 */
.av-page-section {
  padding: clamp(72px, 7vw, 108px) 0;
}

.av-page-section > .content-shell {
  width: min(calc(100% - 48px), var(--av-container, 1280px));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

.av-page-section h2 {
  max-width: 18ch;
  font-size: clamp(38px, 5vw, 72px);
}

.av-page-text {
  margin-inline: auto;
}

.av-page-text--narrow {
  width: min(calc(100% - 48px), 760px) !important;
  max-width: 760px;
}

.av-page-text--full {
  width: min(calc(100% - 48px), var(--av-container, 1280px)) !important;
  max-width: var(--av-container, 1280px);
}

.av-page-text--two_equal,
.av-page-text--two_40_60,
.av-page-text--two_60_40 {
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px;
}

.av-page-text__grid {
  width: 100%;
  align-items: start;
  gap: clamp(36px, 5vw, 80px);
}

.av-page-text__grid .prose {
  width: 100%;
  max-width: none;
  min-width: 0;
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.68;
}

.av-page-text__grid .prose > :first-child {
  margin-top: 0;
}

.av-page-text__grid .prose > :last-child {
  margin-bottom: 0;
}

.av-media-text {
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px;
  gap: clamp(36px, 5vw, 76px);
}

.av-media-text__content,
.av-media-text__media {
  min-width: 0;
}

.av-media-text__content .prose {
  max-width: 62ch;
}

.av-composer-gallery {
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px;
}

.av-composer-archive {
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px;
}

.av-composer-archive .catalog-grid {
  gap: 42px 24px;
}

.av-composer-archive .catalog-grid--count-1 {
  grid-template-columns: minmax(260px, 360px);
}

.av-composer-archive .catalog-grid--count-2 {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  max-width: 760px;
}

.av-composer-archive .catalog-grid--count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.av-composer-archive .catalog-grid--count-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.av-composer-shortcode {
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px;
}

.av-composer-shortcode form,
.av-composer-shortcode .wpforms-container,
.av-composer-shortcode .wpcf7 {
  width: 100%;
  max-width: none;
}

@media (max-width: 900px) {
  .av-page-text--two_equal .av-page-text__grid,
  .av-page-text--two_40_60 .av-page-text__grid,
  .av-page-text--two_60_40 .av-page-text__grid {
    grid-template-columns: 1fr;
  }

  .av-composer-archive .catalog-grid--count-3,
  .av-composer-archive .catalog-grid--count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .av-page-section {
    padding: 58px 0;
  }

  .av-page-section > .content-shell,
  .av-page-text--narrow,
  .av-page-text--full,
  .av-page-text--two_equal,
  .av-page-text--two_40_60,
  .av-page-text--two_60_40,
  .av-media-text,
  .av-composer-gallery,
  .av-composer-archive,
  .av-composer-shortcode {
    width: min(calc(100% - 32px), 100%) !important;
  }

  .av-composer-archive .catalog-grid--count-1,
  .av-composer-archive .catalog-grid--count-2,
  .av-composer-archive .catalog-grid--count-3,
  .av-composer-archive .catalog-grid--count-4 {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

/* =========================================================
   WPForms integration — A Teatro! 0.7.4
   Scoped to the Page Composer Shortcode / Form section.
   ========================================================= */
.av-composer-shortcode {
  --av-form-text: #17212b;
  --av-form-muted: #66727f;
  --av-form-border: #cfd7de;
  --av-form-border-focus: #0f6dbf;
  --av-form-surface: #ffffff;
  --av-form-soft: #f4f8fb;
  --av-form-accent: #0f6dbf;
  --av-form-submit: #0f6dbf;
  width: min(calc(100% - 48px), 980px) !important;
  max-width: 980px;
  margin-inline: auto;
}

.av-composer-shortcode .wpforms-container {
  margin: 0 !important;
  color: var(--av-form-text);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.55;
}

.av-composer-shortcode .wpforms-container .wpforms-title {
  margin: 0 0 10px !important;
  color: var(--av-form-text);
  font-family: var(--av-font-heading, Georgia, serif);
  font-size: clamp(30px, 4vw, 48px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.025em;
}

.av-composer-shortcode .wpforms-container .wpforms-description {
  max-width: 720px;
  margin: 0 0 36px !important;
  color: var(--av-form-muted);
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-container {
  display: block;
}

.av-composer-shortcode .wpforms-container .wpforms-field {
  padding: 0 0 22px !important;
  clear: both;
}

.av-composer-shortcode .wpforms-container .wpforms-field-label,
.av-composer-shortcode .wpforms-container .wpforms-field-label-inline {
  display: block;
  margin: 0 0 8px !important;
  color: var(--av-form-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-required-label {
  color: #e82055 !important;
}

.av-composer-shortcode .wpforms-container input[type="text"],
.av-composer-shortcode .wpforms-container input[type="email"],
.av-composer-shortcode .wpforms-container input[type="tel"],
.av-composer-shortcode .wpforms-container input[type="url"],
.av-composer-shortcode .wpforms-container input[type="number"],
.av-composer-shortcode .wpforms-container input[type="date"],
.av-composer-shortcode .wpforms-container input[type="password"],
.av-composer-shortcode .wpforms-container select,
.av-composer-shortcode .wpforms-container textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--av-form-border) !important;
  border-radius: 0 !important;
  background: var(--av-form-surface) !important;
  color: var(--av-form-text) !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.av-composer-shortcode .wpforms-container textarea {
  min-height: 150px !important;
  resize: vertical;
}

.av-composer-shortcode .wpforms-container input::placeholder,
.av-composer-shortcode .wpforms-container textarea::placeholder {
  color: #929ca6 !important;
  opacity: 1;
}

.av-composer-shortcode .wpforms-container input:focus,
.av-composer-shortcode .wpforms-container select:focus,
.av-composer-shortcode .wpforms-container textarea:focus {
  border-color: var(--av-form-border-focus) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(15, 109, 191, .14) !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-sublabel {
  margin-top: 6px !important;
  color: var(--av-form-muted) !important;
  font-size: 12px !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-description {
  margin-top: 7px !important;
  color: var(--av-form-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-html {
  margin: 10px 0 26px !important;
  padding: 0 !important;
  color: var(--av-form-text);
}

.av-composer-shortcode .wpforms-container .wpforms-field-html h2,
.av-composer-shortcode .wpforms-container .wpforms-field-html h3,
.av-composer-shortcode .wpforms-container .wpforms-field-html h4 {
  margin: 38px 0 12px;
  color: var(--av-form-text);
  font-family: var(--av-font-heading, Georgia, serif);
  font-weight: 600;
  line-height: 1.15;
}

.av-composer-shortcode .wpforms-container .wpforms-field-html h3 {
  font-size: clamp(22px, 2.5vw, 30px);
}

.av-composer-shortcode .wpforms-container .wpforms-field-html p,
.av-composer-shortcode .wpforms-container .wpforms-field-html li {
  color: var(--av-form-text);
  font-size: 14px;
  line-height: 1.65;
}

.av-composer-shortcode .wpforms-container .wpforms-field-html ul,
.av-composer-shortcode .wpforms-container .wpforms-field-html ol {
  margin: 14px 0 0 22px;
}

.av-composer-shortcode .wpforms-container .wpforms-field-divider,
.av-composer-shortcode .wpforms-container .wpforms-field-pagebreak {
  margin: 30px 0 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #e5eaee !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-divider h3,
.av-composer-shortcode .wpforms-container .wpforms-field-divider .wpforms-field-label {
  margin: 0 0 8px !important;
  color: var(--av-form-text) !important;
  font-family: var(--av-font-heading, Georgia, serif);
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-row {
  max-width: none !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-row-block,
.av-composer-shortcode .wpforms-container .wpforms-one-half,
.av-composer-shortcode .wpforms-container .wpforms-one-third,
.av-composer-shortcode .wpforms-container .wpforms-two-thirds {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-row {
  margin-left: -8px !important;
  margin-right: -8px !important;
}

.av-composer-shortcode .wpforms-container input[type="checkbox"],
.av-composer-shortcode .wpforms-container input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 9px 0 0 !important;
  accent-color: var(--av-form-accent);
}

.av-composer-shortcode .wpforms-container .wpforms-field-checkbox li,
.av-composer-shortcode .wpforms-container .wpforms-field-radio li {
  display: flex !important;
  align-items: flex-start;
  margin-bottom: 10px !important;
  line-height: 1.5 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-field-checkbox label,
.av-composer-shortcode .wpforms-container .wpforms-field-radio label {
  color: var(--av-form-text) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.av-composer-shortcode .wpforms-container .wpforms-submit-container {
  margin-top: 18px !important;
  padding-top: 0 !important;
}

.av-composer-shortcode .wpforms-container button[type="submit"],
.av-composer-shortcode .wpforms-container .wpforms-submit {
  min-height: 48px !important;
  padding: 12px 28px !important;
  border: 1px solid var(--av-form-submit) !important;
  border-radius: 0 !important;
  background: var(--av-form-submit) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.av-composer-shortcode .wpforms-container button[type="submit"]:hover,
.av-composer-shortcode .wpforms-container .wpforms-submit:hover {
  border-color: #0b568f !important;
  background: #0b568f !important;
  transform: translateY(-1px);
}

.av-composer-shortcode .wpforms-container .wpforms-error {
  border-color: #e82055 !important;
}

.av-composer-shortcode .wpforms-container label.wpforms-error {
  margin-top: 6px !important;
  color: #b8173f !important;
  font-size: 12px !important;
}

.av-composer-shortcode .wpforms-container .wpforms-confirmation-container-full {
  border: 1px solid rgba(89, 224, 172, .8) !important;
  background: rgba(89, 224, 172, .18) !important;
  color: var(--av-form-text) !important;
}

/* Date picker opened by WPForms / Flatpickr. */
.flatpickr-calendar {
  font-family: inherit !important;
  border-radius: 0 !important;
  box-shadow: 0 14px 38px rgba(13, 28, 39, .16) !important;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  border-color: #0f6dbf !important;
  background: #0f6dbf !important;
}

@media (max-width: 782px) {
  .av-composer-shortcode {
    width: min(calc(100% - 32px), 100%) !important;
  }

  .av-composer-shortcode .wpforms-container .wpforms-field-row {
    margin-inline: 0 !important;
  }

  .av-composer-shortcode .wpforms-container .wpforms-field-row-block,
  .av-composer-shortcode .wpforms-container .wpforms-one-half,
  .av-composer-shortcode .wpforms-container .wpforms-one-third,
  .av-composer-shortcode .wpforms-container .wpforms-two-thirds {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding-inline: 0 !important;
  }

  .av-composer-shortcode .wpforms-container button[type="submit"],
  .av-composer-shortcode .wpforms-container .wpforms-submit {
    width: 100% !important;
  }
}

/* Page Composer Hero v0.8.0 */
.av-page-section--hero{padding:0!important;background:transparent!important;color:inherit!important}
.av-composer-hero{position:relative;width:100%;min-height:80vh;display:flex;overflow:hidden;background:var(--av-hero-bg,#101820);isolation:isolate}
.av-composer-hero--height-small{min-height:45vh}
.av-composer-hero--height-medium{min-height:60vh}
.av-composer-hero--height-large{min-height:80vh}
.av-composer-hero--height-fullscreen{min-height:calc(100svh - var(--header-height,80px))}
.av-composer-hero__media,.av-composer-hero__overlay{position:absolute;inset:0}
.av-composer-hero__media{z-index:-2;background:var(--av-hero-bg,#101820)}
.av-composer-hero__media>img,.av-composer-hero__media>video,.av-composer-hero__slide img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.av-composer-hero__media>video{position:absolute;inset:0}
.av-composer-hero--focal-left .av-composer-hero__media>img,.av-composer-hero--focal-left .av-composer-hero__media>video,.av-composer-hero--focal-left .av-composer-hero__slide img{object-position:left center}
.av-composer-hero--focal-right .av-composer-hero__media>img,.av-composer-hero--focal-right .av-composer-hero__media>video,.av-composer-hero--focal-right .av-composer-hero__slide img{object-position:right center}
.av-composer-hero--focal-top .av-composer-hero__media>img,.av-composer-hero--focal-top .av-composer-hero__media>video,.av-composer-hero--focal-top .av-composer-hero__slide img{object-position:center top}
.av-composer-hero--focal-bottom .av-composer-hero__media>img,.av-composer-hero--focal-bottom .av-composer-hero__media>video,.av-composer-hero--focal-bottom .av-composer-hero__slide img{object-position:center bottom}
.av-composer-hero__overlay{z-index:-1;pointer-events:none;background:transparent}
.av-composer-hero--overlay-dark20 .av-composer-hero__overlay{background:rgba(0,0,0,.2)}
.av-composer-hero--overlay-dark40 .av-composer-hero__overlay{background:rgba(0,0,0,.4)}
.av-composer-hero--overlay-dark60 .av-composer-hero__overlay{background:rgba(0,0,0,.6)}
.av-composer-hero--overlay-gradient .av-composer-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,.12) 100%)}
.av-composer-hero__inner{position:relative;z-index:1;width:100%;display:flex;padding-top:clamp(70px,10vh,140px);padding-bottom:clamp(55px,9vh,120px)}
.av-composer-hero--v-top .av-composer-hero__inner{align-items:flex-start}
.av-composer-hero--v-center .av-composer-hero__inner{align-items:center}
.av-composer-hero--v-bottom .av-composer-hero__inner{align-items:flex-end}
.av-composer-hero--h-left .av-composer-hero__inner{justify-content:flex-start;text-align:left}
.av-composer-hero--h-center .av-composer-hero__inner{justify-content:center;text-align:center}
.av-composer-hero--h-right .av-composer-hero__inner{justify-content:flex-end;text-align:right}
.av-composer-hero__content{color:#fff;width:100%;max-width:800px}
.av-composer-hero--content-small .av-composer-hero__content{max-width:600px}
.av-composer-hero--content-medium .av-composer-hero__content{max-width:800px}
.av-composer-hero--content-large .av-composer-hero__content{max-width:1000px}
.av-composer-hero--h-center .av-composer-hero__content{margin-inline:auto}
.av-composer-hero--h-right .av-composer-hero__content{margin-left:auto}
.av-composer-hero__slides,.av-composer-hero__slide{position:absolute;inset:0}
.av-composer-hero__slide{opacity:0;transition:opacity 900ms ease}
.av-composer-hero__slide.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.av-composer-hero__slide{transition:none}}
@media(max-width:760px){
 .av-composer-hero--height-small{min-height:52svh}
 .av-composer-hero--height-medium{min-height:64svh}
 .av-composer-hero--height-large{min-height:74svh}
 .av-composer-hero__inner{padding-top:90px;padding-bottom:50px}
 .av-composer-hero--h-right .av-composer-hero__inner,.av-composer-hero--h-center .av-composer-hero__inner{justify-content:flex-start;text-align:left}
 .av-composer-hero--overlay-gradient .av-composer-hero__overlay{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 75%)}
}


/* Produzioni e rappresentazioni v0.9.0 */
.program-tabs{display:flex;gap:10px;flex-wrap:wrap;padding-block:28px}
.program-tabs a{padding:10px 16px;border:1px solid #d9dee2;text-decoration:none;font-weight:700;color:#101820}
.program-tabs a.is-active,.program-tabs a:hover{background:#101820;color:#fff}
.program-section-results{padding-bottom:clamp(70px,9vw,140px)}
.event-card{background:#fff;border:1px solid #e3e7ea;min-width:0}
.event-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.event-card__media{aspect-ratio:4/3;background:#eef1f3;overflow:hidden}
.event-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.event-card:hover .event-card__media img{transform:scale(1.03)}
.event-card__body{padding:20px}.event-card__body h3{font-size:clamp(24px,2vw,34px);line-height:1;margin:.2em 0 .45em}
.show-performances{padding-block:clamp(50px,7vw,90px)}
.performance-list{border-top:1px solid #dfe3e6}
.performance-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.5fr) auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid #dfe3e6}
.performance-row h3{margin:0;font-size:22px}.performance-row p{margin:4px 0 0}.performance-row>div:last-child{display:flex;gap:18px;align-items:center;justify-content:flex-end}
.section--yellow{background:#f9e900;color:#101820}
@media(max-width:760px){.performance-row{grid-template-columns:1fr;gap:10px}.performance-row>div:last-child{justify-content:flex-start;flex-wrap:wrap}.program-tabs{overflow-x:auto;flex-wrap:nowrap}.program-tabs a{white-space:nowrap}}

.event-detail__hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;background:#101820;color:#fff;overflow:hidden}.event-detail__media,.event-detail__overlay{position:absolute;inset:0}.event-detail__media img{width:100%;height:100%;object-fit:cover}.event-detail__overlay{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18))}.event-detail__content{position:relative;z-index:1;padding-block:clamp(70px,10vw,130px)}.event-detail__content h1{font-size:clamp(46px,7vw,100px);max-width:12ch;margin:.15em 0}.event-detail__date{font-size:clamp(20px,2vw,30px);font-weight:700}.event-detail__body{padding-block:clamp(50px,8vw,110px)}.event-detail__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:#dfe3e6;margin-bottom:50px}.event-detail__facts>div{background:#fff;padding:22px}.event-detail__facts span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.event-detail__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}


/* Course detail — same visual language as the homepage tiles */
.course-detail{background:var(--av-bg,#f5f1e8)}
.course-hero{padding-bottom:55px}
.course-data-band{padding:0 max(5vw,calc((100vw - var(--av-container,1500px))/2)) 70px;background:var(--av-bg,#f5f1e8)}
.course-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(15,15,15,.2);border-left:1px solid rgba(15,15,15,.2)}
.course-data-card{position:relative;min-height:190px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid rgba(15,15,15,.2);border-bottom:1px solid rgba(15,15,15,.2);text-decoration:none;color:#111;overflow:hidden}
.course-data-card span{display:block;margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.course-data-card strong{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(28px,2.5vw,48px);font-weight:var(--av-heading-weight,500);line-height:.98}
.course-data-card small{display:block;margin-top:10px;max-width:32ch;font-size:13px;line-height:1.35}
.course-data-card--yellow{background:#f9e900}.course-data-card--blue{background:#0f6dbf;color:#fff}.course-data-card--mint{background:#59e0ac}.course-data-card--pink{background:#e82055;color:#fff}
.course-data-card--cost{background:#f9e900;grid-column:span 2}
.course-data-card--cta{background:#e82055;color:#fff;transition:transform .2s ease,filter .2s ease}.course-data-card--cta:hover{filter:brightness(.94)}
.course-content{padding-top:70px}
@media(max-width:1000px){.course-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-data-card--cost{grid-column:span 2}}
@media(max-width:620px){.course-data-band{padding-inline:18px;padding-bottom:45px}.course-data-grid{grid-template-columns:1fr}.course-data-card,.course-data-card--cost{grid-column:auto;min-height:150px;padding:22px}.course-data-card strong{font-size:32px}.course-content{padding-top:45px}}

/* Course detail v0.9.2 — editorial information layout */
.course-info{padding:0 0 clamp(58px,7vw,100px);background:var(--av-bg,#f5f1e8)}
.course-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));border-top:2px solid #101820;border-bottom:1px solid #cfd5d8;background:transparent}
.course-fact{padding:22px 24px 24px;border-right:1px solid #cfd5d8;min-width:0}
.course-fact:last-child{border-right:0}.course-fact span,.course-panel__label,.course-membership span,.course-dates span{display:block;margin:0 0 9px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0f6dbf}
.course-fact strong{display:block;font-size:clamp(18px,1.55vw,25px);line-height:1.15;font-weight:650;overflow-wrap:anywhere}
.course-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.course-panel{position:relative;padding:32px 34px;min-height:260px;border:1px solid rgba(16,24,32,.08);box-shadow:0 14px 34px rgba(16,24,32,.06)}
.course-panel--cost{background:#f9e900}.course-panel--registration{background:#fff}
.course-panel h2{margin:0;font-size:clamp(34px,3vw,52px);line-height:1;font-weight:700;letter-spacing:-.035em}.course-panel--cost .course-panel__label{color:#101820}
.course-membership{display:grid;grid-template-columns:1fr auto;gap:3px 20px;align-items:end;margin-top:32px;padding-top:18px;border-top:1px solid rgba(16,24,32,.22)}
.course-membership span{margin:0;color:#101820}.course-membership strong{font-size:24px;line-height:1}.course-membership p{grid-column:1/-1;margin:4px 0 0;font-size:13px;opacity:.72}.course-panel__note{margin:16px 0 0;font-size:13px}
.course-status{min-height:27px;margin-bottom:16px}.course-status span{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#59e0ac;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-status span:before{content:"";width:7px;height:7px;border-radius:50%;background:#101820}
.course-dates{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.course-dates p{margin:0;padding-top:15px;border-top:1px solid #dce1e4}.course-dates span{margin-bottom:5px}.course-dates strong{display:block;font-size:18px;line-height:1.25}
.course-register-button{display:inline-flex;margin-top:28px;padding:13px 18px;background:#e82055;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s ease}.course-register-button:hover{transform:translateY(-2px)}
.course-content{padding-top:clamp(58px,7vw,100px);padding-bottom:clamp(70px,9vw,130px);display:grid;grid-template-columns:minmax(0,760px);gap:54px}.course-editorial-block{padding-top:20px;border-top:1px solid #dce1e4}.course-editorial-block .single-kicker{margin-bottom:18px}.course-intro{font-size:clamp(20px,1.8vw,26px);line-height:1.45}.course-intro p:first-child{margin-top:0}
@media(max-width:850px){.course-action-grid{grid-template-columns:1fr}.course-facts{grid-template-columns:repeat(2,1fr)}.course-fact:nth-child(even){border-right:0}.course-dates{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.course-hero{padding-bottom:36px}.course-facts{grid-template-columns:1fr 1fr}.course-fact{padding:17px 14px}.course-fact strong{font-size:18px}.course-action-grid{gap:14px;margin-top:18px}.course-panel{padding:25px 22px;min-height:0}.course-dates{grid-template-columns:1fr}.course-membership{grid-template-columns:1fr auto}.course-content{gap:38px}}

/* Course detail v0.9.3 — immersive hero + balanced editorial body */
.course-detail{background:#fff}
.course-hero{position:relative;min-height:clamp(440px,62vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:#101820;color:#fff;padding:0}
.course-hero__media,.course-hero__overlay{position:absolute;inset:0}
.course-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.course-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.78) 100%)}
.course-hero.has-image:hover .course-hero__media img{transform:scale(1.012)}
.course-hero.has-image:hover .course-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.22) 47%,rgba(0,0,0,.82) 100%)}
.course-hero__inner{position:relative;z-index:2;width:100%;padding-top:clamp(120px,18vh,220px);padding-bottom:clamp(42px,6vw,76px)}
.course-hero__copy{max-width:900px}
.course-hero .single-kicker{color:#f9e900;margin-bottom:12px}
.course-hero h1{margin:0;font-size:clamp(48px,6vw,92px);line-height:.94;letter-spacing:-.045em;color:#fff;text-wrap:balance}
.course-hero .single-lead{max-width:760px;margin:20px 0 0;font-size:clamp(18px,1.6vw,25px);line-height:1.35;color:#fff;opacity:.94}
.course-hero.no-image{min-height:420px;background:#101820}

.course-info{padding:clamp(38px,4.5vw,64px) 0 clamp(54px,6vw,82px);background:#fff}
.course-info .content-shell{position:relative}
.course-facts{margin:0}
.course-action-grid{margin-top:20px}
.course-panel{min-height:220px}

.course-content{padding-top:clamp(58px,7vw,96px);padding-bottom:clamp(80px,9vw,130px);display:grid;gap:clamp(48px,6vw,90px);align-items:start}
.course-content.has-sidebar{grid-template-columns:minmax(0,1.85fr) minmax(280px,.85fr)}
.course-content.no-sidebar{grid-template-columns:minmax(0,820px)}
.course-content__main{min-width:0}
.course-editorial-block{padding-top:0;border-top:0;margin-bottom:clamp(48px,6vw,78px)}
.course-editorial-block:last-child{margin-bottom:0}
.course-editorial-block .single-kicker{margin-bottom:16px;color:#0f6dbf}
.course-intro{font-size:clamp(21px,1.75vw,27px);line-height:1.5;max-width:34em}
.course-content .prose{font-size:clamp(17px,1.2vw,20px);line-height:1.7;max-width:48em}
.course-content .prose p:first-child{margin-top:0}

.course-sidebar{position:sticky;top:110px;padding:30px 30px 10px;border-top:4px solid #e82055;background:#f7f8f8;box-shadow:0 18px 50px rgba(16,24,32,.07)}
.course-sidebar>.single-kicker{margin:0 0 16px;color:#0f6dbf}
.course-sidebar__item{padding:18px 0;border-top:1px solid #dfe3e5}
.course-sidebar__item:first-of-type{border-top:0}
.course-sidebar__item>span{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#101820}
.course-sidebar__item p,.course-sidebar__item div{margin:0;font-size:16px;line-height:1.5}
.course-sidebar__item div p{margin:0 0 8px}.course-sidebar__item div p:last-child{margin-bottom:0}
.course-sidebar__item--accent{margin-inline:-30px;padding-inline:30px;background:#f9e900;border-top:0}

@media(max-width:900px){
 .course-content.has-sidebar{grid-template-columns:1fr}
 .course-sidebar{position:static;top:auto}
 .course-hero{min-height:58svh}
 .course-hero__inner{padding-bottom:44px}
}
@media(max-width:620px){
 .course-hero{min-height:66svh}
 .course-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.03) 16%,rgba(0,0,0,.24) 48%,rgba(0,0,0,.86) 100%)}
 .course-hero h1{font-size:clamp(42px,13vw,64px)}
 .course-info{padding-top:30px;padding-bottom:48px}
 .course-content{padding-top:52px;gap:42px}
 .course-sidebar{padding:26px 22px 8px}
 .course-sidebar__item--accent{margin-inline:-22px;padding-inline:22px}
}
@media(prefers-reduced-motion:reduce){.course-hero__media img{transition:none}.course-hero.has-image:hover .course-hero__media img{transform:none}}

/* Course detail v0.9.5 */
.course-detail{background:#fff;color:#101820}
.course-hero{min-height:clamp(520px,66vh,800px);margin:0;background:#101820}
.course-hero__media img{object-position:center 48%}
.course-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.02) 18%,rgba(0,0,0,.10) 40%,rgba(0,0,0,.74) 100%)}
.course-hero__inner{padding-top:clamp(150px,22vh,260px);padding-bottom:clamp(38px,5vw,64px)}
.course-hero__copy{max-width:980px}
.course-hero .single-kicker{color:#fff;font-size:12px;letter-spacing:.15em;margin-bottom:13px}
.course-hero h1{font-size:clamp(52px,5.6vw,88px);max-width:14ch;line-height:.95}
.course-hero .single-lead{max-width:830px;margin-top:16px;font-size:clamp(18px,1.5vw,24px);font-weight:600;line-height:1.4}

.course-info{padding:0 0 clamp(42px,5vw,70px);background:#fff}
.course-info>.content-shell{padding-top:0}
.course-facts{grid-template-columns:repeat(5,minmax(0,1fr));border:0;border-bottom:1px solid #dfe5e8;background:#fff}
.course-fact{padding:30px 24px 28px;border-right:1px solid #dfe5e8;text-align:left}
.course-fact:last-child{border-right:0}
.course-fact__icon{width:34px;height:34px;margin-bottom:13px;color:#0f6dbf}
.course-fact__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.course-fact span{color:#0f6dbf;font-size:10px;margin-bottom:10px}
.course-fact strong{font-size:clamp(18px,1.55vw,24px);font-weight:700;line-height:1.2}
.course-action-grid{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.25fr);gap:18px;margin-top:26px}
.course-panel{border-radius:5px;min-height:0;box-shadow:0 8px 28px rgba(16,24,32,.06)}
.course-panel--cost{padding:34px 40px;background:#f9e900;border:0}
.course-panel--cost h2{font-size:clamp(38px,3.1vw,58px);margin-top:8px}
.course-membership{margin-top:28px;padding-top:22px}
.course-membership strong{font-size:21px}
.course-panel--registration{padding:30px 34px 26px;background:#fff;border:1px solid #dfe5e8}
.course-status{margin-bottom:16px}
.course-status span{padding:8px 14px;background:#59e0ac;box-shadow:0 6px 18px rgba(89,224,172,.28)}
.course-dates{gap:0;margin-top:10px;border-top:1px solid #dfe5e8}
.course-dates p{padding:18px 20px 2px 0;border:0}
.course-dates p+p{padding-left:24px;border-left:1px solid #dfe5e8}
.course-register-button{display:flex;justify-content:center;align-items:center;min-height:52px;margin-top:24px;background:#e82055;border-radius:4px;font-size:13px;letter-spacing:.09em}

.course-content{padding-top:clamp(26px,3.5vw,46px);padding-bottom:clamp(62px,7vw,96px);gap:clamp(36px,4vw,64px)}
.course-content.has-sidebar{grid-template-columns:minmax(0,1.85fr) minmax(270px,.7fr)}
.course-editorial-block{margin-bottom:38px;padding-top:0}
.course-editorial-block+.course-editorial-block{padding-top:28px;border-top:1px solid #dfe5e8}
.course-editorial-block .single-kicker{position:relative;margin-bottom:20px;color:#0f6dbf;font-size:14px;letter-spacing:.08em}
.course-editorial-block .single-kicker:after,.course-sidebar>.single-kicker:after{content:"";display:block;width:28px;height:2px;margin-top:10px;background:#0f6dbf}
.course-intro{font-size:clamp(18px,1.25vw,21px);line-height:1.65;max-width:48em}
.course-content .prose{font-size:clamp(16px,1.08vw,19px);line-height:1.7;max-width:52em}
.course-sidebar{top:100px;padding:28px 28px 10px;border:1px solid #dfe5e8;border-top:0;border-radius:4px;background:#fff;box-shadow:0 10px 34px rgba(16,24,32,.06)}
.course-sidebar>.single-kicker{font-size:14px;color:#101820;margin-bottom:10px}
.course-sidebar__item{padding:18px 0}
.course-sidebar__item>span{color:#0f6dbf}
.course-sidebar__item--accent{margin-inline:0;padding-inline:0;background:transparent;border-top:1px solid #dfe3e5}

@media(max-width:1000px){
 .course-facts{grid-template-columns:repeat(3,1fr)}
 .course-fact:nth-child(3){border-right:0}
 .course-fact:nth-child(n+4){border-top:1px solid #dfe5e8}
 .course-action-grid{grid-template-columns:1fr 1.25fr}
}
@media(max-width:850px){
 .course-facts{grid-template-columns:repeat(2,1fr)}
 .course-fact:nth-child(3){border-right:1px solid #dfe5e8}
 .course-fact:nth-child(even){border-right:0}
 .course-action-grid{grid-template-columns:1fr}
 .course-content.has-sidebar{grid-template-columns:1fr}
}
@media(max-width:620px){
 .course-hero{min-height:62svh}
 .course-hero__inner{padding-top:150px;padding-bottom:34px}
 .course-hero h1{font-size:clamp(42px,12vw,60px)}
 .course-hero .single-lead{font-size:17px}
 .course-facts{grid-template-columns:1fr 1fr}
 .course-fact{padding:22px 16px}
 .course-fact__icon{width:28px;height:28px}
 .course-panel--cost,.course-panel--registration{padding:26px 22px}
 .course-dates{grid-template-columns:1fr}
 .course-dates p+p{padding-left:0;border-left:0;border-top:1px solid #dfe5e8;margin-top:12px}
 .course-content{padding-top:30px}
}


/* Course detail v0.9.5 — tighter rhythm + enrollment form */
.course-info{padding-bottom:12px}
.course-content{padding-top:18px;padding-bottom:clamp(42px,5vw,70px)}
.course-action-grid{margin-bottom:0}
.course-form-section{padding-top:0;padding-bottom:clamp(62px,7vw,96px)}
.course-form-section__head{max-width:760px;padding-top:28px;border-top:1px solid #dfe5e8;margin-bottom:28px}
.course-form-section__head .single-kicker{position:relative;margin:0 0 16px;color:#0f6dbf;font-size:14px;letter-spacing:.08em}
.course-form-section__head .single-kicker:after{content:"";display:block;width:28px;height:2px;margin-top:10px;background:#0f6dbf}
.course-form-section__head>p:last-child{margin:0;font-size:17px;line-height:1.6}
.course-form-section__form{max-width:100%}
.course-form-section__form .wpforms-container{margin:0!important;max-width:none!important}
@media(max-width:620px){
 .course-info{padding-bottom:8px}
 .course-content{padding-top:16px;padding-bottom:44px}
 .course-form-section{padding-bottom:58px}
 .course-form-section__head{padding-top:22px;margin-bottom:22px}
}


/* =========================================================
   Course WPForms integration — A Teatro! 0.9.7
   Reuses the approved form language, scoped ONLY to the
   enrollment/request form rendered on single course pages.
   The "IL CORSO" editorial label is intentionally untouched.
   ========================================================= */
.course-form-section__form {
  --av-form-text: #17212b;
  --av-form-muted: #66727f;
  --av-form-border: #cfd7de;
  --av-form-border-focus: #0f6dbf;
  --av-form-surface: #ffffff;
  --av-form-soft: #f4f8fb;
  --av-form-accent: #0f6dbf;
  --av-form-submit: #0f6dbf;
  width: min(calc(100% - 48px), 980px) !important;
  max-width: 980px;
  margin-inline: auto;
}

.course-form-section__form .wpforms-container {
  margin: 0 !important;
  color: var(--av-form-text);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.55;
}

.course-form-section__form .wpforms-container .wpforms-title {
  margin: 0 0 10px !important;
  color: var(--av-form-text);
  font-family: var(--av-font-heading, Georgia, serif);
  font-size: clamp(30px, 4vw, 48px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.025em;
}

.course-form-section__form .wpforms-container .wpforms-description {
  max-width: 720px;
  margin: 0 0 36px !important;
  color: var(--av-form-muted);
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.course-form-section__form .wpforms-container .wpforms-field-container {
  display: block;
}

.course-form-section__form .wpforms-container .wpforms-field {
  padding: 0 0 22px !important;
  clear: both;
}

.course-form-section__form .wpforms-container .wpforms-field-label,
.course-form-section__form .wpforms-container .wpforms-field-label-inline {
  display: block;
  margin: 0 0 8px !important;
  color: var(--av-form-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.course-form-section__form .wpforms-container .wpforms-required-label {
  color: #e82055 !important;
}

.course-form-section__form .wpforms-container input[type="text"],
.course-form-section__form .wpforms-container input[type="email"],
.course-form-section__form .wpforms-container input[type="tel"],
.course-form-section__form .wpforms-container input[type="url"],
.course-form-section__form .wpforms-container input[type="number"],
.course-form-section__form .wpforms-container input[type="date"],
.course-form-section__form .wpforms-container input[type="password"],
.course-form-section__form .wpforms-container select,
.course-form-section__form .wpforms-container textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--av-form-border) !important;
  border-radius: 0 !important;
  background: var(--av-form-surface) !important;
  color: var(--av-form-text) !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.course-form-section__form .wpforms-container textarea {
  min-height: 150px !important;
  resize: vertical;
}

.course-form-section__form .wpforms-container input::placeholder,
.course-form-section__form .wpforms-container textarea::placeholder {
  color: #929ca6 !important;
  opacity: 1;
}

.course-form-section__form .wpforms-container input:focus,
.course-form-section__form .wpforms-container select:focus,
.course-form-section__form .wpforms-container textarea:focus {
  border-color: var(--av-form-border-focus) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(15, 109, 191, .14) !important;
}

.course-form-section__form .wpforms-container .wpforms-field-sublabel {
  margin-top: 6px !important;
  color: var(--av-form-muted) !important;
  font-size: 12px !important;
}

.course-form-section__form .wpforms-container .wpforms-field-description {
  margin-top: 7px !important;
  color: var(--av-form-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.course-form-section__form .wpforms-container .wpforms-field-html {
  margin: 10px 0 26px !important;
  padding: 0 !important;
  color: var(--av-form-text);
}

.course-form-section__form .wpforms-container .wpforms-field-html h2,
.course-form-section__form .wpforms-container .wpforms-field-html h3,
.course-form-section__form .wpforms-container .wpforms-field-html h4 {
  margin: 38px 0 12px;
  color: var(--av-form-text);
  font-family: var(--av-font-heading, Georgia, serif);
  font-weight: 600;
  line-height: 1.15;
}

.course-form-section__form .wpforms-container .wpforms-field-html h3 {
  font-size: clamp(22px, 2.5vw, 30px);
}

.course-form-section__form .wpforms-container .wpforms-field-html p,
.course-form-section__form .wpforms-container .wpforms-field-html li {
  color: var(--av-form-text);
  font-size: 14px;
  line-height: 1.65;
}

.course-form-section__form .wpforms-container .wpforms-field-html ul,
.course-form-section__form .wpforms-container .wpforms-field-html ol {
  margin: 14px 0 0 22px;
}

.course-form-section__form .wpforms-container .wpforms-field-divider,
.course-form-section__form .wpforms-container .wpforms-field-pagebreak {
  margin: 30px 0 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid #e5eaee !important;
}

.course-form-section__form .wpforms-container .wpforms-field-divider h3,
.course-form-section__form .wpforms-container .wpforms-field-divider .wpforms-field-label {
  margin: 0 0 8px !important;
  color: var(--av-form-text) !important;
  font-family: var(--av-font-heading, Georgia, serif);
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.course-form-section__form .wpforms-container .wpforms-field-row {
  max-width: none !important;
}

.course-form-section__form .wpforms-container .wpforms-field-row-block,
.course-form-section__form .wpforms-container .wpforms-one-half,
.course-form-section__form .wpforms-container .wpforms-one-third,
.course-form-section__form .wpforms-container .wpforms-two-thirds {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.course-form-section__form .wpforms-container .wpforms-field-row {
  margin-left: -8px !important;
  margin-right: -8px !important;
}

.course-form-section__form .wpforms-container input[type="checkbox"],
.course-form-section__form .wpforms-container input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 9px 0 0 !important;
  accent-color: var(--av-form-accent);
}

.course-form-section__form .wpforms-container .wpforms-field-checkbox li,
.course-form-section__form .wpforms-container .wpforms-field-radio li {
  display: flex !important;
  align-items: flex-start;
  margin-bottom: 10px !important;
  line-height: 1.5 !important;
}

.course-form-section__form .wpforms-container .wpforms-field-checkbox label,
.course-form-section__form .wpforms-container .wpforms-field-radio label {
  color: var(--av-form-text) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.course-form-section__form .wpforms-container .wpforms-submit-container {
  margin-top: 18px !important;
  padding-top: 0 !important;
}

.course-form-section__form .wpforms-container button[type="submit"],
.course-form-section__form .wpforms-container .wpforms-submit {
  min-height: 48px !important;
  padding: 12px 28px !important;
  border: 1px solid var(--av-form-submit) !important;
  border-radius: 0 !important;
  background: var(--av-form-submit) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.course-form-section__form .wpforms-container button[type="submit"]:hover,
.course-form-section__form .wpforms-container .wpforms-submit:hover {
  border-color: #0b568f !important;
  background: #0b568f !important;
  transform: translateY(-1px);
}

.course-form-section__form .wpforms-container .wpforms-error {
  border-color: #e82055 !important;
}

.course-form-section__form .wpforms-container label.wpforms-error {
  margin-top: 6px !important;
  color: #b8173f !important;
  font-size: 12px !important;
}

.course-form-section__form .wpforms-container .wpforms-confirmation-container-full {
  border: 1px solid rgba(89, 224, 172, .8) !important;
  background: rgba(89, 224, 172, .18) !important;
  color: var(--av-form-text) !important;
}


.course-form-section__form {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
.course-form-section__form .wpforms-container {
  width: 100% !important;
}
.course-form-section__form .wpforms-field-signature canvas,
.course-form-section__form .wpforms-signature-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 150px;
}
@media (max-width: 782px) {
  .course-form-section__form {
    width: 100% !important;
  }
}

/* Course availability states — A Teatro! 0.10.0 */
.course-availability-list p { position: relative; }
.course-availability-list small {
  display: block;
  margin-top: 4px;
  color: #5c6670;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 400;
}

/* Course trial rule — A Teatro! 0.10.1 */
.course-trial-rule{
  display:block;
  margin-top:10px!important;
  padding-top:10px;
  border-top:1px solid #dfe5e8;
  color:#101820!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.course-trial-rule strong{
  color:#0f6dbf;
  font-weight:700;
}


/* Course availability card — A Teatro! 0.10.2 */
.course-panel--registration{padding:0!important;overflow:hidden}
.course-availability-layout{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(360px,1.18fr);min-height:100%}
.course-availability-statuses{padding:28px 32px}
.course-availability-item{padding:0 0 24px}
.course-availability-item+.course-availability-item{padding-top:24px;border-top:1px solid #dfe5e8}
.course-availability-item:last-child{padding-bottom:0}
.course-availability-item>span{display:block;margin:0 0 12px;color:#0f6dbf;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.course-availability-value{display:flex;align-items:center;justify-content:space-between;gap:14px}
.course-availability-value>strong{font-size:clamp(22px,1.7vw,30px);line-height:1.1;color:#101820}
.course-availability-item>small{display:block;margin-top:8px;color:#69727d;font-size:12px;line-height:1.45}
.course-availability-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#e5f8eb;color:#18a95b;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.course-availability-badge:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border:2px solid currentColor;border-radius:50%;font-size:11px;line-height:1}
.course-availability-badge--closed,.course-availability-badge--unavailable{background:#f5e7ea;color:#b8344e}
.course-availability-badge--on_request{background:#fff5cf;color:#8b6a00}
.course-trial-box{display:flex;flex-direction:column;justify-content:center;padding:28px 34px;border-left:1px solid #dfe5e8}
.course-trial-rule{display:block;margin:0!important;padding:0!important;border:0!important;color:#6b7280!important;font-size:16px!important;line-height:1.55!important}
.course-trial-rule strong{display:block;margin-bottom:8px;color:#6b7280!important;font-size:18px;font-weight:700}
.course-trial-rule p{margin:0 0 8px}.course-trial-rule p:last-child{margin-bottom:0}
.course-trial-box .course-register-button{width:100%;margin-top:24px;min-height:54px;padding:14px 20px;font-size:13px}
.course-trial-box .course-register-button span{margin-left:8px;font-size:22px;line-height:1}
@media(max-width:760px){
 .course-availability-layout{grid-template-columns:1fr}
 .course-trial-box{border-left:0;border-top:1px solid #dfe5e8}
 .course-availability-statuses,.course-trial-box{padding:24px 22px}
}
@media(max-width:430px){
 .course-availability-value{align-items:flex-start;flex-direction:column}
}

/* v0.10.3 — Dreamy petal cards: Produzioni e Corsi */
.catalog-card__media{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:transparent;
  margin:10px 10px 20px;
}
.catalog-card__media::before,
.catalog-card__media::after{
  content:"";
  position:absolute;
  z-index:-2;
  pointer-events:none;
  transition:transform .65s cubic-bezier(.2,.75,.25,1),border-radius 1.1s ease;
}
.catalog-card__media::before{
  width:58%;height:45%;left:-8%;bottom:-8%;
  background:var(--av-pink,#e82055);
  border-radius:64% 36% 58% 42% / 45% 62% 38% 55%;
  transform:rotate(-8deg);
  box-shadow:0 16px 34px rgba(232,32,85,.16);
}
.catalog-card__media::after{
  width:62%;height:42%;right:-7%;bottom:-9%;
  background:var(--av-blue,#0f6dbf);
  border-radius:38% 62% 67% 33% / 57% 42% 58% 43%;
  transform:rotate(8deg);
  box-shadow:0 16px 34px rgba(15,109,191,.15);
}
.catalog-card__media img{
  position:relative;z-index:2;display:block;
  border-radius:57% 43% 52% 48% / 43% 54% 46% 57%;
  box-shadow:0 18px 42px rgba(18,30,46,.12);
  animation:av-dream-shape 13s ease-in-out infinite alternate;
}
.catalog-card__media span.av-petal-yellow{display:none}
.catalog-card:nth-child(3n+2) .catalog-card__media img{border-radius:43% 57% 61% 39% / 56% 39% 61% 44%;animation-delay:-4s}
.catalog-card:nth-child(3n+3) .catalog-card__media img{border-radius:62% 38% 44% 56% / 40% 60% 48% 52%;animation-delay:-8s}
.catalog-card:nth-child(3n+2) .catalog-card__media::before{background:var(--av-yellow,#f9e900);left:-6%;bottom:-10%;transform:rotate(7deg)}
.catalog-card:nth-child(3n+2) .catalog-card__media::after{background:var(--av-pink,#e82055);right:-8%;bottom:-6%;transform:rotate(-5deg)}
.catalog-card:nth-child(3n+3) .catalog-card__media::before{background:var(--av-blue,#0f6dbf);left:-7%;bottom:-7%;transform:rotate(4deg)}
.catalog-card:nth-child(3n+3) .catalog-card__media::after{background:var(--av-yellow,#f9e900);right:-5%;bottom:-10%;transform:rotate(-9deg)}
.catalog-card:hover .catalog-card__media::before{transform:translate(-5px,5px) rotate(-12deg) scale(1.04)}
.catalog-card:hover .catalog-card__media::after{transform:translate(6px,4px) rotate(12deg) scale(1.05)}
.catalog-card:hover .catalog-card__media img{transform:scale(1.018)}
@keyframes av-dream-shape{
  0%{border-radius:57% 43% 52% 48% / 43% 54% 46% 57%}
  50%{border-radius:45% 55% 39% 61% / 58% 42% 60% 40%}
  100%{border-radius:53% 47% 60% 40% / 40% 61% 39% 60%}
}
/* Terzo petalo giallo: ombra organica stratificata dietro il visual */
.catalog-card__media{filter:drop-shadow(0 18px 22px rgba(18,30,46,.04))}
.catalog-card__media img{outline:8px solid transparent}
.catalog-card:nth-child(3n+1) .catalog-card__media{background:radial-gradient(ellipse at 50% 103%,var(--av-yellow,#f9e900) 0 27%,transparent 28%)}
.catalog-card:nth-child(3n+2) .catalog-card__media{background:radial-gradient(ellipse at 52% 103%,var(--av-blue,#0f6dbf) 0 26%,transparent 27%)}
.catalog-card:nth-child(3n+3) .catalog-card__media{background:radial-gradient(ellipse at 48% 103%,var(--av-pink,#e82055) 0 27%,transparent 28%)}

/* Homepage: stesso linguaggio visivo per le Produzioni, senza alterare le card scure Attività */
.home .section:not(.section--dark) .cards .card{background:transparent;overflow:visible}
.home .section:not(.section--dark) .cards .card>a{display:block;position:relative;padding-top:8px}
.home .section:not(.section--dark) .cards .card>a::before,
.home .section:not(.section--dark) .cards .card>a::after{content:"";position:absolute;pointer-events:none;z-index:0}
.home .section:not(.section--dark) .cards .card>a::before{width:56%;height:34%;left:-5%;top:55%;background:var(--av-pink,#e82055);border-radius:63% 37% 55% 45% / 45% 60% 40% 55%;transform:rotate(-7deg)}
.home .section:not(.section--dark) .cards .card>a::after{width:60%;height:32%;right:-5%;top:57%;background:var(--av-blue,#0f6dbf);border-radius:40% 60% 66% 34% / 58% 42% 58% 42%;transform:rotate(7deg)}
.home .section:not(.section--dark) .cards .card img{position:relative;z-index:2;border-radius:57% 43% 52% 48% / 43% 54% 46% 57%;box-shadow:0 18px 42px rgba(18,30,46,.12);animation:av-dream-shape 13s ease-in-out infinite alternate}
.home .section:not(.section--dark) .cards .card h3,.home .section:not(.section--dark) .cards .card p{position:relative;z-index:3}
.home .section:not(.section--dark) .cards .card:nth-child(3n+2)>a::before{background:var(--av-yellow,#f9e900)}
.home .section:not(.section--dark) .cards .card:nth-child(3n+2)>a::after{background:var(--av-pink,#e82055)}
.home .section:not(.section--dark) .cards .card:nth-child(3n+3)>a::before{background:var(--av-blue,#0f6dbf)}
.home .section:not(.section--dark) .cards .card:nth-child(3n+3)>a::after{background:var(--av-yellow,#f9e900)}

@media(prefers-reduced-motion:reduce){
  .catalog-card__media img,.home .section:not(.section--dark) .cards .card img{animation:none!important;transition:none!important}
  .catalog-card__media::before,.catalog-card__media::after{transition:none!important}
}
@media(max-width:700px){
  .catalog-card__media{margin:7px 7px 16px}
  .catalog-card__media::before,.catalog-card__media::after{box-shadow:none}
}

/* v0.10.4 — Dreamy cards: proporzioni orizzontali + body uniforme */
.catalog-card{
  height:100%;
}
.catalog-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
}
.catalog-card__media{
  height:250px;
  margin:8px 8px 26px;
}
.catalog-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:44% 56% 48% 52% / 36% 42% 58% 64%;
}
.catalog-card:nth-child(3n+2) .catalog-card__media img{
  border-radius:52% 48% 57% 43% / 40% 35% 65% 60%;
}
.catalog-card:nth-child(3n+3) .catalog-card__media img{
  border-radius:47% 53% 43% 57% / 34% 45% 55% 66%;
}
.catalog-card__media::before{width:55%;height:38%;bottom:-10%}
.catalog-card__media::after{width:59%;height:36%;bottom:-11%}
.catalog-card__body{
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:230px;
  padding:22px 22px 18px;
  background:#fff;
  border:1px solid rgba(18,30,46,.10);
  border-radius:14px;
  box-shadow:0 14px 34px rgba(18,30,46,.07);
}
.catalog-card__body h2{margin-top:4px}
.catalog-card__cta{margin-top:auto}
@keyframes av-dream-shape{
  0%{border-radius:44% 56% 48% 52% / 36% 42% 58% 64%}
  50%{border-radius:50% 50% 43% 57% / 41% 36% 64% 59%}
  100%{border-radius:47% 53% 55% 45% / 34% 45% 55% 66%}
}
@media(max-width:1100px){.catalog-card__media{height:220px}.catalog-card__body{min-height:215px}}
@media(max-width:700px){.catalog-card__media{height:230px;margin:7px 7px 24px}.catalog-card__body{min-height:0;padding:18px}}

/* =========================================================
   A Teatro! 0.10.5 — Catalog cards faithful to approved mockup
   Horizontal organic visual + petals + unified white body.
   ========================================================= */
.catalog-grid{
  gap:38px 24px;
}
.catalog-card{
  height:100%;
  overflow:visible;
}
.catalog-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:visible;
}
.catalog-card__media{
  position:relative;
  z-index:2;
  height:182px;
  margin:0 10px;
  overflow:visible;
  background:transparent!important;
  filter:none;
}
.catalog-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:42% 58% 45% 55% / 48% 42% 58% 52%;
  box-shadow:0 14px 28px rgba(18,30,46,.12);
  outline:0;
  animation:av-card-breathe 16s ease-in-out infinite alternate;
  transform-origin:center;
}
.catalog-card:nth-child(3n+2) .catalog-card__media img{
  border-radius:54% 46% 52% 48% / 44% 51% 49% 56%;
}
.catalog-card:nth-child(3n+3) .catalog-card__media img{
  border-radius:47% 53% 58% 42% / 52% 44% 56% 48%;
}

/* Petals: flatter, wider and pushed to the perimeter, like the approved mockup. */
.catalog-card__media::before,
.catalog-card__media::after{
  content:"";
  position:absolute;
  z-index:-2;
  pointer-events:none;
  box-shadow:none;
  transition:transform .5s ease;
}
.catalog-card__media::before{
  width:49%;
  height:39%;
  left:-9%;
  bottom:-10%;
  background:var(--av-pink,#e82055);
  border-radius:64% 36% 54% 46% / 55% 66% 34% 45%;
  transform:rotate(-8deg);
}
.catalog-card__media::after{
  width:51%;
  height:37%;
  right:-10%;
  bottom:-9%;
  background:var(--av-blue,#0f6dbf);
  border-radius:38% 62% 66% 34% / 58% 43% 57% 42%;
  transform:rotate(8deg);
}
.catalog-card:nth-child(3n+1) .catalog-card__media{
  background:radial-gradient(ellipse at 50% 107%,var(--av-yellow,#f9e900) 0 22%,transparent 23%)!important;
}
.catalog-card:nth-child(3n+2) .catalog-card__media{
  background:radial-gradient(ellipse at 50% 107%,var(--av-yellow,#f9e900) 0 22%,transparent 23%)!important;
}
.catalog-card:nth-child(3n+2) .catalog-card__media::before{
  background:var(--av-blue,#0f6dbf);
  left:-8%;
  transform:rotate(7deg);
}
.catalog-card:nth-child(3n+2) .catalog-card__media::after{
  background:var(--av-pink,#e82055);
  right:-8%;
  transform:rotate(-6deg);
}
.catalog-card:nth-child(3n+3) .catalog-card__media{
  background:radial-gradient(ellipse at 50% 107%,var(--av-pink,#e82055) 0 21%,transparent 22%)!important;
}
.catalog-card:nth-child(3n+3) .catalog-card__media::before{
  background:var(--av-yellow,#f9e900);
}
.catalog-card:nth-child(3n+3) .catalog-card__media::after{
  background:var(--av-blue,#0f6dbf);
}

.catalog-card:hover .catalog-card__media::before{
  transform:translate(-2px,2px) rotate(-10deg) scale(1.015);
}
.catalog-card:hover .catalog-card__media::after{
  transform:translate(2px,2px) rotate(10deg) scale(1.015);
}
.catalog-card:hover .catalog-card__media img{
  transform:translateY(-2px) scale(1.01);
}

/* The body visually receives the image: no detached tile effect. */
.catalog-card__body{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:226px;
  margin-top:-18px;
  padding:34px 18px 16px;
  background:#fff;
  border:1px solid rgba(18,30,46,.08);
  border-radius:0 0 18px 18px;
  box-shadow:0 12px 28px rgba(18,30,46,.07);
}
.catalog-card__eyebrow{
  margin-bottom:7px;
  color:var(--av-pink,#e82055);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.catalog-card h2,
.catalog-card__body h2{
  margin:0 0 10px;
  font-size:clamp(22px,1.55vw,28px);
  line-height:1.02;
  letter-spacing:-.02em;
}
.catalog-card__meta,
.catalog-card__price{
  font-size:12px;
  line-height:1.4;
  margin:3px 0;
}
.catalog-card__status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42%;
  min-height:28px;
  margin-top:auto;
  padding:5px 8px;
  border:1px solid rgba(18,30,46,.32);
  color:#17212b;
  background:#fff;
  font-size:9px;
  letter-spacing:.08em;
}
.catalog-card__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:50%;
  min-height:28px;
  margin-top:-28px;
  margin-left:auto;
  padding:6px 10px;
  background:#303030;
  color:#fff;
  font-size:9px;
  letter-spacing:.1em;
}
.catalog-card__body:not(:has(.catalog-card__status)) .catalog-card__cta{
  width:100%;
  margin-top:auto;
  margin-left:0;
}

@keyframes av-card-breathe{
  0%{border-radius:42% 58% 45% 55% / 48% 42% 58% 52%}
  100%{border-radius:47% 53% 51% 49% / 44% 49% 51% 56%}
}

@media(max-width:1100px){
  .catalog-card__media{height:170px}
  .catalog-card__body{min-height:218px}
}
@media(max-width:700px){
  .catalog-grid{gap:28px 14px}
  .catalog-card__media{height:155px;margin-inline:6px}
  .catalog-card__body{margin-top:-14px;padding:28px 14px 14px;min-height:205px}
  .catalog-card h2,.catalog-card__body h2{font-size:21px}
}
@media(max-width:460px){
  .catalog-grid{grid-template-columns:1fr}
  .catalog-card__media{height:210px}
  .catalog-card__body{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .catalog-card__media img{animation:none!important}
}

/* =========================================================
   A Teatro! 0.10.6 — Catalog media refinement
   Square image, rectangular frame, side petals only.
   ========================================================= */
.catalog-card{
  --av-card-gap:24px;
  min-width:0;
}
.catalog-card__media{
  position:relative;
  z-index:2;
  width:100%;
  height:auto!important;
  aspect-ratio:1 / 1;
  margin:0 10px;
  overflow:visible;
  background:transparent!important;
  isolation:isolate;
}
.catalog-card__media img,
.catalog-card:nth-child(3n+2) .catalog-card__media img,
.catalog-card:nth-child(3n+3) .catalog-card__media img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:14px 14px 0 0;
  box-shadow:0 14px 28px rgba(18,30,46,.10);
  animation:none;
  transform:none;
}

/* No petal underneath the image. */
.catalog-card:nth-child(3n+1) .catalog-card__media,
.catalog-card:nth-child(3n+2) .catalog-card__media,
.catalog-card:nth-child(3n+3) .catalog-card__media{
  background:transparent!important;
}

/* Side petals stay inside the card's own visual footprint. */
.catalog-card__media::before,
.catalog-card__media::after{
  content:"";
  position:absolute;
  z-index:1;
  top:50%;
  bottom:auto!important;
  width:24%;
  height:42%;
  pointer-events:none;
  transition:transform .45s ease;
}
.catalog-card__media::before{
  left:-7%;
  right:auto;
  background:var(--av-pink,#e82055);
  border-radius:58% 42% 52% 48% / 46% 60% 40% 54%;
  transform:translateY(-50%) rotate(-8deg);
}
.catalog-card__media::after{
  right:-7%;
  left:auto;
  background:var(--av-blue,#0f6dbf);
  border-radius:42% 58% 48% 52% / 58% 44% 56% 42%;
  transform:translateY(-50%) rotate(8deg);
}
.catalog-card:nth-child(3n+2) .catalog-card__media::before{background:var(--av-yellow,#f9e900)}
.catalog-card:nth-child(3n+2) .catalog-card__media::after{background:var(--av-pink,#e82055)}
.catalog-card:nth-child(3n+3) .catalog-card__media::before{background:var(--av-blue,#0f6dbf)}
.catalog-card:nth-child(3n+3) .catalog-card__media::after{background:var(--av-yellow,#f9e900)}
.catalog-card:hover .catalog-card__media::before{transform:translateY(-50%) translateX(-2px) rotate(-10deg) scale(1.02)}
.catalog-card:hover .catalog-card__media::after{transform:translateY(-50%) translateX(2px) rotate(10deg) scale(1.02)}
.catalog-card:hover .catalog-card__media img{transform:none}

/* The white information box starts exactly below the square visual. */
.catalog-card__body{
  margin-top:0;
  padding-top:18px;
  border-radius:0 0 18px 18px;
}

@media(max-width:700px){
  .catalog-card__media{width:calc(100% - 12px);margin-inline:6px}
  .catalog-card__media::before{left:-5%;width:22%}
  .catalog-card__media::after{right:-5%;width:22%}
  .catalog-card__body{margin-top:0;padding-top:16px}
}

/* =========================================================
   A Teatro! 0.10.7 — responsive show sidebar + card focus
   ========================================================= */

/* On tablets/mobile the credits/artists sidebar must follow the show text. */
@media (max-width: 980px) {
  .show-detail__layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 42px !important;
  }

  .show-detail__main {
    min-width: 0;
    width: 100%;
  }

  .show-detail__credits {
    width: 100%;
    min-width: 0;
    border-left: 0 !important;
    border-top: 1px solid rgba(15, 109, 191, .15);
    padding: 34px 0 0 !important;
  }

  .show-detail__credits .show-detail__sticky {
    position: static !important;
    top: auto !important;
    width: 100%;
    max-width: none;
  }
}

/* Desktop focus: the hovered catalogue card stays in colour,
   while its siblings are temporarily desaturated. */
@media (hover: hover) and (pointer: fine) {
  .catalog-grid .catalog-card {
    transition: filter .35s ease, opacity .35s ease, transform .35s ease;
  }

  .catalog-grid:has(.catalog-card:hover) .catalog-card:not(:hover) {
    filter: grayscale(1);
    opacity: .72;
  }

  .catalog-grid:has(.catalog-card:hover) .catalog-card:hover {
    filter: none;
    opacity: 1;
    position: relative;
    z-index: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .catalog-grid .catalog-card {
    transition: none !important;
  }
}


/* =========================================================
   Page Composer Gallery slider — A Teatro! 0.10.9
   CSS scroll-snap: no external carousel library.
   ========================================================= */
.av-page-section--gallery {
  overflow: hidden;
}

.av-composer-gallery.av-gallery-slider {
  position: relative;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  overflow: visible;
}

.av-gallery-slider__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.av-gallery-slider__viewport::-webkit-scrollbar {
  display: none;
}

.av-gallery-slider__track {
  display: flex;
  align-items: stretch;
  gap: 16px;
  width: max-content;
  min-width: 100%;
}

.av-gallery-slider__slide {
  position: relative;
  flex: 0 0 clamp(270px, 31.5vw, 370px);
  height: 340px;
  overflow: hidden;
  scroll-snap-align: start;
  border-radius: 10px;
  background: #eef1f3;
  cursor: zoom-in;
}

.av-gallery-slider__slide img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  transition: transform .45s ease;
}

@media (hover: hover) and (pointer: fine) {
  .av-gallery-slider__slide:hover img {
    transform: scale(1.025);
  }
}

.av-gallery-slider__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #101820;
  color: #fff;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(16,24,32,.18);
  transform: translateY(-50%);
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.av-gallery-slider__nav--prev { left: -21px; }
.av-gallery-slider__nav--next { right: -21px; }

.av-gallery-slider__nav:hover,
.av-gallery-slider__nav:focus-visible {
  background: #e82055;
  transform: translateY(-50%) scale(1.05);
}

.av-gallery-slider__nav:disabled {
  opacity: .22;
  cursor: default;
  transform: translateY(-50%);
}

/* Generic Composer lightbox */
.av-composer-lightbox {
  width: min(94vw, 1500px);
  max-width: 1500px;
  max-height: 92vh;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}
.av-composer-lightbox::backdrop { background: rgba(5,10,14,.88); }
.av-composer-lightbox img {
  display: block;
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  margin: auto;
  object-fit: contain;
}
.av-composer-lightbox__close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #101820;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

@media (max-width: 900px) {
  .av-gallery-slider__slide {
    flex-basis: min(46vw, 340px);
    height: 300px;
  }
  .av-gallery-slider__nav { display: none; }
}

@media (max-width: 640px) {
  .av-composer-gallery.av-gallery-slider {
    width: 100% !important;
    max-width: none;
    padding-left: 16px;
    padding-right: 0;
  }
  .av-gallery-slider__track { gap: 12px; }
  .av-gallery-slider__slide {
    flex-basis: 84vw;
    height: 270px;
    border-radius: 8px;
  }
  .av-gallery-slider__track::after {
    content: '';
    flex: 0 0 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .av-gallery-slider__viewport { scroll-behavior: auto; }
  .av-gallery-slider__slide img { transition: none; }
}


/* =========================================================
   Dynamic archive heroes — A Teatro! 0.11.0
   Produzioni / In scena / Prossimamente / Calendario / Programma
   ========================================================= */
.catalog-page{
  padding-top:clamp(64px,7vw,104px);
}
.catalog-hero{
  max-width:none;
  margin-bottom:clamp(34px,4vw,56px);
}
.catalog-hero .catalog-kicker{
  margin:0 0 12px;
  color:#0f6dbf;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.catalog-hero h1{
  max-width:16ch;
  margin:0 0 18px;
  font-family:var(--av-heading-font,Georgia,serif);
  font-size:clamp(46px,5.2vw,78px);
  font-weight:var(--av-heading-weight,500);
  line-height:.96;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.catalog-hero>p:last-child{
  max-width:62ch;
  margin:0;
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.55;
  color:color-mix(in srgb,var(--av-text,#101820) 72%,transparent);
}
.program-section-page>.catalog-hero--section{
  padding-top:clamp(64px,7vw,104px);
  padding-bottom:0;
}
.catalog-hero--archive[style]{
  box-sizing:border-box;
  min-height:clamp(300px,35vw,470px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(34px,5vw,70px);
  background-position:center;
  background-size:cover;
  color:#fff;
}
.catalog-hero--archive[style] .catalog-kicker,
.catalog-hero--archive[style]>p:last-child{
  color:#fff;
}
.catalog-hero--archive[style]>p:last-child{
  opacity:.9;
}
@media(max-width:700px){
  .catalog-page{padding-top:64px}
  .program-section-page>.catalog-hero--section{padding-top:64px}
  .catalog-hero{margin-bottom:30px}
  .catalog-hero h1{
    font-size:clamp(40px,12vw,58px);
    line-height:.98;
    max-width:12ch;
  }
  .catalog-hero>p:last-child{font-size:16px;line-height:1.5}
  .catalog-hero--archive[style]{
    min-height:320px;
    padding:30px 22px;
  }
}

/* v0.11.1 - Calendar timeline */
.program-section-results--timeline{padding-top:clamp(34px,5vw,72px)}
.av-timeline{--tl-line:#cfd7de;position:relative;max-width:980px;margin:0 auto;padding:0 0 40px}
.av-timeline::before{content:"";position:absolute;left:50%;top:28px;bottom:0;width:1px;background:var(--tl-line);transform:translateX(-.5px)}
.av-timeline__month{position:relative;z-index:2;display:flex;justify-content:center;margin:0 0 30px;padding-top:10px}
.av-timeline__month:not(:first-child){margin-top:54px}
.av-timeline__month span{display:inline-block;padding:8px 14px;background:#fff;border:1px solid #d9e0e5;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0d1a24}
.av-timeline__item{position:relative;width:50%;padding:0 46px 24px 0}
.av-timeline__item:nth-of-type(even){margin-left:50%;padding:0 0 24px 46px}
.av-timeline__dot{position:absolute;z-index:3;top:31px;right:-7px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#ed1d57;box-shadow:0 0 0 1px rgba(13,26,36,.08)}
.av-timeline__item:nth-of-type(even) .av-timeline__dot{right:auto;left:-7px}
.av-timeline__item--2 .av-timeline__dot{background:#ffe500}.av-timeline__item--3 .av-timeline__dot{background:#1876c8}.av-timeline__item--4 .av-timeline__dot{background:#52d6aa}
.av-timeline__card{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:104px;padding:18px 18px 18px 16px;background:#fff;border:1px solid #dce2e6;border-radius:10px;box-shadow:0 12px 30px rgba(13,26,36,.06);transition:transform .2s ease,box-shadow .2s ease}
.av-timeline__card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(13,26,36,.10)}
.av-timeline__date{display:flex;min-height:66px;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #e0e5e9;line-height:1;text-align:center}
.av-timeline__date strong{font-size:32px;font-weight:800;letter-spacing:-.05em}.av-timeline__date span{margin-top:5px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1876c8}
.av-timeline__content h2{margin:6px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.05;letter-spacing:-.025em}
.av-timeline__meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:11px;color:#66717c}.av-timeline__meta span+span::before{content:"·";margin-right:10px}.av-timeline__meta .av-timeline__today{padding:4px 7px;border-radius:999px;background:#dff7eb;color:#118a55;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.av-timeline__meta .av-timeline__today+span::before{content:none;margin:0}
.av-timeline__cta{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #0d1a24;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0d1a24;white-space:nowrap;transition:background .2s ease,color .2s ease}.av-timeline__cta:hover{background:#0d1a24;color:#fff}
@media (max-width:800px){.av-timeline{padding-left:25px}.av-timeline::before{left:7px;transform:none}.av-timeline__month{justify-content:flex-start;margin-left:-25px}.av-timeline__month:not(:first-child){margin-top:38px}.av-timeline__item,.av-timeline__item:nth-of-type(even){width:100%;margin-left:0;padding:0 0 18px 22px}.av-timeline__dot,.av-timeline__item:nth-of-type(even) .av-timeline__dot{left:-24px;right:auto;top:27px}.av-timeline__card{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:15px}.av-timeline__cta{grid-column:2;justify-self:start}.av-timeline__date{min-height:58px}.av-timeline__date strong{font-size:27px}}
@media (max-width:480px){.av-timeline__card{grid-template-columns:48px minmax(0,1fr);gap:12px}.av-timeline__content h2{font-size:19px}.av-timeline__meta{gap:5px 7px}.av-timeline__meta span+span::before{margin-right:7px}}
@media (prefers-reduced-motion:reduce){.av-timeline__card{transition:none}}


/* =========================================================
   Homepage editorial architecture — A Teatro! 0.11.3
   ========================================================= */
@media (min-width:801px){
  .home .hero-grid,
  .home .hero-grid__items{height:calc(100svh - 100px);min-height:620px}
  .home .hero-tile h2{font-size:clamp(30px,2.8vw,58px)}
}
.home-courses{overflow:hidden;background:#f7f8fa}
.home-rail{position:relative;margin-right:calc(-1 * max(5vw,calc((100vw - var(--av-container,1500px))/2)));}
.home-rail__viewport{overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 80px 36px 0}
.home-rail__viewport::-webkit-scrollbar{display:none}
.home-rail__track{display:flex;gap:22px;width:max-content;align-items:stretch}
.home-rail .catalog-card{flex:0 0 clamp(260px,22vw,340px);scroll-snap-align:start}
.home-rail .catalog-card__media{height:auto;aspect-ratio:1/1}
.home-rail__nav{position:absolute;z-index:12;top:38%;width:44px;height:44px;border:0;border-radius:50%;background:#101820;color:#fff;font-size:20px;cursor:pointer;box-shadow:0 8px 24px rgba(16,24,32,.16)}
.home-rail__nav--prev{left:-22px}.home-rail__nav--next{right:28px}
.home-rail__nav:disabled{opacity:.24;cursor:default}

.home-productions{background:#111820!important}
.home-productions .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.home-productions .catalog-card__body{background:#fff;color:#101820}
.home-productions .catalog-card__price,.home-productions .catalog-card__meta{color:#4d5861}
.home-productions .section-head a{color:#fff}

.home-upcoming{background:#f9e900;color:#101820}
.home-upcoming .section-head p{color:#343434}
.home-upcoming__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.home-upcoming .event-card{background:#fff;border:0;border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(16,24,32,.08)}
.home-upcoming .event-card__media{aspect-ratio:16/9}
.home-upcoming .event-card__body{padding:18px}
.home-upcoming .event-card__body h3{font-size:clamp(22px,1.6vw,30px)}

.home-activities{background:#f3f5f6}
.home-activities .section-head{margin-bottom:32px}
.home-activities .section-head h2{font-size:clamp(42px,5vw,76px)}
.home-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-activity-card{background:#fff;border:1px solid #e2e6e9;border-radius:8px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.home-activity-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,24,32,.08)}
.home-activity-card a{text-decoration:none;display:grid;grid-template-columns:110px 1fr;height:100%}
.home-activity-card img{width:110px;height:100%;min-height:150px;object-fit:cover}
.home-activity-card div{padding:16px}
.home-activity-card span{color:#0f6dbf;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.home-activity-card h3{font-size:22px;line-height:1.05;margin:7px 0 8px}
.home-activity-card p{font-size:13px;line-height:1.45;margin:0;color:#66717a}

.home-donation{position:relative;overflow:hidden;background:#20a957;color:#fff;padding:clamp(70px,8vw,130px) max(5vw,calc((100vw - var(--av-container,1500px))/2))}
.home-donation::before,.home-donation::after{content:"";position:absolute;width:260px;height:130px;background:#f9e900;border-radius:55% 45% 60% 40% / 45% 55% 45% 55%;opacity:.95}
.home-donation::before{left:-120px;top:-70px;transform:rotate(-18deg);background:#e82055}
.home-donation::after{right:-100px;bottom:-70px;transform:rotate(20deg);background:#0f6dbf}
.home-donation__inner{position:relative;z-index:2;display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:48px;align-items:center}
.home-donation__mark{width:150px;height:150px;border-radius:50%;background:#201e1f;border:4px solid #fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.16)}
.home-donation__mark img{max-width:75%;max-height:75%;width:auto;height:auto;object-fit:contain}
.home-donation__mark span{font-family:Georgia,serif;font-size:30px;line-height:.8;text-align:center}
.home-donation__copy>span{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}
.home-donation__copy h2{font-size:clamp(46px,6vw,88px);line-height:.92;margin:8px 0 16px}
.home-donation__copy p{max-width:58ch;font-size:18px;margin:0}
.home-donation__tax{padding:24px 28px;border:2px solid rgba(255,255,255,.75);border-radius:8px;min-width:270px}
.home-donation__tax small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.home-donation__tax strong{display:block;font-size:30px;line-height:1;margin-top:8px}

.home-social{background:#fff;padding:clamp(90px,10vw,170px) max(5vw,calc((100vw - var(--av-container,1500px))/2))}
.home-social__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:80px;align-items:end}
.home-social__inner>div>span{text-transform:uppercase;letter-spacing:.16em;color:#0f6dbf;font-size:11px;font-weight:700}
.home-social h2{font-size:clamp(58px,8vw,120px);line-height:.88;margin:10px 0 22px}
.home-social p{max-width:58ch;color:#65707a}
.home-social__links{display:grid;border-top:1px solid #d7dde1}
.home-social__links a{display:flex;align-items:center;justify-content:space-between;padding:24px 4px;border-bottom:1px solid #d7dde1;text-decoration:none;font-size:clamp(24px,3vw,42px);font-weight:700;transition:padding .25s ease,color .25s ease}
.home-social__links a:hover{padding-left:14px;color:#e82055}
.home-social__links a span{font-size:.75em}
.home-social__empty{font-size:14px}

@media(max-width:1180px){
  .home-productions .catalog-grid,.home-upcoming__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-donation__inner{grid-template-columns:130px 1fr}.home-donation__tax{grid-column:2}.home-donation__mark{width:120px;height:120px}
}
@media(max-width:800px){
  .home-rail{margin-right:-18px}.home-rail__viewport{padding-right:32px}.home-rail .catalog-card{flex-basis:min(82vw,330px)}.home-rail__nav{display:none}
  .home-productions .catalog-grid,.home-upcoming__grid{grid-template-columns:1fr}
  .home-activity-grid{grid-template-columns:1fr}
  .home-activity-card a{grid-template-columns:96px 1fr}.home-activity-card img{width:96px;min-height:135px}
  .home-donation__inner{grid-template-columns:1fr;gap:28px}.home-donation__mark{width:100px;height:100px}.home-donation__tax{grid-column:auto;min-width:0}.home-donation__tax strong{font-size:25px}
  .home-social__inner{grid-template-columns:1fr;gap:48px}.home-social h2{font-size:clamp(50px,15vw,76px)}
}
@media(prefers-reduced-motion:reduce){.home-activity-card,.home-social__links a{transition:none!important}}


/* =========================================================
   ArtiVarti typography + mobile-first rails — A Teatro! 0.11.4
   ========================================================= */
:root{--av-accent-font:"Instrument Serif",serif}
body{font-family:var(--av-body-font,"DM Sans",sans-serif);font-feature-settings:"kern" 1,"liga" 1}
h1,h2,h3,h4,h5,h6,.hero-tile h2,.catalog-card h2,.section-head h2,.content-shell h1{font-family:var(--av-heading-font,"Bricolage Grotesque",sans-serif);letter-spacing:-.035em}
.section-head>div>span,.catalog-kicker,.single-kicker,.catalog-card__eyebrow,.av-page-eyebrow{font-family:var(--av-body-font,"DM Sans",sans-serif);font-weight:700}
.section-head p::first-line{font-weight:500}
.home-social__inner>div>p,.home-donation__copy p{font-family:var(--av-accent-font,"Instrument Serif",serif);font-size:clamp(20px,2vw,29px);line-height:1.25}
.home-social__inner>div>p{max-width:44ch}
.home-donation__copy p{max-width:48ch}

/* 5x1000 logo: white/light logo on dark disk; dark logo on white disk fallback. */
.home-donation__mark--dark{background:#201e1f;border-color:#fff}
.home-donation__mark--light{background:#fff;border-color:#201e1f}
.home-donation__mark--light img{filter:none}
.home-donation__mark--dark img{filter:none}

/* Mobile traffic is dominant: keep overview grids on desktop, convert them to swipe rails on mobile. */
@media(max-width:800px){
  .home-productions,.home-upcoming,.home-activities{overflow:hidden}
  .home-productions .catalog-grid,
  .home-upcoming__grid,
  .home-activity-grid{
    display:flex;
    flex-wrap:nowrap;
    gap:16px;
    width:auto;
    margin-right:-18px;
    padding:6px 32px 28px 0;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .home-productions .catalog-grid::-webkit-scrollbar,
  .home-upcoming__grid::-webkit-scrollbar,
  .home-activity-grid::-webkit-scrollbar{display:none}
  .home-productions .catalog-card,
  .home-upcoming__grid .event-card{
    flex:0 0 min(82vw,330px);
    scroll-snap-align:start;
  }
  .home-activity-card{
    flex:0 0 min(76vw,300px);
    scroll-snap-align:start;
  }
  .home-activity-card a{grid-template-columns:96px 1fr}
}

/* =========================================================
   Content model consolidation — A Teatro! 0.12.0
   Contextual filters + equal-height catalog cards.
   ========================================================= */
.filter-grid--contextual{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.catalog-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}
.catalog-card{
  display:flex;
  height:100%;
}
.catalog-card__link{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  height:100%;
}
.catalog-card__body{
  flex:1 1 auto;
  min-height:258px;
}
.home-rail__track .catalog-card,
.home-productions .catalog-card{
  height:auto;
  align-self:stretch;
}
.home-rail__track .catalog-card__link,
.home-productions .catalog-card__link{
  height:100%;
}
@media(max-width:1100px){
  .catalog-card__body{min-height:245px}
}
@media(max-width:700px){
  .catalog-card__body{min-height:230px}
}
@media(max-width:460px){
  .catalog-card__body{min-height:220px}
}


/* =========================================================
   Generic ArtiVarti cover fallback — A Teatro! 0.12.1
   Corsi, Rassegne e Produzioni senza immagine in evidenza.
   ========================================================= */
.av-generic-cover{
  width:100%;
  height:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#292b2e;
  overflow:hidden;
}
.av-generic-cover__logo{
  width:min(44%,220px)!important;
  height:auto!important;
  max-height:42%!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1);
  opacity:.96;
  transform:none!important;
  animation:none!important;
}
.av-generic-cover__wordmark{
  color:#fff;
  font-family:var(--av-heading-font,"Bricolage Grotesque",sans-serif);
  font-size:clamp(26px,4vw,58px);
  font-weight:800;
  letter-spacing:-.04em;
}
.catalog-card:hover .av-generic-cover__logo{transform:none!important}
.catalog-card__media > .av-generic-cover,
.event-card__media > .av-generic-cover,
.course-hero__media > .av-generic-cover,
.show-detail__hero-media > .av-generic-cover{
  position:absolute;
  inset:0;
}
.catalog-card__media,
.event-card__media,
.course-hero__media,
.show-detail__hero-media{position:relative}
.course-hero__media .av-generic-cover__logo,
.show-detail__hero-media .av-generic-cover__logo{width:min(24vw,260px)!important;max-height:34%!important}

/* Course hero cover integrity — A Teatro! 0.12.5
 * Keep the featured image (or generic cover fallback) as a true full-bleed
 * background layer, regardless of generic media/card rules loaded later.
 */
.course-detail .course-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#101820;
}
.course-detail .course-hero__media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  z-index:0!important;
  overflow:hidden;
}
.course-detail .course-hero__media > img,
.course-detail .course-hero__media > picture,
.course-detail .course-hero__media > picture > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  display:block!important;
}
.course-detail .course-hero__media > .av-generic-cover{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.course-detail .course-hero__overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none;
}
.course-detail .course-hero__inner{
  position:relative!important;
  z-index:2!important;
}

/* A Teatro! v0.12.5 — Related courses */
.course-related{
  padding-top:clamp(54px,7vw,96px);
  padding-bottom:clamp(54px,7vw,96px);
}
.course-related__head{
  max-width:820px;
  margin-bottom:clamp(28px,4vw,46px);
}
.course-related__head .single-kicker{margin:0 0 10px;color:var(--av-blue,#0f6dbf)}
.course-related__head h2{
  margin:0;
  font-size:clamp(34px,4vw,58px);
  line-height:.98;
}
.course-related__grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.course-related__grid .catalog-card,
.course-related__grid .catalog-card__link{height:100%}
@media(max-width:900px){
  .course-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .course-related{
    padding-inline:0;
    overflow:hidden;
  }
  .course-related__head{padding-inline:18px}
  .course-related__grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:0 32px 18px 18px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .course-related__grid::-webkit-scrollbar{display:none}
  .course-related__grid .catalog-card{
    flex:0 0 min(82vw,330px);
    scroll-snap-align:start;
  }
}

/* =========================================================
   Artists archive + single — A Teatro! 0.12.5
   ========================================================= */
.artist-archive{background:var(--av-bg,#f5f1e8)}
.artist-archive__head{max-width:760px;margin-bottom:56px}
.artist-archive__head h1{font-size:clamp(54px,7vw,96px);margin:8px 0 18px;line-height:.94}
.artist-archive__head>p:last-child{max-width:58ch;color:var(--av-muted,#66615b)}
.artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;align-items:start}
.artist-card{background:var(--av-surface,#fff);border:1px solid rgba(15,24,32,.08);box-shadow:0 14px 34px rgba(15,24,32,.05)}
.artist-card__link{display:block;text-decoration:none}
.artist-card__media{aspect-ratio:4/5;max-height:430px;overflow:hidden;background:#e5e5e5}
.artist-card__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .35s ease}
.artist-card:hover .artist-card__media img{transform:scale(1.018)}
.artist-card__body{padding:20px 20px 22px}
.artist-card__role{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--av-accent,#0f6dbf);margin:0 0 8px}
.artist-card h2{font-family:var(--av-heading-font,Georgia,serif);font-size:clamp(26px,2.2vw,36px);line-height:1;margin:0 0 12px}
.artist-card__body>p:not(.artist-card__role){font-size:14px;line-height:1.55;color:var(--av-muted,#66615b);margin:0 0 18px}
.artist-card__cta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.artist-card__placeholder{width:100%;height:100%;display:grid;place-items:center;background:#25282b;color:#fff;font-family:var(--av-heading-font,Georgia,serif);font-size:28px}

.artist-single{max-width:var(--av-container,1500px);margin:auto}
.artist-profile{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,720px);gap:clamp(44px,6vw,100px);align-items:start}
.artist-profile__media{aspect-ratio:4/5;overflow:hidden;background:#e5e5e5;position:sticky;top:calc(var(--av-header-height,88px) + 28px)}
.artist-profile__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.artist-profile__content{padding-top:16px}
.artist-profile__content h1{font-size:clamp(56px,6.5vw,100px);margin:10px 0 18px;line-height:.92}
.artist-profile__role{font-weight:700;margin:0 0 22px}
.artist-profile__lead{font-family:var(--av-editorial-font,Georgia,serif);font-size:clamp(22px,2.1vw,30px);line-height:1.25;margin:0 0 36px;max-width:32ch}
.artist-profile__bio{max-width:720px}
.artist-profile__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(15,24,32,.14)}
.artist-profile__links a{padding:9px 13px;border:1px solid rgba(15,24,32,.22);text-decoration:none;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

.artist-related{margin-top:clamp(80px,10vw,150px);padding-top:54px;border-top:1px solid rgba(15,24,32,.18)}
.artist-related__head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.artist-related__head h2{font-size:clamp(40px,5vw,72px);line-height:.95;margin:6px 0 0}
.artist-related__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.artist-related__group{background:var(--av-surface,#fff);border:1px solid rgba(15,24,32,.1);padding:24px}
.artist-related__group h3{font-size:18px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.artist-related__list{display:grid}
.artist-related__item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:15px;align-items:center;text-decoration:none;padding:13px 0;border-top:1px solid rgba(15,24,32,.1)}
.artist-related__thumb{width:72px;height:72px;overflow:hidden;background:#dedbd4;display:block}
.artist-related__thumb img,.artist-related__thumb .av-generic-cover{width:100%;height:100%;object-fit:cover;display:block}
.artist-related__thumb .av-generic-cover__logo{max-width:64%;max-height:64%}
.artist-related__copy{display:grid;gap:3px}
.artist-related__copy strong{font-size:17px;line-height:1.15}
.artist-related__copy small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--av-muted,#66615b)}

@media(max-width:1000px){
  .artist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .artist-profile{grid-template-columns:minmax(230px,340px) minmax(0,1fr);gap:42px}
  .artist-profile__content h1{font-size:clamp(48px,7vw,74px)}
}
@media(max-width:700px){
  .artist-archive{padding-top:90px}
  .artist-grid{grid-template-columns:1fr 1fr;gap:18px 10px}
  .artist-card__media{max-height:none}
  .artist-card__body{padding:14px 12px 16px}
  .artist-card h2{font-size:23px}
  .artist-card__body>p:not(.artist-card__role){display:none}
  .artist-profile{grid-template-columns:1fr;gap:28px}
  .artist-profile__media{position:relative;top:auto;max-width:420px;width:100%;aspect-ratio:4/5}
  .artist-profile__content{padding-top:0}
  .artist-profile__content h1{font-size:clamp(50px,14vw,72px)}
  .artist-related__head{display:block}
  .artist-related__columns{grid-template-columns:1fr}
}


/* ARTISTI — v0.12.6 */
.post-type-archive-tst_artist .site-main,
.artist-archive-page{width:100%;max-width:none;margin:0}

.post-type-archive-tst_artist .archive-header,
.post-type-archive-tst_artist .page-header,
.artist-archive-page .archive-header,
.artist-archive-page .page-header{
  max-width:1440px;margin:0 auto;
  padding:clamp(48px,6vw,92px) clamp(24px,5vw,72px) 28px
}

.post-type-archive-tst_artist .archive-title,
.post-type-archive-tst_artist .page-title,
.artist-archive-page .archive-title,
.artist-archive-page .page-title{
  font-family:var(--av-font-heading,"Bricolage Grotesque",sans-serif);
  font-size:clamp(44px,6vw,92px);
  line-height:.92;letter-spacing:-.045em;margin:0
}

.post-type-archive-tst_artist .artist-grid,
.post-type-archive-tst_artist .archive-grid,
.artist-archive-page .artist-grid,
.artist-archive-page .archive-grid{
  width:100%;max-width:none;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;margin:0
}

.post-type-archive-tst_artist article,
.artist-archive-page article{
  position:relative;min-height:min(72vh,760px);
  overflow:hidden;border:0!important;border-radius:0!important;
  background:#101820;isolation:isolate
}

.post-type-archive-tst_artist article:nth-child(4n+2),
.post-type-archive-tst_artist article:nth-child(4n+3),
.artist-archive-page article:nth-child(4n+2),
.artist-archive-page article:nth-child(4n+3){background:#e82055}

.post-type-archive-tst_artist article img,
.artist-archive-page article img{
  position:absolute;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center 22%;
  display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1);
  z-index:-2
}

.post-type-archive-tst_artist article::after,
.artist-archive-page article::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(16,24,32,.04) 26%,rgba(16,24,32,.84) 100%)
}

.post-type-archive-tst_artist article .entry-content,
.post-type-archive-tst_artist article .artist-card__body,
.post-type-archive-tst_artist article .card-body,
.artist-archive-page article .entry-content,
.artist-archive-page article .artist-card__body,
.artist-archive-page article .card-body{
  position:absolute;left:clamp(24px,4vw,54px);right:clamp(24px,4vw,54px);
  bottom:clamp(24px,4vw,50px);color:#fff;
  padding:0!important;background:transparent!important
}

.post-type-archive-tst_artist article h2,
.post-type-archive-tst_artist article h3,
.artist-archive-page article h2,
.artist-archive-page article h3{
  margin:8px 0 16px;color:#fff;
  font-size:clamp(32px,3.4vw,62px);line-height:.96;letter-spacing:-.035em
}

.post-type-archive-tst_artist article .artist-role,
.post-type-archive-tst_artist article .entry-meta,
.artist-archive-page article .artist-role,
.artist-archive-page article .entry-meta{
  color:#f9e900;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.14em
}

.post-type-archive-tst_artist article p,
.artist-archive-page article p{color:rgba(255,255,255,.82);max-width:44ch}

.post-type-archive-tst_artist article a,
.artist-archive-page article a{color:inherit}

@media (hover:hover) and (pointer:fine){
  .post-type-archive-tst_artist article:hover img,
  .artist-archive-page article:hover img{transform:scale(1.035)}
}

.single-tst_artist .artist-single-page,
.artist-single-page{width:100%;max-width:none}

.single-tst_artist .artist-single-hero,
.artist-single-page .artist-single-hero,
.single-tst_artist .artist-profile,
.artist-single-page .artist-profile{
  max-width:1320px;margin-left:auto;margin-right:auto
}

.single-tst_artist .artist-single-hero img,
.artist-single-page .artist-single-hero img,
.single-tst_artist .artist-profile img,
.artist-single-page .artist-profile img{
  max-height:620px;width:100%;object-fit:cover;object-position:center 18%
}

.single-tst_artist .artist-related,
.artist-single-page .artist-related{margin-top:clamp(48px,7vw,100px)}

@media (max-width:820px){
  .post-type-archive-tst_artist .artist-grid,
  .post-type-archive-tst_artist .archive-grid,
  .artist-archive-page .artist-grid,
  .artist-archive-page .archive-grid{grid-template-columns:1fr}

  .post-type-archive-tst_artist article,
  .artist-archive-page article{min-height:72svh}

  .post-type-archive-tst_artist article h2,
  .post-type-archive-tst_artist article h3,
  .artist-archive-page article h2,
  .artist-archive-page article h3{
    font-size:clamp(38px,11vw,58px)
  }
}


/* ARTISTI v0.12.7 — fix media wrapper + full-width archive */
.post-type-archive-tst_artist .artist-archive.content-shell,
.artist-archive.content-shell{
  width:100%;
  max-width:none;
  padding-left:0;
  padding-right:0;
}

.post-type-archive-tst_artist .artist-archive__head,
.artist-archive .artist-archive__head{
  max-width:1440px;
  margin:0 auto;
  padding:clamp(48px,6vw,92px) clamp(24px,5vw,72px) 28px;
}

.post-type-archive-tst_artist .artist-card__media,
.artist-archive .artist-card__media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
  z-index:-2;
}

.post-type-archive-tst_artist .artist-card__media img,
.artist-archive .artist-card__media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 22%!important;
}

/* =========================================================
   COSA FACCIAMO — A Teatro! 0.13.0
   ========================================================= */
.wwd-page{overflow:hidden}.wwd-kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.wwd-hero{position:relative;min-height:72svh;display:flex;align-items:flex-end;background:#101820;color:#fff;isolation:isolate;overflow:hidden}.wwd-hero__media{position:absolute;inset:0;z-index:-2}.wwd-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}.wwd-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,24,32,.08) 18%,rgba(16,24,32,.84) 100%)}.wwd-hero__inner{width:100%;padding-top:180px;padding-bottom:clamp(70px,9vw,130px)}.wwd-hero h1{font-size:clamp(64px,10vw,160px);line-height:.86;letter-spacing:-.06em;max-width:9ch;margin:0 0 28px}.wwd-hero__lead{max-width:760px;font-family:var(--av-accent-font,"Instrument Serif",serif);font-size:clamp(26px,3.1vw,50px);line-height:1.03;margin:0;color:rgba(255,255,255,.9)}
.wwd-world{position:relative;min-height:92svh;display:flex;flex-direction:column;justify-content:center;isolation:isolate}.wwd-world__number{position:absolute;top:clamp(26px,5vw,72px);left:max(2vw,calc((100vw - var(--av-container,1500px))/2));font-family:var(--av-heading-font,"Bricolage Grotesque",sans-serif);font-size:clamp(120px,21vw,340px);font-weight:800;line-height:.72;letter-spacing:-.09em;opacity:.065;pointer-events:none;z-index:-1}.wwd-world__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:clamp(44px,7vw,120px);align-items:center;width:100%}.wwd-world--media-left .wwd-world__copy{order:2}.wwd-world--media-left .wwd-world__media{order:1}.wwd-world__copy{max-width:760px}.wwd-world h2{font-family:var(--av-heading-font,"Bricolage Grotesque",sans-serif);font-size:clamp(56px,7vw,112px);line-height:.88;letter-spacing:-.055em;margin:0 0 24px}.wwd-world__accent{font-family:var(--av-accent-font,"Instrument Serif",serif);font-size:clamp(28px,3.2vw,52px);line-height:1;margin:0 0 24px}.wwd-world__text{max-width:58ch;font-size:clamp(17px,1.25vw,21px)}.wwd-world__cta{display:inline-flex;gap:16px;align-items:center;margin-top:28px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px;border-bottom:2px solid currentColor;padding-bottom:5px}.wwd-world__media{position:relative}.wwd-world__media img,.wwd-world__placeholder{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:48% 52% 42% 58% / 52% 43% 57% 48%;box-shadow:0 30px 70px rgba(0,0,0,.14)}.wwd-world__placeholder{display:grid;place-items:center;background:rgba(255,255,255,.12)}.wwd-world__placeholder span{font-family:var(--av-heading-font);font-size:clamp(110px,14vw,230px);font-weight:800;opacity:.18}.wwd-world__rail{position:relative;width:100%;margin:clamp(38px,6vw,84px) 0 0}.wwd-world__rail .home-rail__viewport{padding-left:max(5vw,calc((100vw - var(--av-container,1500px))/2));padding-right:5vw}.wwd-world__rail .home-rail__track{padding-bottom:12px}.wwd-world__rail .catalog-card{flex:0 0:min(360px,78vw)}
.wwd-world--light{background:#f5f1e8;color:#151515}.wwd-world--dark{background:#101820;color:#fff}.wwd-world--pink{background:#e82055;color:#fff}.wwd-world--yellow{background:#f9e900;color:#111}.wwd-world--mint{background:#59e0ac;color:#111}.wwd-world--blue{background:#0f6dbf;color:#fff}.wwd-world--dark .catalog-card,.wwd-world--pink .catalog-card,.wwd-world--blue .catalog-card{color:#151515}
.wwd-guide{background:#fff}.wwd-guide .content-shell{padding-top:clamp(90px,10vw,160px);padding-bottom:clamp(90px,10vw,160px)}.wwd-guide h2{font-size:clamp(50px,7vw,108px);line-height:.9;letter-spacing:-.05em;max-width:12ch;margin:0 0 50px}.wwd-guide__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9d9d9;border:1px solid #d9d9d9}.wwd-guide__grid a{background:#fff;padding:clamp(26px,3vw,46px);min-height:220px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:background .25s,color .25s}.wwd-guide__grid a:hover{background:#101820;color:#fff}.wwd-guide__grid span{font-family:var(--av-accent-font,"Instrument Serif",serif);font-size:clamp(26px,2.5vw,40px);line-height:1.05}.wwd-guide__grid strong{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.wwd-closing{background:#101820;color:#fff}.wwd-closing__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end}.wwd-closing h2{font-size:clamp(58px,8vw,126px);line-height:.86;letter-spacing:-.055em;max-width:10ch;margin:0 0 24px}.wwd-closing__text{max-width:62ch;color:rgba(255,255,255,.76)}.wwd-closing__cta{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:18px 24px;background:#e82055;color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
@media(max-width:900px){.wwd-hero{min-height:64svh}.wwd-hero h1{max-width:none}.wwd-world{min-height:auto}.wwd-world__main{grid-template-columns:1fr;gap:34px;padding-top:86px;padding-bottom:54px}.wwd-world--media-left .wwd-world__copy,.wwd-world--media-left .wwd-world__media{order:initial}.wwd-world__media{max-width:680px}.wwd-world__media img,.wwd-world__placeholder{aspect-ratio:4/3;border-radius:36% 64% 42% 58% / 52% 39% 61% 48%}.wwd-world__number{top:36px;left:18px}.wwd-guide__grid{grid-template-columns:1fr}.wwd-guide__grid a{min-height:160px}.wwd-closing__inner{grid-template-columns:1fr;align-items:start}.wwd-closing__cta{justify-self:start}}
@media(max-width:600px){.wwd-hero__inner{padding-top:130px}.wwd-world__rail .home-rail__viewport{padding-left:18px}.wwd-world h2{font-size:clamp(50px,15vw,74px)}.wwd-guide h2{font-size:clamp(46px,14vw,66px)}}

/* Cosa facciamo — compact content rails, v0.13.3 */
.wwd-world__rail .home-rail__track{align-items:stretch;gap:18px}
.wwd-world__rail .catalog-card{flex:0 0:clamp(260px,22vw,330px);height:440px!important;min-height:0!important}
.wwd-world__rail .catalog-card__link{height:100%!important;display:flex;flex-direction:column;overflow:hidden}
.wwd-world__rail .catalog-card__media{height:235px;min-height:235px;flex:0 0 235px;overflow:hidden}
.wwd-world__rail .catalog-card__media img,
.wwd-world__rail .catalog-card__media .av-generic-cover{width:100%;height:100%;object-fit:cover}
.wwd-world__rail .catalog-card__body{min-height:0!important;height:auto!important;flex:1 1 auto;padding:18px;display:flex;flex-direction:column}
.wwd-world__rail .catalog-card__body h2{font-size:clamp(24px,2vw,32px);line-height:.96;margin:5px 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wwd-world__rail .catalog-card__eyebrow{margin:0 0 3px}
.wwd-world__rail .catalog-card__meta,.wwd-world__rail .catalog-card__price{margin:2px 0;font-size:12px}
.wwd-world__rail .catalog-card__status{margin-top:auto}
.wwd-world__rail .catalog-card__cta{margin-top:10px}
@media(max-width:700px){
  .wwd-world__rail .catalog-card{flex-basis:min(78vw,300px);height:400px!important}
  .wwd-world__rail .catalog-card__media{height:205px;min-height:205px;flex-basis:205px}
  .wwd-world__rail .catalog-card__body{padding:15px}
}

/* =========================================================
   Cosa facciamo — compact rail cards v0.13.3
   Narrow teaser cards, fixed-height media, controls kept visible.
   ========================================================= */
.wwd-world__rail{
  position:relative;
  overflow:visible;
  padding-inline:0;
}
.wwd-world__rail .home-rail__viewport{
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-left:max(5vw,calc((100vw - var(--av-container,1500px))/2));
  padding-right:max(5vw,calc((100vw - var(--av-container,1500px))/2));
  padding-bottom:24px;
}
.wwd-world__rail .home-rail__track{
  display:flex;
  width:max-content;
  gap:18px;
  align-items:stretch;
}
.wwd-world__rail .catalog-card{
  flex:0 0 clamp(235px,18vw,285px) !important;
  width:clamp(235px,18vw,285px) !important;
  height:350px !important;
  min-height:350px !important;
  max-height:350px !important;
  align-self:stretch;
  scroll-snap-align:start;
  overflow:visible;
}
.wwd-world__rail .catalog-card__link{
  display:flex !important;
  flex-direction:column;
  height:100% !important;
  overflow:visible;
}
.wwd-world__rail .catalog-card__media,
.wwd-world__rail .catalog-card:nth-child(3n+2) .catalog-card__media,
.wwd-world__rail .catalog-card:nth-child(3n+3) .catalog-card__media{
  width:calc(100% - 12px) !important;
  height:190px !important;
  min-height:190px !important;
  max-height:190px !important;
  flex:0 0 190px !important;
  aspect-ratio:auto !important;
  margin:0 6px !important;
  overflow:visible;
}
.wwd-world__rail .catalog-card__media img,
.wwd-world__rail .catalog-card:nth-child(3n+2) .catalog-card__media img,
.wwd-world__rail .catalog-card:nth-child(3n+3) .catalog-card__media img,
.wwd-world__rail .catalog-card__media .av-generic-cover{
  width:100% !important;
  height:190px !important;
  min-height:190px !important;
  max-height:190px !important;
  object-fit:cover !important;
  object-position:center 28% !important;
}
.wwd-world__rail .catalog-card__body{
  box-sizing:border-box;
  flex:1 1 auto;
  min-height:0 !important;
  height:auto !important;
  padding:14px 14px 12px !important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.wwd-world__rail .catalog-card__eyebrow{
  margin:0 0 3px !important;
  font-size:8px !important;
}
.wwd-world__rail .catalog-card h2,
.wwd-world__rail .catalog-card__body h2{
  font-size:20px !important;
  line-height:1 !important;
  margin:3px 0 6px !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wwd-world__rail .catalog-card__meta,
.wwd-world__rail .catalog-card__price{
  margin:2px 0 !important;
  font-size:10px !important;
  line-height:1.25;
}
.wwd-world__rail .catalog-card__status{
  margin-top:auto !important;
  font-size:8px !important;
  padding:3px 6px !important;
}
.wwd-world__rail .catalog-card__cta{
  margin-top:7px !important;
  padding:6px 9px !important;
  font-size:8px !important;
}
/* Keep navigation inside the full-width rail so it cannot be clipped. */
.wwd-world__rail .home-rail__nav{
  display:grid;
  place-items:center;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  z-index:30;
  opacity:.94;
}
.wwd-world__rail .home-rail__nav--prev{left:18px !important}
.wwd-world__rail .home-rail__nav--next{right:18px !important}

@media(max-width:900px){
  .wwd-world__rail .catalog-card{
    flex-basis:245px !important;
    width:245px !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
  }
  .wwd-world__rail .catalog-card__media,
  .wwd-world__rail .catalog-card__media img,
  .wwd-world__rail .catalog-card__media .av-generic-cover{
    height:175px !important;
    min-height:175px !important;
    max-height:175px !important;
    flex-basis:175px !important;
  }
}
@media(max-width:700px){
  .wwd-world__rail .home-rail__viewport{
    padding-left:18px !important;
    padding-right:48px !important;
  }
  .wwd-world__rail .catalog-card{
    flex-basis:min(72vw,235px) !important;
    width:min(72vw,235px) !important;
    height:315px !important;
    min-height:315px !important;
    max-height:315px !important;
  }
  .wwd-world__rail .catalog-card__media,
  .wwd-world__rail .catalog-card__media img,
  .wwd-world__rail .catalog-card__media .av-generic-cover{
    height:165px !important;
    min-height:165px !important;
    max-height:165px !important;
    flex-basis:165px !important;
  }
  /* Touch users swipe directly; don't cover content with arrows. */
  .wwd-world__rail .home-rail__nav{display:none !important}
}


/* =========================================================
   Cosa facciamo — v0.13.4
   Desktop/tablet: stable grid instead of full-width slider
   ========================================================= */

/* Neutralize previous horizontal rail behavior only on this page */
.page-template-page-cosa-facciamo .av-cf-slider,
.page-template-page-cosa-facciamo .cf-slider,
.page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  overflow: visible !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  width: min(1320px, calc(100% - 48px)) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
}

/* Hide slider navigation controls: this is a grid now */
.page-template-page-cosa-facciamo .av-cf-slider-arrow,
.page-template-page-cosa-facciamo .cf-slider-arrow,
.page-template-page-cosa-facciamo [class*="slider"] > button[aria-label*="preced"],
.page-template-page-cosa-facciamo [class*="slider"] > button[aria-label*="success"],
.page-template-page-cosa-facciamo [class*="slider"] > .slider-arrow,
.page-template-page-cosa-facciamo [class*="slider"] > .carousel-arrow {
  display: none !important;
}

/* Cards: compact, consistent and never full-width */
.page-template-page-cosa-facciamo .av-cf-slider article,
.page-template-page-cosa-facciamo .cf-slider article,
.page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 390px !important;
  min-height: 390px !important;
  max-height: 390px !important;
  margin: 0 !important;
  scroll-snap-align: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

/* Image block */
.page-template-page-cosa-facciamo .av-cf-slider article img,
.page-template-page-cosa-facciamo .cf-slider article img,
.page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article img {
  position: static !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center 28% !important;
  flex: 0 0 220px !important;
  display: block !important;
}

/* Body */
.page-template-page-cosa-facciamo .av-cf-slider article .entry-content,
.page-template-page-cosa-facciamo .av-cf-slider article .card-body,
.page-template-page-cosa-facciamo .cf-slider article .entry-content,
.page-template-page-cosa-facciamo .cf-slider article .card-body,
.page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article .entry-content,
.page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article .card-body {
  position: static !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 1 1 auto !important;
  padding: 14px 16px 14px !important;
  display: flex !important;
  flex-direction: column !important;
}

.page-template-page-cosa-facciamo [class*="slider"] article h2,
.page-template-page-cosa-facciamo [class*="slider"] article h3 {
  font-size: clamp(20px, 1.6vw, 28px) !important;
  line-height: 1.02 !important;
  margin: 4px 0 8px !important;
}

.page-template-page-cosa-facciamo [class*="slider"] article p {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 3px 0 !important;
}

/* Keep actions pinned to the bottom if the component has an actions wrapper */
.page-template-page-cosa-facciamo [class*="slider"] article .card-actions,
.page-template-page-cosa-facciamo [class*="slider"] article .catalog-card__actions,
.page-template-page-cosa-facciamo [class*="slider"] article .entry-actions {
  margin-top: auto !important;
}

/* Tablet: two columns */
@media (max-width: 980px) {
  .page-template-page-cosa-facciamo .av-cf-slider,
  .page-template-page-cosa-facciamo .cf-slider,
  .page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100% - 32px, 900px) !important;
    gap: 18px !important;
  }
}

/* Mobile: one column */
@media (max-width: 640px) {
  .page-template-page-cosa-facciamo .av-cf-slider,
  .page-template-page-cosa-facciamo .cf-slider,
  .page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] {
    grid-template-columns: 1fr !important;
    width: calc(100% - 28px) !important;
    gap: 16px !important;
  }

  .page-template-page-cosa-facciamo .av-cf-slider article,
  .page-template-page-cosa-facciamo .cf-slider article,
  .page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
  }

  .page-template-page-cosa-facciamo .av-cf-slider article img,
  .page-template-page-cosa-facciamo .cf-slider article img,
  .page-template-page-cosa-facciamo [class*="cosa-facciamo"] [class*="slider"] article img {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    flex-basis: 200px !important;
  }
}


/* Cosa facciamo — true content grid v0.13.5 */
.wwd-world__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  width:100%;
  margin-top:clamp(38px,5vw,72px);
  padding-bottom:clamp(40px,6vw,90px);
}
.wwd-world__grid .catalog-card,
.wwd-world__grid .event-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.wwd-world__grid .catalog-card__link,
.wwd-world__grid .event-card__link{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.wwd-world__grid .catalog-card__media,
.wwd-world__grid .event-card__media{
  width:100%!important;
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:10px 10px 0 0!important;
}
.wwd-world__grid .catalog-card__media img,
.wwd-world__grid .event-card__media img,
.wwd-world__grid .catalog-card__media .av-generic-cover{
  width:100%!important;
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
  object-fit:cover!important;
  object-position:center 28%!important;
}
.wwd-world__grid .catalog-card__body,
.wwd-world__grid .event-card__body{
  flex:1 1 auto!important;
  min-height:0!important;
  padding:14px 15px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.wwd-world__grid .catalog-card h2,
.wwd-world__grid .catalog-card__body h2,
.wwd-world__grid .event-card h2{
  font-size:22px!important;
  line-height:1!important;
  margin:3px 0 6px!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wwd-world__grid .catalog-card__meta,
.wwd-world__grid .catalog-card__price,
.wwd-world__grid .event-card__meta{
  font-size:11px!important;
  line-height:1.25!important;
  margin:2px 0!important;
}
.wwd-world__grid .catalog-card__actions,
.wwd-world__grid .event-card__actions{
  margin-top:auto!important;
}
@media(max-width:980px){
  .wwd-world__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:640px){
  .wwd-world__grid{grid-template-columns:1fr;gap:16px;margin-top:30px}
  .wwd-world__grid .catalog-card,
  .wwd-world__grid .event-card{
    height:340px!important;min-height:340px!important;max-height:340px!important;
  }
  .wwd-world__grid .catalog-card__media,
  .wwd-world__grid .event-card__media,
  .wwd-world__grid .catalog-card__media img,
  .wwd-world__grid .event-card__media img,
  .wwd-world__grid .catalog-card__media .av-generic-cover{
    height:190px!important;min-height:190px!important;max-height:190px!important;
  }
}


/* =========================================================
   A Teatro! 0.13.6 — Homepage productions equal media height
   All production cards start their white body on the same baseline.
   ========================================================= */
.home-productions .catalog-grid{
  align-items:stretch;
}
.home-productions .catalog-card{
  height:100%;
}
.home-productions .catalog-card__link{
  height:100%;
  display:flex;
  flex-direction:column;
}
.home-productions .catalog-card__media,
.home-productions .catalog-card:nth-child(3n+2) .catalog-card__media,
.home-productions .catalog-card:nth-child(3n+3) .catalog-card__media{
  width:100%;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  aspect-ratio:auto!important;
  flex:0 0 360px;
}
.home-productions .catalog-card__media img,
.home-productions .catalog-card__media .av-generic-cover{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center 28%!important;
}
.home-productions .catalog-card__body{
  flex:1 1 auto;
  min-height:258px;
  display:flex;
  flex-direction:column;
}
.home-productions .catalog-card__cta{
  margin-top:auto;
}
@media(max-width:1100px){
  .home-productions .catalog-card__media,
  .home-productions .catalog-card:nth-child(3n+2) .catalog-card__media,
  .home-productions .catalog-card:nth-child(3n+3) .catalog-card__media{
    height:300px!important;min-height:300px!important;max-height:300px!important;flex-basis:300px;
  }
}
@media(max-width:800px){
  .home-productions .catalog-card__media,
  .home-productions .catalog-card:nth-child(3n+2) .catalog-card__media,
  .home-productions .catalog-card:nth-child(3n+3) .catalog-card__media{
    height:280px!important;min-height:280px!important;max-height:280px!important;flex-basis:280px;
  }
  .home-productions .catalog-card__body{min-height:230px;}
}


/* Homepage section backgrounds — v0.13.7 */
.home-section-bg{
  background-color:var(--home-section-bg-color)!important;
  background-image:var(--home-section-bg-image)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}


/* ==========================================================
   Homepage — Corsi: titoli multilinea senza clipping v0.13.9
   ========================================================== */
.home .home-courses-grid article,
.home .home-courses article,
.home [class*="courses"] [class*="card"],
.home [class*="corsi"] [class*="card"] {
  overflow: visible;
}

.home .home-courses-grid article .card-body,
.home .home-courses article .card-body,
.home [class*="courses"] [class*="card"] .card-body,
.home [class*="corsi"] [class*="card"] .card-body {
  height: auto !important;
  min-height: 150px !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
}

.home .home-courses-grid article h2,
.home .home-courses-grid article h3,
.home .home-courses article h2,
.home .home-courses article h3,
.home [class*="courses"] [class*="card"] h2,
.home [class*="courses"] [class*="card"] h3,
.home [class*="corsi"] [class*="card"] h2,
.home [class*="corsi"] [class*="card"] h3 {
  height: auto !important;
  min-height: 2.15em !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  display: block !important;
  line-height: 1.05 !important;
  margin-bottom: 7px !important;
}

/* Keep the CTA aligned even when course titles use two or three lines. */
.home .home-courses-grid article .card-actions,
.home .home-courses article .card-actions,
.home [class*="courses"] [class*="card"] .card-actions,
.home [class*="corsi"] [class*="card"] .card-actions {
  margin-top: auto !important;
}


/* ==========================================================
   Cosa facciamo — v0.13.11
   Fix reale del componente .wwd-world__grid
   ========================================================== */
.wwd-world__grid .catalog-card,
.wwd-world__grid .event-card {
    height: auto !important;
    min-height: 360px !important;
    max-height: none !important;
    overflow: visible !important;
}

.wwd-world__grid .catalog-card__link,
.wwd-world__grid .event-card__link {
    height: 100% !important;
    min-height: 360px !important;
}

.wwd-world__grid .catalog-card h2,
.wwd-world__grid .catalog-card__body h2,
.wwd-world__grid .event-card h2 {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

.wwd-world__grid .catalog-card__body,
.wwd-world__grid .event-card__body {
    overflow: visible !important;
    min-height: 155px !important;
    height: auto !important;
}


/* ==========================================================
   Spettacoli hero — v0.13.14
   Fix regressione fallback cover: la media deve restare
   assoluta e coprire tutta la hero, non diventare una colonna.
   ========================================================== */
.show-detail__hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.show-detail__hero-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0;
}

.show-detail__hero-media > img,
.show-detail__hero-media > picture,
.show-detail__hero-media > picture > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center 28% !important;
    display: block !important;
}

.show-detail__hero-media > .av-generic-cover {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.show-detail__hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
}

.show-detail__hero-content {
    position: relative !important;
    z-index: 2;
}

/* v0.13.15 — Cosa facciamo senza card + Archivio */
.archive-memory__hero{padding:clamp(90px,12vw,180px) 0 80px;background:#101a23;color:#fff}.archive-memory__hero h1{font-size:clamp(64px,10vw,150px);line-height:.86;margin:.15em 0}.archive-memory__hero p:last-child{max-width:720px;font-size:clamp(18px,2vw,28px)}.archive-memory__section{padding:90px 0}.archive-memory__section h2{font-size:clamp(42px,6vw,86px);margin:.1em 0 .6em}.archive-memory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media(max-width:900px){.archive-memory__grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.archive-memory__grid{grid-template-columns:1fr}.archive-memory__section{padding:60px 0}}


/* Archivio ArtiVarti — v0.13.16 */
.archive-memory__years{
  display:flex;flex-wrap:wrap;gap:10px;
  padding-top:24px;padding-bottom:12px
}
.archive-memory__years a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:76px;padding:9px 14px;border:1px solid rgba(16,24,32,.18);
  border-radius:999px;text-decoration:none;font-weight:700;color:#101820
}
.archive-memory__years a:hover{background:#101820;color:#fff}
.archive-memory__section{padding-top:52px;padding-bottom:64px}
.archive-memory__year-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.archive-memory__year-head h2{font-size:clamp(52px,8vw,112px);line-height:.8;margin:0;letter-spacing:-.06em}
.archive-memory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.archive-memory__empty{padding-top:72px;padding-bottom:96px}
.archive-memory__admin-note{
  margin-top:24px;margin-bottom:72px;padding:18px 20px;
  background:#f4f6f7;border-left:4px solid #0f6dbf
}
.archive-memory__admin-note p{margin:5px 0 0}
@media(max-width:980px){.archive-memory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .archive-memory__section{padding-top:38px;padding-bottom:48px}
  .archive-memory__grid{grid-template-columns:1fr}
  .archive-memory__year-head{align-items:flex-start;flex-direction:column;gap:8px}
}


/* Archivio ArtiVarti — v0.13.17 | timeline compatta, senza immagini */
.archive-memory--timeline{background:#f5f6f7;color:#0d1a24}
.archive-memory--timeline .archive-memory__hero{
  padding:clamp(80px,9vw,135px) 0 clamp(64px,7vw,105px);
  background:#101a23;color:#fff
}
.archive-memory--timeline .archive-memory__hero h1{
  max-width:none;font-size:clamp(64px,8vw,126px);line-height:.86;
  margin:.14em 0 .22em;letter-spacing:-.055em
}
.archive-memory--timeline .archive-memory__hero p:last-child{
  max-width:620px;font-size:clamp(17px,1.45vw,23px);line-height:1.45
}
.archive-memory--timeline .archive-memory__years{
  display:flex;align-items:center;gap:8px;padding-top:28px;padding-bottom:28px
}
.archive-memory--timeline .archive-memory__years>span{
  margin-right:6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#66717c
}
.archive-memory--timeline .archive-memory__years a{
  min-width:auto;padding:7px 11px;background:#fff;border:1px solid #d9e0e5;
  font-size:11px;letter-spacing:.04em
}
.archive-timeline{--archive-line:#ccd5dc;max-width:1080px;padding-top:12px;padding-bottom:80px}
.archive-timeline__year{
  position:relative;display:grid;grid-template-columns:170px minmax(0,1fr);gap:42px;
  padding:0 0 72px
}
.archive-timeline__year::before{
  content:"";position:absolute;left:191px;top:18px;bottom:-18px;width:1px;background:var(--archive-line)
}
.archive-timeline__year:last-child::before{bottom:70px}
.archive-timeline__year-marker{position:sticky;top:110px;align-self:start;text-align:right}
.archive-timeline__year-marker span{
  display:block;font-size:clamp(54px,6vw,86px);font-weight:800;line-height:.8;
  letter-spacing:-.065em;color:#0d1a24
}
.archive-timeline__items{display:grid;gap:14px}
.archive-timeline__item{position:relative;padding-left:30px}
.archive-timeline__dot{
  position:absolute;z-index:2;left:-27px;top:34px;width:13px;height:13px;border:3px solid #f5f6f7;
  border-radius:50%;background:#ed1d57;box-shadow:0 0 0 1px rgba(13,26,36,.09)
}
.archive-timeline__item--2 .archive-timeline__dot{background:#ffe500}
.archive-timeline__item--3 .archive-timeline__dot{background:#1876c8}
.archive-timeline__item--4 .archive-timeline__dot{background:#52d6aa}
.archive-timeline__card{
  display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:20px;
  min-height:94px;padding:17px 20px;background:#fff;border:1px solid #dce2e6;border-radius:10px;
  box-shadow:0 9px 24px rgba(13,26,36,.045);color:#0d1a24;text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease
}
.archive-timeline__card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,26,36,.085)}
.archive-timeline__type{
  align-self:stretch;display:flex;align-items:center;padding-right:18px;border-right:1px solid #e0e5e9;
  color:#1876c8;font-size:9px;font-weight:800;line-height:1.3;letter-spacing:.12em;text-transform:uppercase
}
.archive-timeline__content h2{
  margin:0;font-size:clamp(20px,2vw,28px);line-height:1.02;letter-spacing:-.03em
}
.archive-timeline__content p{margin:7px 0 0;color:#66717c;font-size:12px;line-height:1.45}
.archive-timeline__cta{
  display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #0d1a24;
  font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap
}
.archive-timeline__card:hover .archive-timeline__cta{background:#0d1a24;color:#fff}
.archive-memory--timeline .archive-memory__admin-note{max-width:1080px}
@media(max-width:800px){
  .archive-memory--timeline .archive-memory__years{overflow-x:auto;flex-wrap:nowrap}
  .archive-memory--timeline .archive-memory__years>span{display:none}
  .archive-timeline__year{grid-template-columns:1fr;gap:22px;padding-bottom:54px}
  .archive-timeline__year::before{left:7px;top:75px;bottom:-8px}
  .archive-timeline__year-marker{position:relative;top:auto;text-align:left;padding-left:30px}
  .archive-timeline__year-marker span{font-size:54px}
  .archive-timeline__item{padding-left:30px}
  .archive-timeline__dot{left:1px;top:30px}
  .archive-timeline__card{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:15px}
  .archive-timeline__cta{grid-column:2;justify-self:start}
}
@media(max-width:520px){
  .archive-memory--timeline .archive-memory__hero{padding-top:70px}
  .archive-memory--timeline .archive-memory__hero h1{font-size:58px}
  .archive-timeline__card{grid-template-columns:1fr;gap:9px}
  .archive-timeline__type{border-right:0;padding:0}
  .archive-timeline__cta{grid-column:1}
}
@media(prefers-reduced-motion:reduce){.archive-timeline__card{transition:none}}


/* ==========================================================
   Archivio ArtiVarti — v0.13.18
   Fix larghezza timeline e card troppo compresse
   ========================================================== */

.archive-memory--timeline .archive-timeline {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.archive-memory--timeline .archive-timeline__year {
    grid-template-columns: 170px minmax(0, 1fr) !important;
    width: 100% !important;
}

.archive-memory--timeline .archive-timeline__items,
.archive-memory--timeline .archive-timeline__item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.archive-memory--timeline .archive-timeline__card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 6px 24px !important;
    align-items: center !important;
    padding: 18px 20px !important;
}

.archive-memory--timeline .archive-timeline__type {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    display: block !important;
    border-right: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

.archive-memory--timeline .archive-timeline__content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

.archive-memory--timeline .archive-timeline__content h2 {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
}

.archive-memory--timeline .archive-timeline__content p {
    max-width: 70ch !important;
}

.archive-memory--timeline .archive-timeline__cta {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    justify-self: end !important;
    position: static !important;
}

@media (max-width: 800px) {
    .archive-memory--timeline .archive-timeline {
        width: calc(100% - 28px) !important;
    }

    .archive-memory--timeline .archive-timeline__year {
        grid-template-columns: 1fr !important;
    }

    .archive-memory--timeline .archive-timeline__card {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .archive-memory--timeline .archive-timeline__cta {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
    }
}

@media (max-width: 520px) {
    .archive-memory--timeline .archive-timeline__card {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .archive-memory--timeline .archive-timeline__cta {
        grid-column: 1 !important;
        grid-row: 3 !important;
        justify-self: start !important;
        margin-top: 5px !important;
    }
}


/* Archivio ArtiVarti — v0.13.19
   Timeline più ampia: box quasi doppi rispetto alla versione precedente. */
.archive-memory--timeline .archive-timeline {
    width: min(1560px, calc(100% - 64px)) !important;
    max-width: 1560px !important;
}

.archive-memory--timeline .archive-timeline__year {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: 54px !important;
}

.archive-memory--timeline .archive-timeline__year::before {
    left: 217px !important;
}

.archive-memory--timeline .archive-timeline__card {
    min-height: 108px !important;
    padding: 22px 28px !important;
    gap: 8px 36px !important;
}

.archive-memory--timeline .archive-timeline__content h2 {
    font-size: clamp(24px, 2.2vw, 34px) !important;
    max-width: 34ch !important;
}

.archive-memory--timeline .archive-timeline__content p {
    font-size: 13px !important;
    max-width: 85ch !important;
}

.archive-memory--timeline .archive-timeline__cta {
    padding: 12px 16px !important;
}

@media (max-width: 1100px) {
    .archive-memory--timeline .archive-timeline {
        width: calc(100% - 40px) !important;
    }
    .archive-memory--timeline .archive-timeline__year {
        grid-template-columns: 150px minmax(0,1fr) !important;
        gap: 34px !important;
    }
    .archive-memory--timeline .archive-timeline__year::before {
        left: 171px !important;
    }
}

@media (max-width: 800px) {
    .archive-memory--timeline .archive-timeline__year {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }
    .archive-memory--timeline .archive-timeline__year::before {
        left: 7px !important;
    }
}


/* Course promo + zero-value fact cleanup — v0.13.20 */
.course-promo{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  margin-top:24px;
  padding:24px 28px;
  overflow:hidden;
  background:#0f6dbf;
  color:#fff;
  border-radius:10px;
  box-shadow:0 18px 38px rgba(15,109,191,.18)
}
.course-promo__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  height:34px;
  padding:0 12px;
  background:#f9e900;
  color:#101820;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase
}
.course-promo__copy{position:relative;z-index:2;min-width:0}
.course-promo__eyebrow{
  margin:0 0 5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.78
}
.course-promo h2{
  margin:0 0 7px;
  color:#fff;
  font-size:clamp(25px,2.4vw,38px);
  line-height:.98;
  letter-spacing:-.035em
}
.course-promo__copy>p:last-child{
  max-width:75ch;
  margin:0;
  color:#fff;
  font-size:14px;
  line-height:1.5
}
.course-promo__mark{
  position:relative;
  z-index:1;
  font-size:clamp(72px,8vw,126px);
  font-weight:900;
  line-height:.7;
  color:rgba(255,255,255,.13);
  letter-spacing:-.08em
}
@media(max-width:700px){
  .course-promo{
    grid-template-columns:1fr;
    gap:12px;
    padding:22px
  }
  .course-promo__badge{justify-self:start}
  .course-promo__mark{
    position:absolute;
    right:16px;
    bottom:10px
  }
}


/* Homepage advertising banner — v0.13.21 */
.home-ad-banner{
  padding:clamp(22px,3vw,42px) 0;
  background:var(--av-bg,#f5f6f7)
}
.home-ad-banner__inner{overflow:hidden}
.home-ad-banner a{display:block;text-decoration:none}
.home-ad-banner img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/1;
  object-fit:cover;
  object-position:center;
  border-radius:8px
}
@media(max-width:700px){
  .home-ad-banner{padding:18px 0}
  .home-ad-banner img{
    aspect-ratio:16/9;
    min-height:220px
  }
}


/* Homepage banner mobile dedicato — v0.13.22 */
.home-ad-banner picture{display:block}
@media(max-width:700px){
  .home-ad-banner img{
    aspect-ratio:1/1;
    min-height:0;
    object-fit:cover;
    object-position:center
  }
}

/* v0.13.24 — Area organizzatori: separa chiaramente il percorso B2B da quello spettatore */
.show-organizers-intro{background:var(--av-dark);color:#fff;padding:76px 0 34px;border-top:10px solid var(--av-yellow)}
.show-organizers-intro__inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:end}
.show-organizers-intro .single-kicker{color:var(--av-yellow);font-weight:900;margin:0 0 10px}
.show-organizers-intro h2{font-family:var(--av-heading-font);font-size:clamp(38px,5vw,70px);line-height:.92;margin:0}
.show-organizers-intro p{max-width:720px;font-size:18px;line-height:1.6;margin:0;color:rgba(255,255,255,.82)}
.show-detail__technical{padding-top:46px}
@media(max-width:700px){.show-organizers-intro{padding:58px 0 28px}.show-organizers-intro__inner{grid-template-columns:1fr;gap:22px}.show-organizers-intro p{font-size:16px}}


/* ==========================================================
   Area organizzatori compatta — v0.13.25
   Un unico percorso: scheda sintetica + richiesta spettacolo.
   ========================================================== */
.show-organizers-area{
  background:#fff;
}
.show-organizers-summary{
  background:var(--av-yellow);
  padding:46px 0 50px;
}
.show-organizers-summary .show-technical-heading{
  max-width:860px;
  margin-bottom:24px;
}
.show-organizers-summary .show-technical-heading .single-kicker{
  color:#4c4700;
  margin-bottom:7px;
}
.show-organizers-summary .show-technical-heading h2{
  margin:0;
  max-width:18ch;
  color:#101820;
  font-family:var(--av-heading-font);
  font-size:clamp(32px,3.5vw,52px);
  line-height:.98;
}
.organizer-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(16,24,32,.22);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
}
.organizer-info-item{
  min-height:108px;
  padding:18px 20px;
  border-right:1px solid rgba(16,24,32,.18);
  border-bottom:1px solid rgba(16,24,32,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.organizer-info-item:nth-child(4n){border-right:0}
.organizer-info-item span{
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#413d00;
}
.organizer-info-item strong{
  font-size:18px;
  line-height:1.2;
  color:#101820;
}
.organizer-info-item small{
  margin-top:3px;
  font-size:12px;
  line-height:1.35;
  color:rgba(16,24,32,.72);
}
.organizer-info-downloads{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.organizer-info-downloads a{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#101820;
  font-weight:800;
  text-decoration:none;
}
.organizer-info-downloads a:hover{text-decoration:underline}

.show-organizers-request{
  position:relative;
  margin:0;
  padding:62px 0 68px;
  background:var(--av-pink);
  color:#fff;
}
.show-organizers-request::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:8px;
  background:rgba(16,24,32,.12);
}
.show-organizers-request .inquiry-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(36px,6vw,82px);
  align-items:center;
}
.show-organizers-request .single-kicker{
  color:var(--av-yellow);
  margin:0 0 10px;
}
.show-organizers-request h2{
  margin:0 0 20px;
  max-width:10ch;
  color:#fff;
  font-family:var(--av-heading-font);
  font-size:clamp(42px,5vw,70px);
  line-height:.92;
}
.show-organizers-request__copy>p{
  max-width:48ch;
  font-size:17px;
  line-height:1.55;
}
.show-organizers-request__note{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.25);
  font-size:14px!important;
  color:rgba(255,255,255,.82);
}
.show-organizers-request .inquiry-form{
  margin:0;
  padding:clamp(28px,3.5vw,46px);
  background:#fff;
  color:#101820;
  border-radius:10px;
  box-shadow:0 18px 40px rgba(93,0,34,.18);
}
@media(max-width:980px){
  .organizer-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .organizer-info-item:nth-child(4n){border-right:1px solid rgba(16,24,32,.18)}
  .organizer-info-item:nth-child(2n){border-right:0}
  .show-organizers-request .inquiry-layout{grid-template-columns:1fr;align-items:start}
  .show-organizers-request h2{max-width:13ch}
}
@media(max-width:620px){
  .show-organizers-summary{padding:36px 0 40px}
  .organizer-info-grid{grid-template-columns:1fr}
  .organizer-info-item,
  .organizer-info-item:nth-child(2n),
  .organizer-info-item:nth-child(4n){border-right:0}
  .organizer-info-item{min-height:0;padding:16px 17px}
  .show-organizers-request{padding:48px 0}
  .show-organizers-request__copy>p{font-size:16px}
}


/* Footer ArtiVarti — v0.13.26 */
.site-footer.site-footer--v2{
  display:block;
  padding:0;
  background:#101820;
  color:#fff;
  border-top:7px solid var(--av-blue);
}
.site-footer__grid{
  display:grid;
  grid-template-columns:minmax(280px,1.45fr) minmax(220px,1fr) minmax(170px,.72fr) minmax(160px,.62fr);
  gap:clamp(34px,4vw,76px);
  max-width:var(--av-container,1500px);
  margin:0 auto;
  padding:72px max(24px,4vw) 58px;
}
.site-footer__logo{margin-bottom:24px}
.site-footer__logo img{display:block;width:auto;height:auto;max-width:170px;max-height:82px;object-fit:contain}
.site-footer__brand h2{margin:0 0 16px;font-family:var(--av-heading-font);font-size:24px;line-height:1}
.site-footer address{font-style:normal;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}
.site-footer address p{margin:0 0 12px}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.site-footer__kicker{margin:0 0 15px!important;color:var(--av-yellow)!important;font-size:10px!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.site-footer__legal h3{margin:0 0 14px;font-family:var(--av-heading-font);font-size:28px;line-height:1.02}
.site-footer__legal>p:not(.site-footer__kicker){margin:0 0 20px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.55}
.site-footer__arrow-link{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.site-footer__menu{display:grid!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}
.site-footer__menu li{margin:0!important;padding:0!important}
.site-footer__menu a{display:inline-block;font-size:15px;line-height:1.35;font-weight:600}
.site-footer__bottom{
  display:flex;justify-content:space-between;gap:24px;
  max-width:var(--av-container,1500px);margin:0 auto;
  padding:22px max(24px,4vw) 28px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.48);font-size:11px;letter-spacing:.04em
}
@media(max-width:1050px){
  .site-footer__grid{grid-template-columns:1.35fr 1fr 1fr;}
  .site-footer__brand{grid-row:span 2}
  .site-footer__legal{grid-column:2/-1}
}
@media(max-width:720px){
  .site-footer__grid{grid-template-columns:1fr 1fr;padding-top:52px;gap:38px 26px}
  .site-footer__brand,.site-footer__legal{grid-column:1/-1;grid-row:auto}
  .site-footer__bottom{flex-direction:column;gap:5px}
}
@media(max-width:440px){
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__brand,.site-footer__legal{grid-column:auto}
}

/* ==========================================================
   Pagina Corsi — pulsantiera + masonry v0.13.28
   ========================================================== */
.course-browser--masonry{padding-top:34px;padding-bottom:20px}
.course-chip-group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:start;padding:14px 0;border-bottom:1px solid rgba(16,24,32,.12)}
.course-chip-group__label{padding-top:9px;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#59636c}
.course-chip-group__buttons{display:flex;flex-wrap:wrap;gap:8px}
.course-filter-chip{appearance:none;border:1px solid rgba(16,24,32,.2);background:#fff;color:#101820;border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:.18s ease}
.course-filter-chip:hover{border-color:#101820;transform:translateY(-1px)}
.course-filter-chip.is-active{background:#101820;border-color:#101820;color:#fff}
.course-results-head{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.course-filter-reset{appearance:none;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-weight:700;cursor:pointer;color:#0f6dbf}
.course-masonry{column-count:4;column-gap:22px;padding-bottom:70px}
.course-masonry__item{display:inline-block;width:100%;margin:0 0 22px;break-inside:avoid;vertical-align:top}
.course-masonry__item[hidden]{display:none!important}
.course-masonry__item .catalog-card{width:100%;height:auto!important;min-height:0!important;max-height:none!important}
.course-masonry__item .catalog-card__media{aspect-ratio:1/1;height:auto!important}
.course-masonry__item:nth-child(5n+2) .catalog-card__media{aspect-ratio:4/5}
.course-masonry__item:nth-child(5n+4) .catalog-card__media{aspect-ratio:5/4}
.course-masonry-empty{padding-bottom:80px}
@media(max-width:1180px){.course-masonry{column-count:3}}
@media(max-width:860px){.course-masonry{column-count:2}.course-chip-group{grid-template-columns:1fr;gap:8px}}
@media(max-width:560px){.course-masonry{column-count:1}.course-browser--masonry{padding-top:20px}.course-filter-chip{font-size:11px;padding:8px 11px}}


/* Corsi masonry più ampio — v0.13.29 */
body.post-type-archive-tst_course .content-shell,
body.page-template-page-corsi .content-shell,
body.page-id-corsi .content-shell,
.courses-masonry-shell,
.courses-masonry-filters,
.courses-masonry-grid {
  max-width: 1250px !important;
}

.courses-masonry-shell,
.courses-masonry-grid,
.courses-masonry-filters {
  width: min(1250px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.courses-masonry-toolbar,
.courses-masonry-results-head {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
}

.courses-masonry-grid {
  gap: 24px !important;
}

@media (min-width: 1100px) {
  .courses-masonry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1099px) and (min-width: 720px) {
  .courses-masonry-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 719px) {
  .courses-masonry-shell,
  .courses-masonry-grid,
  .courses-masonry-filters {
    width: calc(100% - 28px) !important;
  }
  .courses-masonry-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================
   Vista Corsi per Disciplina — v0.13.30
   ========================================================== */
.course-discipline-view{width:100%}
.course-discipline-band{padding:64px 0 72px}
.course-discipline-band__inner{
  width:min(1250px,calc(100% - 48px))!important;
  max-width:1250px!important;
  margin-inline:auto!important
}
.course-discipline-band__heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,420px);
  gap:40px;
  align-items:end;
  margin-bottom:34px
}
.course-discipline-band__kicker{
  margin:0 0 7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase
}
.course-discipline-band__heading h2{
  margin:0;
  font-family:var(--av-heading-font);
  font-size:clamp(48px,6vw,88px);
  line-height:.86;
  letter-spacing:-.055em
}
.course-discipline-band__heading>p{
  margin:0;
  max-width:42ch;
  font-size:16px;
  line-height:1.55
}
.course-discipline-band__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  align-items:stretch
}
.course-discipline-band__item,
.course-discipline-band__item .catalog-card{height:100%}
.course-discipline-band__item .catalog-card{
  background:#fff;
  color:#101820;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(16,24,32,.08)
}

/* Palette alternata, senza diventare carnevale */
.course-discipline-band--dark{background:#101820;color:#fff}
.course-discipline-band--pink{background:#e82055;color:#fff}
.course-discipline-band--yellow{background:#f9e900;color:#101820}
.course-discipline-band--mint{background:#59e0ac;color:#101820}
.course-discipline-band--blue{background:#0f6dbf;color:#fff}

.course-discipline-band--dark .course-discipline-band__heading>p,
.course-discipline-band--pink .course-discipline-band__heading>p,
.course-discipline-band--blue .course-discipline-band__heading>p{color:rgba(255,255,255,.82)}

@media(max-width:1050px){
  .course-discipline-band__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .course-discipline-band{padding:48px 0 54px}
  .course-discipline-band__inner{width:calc(100% - 30px)!important}
  .course-discipline-band__heading{grid-template-columns:1fr;gap:15px;margin-bottom:26px}
  .course-discipline-band__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:520px){
  .course-discipline-band__heading h2{font-size:48px}
  .course-discipline-band__grid{grid-template-columns:1fr}
}


/* ==========================================================
   Vista per Disciplina — proporzioni corrette v0.13.31
   Mantiene le fasce editoriali ma usa la scala della Masonry.
   ========================================================== */

.catalog-page:has(.course-discipline-view) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Evita che wrapper generici del catalogo restringano questa vista */
.course-discipline-view {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* La fascia è larga; il contenuto resta leggibile a 1250px */
.course-discipline-view .course-discipline-band {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 54px 0 62px !important;
  margin: 0 !important;
}

.course-discipline-view .course-discipline-band__inner {
  width: min(1250px, calc(100% - 48px)) !important;
  max-width: 1250px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Titolo sopra le card, non in una colonnina centrale */
.course-discipline-view .course-discipline-band__heading {
  display: block !important;
  width: 100% !important;
  margin: 0 0 30px !important;
}

.course-discipline-view .course-discipline-band__heading > div {
  width: 100% !important;
}

.course-discipline-view .course-discipline-band__kicker {
  margin: 0 0 8px !important;
}

.course-discipline-view .course-discipline-band__heading h2 {
  max-width: 900px !important;
  margin: 0 !important;
  font-size: clamp(48px, 5.2vw, 76px) !important;
  line-height: .9 !important;
}

.course-discipline-view .course-discipline-band__heading > p {
  max-width: 680px !important;
  margin: 18px 0 0 !important;
}

/* Card: dimensioni vere, massimo quattro per riga */
.course-discipline-view .course-discipline-band__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-items: stretch !important;
}

.course-discipline-view .course-discipline-band__item {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
}

/* Neutralizza vecchie regole catalog-card che la rendevano una miniatura */
.course-discipline-view .catalog-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
  width: 100% !important;
}

.course-discipline-view .catalog-card img {
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}

.course-discipline-view .catalog-card__body {
  width: 100% !important;
}

/* Se ci sono 1–3 corsi, non li allarghiamo: mantengono la stessa misura di una griglia a 4 */
.course-discipline-view .course-discipline-band__grid:has(> :only-child),
.course-discipline-view .course-discipline-band__grid:has(> :nth-child(2):last-child),
.course-discipline-view .course-discipline-band__grid:has(> :nth-child(3):last-child) {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1050px) {
  .course-discipline-view .course-discipline-band__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  .course-discipline-view .course-discipline-band {
    padding: 42px 0 48px !important;
  }
  .course-discipline-view .course-discipline-band__inner {
    width: calc(100% - 30px) !important;
  }
  .course-discipline-view .course-discipline-band__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .course-discipline-view .catalog-card img {
    height: 190px !important;
    min-height: 190px !important;
  }
}

@media (max-width: 520px) {
  .course-discipline-view .course-discipline-band__grid {
    grid-template-columns: 1fr !important;
  }
  .course-discipline-view .course-discipline-band__heading h2 {
    font-size: 46px !important;
  }
  .course-discipline-view .catalog-card img {
    height: 240px !important;
    min-height: 240px !important;
  }
}

.catalog-page--course-discipline {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.catalog-page--course-discipline > .catalog-hero {
  width:min(1250px,calc(100% - 48px)) !important;
  max-width:1250px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media(max-width:780px){
  .catalog-page--course-discipline > .catalog-hero{
    width:calc(100% - 30px) !important;
  }
}


/* ==========================================================
   Vista per Disciplina — petali card + ordine editoriale
   v0.13.32
   ========================================================== */

/* La card resta contenuta, ma i petali possono respirare dietro la media */
.course-discipline-view .catalog-card {
  position: relative !important;
  overflow: visible !important;
  z-index: 1;
}

.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
}

/* L'immagine torna a essere il rettangolo principale della composizione */
.course-discipline-view .catalog-card__media img,
.course-discipline-view .catalog-card > a:first-child img {
  position: relative !important;
  z-index: 3 !important;
  border-radius: 10px 10px 0 0 !important;
}

/* Petali laterali: più piccoli e confinati alla larghezza della singola card */
.course-discipline-view .catalog-card__media::before,
.course-discipline-view .catalog-card > a:first-child::before,
.course-discipline-view .catalog-card__media::after,
.course-discipline-view .catalog-card > a:first-child::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  width: 34% !important;
  aspect-ratio: 1.35 / 1 !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

.course-discipline-view .catalog-card__media::before,
.course-discipline-view .catalog-card > a:first-child::before {
  left: -6% !important;
  bottom: 8% !important;
  background: var(--av-pink) !important;
  transform: rotate(-10deg) !important;
}

.course-discipline-view .catalog-card__media::after,
.course-discipline-view .catalog-card > a:first-child::after {
  right: -6% !important;
  bottom: 3% !important;
  background: var(--av-blue) !important;
  transform: rotate(11deg) !important;
}

/* Terzo petalo giallo simulato con box-shadow controllato */
.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
  filter: drop-shadow(0 0 0 transparent);
}

.course-discipline-view .catalog-card__body {
  position: relative !important;
  z-index: 4 !important;
  background: #fff !important;
  border-radius: 0 0 10px 10px !important;
}

/* Limitiamo lo sconfinamento orizzontale al massimo a pochi pixel.
   La griglia ha gap sufficiente per non sovrapporre le card adiacenti. */
.course-discipline-view .course-discipline-band__item {
  position: relative !important;
  overflow: visible !important;
  padding-inline: 6px !important;
}

/* Variante petali per card alternate, così non sono tutte identiche */
.course-discipline-view .course-discipline-band__item:nth-child(3n+2) .catalog-card__media::before,
.course-discipline-view .course-discipline-band__item:nth-child(3n+2) .catalog-card > a:first-child::before {
  background: var(--av-yellow) !important;
}
.course-discipline-view .course-discipline-band__item:nth-child(3n+2) .catalog-card__media::after,
.course-discipline-view .course-discipline-band__item:nth-child(3n+2) .catalog-card > a:first-child::after {
  background: var(--av-pink) !important;
}
.course-discipline-view .course-discipline-band__item:nth-child(3n+3) .catalog-card__media::before,
.course-discipline-view .course-discipline-band__item:nth-child(3n+3) .catalog-card > a:first-child::before {
  background: var(--av-blue) !important;
}
.course-discipline-view .course-discipline-band__item:nth-child(3n+3) .catalog-card__media::after,
.course-discipline-view .course-discipline-band__item:nth-child(3n+3) .catalog-card > a:first-child::after {
  background: var(--av-yellow) !important;
}

@media (max-width: 780px) {
  .course-discipline-view .catalog-card__media::before,
  .course-discipline-view .catalog-card > a:first-child::before,
  .course-discipline-view .catalog-card__media::after,
  .course-discipline-view .catalog-card > a:first-child::after {
    width: 30% !important;
  }
}


/* ==========================================================
   Vista per Disciplina — Animated Gradient Card v0.13.33
   Sostituisce definitivamente i petali/cerchi.
   ========================================================== */

/* Niente più cerchi/petali */
.course-discipline-view .catalog-card__media::before,
.course-discipline-view .catalog-card > a:first-child::before,
.course-discipline-view .catalog-card__media::after,
.course-discipline-view .catalog-card > a:first-child::after {
  content: none !important;
  display: none !important;
}

/* La card torna ad essere un oggetto unico: immagine + contenuto */
.course-discipline-view .course-discipline-band__item {
  position: relative !important;
  padding: 0 !important;
  overflow: visible !important;
}

.course-discipline-view .catalog-card {
  --av-gradient-angle: 0deg;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    box-shadow .35s ease !important;
}

/* Cornice animata: invisibile a riposo */
.course-discipline-view .catalog-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  border-radius: inherit !important;
  padding: 3px !important;
  pointer-events: none !important;
  opacity: 0 !important;

  background:
    conic-gradient(
      from var(--av-gradient-angle),
      #f9e900 0deg,
      #e82055 115deg,
      #0f6dbf 235deg,
      #f9e900 360deg
    ) !important;

  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;

  transition: opacity .25s ease !important;
}

/* Alone luminoso esterno, più morbido della cornice */
.course-discipline-view .catalog-card::after {
  content: "" !important;
  position: absolute !important;
  inset: -12px !important;
  z-index: -1 !important;
  border-radius: 20px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background:
    conic-gradient(
      from var(--av-gradient-angle),
      rgba(249,233,0,.85),
      rgba(232,32,85,.9),
      rgba(15,109,191,.9),
      rgba(249,233,0,.85)
    ) !important;
  filter: blur(18px) !important;
  transition: opacity .3s ease !important;
}

/* L'immagine è finalmente dentro la card */
.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 12px 12px 0 0 !important;
}

.course-discipline-view .catalog-card__media img,
.course-discipline-view .catalog-card > a:first-child img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transform: scale(1) !important;
  transition: transform .55s cubic-bezier(.2,.7,.2,1) !important;
}

.course-discipline-view .catalog-card__body {
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
  border-radius: 0 !important;
}

/* Hover */
@media (hover:hover) and (pointer:fine) {
  .course-discipline-view .catalog-card:hover {
    transform: translateY(-7px) !important;
    box-shadow:
      0 22px 45px rgba(0,0,0,.22),
      0 0 28px rgba(15,109,191,.12) !important;
    overflow: visible !important;
  }

  .course-discipline-view .catalog-card:hover::before {
    opacity: 1 !important;
    animation: av-course-gradient-spin 2.4s linear infinite !important;
  }

  .course-discipline-view .catalog-card:hover::after {
    opacity: .65 !important;
    animation: av-course-gradient-spin 2.4s linear infinite !important;
  }

  .course-discipline-view .catalog-card:hover .catalog-card__media img,
  .course-discipline-view .catalog-card:hover > a:first-child img {
    transform: scale(1.035) !important;
  }
}

/* Tastiera: stesso feedback visivo senza dipendere dal mouse */
.course-discipline-view .catalog-card:focus-within {
  transform: translateY(-5px) !important;
  overflow: visible !important;
}
.course-discipline-view .catalog-card:focus-within::before {
  opacity: 1 !important;
}

/* Custom property animabile nei browser moderni */
@property --av-gradient-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes av-course-gradient-spin {
  from { --av-gradient-angle: 0deg; }
  to   { --av-gradient-angle: 360deg; }
}

/* Fallback: se @property non è supportato, resta comunque una cornice
   tricolore ben visibile all'hover. */
@supports not (background: conic-gradient(from 1deg, red, blue)) {
  .course-discipline-view .catalog-card::before {
    background: linear-gradient(120deg,#f9e900,#e82055,#0f6dbf,#f9e900) !important;
  }
}

/* Accessibilità: niente movimento per chi lo disattiva nel sistema */
@media (prefers-reduced-motion: reduce) {
  .course-discipline-view .catalog-card,
  .course-discipline-view .catalog-card::before,
  .course-discipline-view .catalog-card::after,
  .course-discipline-view .catalog-card img {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}


/* ==========================================================
   Card system globale — v0.13.34
   Hover con sfumatura animata + spaziatura immagine/testo ridotta.
   ========================================================== */

/* Card interessate:
   - catalog-card: produzioni, corsi, attività, rassegne
   - event-card: eventi / prossimamente
   - show-related usa catalog-card e quindi eredita automaticamente
*/
.catalog-card,
.event-card {
  --av-card-gradient-angle: 0deg;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(16,24,32,.09) !important;
  transition:
    transform .34s cubic-bezier(.2,.7,.2,1),
    box-shadow .34s ease !important;
}

/* Cornice animata */
.catalog-card::before,
.event-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  border-radius: inherit !important;
  padding: 3px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background:
    conic-gradient(
      from var(--av-card-gradient-angle),
      #f9e900 0deg,
      #e82055 115deg,
      #0f6dbf 235deg,
      #f9e900 360deg
    ) !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  transition: opacity .25s ease !important;
}

/* Alone esterno */
.catalog-card::after,
.event-card::after {
  content: "" !important;
  position: absolute !important;
  inset: -10px !important;
  z-index: -1 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background:
    conic-gradient(
      from var(--av-card-gradient-angle),
      rgba(249,233,0,.82),
      rgba(232,32,85,.86),
      rgba(15,109,191,.88),
      rgba(249,233,0,.82)
    ) !important;
  filter: blur(16px) !important;
  transition: opacity .3s ease !important;
}

/* Immagine sempre dentro la card */
.catalog-card__media,
.catalog-card > a:first-child,
.event-card__media,
.event-card > a:first-child {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
  border-radius: 12px 12px 0 0 !important;
}

.catalog-card__media img,
.catalog-card > a:first-child img,
.event-card__media img,
.event-card > a:first-child img {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transform: scale(1) !important;
  transition: transform .5s cubic-bezier(.2,.7,.2,1) !important;
}

/* Riduce lo spazio bianco tra immagine e titolo/contenuto */
.catalog-card__body,
.event-card__body {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 14px !important;
}

/* Alcune card hanno wrapper o spacer ereditati: li comprimiamo */
.catalog-card__body > :first-child,
.event-card__body > :first-child {
  margin-top: 0 !important;
}

.catalog-card__eyebrow,
.event-card__eyebrow,
.catalog-card .section-label,
.event-card .section-label {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

.catalog-card h2,
.catalog-card h3,
.event-card h2,
.event-card h3 {
  margin-top: 0 !important;
}

/* Hover desktop */
@media (hover:hover) and (pointer:fine) {
  .catalog-card:hover,
  .event-card:hover {
    transform: translateY(-6px) !important;
    overflow: visible !important;
    box-shadow:
      0 22px 44px rgba(16,24,32,.19),
      0 0 24px rgba(15,109,191,.10) !important;
  }

  .catalog-card:hover::before,
  .event-card:hover::before,
  .catalog-card:hover::after,
  .event-card:hover::after {
    opacity: 1 !important;
    animation: av-global-card-gradient-spin 2.4s linear infinite !important;
  }

  .catalog-card:hover::after,
  .event-card:hover::after {
    opacity: .58 !important;
  }

  .catalog-card:hover img,
  .event-card:hover img {
    transform: scale(1.03) !important;
  }
}

/* Focus tastiera */
.catalog-card:focus-within,
.event-card:focus-within {
  transform: translateY(-4px) !important;
  overflow: visible !important;
}
.catalog-card:focus-within::before,
.event-card:focus-within::before {
  opacity: 1 !important;
}

@property --av-card-gradient-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes av-global-card-gradient-spin {
  from { --av-card-gradient-angle: 0deg; }
  to   { --av-card-gradient-angle: 360deg; }
}

/* La Vista per Disciplina usa ora lo stesso motore globale:
   evitiamo doppie cornici / doppi glow. */
.course-discipline-view .catalog-card::before,
.course-discipline-view .catalog-card::after {
  animation-name: av-global-card-gradient-spin !important;
}

/* Ulteriore correzione dello spazio anomalo visibile nelle card corsi */
.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
  margin-bottom: 0 !important;
}

.course-discipline-view .catalog-card__body {
  padding-top: 12px !important;
}

/* Se la card contiene un vecchio spacer decorativo subito dopo l'immagine */
.course-discipline-view .catalog-card__media + *,
.course-discipline-view .catalog-card > a:first-child + * {
  margin-top: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .catalog-card,
  .event-card,
  .catalog-card::before,
  .catalog-card::after,
  .event-card::before,
  .event-card::after,
  .catalog-card img,
  .event-card img {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* === v0.13.35 card geometry fix === */
.home-productions .catalog-card__media,
.home-productions .catalog-card:nth-child(3n+2) .catalog-card__media,
.home-productions .catalog-card:nth-child(3n+3) .catalog-card__media,
.catalog-card__media {
 width:100% !important; max-width:100% !important;
 margin-left:0 !important; margin-right:0 !important;
 box-sizing:border-box !important;
}
.course-discipline-view .catalog-card {
 display:flex !important; flex-direction:column !important;
}
.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card > a:first-child {
 flex:0 0 auto !important; width:100% !important;
 margin:0 !important; padding:0 !important;
}
.course-discipline-view .catalog-card__media img,
.course-discipline-view .catalog-card > a:first-child img {
 display:block !important; width:100% !important; margin:0 !important;
}
.course-discipline-view .catalog-card__media + .catalog-card__body,
.course-discipline-view .catalog-card > a:first-child + .catalog-card__body {
 margin-top:0 !important;
}
.course-discipline-view .catalog-card__body {
 flex:1 1 auto !important; margin:0 !important;
 padding:12px 18px 16px !important; min-height:0 !important;
}
.course-discipline-view .catalog-card__body::before {
 content:none !important; display:none !important;
}
.course-discipline-view .catalog-card__eyebrow,
.course-discipline-view .catalog-card .section-label {
 margin:0 0 5px !important; padding:0 !important;
}
.course-discipline-view .catalog-card h2,
.course-discipline-view .catalog-card h3 { margin:0 0 8px !important; }
.course-discipline-view .catalog-card__actions {
 margin-top:auto !important; padding-top:12px !important;
}

/* ==========================================================
   v0.13.36 — Vista per Disciplina usa la stessa card Corsi
   della homepage. Il markup e' gia lo stesso: av_catalog_card().
   Qui neutralizziamo soltanto le geometrie specifiche accumulate
   sulla vista disciplina.
   ========================================================== */

/* Stessa struttura della rail Corsi in homepage */
.course-discipline-view .catalog-card {
  display: flex !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
}

.course-discipline-view .catalog-card__link {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
}

/* Homepage Corsi = media quadrata. Stessa regola anche qui. */
.course-discipline-view .catalog-card__media,
.course-discipline-view .catalog-card:nth-child(3n+2) .catalog-card__media,
.course-discipline-view .catalog-card:nth-child(3n+3) .catalog-card__media {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
  background: #dedbd4 !important;
}

.course-discipline-view .catalog-card__media img,
.course-discipline-view .catalog-card__media .av-generic-cover {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Stessa compattezza della card corso homepage. */
.course-discipline-view .catalog-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 150px !important;
  margin: 0 !important;
  padding: 15px 18px 16px !important;
  overflow: visible !important;
  background: #fff !important;
}

.course-discipline-view .catalog-card__eyebrow {
  margin: 0 0 6px !important;
}

.course-discipline-view .catalog-card h2,
.course-discipline-view .catalog-card__body h2 {
  height: auto !important;
  min-height: 2.15em !important;
  max-height: none !important;
  margin: 0 0 7px !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  display: block !important;
  line-height: 1.05 !important;
}

.course-discipline-view .catalog-card__meta,
.course-discipline-view .catalog-card__price {
  margin: 4px 0 !important;
}

.course-discipline-view .catalog-card__cta {
  margin-top: auto !important;
}

/* La cornice animata resta; niente vecchi elementi decorativi sulla media. */
.course-discipline-view .catalog-card__media::before,
.course-discipline-view .catalog-card__media::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 700px) {
  .course-discipline-view .catalog-card__body {
    min-height: 150px !important;
    padding: 15px 16px 16px !important;
  }
}


/* ==========================================================
   v0.13.37 — Vista per Disciplina
   Nasconde la riga prenotazione prova e allinea le CTA al bottom
   ========================================================== */

/* La card lavora a colonna e il body occupa tutta l'altezza disponibile */
.course-discipline-view .catalog-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.course-discipline-view .catalog-card__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Riga "Prenotazione prova..." non deve comparire nelle card della pagina corsi */
.course-discipline-view .catalog-card__trial,
.course-discipline-view .catalog-card__trial-date,
.course-discipline-view [class*="trial-date"],
.course-discipline-view [class*="trial_info"] {
  display: none !important;
}

/* Il blocco pulsanti viene spinto in fondo alla card */
.course-discipline-view .catalog-card__actions {
  margin-top: auto !important;
  padding-top: 16px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  align-items: stretch !important;
}

/* Entrambi i pulsanti hanno stessa altezza e stesso allineamento */
.course-discipline-view .catalog-card__actions a,
.course-discipline-view .catalog-card__actions button {
  width: 100% !important;
  min-height: 40px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}


/* ==========================================================
   v0.13.38 — Catalog card actions reali
   ========================================================== */
.catalog-card__body{
  display:flex !important;
  flex-direction:column !important;
}
.catalog-card__actions{
  margin-top:auto !important;
  padding-top:14px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100% !important;
}
.catalog-card__actions .catalog-card__status,
.catalog-card__actions .catalog-card__cta{
  width:100% !important;
  min-width:0 !important;
  min-height:32px !important;
  height:32px !important;
  margin:0 !important;
  padding:6px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
.catalog-card__actions .catalog-card__status{
  border:1px solid rgba(18,30,46,.32) !important;
  background:#fff !important;
  color:#17212b !important;
}
.catalog-card__actions .catalog-card__cta{
  background:#303030 !important;
  color:#fff !important;
}
.catalog-card__actions:not(:has(.catalog-card__status)){
  grid-template-columns:1fr !important;
}

/* La Vista per Disciplina eredita esattamente la stessa logica. */
.course-discipline-view .catalog-card__actions{
  margin-top:auto !important;
  padding-top:14px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
}
.course-discipline-view .catalog-card__actions .catalog-card__status,
.course-discipline-view .catalog-card__actions .catalog-card__cta{
  width:100% !important;
  height:32px !important;
  min-height:32px !important;
  margin:0 !important;
}


/* ==========================================================
   v0.13.39 — Card editoriali per target
   ========================================================== */
.catalog-card__actions--single {
  grid-template-columns: 1fr !important;
}

.catalog-card__actions--single .catalog-card__cta {
  width: 100% !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Produzioni: niente spazio fantasma lasciato da prezzo/stato rimossi. */
.catalog-card--tst_show .catalog-card__actions {
  margin-top: auto !important;
  padding-top: 14px !important;
}
\n/* v0.13.40 — Lezione di prova standard + eccezione */\n.course-trial-box--disabled{background:#f7f8fa}\n.course-trial-rule--disabled strong{color:#111820!important}\n.course-availability-item--disabled .course-availability-value strong{color:#6b7280}\n.course-availability-badge--unavailable{background:#f1f2f4!important;color:#5f6670!important;border-color:#d7dbe0!important}\n

/* ==========================================================
   Navigazione scheda Corso — v0.13.41
   ========================================================== */
.course-breadcrumb{
  display:flex;align-items:center;gap:9px;
  padding-top:18px;padding-bottom:14px;
  font-size:12px;font-weight:700
}
.course-breadcrumb a{color:inherit;text-decoration:none}
.course-breadcrumb a:hover{text-decoration:underline}
.course-breadcrumb span[aria-current="page"]{
  opacity:.62;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.course-back-to-archive{padding-top:20px;padding-bottom:70px}
.course-back-to-archive a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 18px;
  border:1px solid rgba(16,24,32,.22);border-radius:999px;
  color:#101820;background:#fff;font-size:13px;font-weight:800;text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease
}
.course-back-to-archive a:hover{
  transform:translateX(-3px);border-color:#101820;background:#f7f8fa
}
@media(max-width:700px){
  .course-breadcrumb{padding-top:14px;font-size:11px}
  .course-back-to-archive{padding-bottom:48px}
}


/* ==========================================================
   v0.13.42 — Breadcrumb corso sotto hero, compatto
   ========================================================== */
.course-breadcrumb{
  padding-top:10px !important;
  padding-bottom:10px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
@media(max-width:700px){
  .course-breadcrumb{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
}


/* ==========================================================
   v0.13.43 — Breadcrumb corso corretto
   Sotto l'hero, fuori da facts/action grid.
   ========================================================== */
.course-breadcrumb{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:0 !important;
}
.course-breadcrumb > .content-shell{
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  gap:8px !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}
.course-breadcrumb a{
  color:#101820 !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
.course-breadcrumb a:hover{
  text-decoration:underline !important;
}
.course-breadcrumb span[aria-current="page"]{
  color:rgba(16,24,32,.55) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Safety: the breadcrumb must never behave as a child of course grids. */
.course-action-grid > .course-breadcrumb,
.course-facts > .course-breadcrumb,
.course-detail__facts > .course-breadcrumb{
  display:none !important;
}


/* ==========================================================
   v0.13.44 — Navigazione ritorno corsi
   Breadcrumb rimosso; CTA dopo la descrizione.
   ========================================================== */
.course-breadcrumb{
  display:none !important;
}
.course-back-after-description{
  margin-top:28px;
  margin-bottom:8px;
}
.course-back-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:11px 18px;
  border:1px solid #101820;
  color:#101820;
  background:transparent;
  font-family:"DM Sans",sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.course-back-button:hover{
  background:#101820;
  color:#fff;
  transform:translateX(-2px);
}


/* ==========================================================
   v0.13.45 — Vista per Disciplina responsive definitiva
   Corregge in particolare fasce con 1–2 card
   (Creatività / Difesa personale).
   ========================================================== */

.course-discipline-view .course-discipline-band__grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
}

.course-discipline-view .course-discipline-band__item {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
}

.course-discipline-view .course-discipline-band__item .catalog-card {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

@media (max-width:1050px) {
  .course-discipline-view .course-discipline-band__grid,
  .course-discipline-view .course-discipline-band__grid:has(> :only-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(2):last-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(3):last-child) {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:780px) {
  .course-discipline-view .course-discipline-band__inner {
    width:calc(100% - 30px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  .course-discipline-view .course-discipline-band__grid,
  .course-discipline-view .course-discipline-band__grid:has(> :only-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(2):last-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(3):last-child) {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  .course-discipline-view .course-discipline-band__heading {
    width:100% !important;
    max-width:none !important;
  }
}

@media (max-width:560px) {
  .course-discipline-view .course-discipline-band {
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .course-discipline-view .course-discipline-band__inner {
    width:calc(100% - 28px) !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .course-discipline-view .course-discipline-band__grid,
  .course-discipline-view .course-discipline-band__grid:has(> :only-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(2):last-child),
  .course-discipline-view .course-discipline-band__grid:has(> :nth-child(3):last-child) {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    width:100% !important;
  }

  .course-discipline-view .course-discipline-band__item,
  .course-discipline-view .catalog-card {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .course-discipline-view .catalog-card__media,
  .course-discipline-view .catalog-card__media img {
    width:100% !important;
    max-width:100% !important;
  }

  .course-discipline-view .course-discipline-band__heading h2 {
    font-size:clamp(40px,13vw,54px) !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
}


/* v0.13.48 — Promo corsi: separazione cromatica dalla CTA Prenota
   Banner informativo blu; CTA operativa resta fucsia. */
.course-promo{background:#0f6dbf !important;box-shadow:0 18px 38px rgba(15,109,191,.18) !important}


/* ==========================================================
   v0.13.52 — Archivio hero + credits web developer
   ========================================================== */
.archive-memory__hero{
  background-color:#2d3338;
  background-size:cover;
  background-position:center;
  position:relative;
}
.archive-memory__hero.has-image{
  color:#fff;
}
.archive-memory__hero.has-image .wwd-kicker,
.archive-memory__hero.has-image h1,
.archive-memory__hero.has-image p{
  color:#fff;
  position:relative;
  z-index:2;
}

.site-credits{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:7px 18px;
  background:#080d11;
  color:rgba(255,255,255,.54);
  font-family:"DM Sans",sans-serif;
  font-size:11px;
  letter-spacing:.03em;
}
.site-credits__author{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:rgba(255,255,255,.88);
  font:700 11px/1 "DM Sans",sans-serif;
  cursor:pointer;
  text-decoration:none;
}
.site-credits__author:hover{
  color:#f9e900;
  text-decoration:underline;
  text-underline-offset:3px;
}

.webdev-contact{
  width:min(680px,calc(100% - 28px));
  max-height:90vh;
  margin:auto;
  padding:34px;
  border:0;
  border-radius:16px;
  color:#101820;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.webdev-contact::backdrop{
  background:rgba(16,24,32,.78);
  backdrop-filter:blur(5px);
}
.webdev-contact__close{
  position:absolute;
  right:15px;
  top:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f1f2f3;
  color:#101820;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.webdev-contact__intro{
  padding-right:42px;
  margin-bottom:24px;
}
.webdev-contact__intro .single-kicker{
  color:#e82055;
}
.webdev-contact__intro h2{
  margin:5px 0 11px;
  font-family:var(--av-heading-font);
  font-size:clamp(34px,5vw,52px);
  line-height:.94;
}
.webdev-contact__intro p:last-child{
  max-width:56ch;
}
.webdev-contact .wpforms-container{
  margin:0!important;
}
@media(max-width:600px){
  .site-credits{
    min-height:44px;
    flex-wrap:wrap;
  }
  .webdev-contact{
    padding:28px 20px;
  }
}


/* ==========================================================
   v0.13.54 — Iscrizione corsi più evidente
   ========================================================== */
.course-enrol-cta{
  margin-top:22px;padding-top:20px;border-top:1px solid #e2e6e8;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center
}
.course-enrol-cta__copy span{display:block;margin-bottom:5px;color:#0f6dbf;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.course-enrol-cta__copy strong{display:block;font-family:var(--av-heading-font);font-size:22px;line-height:1.05}
.course-enrol-cta__copy p{margin:6px 0 0;color:#59636b;font-size:13px;line-height:1.45}
.course-enrol-cta__button,.course-enrol-banner__button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 18px;
  border-radius:4px;background:#0f6dbf;color:#fff!important;text-decoration:none!important;
  font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s ease
}
.course-enrol-cta__button:hover,.course-enrol-banner__button:hover{transform:translateY(-2px)}
.course-enrol-banner{
  margin-top:34px;margin-bottom:48px;padding:28px 30px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;
  background:#cfedff;border-radius:10px
}
.course-enrol-banner__copy h2{margin:3px 0 8px;font-family:var(--av-heading-font);font-size:clamp(28px,3vw,40px);line-height:.98}
.course-enrol-banner__copy>p:last-child{margin:0;max-width:68ch;color:#34424c}
.catalog-card__enrol-hint{
  display:block;margin:7px 0 0;color:#0f6dbf;font-size:11px;font-weight:800;line-height:1.3
}
@media(max-width:760px){
  .course-enrol-cta,.course-enrol-banner{grid-template-columns:1fr}
  .course-enrol-cta__button,.course-enrol-banner__button{width:100%}
  .course-enrol-banner{padding:24px 20px;margin-top:26px;margin-bottom:36px}
}


/* ==========================================================
   v0.13.57 — Iscrizione corso: full-width band + form section
   ========================================================== */
.course-enrol-cta,
.catalog-card__enrol-hint{display:none!important}

.course-enrol-band{
  width:100%;
  margin:0;
  background:#cfedff;
}
.course-enrol-banner{
  box-sizing:border-box;
  margin:0 auto!important;
  padding-top:30px!important;
  padding-bottom:30px!important;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:center;
  background:transparent!important;
  border-radius:0!important;
}
.course-enrol-banner__copy{min-width:0}
.course-enrol-banner__copy .single-kicker{
  margin:0 0 7px;
  color:#0f6dbf;
}
.course-enrol-banner__copy h2{
  margin:0 0 8px;
  font-family:var(--av-heading-font);
  font-size:clamp(30px,3vw,42px);
  line-height:1;
}
.course-enrol-banner__copy>p:last-child{
  margin:0;
  max-width:720px;
  color:#34424c;
  font-size:15px;
  line-height:1.5;
}
.course-enrol-banner__button{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:52px;
  padding:0 22px;
  border-radius:4px;
  background:#0f6dbf;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.course-form-band{
  width:100%;
  background:#f2f2f2;
}
.course-form-section{
  box-sizing:border-box;
  padding-top:clamp(44px,5vw,70px)!important;
  padding-bottom:clamp(54px,6vw,82px)!important;
}
.course-form-section__head{
  max-width:820px!important;
  margin:0 0 28px!important;
  padding:0!important;
  border-top:0!important;
}
.course-form-section__head .single-kicker{
  margin:0 0 8px!important;
  color:#0f6dbf;
  font-size:12px!important;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.course-form-section__head .single-kicker:after{display:none!important}
.course-form-section__head h2{
  margin:0 0 12px;
  font-family:var(--av-heading-font);
  font-size:clamp(34px,4vw,52px);
  line-height:.98;
}
.course-form-section__head>p:last-child{
  margin:0;
  max-width:760px;
  font-size:16px!important;
  line-height:1.6!important;
  color:#4f5962;
}
.course-form-section__card{
  box-sizing:border-box;
  padding:clamp(24px,3vw,42px);
  background:#fff;
  border:1px solid #dde2e5;
  border-radius:10px;
  box-shadow:0 14px 34px rgba(16,24,32,.06);
}
.course-form-section__form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media(max-width:800px){
  .course-enrol-banner{
    grid-template-columns:1fr;
    gap:20px;
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
  .course-enrol-banner__button{
    width:100%;
    white-space:normal;
    text-align:center;
  }
  .course-form-section__card{padding:20px}
}


/* ==========================================================
   v0.13.58 — Fascia iscrizione subito dopo costo/prova
   Sfondo full width, contenuto allineato alla content-shell.
   ========================================================== */
.course-enrol-band,
.course-enrol-banner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  background:#cfedff !important;
}

.course-enrol-band__inner,
.course-enrol-banner__inner{
  width:min(100% - 48px, var(--av-container, 1500px)) !important;
  margin:0 auto !important;
  padding:28px 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:32px !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

.course-enrol-band__copy,
.course-enrol-banner__copy{
  min-width:0 !important;
}

.course-enrol-band__copy .single-kicker,
.course-enrol-banner__copy .single-kicker{
  margin:0 0 7px !important;
  color:#0f6dbf !important;
}

.course-enrol-band__copy h2,
.course-enrol-banner__copy h2{
  margin:0 0 8px !important;
}

.course-enrol-band__copy p:last-child,
.course-enrol-banner__copy p:last-child{
  margin:0 !important;
  max-width:720px !important;
}

.course-enrol-band__button,
.course-enrol-banner__button{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

@media(max-width:800px){
  .course-enrol-band__inner,
  .course-enrol-banner__inner{
    width:min(100% - 28px, var(--av-container, 1500px)) !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:24px 0 !important;
  }

  .course-enrol-band__button,
  .course-enrol-banner__button{
    width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }
}


/* ==========================================================
   v0.13.59 — Iscrizione come riga della course-action-grid
   ========================================================== */
.course-action-grid__enrol{
  grid-column:1 / -1;
  width:100%;
  margin:0;
  background:#cfedff;
  box-sizing:border-box;
}
.course-action-grid__enrol-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
  padding:26px 30px;
}
.course-action-grid__enrol-copy{
  min-width:0;
}
.course-action-grid__enrol-copy .single-kicker{
  margin:0 0 7px;
  color:#0f6dbf;
}
.course-action-grid__enrol-copy h2{
  margin:0 0 7px;
  font-family:var(--av-heading-font);
  font-size:clamp(28px,3vw,40px);
  line-height:1;
}
.course-action-grid__enrol-copy>p:last-child{
  margin:0;
  max-width:720px;
  color:#34424c;
  font-size:15px;
  line-height:1.5;
}
.course-action-grid__enrol-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:0 20px;
  background:#0f6dbf;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(max-width:800px){
  .course-action-grid__enrol-inner{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 20px;
  }
  .course-action-grid__enrol-button{
    width:100%;
    white-space:normal;
    text-align:center;
  }
}

/* v0.13.60 — CTA iscrizione verso il modulo nella stessa pagina */
#course-request-form{scroll-margin-top:90px}


/* ==========================================================
   v0.13.61 — Hero pagina Corsi full width
   ========================================================== */
.catalog-page--course-discipline > .catalog-hero--courses,
.catalog-page > .catalog-hero--courses{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  background-size:cover !important;
  background-position:center !important;
}

.catalog-hero--courses{
  padding-left:max(24px,calc((100vw - var(--av-container,1500px))/2)) !important;
  padding-right:max(24px,calc((100vw - var(--av-container,1500px))/2)) !important;
}

@media(max-width:800px){
  .catalog-hero--courses{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* ==========================================================
   v0.13.62 — Hero Corsi: rimozione padding laterale eccessivo
   Il background resta full viewport; il testo mantiene il proprio
   contenitore interno senza trasformare l'header in una content-shell.
   ========================================================== */
.catalog-page--course-discipline > .catalog-hero--courses,
.catalog-page > .catalog-hero--courses,
.catalog-hero--courses{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Allineamento del solo contenuto testuale della hero */
.catalog-hero--courses > .content-shell,
.catalog-hero--courses > .catalog-hero__inner{
  width:min(100% - 48px,var(--av-container,1500px)) !important;
  max-width:var(--av-container,1500px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:800px){
  .catalog-hero--courses{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .catalog-hero--courses > .content-shell,
  .catalog-hero--courses > .catalog-hero__inner{
    width:calc(100% - 36px) !important;
  }
}


/* ==========================================================
   v0.13.63 — Hero Corsi: corregge lo spazio VERTICALE.
   Mantiene il padding laterale della griglia, elimina quello
   sopra/sotto che creava le due fasce bianche.
   ========================================================== */
.catalog-page--course-discipline{
  padding-top:0 !important;
  margin-top:0 !important;
}

.catalog-page--course-discipline > .catalog-hero--courses,
.catalog-page > .catalog-hero--courses,
.catalog-hero--courses{
  width:100% !important;
  max-width:none !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;

  /* Il padding laterale SERVE. */
  padding-left:max(24px,calc((100vw - var(--av-container,1500px))/2)) !important;
  padding-right:max(24px,calc((100vw - var(--av-container,1500px))/2)) !important;

  /* Quello da eliminare era il padding verticale. */
  padding-top:0 !important;
  padding-bottom:0 !important;

  box-sizing:border-box !important;
  border-radius:0 !important;
  background-size:cover !important;
  background-position:center !important;
}

/* L'altezza della hero viene dal contenuto interno, senza fasce vuote. */
.catalog-hero--courses > .content-shell,
.catalog-hero--courses > .catalog-hero__inner{
  width:100% !important;
  max-width:var(--av-container,1500px) !important;
  margin:0 auto !important;
  padding-top:70px !important;
  padding-bottom:70px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* La sezione successiva non deve introdurre un vuoto sopra. */
.catalog-page--course-discipline > .course-discipline-view{
  margin-top:0 !important;
}

@media(max-width:800px){
  .catalog-hero--courses{
    padding-left:18px !important;
    padding-right:18px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .catalog-hero--courses > .content-shell,
  .catalog-hero--courses > .catalog-hero__inner{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
}


/* ==========================================================
   v0.13.64 — Hero Corsi identica in altezza a "Cosa facciamo"
   Desktop: 72svh. Tablet/mobile: 64svh.
   ========================================================== */
.catalog-page--course-discipline > .catalog-hero--courses,
.catalog-page > .catalog-hero--courses,
.catalog-hero--courses{
  min-height:72svh !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding-top:0 !important;
  padding-bottom:clamp(70px,9vw,130px) !important;
  background-size:cover !important;
  background-position:center var(--av-hero-y,center) !important;
}

/* Il testo è già contenuto dal padding laterale della hero:
   niente altezza/padding verticale aggiuntivo su wrapper interni. */
.catalog-hero--courses > .content-shell,
.catalog-hero--courses > .catalog-hero__inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:900px){
  .catalog-page--course-discipline > .catalog-hero--courses,
  .catalog-page > .catalog-hero--courses,
  .catalog-hero--courses{
    min-height:64svh !important;
  }
}


/* ==========================================================
   v0.13.65 — Posizione verticale immagine hero configurabile
   ========================================================== */
.catalog-hero--archive{
  background-position:center var(--av-hero-y,center) !important;
  background-size:cover !important;
}
.catalog-hero--courses{
  background-position:center var(--av-hero-y,center) !important;
}
