/*
Theme Name: Lagrù — Teatro vivo
Author: Lagrù Ragazzi
Description: Tema leggero su misura per Lagrù Ragazzi, con template Elementor Pro e font locali.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: lagru
*/
@font-face{font-family:Bricolage;src:url(assets/bricolage.ttf) format('truetype');font-weight:800;font-display:swap}@font-face{font-family:DM;src:url(assets/dm-sans.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--paper:#f7f4eb;--ink:#26251f;--red:#d53e30;--yellow:#f5cd59;--blue:#dee6f0;--line:#d9d5c9;--lagru-display:Bricolage,Georgia,serif;--body:DM,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden;max-width:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--lagru-display);font-weight:800;line-height:1.04;letter-spacing:-.045em}p+p{margin-top:16px}::selection{background:var(--yellow);color:var(--ink)}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:1000}.skip:focus{top:10px}.site-header{height:103px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand:hover{text-decoration:none}.brand-mark{font-family:var(--lagru-display);font-size:43px;letter-spacing:-3px;line-height:.85}.brand-mark small{display:block;font-family:var(--body);font-size:12px;letter-spacing:4.8px;margin-top:8px;margin-left:3px}.brand-star{font-size:43px;color:var(--red);line-height:1}.main-nav ul{display:flex;gap:27px;list-style:none;margin:0;padding:0;align-items:center}.main-nav a{font-size:14px}.main-nav .current-menu-item a{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px}.nav-cta{border:1px solid var(--ink);border-radius:30px;padding:10px 20px}.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);padding:7px 15px;border-radius:24px}.site-footer{background:var(--ink);color:var(--paper);padding:64px 5% 24px}.footer-top{max-width:1296px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px}.footer-top h2{font-size:40px;margin-bottom:22px}.footer-top h3{font-family:var(--body);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.footer-top p,.footer-top a{font-size:14px}.footer-top ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-bottom{max-width:1296px;margin:48px auto 0;padding-top:22px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#d3d1c9}.site-footer .brand-star{color:var(--yellow)}
/* Native Elementor widgets inherit the visual system. Widget style controls can override these defaults. */
.elementor{--e-global-color-primary:var(--ink);--e-global-color-secondary:var(--red);--e-global-color-text:var(--ink);--e-global-color-accent:var(--red);--e-global-typography-primary-font-family:var(--lagru-display);--e-global-typography-secondary-font-family:var(--lagru-display);--e-global-typography-text-font-family:var(--body);--e-global-typography-accent-font-family:var(--body)}.elementor .elementor-widget-heading .elementor-heading-title{color:inherit;font-family:var(--lagru-display);font-weight:800;line-height:1.04;letter-spacing:-.045em}.elementor .elementor-widget-text-editor{color:inherit;font-family:var(--body);line-height:1.6}.elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}.elementor .elementor-button{font-family:var(--body);font-size:14px;font-weight:400;line-height:1.2;color:var(--paper);background:var(--ink);border-radius:40px;padding:18px 26px;transition:background .2s,transform .2s}.elementor .elementor-button:hover{background:var(--red);color:white;transform:translateY(-2px);text-decoration:none}.elementor .button-outline .elementor-button{background:transparent;color:var(--ink);border:1px solid var(--ink)}.elementor .button-outline .elementor-button:hover{background:var(--ink);color:var(--paper)}.elementor .button-red .elementor-button{background:var(--red)}.elementor .button-red .elementor-button:hover{background:var(--ink)}.elementor .button-link .elementor-button{background:transparent;color:inherit;padding:8px 0;border-radius:0;border-bottom:1px solid currentColor}.elementor .button-link .elementor-button:hover{color:var(--red);transform:none}
.elementor .e-con.e-flex{--display:flex}.elementor .e-con.e-grid{--display:grid}
.elementor .e-con{--container-widget-width:100%;--container-widget-flex-grow:0;--container-widget-align-self:initial;--content-width:1296px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;min-width:0}.elementor .e-con.wrap{width:90%;max-width:1296px;margin-left:auto;margin-right:auto}.elementor .e-con.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:4.5%;padding-top:64px;padding-bottom:70px;align-items:center}.elementor .e-con.hero-copy{gap:24px;position:relative}.elementor .eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.elementor .eyebrow p:before{content:'✳';font-size:17px;color:var(--red);margin-right:9px}.elementor .hero-title .elementor-heading-title{font-size:clamp(62px,6.7vw,100px);line-height:.96;letter-spacing:-.06em}.hero-title em{font-style:normal;color:var(--red)}.elementor .lead{max-width:405px;font-size:17px;line-height:1.65}.elementor .e-con.buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center}.elementor .e-con.buttons>.elementor-element{width:auto}.elementor .e-con.hero-visual{position:relative;gap:0;padding-top:14px}.elementor .hero-photo img{width:100%;height:475px;object-fit:cover;object-position:57% center;border-radius:190px 190px 8px 8px}.elementor .e-con.hero-caption{display:flex;flex-direction:row;justify-content:space-between;padding-top:15px;gap:14px;align-items:center;font-size:11px}.elementor .e-con.hero-caption>.elementor-element{width:auto}.elementor .hero-seal{position:absolute;top:0;right:-20px;width:108px;height:108px;border-radius:50%;background:var(--yellow);display:flex;justify-content:center;align-items:center;text-align:center;transform:rotate(12deg);font-size:13px;font-weight:600;line-height:1.2;z-index:2;padding:12px}.elementor .hero-seal p{line-height:1.25}.elementor .hero-note{font-size:11px;color:#625f55;letter-spacing:.01em}.elementor .ticker{width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 5%;text-align:center;font-family:var(--lagru-display);font-size:18px;letter-spacing:-.015em}.ticker b{color:var(--red);margin:0 24px}.elementor .e-con.section{padding-top:80px;padding-bottom:85px;gap:36px}.elementor .e-con.section-head{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:30px}.elementor .e-con.section-head>.e-con{width:auto;gap:14px}.elementor .e-con.section-head>.elementor-widget-button{width:auto;flex-shrink:0}.elementor .section-title .elementor-heading-title{font-size:clamp(36px,4vw,56px)}.elementor .e-con.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.elementor .e-con.show-card{gap:13px}.elementor .e-con.show-card img{width:100%;height:265px;object-fit:cover;border-radius:6px;transition:transform .35s}.elementor .e-con.show-card .elementor-widget-image{overflow:hidden;border-radius:6px}.elementor .e-con.show-card .elementor-widget-image:hover img{transform:scale(1.035)}.elementor .e-con.show-card .elementor-heading-title{font-size:28px;line-height:1.12}.elementor .meta{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#625f55}.elementor .e-con.show-card .description{font-size:13px;color:#625f55}.elementor .e-con.show-card .button-link{font-size:13px;margin-top:4px}.elementor .e-con.show-card .button-link .elementor-button{font-size:13px}.elementor .e-con.feature-band{background:var(--blue);padding:70px 5%;gap:0}.elementor .e-con.feature-inner{max-width:1296px;width:100%;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.elementor .e-con.feature-copy{gap:25px}.elementor .feature-title .elementor-heading-title{font-size:clamp(40px,4.6vw,66px)}.elementor .feature-image img{width:100%;height:380px;object-fit:cover;border-radius:6px 6px 150px 6px}.elementor .e-con.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.elementor .e-con.path-card{padding:38px;background:#edeadf;border-radius:6px;gap:20px}.elementor .e-con.path-card:nth-child(2){background:var(--yellow)}.elementor .e-con.path-card .elementor-heading-title{font-size:37px}.elementor .e-con.path-card .elementor-widget-text-editor{max-width:420px;font-size:15px}.elementor .e-con.path-card .path-symbol{font-size:38px;line-height:1;color:var(--red)}.elementor .e-con.contact-band{padding:65px 5%;background:var(--red);color:var(--paper)}.elementor .e-con.contact-inner{max-width:1296px;width:100%;margin:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:35px}.elementor .e-con.contact-inner>.e-con{width:auto;gap:14px}.elementor .e-con.contact-inner>.elementor-widget-button{width:auto;flex-shrink:0}.elementor .e-con.contact-inner .elementor-heading-title{font-size:clamp(36px,4.6vw,64px)}.elementor .e-con.contact-inner .elementor-button{background:var(--paper);color:var(--ink)}.elementor .e-con.page-intro{padding-top:65px;padding-bottom:45px;gap:24px;max-width:1296px}.elementor .page-title .elementor-heading-title{font-size:clamp(52px,6vw,86px);max-width:1000px}.elementor .e-con.page-intro .lead{max-width:630px}.elementor .e-con.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;padding-bottom:85px}.elementor .e-con.detail-copy{gap:25px}.elementor .detail-photo img{width:100%;max-height:650px;object-fit:cover;border-radius:8px}.elementor .body-copy{font-size:17px}.elementor .body-copy a{text-decoration:underline}.elementor .e-con.info-box{background:#edeadf;padding:28px;border-radius:6px;gap:16px}.elementor .e-con.info-box:empty{display:none}.elementor .e-con.info-box .elementor-heading-title{font-size:24px}.elementor .e-con.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.elementor .e-con.list-item{padding:30px;border-top:1px solid var(--line);gap:16px}.elementor .e-con.list-item .elementor-heading-title{font-size:30px}.elementor .e-con.event-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:28px;padding:25px 0;border-bottom:1px solid var(--line);align-items:center}.elementor .e-con.event-row .elementor-heading-title{font-size:25px}.elementor .e-con.event-row .elementor-widget-text-editor{font-size:14px}.elementor .archive-note{padding:18px 22px;background:#edeadf;border-left:3px solid var(--red);font-size:14px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}.filter-bar button{border:1px solid var(--line);border-radius:30px;padding:10px 19px;background:transparent;color:var(--ink);cursor:pointer;font-size:13px}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-bar input{margin-left:auto;border:1px solid var(--line);border-radius:30px;padding:11px 19px;background:transparent;color:var(--ink);width:240px;font-size:13px}.filter-status{font-size:12px;margin-top:14px;color:#625f55}.elementor .e-con.show-card[hidden]{display:none!important}.empty-state{padding:25px;background:#edeadf;border-radius:6px}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);position:absolute!important;width:1px;height:1px;overflow:hidden}.not-found{max-width:900px;margin:80px auto;padding:0 25px}.not-found h1{font-size:60px;margin:25px 0}.not-found a{text-decoration:underline}.elementor-editor-active .show-card[hidden]{display:flex!important}
@media(min-width:1441px){.elementor .hero-title .elementor-heading-title{font-size:100px}}@media(max-width:1100px){.site-header{gap:20px}.main-nav ul{gap:17px}.main-nav a{font-size:12px}.elementor .hero-photo img{height:420px}.elementor .hero-title .elementor-heading-title{font-size:72px}.elementor .e-con.show-card img{height:230px}.elementor .hero-seal{right:-10px;width:90px;height:90px;font-size:11px}.elementor .e-con.show-card .elementor-heading-title{font-size:25px}}@media(max-width:767px){.site-header{height:84px;position:relative;z-index:20}.brand-mark{font-size:35px}.brand-mark small{font-size:10px;letter-spacing:4px}.brand-star{font-size:35px}.menu-toggle{display:block}.main-nav{position:absolute;top:83px;left:0;right:0;padding:24px 5%;background:var(--paper);border-bottom:1px solid var(--line);display:none}.main-nav.is-open{display:block}.main-nav ul{align-items:stretch;flex-direction:column;gap:0}.main-nav a{font-size:18px;display:block;padding:12px 0}.main-nav .nav-cta{border:0}.elementor .e-con.hero{grid-template-columns:1fr;padding-top:37px;padding-bottom:34px;gap:28px}.elementor .e-con.hero-copy{gap:21px}.elementor .hero-title .elementor-heading-title{font-size:clamp(56px,12vw,84px);max-width:550px}.elementor .lead{font-size:16px;max-width:450px}.elementor .e-con.hero-visual{padding-top:10px}.elementor .hero-photo img{height:360px;border-radius:150px 150px 6px 6px}.elementor .hero-seal{right:0;top:0;width:92px;height:92px}.elementor .hero-note{font-size:10px}.elementor .ticker{font-size:13px;padding:16px 3%}.ticker b{margin:0 7px}.elementor .e-con.section{padding-top:45px;padding-bottom:50px;gap:25px}.elementor .e-con.section-head{align-items:start;flex-direction:column;gap:15px}.elementor .section-title .elementor-heading-title{font-size:39px}.elementor .e-con.cards{grid-template-columns:1fr;gap:35px}.elementor .e-con.show-card img{height:auto;aspect-ratio:1.45;object-fit:cover}.elementor .e-con.show-card .elementor-heading-title{font-size:30px}.elementor .e-con.feature-band{padding:45px 5%}.elementor .e-con.feature-inner{grid-template-columns:1fr;gap:30px}.elementor .feature-title .elementor-heading-title{font-size:45px}.elementor .feature-image img{height:300px;border-radius:6px 6px 100px 6px}.elementor .e-con.path-grid{grid-template-columns:1fr;gap:18px}.elementor .e-con.path-card{padding:28px}.elementor .e-con.contact-band{padding:42px 5%}.elementor .e-con.contact-inner{flex-direction:column;align-items:start;gap:24px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:10px;margin-top:32px}.site-footer{padding-top:45px}.elementor .e-con.page-intro{padding-top:40px;padding-bottom:35px;gap:20px}.elementor .page-title .elementor-heading-title{font-size:51px}.elementor .e-con.detail-grid{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.elementor .e-con.list-grid{grid-template-columns:1fr}.elementor .e-con.event-row{grid-template-columns:95px 1fr;gap:16px}.elementor .e-con.event-row>.elementor-element:last-child{grid-column:2}.filter-bar input{width:100%;margin:5px 0 0}.elementor .e-con.hero-caption{font-size:10px}.elementor .e-con.buttons .elementor-button{padding:16px 21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.elementor .e-con .lead{max-width:405px}.elementor .e-con.page-intro .lead{max-width:630px}.elementor .e-con.buttons{--flex-direction:row;--justify-content:flex-start;--align-items:center}.elementor .e-con.hero-caption{--flex-direction:row}.elementor .e-con.section-head{--flex-direction:row}.elementor .e-con.contact-inner{--flex-direction:row}.elementor .e-con.hero-copy{--align-items:flex-start}.elementor .hero-seal{--align-items:center}.elementor .e-con.buttons>.elementor-element{--container-widget-width:auto}.elementor .e-con.section-head>.elementor-element,.elementor .e-con.hero-caption>.elementor-element,.elementor .e-con.contact-inner>.elementor-element{--container-widget-width:auto}@media(max-width:767px){.elementor .e-con.section-head,.elementor .e-con.contact-inner{--flex-direction:column}}
.elementor .e-con.show-card .elementor-widget-image a{display:block;width:100%}.elementor .e-con.show-card .elementor-widget-image img{width:100%;max-width:100%}
.elementor .elementor-heading-title{overflow-wrap:anywhere}@media(max-width:767px){.elementor .page-title .elementor-heading-title{font-size:clamp(35px,10.5vw,51px)}}
.custom-logo-link{display:block;flex-shrink:0}.custom-logo{width:auto;height:66px;max-width:180px;object-fit:contain}@media(max-width:767px){.custom-logo{height:52px;max-width:160px}}
/* Video & Gallery Integration */
.lr-video{position:relative;width:100%;aspect-ratio:16/9;background:#1d1c18;border-radius:8px;overflow:hidden;margin-top:14px;margin-bottom:24px}.lr-video-play{width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#fff;text-align:center}.lr-video-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .3s,transform .4s}.lr-video-play:hover .lr-video-poster{opacity:.9;transform:scale(1.02)}.lr-play-symbol{position:relative;z-index:2;width:68px;height:68px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;padding-left:5px;box-shadow:0 4px 20px rgba(0,0,0,0.3);transition:transform .2s,background .2s}.lr-video-play:hover .lr-play-symbol{transform:scale(1.1);background:#b52e22}.lr-video-label{position:relative;z-index:2;font-family:var(--lagru-display);font-size:18px;font-weight:800;margin-top:14px;text-shadow:0 1px 4px rgba(0,0,0,0.6)}.lr-video-note{position:relative;z-index:2;font-size:12px;opacity:.85;margin-top:4px}.lr-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#2a2824;color:#fff;padding:24px;text-align:center;position:relative}.lr-video-placeholder .lr-play-symbol{background:rgba(255,255,255,0.15);color:#fff}.lr-video-frame{width:100%;height:100%;border:0}
.event-gallery-grid,.show-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px;margin-bottom:24px}.gallery-photo-item,.elementor .e-con.show-gallery-grid .elementor-widget-image{border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:#edeadf}.gallery-photo-item img,.gallery-photo,.elementor .e-con.show-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-photo-item:hover img,.elementor .e-con.show-gallery-grid img:hover{transform:scale(1.04)}.gallery-placeholder .ph-box{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e5e2d6;color:#625f55;border:2px dashed #ccc7b6;border-radius:6px;font-size:13px;font-weight:600;gap:4px}.gallery-placeholder .ph-box small{font-size:11px;opacity:.75}
.elementor .e-con.show-media-section{padding-top:40px;padding-bottom:60px;gap:24px}.elementor .e-con.show-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:20px}@media(max-width:900px){.elementor .e-con.show-media-grid{grid-template-columns:1fr;gap:24px}.event-gallery-grid,.show-gallery-grid{grid-template-columns:1fr}}
.lr-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#e0ded4;color:var(--ink)}.lr-badge-in-programma,.lr-badge-programmato{background:var(--yellow);color:var(--ink)}.lr-badge-concluso{background:#e0ded4;color:#625f55}.lr-badge-esaurito{background:var(--ink);color:var(--paper)}.lr-badge-annullato{background:var(--red);color:#fff}.lr-badge-large{position:absolute;top:16px;right:16px;font-size:12px;padding:6px 14px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.event-card{position:relative;display:flex;flex-direction:column}.event-card-media{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:16/10;background:#e0ded4}.event-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.event-card-media:hover img{transform:scale(1.035)}.event-thumb-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edeadf;color:var(--ink);font-size:15px;font-weight:600;padding:20px;text-align:center;gap:8px}.event-placeholder-icon{font-size:32px}.event-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.event-card .meta{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#625f55}.event-card .event-title{font-family:var(--lagru-display);font-size:26px;font-weight:800;line-height:1.15;margin:10px 0 6px}.event-card .event-title a:hover{text-decoration:underline}.event-card .description{font-size:14px;color:#625f55;line-height:1.45;margin-bottom:12px}
.event-cover-wrapper{position:relative;border-radius:8px;overflow:hidden;margin-bottom:24px}.event-main-photo{width:100%;max-height:520px;object-fit:cover;border-radius:8px}.event-cover-placeholder{background:var(--blue);color:var(--ink);padding:48px 32px;border-radius:8px;text-align:center}.event-cover-placeholder .placeholder-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--red);display:block;margin-bottom:12px}.event-cover-placeholder h2{font-size:36px;margin-bottom:8px}.section-subtitle{font-family:var(--lagru-display);font-size:22px;font-weight:800;margin:20px 0 10px}.event-meta-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:15px}.event-meta-list li{display:flex;flex-direction:row;justify-content:space-between;border-bottom:1px solid #dfdbcf;padding-bottom:8px;gap:12px}.event-meta-list .meta-label{color:#625f55;flex-shrink:0}.event-notes{margin-top:14px;padding:14px;background:#f7f4eb;border-radius:6px;font-size:14px}.booking-cta{margin-top:20px}.event-story{margin-top:30px}.event-story h2{font-size:28px;margin-bottom:16px}.linked-production-box{margin-top:24px}.back-link{margin-top:24px}
/* Elementor Pro Theme Builder and dynamic collections */
.elementor .e-con.lr-header{flex-direction:row;align-items:center;justify-content:space-between;gap:28px;min-height:100px;border-bottom:1px solid var(--line);padding:20px 0}.elementor .lr-wordmark{width:170px;flex-shrink:0}.elementor .lr-wordmark .elementor-heading-title{font-size:43px;line-height:.8;letter-spacing:-3px}.lr-wordmark span{color:var(--red);font-size:34px;margin-left:8px}.lr-wordmark small{display:block;font-family:var(--body);font-size:11px;letter-spacing:4.5px;line-height:1.5;margin-top:10px}.elementor .lr-navigation{width:auto;flex:1}.lr-navigation .elementor-nav-menu--main .elementor-item{color:var(--ink);font-family:var(--body);font-size:14px;padding:13px 16px}.lr-navigation .elementor-item:after{background:var(--red)}.elementor .e-con.lr-footer{background:var(--ink);color:var(--paper);padding:60px 0 24px}.elementor .e-con.lr-footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px}.elementor .e-con.lr-footer-col{gap:18px}.elementor .lr-footer-brand .elementor-heading-title{font-size:40px}.elementor .lr-footer p{font-size:14px}.elementor .lr-footer .meta,.elementor .lr-footer a{color:var(--paper)}.lr-footer-nav .elementor-item{color:var(--paper);font-family:var(--body);font-size:14px;padding:7px 0}.elementor .e-con.lr-footer-legal{padding-top:22px;margin-top:40px;border-top:1px solid #ffffff30}.lr-breadcrumbs{font-size:12px;line-height:1.5;color:#625f55}.lr-breadcrumbs ol{display:flex;gap:10px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.lr-breadcrumbs li+li:before{content:'/';color:#969184;margin-right:10px}.lr-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.lr-breadcrumbs [aria-current=page]{color:var(--ink)}.elementor .lr-subtitle .elementor-heading-title{font-size:32px}.elementor .e-con.lr-info-row{gap:5px}.elementor .lr-info-value .elementor-heading-title{font-family:var(--body);font-size:16px;font-weight:400;letter-spacing:0;line-height:1.5}.elementor .e-con.lr-loop-card{gap:12px;height:100%;padding-bottom:10px}.elementor .e-con.lr-loop-card .elementor-widget-image img{width:100%;height:245px;object-fit:cover}.lr-loop-card .elementor-widget-image a{display:block}.elementor .lr-loop-card .elementor-widget-heading:not(.meta) .elementor-heading-title{font-size:27px}.elementor .lr-loop-card .meta .elementor-heading-title{font-family:var(--body);font-size:11px;letter-spacing:.08em;line-height:1.5}.elementor .lr-loop-card .elementor-widget-button{margin-top:auto}.lr-filter-form{margin-bottom:35px;border:1px solid var(--line);border-radius:8px;padding:26px;background:#efede3}.lr-filter-form h2{font-size:24px;margin:0 0 20px}.lr-filter-fields{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.lr-filter-fields label{font-size:12px;font-weight:600;display:flex;flex:1;flex-direction:column;gap:8px;min-width:155px}.lr-filter-fields select,.lr-filter-fields input{border:1px solid #bcb7a8;border-radius:5px;background:var(--paper);color:var(--ink);padding:12px;width:100%;font:400 14px var(--body);height:48px}.lr-filter-fields button{background:var(--ink);color:var(--paper);border:0;border-radius:30px;min-height:48px;padding:12px 25px;cursor:pointer}.lr-filter-summary{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:12px}.lr-filter-summary a{text-decoration:underline;text-underline-offset:4px}.elementor-pagination{margin-top:35px;display:flex;justify-content:center;gap:12px}.elementor-pagination a,.elementor-pagination span{padding:8px 14px;border-radius:4px;border:1px solid var(--line)}.elementor-pagination .current{background:var(--ink);color:var(--paper)}.elementor .lr-native-gallery .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}.elementor .lr-native-gallery .gallery-item{width:100%;max-width:100%;padding:0;margin:0;float:none}.elementor .lr-native-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.elementor .lr-native-gallery br{display:none}.elementor .e-con.lr-gallery-section{padding-top:25px}.elementor .e-con.lr-video-section{padding-top:10px}.lr-video{aspect-ratio:16/9;position:relative;background:var(--ink);color:var(--paper);border-radius:8px;overflow:hidden}.lr-video-placeholder,.lr-video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;background:transparent;border:0;color:inherit;padding:25px}.lr-video-play{cursor:pointer}.lr-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.lr-play-symbol{font-size:36px;width:80px;height:80px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;position:relative}.lr-video-label{font-family:var(--lagru-display);font-size:28px;position:relative}.lr-video-note{font-size:12px;color:#d3d1c9;position:relative}.lr-video-frame{width:100%;height:100%;border:0;position:absolute;inset:0}.elementor .lr-footer-col .elementor-widget-nav-menu{width:100%}.elementor-location-header .elementor-nav-menu--dropdown{background:var(--paper)}.elementor-location-header .elementor-nav-menu--dropdown .elementor-item{color:var(--ink);font-family:var(--body);padding:16px}.elementor-location-header .elementor-menu-toggle{background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:25px;padding:10px}
@media(max-width:1024px){.lr-navigation .elementor-nav-menu--main .elementor-item{font-size:12px;padding:12px 10px}.elementor .e-con.lr-footer-grid{gap:30px}.elementor .lr-wordmark{width:140px}}@media(max-width:767px){.elementor .e-con.lr-header{min-height:82px;padding:18px 0}.elementor .lr-wordmark{width:140px}.elementor .lr-wordmark .elementor-heading-title{font-size:35px}.elementor .e-con.lr-footer-grid{grid-template-columns:1fr;gap:35px}.elementor .lr-native-gallery .gallery{grid-template-columns:1fr;gap:16px}.lr-filter-form{padding:20px}.lr-filter-fields{flex-direction:column;align-items:stretch;gap:15px}.lr-filter-fields label{width:100%}.lr-filter-summary{flex-wrap:wrap}.elementor .lr-loop-card .elementor-widget-image img{height:auto;aspect-ratio:1.4}.lr-video-label{font-size:22px}.lr-play-symbol{width:55px;height:55px;font-size:26px}.lr-video-placeholder,.lr-video-play{gap:8px}.lr-breadcrumbs{font-size:11px}}

.elementor .e-con.lr-catalog-section{padding-top:24px;gap:12px}.lr-info-row:not(:has(.elementor-widget-text-editor:nth-child(2) p:not(:empty))):has(.elementor-widget-text-editor:nth-child(2) .elementor-widget-container:empty){display:none}

/* Single spettacolo — editorial image rail and compact masonry gallery. */
.elementor .e-con.detail-grid.has-inline-gallery{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);column-gap:clamp(42px,7vw,96px);row-gap:18px}
.elementor .detail-grid.has-inline-gallery>.detail-photo{grid-column:1;grid-row:1}
.elementor .detail-grid.has-inline-gallery>.detail-copy{grid-column:2;grid-row:1/span 2;position:sticky;top:28px}
.elementor .detail-grid.has-inline-gallery>.lr-gallery-section{grid-column:1;grid-row:2;width:100%;max-width:none!important;margin:0;padding:0!important;gap:12px}
.elementor .lr-gallery-section .section-title .elementor-heading-title{font-family:var(--body);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}
.elementor .lr-gallery-section .section-title .elementor-heading-title:before{content:'✳';color:var(--red);font-size:15px;margin-right:8px}
.elementor .lr-native-gallery .gallery{display:block;columns:2;column-gap:8px;margin:0}
.elementor .lr-native-gallery .gallery-item{display:inline-block;width:100%;max-width:none!important;margin:0 0 8px;padding:0;break-inside:avoid;vertical-align:top}
.elementor .lr-native-gallery .gallery-icon{overflow:hidden;border-radius:4px;background:#e7e3d8}
.elementor .lr-native-gallery .gallery-item:nth-child(6n+1) .gallery-icon,.elementor .lr-native-gallery .gallery-item:nth-child(6n+4) .gallery-icon{aspect-ratio:4/5}
.elementor .lr-native-gallery .gallery-item:nth-child(6n+2) .gallery-icon,.elementor .lr-native-gallery .gallery-item:nth-child(6n+5) .gallery-icon{aspect-ratio:4/3}
.elementor .lr-native-gallery .gallery-item:nth-child(6n+3) .gallery-icon,.elementor .lr-native-gallery .gallery-item:nth-child(6n) .gallery-icon{aspect-ratio:3/2}
.elementor .lr-native-gallery img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:4px;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s}
.elementor .lr-native-gallery a:hover img{transform:scale(1.025);filter:saturate(1.06)}
.elementor .lr-native-gallery a:focus-visible{display:block;outline:3px solid var(--red);outline-offset:3px}
@media(max-width:900px){.elementor .e-con.detail-grid.has-inline-gallery{grid-template-columns:1fr;gap:28px}.elementor .detail-grid.has-inline-gallery>.detail-photo{grid-column:1;grid-row:1}.elementor .detail-grid.has-inline-gallery>.detail-copy{grid-column:1;grid-row:2;position:static}.elementor .detail-grid.has-inline-gallery>.lr-gallery-section{grid-column:1;grid-row:3;margin-top:8px}.elementor .lr-native-gallery .gallery{columns:2;column-gap:6px}.elementor .lr-native-gallery .gallery-item{margin-bottom:6px}}
@media(max-width:420px){.elementor .e-con.detail-grid.has-inline-gallery{gap:24px}.elementor .detail-grid.has-inline-gallery>.lr-gallery-section{margin-top:2px}.elementor .lr-native-gallery .gallery{column-gap:5px}.elementor .lr-native-gallery .gallery-item{margin-bottom:5px}}

/* Robust layout enforcement to guarantee containers never stretch edge-to-edge or overlap */
body .elementor .e-con.wrap,body .e-con.wrap,body.wp-theme-lagru .elementor .e-con.wrap,body.elementor-page .elementor .e-con.wrap{width:100%!important;max-width:1296px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(18px,4.5vw,44px)!important;padding-right:clamp(18px,4.5vw,44px)!important;box-sizing:border-box!important}
body .elementor .e-con.feature-band,body .e-con.feature-band,body .elementor .e-con.contact-band,body .e-con.contact-band{padding-left:clamp(18px,5vw,50px)!important;padding-right:clamp(18px,5vw,50px)!important;box-sizing:border-box!important}
body .elementor .e-con.hero,body .e-con.hero{display:grid!important;grid-template-columns:1.05fr 1fr!important;gap:clamp(24px,4.5vw,56px)!important;padding-top:clamp(40px,6vw,70px)!important;padding-bottom:clamp(40px,6vw,70px)!important;align-items:center!important}
body .elementor .e-con.hero-copy,body .e-con.hero-copy{display:flex!important;flex-direction:column!important;gap:24px!important;position:relative!important;min-width:0!important;z-index:2!important}
body .elementor .e-con.hero-visual,body .e-con.hero-visual{display:flex!important;flex-direction:column!important;position:relative!important;gap:0!important;padding-top:14px!important;min-width:0!important}
body .elementor .hero-seal,body .hero-seal{position:absolute!important;top:-10px!important;right:-10px!important;width:108px!important;height:108px!important;border-radius:50%!important;background:var(--yellow)!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;transform:rotate(12deg)!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;z-index:5!important;padding:12px!important;box-shadow:0 4px 15px rgba(0,0,0,0.12)!important}
body .elementor .e-con.cards,body .e-con.cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important}
body .elementor .e-con.detail-grid,body .e-con.detail-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:clamp(24px,6vw,64px)!important;align-items:start!important}
body .elementor .e-con.path-grid,body .e-con.path-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
body .elementor .e-con.feature-inner,body .e-con.feature-inner{max-width:1296px!important;width:100%!important;margin:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8%!important;align-items:center!important}
body .elementor .e-con.contact-inner,body .e-con.contact-inner{max-width:1296px!important;width:100%!important;margin:auto!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:35px!important}
@media(max-width:767px){body .elementor .e-con.hero,body .e-con.hero,body .elementor .e-con.cards,body .e-con.cards,body .elementor .e-con.detail-grid,body .e-con.detail-grid,body .elementor .e-con.path-grid,body .e-con.path-grid,body .elementor .e-con.feature-inner,body .e-con.feature-inner{grid-template-columns:1fr!important;gap:24px!important}body .elementor .e-con.contact-inner,body .e-con.contact-inner{flex-direction:column!important;align-items:flex-start!important}body .elementor .hero-seal,body .hero-seal{top:0!important;right:0!important;width:82px!important;height:82px!important;font-size:11px!important;padding:8px!important}.elementor .hero-title .elementor-heading-title,.hero-title .elementor-heading-title{font-size:clamp(38px,10vw,54px)!important;line-height:1.02!important}.elementor .lead,.lead{max-width:100%!important}.elementor .hero-photo img{height:auto!important;max-height:380px!important;aspect-ratio:4/3!important}}

/* Keep the single-show editorial grid authoritative after the global safeguards above. */
body .elementor .e-con.detail-grid.has-inline-gallery{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;column-gap:clamp(42px,7vw,96px)!important;row-gap:18px!important}
body .elementor .detail-grid.has-inline-gallery>.e-con.lr-gallery-section{padding-left:0!important;padding-right:0!important;--padding-left:0px!important;--padding-right:0px!important}
@media(max-width:900px){body .elementor .e-con.detail-grid.has-inline-gallery{grid-template-columns:1fr!important;gap:28px!important}}

/* Scheda appuntamento — the practical information is the visual headline. */
