.events-public{background:#0d0b0c;color:var(--color-text)}.test-hero{padding:clamp(4rem,10vw,8rem) 0 3rem;background:radial-gradient(circle at 70% 30%,rgba(143,16,36,.28),transparent 35rem)}.test-hero h1{font-size:clamp(2.5rem,7vw,5.5rem);font-weight:400;margin:.4rem 0}.test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.test-card{background:linear-gradient(145deg,#1a1617,#0b090a);border:1px solid var(--color-border);padding:1rem}.test-poster{display:block;aspect-ratio:3/4;background:#171415;overflow:hidden}.test-poster img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.test-poster:hover img{transform:scale(1.025)}.test-card h2{font-size:1.35rem;font-weight:450;margin:1rem 0 .45rem}.test-meta,.test-availability{color:var(--color-gold-light)}.test-card .button{margin-top:1rem;width:100%}.test-status{padding:1.5rem 0;color:var(--color-text-muted)}.test-detail{display:grid;grid-template-columns:minmax(260px,430px) 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.test-detail-poster{width:100%;border:1px solid var(--color-border);box-shadow:var(--shadow-deep)}.test-detail h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:400;margin:.5rem 0 1rem}.test-copy{white-space:pre-line}.test-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.test-back{display:inline-block;margin-bottom:2rem}.test-dialog{max-width:560px;width:calc(100% - 2rem);padding:2rem;background:#171415;color:var(--color-text);border:1px solid var(--color-border)}.test-dialog::backdrop{background:rgba(0,0,0,.78)}.dialog-close{float:right;background:none;border:0;color:#fff;font-size:2rem}.test-dialog form{display:grid;gap:.8rem}.test-dialog input{background:#0d0b0c;border:1px solid var(--color-border);color:#fff;padding:.9rem}.test-message{margin-top:1rem;line-height:1.55}.test-footer{border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1rem,5vw,4rem)}.narrow{max-width:760px}.is-soldout{color:#ef9b9b}@media(max-width:800px){.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-detail{grid-template-columns:1fr}.test-detail-poster{max-width:420px}.test-actions .button{flex:1}}@media(max-width:520px){.test-grid{grid-template-columns:1fr}.test-footer{flex-direction:column}.test-actions{position:sticky;bottom:0;background:#0d0b0ce8;padding:1rem 0}.test-actions .button{width:100%}}
.event-low-badge{display:inline-block;background:#c5162e;color:#fff;font-weight:800;font-size:.78rem;padding:.45rem .65rem;margin:0 0 .65rem;border-radius:4px;letter-spacing:0}.test-poster,.test-detail-poster-wrap{position:relative;overflow:hidden}.test-detail-poster-wrap{width:100%}.test-poster.has-availability-overlay::after,.test-detail-poster-wrap.has-availability-overlay::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(70,0,8,.14);pointer-events:none}.test-detail-poster-wrap .test-detail-poster{display:block}.event-availability-ribbon{position:absolute;z-index:3;top:24px;right:-58px;width:245px;padding:10px 8px;background:#c82333;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.88),0 0 13px rgba(255,255,255,.82),0 5px 14px rgba(0,0,0,.42);font-size:.72rem;font-weight:800;line-height:1;text-align:center;text-transform:uppercase;letter-spacing:.04em;transform:rotate(45deg);transform-origin:center;pointer-events:none}.test-detail-poster-wrap .event-availability-ribbon{top:52px;right:-82px;width:330px;padding:12px 10px;font-size:.74rem}.event-availability-ribbon.is-sold-out{background:#a40018}.event-participants{font-weight:700;margin:.4rem 0}.booking-dinner{display:flex;gap:.55rem;align-items:center}.booking-dinner[hidden]{display:none}.booking-help{font-size:.9rem;line-height:1.45;margin:.75rem 0 0}.booking-help a{font-weight:700}
.share-dialog{max-width:620px;padding:clamp(1.4rem,4vw,2.4rem);border-color:rgba(220,175,94,.45);box-shadow:0 28px 80px rgba(0,0,0,.6)}.share-dialog .dialog-close{float:none;position:absolute;top:1rem;right:1.1rem;width:42px;height:42px;padding:0;border:1px solid transparent;border-radius:50%;cursor:pointer;line-height:1}.share-dialog .dialog-close:hover,.share-dialog .dialog-close:focus-visible{border-color:var(--color-gold-light);color:var(--color-gold-light)}.share-heading{padding-right:3.2rem}.share-heading h2{max-width:430px;margin:.45rem 0 .45rem;font-size:clamp(2rem,6vw,3.2rem);font-weight:400;line-height:1.04}.share-heading>p:last-child{margin:0;color:var(--color-text-muted)}.share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.6rem}.share-option{--share-accent:var(--color-gold-light);display:flex;align-items:center;justify-content:flex-start;gap:.8rem;min-height:58px;padding:.65rem .8rem;border:1px solid rgba(220,175,94,.28);background:#0d0b0c;color:var(--color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .18s,background-color .18s,transform .18s}.share-option[hidden]{display:none}.share-option:hover,.share-option:focus-visible{border-color:var(--share-accent);background:#151112;color:#fff;transform:translateY(-1px)}.share-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--share-accent);color:#fff;font-size:.82rem;font-weight:800;letter-spacing:0}.share-facebook .share-icon{font-family:Arial,sans-serif;font-size:1.35rem}.share-linkedin .share-icon{font-family:Arial,sans-serif;font-size:.9rem}.share-whatsapp{--share-accent:#25d366}.share-telegram{--share-accent:#229ed9}.share-facebook{--share-accent:#1877f2}.share-x{--share-accent:#555}.share-linkedin{--share-accent:#0a66c2}.share-copy,.share-native{--share-accent:#b98a3d}.share-feedback{min-height:1.5em;margin:.9rem 0 0;color:var(--color-gold-light);font-size:.92rem}.share-feedback:empty{min-height:0;margin-top:0}@media(max-width:520px){.share-dialog{width:calc(100% - 1rem)}.share-heading h2{font-size:2rem}.share-options{grid-template-columns:1fr;gap:.55rem}.share-option{min-height:54px}}
.events-live-slider{width:min(1500px,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%)}.events-live-slider .event-poster-card.test-card{display:flex;flex:0 0 calc((100% - 2.8rem)/3);flex-direction:column;padding:1rem .4rem}.events-live-slider .test-poster{aspect-ratio:3/4}.events-live-slider .test-card h2{min-height:0;margin-inline:0;width:100%;white-space:nowrap}.events-live-slider .test-card .button{display:flex;align-items:center;justify-content:center;margin-top:auto}.events-live-slider .event-low-badge{position:absolute;z-index:2;margin:.7rem}.events-live-slider .events-slider-track{align-items:stretch}.events-live-slider .event-poster-card{position:relative}@media(max-width:1100px){.events-live-slider .event-poster-card.test-card{flex-basis:calc((100% - 1.4rem)/2)}.events-live-slider .test-card h2{white-space:normal}}@media(max-width:800px){.events-live-slider{width:calc(100vw - 1rem)}.events-live-slider .event-poster-card.test-card{flex-basis:90%;padding-inline:.3rem}}
.events-live-slider{max-width:1180px}.events-live-slider .test-card h2{font-size:1.15rem;line-height:1.3;text-align:center;white-space:normal}.events-live-slider .test-meta{text-align:left}

/* Eventi: responsive layout ufficiale di produzione. */
.events-public main,.events-public .section,.events-public .container,.test-card,.test-detail>*,.test-actions>*{min-width:0}
.test-card h2,.test-detail h1,.test-copy,.test-meta,.test-availability,.test-message{overflow-wrap:anywhere;word-break:normal}
.test-detail h1{font-size:clamp(2rem,4.2vw,3.65rem);line-height:1.06;letter-spacing:0}
.test-detail-poster-wrap{max-width:430px}
.test-actions .button{white-space:normal;text-align:center}
.test-dialog{box-sizing:border-box}

@media(max-width:800px){
  .test-detail{gap:1.75rem}
  .test-detail-poster-wrap{max-width:min(420px,100%)}
  .test-detail h1{font-size:clamp(1.9rem,8vw,2.8rem)}
}

@media(max-width:560px){
  .events-public .container{padding-inline:1rem}
  .events-public .section{padding-block:2.25rem}
  .test-hero{padding:3rem 0 2rem}
  .test-hero h1{font-size:clamp(2.35rem,13vw,3.4rem)}
  .test-grid{gap:1rem}
  .test-card{padding:.8rem}
  .test-card h2{font-size:1.15rem;line-height:1.3}
  .test-back{margin-bottom:1.35rem}
  .test-detail{gap:1.4rem}
  .test-detail h1{font-size:clamp(1.75rem,9vw,2.35rem);line-height:1.1;margin:.4rem 0 .8rem}
  .test-copy{line-height:1.6}
  .test-actions{background:transparent;bottom:auto;display:grid;grid-template-columns:1fr;margin-top:1.5rem;padding:0;position:static}
  .test-actions .button{min-height:48px;width:100%}
  .test-footer{padding:1.5rem 1rem}
  .event-availability-ribbon{font-size:.66rem;right:-65px;top:22px;width:250px}
  .test-detail-poster-wrap .event-availability-ribbon{font-size:.67rem;right:-76px;top:43px;width:300px}
}

@media(max-width:360px){
  .events-public .container{padding-inline:.8rem}
  .test-detail h1{font-size:1.7rem}
  .test-dialog{width:calc(100% - .75rem)}
}

/* Public event detail: preserve the full production header and use a quieter title scale. */
.evento-public .test-detail h1{font-size:clamp(1.6rem,2.2vw,2.5rem);line-height:1.1;letter-spacing:0;overflow-wrap:anywhere}

@media(max-width:800px){
  .evento-public .test-detail h1{font-size:clamp(1.5rem,5.5vw,1.9rem)}
}

@media(max-width:560px){
  .evento-public .test-detail h1{font-size:clamp(1.4rem,6.5vw,1.7rem);line-height:1.14}
}

/* Premium event presentation */
.events-slider-shell { overflow: visible; }
.events-slider-viewport { border-radius: var(--radius-lg); }
.events-live-slider .event-poster-card.test-card,
.events-slider .event-poster-card,
.test-card {
  background: var(--surface-raised);
  border-color: var(--border-hairline);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  transition: border-color var(--transition-fast), box-shadow var(--transition-medium), transform var(--transition-medium);
}
.events-live-slider .event-poster-card.test-card:hover,
.events-slider .event-poster-card:hover,
.test-card:hover {
  border-color: rgba(227, 194, 122, .32);
  box-shadow: var(--shadow-lg), var(--shadow-gold);
  transform: translateY(-4px);
}
.test-poster,
.test-poster img,
.event-poster-image,
.event-poster-image img,
.event-poster-image video,
.test-detail-poster-wrap,
.test-detail-poster {
  border-radius: var(--radius-md);
}
.test-poster img { transition: transform var(--transition-slow), filter var(--transition-slow); }
.test-card:hover .test-poster img { filter: brightness(.9) saturate(1.03); transform: scale(1.025); }
.events-slider-arrow {
  backdrop-filter: blur(14px);
  background: rgba(18, 13, 15, .82);
  border-color: rgba(227, 194, 122, .3);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
}
.events-slider-dot { border-radius: var(--radius-pill); }
.events-access-banner,
.events-week-section .panel {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
}
.test-dialog,
.share-dialog {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
}
.test-dialog input,
.share-option {
  border-radius: var(--radius-md);
}
.test-back {
  color: var(--color-gold-light);
  text-underline-offset: .3em;
}
@media(max-width:560px){
  .events-live-slider .event-poster-card.test-card:hover,
  .events-slider .event-poster-card:hover,
  .test-card:hover { transform:none; }
  .events-access-banner,
  .events-week-section .panel { border-radius:var(--radius-lg); }
}

/* Typography refinement for public event pages */
.test-hero h1 {
  font-size: clamp(2.35rem, 4.2vw, 3.7rem);
  font-weight: 420;
  letter-spacing: -.034em;
  line-height: 1.06;
  max-width: 18ch;
  text-wrap: balance;
}
.test-detail h1 {
  font-size: clamp(2rem, 3.4vw, 3.1rem);
  font-weight: 440;
  line-height: 1.08;
  text-wrap: balance;
}
.test-card h2,
.events-live-slider .test-card h2 {
  font-size: clamp(1.08rem, 1.5vw, 1.3rem);
  font-weight: 500;
  line-height: 1.25;
}
.test-meta,
.test-availability,
.event-participants,
.test-copy { font-size:1rem; line-height:1.65; }
.test-dialog input { font-size:1rem; }
@media(max-width:560px){
  .test-hero h1 { font-size:clamp(2rem,9vw,2.45rem); }
  .test-detail h1 { font-size:clamp(1.85rem,8.5vw,2.3rem); }
}

/* Compact editorial rhythm for event listing and detail pages. */
.test-hero { padding:clamp(3.5rem,6vw,5rem) 0 var(--section-space-tight); }
.test-detail { gap:clamp(1.75rem,3.5vw,3.5rem); }
@media(max-width:520px){.test-hero{padding:3rem 0 2rem}.test-detail{gap:1.75rem}}
