/*! =========================================================
 *  site.css — IAT Invito a Teatro
 *  File CSS consolidato: generato automaticamente.
 *  NON modificare direttamente — modificare i file sorgente.
 *  2026-05-07
 * ========================================================= */


/* ═══════════════════════════════════════════════════════════════
   1. WEBFONTS — MyFonts (AmerigoBT, TradeGothic)
   ═══════════════════════════════════════════════════════════════ */

/**
 * @license
 * MyFonts Webfont Build ID 3418670, 2017-07-10T06:42:02-0400
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: AmerigoBT-RomanA by Bitstream
 * URL: https://www.myfonts.com/fonts/bitstream/amerigo/amerigo/
 * Copyright: Copyright 1990-2003 Bitstream Inc. All rights reserved.
 * Licensed pageviews: 10,000
 * 
 * Webfont: AmerigoBT-ItalicA by Bitstream
 * URL: https://www.myfonts.com/fonts/bitstream/amerigo/italic/
 * Copyright: Copyright 1990-2003 Bitstream Inc. All rights reserved.
 * Licensed pageviews: 10,000
 * 
 * Webfont: AmerigoBT-MediumA by Bitstream
 * URL: https://www.myfonts.com/fonts/bitstream/amerigo/medium/
 * Copyright: Copyright 1990-2003 Bitstream Inc. All rights reserved.
 * Licensed pageviews: 10,000
 * 
 * Webfont: TradeGothicLT by Linotype
 * URL: https://www.myfonts.com/fonts/linotype/trade-gothic/trade-gothic-63882/
 * Copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted (c) 1989, 1992, 2003 Linotype Library GmbH, www.linotype.com. All rights reserved. This software is the property of Linotype Library GmbH, and 
 * Licensed pageviews: 250,000
 * 
 * Webfont: TradeGothicLT-Light by Linotype
 * URL: https://www.myfonts.com/fonts/linotype/trade-gothic/light-63882/
 * Copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted (c) 1989, 1992, 2003 Linotype Library GmbH, www.linotype.com. All rights reserved. This software is the property of Linotype Library GmbH, and 
 * Licensed pageviews: 250,000
 * 
 * Webfont: TradeGothicLT-Bold by Linotype
 * URL: https://www.myfonts.com/fonts/linotype/trade-gothic/bold-63882/
 * Copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted (c) 1989, 1992, 2003 Linotype Library GmbH, www.linotype.com. All rights reserved. This software is the property of Linotype Library GmbH, and 
 * Licensed pageviews: 250,000
 * 
 * 
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3418670
 * 
 * © 2017 MyFonts Inc
*/


/* @import must be at top of file, otherwise CSS will not work */

  
@font-face {font-family: 'AmerigoBT';font-weight: normal;font-style: normal;src: url('../fonts/webfonts/342A2E_0_0.eot');src: url('../fonts/webfonts/342A2E_0_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_0_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_0_0.woff') format('woff'),url('../fonts/webfonts/342A2E_0_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_0_0.svg') format('svg');}
 
  
@font-face {font-family: 'AmerigoBT';font-weight: normal;font-style: italic;src: url('../fonts/webfonts/342A2E_1_0.eot');src: url('../fonts/webfonts/342A2E_1_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_1_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_1_0.woff') format('woff'),url('../fonts/webfonts/342A2E_1_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_1_0.svg') format('svg');}
 
  
@font-face {font-family: 'AmerigoBT';font-weight: bold;font-style: normal;src: url('../fonts/webfonts/342A2E_2_0.eot');src: url('../fonts/webfonts/342A2E_2_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_2_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_2_0.woff') format('woff'),url('../fonts/webfonts/342A2E_2_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_2_0.svg') format('svg');}
 
  
@font-face {font-family: 'TradeGothic';font-weight: normal;font-style: normal;src: url('../fonts/webfonts/342A2E_3_0.eot');src: url('../fonts/webfonts/342A2E_3_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_3_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_3_0.woff') format('woff'),url('../fonts/webfonts/342A2E_3_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_3_0.svg') format('svg');}
 
  
@font-face {font-family: 'TradeGothicLT-Light';src: url('../fonts/webfonts/342A2E_4_0.eot');src: url('../fonts/webfonts/342A2E_4_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_4_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_4_0.woff') format('woff'),url('../fonts/webfonts/342A2E_4_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_4_0.svg') format('svg');}
 
  
@font-face {font-family: 'TradeGothic';font-weight: bold;font-style: normal;src: url('../fonts/webfonts/342A2E_5_0.eot');src: url('../fonts/webfonts/342A2E_5_0.eot') format('embedded-opentype'),url('../fonts/webfonts/342A2E_5_0.woff2') format('woff2'),url('../fonts/webfonts/342A2E_5_0.woff') format('woff'),url('../fonts/webfonts/342A2E_5_0.ttf') format('truetype'),url('../fonts/webfonts/342A2E_5_0.svg') format('svg');}


/* ═══════════════════════════════════════════════════════════════
   2. TEMA BASE — styles.css (orfani rimossi)
   ═══════════════════════════════════════════════════════════════ */

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{
font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{
margin:0}
footer,header,main,menu,nav,section{
display:block}
[hidden]{
display:none}
a{
background-color:transparent}
a:active,a:hover{
outline:0}
b,strong{
font-weight:700}
h1{
font-size:2em;margin:.67em 0}
small{
font-size:80%}
img{
border:0}
svg:not(:root){
overflow:hidden}
button{
color:inherit;font:inherit;margin:0}
button{
overflow:visible}
button{
text-transform:none}
button{
-webkit-appearance:button;cursor:pointer}
button[disabled]{
cursor:default}
button::-moz-focus-inner{
border:0;padding:0}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{
*,:after,:before{
background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}
a,a:visited{
text-decoration:underline}
a[href]:after{
content:" (" attr(href) ")"}
img{
page-break-inside:avoid}
img{
max-width:100%!important}
h2,h3,p{
orphans:3;widows:3}
h2,h3{
page-break-after:avoid}
}
*{
box-sizing:border-box}
:after,:before{
box-sizing:border-box}
html{
font-size:10px;-webkit-tap-highlight-color:transparent}
body{
font-family:TradeGothic,sans-serif;font-size:16px;line-height:1.5;color:#28475a;background-color:#fff}
button{
font-family:inherit;font-size:inherit;line-height:inherit}
a{
color:#ee3d44;text-decoration:none}
a:focus,a:hover{
color:#cd1219;text-decoration:underline}
a:focus{
outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
img{
vertical-align:middle}
[role=button]{
cursor:pointer}
.container{
margin-right:auto;margin-left:auto;padding-left:20px;padding-right:20px}
@media (min-width:768px){
.container{
width:760px}
}
@media (min-width:992px){
.container{
width:980px}
}
@media (min-width:1200px){
.container{
width:1180px}
}
.row{
margin-left:-20px;margin-right:-20px}
.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-8,.col-lg-9,.col-md-4,.col-md-8,.col-sm-4,.col-sm-8{
position:relative;min-height:1px;padding-left:20px;padding-right:20px}
@media (min-width:768px){
.col-sm-4,.col-sm-8{
float:left}
.col-sm-8{
width:66.66666667%}
.col-sm-4{
width:33.33333333%}
}
@media (min-width:992px){
.col-md-4,.col-md-8{
float:left}
.col-md-8{
width:66.66666667%}
.col-md-4{
width:33.33333333%}
}
@media (min-width:1200px){
.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-8,.col-lg-9{
float:left}
.col-lg-9{
width:75%}
.col-lg-8{
width:66.66666667%}
.col-lg-4{
width:33.33333333%}
.col-lg-3{
width:25%}
.col-lg-2{
width:16.66666667%}
}
.container:after,.container:before,.row:after,.row:before{
content:" ";display:table}
.container:after,.row:after{
clear:both}
.hide{
display:none!important}
.show{
display:block!important}
@-ms-viewport{
width:device-width}
@media (min-width:768px) and (max-width:991px){
.hidden-sm{
display:none!important}
}
button{
border-style:none}
.btn{
position:relative;text-transform:uppercase;padding-top:10px;padding-bottom:10px;font-weight:bolder;display:inline-block;letter-spacing:.1em;text-align:center;color:#231f20;width:230px;cursor:pointer;transition-property:background-color,color;transition-duration:75ms,75ms;transition-timing-function:cubic-bezier(.25,.46,.45,.94),cubic-bezier(.25,.46,.45,.94);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:transform3d(0,0,0)}
.btn span{
position:relative;z-index:2;display:block;transition:color .5s ease}
.btn:after{
content:" ";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#2c2c2c;border-color:#2c2c2c;transform:scaleX(0);transform-origin:0 0;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:transform3d(0,0,0);z-index:1}
.btn:hover{
text-decoration:none}
.btn:hover span{
color:#fff}
.btn:hover:before{
background-color:#fff}
.btn:hover:after{
transform:scaleX(1)}
.btn.disabled{
opacity:.3;pointer-events:none}
.btn-primary{
background-color:#fdb713;border-color:#fdb713;color:#231f20}
.btn-primary:hover{
color:#231f20}
.btn-primary:hover:before{
background-color:#fdb713}
.btn-yellow{
background-color:#fdb713;border-color:#fdb713;color:#231f20}
.btn-yellow:hover{
color:#fff}
.btn-yellow:hover:before{
background-color:#fdb713}
.btn-outline{
background-color:#fff;border-color:#fff;color:#231f20;border:2px solid #231f20}
.btn-outline:hover{
color:#fff}
.btn.emdash{
position:relative;padding-left:25px;padding-right:25px}
.btn.emdash:before{
position:absolute;left:-15px;transform:translateY(-50%);top:50%;margin-top:0;z-index:2;transition:background-color cubic-bezier(.25,.46,.45,.94) cubic-bezier(.25,.46,.45,.94);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:transform3d(0,0,0)}
@keyframes btn-strikethrough-over{
0%{
width:30px}
49%{
width:calc(100% + 30px);left:-15px}
51%{
width:calc(100% + 30px);left:auto;right:-15px}
100%{
width:30px;left:auto;right:-15px}
}
@keyframes btn-strikethrough-out{
100%{
width:30px}
51%{
width:calc(100% + 30px);left:-15px}
49%{
width:calc(100% + 30px);left:auto;right:-15px}
0%{
width:30px;left:auto;right:-15px}
}
:root{
--gutter-width:40px;--outer-margin:2rem;--gutter-compensation:calc((var(--gutter-width) * 0.5) * -1);--half-gutter-width:calc((var(--gutter-width) * 0.5));--xs-min:480px;--sm-min:768px;--md-min:992px;--lg-min:1200px;--screen-xs-min:var(--xs-min);--screen-sm-min:var(--sm-min);--screen-md-min:var(--md-min);--screen-lg-min:var(--lg-min);--container-sm:calc(var(--sm-min) + var(--gutter-width));--container-md:calc(var(--md-min) + var(--gutter-width));--container-lg:calc(var(--lg-min) + var(--gutter-width))}
@custom-media --sm-viewport only screen and (min-width: @screen-xs-min);@custom-media --sm-viewport only screen and (min-width: @screen-sm-min);@custom-media --md-viewport only screen and (min-width: @screen-md-min);@custom-media --lg-viewport only screen and (min-width: @screen-lg-min);.container{
margin-right:auto;margin-left:auto}
.flex-row{
box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:var(--gutter-compensation,-.5rem);margin-left:var(--gutter-compensation,-.5rem)}
[class*=" flex-col-"],[class^=flex-col-]{
-ms-flex:1;flex:1;padding-right:var(--half-gutter-width,.5rem);padding-left:var(--half-gutter-width,.5rem);-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}
.flex-col-12{
box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:var(--half-gutter-width,.5rem);padding-left:var(--half-gutter-width,.5rem)}
.flex-col-12{
-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}
.center{
-ms-flex-pack:center;justify-content:center;text-align:center}
.top{
-ms-flex-align:start;align-items:flex-start}
.bottom{
-ms-flex-align:end;align-items:flex-end}
.first{
-ms-flex-order:-1;order:-1}
@media only screen and (min-width:768px){
.flex-col-sm-6{
box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:var(--half-gutter-width,.5rem);padding-left:var(--half-gutter-width,.5rem)}
.flex-col-sm-6{
-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}
}
@media only screen and (min-width:992px){
.flex-col-md-3,.flex-col-md-6{
box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:var(--half-gutter-width,.5rem);padding-left:var(--half-gutter-width,.5rem)}
.flex-col-md-3{
-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}
.flex-col-md-6{
-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}
}
@media only screen and (min-width:768px){
.flex{
display:-ms-flexbox;display:flex}
}
a{
color:#231f20}
a:hover{
color:#231f20;text-decoration:underline}
.emdash{
color:#231f20;font-weight:bolder;font-size:16px;transition:color 75ms cubic-bezier(.25,.46,.45,.94)}
.emdash:hover{
color:#fdb713;text-decoration:none}
.emdash:before{
content:" ";background-color:#000;width:30px;display:inline-block;height:2px;vertical-align:middle;margin-right:5px;-webkit-backface-visibility:hidden;backface-visibility:hidden}
a.emdash{
cursor:pointer}
body{
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:TradeGothic,sans-serif;color:#231f20}
body,html{
height:100%}
.site-wrapper{
overflow:hidden}
.bg-light-blue{
background-color:#9ed8d4; }
.pr{
position:relative}
.cms a,.features-list-item-content a,.performance-item-content a{
transition:background-size .4s ease;background:linear-gradient(to bottom,transparent 62%,#f4e0e4 0) center center/0 75% no-repeat;color:rgba(255,0,0,.85);cursor:pointer;text-decoration:none}
.cms a:hover,.features-list-item-content a:hover,.performance-item-content a:hover{
background-size:100% 100%;text-decoration:none}
.cms a:active,.features-list-item-content a:active,.performance-item-content a:active{
background-size:80% 100%}
.flexi-modal{
position:fixed;top:100vh;left:0;width:100%;height:100vh;transform:translate(0,100%);z-index:998;overflow-x:hidden;overflow-y:auto}
.flexi-modal-close{
width:auto;font-size:36px;top:4px;right:32px;height:44px;line-height:44px;position:absolute;text-decoration:none;text-align:center;padding:0 0 18px 10px;color:#231f20;font-style:normal;font-family:Arial,Baskerville,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;outline:0!important;padding:0;z-index:10;box-shadow:none;-ms-touch-action:manipulation;touch-action:manipulation;opacity:0;transition:opacity .5s .6s linear}
@media only screen and (min-width:768px){
.flexi-modal-close{
top:10px}
}
.flexi-modal-close span{
font-size:13px;font-weight:700;color:#231f20;font-family:TradeGothic,sans-serif;position:absolute;right:28px;top:0;text-transform:uppercase}
.page-loader{
position:fixed;width:80px;height:80px;top:150%;left:50%;margin-top:200px;margin-left:-40px;background-color:rgba(255,255,255,.97);box-shadow:0 0 5px 0 rgba(0,0,0,.1);z-index:800;opacity:0;transform:translate(0,-60px);transition:transform .4s cubic-bezier(.075,.82,.165,1),opacity .3s linear}
.page-loader img{
position:absolute;width:38px;height:38px;top:50%;left:50%;margin-top:-19px;margin-left:-19px}
.page-loader.active{
opacity:1;top:50%;transform:translate(0,0);margin-top:-40px}
.page-breadcrumbs{
margin-top:30px}
.page-breadcrumbs ul{
list-style:none;margin:0;padding:0}
.page-breadcrumbs ul li{
display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.page-breadcrumbs ul li:before{
content:"/";margin-right:.5em}
.page-breadcrumbs ul li:first-child:before{
content:none}
.text-center{
text-align:center}
.mt-10{
margin-top:10px}
.mt-20{
margin-top:20px}
.block-sm{
display:inline}
@media (min-width:768px){
.block-sm{
display:block}
}
button::-moz-focus-inner{
padding:0;border:0}
@keyframes fadeOut{
0%{
opacity:1}
100%{
opacity:0}
}
/*! Flickity v2.0.10
http://flickity.metafizzy.co
---------------------------------------------- */

.footer{
background-color:#231f20;color:#bbb}
.footer .container{
max-width:1300px;width:100%}
.footer a{
color:#bbb}
.footer-pad{
padding:30px 0}
@media only screen and (min-width:768px){
.footer-pad{
padding:90px 30px}
}
.footer .flex{
-ms-flex-pack:justify;justify-content:space-between}
@media only screen and (min-width:768px){
.footer-col{
-ms-flex:1;flex:1;max-width:50%}
}
@media only screen and (min-width:992px){
.footer-col{
-ms-flex:1;flex:1;max-width:33.333%}
}
@media only screen and (min-width:768px){
.footer-col:last-child{
display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}
}
@media only screen and (min-width:768px){
.footer-col:last-child>div{
max-width:250px;-ms-flex:1;flex:1}
}
.footer-logo{
margin-bottom:20px}
@media only screen and (min-width:768px){
.footer-logo{
margin-bottom:50px}
}
.footer-logo img{
max-width:160px;width:100%;height:auto}
@media only screen and (min-width:768px){
.footer-logo img{
max-width:200px}
}
.footer-contact{
font-size:14px;margin-bottom:30px}
@media only screen and (min-width:768px){
.footer-contact{
margin-bottom:0}
}
.footer-navigation{
display:none}
@media only screen and (min-width:1200px){
.footer-navigation{
display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}
}
.footer-navigation ul{
margin:0;padding:0;padding-right:20px;display:inline-block;list-style:none;vertical-align:top}
.footer-navigation ul:last-child{
margin-right:0}
.footer-navigation ul li{
font-size:16px;margin-bottom:.6em}
@media only screen and (min-width:768px){
.footer-social-links{
max-width:250px}
}
.footer-social-links-heading{
margin-bottom:.6em;font-size:16px;display:inline-block;margin-right:10px}
@media only screen and (min-width:768px){
.footer-social-links-heading{
display:block;margin-right:0}
}
.footer-social-links ul{
list-style:none;margin:0;padding:0;display:inline-block}
.footer-social-links ul li{
display:inline-block;margin-right:.3em;font-size:16px;vertical-align:middle}
.footer-social-links ul li a svg{
width:1.3em;height:1.3em}
.footer-social-links ul li a svg circle,.footer-social-links ul li a svg path,.footer-social-links ul li a svg rect{
fill:#bbb}
.footer-copyright{
border-top:1px solid rgba(236,236,236,.3);font-size:13px}
.footer-copyright.footer-pad{
padding:30px 0}
@media only screen and (min-width:768px){
.footer-copyright.footer-pad{
padding:30px}
}
.full-width-page-heading{
font-size:42px;font-family:AmerigoBT,serif;background-color:#f1f1f1}
.full-width-page-heading.bg-light-blue{
background-color:#9ddad2}
.full-width-page-heading .container{
padding-top:30px;padding-bottom:30px}
.gallery-thumb-flick{
padding:60px 0;background-color:#ceede9;overflow:hidden}
.gallery-thumb-flick-inner{
position:relative;width:100%;padding:0 20px}
@media (min-width:1200px){
.gallery-thumb-flick-inner{
width:calc(100% - ((100% - 1180px)/ 2));margin-left:auto;margin-right:0}
}
.gallery-thumb-flick-heading{
display:none;position:absolute;left:0;top:50%;transform:translateY(-50%);font-family:AmerigoBT,serif;font-size:28px}
@media (min-width:480px){
.gallery-thumb-flick-heading{
display:block}
}
.gallery-thumb-flick-heading span{
transform:rotate(-90deg);display:block;margin-left:0}
@media only screen and (min-width:1400px){
.gallery-thumb-flick-heading span{
margin-left:-50px}
}
@media (min-width:480px){
.gallery-thumb-flick-items{
margin-left:50px}
}
@media only screen and (min-width:1400px){
.gallery-thumb-flick-items{
margin-left:0}
}
.gallery-thumb-flick-slide{
margin-right:20px;height:180px}
@media only screen and (min-width:768px){
.gallery-thumb-flick-slide{
height:210px}
}
@media only screen and (min-width:992px){
.gallery-thumb-flick-slide{
height:240px}
}
.gallery-thumb-flick-slide img{
cursor:pointer;display:block;width:auto;height:auto;max-height:100%}
.gallery-thumb-flick-slide .candc{
display:none}
.gallery-thumb-flick-captions{
position:absolute;left:0;bottom:-60px;padding:8px 20px;font-size:12px;height:60px;overflow:hidden;width:100%;text-overflow:ellipsis;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}
@media (min-width:480px){
.gallery-thumb-flick-captions{
margin-left:50px}
}
@media only screen and (min-width:1400px){
.gallery-thumb-flick-captions{
margin-left:0}
}
.gallery-thumb-flick-captions span{
display:inline}
.header{
position:fixed;top:0;width:100%;z-index:9;height:85px;transition:height 250ms ease,background-color .1s ease;background-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden}
@media only screen and (min-width:1200px){
.header{
height:150px}
}
.header .logo{
position:absolute;top:50%;left:0;width:140px;height:auto;margin:0 20px;transform:translateY(-50%);transition:width 250ms ease,height 250ms ease}
@media only screen and (min-width:1200px){
.header .logo{
width:220px;margin:0 50px}
}
.header .logo svg{
fill:#231f20}
.header.opaque{
background-color:#fff}
@media only screen and (min-width:992px){
.header.small{
height:85px}
}
@media only screen and (min-width:992px){
.header.small .logo{
width:140px}
}
.hero{
position:relative;height:50vh}
@media only screen and (min-width:768px){
.hero{
height:90vh}
}
.hero-bg{
position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background-position:center;background-repeat:no-repeat;background-size:cover;-o-object-fit:cover;object-fit:cover}
@media only screen and (min-width:768px){
.hero-bg--mobile{
display:none}
}
.hero-bg--mobile+.hero-bg{
display:none}
@media only screen and (min-width:768px){
.hero-bg--mobile+.hero-bg{
display:block}
}
.hero .container{
position:relative;max-width:590px}
.hero .container.full-width{
max-width:none}
.hero-bar{
padding:12px 0}
@media only screen and (min-width:768px){
.hero-bar{
display:none}
}
@media only screen and (min-width:768px){
.hero-bar-lg{
display:block;padding:13px 0 15px}
}
@media only screen and (min-width:768px){
.hero-bar-flex{
display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}
}
.hero-bar-flex-title{
font-family:AmerigoBT,serif;color:#fff;font-size:42px;line-height:1;margin-bottom:4px}
@media only screen and (min-width:768px){
.hero-bar-flex-title{
font-size:66px;padding-right:20px}
}
.hero-bar-flex-dates{
margin-bottom:0;color:#231f20;text-transform:uppercase;font-weight:bolder;letter-spacing:.1em;font-size:18px;letter-spacing:.2em;font-size:12px;color:#fff;white-space:nowrap;display:none}
@media only screen and (min-width:768px){
.hero-bar-flex-dates{
font-size:16px;text-align:right;margin-top:16px;display:block}
}
.hero-bar-flex-dates .emdash:before{
margin-top:-2px;border-top-width:1px;width:1.5em;background-color:#fff}
@media only screen and (min-width:768px){
.hero-bar-flex-dates .emdash:before{
width:2.5em}
}
.homepage-whats-on{
background-color:#f1f1f1;padding:0}
@media only screen and (min-width:768px){
.homepage-whats-on{
background-color:transparent;padding:60px 0}
}
.homepage-whats-on .container{
position:relative;padding-top:90px;padding-bottom:60px;margin-top:1px;max-width:480px}
@media only screen and (min-width:768px){
.homepage-whats-on .container{
padding-top:60px;max-width:none}
}
.homepage-whats-on-item-heading{
color:#231f20;text-transform:uppercase;font-weight:bolder;letter-spacing:.1em;font-size:18px;font-size:22px;margin-bottom:1.6em;display:inline-block}
.homepage-whats-on .offset-bg{
position:absolute;background-color:#f1f1f1;bottom:0;left:0;width:100vw;height:100%;z-index:-1;margin-left:100px}
.homepage-whats-on .events-list{
position:relative;background-color:#f1f1f1}
@media only screen and (min-width:768px){
.homepage-whats-on .events-list{
background-color:transparent;margin-bottom:70px}
}
.homepage-whats-on .events-list-item{
background-color:#fff;margin-bottom:20px}
@media only screen and (min-width:768px){
.homepage-whats-on .events-list-item{
height:100%;margin-bottom:0}
}
.homepage-whats-on .events-list-item-image{
display:block;background-repeat:no-repeat;background-size:cover;background-position:center;width:100%}
.homepage-whats-on .events-list-item-image:before{
content:" ";padding-bottom:52.78%;display:block}
.homepage-whats-on .events-list-item-content{
padding:30px}
.homepage-whats-on .events-list-item-heading{
font-family:AmerigoBT,serif;color:#231f20;font-size:25px;line-height:1.3;margin-bottom:.4em}
.homepage-whats-on .events-list-item-heading a{
color:#231f20}
.homepage-whats-on .events-list-item-more{
font-weight:bolder;font-size:16px}
.horizontal-cta .container{
padding-top:70px;padding-bottom:70px;position:relative;text-align:center}
@media only screen and (min-width:992px){
.horizontal-cta .container{
text-align:left}
}
.horizontal-cta-heading,.horizontal-cta-subheading{
display:block}
@media only screen and (min-width:992px){
.horizontal-cta-heading,.horizontal-cta-subheading{
display:inline-block;vertical-align:middle}
}
.horizontal-cta-heading{
font-family:AmerigoBT,serif;font-size:42px;color:#231f20;line-height:1.1;margin-bottom:.5em}
@media only screen and (min-width:992px){
.horizontal-cta-heading{
margin-bottom:0;margin-right:20px}
}
.horizontal-cta-subheading{
margin-bottom:30px}
@media only screen and (min-width:992px){
.horizontal-cta-subheading{
margin-bottom:0;text-align:left}
}
.horizontal-cta .btn{
display:inline-block}
@media only screen and (min-width:992px){
.horizontal-cta .btn{
position:absolute!important;right:0;top:50%;transform:translateY(-50%);margin-right:20px;margin-left:0}
}

.multi-cta .container{
max-width:900px;position:relative}
.multi-cta .container:after,.multi-cta .container:before{
content:" ";display:block;height:1px;border-top:0px solid #c7c7c7;width:100%;padding:35px 0}
.multi-cta .container:after{
border-top:none;border-bottom:0px solid #c7c7c7}
.multi-cta .container.full-width{
max-width:none}
.multi-cta-preamble{
text-transform:uppercase;color:#231f20;letter-spacing:.1em;font-size:14px;font-weight:bolder;margin-bottom:1em}
.multi-cta-heading{
font-family:AmerigoBT,serif;font-size:42px;margin-bottom:30px;line-height:1}
.multi-cta-subheading{
font-size:16px;max-width:600px;margin:0 auto;margin-bottom:60px}
.performance{
padding-top:30px;padding-bottom:60px}
@media only screen and (min-width:992px){
.performance{
padding-top:60px}
}
.performance-meta{
margin-bottom:50px;background-color:#f1f1f1;box-shadow:0 0 0 30px #f1f1f1}
@media only screen and (min-width:768px){
.performance-meta{
background-color:transparent;box-shadow:none;margin-bottom:30px}
}
@media only screen and (min-width:992px){
.performance-meta{
margin-bottom:0}
}
.performance-meta-content{
margin-bottom:30px}
@media only screen and (min-width:992px){
.performance-meta-content{
margin-bottom:24px}
}
.performance-item{
margin-bottom:30px}
@media only screen and (min-width:992px){
.performance-item{
margin-bottom:0}
}
.performance-item-heading{
font-family:AmerigoBT,serif;font-size:42px;color:#f05323;line-height:1.1;margin-bottom:30px}
.performance-item-content{
font-size:16px}
@media only screen and (min-width:768px){
.performance-media{
padding-left:20px}
}
.performance-media-heading{
font-weight:bolder;margin-bottom:10px}
.performance-media-item{
margin-bottom:20px}
.performance-media .btn{
width:100%}
.inpage{
position:-webkit-sticky;position:sticky;top:84px;color:#fff;background-color:#000;padding:12px 0;z-index:8}
@media only screen and (min-width:768px){
.inpage{
top:85px}
}
@media only screen and (min-width:992px){
.inpage{
padding:15px 0}
}
.inpage-menu{
display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}
.inpage-menu-button{
padding-left:18px}
.inpage-menu-button .btn{
white-space:nowrap}
@media (max-width:991px){
.inpage-menu-button .btn{
width:auto;padding:6px 10px;font-size:11px}
}

.burger-search{
position:absolute;right:20px;top:50%;margin-top:-11px;height:21px;width:50px;text-indent:-9999px;background-image:url('../../img/burger.png');background-repeat:no-repeat;background-position:0 0;z-index:1}
@media only screen and (min-width:992px){
.burger-search{
display:none}
}
header .orange-logo{
display:block}
header #logosvg{
display:none}
header.negate .orange-logo{
display:block}
header.negate #logosvg{
display:none}
header.opaque .orange-logo,header.opaque.negate .orange-logo{
display:none}
header.opaque #logosvg,header.opaque.negate #logosvg{
display:block}
header.opaque .primary-navigation ul li a.active,header.opaque .primary-navigation ul li a:hover,header.opaque.negate .primary-navigation ul li a.active,header.opaque.negate .primary-navigation ul li a:hover{
color:#fdb713}
header.opaque .primary-navigation nav ul li,header.opaque.negate .primary-navigation nav ul li{
color:#231f20}
header.opaque .primary-navigation nav ul li a,header.opaque.negate .primary-navigation nav ul li a{
color:#231f20}
header.opaque .primary-navigation nav ul li a.active,header.opaque .primary-navigation nav ul li a:hover,header.opaque.negate .primary-navigation nav ul li a.active,header.opaque.negate .primary-navigation nav ul li a:hover{
color:#fdb713}
@media only screen and (min-width:992px){
header.opaque .primary-navigation nav ul li.emdash:before,header.opaque.negate .primary-navigation nav ul li.emdash:before{
border-color:#231f20;background-color:#231f20}
}
header.opaque .burger-search,header.opaque.negate .burger-search{
background-position:left top}
@media only screen and (min-width:992px){
header.negate:not(.opaque) .primary-navigation nav ul li{
color:#fff}
}
@media only screen and (min-width:992px){
header.negate:not(.opaque) .primary-navigation nav ul li a{
color:#fff}
}
header.negate:not(.opaque) .primary-navigation nav ul li a.active,header.negate:not(.opaque) .primary-navigation nav ul li a:hover{
color:#ff0000}
header.negate:not(.opaque) .primary-navigation nav ul li.emdash:before{
border-color:#fff;background-color:#fff}
header.negate:not(.opaque) .logo svg{
fill:#fff}
header.negate:not(.opaque) .burger-search{
background-position:left bottom}
.whats-on-list{
padding:60px 0}
.whats-on-list.calview{
padding-top:10px}
.whats-on-list.calview .page-breadcrumbs{
margin-top:20px;margin-bottom:10px}
.whats-on-list .container{
max-width:480px}
@media only screen and (min-width:768px){
.whats-on-list .container{
max-width:100%}
}
.whats-on-list-filter-dropdown-selected,.whats-on-list-filter-view-toggle ul li{
color:#231f20;text-transform:uppercase;font-weight:bolder;letter-spacing:.1em;font-size:18px;font-size:16px}
@media only screen and (min-width:768px){
.whats-on-list-filter{
display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:30px 0}
}
.whats-on-list-filter>div{
margin-bottom:6px}
@media only screen and (min-width:768px){
.whats-on-list-filter>div{
margin-bottom:0}
}
.whats-on-list-filter-options ul{
list-style:none;margin:0;padding:0}
.whats-on-list-filter-options ul li{
display:inline-block}
.whats-on-list-filter-dropdown{
position:relative;padding:0 30px;background-color:#f1f1f1;margin-right:5px;margin-bottom:6px}
@media only screen and (min-width:768px){
.whats-on-list-filter-dropdown{
margin-bottom:0}
}
.whats-on-list-filter-dropdown>ul{
display:none;position:absolute;top:100%;min-width:100%;left:0;background-color:#9ed8d4;padding:10px;z-index:9}
.whats-on-list-filter-dropdown>ul li{
display:list-item;background-color:#9ed8d4}
.whats-on-list-filter-dropdown>ul li a{
color:#231f20;display:block;white-space:nowrap;padding:6px 10px 6px 20px}
.whats-on-list-filter-dropdown>ul li ul li{
white-space:nowrap;font-size:15px}
.whats-on-list-filter-dropdown>ul>li:nth-child(n+2){
padding-top:2px;margin-top:6px;border-top:1px solid rgba(35,31,32,.25)}
.whats-on-list-filter-dropdown-selected{
position:relative;padding:10px 0;cursor:pointer;font-size:15px;padding-right:15px}
.whats-on-list-filter-dropdown-selected:after{
content:"\f078";font-family:fontawesome;position:absolute;right:-10px;top:50%;transform:translate(0,-50%)}
.whats-on-list-filter-view-toggle ul{
list-style:none;padding:0;margin:0}
.whats-on-list-filter-view-toggle ul li{
display:inline-block;text-transform:uppercase;font-weight:bolder;position:relative;font-size:15px}
@media only screen and (min-width:768px){
.whats-on-list-filter-view-toggle ul li{
font-size:16px}
.whats-on-list-filter-view-toggle ul li:after{
content:" ";position:absolute;width:1px;height:80%;top:50%;transform:translateY(-50%);background-color:#d8d8d8;display:block;right:0}
.whats-on-list-filter-view-toggle ul li:last-child:after{
display:none}
}
.whats-on-list-filter-view-toggle ul li a{
color:#231f20;padding:10px 0;padding-left:6px;padding-right:6px;display:block;text-decoration:none;opacity:.5}
@media only screen and (min-width:768px){
.whats-on-list-filter-view-toggle ul li a{
padding-right:10px}
}
.whats-on-list-filter-view-toggle ul li a.active,.whats-on-list-filter-view-toggle ul li a:hover{
opacity:1}
.whats-on-list-items{
position:relative;border-top:1px solid #d8d8d8}
.whats-on-list-item{
border-bottom:1px solid #d8d8d8;padding:30px 30px}
.whats-on-list-item-text{
display:block;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}
@media only screen and (min-width:768px){
.whats-on-list-item-text{
display:-ms-flexbox;display:flex}
}
.whats-on-list-item-image{
position:relative;background-repeat:no-repeat;background-size:cover;background-position:center;-ms-flex-preferred-size:50%;flex-basis:50%;margin-right:30px;margin-bottom:30px;width:100%}
@media only screen and (min-width:768px){
.whats-on-list-item-image{
margin-left:-30px;margin-bottom:0}
}
.whats-on-list-item-image:before{
content:" ";display:block;width:100%;padding-bottom:60%}
.whats-on-list-item-image a{
position:absolute;left:0;top:0;width:100%;height:100%}
.whats-on-list-item-content{
-ms-flex-preferred-size:50%;flex-basis:50%;margin-bottom:30px}
@media only screen and (min-width:768px){
.whats-on-list-item-content{
margin-bottom:0;padding-right:25px}
}
.whats-on-list-item-category{
color:#231f20;text-transform:uppercase;font-weight:bolder;letter-spacing:.1em;font-size:18px}
.whats-on-list-item-heading{
font-family:AmerigoBT,serif;font-size:42px;color:#231f20;line-height:1.1;font-size:30px}
.whats-on-list-item-meta{
padding-top:5px;font-size:13px;color:#8e8083}
.whats-on-list-calendar{
border-top:1px solid #d8d8d8;padding-top:20px}
.video-thumb{
position:relative;background-color:#231f20;overflow:hidden}
.video-thumb:before{
content:" ";padding-top:66.5%;display:block}
.video-thumb-bg{
background-size:cover;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:1;transform:scale(1.1);transition:transform 1.25s ease,opacity 1.25s ease}
.video-thumb-play-button{
position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;background-image:url('../img/icon-play-button.png');background-repeat:no-repeat;background-position:center;width:67px;height:65px}
.video-thumb:hover .video-thumb-bg{
transform:scale(1);opacity:.5}
.video-thumb:hover .video-thumb-play-button{
opacity:1}


/* ═══════════════════════════════════════════════════════════════
   3. TYPEKIT + HERO CAROUSEL — cei3jio.css
   ═══════════════════════════════════════════════════════════════ */

/*
 * The Typekit service used to deliver this font or fonts for use on websites
 * is provided by Adobe and is subject to these Terms of Use
 * http://www.adobe.com/products/eulas/tou_typekit. For font license
 * information, see the list below.
 *
 * news-gothic-std:
 *   - http://typekit.com/eulas/00000000000000000001316b
 *   - http://typekit.com/eulas/00000000000000000001316d
 *
 * © 2009-2026 Adobe Systems Incorporated. All Rights Reserved.
 */
/*{"last_published":"2024-10-18 09:34:49 UTC"}*/

@font-face {
font-family:"news-gothic-std";
src:url('af/6fec89/00000000000000000001316b/27/l_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("woff2"),url('af/6fec89/00000000000000000001316b/27/d_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("woff"),url('af/6fec89/00000000000000000001316b/27/a_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}

@font-face {
font-family:"news-gothic-std";
src:url('af/a5a677/00000000000000000001316d/27/l_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("woff2"),url('af/a5a677/00000000000000000001316d/27/d_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("woff"),url('af/a5a677/00000000000000000001316d/27/a_primer_7cdcb44be4a7db8877ffa5c0007b8dd86') format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

/* ── Event card: stretched link + image scale on hover ──────────────────── */
.tickets__production {
    position: relative;
}
.tickets__card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.tickets__actions {
    position: relative;
    z-index: 2;
}
/* il clip dell'animazione scala è gestito da tickets__poster-media */
.tickets__poster-media {
    position: relative;
    overflow: hidden;
}
/* immagine assoluta: riempie sempre l'intero container anche quando cresce */
.tickets__poster-media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* oscuramento via filter: zero overlay, zero conflitti di z-index */
    transition: transform 0.45s ease, filter 0.45s ease;
}
.tickets__production:hover .tickets__poster-media img {
    transform: scale(1.04);
    filter: brightness(0.55);
}

.tickets__poster-media::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0;
    mix-blend-mode: hard-light;
    pointer-events: none;
    transition: opacity 0.45s ease;
}

.tickets__production:hover .tickets__poster-media::after {
    opacity: 1;
}

/* spacer: garantisce l'altezza base sotto il testo */
.tickets__poster-spacer {
    position: relative;
}
/* excerpt in-flow in cima — espande il container verso l'alto */
.tickets__excerpt-grid {
    position: relative;
    z-index: 3;
   /*  display: grid; */
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s ease;
}
.tickets__production:hover .tickets__excerpt-grid {
    grid-template-rows: 1fr;
}
.tickets__excerpt-inner {
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.45s ease;
}
.tickets__production:hover .tickets__excerpt-inner {
    opacity: 1;
}
.tickets__excerpt-inner p {
    color: #fff;
    padding: 24px 32px 20px;
    margin: 0;
    font-size: 1.6rem;
    font-style: italic;
    line-height: 1.65;
}

/* ── Hero carousel ──────────────────────────────────────────────────────────── */

/* Frecce */

/* Dots */


/* ═══════════════════════════════════════════════════════════════
   4. PERSONALIZZAZIONI IAT — custom.css
   ═══════════════════════════════════════════════════════════════ */

/* Visibile solo su desktop, nascosto su mobile */
.only-desktop {
    display: block !important;
}

/* Visibile solo su mobile, nascosto su desktop */
.only-mobile {
    display: none !important;
}

@media (max-width: 991px) {
    .only-desktop {
        display: none !important;
    }
    .only-mobile {
        display: block !important;
    }
}

/* ── Primary nav ─────────────────────────────────────────────────────────── */
/* Blocco autosufficiente: include le regole base di styles.min.css integrate
   con le personalizzazioni del progetto. Può funzionare senza le regole
   primary-navigation di styles.min.css.                                       */

/* Base: stato iniziale nascosto (flyout mobile) */
.primary-navigation {
    display: block;
    width: 100vw;
    height: 100vh;
    position: fixed;
    overflow: hidden;
    background-color: #fff;
    transform: translateX(100%);
    opacity: 0;
    z-index: 2;
    transition: opacity .5s linear;
}

.primary-navigation nav ul {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    opacity: 0;
    transform: translate(-100%, 0);
    transition: transform .8s .3s cubic-bezier(.075,.82,.165,1), opacity .5s .3s linear;
}

/* Flyout aperto (usato dal JS del tema su mobile) */

/* Voci nav */
.primary-navigation nav ul li,
.primary-navigation nav ul li a {
    color: #231f20;
}

.primary-navigation nav ul li {
    font-family: sans-serif;
    display: block;
    width: 100%;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    padding: 5px 20px;
    border-bottom: 1px solid #d8d8d8;
}

/* Link: icona + testo affiancati */
.primary-navigation nav ul li a {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
}

/* Hover e voce attiva */
.primary-navigation nav ul li a:hover,
.primary-navigation nav ul li a.active {
    color: #ff0000;
    text-decoration: none;
}

/* Voce corrente (classe aggiunta da $CMS->isSelected()) */
.primary-navigation nav ul li.selected a {
    color: #fdb713;
}

/* Colori header opaque */
header.opaque .primary-navigation nav ul li,
header.opaque.negate .primary-navigation nav ul li,
header.opaque .primary-navigation nav ul li a,
header.opaque.negate .primary-navigation nav ul li a {
    color: #231f20;
}
header.opaque .primary-navigation nav ul li a:hover,
header.opaque .primary-navigation nav ul li a.active,
header.opaque.negate .primary-navigation nav ul li a:hover,
header.opaque.negate .primary-navigation nav ul li a.active {
    color: #fdb713;
}


/* Desktop (≥767px): nav inline nell'header */
@media only screen and (min-width: 767px) {
    .primary-navigation {
        background-color: transparent;
        position: absolute;
        top: 50%;
        right: 0;
        height: auto;
        width: auto;
        text-align: right;
        margin: 0 30px;
        opacity: 1;
        transform: translateY(-50%);
        overflow: visible;
        transition: none;
    }
    .primary-navigation nav ul {
        position: static;
        width: auto;
        opacity: 1;
        transform: none;
        transition: none;
    }
    .primary-navigation nav ul li {
        padding: 0;
        width: auto;
        margin-left: 2em;
        display: inline-block;
        vertical-align: middle;
        font-size: 18px;
        border-bottom: none;
        
    }
    /* Header negate (home): voci bianche */
    header.negate:not(.opaque) .primary-navigation nav ul li,
    header.negate:not(.opaque) .primary-navigation nav ul li a {
        color: #fff;
        text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
    }
    header.negate:not(.opaque) .primary-navigation nav ul li a svg, header.negate:not(.opaque) #cms-burger {
        filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.7));
    }
    
    
    header.negate:not(.opaque) .primary-navigation nav ul li a:hover,
    header.negate:not(.opaque) .primary-navigation nav ul li a.active {
        color: #ff0000;
    }
    
}


/* Wide desktop (≥1200px) */
@media only screen and (min-width: 1200px) {
    .primary-navigation {
        margin: 0 50px;
    }
    .primary-navigation nav ul li {
        font-size: 22px;
        margin-left: 2em;
    }
}

/* Tablet (≤991px): nav inline nell'header anziché flyout */
@media (max-width: 991px) {
    .primary-navigation {
        background-color: transparent !important;
        position: absolute !important;
        top: 50% !important;
        right: 65px !important; /* spazio per il burger (22px + 28px + margine) */
        height: auto !important;
        width: auto !important;
        opacity: 1 !important;
        transform: translateY(-50%) !important;
        overflow: visible !important;
        transition: none !important;
    }
    .primary-navigation nav ul {
        position: static !important;
        width: auto !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .primary-navigation nav ul li {
        display: inline-block !important;
        width: auto !important;
        border-bottom: none !important;
        padding: 0 !important;
        font-size: 16px !important;
        margin-left: 1em !important;
    }
}

/* Mobile (≤767px): solo icone, niente testo */
@media (max-width: 767px) {
    .primary-navigation .nav-text {
        display: none !important;
    }
    .primary-navigation nav ul li {
        margin-left: 0.5em !important;
    }
    /* Colore icone: segue schema del burger */
    header.opaque .primary-navigation nav ul li a,
    header:not(.negate) .primary-navigation nav ul li a { color: #222; }
    header.negate:not(.opaque) .primary-navigation nav ul li a { color: #fff; }
    header.opaque.negate .primary-navigation nav ul li a { color: #222; }
    /* Dimensione icone */
    .primary-navigation nav ul li svg {
        width: 29px !important;
        height: 29px !important;
    }
    .primary-navigation nav ul li.ticket {
        margin-right: 8px !important;
    }
}
@media (min-width: 992px) {
  .primary-navigation nav ul li:last-child{
    margin-right: 55px;
  }
}

/* ── Sponsor bar — mobile ───────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .sponsor > div:first-child,
    .sponsor > div:last-child {
        display: none !important;
    }
    .sponsor > div:nth-child(2) {
        width: 100% !important;
        border-left: none !important;
        margin-left: 0 !important;
        display: flex !important;
        align-items: center;
        gap: 16px;
    }
    .sponsor > div:nth-child(2) img {
        height: 90px !important;
        width: auto !important;
        flex: 1 1 0;
        min-width: 0;
        object-fit: contain;
    }
}

/* h1 globale allineato al font di titolo del sito */
h1 {
    font-family: AmerigoBT, serif;
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 10px 0;
}

/* CLAUDE: .lead per testo carosello (Bootstrap 5 non carica CSS globale nel progetto) */
.lead {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.6;
}

/* CLAUDE: underlay scuro sfumato sotto l'header trasparente (home con classe negate) */
.header.negate:not(.opaque)::before {
    content: '';
    position: absolute;
    inset: 0 0 -60px 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, transparent 100%);
    pointer-events: none;
    z-index: -1;
}

 .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-8, .col-lg-9, .col-md-4, .col-md-8, .col-sm-4, .col-sm-8 {
    min-height: 0px !important;
}

.bg-light-blue{background-color:#E8E8EC !important; }


/* ── IAT Burger ── */
#cms-burger {
  display: none;
  position: absolute;
  right: 22px;
  top: 48%;
  transform: translateY(-50%);
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 19px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 0;
  
}
#cms-burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
header.opaque #cms-burger,
header:not(.negate) #cms-burger { color: #222; }
header.negate:not(.opaque) #cms-burger { color: #fff; }
header.opaque.negate #cms-burger { color: #222; }

/* Burger → X animation */
body.cms-nav-open #cms-burger span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
body.cms-nav-open #cms-burger span:nth-child(2) { opacity: 0; transform: scaleX(0); }
body.cms-nav-open #cms-burger span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }

#cms-burger { display: flex; }

/* ── Backdrop ── */
#cms-flyout-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
body.cms-nav-open #cms-flyout-backdrop {
  opacity: 1;
  pointer-events: all;
}

/* ── Flyout panel ── */
#cms-flyout {
  position: fixed;
  top: 0;
  right: 0;
  width: min(400px, 100vw);
  height: 100vh;
  background: #0e0e0e;
  z-index: 9999;
  transform: translateX(100%);
  transition: transform 0.42s cubic-bezier(0.4,0,0.2,1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 33px 44px 44px;
}
body.cms-nav-open #cms-flyout {
  transform: translateX(0);
}

/* Close button */
#cms-flyout-close {
  position: absolute;
  top: 22px;
  right: 22px;
  background: none;
  border: none;
  color: rgba(255,255,255,0.55);
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  padding: 6px;
  transition: color 0.2s;
}
#cms-flyout-close:hover { color: #fff; }

/* Nav list */
.cms-nav-items {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.cms-nav-item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.cms-nav-item > a,
.cms-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 0;
  color: #fff;
  text-decoration: none;
  font-family: AmerigoBT, Georgia, serif;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 0.01em;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: opacity 0.2s;
}
.cms-nav-item.selected a {  color:#fdb713; }
.cms-nav-item > a:hover,
.cms-nav-toggle:hover { /* opacity: 0.55; */ color:#ff0000; }


/* Arrow */
.cms-nav-arrow {
  width: 18px;
  height: 18px;
  position: relative;
  flex-shrink: 0;
  margin-left: 12px;
}
.cms-nav-arrow::before,
.cms-nav-arrow::after {
  content: "";
  position: absolute;
  background: rgba(255,255,255,0.6);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.cms-nav-arrow::before { width: 2px; height: 10px; top: 4px; left: 8px; }
.cms-nav-arrow::after  { width: 10px; height: 2px; top: 8px; left: 4px; }
.cms-nav-item.cms-open .cms-nav-arrow::before { opacity: 0; transform: rotate(90deg); }

/* Submenu */
.cms-nav-sub {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}
.cms-nav-item.cms-open .cms-nav-sub {
  max-height: 800px;
}
.cms-nav-sub li {
  padding: 0;
}
.cms-nav-sub li a {
  display: block;
  padding: 7px 0;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.cms-nav-sub li:last-child { padding-bottom: 14px; }
.cms-nav-sub li a:hover { color: #fff; }

/* ── Logo switch ── */
header:not(.negate) .orange-logo,
header.negate.opaque .orange-logo        { display: none !important; }
header:not(.negate) #logosvg,
header.negate.opaque #logosvg            { display: block !important; }
header.negate:not(.opaque) #logosvg      { display: none !important; }
header.negate:not(.opaque) .orange-logo  { display: block !important; }

/* Footer contact */
.cms-nav-contact {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.3);
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: 0.03em;
}
.cms-nav-contact a { color: rgba(255,255,255,0.3); text-decoration: none; }
.cms-nav-contact a:hover { color: rgba(255,255,255,0.7); }

.cms-nav-item > a, .cms-nav-toggle { 
  font-family: Helvetica Neue !important;
  font-size: 24px !important;
  font-weight: bold !important;
}
.cms-nav-item { border-bottom: 0px !important; }
.header:not(.negate){ background-color:#fff; }

@media (max-width: 767px) {
  .page-title { padding-left:30px; }
}

/* teatri.php — loghi su fondo grigio chiarissimo, ridotti e in modalità moltiplica */
.container.NEW .whats-on-list-item-image {
    background-color: #E8E8EC;
    background-size: 65%;
    background-blend-mode: multiply;
}


/* ═══════════════════════════════════════════════════════════════
   5. EVENTI E TEATRO — events.css
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   1. Sezione .tickets — contenitore e componenti base
   ═══════════════════════════════════════════════════════════════ */

.tickets {
    /* font-family: news-gothic-std, sans-serif; */
    padding: 20px 0 40px;
}
@media only screen and (min-width: 768px) {
    .tickets {
        padding: 75px 0 150px;
    }
}

.tickets__body {
    padding: 0 7.5% 7.5% 7.5%;
}

/* ── Singola produzione ── */
.tickets__production {
    color: #fff;
    margin-bottom: 10px;
}
.tickets__production--black {
    color: #000;
}

/* ── Griglia produzioni (base tema) ── */
.tickets__productions {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media only screen and (min-width: 768px) {
    .tickets__productions {
        -ms-grid-columns: calc(50% - 15px) calc(50% - 15px);
        grid-template-columns: calc(50% - 15px) calc(50% - 15px);
        gap: 30px;
    }
}

.tickets__productions-col {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}
@media only screen and (min-width: 768px) {
    .tickets__productions-col {
        max-width: 526px;
        gap: 75px;
    }
}
.tickets__productions-col:nth-child(2) {
    display: none;
}
@media only screen and (min-width: 768px) {
    .tickets__productions-col:nth-child(2) {
        margin-top: 250px;
        justify-self: end;
        display: -ms-flexbox;
        display: flex;
    }
}

/* ── Copy e azioni ── */

.tickets__actions {
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-family: TradeGothic, sans-serif;
    height: 48px;
}

/* ── Poster ── */
.tickets__poster {
    position: relative;
}
.tickets__poster img {
    width: 100%;
}
.tickets__poster-media {
    min-height: 260px;
}
.tickets__poster-spacer {
    height: 80px;
}
@media (max-width: 767px) {
    .tickets__poster-media {
        min-height: 250px;
    }
    .tickets__poster-spacer {
        height: 70px;
    }
}

/* ── Testi e metadata ── */
.tickets__title {
    font-family: AmerigoBT, serif;
    font-size: 45px;
    font-weight: 400;
    margin: 0 0 10px 0;
    transform: translateY(-25px);
    line-height: 1;
}
.tickets__haze {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 67px;
}
.tickets__dates {
    margin: 0;
    letter-spacing: 1.8px;
}
.tickets__stage {
    margin: 0;
    font-weight: 400;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

/* ── Action buttons ── */
.tickets__action {
    height: 100%;
    width: 50%;
    max-width: 230px;
}
.tickets__action--primary {
    background-color: transparent;
    color: #fff;
    border: 2px solid #fff;
}
.tickets__production--black .tickets__action--primary {
    color: #231f20;
    border: 2px solid #231f20;
}
.tickets__action--secondary {
    color: #231f20;
}

/* ═══════════════════════════════════════════════════════════════
   2. Griglia home — #cms-productions (home.php)
   ═══════════════════════════════════════════════════════════════ */

#cms-productions {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
}
#cms-productions > .tickets__productions-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    max-width: none !important;
    margin-top: 0 !important;
    justify-self: auto !important;
    width: 100% !important;
}
@media only screen and (max-width: 767px) {
    #cms-productions {
        grid-template-columns: 1fr !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   3. Pannello eventi calendario — #cal-events-panel
   ═══════════════════════════════════════════════════════════════ */

#cal-events-panel .tickets__title {
    font-size: 35px;
    margin: revert;
}

/* ═══════════════════════════════════════════════════════════════
   4. Card orizzontale evento — .event-cal-small (calendario.php)
   ═══════════════════════════════════════════════════════════════ */

.event-cal-small {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    height: 180px;
    margin-bottom: 15px;
}
.event-cal-small .tickets__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    margin: 0 !important;
    white-space: nowrap;
}
.event-cal-small .tickets__actions .tickets__action {
    min-width: 150px;
    text-align: center;
}

.tickets__excerpt-inner p {
   font-size: 20px;
   
   
}

/* .th_1 .tickets__haze { background: linear-gradient(0deg, #fdb714 19.4%, rgba(0,0,0,0) 100%) }
.th_2 .tickets__haze { background: linear-gradient(0deg, #34b5b0 19.4%, rgba(0,0,0,0) 100%) }
.th_3 .tickets__haze { background: linear-gradient(0deg, #7b3f6e 19.4%, rgba(0,0,0,0) 100%) }
.th_4 .tickets__haze { background: linear-gradient(0deg, #2e6b4f 19.4%, rgba(0,0,0,0) 100%) }
.th_5 .tickets__haze { background: linear-gradient(0deg, #8e5222 19.4%, rgba(0,0,0,0) 100%) }
.th_6 .tickets__haze { background: linear-gradient(0deg, #f7941e 19.4%, rgba(0,0,0,0) 100%) } */

/* ═══════════════════════════════════════════════════════════════
   5. Colori per teatro — linea superiore 3px
      ID → colore primario del teatro (da iat_teatri)
   ═══════════════════════════════════════════════════════════════ */

  /*  COLORI TESSERE 2b6194
   e30613
   f18900
   5b9551
   fcc000
   3fb7ab */

.th_1  .tickets__poster-media::after { background: linear-gradient(180deg, #fdb714 19.4%, rgba(0,0,0,0) 100%) } /* L=0.575 */
   .th_2  .tickets__poster-media::after { background: linear-gradient(180deg, #34b5b0 40%,   rgba(0,0,0,0) 100%) } /* L=0.400 */
   .th_3  .tickets__poster-media::after { background: linear-gradient(180deg, #7b3f6e 79%,   rgba(0,0,0,0) 100%) } /* L=0.106 */
   .th_4  .tickets__poster-media::after { background: linear-gradient(180deg, #1a5276 80%,   rgba(0,0,0,0) 100%) } /* L=0.096 ✓ */
   .th_5  .tickets__poster-media::after { background: linear-gradient(180deg, #8e5222 74%,   rgba(0,0,0,0) 100%) } /* L=0.142 */
   .th_6  .tickets__poster-media::after { background: linear-gradient(180deg, #1a5276 80%,   rgba(0,0,0,0) 100%) } /* L=0.096 */
   .th_7  .tickets__poster-media::after { background: linear-gradient(180deg, #8e5222 74%,   rgba(0,0,0,0) 100%) } /* L=0.142 */
   .th_8  .tickets__poster-media::after { background: linear-gradient(180deg, #4a235a 85%,   rgba(0,0,0,0) 100%) } /* L=0.048 */
   .th_9  .tickets__poster-media::after { background: linear-gradient(180deg, #6e2f1a 83%,   rgba(0,0,0,0) 100%) } /* L=0.068 */
   .th_10 .tickets__poster-media::after { background: linear-gradient(180deg, #1abc9c 40%,   rgba(0,0,0,0) 100%) } /* L=0.411 */
   .th_11 .tickets__poster-media::after { background: linear-gradient(180deg, #2c3e50 85%,   rgba(0,0,0,0) 100%) } /* L=0.059 */
   .th_12 .tickets__poster-media::after { background: linear-gradient(180deg, #717d7e 64%,   rgba(0,0,0,0) 100%) } /* L=0.222 */
   .th_13 .tickets__poster-media::after { background: linear-gradient(180deg, #d81b60 70%,   rgba(0,0,0,0) 100%) } /* L=0.173 */
   .th_14 .tickets__poster-media::after { background: linear-gradient(180deg, #1e8449 67%,   rgba(0,0,0,0) 100%) } /* L=0.198 */
   .th_15 .tickets__poster-media::after { background: linear-gradient(180deg, #5b2c6f 84%,   rgba(0,0,0,0) 100%) } /* L=0.067 */
   .th_16 .tickets__poster-media::after { background: linear-gradient(180deg, #e74c3c 61%,   rgba(0,0,0,0) 100%) } /* L=0.244 */
   .th_17 .tickets__poster-media::after { background: linear-gradient(180deg, #21618c 76%,   rgba(0,0,0,0) 100%) } /* L=0.128 */ /* L=0.575 */

/* Stato normale — qui va la transition */
   /* .th_1 {
     transition: background-color 0.3s ease;
   }
   
   .th_1 .tickets__haze {
     transition: background 0.3s ease;
   }
    */
   /* Hover — invariato */
   /* .th_1:hover {
     background-color: #fdb714 !important;
   }
   
   .th_1:hover .tickets__haze {
     background: linear-gradient(0deg, #fdb714 19.4%, rgba(0,0,0,0) 100%) !important;
   } */

/* LINEA TOP
.theatre   { border-top: 10px solid;  } 
.th_1   { border-color: #fdb714;   } 
.th_2  { border-color: #34b5b0; } 
.th_3  { border-color: #7b3f6e; } 
.th_4  { border-color: #2e6b4f; } 
.th_5  { border-color: #8e5222; } 
.th_6  { border-color: #f7941e; } 
.th_7  { border-color: #1a5276; } 
.th_8  { border-color: #4a235a; } 
.th_9  { border-color: #6e2f1a; } 
.th_10  { border-color: #1abc9c; } 
.th_11  { border-color: #2c3e50; } 
.th_12  { border-color: #717d7e; } 
.th_13  { border-color: #d81b60; } 
.th_14  { border-color: #1e8449; } 
.th_15  { border-color: #5b2c6f; }
.th_16  { border-color: #e74c3c; } 
.th_17  { border-color: #21618c; } 
*/

/*  CORNICE
.theatre img  { border: 10px solid;  } 
.th_1 img  { border-left-color: #fdb714; border-top-color: #fdb714; border-right-color: #fdb714;  } 
.th_2 img { border-left-color: #34b5b0; } 
.th_3 img { border-left-color: #7b3f6e; } 
.th_4 img { border-left-color: #2e6b4f; } 
.th_5 img { border-left-color: #8e5222; } 
.th_6 img { border-left-color: #ff0000; border-top-color: #ff0000; border-right-color: #ff0000; } 
.th_7 img { border-left-color: #1a5276; } 
.th_8 img { border-left-color: #4a235a; } 
.th_9 img { border-left-color: #6e2f1a; } 
.th_10 img { border-left-color: #1abc9c; } 
.th_11 img { border-left-color: #2c3e50; } 
.th_12 img { border-left-color: rgb(86, 120, 179); border-top-color: rgb(86, 120, 179); border-right-color: rgb(86, 120, 179); } 
.th_13 img { border-left-color: #d81b60; } 
.th_14 img { border-left-color: #1e8449; } 
.th_15 img { border-left-color: #5b2c6f; } 
.th_16 img { border-left-color: #e74c3c; } 
.th_17 img { border-left-color: #21618c; }  */


/* ═══════════════════════════════════════════════════════════════
   6. MAPPE LEAFLET — leaflet.css
   ═══════════════════════════════════════════════════════════════ */

/* required styles */
/* Prevents IE11 from highlighting tiles in blue */
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
/* hack that prevents hw layers "stretching" when loading new tiles */
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */


/* control positioning */


/* zoom and fade animations */


/* cursors */

/* marker & overlays interactivity */

/* visual tweaks */


/* general typography */


/* general toolbar styles */

/* zoom control */


/* layers control */

/* Default icon URLs */


/* attribution and scale controls */


/* popup */


/* div icon */


/* Tooltip */
/* Base styles for the element that has a tooltip */

/* Directions */

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	}


/* ═══════════════════════════════════════════════════════════════
   7. FOOTER SPONSOR — da footer.php (inline \3c style>)
   ═══════════════════════════════════════════════════════════════ */

.sponsor img {
  filter:brightness(0) invert(1);opacity:0.75;
}


/* ═══════════════════════════════════════════════════════════════
   8. CALENDARIO — da calendario.php (inline \3c style>)
   ═══════════════════════════════════════════════════════════════ */

.fxcal{
position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start;padding-bottom:1px}
@media only screen and (min-width:992px){
.fxcal{
padding-bottom:2px}
}
.fxcal-hdr{
-ms-flex:0 0 14.2856%;flex:0 0 14.2856%;max-width:14.2856%;text-align:center;font-family:AmerigoBT,serif;padding-bottom:10px}
@media only screen and (min-width:1200px){
.fxcal-hdr{
font-size:18px}
}
.fxcal-hdr span{
display:none}
@media only screen and (min-width:992px){
.fxcal-hdr span{
display:inline}
}
.fxcal-day{
-ms-flex:0 0 14.2856%;flex:0 0 14.2856%;max-width:14.2856%;padding:1px;cursor:pointer}
@media only screen and (min-width:992px){
.fxcal-day{
position:relative;z-index:1;cursor:default}
}
.fxcal-day-in{
position:static;padding:16px 5px;text-align:center;color:#231f20;background-color:#e2f3f2}
@media only screen and (min-width:768px){
.fxcal-day-in{
padding:21px 5px}
}
@media only screen and (min-width:992px){
.fxcal-day-in{
position:relative;padding:0;padding-top:110%;text-align:left;z-index:1}
}
.fxcal-day-in .day{
font-size:17px;font-weight:bolder}
@media only screen and (min-width:992px){
.fxcal-day-in .day{
position:absolute;top:4px;right:10px;z-index:5}
}
.fxcal-day-in .events{
display:none;position:absolute;text-align:left;line-height:1.3;top:0;left:0;width:100%;min-height:100%;padding:15px;background-color:#e2f3f2;z-index:2;box-shadow:0 0 5px 0 rgba(0,0,0,.1)}
@media only screen and (min-width:768px){
.fxcal-day-in .events{
top:5%;left:4%;width:92%;min-height:90%}
}
@media only screen and (min-width:992px){
.fxcal-day-in .events{
display:block;position:absolute;top:0;left:0;width:100%;height:100%;padding:10px;z-index:1;overflow:hidden;box-shadow:none}
}
.fxcal-day-in .events a{
display:block;margin-top:10px}
.fxcal-day-in.outofmonth{
color:#a69b9e;background-color:#f1f1f1}
.fxcal-day-in.outofmonth .events{
background-color:#f1f1f1}
.fxcal-day-in.outofmonth .events a{
color:#8e8083}
.fxcal-day.active{
z-index:99;cursor:default}
.fxcal-day.active .fxcal-day-in{
z-index:99}
.fxcal-day.active .fxcal-day-in .events{
display:block}
@media only screen and (min-width:992px){
.fxcal-day.active .fxcal-day-in .events{
width:120%;left:-10%;top:-5%;height:auto;min-height:110%;padding-bottom:20px;background-color:#9ed8d4;box-shadow:0 0 5px 0 rgba(0,0,0,.1);z-index:99}
}
@media only screen and (min-width:992px){
.fxcal-day.active .fxcal-day-in.outofmonth .events{
background-color:#f1f1f1}
}
@media (max-width:991px){
.fxcal-day.hasevents .fxcal-day-in{
    color:#000;background-color:#dfdcdc; }
}
@media (max-width:991px){
.fxcal-day.hasevents .fxcal-day-in.outofmonth{
color:#231f20;background-color:#ccc}
}

/* ── Popup eventi: nascosto a tutti i breakpoint ── */
.fxcal-day-in .events,
.fxcal-day.active .fxcal-day-in .events { display: none !important; }

/* ── Pallino rosso — tutti i breakpoint ── */
.fxcal-day.hasevents { cursor: pointer; }
.fxcal-day.hasevents .fxcal-day-in::after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #d0021b;
    margin: 4px auto 0;
}
.fxcal-day .fxcal-day-in::after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin: 4px auto 0;
}

/* ── Desktop (992px+): layout griglia mobile nascosta ── */
@media only screen and (min-width: 992px) {
    #fxcalendar { padding-bottom: 1px; }
    .fxcal-hdr span { display: none; }
    .fxcal-hdr { font-size: inherit; }
    .fxcal-day { position: relative; cursor: default; z-index: auto; }
    .fxcal-day.hasevents { cursor: pointer; }
    .fxcal-day-in { position: static; padding: 10px 5px; text-align: center; background-color: #fbf4f4; }
    .fxcal-day-in.outofmonth { background-color: #ffffff; }
    .fxcal-day-in .day { position: static; top: auto; right: auto; }
    .fxcal-day.hasevents .fxcal-day-in { color: #fff; background-color: #dfdcdc; }
    .fxcal-day.hasevents .fxcal-day-in.outofmonth { color: #231f20; background-color: #ccc; }
}

/* ── Oggi ── */
.fxcal-day.cal-today .fxcal-day-in {
    font-weight: bold;
    background-color: #fdb713 !important;
    color: #231f20 !important;
}

/* ── Giorno selezionato ── */
.fxcal-day.cal-active .fxcal-day-in {
    outline: 3px solid #231f20;
    outline-offset: -3px;
}

/* ── Pannello eventi ── */
#cal-events-panel {
    display: none;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 2px solid #7ac9c4;
}
.ecs-loading {
    padding: 24px 0;
    text-align: center;
    color: #888;
    font-size: 14px;
}

/* ── Frecce navigazione mese ── */
.whats-on-list-filter-options > ul > li {
    display: flex;
    align-items: center;
}
.cal-month-arrow {
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    color: inherit;
    text-decoration: none;
    font-size: 14px;
    flex-shrink: 0;
}
.cal-month-arrow:hover { opacity: .6; }

/* ── Layout filtri mobile: options a sx, toggle a dx ── */
.cal-only-mobile .whats-on-list-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ── Visibilità responsive ── */
.cal-only-desktop { display: none; }
.cal-only-mobile  { display: block; }
@media only screen and (min-width: 992px) {
    .cal-only-desktop { display: block; }
    .cal-only-mobile  { display: none; }
}

/* ── Striscia desktop ─────────────────────────────────────────────────────── */
.cal-strip-wrap {
    padding: 24px 0 8px;
}
.cal-strip-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}
.cal-strip-nav .cal-month-arrow {
    padding: 0 8px;
    font-size: 13px;
}
.cal-strip-month-label {
    font-size: 15px;
    font-weight: 700;
    min-width: 130px;
    text-align: center;
    letter-spacing: .02em;
}
.cal-strip-days {
    display: flex;
    gap: 3px;
    overflow-x: auto;
    padding-bottom: 6px;
    /* nasconde scrollbar visivamente ma mantiene funzionalità */
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
}
.cal-strip-days::-webkit-scrollbar { height: 4px; }
.cal-strip-days::-webkit-scrollbar-thumb { background: #ccc; border-radius: 2px; }

.fxcal-strip-day {
    flex: 0 0 44px;
    width: 44px;
    height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fbf4f4;
    cursor: default;
    gap: 3px;
    user-select: none;
    transition: opacity .15s;
}
.fxcal-strip-day.hasevents {
    background: #dfdcdc;
    color: #000;
    cursor: pointer;
}
.fxcal-strip-day.hasevents:hover { opacity: .8; }
.fxcal-strip-day.cal-today {
    background: #fdb713 !important;
    color: #fff !important;
    font-weight: bold;
}
.fxcal-strip-day.cal-active {
    outline: 3px solid #231f20;
    outline-offset: -3px;
}
.fxcal-strip-num {
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}
.fxcal-strip-dow {
    font-size: 10px;
    text-transform: uppercase;
    line-height: 1;
    opacity: .7;
}
.fxcal-strip-day.hasevents .fxcal-strip-dow,
.fxcal-strip-day.cal-today .fxcal-strip-dow { opacity: 1; }


/* ═══════════════════════════════════════════════════════════════
   9. HERO RESPONSIVE — stili statici da "teaser CARDS.php"
      (solo le parti statiche; le parti dinamiche restano inline)
   ═══════════════════════════════════════════════════════════════ */

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont_v_4_7_0.eot');src:url('../fonts/fontawesome-webfont.eot') format('embedded-opentype'),url('../fonts/fontawesome-webfont_v_4_7_0.woff2') format('woff2'),url('../fonts/fontawesome-webfont_v_4_7_0.woff') format('woff'),url('../fonts/fontawesome-webfont_v_4_7_0.ttf') format('truetype'),url('../fonts/fontawesome-webfont_v_4_7_0.svg') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-phone:before{content:"\f095"}

.cms-page { margin-top: 150px; }
.cms-page#home, .cms-page#spettacoli { margin-top: 0px; }
.cms-page { min-height:60vh }
