/*!
 * MISHOW Core — design system "Stars & Stripes" (proposta C).
 * Dark di default; chiaro con :root[data-theme="light"].
 * Sezioni: 1 token · 2 base · 3 utility per il kit Elementor · 4 reset componenti · 5 componenti · 6 WooCommerce · 7 motion
 */

/* 0. FONT in locale (OFL, subset latin): nessuna richiesta a Google Fonts. */
@font-face{font-family:"Graduate";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/graduate-400.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-condensed-600.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-condensed-700.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-800.woff2") format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:200 1000;font-display:swap;src:url("../fonts/nunito-sans-var.woff2") format("woff2")}

/* =========================================================
   1. TOKENS
   ========================================================= */
:root{
  --paper:#061229; --surface:#0C1D3D; --surface-2:#11264D; --surface-3:#173062;
  --ink:#EEF3FC; --ink-2:#CBD6EC; --muted:#93A5C8; --line:#1F3766; --line-2:#2A467C;
  --red:#FF2E52; --red-ink:#FF5672; --red-soft:#3A1024;
  --royal:#5B9BF0; --royal-soft:#13305E;
  --parquet:#D9B07C; --parquet-2:#2B2418;
  --panel:#03102A; --panel-2:#0A1E45; --on-panel:#FFFFFF; --on-panel-2:#9FB2D8;
  --ok:#3CC985; --ok-soft:#0E2E22; --warn:#F2A93B; --warn-soft:#33250D;
  --stripe:rgba(91,155,240,.07); --stripe-strong:rgba(91,155,240,.12);
  --wm-filter:invert(1) hue-rotate(180deg);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -10px rgba(0,0,0,.6);
  --shadow-lg:0 2px 4px rgba(0,0,0,.3), 0 24px 48px -18px rgba(0,0,0,.7);
  --radius:14px; --radius-sm:9px;
  --f-display:"Graduate", "Rockwell", Georgia, serif;
  --f-cond:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --f-body:"Nunito Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --tricolor:linear-gradient(90deg,var(--red) 0 33.3%,#dfe6f3 33.3% 66.6%,#0057B8 66.6%);
  --star-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.6 7.2.9-5.3 5 1.4 7.1L12 17.9l-6.4 3.5L7 14.3l-5.3-5 7.2-.9z'/%3E%3C/svg%3E");
  color-scheme:dark;
}
:root[data-theme="light"]{
  --paper:#F5F7FB; --surface:#FFFFFF; --surface-2:#EDF1F8; --surface-3:#E3E9F4;
  --ink:#0B2D6B; --ink-2:#2B3F68; --muted:#5B6B8C; --line:#D5DDEB; --line-2:#C3CEE2;
  --red:#E4002B; --red-ink:#C80026; --red-soft:#FDE6EA;
  --royal:#0057B8; --royal-soft:#E3EEFB;
  --parquet:#E9C79A; --parquet-2:#F4E3CB;
  --panel:#0B2D6B; --panel-2:#123B85; --on-panel:#FFFFFF; --on-panel-2:#B9C8E6;
  --ok:#0E8A52; --ok-soft:#E1F4EA; --warn:#B86A00; --warn-soft:#FFF1DA;
  --stripe:rgba(0,87,184,.075); --stripe-strong:rgba(11,45,107,.12);
  --wm-filter:none;
  --shadow:0 1px 2px rgba(11,45,107,.06), 0 8px 24px -10px rgba(11,45,107,.18);
  --shadow-lg:0 2px 4px rgba(11,45,107,.06), 0 24px 48px -18px rgba(11,45,107,.32);
  --tricolor:linear-gradient(90deg,var(--red) 0 33.3%,#fff 33.3% 66.6%,#0057B8 66.6%);
  color-scheme:light;
}

/* Colori globali Elementor rimappati sui token: i widget seguono il tema. */
body[class*="elementor-kit-"]{
  --e-global-color-primary:var(--ink);
  --e-global-color-secondary:var(--royal);
  --e-global-color-text:var(--ink-2);
  --e-global-color-accent:var(--red);
  --e-global-color-mshpaper:var(--paper);
  --e-global-color-mshsurface:var(--surface);
  --e-global-color-mshpanel:var(--panel);
  --e-global-color-mshmuted:var(--muted);
  --e-global-color-mshline:var(--line);
  --e-global-color-mshwhite:#fff;
}

/* =========================================================
   2. BASE
   ========================================================= */
html body{background-color:var(--paper)!important;color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased}
[class*="elementor-location-"]{background-color:var(--paper)!important}
html{-webkit-text-size-adjust:100%}
body.msh-site{overflow-x:clip}
body a{color:var(--royal)}
body a:hover{color:var(--red)}
::selection{background:var(--red);color:#fff}
.msh-site h1,.msh-site h2,.msh-site h3,.msh-site h4,.msh-site h5,.msh-site h6{color:var(--ink)}

/* Tema Hello Elementor senza header/footer Pro (fallback) */
.msh-site .site-header .site-title a,.msh-site .site-header .site-navigation a{color:var(--ink)}
.msh-site .site-header .site-description,.msh-site .site-footer{color:var(--muted)}
.msh-site .site-navigation-toggle-holder .site-navigation-toggle{color:var(--ink);background:var(--surface-2);border-color:var(--line-2)}
.msh-site .site-navigation-dropdown ul.menu li a{background:var(--surface);color:var(--ink)}
.msh-site .site-navigation-dropdown ul.menu li.current-menu-item a{background:var(--surface-2);color:var(--ink)}
.msh-site .page-header .entry-title{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.005em;color:var(--ink)}

/* Single tappa con fallback (contenuto generato dal plugin) */
body.msh-tappa-fallback #content.site-main,body.msh-tappa-fallback .site-main{max-width:none!important;width:100%;padding:0!important;margin:0}
body.msh-tappa-fallback .site-main > .page-content{margin:0;padding:0}
body.msh-tappa-fallback .post-tags,body.msh-tappa-fallback #comments{max-width:1220px;margin-inline:auto;padding-inline:24px}

/* =========================================================
   3. UTILITY PER IL KIT ELEMENTOR
   Le classi vanno su container (e-con / section) o sul widget.
   ========================================================= */
.msh-wrap:not(.e-con):not(.elementor-section){max-width:1220px;margin-inline:auto;padding-inline:24px}
.e-con.msh-wrap{--content-width:1220px;--container-max-width:1220px;--padding-left:24px;--padding-right:24px}
.e-con.msh-wrap.e-con-full{max-width:1220px;margin-inline:auto}
.elementor-section.msh-wrap > .elementor-container{max-width:1220px}
@media (max-width:560px){
  .msh-wrap:not(.e-con):not(.elementor-section){padding-inline:16px}
  .e-con.msh-wrap{--padding-left:16px;--padding-right:16px}
}

.msh-sec{--padding-top:clamp(56px,7vw,96px);--padding-bottom:clamp(56px,7vw,96px)}
.msh-sec:not(.e-con){padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.msh-alt{background-color:var(--surface)}
.e-con.msh-alt,.elementor-section.msh-alt{background-color:var(--surface)}
.msh-pinstripe{background-image:repeating-linear-gradient(90deg,transparent 0 26px,var(--stripe) 26px 28px)}

.msh-panel{
  background-color:var(--panel)!important;
  background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.045) 22px 24px);
  color:var(--on-panel-2);
  --e-global-color-primary:#fff; --e-global-color-text:var(--on-panel-2); --e-global-color-mshmuted:var(--on-panel-2);
  --e-global-color-secondary:#8FBAF5; --e-global-color-accent:#FF5A75;
}
.e-con.msh-panel{--border-radius:24px;border-radius:24px}
.msh-panel h1,.msh-panel h2,.msh-panel h3,.msh-panel h4,.msh-panel .elementor-heading-title{color:#fff}
.msh-panel p{color:var(--on-panel-2)}
:root:not([data-theme="light"]) .msh-panel{box-shadow:inset 0 0 0 1px var(--line-2)}

.msh-stripe-bottom{border-style:solid!important;border-width:0 0 7px 0!important;border-image:var(--tricolor) 1!important}
.msh-stripe-top{border-style:solid!important;border-width:7px 0 0 0!important;border-image:var(--tricolor) 1!important}

.msh-hero-overlay{position:relative;isolation:isolate;color:#fff;
  --e-global-color-primary:#fff; --e-global-color-text:#D3DDF1; --e-global-color-mshmuted:#D3DDF1; --e-global-color-accent:#FF7088}
.msh-hero-overlay::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(6,22,56,.94) 0%,rgba(8,30,74,.78) 45%,rgba(8,30,74,.25) 100%)}
@media (max-width:760px){.msh-hero-overlay::after{background:linear-gradient(180deg,rgba(6,22,56,.72) 0%,rgba(8,30,74,.9) 100%)}}
.msh-hero-overlay h1,.msh-hero-overlay h2,.msh-hero-overlay .elementor-heading-title{color:#fff}
.msh-hero-overlay p{color:#D3DDF1}

/* Tipografia */
.msh-eyebrow:not(.elementor-widget),
.elementor-widget.msh-eyebrow .elementor-heading-title,
.elementor-widget.msh-eyebrow .elementor-widget-container > p{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:15px;line-height:1.2;
  letter-spacing:.14em;text-transform:uppercase;color:var(--red)
}
.msh-eyebrow:not(.elementor-widget):not(:has(svg))::before,.elementor-widget.msh-eyebrow .elementor-heading-title::before{content:"";width:12px;height:12px;flex:none;background:currentColor;-webkit-mask:var(--star-url) center/contain no-repeat;mask:var(--star-url) center/contain no-repeat}
.msh-panel .msh-eyebrow,.msh-panel .msh-eyebrow .elementor-heading-title{color:#FF6A82}
.msh-hero-overlay .msh-eyebrow,.msh-hero-overlay .msh-eyebrow .elementor-heading-title{color:#FF7088}
.msh-eyebrow .msh-star{width:12px;height:12px;fill:currentColor}

.msh-display:not(.elementor-widget),.elementor-widget.msh-display .elementor-heading-title{font-family:var(--f-display);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:1}
.msh-h2:not(.elementor-widget),.elementor-widget.msh-h2 .elementor-heading-title{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.6vw,56px);letter-spacing:.005em;line-height:1}
.msh-lead:not(.elementor-widget),.elementor-widget.msh-lead,.elementor-widget.msh-lead p{font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--ink-2);max-width:62ch}
.msh-panel .msh-lead,.msh-panel .msh-lead p{color:var(--on-panel-2)}

/* Bottoni (widget button di Elementor o markup del plugin) */
:is(.msh-btn,.msh-btn-ghost,.msh-btn-blue,.msh-btn-navy,.msh-btn-ghost-light):not(.elementor-widget),
body .elementor-widget:is(.msh-btn,.msh-btn-ghost,.msh-btn-blue,.msh-btn-navy,.msh-btn-ghost-light) .elementor-button{
  --bg:var(--red);--fg:#fff;--bd:var(--bg);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;
  border:2px solid var(--bd);background:var(--bg);color:var(--fg);font-family:var(--f-cond);font-weight:700;font-size:18px;line-height:1;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s, color .15s, border-color .15s
}
:is(.msh-btn-blue):not(.elementor-widget),body .elementor-widget.msh-btn-blue .elementor-button{--bg:var(--royal)}
:is(.msh-btn-navy):not(.elementor-widget),body .elementor-widget.msh-btn-navy .elementor-button{--bg:var(--ink);--fg:var(--paper)}
:is(.msh-btn-ghost):not(.elementor-widget),body .elementor-widget.msh-btn-ghost .elementor-button{--bg:transparent;--fg:var(--ink);--bd:var(--line-2)}
:is(.msh-btn-ghost-light):not(.elementor-widget),body .elementor-widget.msh-btn-ghost-light .elementor-button{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.45)}
:is(.msh-btn,.msh-btn-blue,.msh-btn-navy):not(.elementor-widget):is(:hover,:focus-visible),
body .elementor-widget:is(.msh-btn,.msh-btn-blue,.msh-btn-navy) .elementor-button:is(:hover,:focus-visible){background:var(--bg);color:var(--fg);transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--bg)}
:is(.msh-btn-ghost):not(.elementor-widget):is(:hover,:focus-visible),body .elementor-widget.msh-btn-ghost .elementor-button:is(:hover,:focus-visible){background:transparent;color:var(--ink);border-color:var(--ink)}
:is(.msh-btn-ghost-light):not(.elementor-widget):is(:hover,:focus-visible),body .elementor-widget.msh-btn-ghost-light .elementor-button:is(:hover,:focus-visible){background:transparent;color:#fff;border-color:#fff}
body .elementor-widget:is(.msh-btn,.msh-btn-ghost,.msh-btn-blue,.msh-btn-navy,.msh-btn-ghost-light) .elementor-button .elementor-button-text{color:inherit}
.msh-btn.msh-btn-ghost:not(.elementor-widget){--bg:transparent;--fg:var(--ink);--bd:var(--line-2)}
.msh-btn.msh-btn-ghost-light:not(.elementor-widget){--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.45)}
.msh-btn.msh-btn-navy:not(.elementor-widget){--bg:var(--ink);--fg:var(--paper);--bd:var(--ink)}
.msh-btn.msh-btn-blue:not(.elementor-widget){--bg:var(--royal);--bd:var(--royal)}
.msh-btn.msh-btn-ghost:not(.elementor-widget):is(:hover,:focus-visible){background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none}
.msh-btn.msh-btn-ghost-light:not(.elementor-widget):is(:hover,:focus-visible){background:transparent;color:#fff;border-color:#fff;box-shadow:none}
.msh-btn-sm:not(.elementor-widget){min-height:40px;padding:0 16px;font-size:16px}
.msh-btn-block:not(.elementor-widget){width:100%}
.msh-btn[disabled],.msh-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.msh-btn .msh-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Card, figurina, badge */
.msh-card:not(.e-con){background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,30px);box-shadow:var(--shadow)}
.e-con.msh-card{background-color:var(--surface);border:1px solid var(--line);--border-radius:var(--radius);border-radius:var(--radius);box-shadow:var(--shadow);--padding-top:clamp(20px,3vw,30px);--padding-bottom:clamp(20px,3vw,30px);--padding-left:clamp(20px,3vw,30px);--padding-right:clamp(20px,3vw,30px)}

.msh-figurina img,img.msh-figurina{background:var(--surface);padding:10px 10px 10px;border-radius:12px;box-shadow:var(--shadow-lg);transition:transform .3s ease}
.msh-figurina .widget-image-caption,.msh-figurina figcaption{margin-top:-4px;padding:8px 4px 0;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-style:normal;color:var(--ink)}
.msh-tilt-l img,img.msh-tilt-l{transform:rotate(-3deg)}
.msh-tilt-r img,img.msh-tilt-r{transform:rotate(3deg)}
.msh-figurina:hover img,img.msh-figurina:hover{transform:rotate(0) translateY(-6px)}
/* 0.11.1 · Collage dell'hero (home): ogni didascalia sta nella zona libera accanto alla sua foto.
   Foto 1 (prima figurina, in basso a sinistra): testo a SINISTRA, entro il bordo sinistro della foto 3.
   Foto 2 (l'unica inclinata a destra): testo a DESTRA, oltre il bollino rosso. Foto 3: resta centrata.
   Le misure seguono la disposizione del kit: foto 1 larga 60%, foto 2 50%, foto 3 a destra 4% e larga 60%,
   bollino a sinistra 44% (40% su telefono). Testo lungo: va a capo, al massimo due righe, poi i puntini. */
.msh-collage .msh-figurina .widget-image-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.25;padding-bottom:1px;transform-origin:50% 0;transition:transform .3s ease}
/* la didascalia segue l'inclinazione della sua foto: allineata a un lato non finisce sotto l'angolo che scende */
.msh-collage .msh-tilt-l .widget-image-caption{transform:rotate(-3deg)}
.msh-collage .msh-tilt-r .widget-image-caption{transform:rotate(3deg)}
.msh-collage .msh-figurina:hover .widget-image-caption{transform:translateY(-6px)}
.msh-collage .msh-figurina.msh-tilt-l:first-child .widget-image-caption{text-align:left;max-width:calc(60% - 16px);margin-right:auto}
.msh-collage .msh-figurina.msh-tilt-r .widget-image-caption{text-align:right;max-width:calc(112% - 152px);margin-left:auto}
@media (min-width:768px) and (max-width:1024px){
  /* tablet: collage alto come su desktop, così la foto 3 non sale sopra la didascalia della foto 2 */
  .msh-collage.e-con{--min-height:580px!important;min-height:580px}
}
@media (max-width:767px){
  /* telefono: un po' più di altezza e testo più piccolo; il bollino qui è largo 104px e parte dal 40% */
  .msh-collage.e-con{--min-height:384px!important;min-height:384px}
  .msh-collage .msh-figurina .widget-image-caption{font-size:12px;letter-spacing:.04em;padding-left:2px;padding-right:2px}
  .msh-collage .msh-figurina.msh-tilt-l:first-child .widget-image-caption{max-width:calc(66.6% - 20px)}
  .msh-collage .msh-figurina.msh-tilt-r .widget-image-caption{max-width:calc(120% - 106px)}
}

.msh-badge-round{width:118px!important;height:118px;max-width:118px;flex:none;border-radius:50%;background:var(--red)!important;color:#fff;display:grid;place-items:center;text-align:center;
  transform:rotate(-12deg);box-shadow:0 10px 24px -8px rgba(228,0,43,.6);border:4px solid #fff;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;line-height:.95;font-size:17px;letter-spacing:.04em;padding:8px;
  --e-global-color-primary:#fff;--e-global-color-text:#fff}
.msh-badge-round .elementor-heading-title,.msh-badge-round p{color:#fff!important;font-family:var(--f-cond);font-weight:800;line-height:.95;margin:0}
@media (max-width:560px){.msh-badge-round{width:88px!important;height:88px;max-width:88px;font-size:13px}}

.msh-wm img,img.msh-wm{filter:var(--wm-filter)}

.msh-chip:not(.elementor-widget),.elementor-widget.msh-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;line-height:1.3;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;font-family:var(--f-body)}
.elementor-widget.msh-chip{width:auto;max-width:max-content}
.msh-chip-red{background:var(--red-soft)!important;color:var(--red-ink)!important}
.msh-chip-ok{background:var(--ok-soft)!important;color:var(--ok)!important}
.msh-chip-warn{background:var(--warn-soft)!important;color:var(--warn)!important}
.msh-chip-blue{background:var(--royal-soft)!important;color:var(--royal)!important}

.msh-phase:not(.elementor-widget),.msh-draft:not(.elementor-widget),.elementor-widget:is(.msh-phase,.msh-draft){
  display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px dashed var(--line-2);border-radius:999px;font-family:var(--f-cond);font-weight:700;font-size:14px;line-height:1.2;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface);white-space:nowrap
}
.elementor-widget:is(.msh-phase,.msh-draft){width:auto;max-width:max-content}
.msh-phase::before,.msh-draft::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--parquet);flex:none}
.msh-draft::before{background:var(--warn)}
.msh-phase i{display:none}
.elementor-widget:is(.msh-chip,.msh-phase,.msh-draft) :is(.elementor-heading-title,p){font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;line-height:inherit}
.msh-panel :is(.msh-phase,.msh-draft),.msh-hero-overlay :is(.msh-phase,.msh-draft){background:transparent;color:#D3DDF1;border-color:rgba(255,255,255,.4)}
.msh-alt .msh-phase{background:var(--paper)}

.msh-sr,.msh .msh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
.msh-star{width:1em;height:1em;fill:currentColor;flex:none;display:inline-block;vertical-align:-.1em}

/* =========================================================
   4. RESET COMPONENTI (radice .msh) — neutralizza reset tema/kit
   ========================================================= */
.msh{font-family:var(--f-body);color:var(--ink);font-size:16px;line-height:1.6;text-align:left}
.msh *,.msh *::before,.msh *::after{box-sizing:border-box}
.msh :is(h1,h2,h3,h4,h5,h6){margin:0;line-height:1.08;color:var(--ink);font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.005em}
.msh p{margin:0}
.msh img{max-width:100%;height:auto;display:block;border:0;border-radius:0;box-shadow:none}
.msh ul,.msh ol{margin:0;padding:0}
.msh :is(button,[type=button],[type=submit]){-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:0;color:inherit;padding:0;margin:0;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;text-align:inherit;white-space:normal;box-shadow:none;transition:none;user-select:auto;width:auto;min-height:0}
.msh :is(button,[type=button],[type=submit]):is(:hover,:focus){background-color:transparent;color:inherit;text-decoration:none}
.msh a{text-decoration:none}
.msh :focus-visible{outline:3px solid var(--royal);outline-offset:2px;border-radius:6px;box-shadow:none}
.msh svg.msh-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.msh .msh-muted{color:var(--muted)}
.msh .msh-fine{color:var(--muted);font-size:13.5px;margin-top:22px}
.msh .msh-mb{margin-bottom:16px}
.msh .msh-mb-s{margin-bottom:12px}
.msh .msh-mt{margin-top:18px}
.msh .msh-btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msh .msh-h-cond{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;line-height:1;font-size:clamp(30px,3.4vw,42px);margin:8px 0 12px}
.msh .msh-h-md{font-size:clamp(30px,3.4vw,44px);margin:8px 0 22px}
.msh .msh-display{font-family:var(--f-display);font-weight:400;text-transform:uppercase;line-height:1;color:var(--ink)}
.msh .msh-link{color:var(--royal);font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}
.msh .msh-link:hover{color:var(--red)}
.msh .msh-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--surface-2);padding:2px 7px;border-radius:6px;color:var(--royal);font-weight:700}
.msh .msh-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.msh-empty-note{padding:18px 20px;border:1.5px dashed var(--line-2);border-radius:12px;color:var(--muted);background:var(--surface)}

/* Bottoni dentro i componenti: specificità sopra il reset */
.msh .msh-btn{--bg:var(--red);--fg:#fff;--bd:var(--bg);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:2px solid var(--bd);background:var(--bg);color:var(--fg);font-family:var(--f-cond);font-weight:700;font-size:18px;line-height:1;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center;white-space:nowrap;transition:transform .15s ease, box-shadow .15s ease, background-color .15s, color .15s, border-color .15s}
.msh .msh-btn:focus{background:var(--bg);color:var(--fg);border-color:var(--bd)}
.msh .msh-btn:is(:hover,:focus-visible){background:var(--bg);color:var(--fg);transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--bg)}
.msh .msh-btn.msh-btn-navy{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink)}
.msh .msh-btn.msh-btn-blue{--bg:var(--royal);--bd:var(--royal)}
.msh .msh-btn.msh-btn-ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line-2)}
.msh .msh-btn.msh-btn-ghost:is(:hover,:focus-visible){border-color:var(--ink);box-shadow:none}
.msh .msh-btn.msh-btn-ghost-light{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.45)}
.msh .msh-btn.msh-btn-sm{min-height:40px;padding:0 16px;font-size:16px}
.msh .msh-btn.msh-btn-block{width:100%}
.msh .msh-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.msh .msh-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;line-height:1.3;background:var(--surface-2);color:var(--ink-2);white-space:nowrap;font-family:var(--f-body);text-transform:none}
.msh .msh-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:15px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.msh .msh-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,30px)}
.msh .msh-card h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:26px;margin-bottom:6px}

/* Form */
.msh .msh-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.msh .msh-field > label,.msh .msh-lbl{display:block;font-size:14px;font-weight:800;color:var(--ink-2);line-height:1.3}
.msh .msh-opt{font-weight:600;color:var(--muted)}
.msh .msh-in:not(#msh){width:100%;min-height:48px;padding:10px 14px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.4;box-shadow:none;transition:border-color .15s, box-shadow .15s;margin:0}
.msh textarea.msh-in:not(#msh){min-height:120px;resize:vertical}
.msh select.msh-in:not(#msh){-webkit-appearance:none;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393A5C8' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.msh .msh-in:not(#msh):focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 4px color-mix(in srgb,var(--royal) 20%,transparent)}
.msh .msh-in::placeholder{color:var(--muted);opacity:.85}
.msh .msh-code-input:not(#msh){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.msh .msh-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.msh .msh-span-2{grid-column:1/-1}
@media (max-width:640px){.msh .msh-grid-2{grid-template-columns:1fr}}
.msh .msh-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--ink-2);cursor:pointer;font-weight:600}
.msh .msh-check input{width:20px;height:20px;accent-color:var(--red);margin:1px 0 0;flex:none}
.msh .msh-file-drop{position:relative;border:2px dashed var(--line-2);border-radius:12px;padding:18px;text-align:center;color:var(--muted);font-size:14.5px;line-height:1.4;background:var(--surface-2);cursor:pointer;display:block}
.msh .msh-file-drop:hover,.msh .msh-file-drop:focus-within{border-color:var(--royal);color:var(--ink)}
.msh .msh-file-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.msh .msh-file-drop b{color:var(--royal)}
.msh .msh-inline-form{display:flex;gap:10px;flex-wrap:wrap}
.msh .msh-inline-form .msh-in{flex:1 1 220px;width:auto}
.msh .msh-ok-box{display:flex;gap:14px;align-items:flex-start;background:var(--ok-soft);border:1.5px solid var(--ok);border-radius:12px;padding:16px 18px;color:var(--ink);margin-bottom:20px;line-height:1.45}
.msh .msh-ok-box .ic{width:34px;height:34px;flex:none;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-weight:800}
.msh .msh-err-box{background:var(--red-soft);border:1.5px solid var(--red);color:var(--ink);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-weight:700;font-size:15px}
.msh .msh-note-bar{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:14.5px;line-height:1.5;border-left:4px solid var(--warn)}
.msh .msh-note-bar.blue{background:var(--royal-soft);border-left-color:var(--royal)}
.msh .msh-note-bar .msh-star{color:var(--royal);margin-top:4px}

/* Segmented, filtri, stepper */
.msh .msh-seg{display:inline-flex;padding:4px;background:var(--surface-2);border-radius:999px;gap:2px;flex-wrap:wrap}
.msh .msh-seg button{padding:9px 16px;border-radius:999px;font-weight:800;font-size:14.5px;line-height:1.2;cursor:pointer;color:var(--ink-2);font-family:var(--f-body)}
.msh .msh-seg button:hover{color:var(--ink);background:transparent}
.msh .msh-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(11,45,107,.2)}
.msh .msh-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.msh .msh-filters button{border:1.5px solid var(--line-2);background:var(--surface);border-radius:999px;padding:9px 18px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:16px;line-height:1.1;cursor:pointer;color:var(--ink-2)}
.msh .msh-filters button:is(:hover,:focus){border-color:var(--ink);color:var(--ink);background:var(--surface)}
.msh .msh-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.msh .msh-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line-2);border-radius:999px;background:var(--surface);overflow:hidden;flex:none}
.msh .msh-stepper button{width:40px;height:40px;font-size:20px;font-weight:700;line-height:1;cursor:pointer;color:var(--ink);text-align:center;display:grid;place-items:center}
.msh .msh-stepper button:hover{background:var(--surface-2);color:var(--red)}
.msh .msh-stepper button:disabled{opacity:.35;cursor:not-allowed;background:transparent;color:var(--ink)}
.msh .msh-stepper output{min-width:34px;text-align:center;font-weight:800;font-size:17px}

/* =========================================================
   5. COMPONENTI
   ========================================================= */

/* --- Brand & header actions & tema --- */
.msh.msh-brand{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap;font-size:13px;line-height:1.3;color:var(--on-panel-2);min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.msh.msh-brand b{color:#fff;font-family:var(--f-cond);font-size:16px;letter-spacing:.2em;font-weight:800}
.msh.msh-brand .msh-brand-long{overflow:hidden;text-overflow:ellipsis}
.msh.msh-brand.msh-brand-ink{color:var(--muted)}
.msh.msh-brand.msh-brand-ink b{color:var(--ink)}
@media (max-width:700px){.msh.msh-brand .msh-brand-long{display:none}}

.msh.msh-header-actions{display:flex;align-items:center;gap:6px;flex:none;justify-content:flex-end}
.msh .msh-icon-btn{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink);cursor:pointer;text-decoration:none;flex:none}
.msh .msh-icon-btn:is(:hover,:focus-visible){background:var(--surface-2);color:var(--ink)}
.msh .msh-icon-btn .msh-ic{width:22px;height:22px}
.msh .msh-cart-count{position:absolute;top:3px;right:1px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:800;line-height:1;display:grid;place-items:center;border:2px solid var(--surface)}
.msh .msh-cart-count[data-n="0"]{background:var(--muted)}
.msh .msh-h-cta{margin-left:6px}
@media (max-width:560px){.msh .msh-h-cta{display:none}.msh.msh-header-actions{gap:2px}}
.msh .msh-theme-toggle .ic-moon{display:none}
:root[data-theme="light"] .msh .msh-theme-toggle .ic-moon{display:block}
:root[data-theme="light"] .msh .msh-theme-toggle .ic-sun{display:none}
.msh.msh-theme-wrap{display:inline-flex}
.msh.msh-theme-row{display:inline-flex;align-items:center;gap:8px}
.msh.msh-theme-row button{border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer}
.msh.msh-theme-row button:is(:hover,:focus){border-color:#fff;background:transparent;color:#fff}
.msh.msh-theme-row button[aria-pressed="true"]{background:#fff;color:#0B2D6B}

/* --- Countdown --- */
.msh.msh-countdown{display:flex;flex-direction:column;gap:12px}
.msh .msh-cd-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:15px;color:var(--ink-2);text-decoration:none}
.msh .msh-cd-label b{color:var(--ink)}
.msh .msh-cd-label .msh-star{color:var(--red)}
.msh .msh-cd-label:hover b{color:var(--red)}
.msh .msh-cd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:520px}
.msh .msh-cd-u{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 8px 10px;text-align:center}
.msh .msh-cd-u b{display:block;font-family:var(--f-display);font-weight:400;font-size:clamp(28px,3.6vw,40px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.msh .msh-cd-u span{display:block;margin-top:6px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;color:var(--muted)}
:is(.msh-panel,.msh-hero-overlay) .msh .msh-cd-u{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
:is(.msh-panel,.msh-hero-overlay) .msh .msh-cd-u b,:is(.msh-panel,.msh-hero-overlay) .msh .msh-cd-label b{color:#fff}
:is(.msh-panel,.msh-hero-overlay) .msh .msh-cd-u span,:is(.msh-panel,.msh-hero-overlay) .msh .msh-cd-label{color:var(--on-panel-2)}

/* --- Tappe: strip (biglietti) --- */
.msh.msh-stubs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.msh.msh-stubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.msh.msh-stubs{grid-template-columns:1fr}}
.msh .msh-stub{--notch:var(--paper);position:relative;display:grid;grid-template-columns:86px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;transition:transform .2s, box-shadow .2s, border-color .2s;min-height:112px}
.msh-alt .msh .msh-stub{--notch:var(--surface);background:var(--paper)}
.msh .msh-stub:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:var(--shadow);border-color:var(--line-2);color:inherit}
.msh .msh-stub .d{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border-right:2px dashed var(--line-2);position:relative}
.msh .msh-stub .d::before,.msh .msh-stub .d::after{content:"";position:absolute;right:-10px;width:18px;height:18px;border-radius:50%;background:var(--notch);border:1px solid var(--line)}
.msh .msh-stub .d::before{top:-10px;clip-path:inset(50% 0 0 0)}
.msh .msh-stub .d::after{bottom:-10px;clip-path:inset(0 0 50% 0)}
.msh .msh-stub .dow{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.12em;color:var(--red);line-height:1.2}
.msh .msh-stub .dd{font-family:var(--f-display);font-size:42px;line-height:1;color:var(--ink)}
.msh .msh-stub .mm{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.14em;color:var(--muted);line-height:1.2}
.msh .msh-stub .i{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.msh .msh-stub .city{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:25px;letter-spacing:.01em;line-height:1;color:var(--ink)}
.msh .msh-stub .venue{font-size:14px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
.msh .msh-stub .time{font-size:13px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:6px;margin-top:4px;line-height:1.3}
.msh .msh-stub .time .msh-star{color:var(--royal);font-size:10px}

/* --- Tappe: footer --- */
.msh.msh-tappe-footer{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px;line-height:1.4}
.msh.msh-tappe-footer a{color:var(--on-panel-2);text-decoration:none}
.msh.msh-tappe-footer a:hover{color:#fff}
.msh.msh-tappe-footer a span{font-variant-numeric:tabular-nums}
:root[data-theme="light"] .msh.msh-tappe-footer:not(:is(.msh-panel *,footer *,[class*="elementor-location-footer"] *)) a{color:var(--ink-2)}

/* --- Tappe: lista --- */
.msh .msh-tour-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.msh .msh-status-dot{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--warn)}
.msh .msh-status-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)}
.msh .msh-status-dot.is-ok{color:var(--ok)}
.msh .msh-status-dot.is-ok::before{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}
.msh .msh-tour-list{display:grid;gap:14px}
.msh .msh-tl-row{--notch:var(--paper);display:grid;grid-template-columns:120px minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;transition:box-shadow .2s, border-color .2s;position:relative}
.msh-alt .msh .msh-tl-row{--notch:var(--surface);background:var(--paper)}
.msh .msh-tl-row[hidden]{display:none}
.msh .msh-tl-row:hover{box-shadow:var(--shadow);border-color:var(--line-2)}
.msh .msh-tl-row .d{text-align:center;padding:18px 8px;border-right:2px dashed var(--line-2);position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.msh .msh-tl-row .d::before,.msh .msh-tl-row .d::after{content:"";position:absolute;right:-10px;width:18px;height:18px;border-radius:50%;background:var(--notch);border:1px solid var(--line)}
.msh .msh-tl-row .d::before{top:-10px;clip-path:inset(50% 0 0 0)}
.msh .msh-tl-row .d::after{bottom:-10px;clip-path:inset(0 0 50% 0)}
.msh .msh-tl-row .dd{font-family:var(--f-display);font-size:46px;line-height:1;color:var(--ink)}
.msh .msh-tl-row .dow{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;color:var(--red);letter-spacing:.12em;font-size:15px;line-height:1.2}
.msh .msh-tl-row .mm{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.1em;font-size:13px;line-height:1.2;margin-top:2px}
.msh .msh-tl-row .c{padding:16px 24px;min-width:0}
.msh .msh-tl-row .c h3{font-size:32px}
.msh .msh-tl-row .c h3 a{color:var(--ink);text-decoration:none}
.msh .msh-tl-row .c h3 a:hover{color:var(--red)}
.msh .msh-tl-row .c p{color:var(--ink-2);font-size:15.5px;line-height:1.4;margin-top:4px}
.msh .msh-tl-row .m{padding:16px;display:flex;flex-direction:column;gap:6px;font-size:14.5px;color:var(--ink-2);line-height:1.3}
.msh .msh-tl-row .m b{color:var(--ink)}
.msh .msh-tl-row .a{padding:16px 22px 16px 8px;display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:230px}
.msh .msh-info-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:15px;color:var(--royal);text-decoration:none;padding:4px 0}
.msh .msh-info-link .msh-ic{width:16px;height:16px;transition:transform .15s}
.msh .msh-info-link:hover{color:var(--red)}
.msh .msh-info-link:hover .msh-ic{transform:translateX(3px)}
@media (max-width:980px){
  .msh .msh-tl-row{grid-template-columns:100px minmax(0,1fr)}
  .msh .msh-tl-row .m{grid-column:2;padding:0 20px 10px;flex-direction:row;flex-wrap:wrap;gap:6px 16px}
  .msh .msh-tl-row .a{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 16px;min-width:0}
  .msh .msh-tl-row .a .msh-btn{flex:1 1 180px}
  .msh .msh-info-link{flex:1 1 100%}
  .msh .msh-tl-row .d{grid-row:span 2}
}
@media (max-width:520px){.msh .msh-tl-row{grid-template-columns:82px minmax(0,1fr)}.msh .msh-tl-row .d .dd{font-size:36px}.msh .msh-tl-row .c{padding:14px 14px 6px}.msh .msh-tl-row .c h3{font-size:26px}.msh .msh-tl-row .m{padding:0 14px 10px}}

/* --- Pass cards --- */
.msh.msh-passes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
@media (max-width:980px){.msh.msh-passes{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}}
.msh .msh-pass{--notch:var(--paper);position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s}
.msh-alt .msh .msh-pass{--notch:var(--surface);background:var(--paper)}
.msh .msh-pass:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.msh .msh-pass .top{height:8px;border-radius:15px 15px 0 0;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--ink) 33.3% 66.6%,var(--royal) 66.6%)}
.msh .msh-pass .admit{display:flex;justify-content:space-between;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted);padding:10px 26px 0}
.msh .msh-pass .head{padding:22px 26px 20px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center}
.msh .msh-pass .tag{margin:-6px auto 12px}
.msh .msh-pass .wm{height:82px;width:auto;max-width:100%;margin:0 auto;object-fit:contain;filter:var(--wm-filter)}
.msh .msh-pass .note{margin-top:16px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800;line-height:1.4}
.msh .msh-pass .perf{position:relative;height:0;border-top:2px dashed var(--line-2);margin:0 14px}
.msh .msh-pass .perf::before,.msh .msh-pass .perf::after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--notch);border:1px solid var(--line)}
.msh .msh-pass .perf::before{left:-26px;clip-path:inset(0 0 0 50%)}
.msh .msh-pass .perf::after{right:-26px;clip-path:inset(0 50% 0 0)}
.msh .msh-pass ul{list-style:none;margin:0;padding:20px 26px;display:grid;gap:10px;flex:1;align-content:start}
.msh .msh-pass li{display:flex;gap:10px;font-size:15.5px;color:var(--ink-2);line-height:1.4}
.msh .msh-pass li .msh-star{color:var(--red);font-size:13px;margin-top:4px}
.msh .msh-pass .foot{padding:0 26px 24px}
.msh .msh-pass{overflow:clip;overflow-clip-margin:3px}
.msh .msh-pass.featured{border:2px solid var(--red)}

/* --- Configuratore --- */
.msh.msh-config-wrap{scroll-margin-top:110px}
.msh .msh-config{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:960px){.msh .msh-config{grid-template-columns:minmax(0,1fr)}}
.msh .msh-cfg-step{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.msh .msh-cfg-step-split{margin-top:28px;justify-content:space-between;flex-wrap:wrap}
.msh .msh-cfg-step-l{display:flex;gap:12px;align-items:center}
.msh .msh-cfg-step-3{margin-top:28px}
.msh .msh-cfg-step .n{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--f-cond);font-weight:800;font-size:18px;flex:none}
.msh .msh-cfg-step h3{font-size:23px;margin:0}
.msh .msh-stage-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:640px){.msh .msh-stage-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}
.msh .msh-stage-pick button{border:1.5px solid var(--line-2);background:var(--surface);border-radius:10px;padding:10px 8px;cursor:pointer;text-align:left;transition:border-color .15s, background .15s;color:var(--ink);min-width:0}
.msh .msh-stage-pick button:is(:hover,:focus){border-color:var(--ink);background:var(--surface);color:var(--ink)}
.msh .msh-stage-pick button b{display:block;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:19px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msh .msh-stage-pick button span{font-size:12.5px;color:var(--muted);font-weight:700;line-height:1.3;display:block}
.msh .msh-stage-pick button[aria-pressed="true"]{border-color:var(--red);background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red)}
.msh .msh-soc-field{margin-bottom:8px}
.msh .msh-soc-field .msh-note-bar{margin-bottom:12px}
.msh .msh-soc-field[hidden],.msh .msh-cfg-soc[hidden]{display:none}
.msh .msh-cfg-sub{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:14px;color:var(--muted);margin-top:16px}
.msh .msh-line-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.msh .msh-line-item:last-child{border-bottom:0}
.msh .msh-line-item .li-ic{width:62px;height:40px;border-radius:7px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line)}
.msh .msh-line-item .li-ic img{height:26px;width:auto;max-width:54px;object-fit:contain;filter:var(--wm-filter)}
.msh .msh-line-item .li-ic.txt{font-family:var(--f-cond);font-weight:800;font-size:14px;letter-spacing:.06em;color:var(--royal)}
.msh .msh-line-item b{display:block;font-weight:800;font-size:16px;line-height:1.3}
.msh .msh-line-item span{font-size:14px;color:var(--muted);line-height:1.35}
.msh .msh-line-item em{font-style:normal;color:var(--warn);font-weight:700}
.msh .msh-line-item.is-off{opacity:.6}
@media (max-width:420px){.msh .msh-line-item{grid-template-columns:minmax(0,1fr) auto;gap:10px}.msh .msh-line-item .li-ic{display:none}}
.msh .msh-summary{position:sticky;top:110px}
@media (max-width:960px){.msh .msh-summary{position:static}}
.msh .msh-summary .msh-card{border:2px solid var(--ink);padding:0;overflow:hidden}
.msh .msh-summary .s-head{background:var(--panel);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.msh .msh-summary .s-head b{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:22px;letter-spacing:.04em}
.msh .msh-summary .s-head span{font-size:13px;color:var(--on-panel-2);font-weight:700}
.msh .msh-summary .s-body{padding:18px 22px 22px}
.msh .s-lines{display:grid;gap:8px;min-height:60px}
.msh .s-line{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.msh .s-line span{color:var(--ink-2)}
.msh .s-empty{color:var(--muted);font-size:15px;padding:10px 0}
.msh .s-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px dashed var(--line-2);margin-top:14px;padding-top:14px;margin-bottom:16px}
.msh .s-total span{color:var(--muted);font-weight:800}
.msh .s-total b{font-family:var(--f-display);font-size:38px;font-weight:400;line-height:1}
.msh .s-foot{color:var(--muted);font-size:13px;margin-top:10px;text-align:center}
.msh .msh-summary .msh-note-bar{margin-top:12px}
.msh .msh-gift-note{display:none;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--red-soft);color:var(--red-ink);font-weight:700;font-size:14px;gap:8px;align-items:center;line-height:1.35}
.msh .msh-gift-note.on{display:flex}

/* --- Tappa dettaglio --- */
.msh.msh-tappa{width:100%}
.msh .msh-in-wrap{max-width:1220px;margin:0 auto;padding:0 24px}
@media (max-width:560px){.msh .msh-in-wrap{padding:0 16px}}
.msh .msh-narrow{max-width:900px}
.msh .msh-sec-in{padding:clamp(56px,7vw,96px) 0}
.msh .msh-sec-in.msh-alt{background-color:var(--surface)}
.msh .msh-sec-in.msh-pinstripe{background-image:repeating-linear-gradient(90deg,transparent 0 26px,var(--stripe) 26px 28px)}
.msh .msh-sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.msh .msh-sec-head h2{font-size:clamp(34px,4.6vw,56px);margin-top:8px}
.msh .msh-sec-head p{max-width:52ch;color:var(--ink-2)}
.msh .msh-p-hero{position:relative;color:#fff;overflow:hidden;background:var(--panel)}
.msh .msh-p-hero .bg{position:absolute;inset:0}
.msh .msh-p-hero .bg img{width:100%;height:100%;object-fit:cover}
.msh .msh-p-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,56,.94) 0%,rgba(8,30,74,.78) 45%,rgba(8,30,74,.25) 100%)}
@media (max-width:760px){.msh .msh-p-hero .bg::after{background:linear-gradient(180deg,rgba(6,22,56,.7),rgba(8,30,74,.92))}}
.msh .msh-p-hero-in{position:relative;padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(96px,10vw,120px)}
.msh .msh-p-hero h1{color:#fff;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(38px,6vw,76px);line-height:.98;max-width:16ch;margin:12px 0 16px;overflow-wrap:anywhere}
.msh .msh-p-hero p{color:#D3DDF1;font-size:18px;max-width:54ch}
.msh .msh-p-hero .msh-eyebrow{color:#FF7088;margin-top:20px}
.msh .msh-p-hero .stripe-b{position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--red) 0 33.3%,#fff 33.3% 66.6%,#0057B8 66.6%)}
.msh .msh-crumbs{font-size:14px;color:#B8C6E4;display:flex;gap:8px;flex-wrap:wrap}
.msh .msh-crumbs a{color:#B8C6E4;text-decoration:none}
.msh .msh-crumbs a:hover{color:#fff}
.msh .msh-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-56px;position:relative;z-index:2}
@media (max-width:900px){.msh .msh-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.msh .msh-info{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);min-width:0}
.msh .msh-info small{display:block;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-size:14px}
.msh .msh-info b{display:block;font-family:var(--f-cond);font-weight:800;font-size:26px;text-transform:uppercase;line-height:1.05;margin-top:4px;overflow-wrap:anywhere}
.msh .msh-info span{font-size:14px;color:var(--ink-2);line-height:1.4;display:block;margin-top:2px}
@media (max-width:420px){.msh .msh-info{padding:14px}.msh .msh-info b{font-size:21px}}
.msh .msh-t1{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);border:2px solid var(--ink);border-radius:18px;padding:24px 28px}
.msh .msh-t1 h3{font-size:30px;margin:4px 0}
.msh .msh-t1 p{max-width:60ch}
.msh .msh-t1-a{display:flex;flex-direction:column;align-items:center;gap:6px}
.msh .msh-t1-a small{font-size:13px}
@media (max-width:560px){.msh .msh-t1{padding:20px}.msh .msh-t1-a{width:100%}.msh .msh-t1-a .msh-btn{width:100%}}
.msh .msh-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.msh .msh-split-top{align-items:start;margin-top:56px}
.msh-accrediti .msh-split-top{margin-top:0}
@media (max-width:900px){.msh .msh-split{grid-template-columns:minmax(0,1fr)}}
.msh .msh-howto{display:grid;gap:0}
.msh .msh-howto > div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.msh .msh-howto .ic{width:44px;height:44px;border-radius:12px;background:var(--royal-soft);color:var(--royal);display:grid;place-items:center}
.msh .msh-howto b{font-family:var(--f-cond);font-size:20px;text-transform:uppercase;letter-spacing:.02em;display:block}
.msh .msh-howto p{font-size:15px;color:var(--ink-2)}
.msh .msh-map{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#E8EEF7;border:1px solid var(--line);color:var(--ink)}
:root:not([data-theme="light"]) .msh .msh-map{background:#0F2248}
.msh .msh-map svg{width:100%;height:100%;display:block}
.msh .msh-map .blk rect{fill:currentColor;opacity:.06}
.msh .msh-map .pin{position:absolute;left:56%;top:44%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;max-width:80%}
.msh .msh-map .pin span{background:var(--ink);color:var(--paper);padding:6px 12px;border-radius:8px;font-weight:800;font-size:13px;white-space:nowrap;box-shadow:var(--shadow);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.msh .msh-map .pin i{width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);margin-top:6px;border:3px solid #fff;display:block}
.msh .msh-map .mnote{position:absolute;left:12px;bottom:12px;font-size:12px;background:var(--surface);padding:4px 10px;border-radius:999px;color:var(--muted);font-weight:700}
.msh .msh-map-link{margin-top:14px}
.msh.msh-tappa-extra{padding-bottom:56px}

/* --- FAQ accordion --- */
.msh.msh-acc{display:grid;gap:10px}
.msh.msh-acc details{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.msh-alt .msh.msh-acc details{background:var(--paper)}
.msh.msh-acc summary{list-style:none;cursor:pointer;padding:18px 56px 18px 20px;font-weight:800;font-size:17px;line-height:1.35;position:relative;color:var(--ink);display:block}
.msh.msh-acc summary::-webkit-details-marker{display:none}
.msh.msh-acc summary::after{content:"";position:absolute;right:20px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23E4002B' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
.msh.msh-acc details[open] summary::after{transform:rotate(45deg)}
.msh.msh-acc summary:hover{background:var(--surface-2)}
.msh.msh-acc .msh-ans{padding:0 20px 20px;color:var(--ink-2);max-width:75ch}

/* --- Roster --- */
.msh .msh-r-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.msh .msh-r-teaser{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.msh .msh-r-teaser{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.msh .msh-r-grid,.msh .msh-r-teaser{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.msh .msh-fig{--rc:var(--royal);position:relative;display:block;width:100%;min-width:0;text-align:left;cursor:pointer;padding:7px;border-radius:16px;color:inherit;
  background:repeating-linear-gradient(90deg,var(--ink) 0 3px,var(--surface) 3px 9px);box-shadow:var(--shadow);transition:transform .25s ease, box-shadow .25s ease}
.msh .msh-fig:focus{background:repeating-linear-gradient(90deg,var(--ink) 0 3px,var(--surface) 3px 9px)}
.msh .msh-fig:is(:hover,:focus-visible){transform:translateY(-6px) rotate(-1deg);box-shadow:var(--shadow-lg);background:repeating-linear-gradient(90deg,var(--ink) 0 3px,var(--surface) 3px 9px)}
.msh .msh-fig:nth-child(even):is(:hover,:focus-visible){transform:translateY(-6px) rotate(1deg)}
.msh .msh-fig[hidden]{display:none}
.msh .msh-fig[data-r="Showman"]{--rc:var(--red)}
.msh .msh-fig[data-r="Ala"]{--rc:#0B6FA8}
.msh .msh-fig[data-r="Finisher"]{--rc:#B5651D}
.msh .msh-fig[data-r="Coach"]{--rc:#3A5BA0}
.msh .msh-fig[data-r="Mascotte"]{--rc:#0E8A52}
.msh .msh-fig .fig-in{display:block;background:var(--surface);border-radius:11px;overflow:hidden;position:relative;border:2px solid var(--rc)}
.msh .msh-fig .fig-ph{display:block;position:relative;aspect-ratio:1/1;background:#fff;background-image:radial-gradient(circle at 50% 110%,rgba(0,87,184,.16),transparent 60%);overflow:hidden}
.msh .msh-fig .fig-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .4s}
.msh .msh-fig:hover .fig-ph img{transform:scale(1.05)}
.msh .msh-fig .fig-no{position:absolute;left:8px;top:6px;font-family:var(--f-display);font-size:34px;line-height:1;color:var(--rc);-webkit-text-stroke:1px #fff;paint-order:stroke;text-shadow:0 2px 0 rgba(255,255,255,.9)}
.msh .msh-fig .fig-star{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;background:var(--rc);color:#fff;display:grid;place-items:center;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.msh .msh-fig .fig-band{display:block;background:var(--panel);padding:10px 12px 11px;position:relative}
.msh .msh-fig .fig-band::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red) 0 33.3%,#fff 33.3% 66.6%,#0057B8 66.6%)}
.msh .msh-fig .fig-band b{display:block;color:#fff;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.05;letter-spacing:.01em;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msh .msh-fig .fig-band span{display:inline-block;margin-top:5px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;line-height:1.3;color:#fff;background:var(--rc);padding:2px 8px;border-radius:4px}
@media (max-width:620px){.msh .msh-fig{padding:5px}.msh .msh-fig .fig-no{font-size:26px}.msh .msh-fig .fig-band b{font-size:17px}.msh .msh-fig .fig-star{width:24px;height:24px;font-size:11px}}
.msh .msh-r-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.msh .msh-r-tools .msh-filters{margin:0}
.msh .msh-r-search{position:relative;flex:0 1 300px;min-width:220px;display:block}
.msh .msh-r-search .msh-in:not(#msh){padding-left:42px;border-radius:999px}
.msh .msh-r-search .msh-ic{position:absolute;left:15px;top:50%;width:18px;height:18px;margin-top:-9px;stroke:var(--muted);pointer-events:none}
@media (max-width:620px){.msh .msh-r-search{flex:1 1 100%;min-width:0}}
.msh .msh-r-group{margin-bottom:52px}
.msh .msh-r-group[hidden]{display:none}
.msh .msh-r-group h2{display:flex;align-items:center;gap:12px;font-size:clamp(28px,3.4vw,40px);margin-bottom:20px}
.msh .msh-r-group h2::after{content:"";flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 11px)}
.msh .msh-r-empty{text-align:center;padding:40px 10px;color:var(--muted)}
.msh .msh-r-empty .msh-display{font-size:26px;margin-bottom:6px}
.msh .msh-r-empty[hidden]{display:none}

/* Modale (fuori dalla radice: creata da JS con classe .msh) */
.msh.msh-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:16px}
.msh.msh-modal.open{display:flex}
.msh.msh-modal .scrim{position:absolute;inset:0;background:rgba(3,16,42,.65)}
.msh .m-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);box-shadow:var(--shadow-lg);animation:msh-fade .25s ease}
.msh .m-card .m-ph{background:#fff;background-image:repeating-linear-gradient(90deg,transparent 0 18px,rgba(0,87,184,.08) 18px 20px);position:relative;min-height:280px}
.msh .m-card .m-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.msh .m-card .m-no{position:absolute;left:14px;bottom:10px;font-family:var(--f-display);font-size:64px;line-height:1;color:var(--red);-webkit-text-stroke:2px #fff;paint-order:stroke}
.msh .m-card .m-b{padding:30px 28px 28px;display:flex;flex-direction:column;gap:12px}
.msh .m-card h3{font-size:clamp(32px,4vw,44px);line-height:1}
.msh .m-card .m-x{position:absolute;right:10px;top:10px;z-index:2;background:var(--surface);box-shadow:var(--shadow)}
.msh .m-card .m-x:hover{background:var(--surface-2)}
.msh .m-chips{display:flex;gap:8px;flex-wrap:wrap}
.msh .ph-note{border:1.5px dashed var(--line-2);border-radius:12px;padding:14px 16px;color:var(--muted);font-size:15px;background:var(--surface-2);line-height:1.5}
.msh .ph-note b{display:block;color:var(--ink);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.msh .m-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
@media (max-width:640px){.msh .m-card{grid-template-columns:minmax(0,1fr)}.msh .m-card .m-ph{min-height:0;aspect-ratio:1/1;max-height:42vh}.msh .m-card .m-b{padding:22px 20px}}
@keyframes msh-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* --- 10 + 1 --- */
.msh.msh-ten-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,30px)}
@media (max-width:760px){.msh.msh-ten-card{grid-template-columns:minmax(0,1fr);gap:20px}}
.msh.msh-ten-card h3{font-size:32px;margin-bottom:8px}
.msh.msh-ten-card p{color:var(--muted)}
.msh .msh-tenplus{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:8px;align-items:end;padding-top:12px}
.msh .msh-tk{aspect-ratio:3/5;border-radius:7px;background:var(--surface-2);border:1.5px solid var(--line-2);position:relative;display:grid;place-items:center;color:var(--ink);font-family:var(--f-cond);font-weight:800;font-size:14px}
.msh .msh-tk::before{content:"";position:absolute;left:12%;right:12%;top:62%;border-top:1.5px dashed var(--line-2)}
.msh .msh-tk.gift{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-10px) rotate(6deg);box-shadow:0 10px 20px -6px rgba(228,0,43,.6)}
.msh .msh-tk.gift::before{border-color:rgba(255,255,255,.45)}
.msh .msh-tk.gift .msh-star{font-size:16px}
.msh .msh-tp-legend{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--ink-2)}
.msh .msh-tp-legend span:last-child{color:var(--red)}
:is(.msh-panel,.msh-hero-overlay) .msh.msh-ten-solo .msh-tk:not(.gift){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
:is(.msh-panel,.msh-hero-overlay) .msh.msh-ten-solo .msh-tk:not(.gift)::before{border-color:rgba(255,255,255,.4)}
:is(.msh-panel,.msh-hero-overlay) .msh.msh-ten-solo .msh-tp-legend{color:#fff}
:is(.msh-panel,.msh-hero-overlay) .msh.msh-ten-solo .msh-tp-legend span:last-child{color:#FF6A82}
@media (max-width:520px){.msh .msh-tenplus{gap:4px}.msh .msh-tk{font-size:11px;border-radius:5px}.msh .msh-tp-legend{font-size:13px}}

/* --- Codice società --- */
.msh.msh-code-box{overflow:clip;overflow-clip-margin:3px;background:var(--surface);border:2px solid var(--ink);border-radius:20px;padding:clamp(22px,3.5vw,36px);position:relative}
.msh .msh-ticket-cut{position:absolute;top:50%;width:26px;height:26px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);margin-top:-13px}
.msh .msh-ticket-cut.l{left:-14px;clip-path:inset(0 0 0 50%)}
.msh .msh-ticket-cut.r{right:-14px;clip-path:inset(0 50% 0 0)}
.msh-alt .msh .msh-ticket-cut{background:var(--surface)}
.msh.msh-code-box .msh-muted{margin-bottom:18px}
.msh.msh-code-box .msh-fine{margin-top:14px}

/* --- Accrediti --- */
.msh .msh-acc-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}
@media (max-width:860px){.msh .msh-acc-types{grid-template-columns:minmax(0,1fr)}}
.msh .msh-acc-type{display:block;text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:22px;cursor:pointer;transition:border-color .2s, transform .2s;color:var(--ink)}
.msh .msh-acc-type:is(:hover,:focus){border-color:var(--line-2);background:var(--surface);color:var(--ink)}
.msh .msh-acc-type:hover{transform:translateY(-3px)}
.msh .msh-acc-type[aria-selected="true"]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.msh .msh-acc-type .ic{width:48px;height:48px;border-radius:12px;background:var(--royal-soft);color:var(--royal);display:grid;place-items:center;margin-bottom:12px}
.msh .msh-acc-type[aria-selected="true"] .ic{background:var(--red);color:#fff}
.msh .msh-acc-type .ic .msh-ic{width:24px;height:24px}
.msh .msh-acc-type b{display:block;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:23px;line-height:1.1}
.msh .msh-acc-type > span:not(.ic){font-size:14.5px;color:var(--ink-2);line-height:1.45;display:block;margin-top:4px}
.msh .msh-tab-panel[hidden]{display:none}
.msh .msh-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.msh .msh-timeline li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;position:relative;padding-bottom:22px}
.msh .msh-timeline li:last-child{padding-bottom:0}
.msh .msh-timeline li::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--line-2) 0 6px,transparent 6px 11px)}
.msh .msh-timeline li:last-child::before{display:none}
.msh .msh-timeline .n{width:48px;height:48px;border-radius:50%;background:var(--surface);border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--f-display);font-size:20px;color:var(--ink)}
.msh .msh-timeline li.done .n{background:var(--ink);color:var(--paper)}
.msh .msh-timeline li.final .n{background:var(--red);border-color:var(--red);color:#fff}
.msh .msh-timeline b{display:block;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:21px;margin-top:2px;line-height:1.15}
.msh .msh-timeline p{font-size:15px;color:var(--ink-2);line-height:1.45}
.msh .msh-timeline .who{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--royal)}

/* --- Merch --- */
.msh .msh-draft{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px dashed var(--line-2);border-radius:999px;font-family:var(--f-cond);font-weight:700;font-size:14px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface);white-space:nowrap}
.msh .msh-phase{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px dashed var(--line-2);border-radius:999px;font-family:var(--f-cond);font-weight:700;font-size:14px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface);white-space:nowrap}

/* --- Area personale --- */
.msh .msh-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.msh .msh-auth{grid-template-columns:minmax(0,1fr)}}
.msh .msh-auth .msh-card{scroll-margin-top:110px}
.msh .msh-small-link{margin-top:12px;font-size:14px}
.msh .msh-app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.msh .msh-app-shell{grid-template-columns:minmax(0,1fr)}}
.msh .msh-side{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;position:sticky;top:110px}
@media (max-width:900px){.msh .msh-side{position:static}}
.msh .msh-side .who{display:flex;gap:12px;align-items:center;padding:8px 8px 16px;border-bottom:1px solid var(--line);margin-bottom:8px;min-width:0}
.msh .msh-side .av{width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--f-cond);font-weight:800;font-size:20px;flex:none}
.msh .msh-side .who b{display:block;line-height:1.2;overflow-wrap:anywhere}
.msh .msh-side .who div span{font-size:13px;color:var(--muted);line-height:1.3;display:block}
.msh .msh-side nav{display:grid;gap:2px}
.msh .msh-side nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font-weight:700;font-size:15px;color:var(--ink-2);text-decoration:none;line-height:1.3}
.msh .msh-side nav a:hover{background:var(--surface-2);color:var(--ink)}
.msh .msh-side nav a[aria-current="true"]{background:var(--royal-soft);color:var(--royal)}
.msh .msh-side nav .msh-ic{width:19px;height:19px}
@media (max-width:900px){.msh .msh-side nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.msh .msh-app-h{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;scroll-margin-top:110px}
.msh .msh-app-h h2{font-size:clamp(28px,3.4vw,38px)}
.msh .msh-empty-tickets{border:2px dashed var(--line-2);border-radius:16px;padding:clamp(22px,4vw,36px);text-align:center;background:var(--surface)}
.msh .msh-empty-tickets .msh-display{font-size:clamp(22px,3vw,30px);margin-bottom:8px}
.msh .msh-empty-tickets p{color:var(--muted);max-width:56ch;margin:0 auto 18px}
.msh .msh-empty-tickets .msh-btn-row{justify-content:center}
.msh .msh-tickets{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px;max-width:620px}
.msh .msh-preview{opacity:.6;filter:saturate(.7)}
.msh .msh-prev-chip{margin-bottom:10px}
.msh .msh-tcard{--notch:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) 150px;background:var(--surface);border:1px solid var(--line);border-radius:16px;position:relative}
.msh .msh-tcard .l{padding:20px 22px;border-right:2px dashed var(--line-2);position:relative;min-width:0}
.msh .msh-tcard .l::before,.msh .msh-tcard .l::after{content:"";position:absolute;right:-11px;width:20px;height:20px;border-radius:50%;background:var(--notch);border:1px solid var(--line)}
.msh .msh-tcard .l::before{top:-11px;clip-path:inset(50% 0 0 0)}
.msh .msh-tcard .l::after{bottom:-11px;clip-path:inset(0 0 50% 0)}
.msh .msh-tcard .band{height:6px;border-radius:16px 0 0 0;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--ink) 33.3% 66.6%,var(--royal) 66.6%);margin:-20px -22px 16px}
.msh .msh-tcard .wm{height:34px;width:auto;filter:var(--wm-filter);margin-bottom:12px}
.msh .msh-tcard h4{font-size:24px}
.msh .msh-tcard p{font-size:14px}
.msh .msh-tcard .meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 20px;margin-top:10px}
.msh .msh-tcard .meta small{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.msh .msh-tcard .meta b{font-size:15px}
.msh .msh-tcard .r{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;gap:8px}
.msh .msh-tcard .r svg{width:112px;height:112px;background:#fff;padding:6px;border-radius:8px}
.msh .msh-tcard .r small{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--muted)}
@media (max-width:520px){.msh .msh-tcard{grid-template-columns:minmax(0,1fr)}.msh .msh-tcard .l{border-right:0;border-bottom:2px dashed var(--line-2)}.msh .msh-tcard .l::before,.msh .msh-tcard .l::after{display:none}.msh .msh-tcard .meta{grid-template-columns:repeat(2,auto)}}
.msh .msh-found{display:flex;gap:14px;align-items:center;background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-top:10px}
.msh .msh-found .av{width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--f-cond);font-weight:800;font-size:18px;flex:none}
.msh .msh-found span{font-size:14px}

/* --- Dashboard gestore --- */
.msh .msh-demo-strip{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--royal-soft);border-radius:14px;padding:16px 20px;margin-bottom:24px;line-height:1.45}
.msh .msh-g-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.msh .msh-g-id{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.msh .msh-g-av{width:56px;height:56px;border-radius:14px;background:var(--panel);color:#fff;display:grid;place-items:center;font-family:var(--f-cond);font-weight:800;font-size:22px;box-shadow:inset 0 -4px 0 var(--red);flex:none}
.msh .msh-g-id h2{font-size:clamp(34px,4.4vw,52px);margin:0 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.msh .msh-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.msh .msh-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.msh .msh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.msh .msh-kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}
.msh .msh-kpi small{display:block;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.msh .msh-kpi b{display:block;font-family:var(--f-display);font-weight:400;font-size:40px;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}
.msh .msh-kpi span{font-size:13px;color:var(--ink-2)}
.msh .msh-kpi.hl{background:var(--panel);border-color:var(--panel)}
:root:not([data-theme="light"]) .msh .msh-kpi.hl{box-shadow:inset 0 0 0 1px var(--line-2)}
.msh .msh-kpi.hl small,.msh .msh-kpi.hl span{color:var(--on-panel-2)}
.msh .msh-kpi.hl b{color:#fff}
.msh .msh-kpi.warn b{color:var(--warn)}
.msh .msh-progress{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:10px}
.msh .msh-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--royal),var(--red));border-radius:inherit}
.msh .msh-dash-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}
@media (max-width:1060px){.msh .msh-dash-grid{grid-template-columns:minmax(0,1fr)}}
.msh .msh-dash-grid > *,.msh .msh-dash-grid > * > *{min-width:0}
.msh .msh-dash-side{display:grid;gap:20px}
.msh .msh-card.msh-card-flush{padding:0;overflow:hidden}
.msh .msh-card-h{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;gap:10px;flex-wrap:wrap}
.msh .msh-card-h h3{margin:0}
.msh .msh-tbl-scroll{overflow-x:auto}
.msh table.msh-data-tbl{width:100%;font-size:15px;border-collapse:collapse;margin:0;background:transparent}
.msh .msh-data-tbl :is(th,td){border:0;border-bottom:1px solid var(--line);background:transparent;vertical-align:middle;line-height:1.4}
.msh .msh-data-tbl th{text-align:left;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:12px 16px;background:var(--surface-2);white-space:nowrap}
.msh .msh-data-tbl td{padding:14px 16px;white-space:nowrap;color:var(--ink)}
.msh .msh-data-tbl tbody tr:last-child td{border-bottom:0}
.msh .msh-data-tbl tbody tr:nth-child(odd) > td{background:transparent}
.msh .msh-data-tbl tbody tr:hover > td{background:var(--surface-2)}
.msh .msh-data-tbl tr[hidden]{display:none}
.msh .msh-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:15px;margin:12px 0}
.msh .msh-kv dt{color:var(--muted);font-weight:700}
.msh .msh-kv dd{margin:0;font-weight:700;text-align:right}
.msh .msh-iban{font-family:ui-monospace,Menlo,monospace;font-weight:700;font-size:15px;background:var(--surface-2);border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;word-break:break-all}
.msh .msh-iban.is-empty{color:var(--muted);font-family:var(--f-body)}
.msh .msh-locked{max-width:720px}
.msh .msh-locked h3{margin-top:14px}
.msh .msh-locked p{margin-bottom:18px}

/* --- Contatti --- */
.msh.msh-contatti{scroll-margin-top:110px}
.msh.msh-contatti h3{margin-bottom:0}

/* --- Toast --- */
.msh.msh-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140%);z-index:100001;background:var(--ink);color:var(--paper);padding:14px 18px;border-radius:14px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-lg);max-width:min(520px,calc(100vw - 32px));transition:transform .3s ease;font-weight:700;font-size:15px;visibility:hidden}
.msh.msh-toast.on{transform:translate(-50%,0);visibility:visible}
.msh.msh-toast .msh-star{color:var(--red);font-size:18px}

/* =========================================================
   6. WOOCOMMERCE (carrello, checkout, account) coerente col tema
   ========================================================= */
.woocommerce,.woocommerce-page .site-main,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--ink)}
.woocommerce-page .page-header .entry-title{font-size:clamp(40px,5vw,64px);line-height:1;margin:24px 0 20px}
.woocommerce-page .site-main{padding-bottom:64px}
.woocommerce :is(a.button,button.button,input.button,#respond input#submit),
.woocommerce :is(a.button.alt,button.button.alt,input.button.alt),
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-empty-cart-block .wp-block-button__link{
  background:var(--red)!important;color:#fff!important;border:2px solid var(--red)!important;border-radius:999px!important;
  font-family:var(--f-cond)!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;font-size:17px!important;line-height:1.1;
  min-height:48px;padding:12px 22px!important;box-shadow:none!important;text-decoration:none!important;transition:transform .15s, box-shadow .15s
}
.woocommerce :is(a.button,button.button,input.button):hover,.wc-block-components-button:not(.is-link):hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--red)!important}
.woocommerce :is(a.button,button.button):disabled,.woocommerce :is(a.button,button.button)[disabled],.wc-block-components-button:disabled{opacity:.45;transform:none}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text{color:#fff}
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),.wc-block-components-notice-banner{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:4px solid var(--royal)!important;border-radius:12px!important;box-shadow:var(--shadow)}
.woocommerce .woocommerce-message,.wc-block-components-notice-banner.is-success{border-left-color:var(--ok)!important}
.woocommerce .woocommerce-error,.wc-block-components-notice-banner.is-error{border-left-color:var(--red)!important}
.wc-block-components-notice-banner > svg{fill:currentColor;background:var(--surface-2)!important;color:var(--ink)}
.woocommerce :is(.woocommerce-message,.woocommerce-info)::before{color:var(--royal)}
.woocommerce table.shop_table{background:var(--surface);border:1px solid var(--line)!important;border-radius:var(--radius);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table :is(th,td){border:0;border-top:1px solid var(--line)!important;background:transparent!important;color:var(--ink);padding:14px 16px}
.woocommerce table.shop_table thead th{background:var(--surface-2)!important;color:var(--muted);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-top:0!important}
.woocommerce :is(form .form-row input.input-text,form .form-row textarea,form .form-row select),
.woocommerce-page :is(form .form-row input.input-text,form .form-row textarea),
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-block-components-form .wc-block-components-text-input input{
  background:var(--surface)!important;color:var(--ink)!important;border:1.5px solid var(--line-2)!important;border-radius:10px!important;min-height:48px;box-shadow:none
}
.wc-block-components-text-input label,.wc-blocks-components-select__label,.wc-block-components-combobox .wc-block-components-combobox-control label{color:var(--muted)!important}
.wc-block-components-text-input input:focus,.woocommerce form .form-row :is(input.input-text,textarea,select):focus{border-color:var(--royal)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--royal) 20%,transparent)!important;outline:none}
.wc-block-cart,.wc-block-checkout{color:var(--ink)}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 16px}
.wc-block-components-totals-item,.wc-block-components-product-name,.wc-block-components-product-metadata,.wc-block-cart-items th,.wc-block-components-title,.wc-block-components-checkout-step__title{color:var(--ink)!important}
.wc-block-components-title.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--f-cond)!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.01em}
.wc-block-cart-items,.wc-block-cart-items td,.wc-block-cart-items th,.wc-block-components-totals-wrapper,.wc-block-components-panel{border-color:var(--line)!important}
.wc-block-components-product-metadata,.wc-block-components-checkout-step__description,.wc-block-components-formatted-money-amount{color:var(--ink-2)}
.wc-block-components-quantity-selector{border-color:var(--line-2)!important;border-radius:999px!important;background:var(--surface)}
.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector button{color:var(--ink)!important;background:transparent!important}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-color:var(--line-2)!important}
.wc-block-components-radio-control__input{border-color:var(--line-2)!important;background:var(--surface)!important}
.wc-block-components-radio-control__input:checked::before{background:var(--royal)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:var(--surface);border-color:var(--line-2)}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--ink)}
.wp-block-woocommerce-empty-cart-block{text-align:center}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;color:var(--ink)}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{border-color:var(--line-2);color:var(--line-2)}
.wc-block-grid__product,.wc-block-components-product-title{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:grid;gap:2px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 12px;border-radius:10px;font-weight:700;color:var(--ink-2);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--surface-2);color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--royal-soft);color:var(--royal)}
.woocommerce-account .woocommerce-MyAccount-content{color:var(--ink-2)}
.woocommerce :is(form.login,form.register,form.checkout_coupon,form.woocommerce-form-login){background:var(--surface);border:1px solid var(--line)!important;border-radius:var(--radius)!important;padding:24px!important}
.woocommerce :is(.woocommerce-form-login,.woocommerce-form-register) label,.woocommerce form .form-row label{color:var(--ink-2);font-weight:700}
.woocommerce-page :is(h2,h3){font-family:var(--f-cond);font-weight:800;text-transform:uppercase}
.woocommerce .woocommerce-customer-details address,.woocommerce .woocommerce-column address{border-color:var(--line)!important;color:var(--ink-2)}
.woocommerce ul.order_details{color:var(--ink-2)}
.woocommerce-checkout #payment,.woocommerce-cart .cart-collaterals .cart_totals{background:var(--surface)!important;border-radius:var(--radius)}
.woocommerce-checkout #payment div.payment_box{background:var(--surface-2)!important;color:var(--ink-2)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--surface-2)!important}
.woocommerce span.onsale{background:var(--red)}
.woocommerce .quantity .qty{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-2);border-radius:10px;min-height:44px}
.select2-container--default .select2-selection--single{background:var(--surface);border-color:var(--line-2);border-radius:10px;min-height:48px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:46px}
.select2-dropdown{background:var(--surface);color:var(--ink);border-color:var(--line-2)}

/* =========================================================
   7. MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  .msh *,.msh *::before,.msh *::after,.msh-figurina img,.msh-collage .msh-figurina .widget-image-caption,:is(.msh-btn,.msh-btn-ghost,.msh-btn-blue,.msh-btn-navy,.msh-btn-ghost-light) .elementor-button{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.msh .msh-data-tbl td:nth-child(2){white-space:normal;min-width:140px}

/* --- 0.2.0: bio roster, ordine di gruppo --- */
.msh .m-card{width:min(860px,100%)}
@media (min-width:641px){.msh .m-card .m-ph{position:sticky;top:0;align-self:start;aspect-ratio:1/1;min-height:0}}
.msh .m-bio{display:grid;gap:10px;color:var(--ink-2);font-size:15.5px;line-height:1.6}
.msh .m-dati{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0}
.msh .m-dati > div{background:var(--surface-2);border-radius:10px;padding:8px 12px;min-width:0}
.msh .m-dati dt{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;color:var(--muted)}
.msh .m-dati dd{margin:2px 0 0;font-weight:800;font-size:14.5px;color:var(--ink);overflow-wrap:anywhere}
.msh .m-fonte{font-size:13px;color:var(--muted)}
.msh .m-fonte a{color:var(--royal);font-weight:700;text-decoration:underline}
.msh [hidden]{display:none!important}
.msh .msh-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}
@media (max-width:980px){.msh .msh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.msh .msh-steps{grid-template-columns:minmax(0,1fr)}}
.msh .msh-step{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 22px}
.msh-alt .msh .msh-step{background:var(--paper)}
.msh .msh-step .n{font-family:var(--f-display);font-size:48px;color:var(--red);line-height:1}
.msh .msh-step h3{font-size:23px;margin:10px 0 6px}
.msh .msh-step p{font-size:15px;color:var(--ink-2)}
.msh .msh-gruppo-soc{margin-bottom:24px}
.msh .msh-gr-qty{border:0;margin:0;padding:0;min-width:0}
.msh .msh-gr-qty legend{padding:0;margin-bottom:8px}
.msh .msh-gr-qty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end}
@media (max-width:760px){.msh .msh-gr-qty-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.msh .msh-gr-tot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:110px;min-height:76px;border:2px dashed var(--line-2);border-radius:12px;padding:6px 12px}
.msh .msh-gr-tot span{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--muted)}
.msh .msh-gr-tot b{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1}
.msh .msh-gr-tot small{font-size:12px;color:var(--warn);font-weight:700}
.msh .msh-gr-tot.is-ok{border-color:var(--ok)}
.msh .msh-gr-tot.is-ok small{color:var(--ok)}
.msh .msh-field > .msh-seg{align-self:flex-start}

/* --- 0.4.0: stati vendita, lista d'attesa, prezzi nascosti --- */
.msh .msh-sale{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 9px;border-radius:999px;font-family:var(--f-cond);font-weight:700;font-size:13.5px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1.5px solid currentColor;width:max-content;max-width:100%}
.msh .msh-sale .msh-star{width:11px;height:11px}
.msh .msh-sale span{overflow:hidden;text-overflow:ellipsis}
.msh .msh-sale-presto{color:var(--royal);background:var(--royal-soft);border-color:color-mix(in srgb,var(--royal) 45%,transparent)}
.msh .msh-sale-presto .msh-star{color:var(--parquet)}
.msh .msh-sale-aperto{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.msh .msh-sale-ultimi{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.msh .msh-sale-esaurito{color:var(--red-ink);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 45%,transparent)}
.msh.msh-sale-row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-bottom:18px}
.msh .msh-sale-note{font-size:14.5px;color:var(--ink-2);line-height:1.4}
.msh-config-wrap > .msh-sale-row{margin-bottom:18px}
.msh .msh-stub .msh-sale{margin-top:7px;font-size:11.5px;padding:2px 8px 2px 7px}
.msh .msh-tl-row .c .msh-sale{margin-bottom:6px;font-size:12px;padding:2px 9px 2px 8px}
.msh .msh-hero-pill{margin:14px 0 -2px}
.msh .msh-hero-pill .msh-sale{background:rgba(3,16,42,.55)}
.msh .msh-t1-a .msh-sale{margin-top:4px}
.msh .msh-t1-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.msh .msh-t1-lbl{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--ink-2)}
.msh .msh-closed{display:grid;gap:10px}
.msh .msh-closed .msh-sale-row{margin:0}
.msh .msh-cfg-wait{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2)}
.msh .msh-cfg-wait[hidden]{display:none}
.msh .msh-cfg-wait .msh-muted{font-size:14px;line-height:1.45}
.msh .msh-cfg-wait .msh-check{font-size:13.5px}
.msh-sale-btn{margin:0}
.msh-link-off{color:inherit}
body.msh-no-prices :is(.wc-block-components-product-price,.wc-block-formatted-money-amount,.wc-block-components-formatted-money-amount,.wc-block-components-totals-item__value,.wc-block-components-product-metadata__description .price,.price,.woocommerce-Price-amount){visibility:hidden}

/* --- 0.5.0: contenuti gestibili --- */
.msh.msh-edit-bar{display:flex;justify-content:flex-end;margin:0 0 8px;position:relative;z-index:5}
.msh .msh-edit-link{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1.5px dashed var(--royal);background:var(--surface);color:var(--royal);font-family:var(--f-body);font-size:12.5px;font-weight:800;line-height:1.3;text-decoration:none;opacity:.85}
.msh .msh-edit-link:hover{opacity:1;color:var(--red);border-color:var(--red)}
.msh .msh-edit-link .msh-ic{width:14px;height:14px}
.msh.msh-acc .msh-ans p{margin:0 0 10px}
.msh.msh-acc .msh-ans p:last-child{margin-bottom:0}
.msh.msh-acc .msh-ans a{color:var(--royal);font-weight:700;border-bottom:2px solid currentColor}

/* 0.7.2-0.7.3 · topbar: marchio a sinistra e link ([mishow_topbar_links]) sulla stessa linea mediana */
.msh-topbar,.msh-topbar>.e-con-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
/* padding verticale simmetrico: il kit aveva 0 sopra e 5px sotto, quindi il testo risultava più in alto della linea mediana */
.msh-topbar>.e-con-inner,.msh-topbar:not(:has(>.e-con-inner)){padding-top:3px!important;padding-bottom:3px!important;align-items:center!important}
.msh-topbar p{margin:0}
.msh-topbar .elementor-widget,.msh-topbar .elementor-widget-container,.msh-topbar .elementor-shortcode{margin:0;padding:0;display:flex;align-items:center;min-width:0}
.msh-topbar .elementor-shortcode{min-height:24px}
.msh-topbar .msh.msh-brand,.msh-topbar .msh-topbar-links{line-height:1.3;margin:0}
.msh-topbar-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 18px;font-family:var(--f-body,"Nunito Sans",sans-serif);font-size:13px;color:#A9BADD}
.msh-topbar-links a{color:inherit;text-decoration:none;white-space:nowrap;line-height:1.3}
.msh-topbar-links a:hover,.msh-topbar-links a:focus-visible{color:#fff;text-decoration:underline}
.msh-topbar-links .msh-tb-segreteria,.msh-topbar-links .msh-tb-login,.msh-topbar-links .msh-tb-account{color:#fff;font-weight:700}
/* Allineamento "centro": marchio a sinistra, voci al centro esatto della pagina */
@media (min-width:768px){
	.msh-topbar:has(.msh-tb-center)>.e-con-inner,.msh-topbar:has(.msh-tb-center):not(:has(>.e-con-inner)){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:16px}
	.msh-topbar-links.msh-tb-center{justify-content:center;flex-wrap:nowrap}
}
@media (max-width:767px){
	.msh-topbar,.msh-topbar>.e-con-inner{flex-wrap:wrap;row-gap:0}
	.msh-topbar .msh-topbar-links-w,.msh-topbar .elementor-widget:has(.msh-topbar-links){width:100%}
	.msh-topbar-links{justify-content:flex-start;gap:0 14px;font-size:12.5px;width:100%}
	.msh-topbar-links.msh-tb-center{justify-content:center}
}

/* ============ 0.7.4 · Carrello, checkout, ordine ricevuto ============ */
body.msh-shop .page-header{display:none}
.msh-shop-head{margin:28px 0 22px}
.msh-shop-head .msh-eyebrow{display:block;font-family:var(--f-cond);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 6px}
.msh-shop-head h1{font-family:var(--f-cond)!important;font-weight:800;text-transform:uppercase;font-size:clamp(32px,4.2vw,50px);line-height:1;letter-spacing:.005em;color:var(--ink);margin:0}
body.msh-shop .wp-block-woocommerce-cart.alignwide,body.msh-shop .wp-block-woocommerce-checkout.alignwide{margin-left:0!important;margin-right:0!important;max-width:100%!important;width:auto}
body.msh-shop :is(.woocommerce,.wc-block-cart,.wc-block-checkout) :is(h2,h3):not(.wc-block-components-product-name){font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(20px,2.2vw,26px);line-height:1.1;letter-spacing:.01em;color:var(--ink);margin:0 0 12px}

/* Carrello vuoto */
.msh-cart-empty-panel{max-width:720px;margin:48px auto 24px;padding:40px 32px 34px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow,none)}
.msh-cart-empty-panel .msh-empty-ill{display:block;margin:0 auto 18px;width:120px;height:84px}
.msh-empty-ill .t{fill:var(--surface-2);stroke:var(--line-2);stroke-width:2}
.msh-empty-ill .d{stroke:var(--line-2);stroke-width:2;fill:none}
.msh-empty-ill .s{fill:var(--royal)}
.msh-empty-ill .b{fill:var(--red)}
.msh-empty-ill .l{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.9}
.msh-cart-empty-panel .msh-empty-tit{font-family:var(--f-cond)!important;font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.4vw,38px);line-height:1.05;color:var(--ink);margin:0 0 10px;letter-spacing:.01em}
.msh-cart-empty-panel .msh-empty-txt{color:var(--ink-2);font-size:17px;line-height:1.55;margin:0 auto 22px;max-width:46ch}
.msh-cart-empty-panel .msh-empty-act{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 16px}
.msh-cart-empty-panel .msh-empty-link{margin:0;font-weight:700}
.msh-cart-empty-panel .msh-empty-note{margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--line-2);color:var(--muted);font-size:14.5px;line-height:1.5}
.wp-block-woocommerce-empty-cart-block{text-align:initial}
@media (max-width:520px){.msh-cart-empty-panel{margin-top:28px;padding:30px 18px 26px}.msh-cart-empty-panel .msh-empty-act .msh-btn{width:100%}}

/* Carrello a blocchi */
body.msh-shop .wc-block-cart .wc-block-cart__main{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px 20px 10px}
body.msh-shop table.wc-block-cart-items{margin:0;border:0!important}
body.msh-shop .wc-block-cart-items .wc-block-cart-items__header th{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important;padding-top:14px;padding-bottom:12px}
body.msh-shop .wc-block-cart-items .wc-block-cart-items__row:last-child td{border-bottom:0!important}
body.msh-shop .wc-block-components-product-name.wc-block-components-product-name{font-family:var(--f-cond);font-weight:800;font-size:19px!important;margin:0;line-height:1.15;text-transform:uppercase;letter-spacing:.01em;text-decoration:none}
body.msh-shop .wc-block-components-product-metadata{font-size:13.5px;line-height:1.5}
body.msh-shop .wc-block-components-product-details{margin:6px 0 0}
body.msh-shop .wc-block-components-product-details__name{font-weight:800;color:var(--ink)}
body.msh-shop{--msh-tix:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FBAF5' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4z'/%3E%3Cpath d='M9 6v12' stroke-dasharray='2 2.5'/%3E%3C/svg%3E")}
body.msh-shop .wc-block-components-order-summary-item__image{background:var(--surface-2) center/26px no-repeat var(--msh-tix);border-radius:12px;align-self:flex-start;height:48px}
body.msh-shop td.wc-block-cart-item__image{position:relative}
body.msh-shop td.wc-block-cart-item__image::after{content:"";position:absolute;left:0;top:16px;width:56px;height:56px;border-radius:12px;background:var(--surface-2) center/28px no-repeat var(--msh-tix)}
body.msh-shop .wc-block-components-sidebar-layout.is-large{flex-wrap:nowrap;gap:28px;align-items:flex-start}
body.msh-shop .wc-block-components-sidebar-layout.is-large>.wc-block-components-main{width:auto;flex:1 1 0;min-width:0;padding-right:0}
body.msh-shop .wc-block-components-sidebar-layout.is-large>.wc-block-cart__main{padding-right:20px}
body.msh-shop .wc-block-components-sidebar-layout.is-large>.wc-block-components-sidebar{flex:0 0 35%;width:35%;margin-top:0}
body.msh-shop .wc-block-components-sidebar-layout:not(.is-large)>.wc-block-components-sidebar{margin-top:16px}
body.msh-shop .wc-block-components-sidebar :is(.wc-block-components-totals-item,.wc-block-components-order-summary,.wc-block-components-totals-coupon,.wc-block-components-panel__button){padding-left:0!important;padding-right:0!important}
body.msh-shop .woocommerce table.cart td.actions .coupon .input-text{min-width:180px;min-height:48px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line-2);border-radius:10px;padding:0 12px}
body.msh-shop :is(.wc-block-cart-item__image,.wc-block-components-order-summary-item__image) img{opacity:0}
body.msh-shop .wc-block-components-order-summary-item__quantity{background:var(--red)!important;color:#fff!important;border:2px solid var(--surface)!important;box-shadow:none!important;font-weight:800}
body.msh-shop .wc-block-cart-item__remove-link{color:var(--muted)!important}
body.msh-shop .wc-block-cart-item__remove-link:hover{color:var(--red)!important}

/* Riepilogo (carrello e checkout): una sola card */
body.msh-shop .wc-block-components-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 20px 18px!important}
body.msh-shop .wc-block-components-sidebar :is(.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block,.wc-block-components-panel){background:transparent;border:0;border-radius:0;padding-left:0;padding-right:0}
body.msh-shop .wc-block-components-sidebar .wc-block-components-totals-wrapper{padding-left:0!important;padding-right:0!important}
body.msh-shop :is(.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title-text,.wp-block-woocommerce-cart-order-summary-heading-block){font-family:var(--f-cond)!important;font-weight:800!important;text-transform:uppercase;font-size:20px!important;letter-spacing:.02em;color:var(--ink)!important}
body.msh-shop .wc-block-components-checkout-order-summary__title{padding-left:0;padding-right:0}
body.msh-shop .wc-block-components-totals-item__label{color:var(--ink-2)}
body.msh-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,body.msh-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:24px;color:var(--ink)!important}
body.msh-shop .msh-split-box{padding-top:12px!important;padding-bottom:12px!important;border-top:1px solid var(--line)}
body.msh-shop .msh-split-box .msh-split{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:3px 0;color:var(--ink-2)}
body.msh-shop .msh-split-box .wc-block-components-totals-item__value{font-weight:700;color:var(--ink)}
body.msh-shop .wc-block-cart__submit{margin-top:14px}
body.msh-shop .wc-block-components-totals-coupon :is(.wc-block-components-panel__button,button){color:var(--ink-2)!important;border:0!important;background:transparent!important}

/* Checkout a blocchi */
body.msh-shop .wc-block-checkout__main .wc-block-components-checkout-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 8px;margin:0 0 16px}
body.msh-shop .wc-block-components-checkout-step::after,body.msh-shop .wc-block-components-checkout-step__container::after{display:none!important}
body.msh-shop .wc-block-components-checkout-step__heading{margin:0 0 14px}
body.msh-shop .wc-block-components-checkout-step__title{font-size:20px!important}
body.msh-shop :is(.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option){border-radius:12px!important;box-shadow:none!important}
body.msh-shop .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,body.msh-shop .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 2px var(--royal)!important}
body.msh-shop .wc-block-components-radio-control--highlight-checked::after{border-color:var(--line-2)!important;border-radius:12px}
body.msh-shop .wc-block-checkout__terms{color:var(--ink-2);border-color:var(--line)!important}
body.msh-shop .wc-block-checkout__terms a,body.msh-shop .wc-block-components-address-form__address_2-toggle{color:var(--royal)!important}
body.msh-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{min-height:56px;font-size:19px!important}
body.msh-shop .wc-block-components-checkout-return-to-cart-button{color:var(--ink-2)!important}
body.msh-shop :is(.wc-blocks-components-select__container,.wc-blocks-components-select .wc-blocks-components-select__select){background:var(--surface)!important;color:var(--ink)!important;border-radius:10px!important}
body.msh-shop .wc-blocks-components-select .wc-blocks-components-select__select{border:1.5px solid var(--line-2)!important}
body.msh-shop .wc-block-components-textarea{background:var(--surface)!important;color:var(--ink)!important;border:1.5px solid var(--line-2)!important;border-radius:10px!important}

/* Carrello e checkout classici */
body.msh-shop .woocommerce table.shop_table .product-thumbnail{display:none}
body.msh-shop .woocommerce table.shop_table td.product-name a{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:19px;color:var(--ink);text-decoration:none}
body.msh-shop .woocommerce table.shop_table dl.variation,body.msh-shop .woocommerce table.shop_table .wc-item-meta{font-size:13.5px;color:var(--ink-2);margin:6px 0 0}
body.msh-shop .woocommerce table.shop_table tr.msh-split :is(th,td){font-weight:400;color:var(--ink-2);padding-top:9px;padding-bottom:9px}
body.msh-shop .woocommerce table.shop_table tr.order-total :is(th,td){font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:22px}
body.msh-shop .woocommerce .cart-collaterals .cart_totals{padding:20px;border:1px solid var(--line)}
body.msh-shop .woocommerce .cart-collaterals .cart_totals table.shop_table{border:0!important;background:transparent}
body.msh-shop .woocommerce a.remove{color:var(--muted)!important;background:transparent!important}
body.msh-shop .woocommerce a.remove:hover{color:var(--red)!important}
body.msh-shop .woocommerce-checkout #payment{border:1px solid var(--line);padding:6px 4px}
body.msh-shop .woocommerce-checkout #payment ul.payment_methods{border-color:var(--line)!important}
body.msh-shop .woocommerce form .form-row .select2-container .select2-selection,body.msh-shop .woocommerce form .form-row select{background:var(--surface)!important;color:var(--ink)!important;border:1.5px solid var(--line-2)!important;border-radius:10px!important;min-height:48px}
body.msh-shop .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink)!important;line-height:46px}
body.msh-shop .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
body.msh-shop .woocommerce .cart-collaterals .cart_totals{box-sizing:border-box}
@media (max-width:768px){
	body.msh-shop .woocommerce table.shop_table_responsive tr td.product-name :is(dl.variation,.wc-item-meta){clear:both;text-align:left;padding-top:6px}
	body.msh-shop .woocommerce table.shop_table_responsive tr td.product-name dl.variation :is(dt,dd){float:none;display:inline;margin:0}
	body.msh-shop .woocommerce table.shop_table_responsive tr td.product-name dl.variation dd::after{content:"";display:block}
	body.msh-shop .woocommerce table.shop_table_responsive tr td.product-name dl.variation dd p{display:inline;margin:0}
	body.msh-shop .woocommerce table.cart td.actions .coupon{display:flex;flex-direction:column;gap:10px;float:none;padding-bottom:10px}
	body.msh-shop .woocommerce table.cart td.actions .coupon .input-text{width:100%!important;box-sizing:border-box;float:none}
	body.msh-shop .woocommerce table.cart td.actions :is(.button,button){width:100%!important;float:none}
	body.msh-shop .woocommerce .cart-collaterals .cart_totals{width:100%;float:none}
}

/* Ordine ricevuto */
body.msh-shop .woocommerce-order>p.woocommerce-notice{font-size:18px;color:var(--ink-2);margin:0 0 18px}
body.msh-shop .woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0 0 26px;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
body.msh-shop .woocommerce ul.order_details::before,body.msh-shop .woocommerce ul.order_details::after{display:none}
body.msh-shop .woocommerce ul.order_details li{float:none;margin:0;padding:14px 18px;border:0;border-right:1px solid var(--line);font-size:11.5px;font-weight:800;letter-spacing:.08em;color:var(--muted);overflow-wrap:anywhere}
body.msh-shop .woocommerce ul.order_details li strong{display:block;margin-top:4px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:800}
body.msh-shop .woocommerce-order section{margin:0 0 26px}
body.msh-shop .woocommerce .woocommerce-customer-details address{background:var(--surface);border:1px solid var(--line)!important;border-radius:var(--radius);padding:16px 18px}
body.msh-shop .woocommerce-order .wc-block-order-confirmation-additional-fields-wrapper,body.msh-shop .woocommerce-order dl{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
body.msh-shop .woocommerce table.shop_table tfoot :is(th,td){font-weight:700}

/* ============ 0.7.5 · Accrediti: tipologie attive, quantità, calcolo ============ */
.msh .msh-acc-types.msh-acc-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.msh .msh-acc-types.msh-acc-n1{grid-template-columns:minmax(0,1fr)}
@media (max-width:860px){.msh .msh-acc-types.msh-acc-n2{grid-template-columns:minmax(0,1fr)}}
.msh div.msh-acc-type{cursor:default}
.msh div.msh-acc-type:hover{transform:none}
.msh.msh-acc-intro{color:#D3DDF1;font-family:var(--f-body);font-size:18px;line-height:1.6;margin:0}
.msh .msh-acc-qty .msh-stepper{display:flex;width:max-content}
.msh .msh-acc-qty small{display:block;margin-top:6px;font-size:13px}
.msh .msh-acc-calc{border:1.5px dashed var(--line-2);border-radius:14px;padding:14px 16px;background:var(--surface-2)}
.msh .msh-acc-calc .r{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:5px 0;color:var(--ink)}
.msh .msh-acc-calc .r small{color:var(--muted);font-weight:400}
.msh .msh-acc-calc .r.tot{border-top:1px solid var(--line-2);margin-top:6px;padding-top:10px;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:19px}
.msh .msh-acc-calc .n{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.45}

/* ============ 0.8.0 · Documenti legali, consensi, video ============ */
.msh.msh-legal{max-width:860px;color:var(--ink-2);font-size:16.5px;line-height:1.65}
.msh.msh-legal h2{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.4vw,28px);line-height:1.15;color:var(--ink);margin:34px 0 10px}
.msh.msh-legal h3{font-family:var(--f-body);font-weight:800;font-size:18px;color:var(--ink);margin:22px 0 6px}
.msh.msh-legal p{margin:0 0 12px}
.msh.msh-legal ul{margin:0 0 14px;padding-left:22px}
.msh.msh-legal li{margin:0 0 6px}
.msh.msh-legal a{color:var(--royal);text-decoration:underline}
.msh.msh-legal strong{color:var(--ink)}
.msh.msh-legal table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:14.5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.msh.msh-legal :is(th,td){text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.msh.msh-legal thead th{border-top:0;background:var(--surface-2);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.msh.msh-legal code{font-size:13px;background:var(--surface-2);padding:1px 5px;border-radius:5px}
@media (max-width:600px){.msh.msh-legal table,.msh.msh-legal tbody,.msh.msh-legal tr,.msh.msh-legal td{display:block}.msh.msh-legal thead{display:none}.msh.msh-legal tr{border-top:1px solid var(--line);padding:8px 0}.msh.msh-legal td{border:0;padding:3px 12px}}
.msh-legal-links{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px;line-height:1.4}
.msh-legal-links a{color:inherit;text-decoration:none}
.msh-legal-links a:hover,.msh-legal-links a:focus-visible{text-decoration:underline;color:#fff}
.msh-footer .msh-legal-links{color:#A9BADD}
.msh .msh-check-strong{background:var(--surface-2);border:1px dashed var(--line-2);border-radius:12px;padding:12px 14px}
.msh .msh-check .msh-opt{color:var(--muted);font-weight:400}
.msh.msh-video{position:relative;aspect-ratio:16/9;background:#06122b;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.msh.msh-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.msh.msh-video .msh-video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;color:#D3DDF1;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 14px,transparent 14px 28px)}
.msh.msh-video .msh-video-ph p{margin:0;max-width:46ch;font-size:15.5px;line-height:1.5}

/* ============ 0.8.1 · Pass: griglia per N pass, schede complete ============ */
.msh.msh-passes.msh-passes-n1{grid-template-columns:minmax(0,1fr);max-width:520px;margin-left:auto;margin-right:auto}
.msh.msh-passes.msh-passes-n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-left:auto;margin-right:auto}
.msh.msh-passes.msh-passes-n4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media (max-width:820px){.msh.msh-passes.msh-passes-n2{grid-template-columns:minmax(0,1fr);max-width:520px}}
.msh .msh-pass .head .hl{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:17px;line-height:1.2;letter-spacing:.02em;color:var(--ink);margin:10px 0 6px;max-width:28ch}
.msh.msh-pass-sheets{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.msh.msh-pass-sheets.msh-passes-n1{grid-template-columns:minmax(0,1fr);max-width:820px}
.msh.msh-pass-sheets.msh-passes-n3,.msh.msh-pass-sheets.msh-passes-n4{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media (max-width:900px){.msh.msh-pass-sheets{grid-template-columns:minmax(0,1fr)!important}}
.msh .msh-pass-sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 26px;border-top:6px solid var(--royal)}
.msh .msh-pass-sheet.featured{border-top-color:var(--red)}
.msh .msh-pass-sheet .wm{display:block;height:54px;width:auto;max-width:100%;object-fit:contain;object-position:left;filter:var(--wm-filter,none);margin:0 0 16px}
.msh .msh-pass-sheet .hl{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.3vw,28px);line-height:1.1;color:var(--ink);margin:0 0 8px}
.msh .msh-pass-sheet .sub{font-size:17px;font-weight:700;color:var(--royal);line-height:1.4;margin:0 0 14px}
.msh .msh-pass-sheet .desc{color:var(--ink-2);font-size:16px;line-height:1.6}
.msh .msh-pass-sheet .desc p{margin:0 0 12px}
.msh .msh-pass-sheet h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--red);margin:20px 0 10px}
.msh .msh-pass-sheet ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.msh .msh-pass-sheet li{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:15.5px;line-height:1.45}
.msh .msh-pass-sheet li .msh-ic,.msh .msh-pass-sheet li svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--royal)}
.msh .msh-pass-sheet .foot{margin-top:22px}

/* 0.8.1 · antispam: avviso di invio bloccato, riquadro captcha */
.msh.msh-guard-notice{position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:99999;max-width:min(640px,calc(100vw - 24px));background:#fff;color:#1B2A4A;border:2px solid #E4002B;border-radius:14px;box-shadow:0 18px 40px -12px rgba(0,0,0,.45);padding:14px 46px 14px 18px;font-size:15.5px;line-height:1.45}
.msh.msh-guard-notice b{color:#E4002B}
.msh.msh-guard-notice button{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#5B6B8C}
.msh .msh-captcha{grid-column:1/-1;margin:4px 0}

/* =====================================================================
   PASS · "La tua serata, minuto per minuto" (0.8.3) — [mishow_pass_serata]
   ===================================================================== */
.msh.msh-serata{color:var(--ink);width:100%}
.msh-serata .ps-w{max-width:1220px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}
.msh-serata .ps-sec{padding:clamp(40px,6vw,84px) 0}
.msh-serata .ps-pin{background-image:repeating-linear-gradient(90deg,transparent 0 26px,var(--stripe) 26px 28px)}
.msh-serata .ps-alt{background-color:var(--surface)}
.msh-serata h1,.msh-serata h2,.msh-serata h3,.msh-serata h4{margin:0;line-height:1.02;color:inherit}
.msh-serata p{margin:0}
.msh-serata .ps-ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.msh-serata .ps-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.msh-serata .ps-eyebrow .msh-star{width:12px;height:12px}
.msh-serata .ps-btns{display:flex;flex-wrap:wrap;gap:12px}
.msh-serata .msh-btn{white-space:normal;text-align:center;line-height:1.1;height:auto;padding-block:6px}
.msh-serata .ps-ghost-light{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.5)}
.msh-serata .ps-ghost-light:hover{--bd:#fff;color:#fff}
.msh-serata .ps-addon{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--radius-sm);background:var(--royal-soft);color:var(--ink);font-weight:700;font-size:15.5px;line-height:1.4;border-left:4px solid var(--royal)}
.msh-serata .ps-addon .ps-ico{font-size:22px;color:var(--royal);margin-top:1px}

/* Hero */
.msh-serata .ps-hero{position:relative;color:#fff;overflow:hidden;background:#03102A}
.msh-serata .ps-hero .bg{position:absolute;inset:0}
.msh-serata .ps-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.msh-serata .ps-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,56,.95) 0%,rgba(8,30,74,.82) 50%,rgba(8,30,74,.45) 100%)}
.msh-serata .ps-hero .ps-w{position:relative;padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,48px);display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:end}
.msh-serata .ps-crumbs{grid-column:1/-1;font-size:14px;display:flex;gap:8px;flex-wrap:wrap;color:#B8C6E4}
.msh-serata .ps-crumbs a{color:#B8C6E4;text-decoration:none}
.msh-serata .ps-crumbs a:hover{text-decoration:underline;color:#fff}
.msh-serata .ps-hero h1{color:#fff;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,5vw,62px);line-height:1;margin:10px 0 12px}
.msh-serata .ps-hero p{color:#D3DDF1;font-size:17.5px;max-width:52ch}
.msh-serata .ps-hero .ps-eyebrow{color:#FF7088}
.msh-serata .ps-hero .side{display:grid;gap:14px;justify-items:start}
.msh-serata .ps-hero .ps-addon{background:rgba(255,255,255,.1);color:#fff;border-left-color:#fff;max-width:none;justify-self:stretch}
.msh-serata .ps-hero .ps-addon span{color:#fff}
.msh-serata .ps-hero .ps-addon .ps-ico{color:#fff}
.msh-serata .ps-hero .msh-sale,.msh-serata .ps-notify .msh-sale{background:rgba(3,16,42,.6);color:#fff;border-color:rgba(255,255,255,.4)}
@media (max-width:860px){.msh-serata .ps-hero .ps-w{grid-template-columns:minmax(0,1fr)}}

/* Selettore tappa */
.msh-serata .ps-stagebar{display:grid;gap:10px;margin-bottom:26px;scroll-margin-top:120px}
.msh-serata .ps-stagebar .lbl{font-family:var(--f-cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:15px;color:var(--muted)}
.msh-serata .ps-pills{display:grid;grid-template-columns:repeat(var(--n,8),minmax(0,1fr));gap:8px}
.msh-serata .ps-pills button{appearance:none;font:inherit;color:var(--ink);border:1.5px solid var(--line-2);background:var(--surface);border-radius:12px;padding:8px 6px;cursor:pointer;display:grid;gap:1px;text-align:center;line-height:1.15;min-height:60px;min-width:0;transition:border-color .15s,background .15s}
.msh-serata .ps-pills button b{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:19px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis}
.msh-serata .ps-pills button span{font-size:12.5px;color:var(--muted);font-weight:700}
.msh-serata .ps-pills button:hover{border-color:var(--ink)}
.msh-serata .ps-pills button[aria-checked="true"]{background:var(--red);border-color:var(--red);color:#fff}
.msh-serata .ps-pills button[aria-checked="true"] span{color:#fff}
.msh-serata .ps-pills button:focus-visible,.msh-serata .ps-blk:focus-visible{outline:3px solid var(--royal);outline-offset:3px}
@media (max-width:980px){.msh-serata .ps-pills{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:420px){.msh-serata .ps-pills button b{font-size:17px}.msh-serata .ps-pills button span{font-size:11.5px}}

/* Linea del tempo */
.msh-serata .ps-tl{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 34px 16px;box-shadow:var(--shadow)}
.msh-serata .ps-tl-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:14px}
.msh-serata .ps-tl-head h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:24px;letter-spacing:.02em}
.msh-serata .ps-tl-head p{font-size:14px;color:var(--muted)}
.msh-serata .ps-tl-body{position:relative;background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(15 / var(--span) * 100%));border-right:1px dashed var(--line)}
.msh-serata .ps-lane{position:relative;height:74px}
.msh-serata .ps-lane + .ps-lane{border-top:1px dashed var(--line)}
.msh-serata .ps-it{position:absolute;top:10px;bottom:10px;left:calc((var(--s) - var(--min)) / var(--span) * 100%);width:calc(var(--d) / var(--span) * 100%);box-sizing:border-box;min-width:0}
.msh-serata .ps-door{border-radius:10px;background:repeating-linear-gradient(135deg,var(--royal-soft) 0 8px,transparent 8px 16px);border:1.5px dashed var(--royal);color:var(--ink);display:flex;align-items:center;padding:0 10px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:15.5px;line-height:1.05;overflow:hidden}
.msh-serata .ps-cap{display:flex;align-items:center;font-size:13.5px;line-height:1.3;color:var(--ink-2);padding:0 12px}
.msh-serata .ps-cap span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.msh-serata .ps-cap.r{justify-content:flex-end;text-align:right}
.msh-serata .ps-blk{appearance:none;font:inherit;border:0;border-radius:12px;cursor:pointer;background:var(--pc,#0057B8);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 12px;text-align:left;line-height:1.05;text-decoration:none;box-shadow:0 8px 18px -10px rgba(0,0,0,.6);transition:transform .15s,box-shadow .15s;overflow:visible;z-index:1}
.msh-serata .ps-blk .nm{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:20px;letter-spacing:.03em;white-space:nowrap}
.msh-serata .ps-blk .mt{font-size:12.5px;font-weight:800;opacity:.92;white-space:nowrap}
.msh-serata .ps-blk:hover{transform:translateY(-3px);color:#fff}
.msh-serata .ps-blk[aria-selected="true"]{outline:3px solid var(--ink);outline-offset:3px}
.msh-serata .ps-blk[aria-selected="true"]::after{content:"";position:absolute;left:50%;bottom:-11px;width:0;height:0;border:8px solid transparent;border-top-color:var(--ink);transform:translateX(-50%)}
.msh-serata .ps-show{border-radius:12px 0 0 12px;background:linear-gradient(90deg,var(--ink) 0 55%,transparent);color:var(--paper);display:flex;align-items:center;gap:8px;padding:0 12px;font-family:var(--f-display);text-transform:uppercase;font-size:17px;white-space:nowrap;overflow:hidden}
.msh-serata .ps-show .msh-star{width:14px;height:14px;flex:none}
.msh-serata .ps-axis{position:relative;height:50px;border-top:2px solid var(--ink)}
.msh-serata .ps-tick{position:absolute;top:0;left:calc((var(--t) - var(--min)) / var(--span) * 100%);transform:translateX(-50%);display:grid;justify-items:center;padding-top:8px;line-height:1.15}
.msh-serata .ps-tick::before{content:"";position:absolute;top:-2px;height:8px;width:2px;background:var(--ink)}
.msh-serata .ps-tick b{font-family:var(--f-cond);font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.04em}
.msh-serata .ps-tick i{font-style:normal;font-weight:800;font-size:14.5px;font-variant-numeric:tabular-nums}
.msh-serata .ps-tick.zero i,.msh-serata .ps-tick.zero b{color:var(--red)}
.msh-serata .ps-tl-foot{font-size:13.5px;color:var(--muted);margin-top:6px}
@media (max-width:900px){
  .msh-serata .ps-tl{--px:4.4px;padding:18px 14px 16px}
  .msh-serata .ps-tl-wrap{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0}
  .msh-serata .ps-tl-body{height:calc(var(--span) * var(--px));background-image:repeating-linear-gradient(180deg,var(--line) 0 1px,transparent 1px calc(15 / var(--span) * 100%));border-right:0;border-bottom:1px dashed var(--line);grid-column:2;grid-row:1}
  .msh-serata .ps-lane{position:absolute;inset:0;height:auto;border:0!important;pointer-events:none}
  .msh-serata .ps-lane > *{pointer-events:auto}
  .msh-serata .ps-it{left:10px;right:0;width:auto;bottom:auto;top:calc((var(--s) - var(--min)) * var(--px) + 3px);height:calc(var(--d) * var(--px) - 6px)}
  .msh-serata .ps-cap{display:none}
  .msh-serata .ps-blk{padding:0 14px}
  .msh-serata .ps-blk[aria-selected="true"]::after{display:none}
  .msh-serata .ps-show{border-radius:12px 12px 0 0;background:linear-gradient(180deg,var(--ink) 0 55%,transparent);align-items:flex-start;padding-top:10px}
  .msh-serata .ps-axis{grid-column:1;grid-row:1;height:calc(var(--span) * var(--px));border-top:0;border-right:2px solid var(--ink)}
  .msh-serata .ps-tick{left:auto;right:0;top:calc((var(--t) - var(--min)) * var(--px));transform:translateY(-50%);padding:0 12px 0 0;justify-items:end;text-align:right}
  .msh-serata .ps-tick::before{top:50%;right:-2px;width:8px;height:2px}
  .msh-serata .ps-tick.first{transform:translateY(-10%)}
}

/* Scheda del pass */
.msh-serata .ps-panel{margin-top:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow);scroll-margin-top:110px}
.msh-serata .ps-panel[hidden]{display:none}
.msh-serata .ps-panel:focus{outline:none}
.msh-serata .ps-panel .top{display:grid;grid-template-columns:5fr 7fr}
.msh-serata .ps-panel .ph{position:relative;min-height:340px;background:var(--panel)}
.msh-serata .ps-panel .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 35%}
.msh-serata .ps-panel .ph .tag{position:absolute;left:14px;top:14px;background:var(--pc);color:#fff;font-family:var(--f-cond);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:15px;padding:5px 12px;border-radius:999px}
.msh-serata .ps-panel .tx{padding:clamp(20px,3vw,36px);display:grid;gap:12px;align-content:start;min-width:0}
.msh-serata .ps-panel .tx .wmk{height:54px;width:auto;max-width:100%;justify-self:start;object-fit:contain}
.msh-serata .ps-panel .tx .wmk-t{font-family:var(--f-display);font-size:28px;text-transform:uppercase}
.msh-serata .ps-panel h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.4vw,42px);letter-spacing:.005em}
.msh-serata .ps-panel .sub{font-weight:800;color:var(--ink);font-size:17.5px;line-height:1.4}
.msh-serata .ps-panel .desc{color:var(--ink-2);font-size:16px;line-height:1.55}
.msh-serata .ps-panel .desc p + p{margin-top:10px}
.msh-serata .ps-panel .bot{display:grid;grid-template-columns:7fr 5fr;gap:0;border-top:1px solid var(--line)}
.msh-serata .ps-panel .inc{padding:clamp(20px,3vw,32px);min-width:0}
.msh-serata .ps-panel h4{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:16px;color:var(--muted);margin-bottom:14px}
.msh-serata .ps-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.msh-serata .ps-tile{background:var(--surface-2);border-radius:12px;padding:14px;display:grid;gap:10px;align-content:start;font-size:14.5px;line-height:1.35;font-weight:700;color:var(--ink)}
.msh-serata .ps-tile .ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pc);color:#fff;font-size:22px}
.msh-serata .ps-arrive{padding:clamp(20px,3vw,32px);background:var(--panel);color:#fff;display:grid;gap:14px;align-content:start;background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.045) 22px 24px);min-width:0}
.msh-serata .ps-arrive h4{color:#9FB2D8;margin:0}
.msh-serata .ps-arrive .where{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:24px;letter-spacing:.02em;line-height:1.1;color:#fff}
.msh-serata .ps-arrive ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.msh-serata .ps-arrive li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding-top:10px;border-top:1px dashed rgba(255,255,255,.22)}
.msh-serata .ps-arrive li b{font-family:var(--f-display);font-weight:400;font-size:32px;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.msh-serata .ps-arrive li.key b{color:#FF6A82}
.msh-serata .ps-arrive li span{font-size:14.5px;line-height:1.35;color:#D3DDF1}
.msh-serata .ps-arrive li span strong{color:#fff;display:block;font-size:15.5px}
.msh-serata .ps-arrive .note{font-size:13.5px;color:#9FB2D8;line-height:1.4}
@media (max-width:900px){
  .msh-serata .ps-panel .top,.msh-serata .ps-panel .bot{grid-template-columns:minmax(0,1fr)}
  .msh-serata .ps-panel .ph{min-height:0;aspect-ratio:16/10}
}
@media (max-width:560px){.msh-serata .ps-w{padding-inline:16px}.msh-serata .ps-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.msh-serata .ps-arrive li{grid-template-columns:80px minmax(0,1fr)}.msh-serata .ps-arrive li b{font-size:28px}}
.msh-serata .ps-both{margin-top:22px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:18px 22px;border-radius:16px;border:1.5px dashed var(--line-2)}
.msh-serata .ps-both p{font-weight:700;max-width:60ch}

/* Domande rapide + avvisami */
.msh-serata .ps-faq{border-top:5px solid transparent;border-image:var(--tricolor) 1}
.msh-serata .ps-faq-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(20px,4vw,56px);align-items:start}
.msh-serata .ps-faq h2{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(32px,4vw,48px);margin-top:10px}
.msh-serata .ps-faq .msh-ans strong{color:var(--ink)}
@media (max-width:900px){.msh-serata .ps-faq-g{grid-template-columns:minmax(0,1fr)}}
.msh-serata #avvisami{scroll-margin-top:90px}
.msh-serata .ps-notify{position:relative;background:var(--panel);color:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:6fr 5fr}
:root:not([data-theme="light"]) .msh-serata .ps-notify{box-shadow:inset 0 0 0 1px var(--line-2)}
.msh-serata .ps-notify .c{position:relative;padding:clamp(24px,4vw,52px);display:grid;gap:16px;align-content:center;justify-items:start;background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.045) 22px 24px);min-width:0}
.msh-serata .ps-notify h2{color:#fff;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.6vw,46px);line-height:1}
.msh-serata .ps-notify p{color:#D3DDF1}
.msh-serata .ps-notify .ph{position:relative;min-height:260px}
.msh-serata .ps-notify .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.msh-serata .ps-notify .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--panel) 0%,transparent 45%)}
.msh-serata .ps-nform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%}
.msh-serata .ps-nform label{display:grid;gap:4px;font-size:13px;font-weight:800;color:#9FB2D8;letter-spacing:.06em;text-transform:uppercase;min-width:0}
.msh-serata .ps-nform input[type=email],.msh-serata .ps-nform select{min-height:48px;border-radius:10px;border:1.5px solid rgba(255,255,255,.35);background-color:rgba(255,255,255,.08);color:#fff;padding:0 14px;font:inherit;font-size:16px;font-weight:700;width:100%;text-transform:none;letter-spacing:0;box-sizing:border-box}
.msh-serata .ps-nform select option{color:#0B2D6B;background:#fff}
.msh-serata .ps-nform input::placeholder{color:#9FB2D8;font-weight:600}
.msh-serata .ps-nform .ps-chk{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:#D3DDF1;line-height:1.4}
.msh-serata .ps-nform .ps-chk input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--red)}
.msh-serata .ps-nform .ps-chk a{color:#fff}
.msh-serata .ps-nform .msh-btn{grid-column:1/-1}
.msh-serata .ps-err{color:#FFB3C0!important;font-weight:700;font-size:14.5px}
.msh-serata .ps-nok{display:flex;gap:14px;align-items:flex-start;background:rgba(60,201,133,.14);border:1.5px solid #3CC985;border-radius:14px;padding:16px;width:100%;box-sizing:border-box}
.msh-serata .ps-nok .ps-ico{font-size:28px;color:#3CC985;margin-top:2px}
.msh-serata .ps-nok b{display:block;font-family:var(--f-cond);font-size:22px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.msh-serata .ps-nok p{font-size:15px;margin-top:4px}
@media (max-width:900px){.msh-serata .ps-notify{grid-template-columns:minmax(0,1fr)}.msh-serata .ps-notify .ph{min-height:0;aspect-ratio:16/8;order:-1}.msh-serata .ps-notify .ph::after{background:linear-gradient(0deg,var(--panel) 0%,transparent 55%)}}
@media (max-width:520px){.msh-serata .ps-nform{grid-template-columns:minmax(0,1fr)}}

/* Teaser per la home */
.msh-serata-mini .ps-tl-head{align-items:center}
.msh-serata-mini .ps-mini-sel select{min-height:42px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--surface-2);color:var(--ink);padding:0 12px;font:inherit;font-weight:700;font-size:15px;max-width:100%}
.msh-serata-mini .ps-mini-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.msh-serata-mini .ps-mini-foot .ps-addon{flex:1 1 320px}
/* Contenitore Elementor della pagina pass: senza margini, la pagina la disegna lo shortcode */
.e-con.msh-serata-box{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;padding:0}
/* Il tema ricolora i <button> al passaggio/fuoco: qui restano com'erano */
.msh-serata button.ps-blk,.msh-serata button.ps-blk:hover,.msh-serata button.ps-blk:focus{background:var(--pc,#0057B8);color:#fff}
.msh-serata .ps-pills button:hover,.msh-serata .ps-pills button:focus{background:var(--surface);color:var(--ink)}
.msh-serata .ps-pills button[aria-checked="true"],.msh-serata .ps-pills button[aria-checked="true"]:hover,.msh-serata .ps-pills button[aria-checked="true"]:focus{background:var(--red);color:#fff}

/* 0.8.4 · testi lunghi (email, codici, IBAN) dentro colonne strette: non escono più dal riquadro */
.msh .msh-side{min-width:0}
.msh .msh-side .who > div{min-width:0;flex:1 1 0}
.msh .msh-side .who .av{flex:none}
.msh .msh-side .who .em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msh .msh-break,.msh-break{overflow-wrap:anywhere;word-break:break-word}
.msh .msh-kv dd{min-width:0;overflow-wrap:anywhere}
.msh .msh-iban{min-width:0;flex-wrap:wrap}
.msh .msh-iban > span{min-width:0;overflow-wrap:anywhere}
.msh .ord,.msh .ord > *{min-width:0}

/* =====================================================================
   HOME (0.8.5) · barra percorsi, card dei pass, "Venite in tanti?"
   ===================================================================== */
.msh.msh-home{color:var(--ink);width:100%}
.msh-home .hm-w{max-width:1220px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}
.msh-home h2,.msh-home h3,.msh-home p{margin:0;color:inherit}
.msh-home .ps-ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.msh-home .hm-tlink{color:var(--royal);font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;display:inline-flex;align-items:center;gap:6px;line-height:1.3}
.msh-home .hm-tlink .msh-ic{width:16px;height:16px}
.msh-home .hm-tlink:hover{color:var(--red)}
/* Barra percorsi */
.msh-percorsi{background:var(--surface);padding:22px 0 20px}
.msh-percorsi .hm-paths{display:grid;grid-template-columns:1fr 1.35fr 1fr;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.msh-percorsi .hm-path{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:16px 20px;min-width:0;scroll-margin-top:120px}
.msh-percorsi .hm-path + .hm-path{border-left:1px solid var(--line)}
.msh-percorsi .hm-path .ic{grid-row:span 2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:var(--royal-soft);color:var(--royal);align-self:start}
.msh-percorsi .hm-path.mid{background:var(--surface-2)}
.msh-percorsi .hm-path.mid .ic{background:var(--red);color:#fff}
.msh-percorsi .hm-path h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:22px;letter-spacing:.02em;line-height:1.1}
.msh-percorsi .act{min-width:0;font-size:14.5px}
.msh-percorsi .hm-codef{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:0}
.msh-percorsi .hm-codef input[type=text]{min-width:0;width:100%;min-height:42px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink);padding:0 16px;font:inherit;font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;box-sizing:border-box}
.msh-percorsi .hm-codef input::placeholder{color:var(--muted);font-weight:700}
.msh-percorsi .hm-codef input[aria-invalid=true]{border-color:var(--red)}
.msh-percorsi .hm-codef .msh-btn{min-height:42px}
.msh-percorsi .hm-codef .msg{grid-column:1/-1;font-size:13.5px;font-weight:700;line-height:1.35;color:var(--red-ink)}
.msh-percorsi .hm-paths-foot{margin-top:10px;font-size:13.5px;color:var(--muted);text-align:right}
.msh-percorsi .hm-paths-foot a{color:var(--ink-2);font-weight:700}
@media (max-width:900px){.msh-percorsi .hm-paths{grid-template-columns:minmax(0,1fr)}.msh-percorsi .hm-path + .hm-path{border-left:0;border-top:1px solid var(--line)}.msh-percorsi .hm-path{padding:12px 16px}.msh-percorsi .hm-paths-foot{text-align:left}}
@media (max-width:560px){.msh-home .hm-w{padding-inline:16px}.msh-percorsi .hm-codef input[type=text]{padding:0 12px;font-size:14px;letter-spacing:.02em}.msh-percorsi .hm-path.mid .act{grid-column:1/-1}}
/* Card dei pass ("porte sul campo") */
.msh-serata-card .ps-gates{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:clamp(18px,3vw,36px);padding:8px 6px 0}
.msh-serata-card .ps-gate{--pc:var(--royal);position:relative;min-height:540px;border-radius:18px;overflow:hidden;color:#fff;background:#03102A;border:2px solid var(--pc);outline:6px solid var(--surface);outline-offset:-8px;box-shadow:var(--shadow-lg);transform:rotate(-1.4deg);display:flex;align-items:flex-end;transition:transform .25s}
.msh-serata-card .ps-gate.alt{transform:rotate(1.4deg)}
.msh-serata-card .ps-gate:hover,.msh-serata-card .ps-gate:focus-within,.msh-serata-card .ps-gate.open{transform:rotate(0) translateY(-4px)}
.msh-serata-card .ps-gate > .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% 40%}
.msh-serata-card .ps-gate::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,16,42,.1) 0%,rgba(3,16,42,.5) 42%,rgba(3,16,42,.96) 100%)}
.msh-serata-card .ps-gate .no{position:absolute;z-index:2;left:22px;top:16px;font-family:var(--f-display);font-size:52px;line-height:1;color:var(--pc);-webkit-text-stroke:2px #fff;paint-order:stroke}
.msh-serata-card .ps-gate .in{position:relative;z-index:2;width:100%;padding:22px 26px 26px;display:grid;gap:12px;min-width:0}
.msh-serata-card .ps-gate .wmk{height:clamp(52px,5.4vw,74px);width:auto;max-width:80%;justify-self:start;object-fit:contain;object-position:left;filter:invert(1) hue-rotate(180deg)}
.msh-serata-card .ps-gate .wmk-t{font-family:var(--f-display);font-size:30px;text-transform:uppercase}
.msh-serata-card .ps-gate h3{color:#fff;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(25px,2.6vw,34px);line-height:1.02}
/* 0.10.2 · Le tre righe che spiegano il pass (Cos'è, Cosa fai, Quando): stesse regole in home, pagina pass e pagina tappa */
.msh .ps-facts{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.msh .ps-facts li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;font-size:15.5px;line-height:1.4;font-weight:600;color:var(--ink-2)}
.msh .ps-facts .ps-ico,.msh .ps-need .ps-ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.msh .ps-facts .ps-ico{font-size:22px;color:var(--royal);margin-top:2px}
.msh .ps-facts b{display:block;font-family:var(--f-cond);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;line-height:1.2;margin-bottom:2px}
.msh .ps-facts .ps-when{display:block;font-style:normal;font-weight:800;color:var(--ink);margin-top:4px}
.msh .ps-need{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:10px 12px;border-radius:10px;background:var(--royal-soft);color:var(--ink);font-weight:700;font-size:14.5px;line-height:1.35}
.msh .ps-need .ps-ico{font-size:20px;color:var(--royal);margin-top:1px}
.msh .msh-pass .msh-pass-facts{padding:20px 26px 0;display:grid;gap:14px}
.msh .msh-pass .msh-pass-facts ul{padding:0;flex:none}
.msh .msh-pass .msh-pass-facts li{display:grid}
.msh .msh-pass .msh-pass-facts + .perf{margin-top:20px}
.msh-serata-card .ps-facts{border-top:2px dashed rgba(255,255,255,.4);padding:14px 0 0;gap:10px}
.msh-serata-card .ps-facts li{font-size:15px;line-height:1.35;color:#EEF3FC}
.msh-serata-card .ps-facts .ps-ico{color:#FFD9A0}
.msh-serata-card .ps-facts b{color:#B9C8E6}
.msh-serata-card .ps-need{background:rgba(255,255,255,.14);color:#fff}
.msh-serata-card .ps-gate .in{padding-top:80px}
.msh-serata-card .ps-need .ps-ico{color:#fff}
.msh-serata-card .ps-gate::before{background:linear-gradient(180deg,rgba(3,16,42,.15) 0%,rgba(3,16,42,.72) 26%,rgba(3,16,42,.97) 58%)}
.msh-serata-card .ps-gate .tog,.msh-serata-card .ps-gate .tog:hover,.msh-serata-card .ps-gate .tog:focus{justify-self:start;border:1.5px solid rgba(255,255,255,.55);background:rgba(3,16,42,.4);color:#fff;border-radius:999px;min-height:40px;padding:0 16px;font-family:var(--f-cond);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.msh-serata-card .ps-gate .incl{position:absolute;z-index:3;inset:8px;border-radius:10px;background:rgba(3,16,42,.985);padding:22px 24px;display:grid;gap:12px;align-content:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.msh-serata-card .ps-gate .incl h4{color:#fff;font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:17px}
.msh-serata-card .ps-gate .incl ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.msh-serata-card .ps-gate .incl li{display:flex;gap:10px;font-weight:700;font-size:15.5px;line-height:1.35}
.msh-serata-card .ps-gate .incl li .ps-ico{font-size:20px;color:#fff;background:var(--pc);border-radius:50%;padding:4px;box-sizing:content-box;margin-top:-2px}
.msh-serata-card .ps-tlink{color:#fff;font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;display:inline-flex;align-items:center;gap:6px;justify-self:start}
.msh-serata-card .ps-tlink .msh-ic{width:16px;height:16px}
.msh-serata-card .ps-gate.open .incl{opacity:1;visibility:visible;transform:none}
@media (hover:hover){.msh-serata-card .ps-gate:hover .incl,.msh-serata-card .ps-gate:focus-within .incl{opacity:1;visibility:visible;transform:none}.msh-serata-card .ps-gate .tog{display:none}.msh-serata-card .ps-gate .incl .close{display:none}}
.msh-serata-card .ps-gate .incl .close,.msh-serata-card .ps-gate .incl .close:hover,.msh-serata-card .ps-gate .incl .close:focus{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center;font-size:24px;line-height:1;padding:0}
.msh-serata-card .ps-bothline{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;margin-top:26px;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:20px}
.msh-serata-card .ps-bothline .msh-star{width:14px;height:14px;color:var(--red)}
.msh-serata-card .ps-mini-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.msh-serata-card .ps-mini-foot .ps-addon{flex:1 1 320px;max-width:560px}
@media (max-width:800px){.msh-serata-card .ps-gates{grid-template-columns:minmax(0,1fr);padding-inline:2px}.msh-serata-card .ps-gate{min-height:480px;transform:rotate(-.8deg)}.msh-serata-card .ps-gate.alt{transform:rotate(.8deg)}.msh-serata-card .ps-gate .in{padding:18px 20px 22px}}
@media (max-width:800px){.msh-serata-card .ps-gate .in{padding-top:76px}}
@media (prefers-reduced-motion:reduce){.msh-serata-card .ps-gate,.msh-serata-card .ps-gate .incl{transition:none}}
/* Venite in tanti? */
.msh-tanti{background:var(--surface);padding:clamp(48px,7vw,96px) 0;scroll-margin-top:90px}
.msh-tanti .hm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 24px;flex-wrap:wrap;margin-bottom:26px}
.msh-tanti .hm-head h2{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.4vw,54px);line-height:1;margin-top:8px}
.msh-tanti .hm-head p{color:var(--ink-2);font-size:17px;line-height:1.5;max-width:44ch}
.msh-tanti .hm-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.msh-tanti .hm-eyebrow .msh-star{width:12px;height:12px}
.msh-tanti .tn-diff{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;margin-bottom:22px;background:var(--paper)}
.msh-tanti .tn-diff p{padding:12px 18px;font-size:15.5px;line-height:1.4;color:var(--ink-2)}
.msh-tanti .tn-diff p + p{border-left:1px solid var(--line-2)}
.msh-tanti .tn-diff b{font-family:var(--f-cond);font-size:18px;letter-spacing:.04em;text-transform:uppercase}
.msh-tanti .tn-diff .s b{color:var(--red-ink)}
.msh-tanti .tn-diff .g b{color:var(--royal)}
.msh-tanti .tn-tabs{display:none}
.msh-tanti .tn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(11,auto);column-gap:clamp(16px,2.4vw,28px);row-gap:0}
.msh-tanti.one .tn-grid{grid-template-columns:minmax(0,1fr);max-width:640px}
.msh-tanti.one .tn-diff{grid-template-columns:1fr}.msh-tanti.one .tn-diff .g{display:none}
/* Le due card condividono le stesse 11 righe (subgrid): testata, descrizione, chip, messaggio, 3 righe di campi, info, consenso, bottone, link */
.msh-tanti .tn-c{--pc:var(--red);--pc-soft:var(--red-soft);--pc-ink:var(--red-ink);grid-row:span 11;display:grid;grid-template-rows:subgrid;row-gap:14px;background:var(--paper);border:1px solid var(--line-2);border-top:6px solid var(--pc);border-radius:18px;padding:clamp(18px,2.6vw,30px);min-width:0}
.msh-tanti .tn-c.grp{--pc:var(--royal);--pc-soft:var(--royal-soft);--pc-ink:var(--royal)}
.msh-tanti .tn-form{grid-row:span 7;display:grid;grid-template-rows:subgrid;row-gap:14px;margin:0;min-width:0}
.msh-tanti .tn-hd{display:flex;gap:14px;align-items:center;min-width:0}
.msh-tanti .tn-hd .ic{width:50px;height:50px;border-radius:50%;background:var(--pc);color:#fff;display:grid;place-items:center;font-size:26px;flex:none}
.msh-tanti .tn-hd > div{min-width:0;display:grid;gap:2px}
.msh-tanti .tn-hd .occ{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pc-ink);line-height:1.2}
.msh-tanti .tn-hd h3{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(26px,2.8vw,34px);line-height:1}
.msh-tanti .tn-desc{color:var(--ink-2);font-size:15.5px;line-height:1.4}
.msh-tanti .tn-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.msh-tanti .tn-chip,.msh-tanti button.tn-chip:hover,.msh-tanti button.tn-chip:focus{appearance:none;font:inherit;display:flex;align-items:center;gap:8px;min-height:56px;height:100%;box-sizing:border-box;padding:8px 10px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:800;font-size:13.5px;line-height:1.2;text-align:left;min-width:0;margin:0}
.msh-tanti .tn-chip .ps-ico{font-size:20px;color:var(--pc-ink)}
.msh-tanti .tn-chip span{min-width:0;overflow-wrap:anywhere}
.msh-tanti button.tn-chip{cursor:pointer}
.msh-tanti button.tn-chip:hover{border-color:var(--ink)}
.msh-tanti button.tn-chip[aria-pressed="true"],.msh-tanti button.tn-chip[aria-pressed="true"]:hover,.msh-tanti button.tn-chip[aria-pressed="true"]:focus{background:var(--pc-soft);border-color:var(--pc)}
.msh-tanti button.tn-chip:focus-visible{outline:3px solid var(--royal);outline-offset:2px}
.msh-tanti .tn-msg:empty{display:block;min-height:0;margin-top:-14px}
.msh-tanti .tn-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.msh-tanti .tn-f{display:grid;gap:4px;min-width:0}
.msh-tanti .tn-f.full{grid-column:1/-1}
.msh-tanti .tn-f label{font-size:12.5px;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msh-tanti .tn-f label small{text-transform:none;letter-spacing:0;font-weight:600;font-size:12px}
.msh-tanti .tn-f input[type=text],.msh-tanti .tn-f input[type=email],.msh-tanti .tn-f select{height:46px;width:100%;min-width:0;box-sizing:border-box;border-radius:10px;border:1.5px solid var(--line-2);background-color:var(--surface);color:var(--ink);padding:0 14px;font:inherit;font-size:16px;font-weight:700;margin:0}
.msh-tanti .tn-f select{padding-right:34px;text-overflow:ellipsis}
.msh-tanti .tn-f :is(input,select):focus-visible{outline:3px solid var(--pc);outline-offset:1px}
.msh-tanti .tn-stp{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;border:1.5px solid var(--line-2);border-radius:10px;overflow:hidden;height:46px;box-sizing:border-box;background:var(--surface)}
.msh-tanti .tn-stp button,.msh-tanti .tn-stp button:hover,.msh-tanti .tn-stp button:focus{appearance:none;border:0;border-radius:0;background:var(--surface-2);color:var(--ink);font:inherit;font-size:20px;font-weight:800;cursor:pointer;display:grid;place-items:center;padding:0;margin:0}
.msh-tanti .tn-stp button:disabled{opacity:.35;cursor:not-allowed}
.msh-tanti .tn-stp input{border:0;border-radius:0;background:transparent;color:var(--ink);text-align:center;font:inherit;font-weight:800;font-size:18px;padding:0;margin:0;min-width:0;width:100%;height:100%;-moz-appearance:textfield;appearance:textfield}
.msh-tanti .tn-stp input::-webkit-outer-spin-button,.msh-tanti .tn-stp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.msh-tanti .tn-info{display:flex;align-items:center;gap:8px;min-height:30px;font-size:14.5px;font-weight:700;color:var(--ink-2);line-height:1.3;min-width:0}
.msh-tanti .tn-info .ps-ico{font-size:18px;color:var(--pc-ink)}
.msh-tanti .tn-info span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msh-tanti .tn-info em{font-style:normal;flex:none;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:800;color:var(--warn);background:var(--warn-soft)}
.msh-tanti .tn-info em.ok{color:var(--ok);background:var(--ok-soft)}
.msh-tanti .tn-chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.msh-tanti .tn-chk input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--pc)}
.msh-tanti .tn-c .msh-btn{--bg:var(--pc);--bd:var(--pc);--fg:#fff;width:100%}
:root:not([data-theme="light"]) .msh-tanti .tn-c.grp .msh-btn{--fg:#03102A}
.msh-tanti .tn-links{display:flex;gap:6px 22px;flex-wrap:wrap;font-size:14.5px;color:var(--ink-2);min-height:22px}
.msh-tanti .tn-links a{color:var(--royal);font-weight:800;text-decoration:none;border-bottom:2px solid currentColor}
.msh-tanti .tn-ok{display:flex;gap:12px;align-items:flex-start;background:var(--ok-soft);border:1.5px solid var(--ok);border-radius:12px;padding:14px}
.msh-tanti .tn-ok .ps-ico{font-size:26px;color:var(--ok);margin-top:1px}
.msh-tanti .tn-ok b{display:block;font-family:var(--f-cond);font-size:21px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.msh-tanti .tn-ok p{font-size:14.5px;margin-top:4px;color:var(--ink-2);overflow-wrap:anywhere}
.msh-tanti .tn-res{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;margin:10px 0 0;font-size:14.5px}
.msh-tanti .tn-res dd{margin:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.msh-tanti .tn-res .tot{font-size:17px;font-weight:800;border-top:1px dashed var(--line-2);padding-top:6px}
.msh-tanti .tn-err{color:var(--red-ink);font-weight:700;font-size:14.5px;line-height:1.35}
@media (max-width:900px){
  .msh-tanti .tn-diff{grid-template-columns:1fr}
  .msh-tanti .tn-diff p + p{border-left:0;border-top:1px solid var(--line-2)}
  .msh-tanti:not(.one) .tn-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border-radius:999px;padding:4px;margin-bottom:14px}
  .msh-tanti .tn-tabs button,.msh-tanti .tn-tabs button:hover,.msh-tanti .tn-tabs button:focus{appearance:none;border:0;text-align:center;padding:0 8px;margin:0;background:transparent;border-radius:999px;min-height:44px;font-family:var(--f-cond);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--ink-2)}
  .msh-tanti .tn-tabs button[aria-selected="true"],.msh-tanti .tn-tabs button[aria-selected="true"]:hover,.msh-tanti .tn-tabs button[aria-selected="true"]:focus{background:var(--ink);color:var(--paper)}
  .msh-tanti .tn-grid{grid-template-columns:minmax(0,1fr)}
  .msh-tanti[data-tab="soc"] .tn-c.grp,.msh-tanti[data-tab="grp"] .tn-c.soc{display:none}
}
@media (max-width:420px){.msh-tanti .tn-chips{gap:6px}.msh-tanti .tn-chip{flex-direction:column;align-items:flex-start;gap:4px;font-size:12.5px;padding:8px}}

/* 0.8.6 · Video del tour: copertina nostra + play, YouTube solo dopo il clic (o il consenso) */
.msh.msh-video-wrap{scroll-margin-top:110px;width:100%}
.msh-video-wrap .msh-video-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 24px;flex-wrap:wrap;margin-bottom:26px}
.msh-video-wrap .msh-video-head h2{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.4vw,54px);line-height:1;margin:8px 0 0;color:var(--ink)}
.msh-video-wrap .msh-video-head p{margin:0;color:var(--ink-2);font-size:17px;line-height:1.5;max-width:44ch}
.msh.msh-video .msh-video-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.msh.msh-video:not(.on)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,16,42,.35),rgba(3,16,42,.7));pointer-events:none}
.msh.msh-video .msh-video-ph{z-index:2;background:none;color:#fff}
.msh.msh-video .msh-video-ph p{color:#fff;font-weight:700}
.msh.msh-video .msh-video-play,.msh.msh-video .msh-video-play:hover,.msh.msh-video .msh-video-play:focus{appearance:none;border:0;background:none;color:#fff;cursor:pointer;display:grid;justify-items:center;gap:12px;padding:10px;font:inherit}
.msh.msh-video .msh-video-play span{width:clamp(64px,9vw,96px);aspect-ratio:1;border-radius:50%;background:var(--red);box-shadow:0 14px 34px -10px rgba(0,0,0,.7);display:grid;place-items:center;transition:transform .15s}
.msh.msh-video .msh-video-play span::before{content:"";border-style:solid;border-width:.6em 0 .6em 1em;border-color:transparent transparent transparent #fff;font-size:clamp(20px,2.6vw,28px);margin-left:.2em}
.msh.msh-video .msh-video-play:hover span{transform:scale(1.07)}
.msh.msh-video .msh-video-play:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px}
.msh.msh-video .msh-video-play b{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:18px;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.msh-video-wrap .msh-video-foot{margin:10px 0 0;font-size:14px;color:var(--muted);display:flex;gap:6px 14px;flex-wrap:wrap;justify-content:space-between}
/* 0.9.0 · tappa annullata / nuova data / pagina "La tua scelta" */
.msh .msh-sale-annullata{color:#fff;background:var(--red);border-color:var(--red)}
.msh .msh-sale-annullata .msh-star{color:#fff}
.msh .msh-newdate{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-left:8px;font-size:12.5px;line-height:1.3;vertical-align:middle}
.msh .msh-newdate b{background:var(--royal);color:#fff;border-radius:999px;padding:3px 10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;white-space:nowrap}
.msh .msh-newdate s{color:var(--muted);text-decoration-thickness:1.5px}
.msh .msh-stub .msh-newdate{margin:4px 0 0;display:flex}
.msh .msh-p-hero .msh-newdate s{color:rgba(255,255,255,.8)}
.msh .msh-stop{display:flex;flex-direction:column;gap:4px;background:var(--red-soft);border:1.5px solid var(--red);border-left-width:6px;border-radius:12px;padding:16px 18px;margin:22px 0 0;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.msh .msh-stop b{font-family:var(--f-cond);text-transform:uppercase;font-size:20px;letter-spacing:.03em;color:var(--red-ink)}
.msh .msh-stop.info{background:var(--royal-soft);border-color:var(--royal)}
.msh .msh-stop.info b{color:var(--royal)}
.msh.msh-scelta{padding:clamp(28px,5vw,64px) 0}
.msh.msh-scelta .msh-scelta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.msh.msh-scelta .msh-scelta-card{display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:var(--surface);border:1.5px solid var(--line-2);border-top:5px solid var(--red);border-radius:16px;padding:22px;min-width:0}
.msh.msh-scelta .msh-scelta-card.alt{border-top-color:var(--navy,#0B2D6B)}
.msh.msh-scelta .msh-scelta-card h2{font-family:var(--f-cond);text-transform:uppercase;font-size:26px;line-height:1.05;margin:0;color:var(--ink)}
.msh.msh-scelta .msh-scelta-card p{margin:0;color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}
.msh.msh-scelta .msh-scelta-card .msh-field{width:100%}
.msh.msh-scelta .msh-scelta-card .msh-btn{margin-top:auto}
@media (max-width:700px){.msh.msh-scelta .msh-scelta-grid{grid-template-columns:minmax(0,1fr)}.msh .msh-newdate{margin-left:0}}
.msh .msh-ann-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px 16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.msh .msh-ann-row div{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.msh .msh-ann-row div span{color:var(--ink-2);font-size:14px}
/* 0.9.1 · video: nota sul consenso per contenuto, link preferenze solo con banner */
.msh.msh-video .msh-video-ph .msh-video-note{display:block;margin:0;max-width:44ch;font-size:13px;line-height:1.4;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.75)}
.msh .msh-legal-links [hidden],.msh-video-wrap .msh-video-foot [hidden]{display:none!important}
/* =========================================================
   0.9.2 · Banner dei cookie di Complianz: colori e font del sito (scuro/chiaro).
   Solo aspetto: testi, posizione e categorie restano in Complianz › Banner di consenso.
   Accetta e Nega hanno lo stesso stile (pari evidenza).
   ========================================================= */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  --cmplz_banner_background_color:var(--surface); --cmplz_banner_border_color:var(--line-2); --cmplz_banner_border_width:1.5px;
  --cmplz_banner_border_radius:16px; --cmplz_text_color:var(--ink-2); --cmplz_hyperlink_color:var(--royal);
  --cmplz_title_font_size:20px; --cmplz_text_font_size:14.5px; --cmplz_link_font_size:13.5px; --cmplz_category_body_font_size:13.5px;
  --cmplz_button_border_radius:999px; --cmplz_button_font_size:15px;
  --cmplz_button_accept_background_color:var(--ink); --cmplz_button_accept_border_color:var(--ink); --cmplz_button_accept_text_color:var(--paper);
  --cmplz_button_deny_background_color:var(--ink); --cmplz_button_deny_border_color:var(--ink); --cmplz_button_deny_text_color:var(--paper);
  --cmplz_button_settings_background_color:transparent; --cmplz_button_settings_border_color:var(--line-2); --cmplz_button_settings_text_color:var(--ink);
  --cmplz_slider_active_color:var(--ok); --cmplz_slider_inactive_color:var(--muted); --cmplz_slider_bullet_color:#fff;
  --cmplz_category_header_always_active_color:var(--ok); --cmplz_category_header_title_font_size:15px; --cmplz_category_open_icon_url:none;
  background:var(--surface)!important;color:var(--ink-2)!important;border:1.5px solid var(--line-2)!important;border-radius:16px!important;
  box-shadow:var(--shadow-lg)!important;font-family:var(--f-body)!important;border-top:5px solid var(--red)!important
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{font-family:var(--f-cond)!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.03em;font-size:20px!important;color:var(--ink)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description{font-family:var(--f-body)!important;color:var(--ink-2)!important;line-height:1.5}
#cmplz-cookiebanner-container .cmplz-cookiebanner a,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-link{color:var(--royal)!important;text-decoration:underline}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider{border-color:var(--line)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close{color:var(--ink)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg{fill:currentColor}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category{background:var(--surface-2)!important;border-radius:10px}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-title{color:var(--ink)!important;font-family:var(--f-body)!important;font-weight:800}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-always-active{color:var(--ok)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-icon svg{fill:var(--ink-2)}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{font-family:var(--f-cond)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;font-size:16px!important;border-radius:999px!important;border:1.5px solid var(--line-2)!important;min-height:44px;height:auto!important;padding:9px 18px!important;box-shadow:none!important;transition:filter .15s}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--paper)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options{background:transparent!important;color:var(--ink)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover{filter:brightness(.9)}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible{outline:3px solid var(--royal)!important;outline-offset:2px}
#cmplz-manage-consent .cmplz-manage-consent{background:var(--surface)!important;color:var(--ink)!important;border:1.5px solid var(--line-2)!important;border-bottom:0!important;font-family:var(--f-cond)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;border-radius:12px 12px 0 0!important;box-shadow:var(--shadow)!important}
#cmplz-document,.cmplz-document{font-family:var(--f-body);color:var(--ink-2)}
#cmplz-document a,.cmplz-document a{color:var(--royal)}

/* 0.11.0 · carrello e checkout: "di cui prevendita" sotto il totale */
body.msh-shop .msh-dicui-box{border-top:0!important;padding:0 16px 14px!important}
body.msh-shop .woocommerce table.shop_table tr.msh-dicui :is(th,td){font-size:14.5px}

/* =========================================================
   0.12.0 · TELEFONO (fino a 767px). Computer e tablet non cambiano.
   1 barra in alto · 2 testata e menu · 3 hero e titoli al centro · 4 pulsanti · 5 ritocchi
   ========================================================= */
.msh.msh-brand .msh-brand-short{display:none}
.msh-nav-extra{display:none!important}
@media (max-width:700px){.msh.msh-brand .msh-brand-short{display:inline}}
@media (max-width:767px){
	/* 1 · Barra in alto: una riga sola. A sinistra "MISHOW presenta Rivalry Tour", a destra solo Login / Il mio account.
	   Le altre voci sono in fondo al menu (Shortcodes::menu_extra): senza quel gruppo (.msh-tb-inmenu assente) resta il comportamento di prima. */
	.msh-topbar:has(.msh-tb-inmenu),.msh-topbar:has(.msh-tb-inmenu)>.e-con-inner{flex-wrap:nowrap;column-gap:12px}
	.msh-topbar:has(.msh-tb-inmenu) .elementor-widget:has(.msh-brand){flex:1 1 auto;min-width:0}
	.msh-topbar:has(.msh-tb-inmenu) .msh-topbar-links-w,.msh-topbar:has(.msh-tb-inmenu) .elementor-widget:has(.msh-topbar-links){width:auto;flex:none}
	.msh-topbar-links.msh-tb-inmenu{width:auto;flex-wrap:nowrap;justify-content:flex-end;font-size:13px}
	.msh-topbar-links.msh-tb-inmenu a:not(.msh-tb-login,.msh-tb-account){display:none}
	.msh-topbar-links.msh-tb-inmenu a{display:inline-flex;align-items:center;min-height:36px;padding-left:10px}

	/* 2 · Testata: logo a sinistra; a destra icone e, per ultimo, il pulsante del menu. */
	.msh-mainbar,.msh-mainbar>.e-con-inner{column-gap:4px!important}
	.msh-mainbar .elementor-element.msh-nav{order:3;flex:0 0 auto!important;width:auto!important;max-width:none}
	.msh-mainbar .elementor-element.msh-header-actions{margin-left:auto}
	.msh-mainbar .msh-nav .elementor-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0}
	/* Menu aperto: voci principali più compatte e, in fondo, il gruppo "Assistenza e account". */
	.msh-mainbar .elementor-nav-menu--dropdown .elementor-item{padding-top:11px!important;padding-bottom:11px!important}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra{display:block!important}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra-head{margin:8px 24px 0;padding:14px 0 4px;border-top:1px solid var(--line-2)}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra-head:empty,.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra-head:not(:has(span)){padding:6px 0 0}
	.msh-nav-extra-t{display:block;font-family:var(--f-cond);font-weight:700;font-size:13px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra a.elementor-item{font-family:var(--f-body)!important;font-size:16px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink-2)!important;padding-top:11px!important;padding-bottom:11px!important}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra-esci a.elementor-item{color:var(--muted)!important}
	.msh-mainbar .elementor-nav-menu--dropdown .msh-nav-extra:last-child{padding-bottom:10px}
	.msh-mainbar .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container{max-height:calc(100vh - 124px)!important;max-height:calc(100dvh - 124px)!important;overflow-y:auto;overscroll-behavior:contain}
}
@media (max-width:767px){
	/* testata: l'icona dell'account si nasconde quando "Login / Il mio account" è già scritto nella barra in alto */
	body:has(.msh-topbar-links.msh-tb-inmenu) .msh-header-actions .msh-h-account{display:none}
}
@media (max-width:359px){.msh-topbar .msh-brand .msh-brand-pres,.msh-topbar .msh-brand .msh-brand-short{display:none}}
@media (max-width:767px){
	/* 3 · Al centro: hero della home, hero delle pagine interne, titoli di sezione (occhiello + titolo + riga di introduzione).
	   I testi lunghi, gli elenchi e il contenuto delle card restano allineati a sinistra. */
	.msh-hero-panel,.msh-hero-panel>.e-con-inner{align-items:center}
	.msh-hero-panel :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-image),.msh-hero-panel :is(.elementor-heading-title,p){text-align:center!important}
	.msh-hero-panel .elementor-widget-image img{margin-inline:auto}
	.msh-hero-panel>.e-grid,.msh-hero-panel>.e-con-inner>.e-grid{width:100%;justify-content:center;justify-items:center;column-gap:26px}
	.msh-hero-panel .e-grid>.e-con{align-items:center}
	:is(.msh-hero-overlay,.msh-hero-plain) :is(.elementor-widget-heading,.elementor-widget-text-editor),:is(.msh-hero-overlay,.msh-hero-plain) :is(.elementor-heading-title,p){text-align:center!important}
	:is(.msh-hero-overlay,.msh-hero-plain),:is(.msh-hero-overlay,.msh-hero-plain) .e-con,:is(.msh-hero-overlay,.msh-hero-plain) .e-con-inner{align-items:center}
	:is(.msh-hero-overlay,.msh-hero-plain) .elementor-widget-text-editor{margin-inline:auto}
	.e-con:has(>.msh-h2:last-child):not(:is(.msh-card,.msh-panel,.msh-feat,.msh-note) *){align-items:center;width:100%}
	.e-con:has(>.msh-h2:last-child):not(:is(.msh-card,.msh-panel,.msh-feat,.msh-note) *) :is(.elementor-widget-heading,.elementor-heading-title){text-align:center!important}
	.e-con:has(>.msh-h2:last-child):not(:is(.msh-card,.msh-panel,.msh-feat,.msh-note) *)+.e-con{align-items:center;justify-content:center;text-align:center}
	.e-con:has(>.msh-h2:last-child):not(:is(.msh-card,.msh-panel,.msh-feat,.msh-note) *)+.e-con :is(.elementor-widget-text-editor,p){text-align:center!important;margin-inline:auto}

	/* 4 · Pulsanti: su telefono i pulsanti delle pagine sono larghi quanto il contenuto e, se sono due, uguali e uno sotto l'altro. */
	:is(.msh-sec,.msh-panel,.msh-card,.msh-hero-overlay,.msh-hero-plain) .e-con:has(>.elementor-widget-button),
	:is(.msh-sec,.msh-panel,.msh-card,.msh-hero-overlay,.msh-hero-plain) .e-con>.e-con-inner:has(>.elementor-widget-button){flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%;row-gap:12px}
	:is(.msh-sec,.msh-panel,.msh-card,.msh-hero-overlay,.msh-hero-plain) .elementor-widget-button{width:100%!important;max-width:100%!important}
	:is(.msh-sec,.msh-panel,.msh-card,.msh-hero-overlay,.msh-hero-plain) .elementor-widget-button .elementor-button{display:flex;width:100%;justify-content:center}
	.msh .ps-btns{flex-direction:column;align-items:stretch}
	.msh .ps-btns .msh-btn{width:100%;justify-content:center}
	.msh .ps-mini-foot .ps-btns{width:100%}
	.msh-tanti .hm-head{justify-content:center;text-align:center}
	.msh-tanti .hm-head p{margin-inline:auto}
	/* stesse regole per gli hero e i titoli di sezione scritti dal plugin (pagina tappa, Esperienze VIP) */
	.msh .msh-p-hero-in,.msh-serata .ps-hero .ps-w{text-align:center}
	.msh .msh-p-hero-in .msh-crumbs,.msh-serata .ps-hero .ps-crumbs{justify-content:center}
	.msh-serata .ps-hero .side{justify-items:center}
	.msh-serata .ps-hero .side .ps-addon{text-align:left;width:100%}
	.msh-serata .ps-hero .side .ps-btns{width:100%}
	.msh .msh-sec-head{align-items:center;justify-content:center;text-align:center}
	.msh .msh-sec-head p{margin-inline:auto}
	.msh-serata .ps-faq-g>div:first-child{text-align:center}
	.msh-hero-panel h1,.msh-h2 .elementor-heading-title,.msh-display .elementor-heading-title,.msh-tanti .hm-head h2{text-wrap:balance}

	/* 5 · Ritocchi */
	/* moduli: i pulsanti di invio occupano tutta la larghezza, come negli altri moduli del sito */
	.mshm:is(.msh-preventivo,.msh-accesso) .row:has(>.msh-btn){flex-direction:column;align-items:stretch}
	.mshm:is(.msh-preventivo,.msh-accesso) .row>.msh-btn{width:100%;justify-content:center}
	.mshm.msh-accesso .row>.msh-link{align-self:flex-start}
	/* scheda del giocatore: la foto occupa tutta la larghezza della scheda */
	.msh .m-card .m-ph{aspect-ratio:auto;height:min(42vh,340px);max-height:none}
	/* domande e risposte del kit: spazio fisso tra la domanda e il segno + */
	.elementor-toggle .elementor-tab-title{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:14px}
	.elementor-toggle .elementor-tab-title .elementor-toggle-icon{float:none;flex:none}
	.elementor-toggle .elementor-tab-title .elementor-toggle-title{flex:1 1 auto;min-width:0}
	/* cassa: le righe "Biglietti" e "Diritti di prevendita" del riepilogo hanno lo stesso margine delle altre */
	body.msh-shop .checkout-order-summary-block-fill .msh-split-box{padding-inline:16px}
	/* aree da toccare: almeno 44px di altezza per filtri, schede, "Info tappa", tema nel footer */
	.msh .msh-filters button,.msh .msh-seg button{min-height:44px}
	.msh .msh-info-link{min-height:44px}
	.msh.msh-theme-row button{min-height:40px;padding:5px 16px}
	/* codice società in home: 16px, così il telefono non ingrandisce la pagina quando si tocca il campo */
	.msh-percorsi .hm-codef input[type=text]{font-size:16px;letter-spacing:0;padding:0 10px}
	/* pulsante "Modifica contenuti" (solo amministratori): resta dentro lo schermo */
	.msh.msh-edit-bar{max-width:100%}
	.msh .msh-edit-link{max-width:100%;white-space:normal}
}
/* pagine senza Elementor (acquisto, carrello, cassa): stesso margine laterale delle altre pagine */
@media (max-width:575px){body.msh-site.page-template-default .site-main{padding-inline:16px}}

/* ============ 0.12.0 · Pagina non trovata (404) ============ */
body.msh-404-page .site-main{max-width:none!important;width:100%;padding:0!important;margin:0}
.msh.msh-404{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,4vw,44px);padding:clamp(24px,5vw,64px) 16px clamp(48px,7vw,96px);background-image:repeating-linear-gradient(90deg,transparent 0 26px,var(--stripe) 26px 28px)}
.msh-404 .n4-panel{position:relative;overflow:hidden;width:min(900px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:clamp(30px,5vw,60px) clamp(20px,5vw,60px) calc(clamp(30px,5vw,60px) + 7px);border-radius:24px;border:1px solid var(--line-2);background-color:var(--panel);background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.045) 22px 24px);color:var(--on-panel-2);box-shadow:var(--shadow-lg)}
.msh-404 .n4-panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--tricolor)}
.msh-404 .n4-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:15px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:#FF6A82}
.msh-404 .n4-eyebrow .msh-star{width:12px;height:12px;fill:currentColor}
.msh-404 .n4-num{display:flex;justify-content:center;gap:.04em;margin:6px 0 2px;font-family:var(--f-display);font-size:clamp(104px,21vw,208px);line-height:.86;letter-spacing:.02em;color:#fff;text-shadow:.035em .035em 0 #0057B8}
.msh-404 .n4-num .z{color:var(--red);text-shadow:.035em .035em 0 #fff}
.msh-404 h1{font-family:var(--f-cond);font-weight:800;text-transform:uppercase;font-size:clamp(36px,5.4vw,60px);line-height:1;letter-spacing:.005em;color:#fff;margin:0;text-wrap:balance}
.msh-404 .n4-txt{max-width:54ch;margin:0;font-size:clamp(16px,1.5vw,18px);line-height:1.6;color:var(--on-panel-2);text-wrap:pretty}
.msh-404 .n4-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}
.msh-404 .n4-links{width:min(1060px,100%);display:flex;flex-direction:column;gap:14px}
.msh-404 .n4-links h2{margin:0;text-align:center;font-family:var(--f-cond);font-weight:700;font-size:15px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.msh-404 .n4-links ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.msh-404 .n4-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--f-cond);font-weight:700;font-size:18px;line-height:1.15;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;transition:border-color .15s,transform .15s}
.msh-404 .n4-links a .msh-ic{width:18px;height:18px;flex:none;color:var(--red)}
.msh-404 .n4-links a:is(:hover,:focus-visible){border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}
@media (max-width:1024px){.msh-404 .n4-links ul{grid-template-columns:repeat(6,minmax(0,1fr))}.msh-404 .n4-links li{grid-column:span 2}.msh-404 .n4-links li:nth-child(4):nth-last-child(2){grid-column:2/span 2}}
@media (max-width:600px){
	.msh-404 .n4-btns{flex-direction:column;align-items:stretch;width:100%}
	.msh-404 .n4-btns .msh-btn{width:100%}
	.msh-404 .n4-links ul{grid-template-columns:minmax(0,1fr)}
	.msh-404 .n4-links li,.msh-404 .n4-links li:nth-child(4):nth-last-child(2){grid-column:auto}
}
@media (prefers-reduced-motion:reduce){.msh-404 .n4-links a{transition:none}}
