/* =========================================================
   AUTODEPOCAEVENTI — HOME V1
   style.css
   ========================================================= */

/* ---------------------------------------------------------
   1. VARIABILI
   --------------------------------------------------------- */

:root {
    --black: #060706;
    --black-soft: #0c0e0c;
    --charcoal: #141714;
    --charcoal-light: #1d211e;

    --cream: #eee9cf;
    --cream-soft: #f6f2df;
    --white: #f7f7f2;

    --gold: #d4a62f;
    --gold-light: #f0d77c;
    --gold-dark: #9f7714;

    --mint: #9bc9ad;
    --mint-dark: #4b7360;
    --silver: #a7aaa5;

    --text-dark: #161a17;
    --text-soft: #686d68;
    --line-dark: rgba(255, 255, 255, 0.14);
    --line-light: rgba(15, 20, 16, 0.15);

    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-body: "Manrope", Arial, sans-serif;

    --container: 1380px;
    --header-height: 92px;

    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 32px;

    --shadow-dark: 0 30px 90px rgba(0, 0, 0, 0.35);
    --shadow-light: 0 30px 80px rgba(23, 28, 24, 0.12);

    --transition-fast: 180ms ease;
    --transition-medium: 350ms cubic-bezier(0.2, 0.7, 0.2, 1);
}


/* ---------------------------------------------------------
   2. RESET E BASE
   --------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--black);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body::selection {
    background: var(--gold);
    color: var(--black);
}

img,
video {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

p:last-child {
    margin-bottom: 0;
}

.container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.section {
    position: relative;
    padding: 150px 0;
}

.section-light {
    background: var(--cream-soft);
    color: var(--text-dark);
}

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 9999;
    transform: translateY(-200%);
    padding: 12px 18px;
    background: var(--gold);
    color: var(--black);
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
}

.skip-link:focus {
    transform: translateY(0);
}


/* ---------------------------------------------------------
   3. TIPOGRAFIA E COMPONENTI COMUNI
   --------------------------------------------------------- */

.display-title {
    margin-bottom: 0;
    font-family: var(--font-display);
    font-size: clamp(4.3rem, 7vw, 8.8rem);
    font-weight: 500;
    line-height: 0.88;
    letter-spacing: -0.055em;
}

.display-title-dark {
    color: var(--text-dark);
}

.lead {
    margin-bottom: 28px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2.6vw, 2.7rem);
    line-height: 1.1;
}

.lead-dark {
    color: var(--text-dark);
}

.section-kicker {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 42px;
    color: var(--mint-dark);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

.section-kicker span:first-child {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0.64rem;
}

.section-kicker-light {
    color: var(--mint);
}

.button {
    display: inline-flex;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition:
        transform var(--transition-medium),
        background var(--transition-medium),
        border-color var(--transition-medium),
        color var(--transition-medium);
}

.button:hover {
    transform: translateY(-3px);
}

.button-small {
    min-height: 46px;
    padding-inline: 21px;
    font-size: 0.68rem;
}

.button-gold {
    background: var(--gold);
    color: var(--black);
}

.button-gold:hover {
    background: var(--gold-light);
}

.button-outline {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.04);
    color: var(--white);
    backdrop-filter: blur(16px);
}

.button-outline:hover {
    border-color: var(--gold);
    background: rgba(212, 166, 47, 0.1);
}

.button-ghost {
    border-color: rgba(255, 255, 255, 0.35);
    color: var(--white);
}

.button-ghost:hover {
    border-color: var(--white);
    background: rgba(255, 255, 255, 0.08);
}

.button-dark {
    background: var(--black);
    color: var(--white);
}

.button-dark:hover {
    background: var(--charcoal-light);
}

.button-full {
    width: 100%;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--cream);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.text-link span {
    font-size: 1rem;
    transition: transform var(--transition-fast);
}

.text-link:hover span {
    transform: translate(4px, -4px);
}

.text-link-dark {
    color: var(--text-dark);
}

.media-placeholder {
    display: grid;
    min-height: 100%;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 25%, rgba(212, 166, 47, 0.22), transparent 32%),
        radial-gradient(circle at 30% 70%, rgba(155, 201, 173, 0.16), transparent 30%),
        linear-gradient(135deg, #1b201c, #070807);
    color: rgba(255, 255, 255, 0.36);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.media-placeholder span {
    max-width: 220px;
    padding: 24px;
}


/* ---------------------------------------------------------
   4. HEADER
   --------------------------------------------------------- */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: var(--header-height);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(to bottom, rgba(3, 4, 3, 0.86), rgba(3, 4, 3, 0.12));
    backdrop-filter: blur(12px);
}

.header-inner {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand {
    display: flex;
    min-width: 260px;
    align-items: center;
    gap: 14px;
}

.brand-mark {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(240, 215, 124, 0.28);
}

.brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.brand-copy strong {
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.brand-copy small {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.57rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2vw, 36px);
}

.desktop-nav a {
    position: relative;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.desktop-nav a::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 1px;
    background: var(--gold);
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--transition-medium);
}

.desktop-nav a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.menu-button {
    display: none;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.menu-button span {
    display: block;
    width: 18px;
    height: 1px;
    margin: 5px auto;
    background: var(--white);
}


/* ---------------------------------------------------------
   5. HERO
   --------------------------------------------------------- */

.hero {
    position: relative;
    display: flex;
    min-height: 100svh;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
}

.hero-media,
.hero-video,
.hero-fallback,
.hero-overlay,
.hero-grain {
    position: absolute;
    inset: 0;
}

.hero-media {
    z-index: -1;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-fallback {
    z-index: -2;
    background:
        radial-gradient(circle at 74% 42%, rgba(212, 166, 47, 0.18), transparent 32%),
        radial-gradient(circle at 18% 72%, rgba(155, 201, 173, 0.11), transparent 26%),
        linear-gradient(120deg, #141815 0%, #080908 48%, #030403 100%);
}

.hero-overlay {
    background:
        linear-gradient(to bottom, rgba(3, 4, 3, 0.18), rgba(3, 4, 3, 0.72)),
        linear-gradient(to right, rgba(3, 4, 3, 0.86) 0%, rgba(3, 4, 3, 0.42) 47%, rgba(3, 4, 3, 0.2) 100%);
}

.hero-grain {
    opacity: 0.16;
    background-image:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='.24'/%3E%3C/svg%3E");
    mix-blend-mode: soft-light;
    pointer-events: none;
}

.hero-content {
    padding-top: calc(var(--header-height) + 70px);
    padding-bottom: 110px;
}

.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 42px;
    margin-bottom: 42px;
    color: var(--gold-light);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.hero-eyebrow span + span {
    position: relative;
}

.hero-eyebrow span + span::before {
    position: absolute;
    top: 50%;
    left: -25px;
    width: 9px;
    height: 1px;
    background: currentColor;
    content: "";
}

.hero h1 {
    max-width: 1000px;
    margin-bottom: 38px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(5.2rem, 10.8vw, 11.8rem);
    font-weight: 500;
    line-height: 0.78;
    letter-spacing: -0.065em;
}

.hero h1 em {
    color: var(--gold-light);
    font-weight: 500;
}

.hero-description {
    max-width: 650px;
    margin-bottom: 42px;
    color: rgba(255, 255, 255, 0.7);
    font-size: clamp(1rem, 1.5vw, 1.22rem);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.hero-side-note {
    position: absolute;
    top: 50%;
    right: 34px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transform: rotate(90deg) translateX(50%);
    transform-origin: right center;
}

.hero-side-line {
    width: 70px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
}

.scroll-cue {
    position: absolute;
    bottom: 34px;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.54);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.scroll-cue i {
    position: relative;
    display: block;
    width: 1px;
    height: 42px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.22);
}

.scroll-cue i::after {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 50%;
    background: var(--gold);
    content: "";
    animation: scrollLine 2s infinite;
}

@keyframes scrollLine {
    0% {
        top: -50%;
    }

    70%,
    100% {
        top: 100%;
    }
}


/* ---------------------------------------------------------
   6. MANIFESTO
   --------------------------------------------------------- */

.manifesto {
    overflow: hidden;
}

.manifesto::before {
    position: absolute;
    top: -220px;
    right: -120px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(75, 115, 96, 0.2);
    border-radius: 50%;
    content: "";
}

.manifesto-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    align-items: end;
    gap: 90px;
}

.manifesto-copy {
    max-width: 620px;
    color: var(--text-soft);
}

.manifesto-copy > p:not(.lead) {
    margin-bottom: 22px;
}

.manifesto-copy .text-link {
    margin-top: 20px;
}

.manifesto-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 110px;
    background: var(--line-light);
}

.manifesto-stats article {
    min-height: 190px;
    padding: 34px;
    background: var(--cream-soft);
}

.manifesto-stats strong {
    display: block;
    margin-bottom: 40px;
    color: var(--text-dark);
    font-family: var(--font-display);
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1;
}

.manifesto-stats span {
    display: block;
    max-width: 200px;
    color: var(--text-soft);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   7. SUPERCARSLOT
   --------------------------------------------------------- */

.supercarslot {
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 45%, rgba(212, 166, 47, 0.1), transparent 28%),
        linear-gradient(135deg, #0f120f, #050605 65%);
}

.supercarslot-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.95fr) minmax(420px, 1.05fr);
    align-items: center;
    gap: 100px;
}

.supercarslot-visual {
    position: relative;
    min-height: 700px;
}

.logo-stage {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.logo-stage::before {
    position: absolute;
    width: 72%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(212, 166, 47, 0.14), rgba(212, 166, 47, 0.02) 50%, transparent 72%);
    content: "";
    filter: blur(18px);
}

.logo-stage img {
    position: relative;
    z-index: 3;
    width: min(78%, 520px);
    box-shadow: var(--shadow-dark);
}

.logo-stage-ring {
    position: absolute;
    border: 1px solid rgba(240, 215, 124, 0.22);
    border-radius: 50%;
}

.ring-one {
    width: 76%;
    aspect-ratio: 1;
}

.ring-two {
    width: 58%;
    aspect-ratio: 1;
    border-color: rgba(155, 201, 173, 0.22);
}

.ring-three {
    width: 40%;
    aspect-ratio: 1;
}

.technical-label {
    position: absolute;
    right: 0;
    bottom: 30px;
    left: 0;
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.36);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.supercarslot-copy {
    max-width: 650px;
}

.supercarslot-copy .display-title {
    margin-bottom: 38px;
    color: var(--gold-light);
}

.supercarslot-copy > p:not(.lead) {
    max-width: 590px;
    color: rgba(255, 255, 255, 0.62);
}

.feature-list {
    margin: 48px 0;
    border-top: 1px solid var(--line-dark);
}

.feature-list div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid var(--line-dark);
}

.feature-list span {
    color: var(--gold);
    font-size: 0.68rem;
    font-weight: 700;
}

.feature-list p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}


/* ---------------------------------------------------------
   8. EVENTO
   --------------------------------------------------------- */

.section-event {
    background: var(--cream-soft);
    color: var(--text-dark);
}

.event-card {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
    min-height: 760px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-light);
}

.event-card-media {
    position: relative;
}

.media-placeholder-event {
    min-height: 760px;
}

.event-badge {
    position: absolute;
    top: 34px;
    left: 34px;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 999px;
    background: rgba(6, 7, 6, 0.45);
    color: var(--white);
    backdrop-filter: blur(14px);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.event-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(44px, 6vw, 95px);
}

.event-meta {
    display: flex;
    gap: 30px;
    margin-bottom: 44px;
    color: var(--mint-dark);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.event-card h2 {
    margin-bottom: 34px;
    color: var(--text-dark);
    font-family: var(--font-display);
    font-size: clamp(4rem, 6vw, 7rem);
    font-weight: 500;
    line-height: 0.86;
    letter-spacing: -0.05em;
}

.event-card-content > p {
    max-width: 620px;
    color: var(--text-soft);
}

.event-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 44px 0;
    border-top: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
}

.event-details div {
    padding: 24px 14px 24px 0;
}

.event-details small,
.event-details strong {
    display: block;
}

.event-details small {
    margin-bottom: 8px;
    color: var(--text-soft);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.event-details strong {
    font-size: 0.86rem;
}

.event-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 28px;
}


/* ---------------------------------------------------------
   9. TERRITORIO
   --------------------------------------------------------- */

.routes {
    overflow: hidden;
    background:
        linear-gradient(to bottom, #080a08, #101410 50%, #080a08);
}

.routes-header {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    align-items: end;
    gap: 90px;
}

.routes-header > p {
    max-width: 520px;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.58);
}

.route-marquee {
    margin: 100px 0 90px;
    overflow: hidden;
    border-top: 1px solid var(--line-dark);
    border-bottom: 1px solid var(--line-dark);
}

.route-marquee-track {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 34px;
    padding: 26px 0;
    animation: marquee 35s linear infinite;
}

.route-marquee-track span {
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 4vw, 4.8rem);
    white-space: nowrap;
}

.route-marquee-track i {
    width: 8px;
    height: 8px;
    border: 1px solid var(--gold);
    border-radius: 50%;
}

@keyframes marquee {
    to {
        transform: translateX(-35%);
    }
}

.route-cards {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    grid-template-rows: repeat(2, minmax(260px, 1fr));
    gap: 20px;
}

.route-card {
    position: relative;
    min-height: 340px;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.route-card-large {
    grid-row: 1 / 3;
    min-height: 700px;
}

.route-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 5, 4, 0.9), transparent 60%);
    content: "";
}

.route-card-copy {
    position: absolute;
    right: 34px;
    bottom: 34px;
    left: 34px;
    z-index: 2;
}

.route-card-copy span {
    display: block;
    margin-bottom: 10px;
    color: var(--gold-light);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.route-card-copy h3 {
    max-width: 520px;
    margin-bottom: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.6rem);
    font-weight: 500;
    line-height: 0.98;
}


/* ---------------------------------------------------------
   10. ESPERIENZE
   --------------------------------------------------------- */

.experiences-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    align-items: end;
    gap: 90px;
    margin-bottom: 100px;
}

.experiences-intro > p {
    max-width: 520px;
    margin-bottom: 10px;
    color: var(--text-soft);
}

.experience-list {
    border-top: 1px solid var(--line-light);
}

.experience-item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    align-items: center;
    gap: 30px;
    min-height: 190px;
    border-bottom: 1px solid var(--line-light);
    transition:
        padding var(--transition-medium),
        background var(--transition-medium);
}

.experience-item:hover {
    padding-inline: 24px;
    background: rgba(75, 115, 96, 0.07);
}

.experience-number {
    color: var(--mint-dark);
    font-size: 0.7rem;
    font-weight: 700;
}

.experience-item h3 {
    margin-bottom: 10px;
    color: var(--text-dark);
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.3vw, 4rem);
    font-weight: 500;
    line-height: 1;
}

.experience-item p {
    max-width: 670px;
    margin-bottom: 0;
    color: var(--text-soft);
}

.experience-arrow {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid var(--line-light);
    border-radius: 50%;
    color: var(--mint-dark);
    font-size: 1.1rem;
}


/* ---------------------------------------------------------
   11. AURA DRIVE
   --------------------------------------------------------- */

.aura {
    position: relative;
    display: grid;
    min-height: 860px;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at center, #1b2c24 0%, #0a0d0b 42%, #040504 76%);
    text-align: center;
}

.aura-background {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.aura-orbit {
    position: absolute;
    border: 1px solid rgba(240, 215, 124, 0.22);
    border-radius: 50%;
}

.aura-orbit-one {
    width: 38vw;
    min-width: 390px;
    aspect-ratio: 1;
    box-shadow:
        inset 0 0 80px rgba(212, 166, 47, 0.06),
        0 0 80px rgba(212, 166, 47, 0.04);
}

.aura-orbit-two {
    width: 54vw;
    min-width: 560px;
    aspect-ratio: 1;
    border-color: rgba(155, 201, 173, 0.16);
}

.aura-orbit-three {
    width: 70vw;
    min-width: 740px;
    aspect-ratio: 1;
    border-color: rgba(255, 255, 255, 0.08);
}

.aura-content {
    position: relative;
    z-index: 2;
    display: flex;
    max-width: 900px;
    flex-direction: column;
    align-items: center;
}

.aura-label {
    margin-bottom: 34px;
    color: var(--gold-light);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.aura h2 {
    margin-bottom: 14px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(6rem, 13vw, 13rem);
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -0.06em;
}

.aura-subtitle {
    margin-bottom: 28px;
    color: var(--mint);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.aura-description {
    max-width: 610px;
    margin-bottom: 24px;
    color: rgba(255, 255, 255, 0.62);
}

.aura strong {
    margin-bottom: 38px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-style: italic;
    font-weight: 500;
}


/* ---------------------------------------------------------
   12. MEDIA
   --------------------------------------------------------- */

.media-section {
    background: var(--black-soft);
}

.media-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 80px;
}

.media-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 280px;
    gap: 18px;
}

.media-tile {
    position: relative;
    grid-column: span 5;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.media-tile-wide {
    grid-column: span 7;
    grid-row: span 2;
}

.media-tile-tall {
    grid-column: span 5;
    grid-row: span 2;
}

.media-tile:nth-child(3),
.media-tile:nth-child(4) {
    grid-column: span 6;
}

.media-tile::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 5, 4, 0.86), transparent 55%);
    content: "";
}

.media-caption {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    z-index: 2;
}

.media-caption span {
    display: block;
    margin-bottom: 8px;
    color: var(--gold-light);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.media-caption strong {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: grid;
    width: 84px;
    height: 84px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: rgba(6, 7, 6, 0.36);
    cursor: pointer;
    backdrop-filter: blur(10px);
    transform: translate(-50%, -50%);
    transition:
        transform var(--transition-medium),
        background var(--transition-medium);
}

.play-button:hover {
    background: rgba(212, 166, 47, 0.78);
    transform: translate(-50%, -50%) scale(1.08);
}


/* ---------------------------------------------------------
   13. RASSEGNA STAMPA
   --------------------------------------------------------- */

.press-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 80px;
}

.press-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.press-card {
    display: flex;
    min-height: 470px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--line-light);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.46);
    transition:
        transform var(--transition-medium),
        box-shadow var(--transition-medium),
        background var(--transition-medium);
}

.press-card:hover {
    background: #fff;
    box-shadow: var(--shadow-light);
    transform: translateY(-8px);
}

.press-card-image {
    display: grid;
    min-height: 220px;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle, rgba(212, 166, 47, 0.16), transparent 58%), #e9e3d5;
}

.press-card-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform var(--transition-medium);
}

.press-card:hover .press-card-image img { transform: scale(1.04); }

.press-card-image > span {
    padding: 24px;
    color: #7a641f;
    font-family: var(--font-display);
    font-size: 1.7rem;
    text-align: center;
}

.press-card-body {
    display: flex;
    min-height: 250px;
    flex: 1;
    flex-direction: column;
    padding: 28px 30px 30px;
}

.press-source,
.press-date {
    color: var(--mint-dark);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.press-date {
    margin-top: 6px;
    color: var(--text-soft);
}

.press-card h3 {
    margin: 22px 0 auto;
    color: var(--text-dark);
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.6vw, 3rem);
    font-weight: 500;
    line-height: 1.02;
}

.press-card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--text-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   14. COMMUNITY
   --------------------------------------------------------- */

.community {
    position: relative;
    padding: 150px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 40%, rgba(212, 166, 47, 0.14), transparent 30%),
        radial-gradient(circle at 80% 70%, rgba(155, 201, 173, 0.12), transparent 28%),
        #090b09;
}

.community::after {
    position: absolute;
    right: -160px;
    bottom: -340px;
    width: 700px;
    height: 700px;
    border: 1px solid rgba(240, 215, 124, 0.13);
    border-radius: 50%;
    content: "";
}

.community-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    align-items: center;
    gap: 110px;
}

.community-label {
    display: block;
    margin-bottom: 30px;
    color: var(--gold-light);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.community-copy h2 {
    margin-bottom: 34px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(4.5rem, 7.5vw, 9rem);
    font-weight: 500;
    line-height: 0.86;
    letter-spacing: -0.055em;
}

.community-copy > p {
    max-width: 570px;
    color: rgba(255, 255, 255, 0.62);
}

.future-features {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 36px;
}

.future-features span {
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.community-form {
    padding: 42px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.055);
    box-shadow: var(--shadow-dark);
    backdrop-filter: blur(18px);
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.community-form label {
    display: block;
    margin-bottom: 18px;
}

.community-form label > span {
    display: block;
    margin-bottom: 9px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.community-form input,
.community-form select {
    width: 100%;
    height: 56px;
    padding: 0 17px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    outline: none;
    background: rgba(255, 255, 255, 0.05);
    color: var(--white);
    transition:
        border-color var(--transition-fast),
        background var(--transition-fast);
}

.community-form select option {
    background: var(--charcoal);
}

.community-form input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

.community-form input:focus,
.community-form select:focus {
    border-color: var(--gold);
    background: rgba(255, 255, 255, 0.08);
}

.checkbox-label {
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 12px;
}

.checkbox-label input {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    accent-color: var(--gold);
}

.checkbox-label span {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.48) !important;
    font-size: 0.64rem !important;
    line-height: 1.5;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.community-form small {
    display: block;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.34);
    font-size: 0.63rem;
    text-align: center;
}


/* ---------------------------------------------------------
   15. FOOTER
   --------------------------------------------------------- */

.site-footer {
    padding: 90px 0 28px;
    border-top: 1px solid var(--line-dark);
    background: #040504;
}

.footer-top {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(520px, 1.1fr);
    gap: 80px;
    padding-bottom: 70px;
}

.footer-brand {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.footer-brand img {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    object-fit: cover;
}

.footer-brand span {
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 2rem;
    line-height: 1.05;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.footer-columns h3 {
    margin-bottom: 22px;
    color: var(--gold-light);
    font-size: 0.64rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.footer-columns a {
    display: block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.82rem;
}

.footer-columns a:hover {
    color: var(--white);
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 28px;
    border-top: 1px solid var(--line-dark);
    color: rgba(255, 255, 255, 0.35);
    font-size: 0.66rem;
}

.footer-bottom > div {
    display: flex;
    gap: 26px;
}


/* ---------------------------------------------------------
   16. RESPONSIVE — TABLET
   --------------------------------------------------------- */

@media (max-width: 1180px) {
    :root {
        --header-height: 82px;
    }

    .desktop-nav,
    .header-cta {
        display: none;
    }

    .menu-button {
        display: block;
    }

    .brand {
        min-width: 0;
    }

    .supercarslot-grid,
    .manifesto-grid,
    .routes-header,
    .experiences-intro,
    .community-grid {
        gap: 60px;
    }

    .event-card {
        grid-template-columns: 1fr;
    }

    .event-card-media,
    .media-placeholder-event {
        min-height: 620px;
    }

    .event-card-content {
        padding: 72px;
    }

    .press-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .press-card:last-child {
        grid-column: 1 / -1;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------
   17. RESPONSIVE — MOBILE LARGE
   --------------------------------------------------------- */

@media (max-width: 900px) {
    .section {
        padding: 110px 0;
    }

    .hero h1 {
        font-size: clamp(4.5rem, 17vw, 8rem);
    }

    .hero-side-note {
        display: none;
    }

    .manifesto-grid,
    .supercarslot-grid,
    .routes-header,
    .experiences-intro,
    .community-grid {
        grid-template-columns: 1fr;
    }

    .manifesto-grid,
    .routes-header,
    .experiences-intro {
        gap: 46px;
    }

    .manifesto-stats {
        grid-template-columns: 1fr;
        margin-top: 70px;
    }

    .manifesto-stats article {
        min-height: auto;
    }

    .supercarslot-visual {
        min-height: 560px;
    }

    .supercarslot-copy {
        max-width: none;
    }

    .route-cards {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .route-card-large {
        grid-row: auto;
        min-height: 560px;
    }

    .route-card {
        min-height: 390px;
    }

    .media-header,
    .press-header {
        align-items: start;
        flex-direction: column;
    }

    .media-grid {
        grid-auto-rows: 340px;
    }

    .media-tile,
    .media-tile-wide,
    .media-tile-tall,
    .media-tile:nth-child(3),
    .media-tile:nth-child(4) {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .footer-columns {
        gap: 28px;
    }
}


/* ---------------------------------------------------------
   18. RESPONSIVE — MOBILE
   --------------------------------------------------------- */

@media (max-width: 680px) {
    :root {
        --header-height: 76px;
    }

    .container {
        width: min(calc(100% - 30px), var(--container));
    }

    .section {
        padding: 90px 0;
    }

    .display-title {
        font-size: clamp(3.5rem, 17vw, 5.7rem);
    }

    .brand-mark {
        width: 44px;
        height: 44px;
    }

    .brand-copy strong {
        font-size: 1.2rem;
    }

    .brand-copy small {
        display: none;
    }

    .hero {
        min-height: 880px;
    }

    .hero-content {
        padding-top: 140px;
        padding-bottom: 120px;
    }

    .hero-eyebrow {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 34px;
    }

    .hero-eyebrow span + span::before {
        display: none;
    }

    .hero h1 {
        margin-bottom: 30px;
        font-size: clamp(4rem, 22vw, 6.3rem);
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-actions .button {
        width: 100%;
    }

    .scroll-cue {
        bottom: 22px;
    }

    .manifesto-stats strong {
        margin-bottom: 22px;
    }

    .supercarslot-visual {
        min-height: 430px;
    }

    .logo-stage img {
        width: 82%;
    }

    .event-card {
        border-radius: 22px;
    }

    .event-card-media,
    .media-placeholder-event {
        min-height: 460px;
    }

    .event-card-content {
        padding: 40px 26px;
    }

    .event-meta {
        flex-direction: column;
        gap: 6px;
        margin-bottom: 28px;
    }

    .event-card h2 {
        font-size: clamp(3.4rem, 17vw, 5.2rem);
    }

    .event-details {
        grid-template-columns: 1fr;
    }

    .event-details div + div {
        border-top: 1px solid var(--line-light);
    }

    .event-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .route-marquee {
        margin: 70px 0 60px;
    }

    .experience-item {
        grid-template-columns: 48px 1fr;
        gap: 18px;
        padding: 28px 0;
    }

    .experience-arrow {
        display: none;
    }

    .experience-item h3 {
        font-size: 2.5rem;
    }

    .aura {
        min-height: 720px;
    }

    .aura h2 {
        font-size: clamp(5.2rem, 25vw, 8.5rem);
    }

    .aura-orbit-one {
        min-width: 320px;
    }

    .aura-orbit-two {
        min-width: 470px;
    }

    .aura-orbit-three {
        min-width: 620px;
    }

    .media-grid {
        grid-auto-rows: 290px;
    }

    .press-grid {
        grid-template-columns: 1fr;
    }

    .press-card:last-child {
        grid-column: auto;
    }

    .community-grid {
        gap: 60px;
    }

    .community-copy h2 {
        font-size: clamp(3.8rem, 18vw, 5.8rem);
    }

    .community-form {
        padding: 26px 20px;
        border-radius: 22px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-top {
        gap: 60px;
    }

    .footer-brand {
        flex-direction: column;
    }

    .footer-columns {
        grid-template-columns: 1fr 1fr;
    }

    .footer-columns > div:last-child {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-bottom > div {
        flex-direction: column;
        gap: 8px;
    }
}


/* ---------------------------------------------------------
   19. ACCESSIBILITÀ E RIDUZIONE MOVIMENTO
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


/* =========================================================
   20. INTERAZIONI JAVASCRIPT — V2
   ========================================================= */

body.menu-open,
body.modal-open {
    overflow: hidden;
}

.site-header {
    transition:
        height var(--transition-medium),
        background var(--transition-medium),
        border-color var(--transition-medium),
        box-shadow var(--transition-medium);
}

.site-header.is-scrolled {
    height: 74px;
    border-bottom-color: rgba(255, 255, 255, 0.12);
    background: rgba(5, 6, 5, 0.9);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

.site-header.is-scrolled .brand-mark {
    width: 44px;
    height: 44px;
}

.site-header .brand-mark {
    transition: width var(--transition-medium), height var(--transition-medium);
}

.desktop-nav a.is-active {
    color: var(--gold-light);
}

.desktop-nav a.is-active::after {
    transform: scaleX(1);
}


/* Menu mobile */

.mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 950;
    display: grid;
    padding: calc(var(--header-height) + 36px) 24px 30px;
    visibility: hidden;
    background:
        radial-gradient(circle at 80% 20%, rgba(212, 166, 47, 0.14), transparent 28%),
        radial-gradient(circle at 20% 80%, rgba(155, 201, 173, 0.12), transparent 30%),
        rgba(5, 6, 5, 0.98);
    opacity: 0;
    pointer-events: none;
    transition:
        opacity var(--transition-medium),
        visibility var(--transition-medium);
}

.mobile-menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.mobile-menu-inner {
    display: flex;
    width: min(100%, 720px);
    margin-inline: auto;
    flex-direction: column;
    justify-content: space-between;
}

.mobile-menu-label {
    color: var(--gold-light);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.mobile-menu nav {
    display: flex;
    margin-block: 34px;
    flex-direction: column;
}

.mobile-menu nav a {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 9vw, 4.3rem);
    line-height: 1;
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity var(--transition-medium),
        transform var(--transition-medium),
        color var(--transition-fast);
}

.mobile-menu.is-open nav a {
    opacity: 1;
    transform: translateY(0);
}

.mobile-menu.is-open nav a:nth-child(2) { transition-delay: 40ms; }
.mobile-menu.is-open nav a:nth-child(3) { transition-delay: 80ms; }
.mobile-menu.is-open nav a:nth-child(4) { transition-delay: 120ms; }
.mobile-menu.is-open nav a:nth-child(5) { transition-delay: 160ms; }
.mobile-menu.is-open nav a:nth-child(6) { transition-delay: 200ms; }
.mobile-menu.is-open nav a:nth-child(7) { transition-delay: 240ms; }

.mobile-menu nav a:hover {
    color: var(--gold-light);
}

.mobile-menu nav a span {
    color: var(--mint);
    font-family: var(--font-body);
    font-size: 0.62rem;
    font-weight: 700;
}

.mobile-menu-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: rgba(255, 255, 255, 0.43);
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.menu-button {
    position: relative;
    z-index: 1001;
}

.menu-button span {
    transition: transform var(--transition-medium), margin var(--transition-medium);
}

.menu-button.is-active span:first-child {
    margin: 0 auto;
    transform: rotate(45deg);
}

.menu-button.is-active span:last-child {
    margin: -1px auto 0;
    transform: rotate(-45deg);
}


/* Reveal on scroll */

.js .reveal {
    opacity: 0;
    transform: translateY(44px);
    transition:
        opacity 850ms cubic-bezier(0.2, 0.7, 0.2, 1),
        transform 850ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* Modale video */

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    visibility: hidden;
    place-items: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.88);
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(14px);
    transition:
        opacity var(--transition-medium),
        visibility var(--transition-medium);
}

.video-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.video-modal-dialog {
    width: min(1100px, 100%);
    transform: translateY(30px) scale(0.98);
    transition: transform var(--transition-medium);
}

.video-modal.is-open .video-modal-dialog {
    transform: translateY(0) scale(1);
}

.video-modal-frame {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-md);
    background: #000;
    box-shadow: 0 40px 120px rgba(0, 0, 0, 0.65);
    aspect-ratio: 16 / 9;
}

.video-modal-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.video-modal-close {
    position: fixed;
    top: 26px;
    right: 26px;
    z-index: 2;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: var(--white);
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
}


/* Modulo */

.community-form input.is-invalid,
.community-form select.is-invalid {
    border-color: #e37b6f;
}

.form-message {
    min-height: 24px;
    margin: 16px 0 0;
    color: var(--mint);
    font-size: 0.76rem;
    text-align: center;
}

.form-message.is-error {
    color: #ef9b91;
}


/* Back to top */

.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 800;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: rgba(6, 7, 6, 0.72);
    color: var(--white);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(12px);
    transform: translateY(16px);
    transition:
        opacity var(--transition-medium),
        transform var(--transition-medium),
        border-color var(--transition-fast);
}

.back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.back-to-top:hover {
    border-color: var(--gold);
}


/* Hover media */

.media-tile .media-placeholder,
.route-card .media-placeholder {
    transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.media-tile:hover .media-placeholder,
.route-card:hover .media-placeholder {
    transform: scale(1.035);
}


/* Responsive V2 */

@media (min-width: 1181px) {
    .mobile-menu {
        display: none;
    }
}

@media (max-width: 680px) {
    .mobile-menu {
        padding-inline: 15px;
    }

    .mobile-menu nav a {
        grid-template-columns: 34px 1fr;
        font-size: clamp(2.2rem, 12vw, 3.5rem);
    }

    .mobile-menu-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .video-modal {
        padding: 14px;
    }

    .video-modal-close {
        top: 14px;
        right: 14px;
        width: 44px;
        height: 44px;
    }

    .back-to-top {
        right: 15px;
        bottom: 15px;
    }
}


/* =========================================================
   21. CORREZIONI MOBILE — V3
   ========================================================= */

/* Evita che grid/flex children allarghino la pagina */
main,
section,
.container,
.community-grid,
.community-copy,
.community-form,
.form-row,
.form-row label,
.event-card,
.event-card-content,
.footer-top,
.footer-columns {
    min-width: 0;
}

/* Menu mobile: altezza reale del viewport e scroll interno */
.mobile-menu {
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.mobile-menu-inner {
    min-height: calc(100dvh - var(--header-height) - 66px);
    padding-bottom: max(24px, env(safe-area-inset-bottom));
}

.mobile-menu nav {
    flex: 0 0 auto;
}

/* Link molto meno grandi e più leggibili */
.mobile-menu nav a {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 11px 0;
    font-size: clamp(1.85rem, 6.8vw, 3rem);
    line-height: 0.96;
    letter-spacing: -0.025em;
}

.mobile-menu nav a span {
    font-size: 0.55rem;
}

.mobile-menu-footer {
    flex: 0 0 auto;
    padding-top: 22px;
}

/* Il menu deve poter scorrere anche con il body bloccato */
body.menu-open {
    width: 100%;
    overflow: hidden;
    touch-action: none;
}

body.menu-open .mobile-menu {
    touch-action: pan-y;
}

/* Form community sempre dentro lo schermo */
.community {
    max-width: 100%;
}

.community-grid {
    width: 100%;
}

.community-form {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.community-form label,
.community-form input,
.community-form select,
.community-form button {
    min-width: 0;
    max-width: 100%;
}

.community-form input,
.community-form select {
    display: block;
    width: 100%;
}

.checkbox-label {
    width: 100%;
}

.checkbox-label span {
    overflow-wrap: anywhere;
}

/* Safari/iPhone: impedisce zoom e larghezze strane sugli input */
@media (max-width: 680px) {
    .community {
        padding-right: 0;
        padding-left: 0;
    }

    .community-grid {
        gap: 48px;
    }

    .community-copy,
    .community-form {
        width: 100%;
    }

    .community-form {
        padding: 24px 16px;
        border-radius: 18px;
    }

    .community-form input,
    .community-form select {
        height: 54px;
        padding-inline: 14px;
        font-size: 16px;
    }

    .community-form .button {
        white-space: normal;
        text-align: center;
    }

    .future-features {
        align-items: flex-start;
        flex-direction: column;
    }

    .future-features span {
        max-width: 100%;
        white-space: normal;
    }

    .mobile-menu {
        padding:
            calc(var(--header-height) + 20px)
            18px
            max(18px, env(safe-area-inset-bottom));
    }

    .mobile-menu-inner {
        min-height: calc(100dvh - var(--header-height) - 42px);
    }

    .mobile-menu-label {
        margin-bottom: 4px;
    }

    .mobile-menu nav {
        margin: 18px 0 22px;
    }

    .mobile-menu nav a {
        grid-template-columns: 28px minmax(0, 1fr);
        padding: 9px 0;
        font-size: clamp(1.65rem, 8vw, 2.45rem);
    }

    .mobile-menu-footer {
        gap: 8px;
        padding-top: 12px;
        font-size: 0.58rem;
    }
}

/* Dispositivi molto bassi: il menu resta usabile */
@media (max-height: 700px) and (max-width: 1180px) {
    .mobile-menu {
        padding-top: calc(var(--header-height) + 12px);
    }

    .mobile-menu nav {
        margin: 10px 0 16px;
    }

    .mobile-menu nav a {
        padding: 7px 0;
        font-size: clamp(1.45rem, 6vh, 2.15rem);
    }

    .mobile-menu-footer {
        padding-top: 8px;
    }
}


/* =========================================================
   22. CONTENUTI DINAMICI ED EVENTO — V4
   ========================================================= */

/* Evento in evidenza */

.event-card-media {
    overflow: hidden;
    background: #0b0d0b;
}

.featured-event-image {
    width: 100%;
    height: 100%;
    min-height: 760px;
    object-fit: cover;
}

.event-image-placeholder {
    display: grid;
    width: 100%;
    min-height: 760px;
    place-items: center;
    background:
        radial-gradient(circle at 65% 35%, rgba(212, 166, 47, 0.24), transparent 28%),
        radial-gradient(circle at 25% 70%, rgba(155, 201, 173, 0.16), transparent 30%),
        linear-gradient(145deg, #1d211e, #070807 70%);
    color: rgba(255, 255, 255, 0.38);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.event-countdown {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 38px;
    border-top: 1px solid var(--line-light);
    border-bottom: 1px solid var(--line-light);
}

.event-countdown > div {
    min-width: 0;
    padding: 22px 12px 20px 0;
}

.event-countdown strong,
.event-countdown span {
    display: block;
}

.event-countdown strong {
    color: var(--text-dark);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 500;
    line-height: 1;
}

.event-countdown span {
    margin-top: 6px;
    color: var(--text-soft);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.countdown-finished {
    grid-column: 1 / -1;
    margin: 0;
    padding: 22px 0;
    color: var(--mint-dark);
    font-weight: 700;
}


/* Immagini media dinamiche */

.media-tile-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.media-tile:hover .media-tile-image {
    transform: scale(1.035);
}

.play-button.is-disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.play-button.is-disabled:hover {
    background: rgba(6, 7, 6, 0.36);
    transform: translate(-50%, -50%);
}


/* Modale evento */

.event-modal {
    position: fixed;
    inset: 0;
    z-index: 1180;
    visibility: hidden;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 38px;
    background: rgba(0, 0, 0, 0.88);
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(14px);
    transition:
        opacity var(--transition-medium),
        visibility var(--transition-medium);
}

.event-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.event-modal-dialog {
    width: min(1180px, 100%);
    margin: 40px auto;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 85% 5%, rgba(212, 166, 47, 0.12), transparent 25%),
        #0c0e0c;
    box-shadow: 0 50px 150px rgba(0, 0, 0, 0.7);
    transform: translateY(28px);
    transition: transform var(--transition-medium);
}

.event-modal.is-open .event-modal-dialog {
    transform: translateY(0);
}

.event-modal-close {
    position: fixed;
    top: 22px;
    right: 24px;
    z-index: 3;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    background: rgba(6, 7, 6, 0.75);
    color: var(--white);
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
    backdrop-filter: blur(12px);
}

.event-modal-header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    align-items: end;
    gap: 70px;
    padding: 70px;
    border-bottom: 1px solid var(--line-dark);
}

.event-modal-kicker {
    display: block;
    margin-bottom: 18px;
    color: var(--gold-light);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.event-modal-header h2 {
    margin-bottom: 0;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(4rem, 7vw, 7.4rem);
    font-weight: 500;
    line-height: 0.84;
    letter-spacing: -0.055em;
}

.event-modal-header p {
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.58);
}

.event-modal-body {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
    gap: 70px;
    padding: 70px;
}

.event-modal-main h3 {
    margin-bottom: 32px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 2.8rem;
    font-weight: 500;
}

.event-program-list {
    border-top: 1px solid var(--line-dark);
}

.event-program-item {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 24px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line-dark);
}

.event-program-item time {
    color: var(--gold-light);
    font-size: 0.72rem;
    font-weight: 700;
}

.event-program-item h4 {
    margin: 0 0 8px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
}

.event-program-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.86rem;
}

.event-modal-aside {
    align-self: start;
    padding: 30px;
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.035);
}

.event-modal-aside > div {
    padding: 18px 0;
    border-bottom: 1px solid var(--line-dark);
}

.event-modal-aside > div:first-child {
    padding-top: 0;
}

.event-modal-aside span,
.event-modal-aside strong {
    display: block;
}

.event-modal-aside span {
    margin-bottom: 7px;
    color: var(--mint);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.event-modal-aside strong {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.83rem;
}

.event-modal-aside .button {
    margin-top: 26px;
}

.event-route-block {
    padding: 44px 70px 70px;
    border-top: 1px solid var(--line-dark);
}

.event-route-block > span {
    display: block;
    margin-bottom: 20px;
    color: var(--mint);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.event-route-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.event-route-list span {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.68rem;
}


/* Responsive V4 */

@media (max-width: 900px) {
    .event-modal-header,
    .event-modal-body {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .event-modal-header,
    .event-modal-body {
        padding: 52px 42px;
    }

    .event-route-block {
        padding: 40px 42px 52px;
    }
}

@media (max-width: 680px) {
    .featured-event-image,
    .event-image-placeholder {
        min-height: 440px;
    }

    .event-countdown {
        grid-template-columns: repeat(2, 1fr);
    }

    .event-countdown > div:nth-child(odd) {
        border-right: 1px solid var(--line-light);
    }

    .event-countdown > div {
        padding: 18px 12px;
    }

    .event-modal {
        padding: 0;
        background: #090b09;
    }

    .event-modal-dialog {
        width: 100%;
        min-height: 100dvh;
        margin: 0;
        border: 0;
        border-radius: 0;
    }

    .event-modal-close {
        top: 12px;
        right: 12px;
        width: 44px;
        height: 44px;
    }

    .event-modal-header,
    .event-modal-body {
        gap: 34px;
        padding: 76px 20px 38px;
    }

    .event-modal-body {
        padding-top: 38px;
    }

    .event-modal-header h2 {
        font-size: clamp(3.6rem, 18vw, 5.4rem);
    }

    .event-program-item {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 14px;
    }

    .event-program-item h4 {
        font-size: 1.55rem;
    }

    .event-modal-aside {
        padding: 22px 18px;
    }

    .event-route-block {
        padding: 34px 20px 50px;
    }
}


/* =========================================================
   23. PAGINE SERVIZI ED EVENTI — V6
   ========================================================= */

.desktop-nav a.is-current {
    color: var(--gold-light);
}

.inner-page {
    background: var(--black);
}

.inner-hero {
    position: relative;
    display: flex;
    min-height: 780px;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 34%, rgba(212, 166, 47, 0.15), transparent 27%),
        radial-gradient(circle at 22% 76%, rgba(155, 201, 173, 0.12), transparent 28%),
        linear-gradient(135deg, #111511, #040504 72%);
}

.inner-hero-background,
.inner-hero-circle {
    position: absolute;
}

.inner-hero-background {
    inset: 0;
}

.inner-hero-circle {
    border: 1px solid rgba(240, 215, 124, 0.15);
    border-radius: 50%;
}

.inner-hero-circle.circle-one {
    top: 14%;
    right: 8%;
    width: 440px;
    height: 440px;
}

.inner-hero-circle.circle-two {
    right: -120px;
    bottom: -260px;
    width: 700px;
    height: 700px;
    border-color: rgba(155, 201, 173, 0.11);
}

.inner-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 120px;
}

.inner-page-kicker {
    display: flex;
    gap: 28px;
    margin-bottom: 34px;
    color: var(--gold-light);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.inner-hero h1 {
    max-width: 1050px;
    margin-bottom: 34px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(5rem, 9vw, 10rem);
    font-weight: 500;
    line-height: 0.82;
    letter-spacing: -0.06em;
}

.inner-hero-content > p {
    max-width: 680px;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.05rem;
}

.home-services {
    background:
        radial-gradient(circle at 85% 18%, rgba(212, 166, 47, 0.11), transparent 24%),
        #0a0c0a;
}

.home-services-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    align-items: end;
    gap: 90px;
    margin-bottom: 80px;
}

.home-services-intro p {
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.58);
}

.home-services-list {
    border-top: 1px solid var(--line-dark);
}

.home-service-row {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    align-items: center;
    min-height: 110px;
    border-bottom: 1px solid var(--line-dark);
    transition: padding var(--transition-medium), background var(--transition-medium);
}

.home-service-row:hover {
    padding-inline: 20px;
    background: rgba(255, 255, 255, 0.035);
}

.home-service-row > span {
    color: var(--gold);
    font-size: 0.66rem;
    font-weight: 700;
}

.home-service-row strong {
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 500;
}

.home-service-row i {
    font-style: normal;
    color: var(--mint);
}

.services-index {
    background: #0a0c0a;
}

.services-index-header,
.events-archive-header {
    display: grid;
    grid-template-columns: 1fr minmax(300px, 520px);
    align-items: end;
    gap: 70px;
    margin-bottom: 80px;
}

.services-index-header > p,
.events-archive-header > p {
    color: rgba(255, 255, 255, 0.56);
}

.services-detailed-list {
    border-top: 1px solid var(--line-dark);
}

.service-detail {
    display: grid;
    grid-template-columns: 74px minmax(300px, 0.95fr) minmax(300px, 0.85fr) auto;
    align-items: center;
    gap: 40px;
    min-height: 240px;
    border-bottom: 1px solid var(--line-dark);
    scroll-margin-top: 100px;
}

.service-detail-number {
    color: var(--gold);
    font-size: 0.68rem;
    font-weight: 700;
}

.service-detail-title > span {
    color: var(--mint);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.service-detail-title h2 {
    margin: 12px 0 0;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.4rem);
    font-weight: 500;
    line-height: 0.98;
}

.service-detail > p {
    margin: 0;
    color: rgba(255, 255, 255, 0.52);
}

.service-detail > a {
    color: var(--gold-light);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    white-space: nowrap;
}

.service-aura {
    position: relative;
    display: grid;
    min-height: 780px;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle, #193026, #080a08 55%, #030403);
    text-align: center;
}

.service-aura-rings {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.service-aura-rings span {
    position: absolute;
    border: 1px solid rgba(240, 215, 124, 0.14);
    border-radius: 50%;
}

.service-aura-rings span:nth-child(1) { width: 420px; height: 420px; }
.service-aura-rings span:nth-child(2) { width: 620px; height: 620px; }
.service-aura-rings span:nth-child(3) { width: 820px; height: 820px; }

.service-aura-content {
    position: relative;
    z-index: 2;
    max-width: 780px;
}

.service-aura-label,
.service-aura-subtitle {
    color: var(--gold-light);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.service-aura h2 {
    margin: 20px 0 6px;
    font-family: var(--font-display);
    font-size: clamp(5rem, 10vw, 10rem);
    font-weight: 500;
    line-height: 0.82;
}

.service-aura-content > p:not(.service-aura-subtitle) {
    max-width: 600px;
    margin: 30px auto 20px;
    color: rgba(255,255,255,.58);
}

.service-aura strong {
    display: block;
    margin-bottom: 34px;
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-style: italic;
    font-weight: 500;
}

.events-archive {
    background: #080a08;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.event-archive-card {
    overflow: hidden;
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.025);
}

.event-archive-card.upcoming {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
}

.event-archive-visual {
    position: relative;
    min-height: 420px;
    overflow: hidden;
}

.event-archive-card.upcoming .event-archive-visual {
    min-height: 600px;
}

.event-archive-visual img,
.event-archive-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-archive-placeholder {
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 70% 30%, rgba(212,166,47,.2), transparent 30%),
        linear-gradient(140deg, #1b201c, #050605);
}

.event-archive-placeholder span {
    color: rgba(255,255,255,.12);
    font-family: var(--font-display);
    font-size: clamp(7rem, 14vw, 14rem);
    line-height: 1;
}

.event-status {
    position: absolute;
    top: 24px;
    left: 24px;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(4,5,4,.55);
    color: var(--white);
    backdrop-filter: blur(12px);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.event-archive-content {
    padding: 36px;
}

.event-archive-card.upcoming .event-archive-content {
    display: flex;
    padding: 60px;
    flex-direction: column;
    justify-content: center;
}

.event-archive-meta {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: var(--mint);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.event-archive-content h2 {
    margin: 28px 0 18px;
    color: var(--cream);
    font-family: var(--font-display);
    font-size: clamp(2.7rem, 5vw, 5.8rem);
    font-weight: 500;
    line-height: .9;
}

.event-archive-card:not(.upcoming) .event-archive-content h2 {
    font-size: clamp(2.2rem, 3vw, 3.6rem);
}

.event-archive-content p {
    color: rgba(255,255,255,.52);
}

.event-archive-content a {
    display: inline-flex;
    margin-top: 22px;
    gap: 12px;
    color: var(--gold-light);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.event-detail-hero {
    position: relative;
    display: flex;
    min-height: 780px;
    align-items: flex-end;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 25%, rgba(212,166,47,.2), transparent 28%),
        linear-gradient(135deg, #192019, #040504 70%);
}

.event-detail-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(3,4,3,.92), rgba(3,4,3,.12));
}

.event-detail-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 160px;
    padding-bottom: 90px;
}

.event-detail-status,
.event-detail-edition {
    display: inline-block;
    margin-right: 18px;
    color: var(--gold-light);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.event-detail-hero h1 {
    max-width: 1000px;
    margin: 30px 0;
    font-family: var(--font-display);
    font-size: clamp(5rem, 9vw, 10rem);
    font-weight: 500;
    line-height: .82;
    letter-spacing: -.055em;
}

.event-detail-hero p {
    max-width: 720px;
    color: rgba(255,255,255,.6);
}

.event-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.event-detail-content {
    background: #090b09;
}

.event-detail-layout {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
    gap: 90px;
}

.event-detail-lead {
    max-width: 700px;
    margin: 38px 0 56px;
    color: rgba(255,255,255,.56);
    font-size: 1.05rem;
}

.event-detail-program {
    border-top: 1px solid var(--line-dark);
}

.event-detail-program article {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 24px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line-dark);
}

.event-detail-program time {
    color: var(--gold);
    font-weight: 700;
}

.event-detail-program h3 {
    margin-bottom: 8px;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 500;
}

.event-detail-program p,
.event-detail-empty p {
    color: rgba(255,255,255,.5);
}

.event-detail-aside {
    align-self: start;
    padding: 30px;
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.03);
}

.event-detail-aside > div {
    padding: 18px 0;
    border-bottom: 1px solid var(--line-dark);
}

.event-detail-aside > div:first-child { padding-top: 0; }
.event-detail-aside > div:last-child { border-bottom: 0; }

.event-detail-aside > div > span {
    display: block;
    margin-bottom: 8px;
    color: var(--mint);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@media (max-width: 950px) {
    .home-services-head,
    .services-index-header,
    .events-archive-header,
    .event-detail-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .service-detail {
        grid-template-columns: 50px 1fr;
        gap: 24px;
        padding: 34px 0;
    }

    .service-detail > p,
    .service-detail > a {
        grid-column: 2;
    }

    .event-archive-card.upcoming {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .inner-hero {
        min-height: 720px;
    }

    .inner-hero-content {
        padding-top: 130px;
    }

    .inner-hero h1,
    .event-detail-hero h1 {
        font-size: clamp(4rem, 20vw, 6rem);
    }

    .home-service-row {
        grid-template-columns: 38px minmax(0,1fr) auto;
        min-height: 88px;
    }

    .home-service-row strong {
        font-size: 1.65rem;
    }

    .services-index-header,
    .events-archive-header {
        margin-bottom: 54px;
    }

    .service-detail {
        grid-template-columns: 34px minmax(0,1fr);
    }

    .service-detail > p,
    .service-detail > a {
        grid-column: 1 / -1;
        margin-left: 58px;
    }

    .events-grid {
        grid-template-columns: 1fr;
    }

    .event-archive-card.upcoming {
        grid-column: auto;
    }

    .event-archive-visual,
    .event-archive-card.upcoming .event-archive-visual {
        min-height: 390px;
    }

    .event-archive-card.upcoming .event-archive-content,
    .event-archive-content {
        padding: 28px 22px;
    }

    .event-detail-hero {
        min-height: 720px;
    }

    .event-detail-hero-content {
        padding-top: 140px;
        padding-bottom: 70px;
    }

    .event-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .event-detail-actions .button {
        width: 100%;
    }

    .service-aura-rings span:nth-child(3) {
        display: none;
    }
}


/* =========================================================
   24. PORTALE COMPLETO — V7
   ========================================================= */
.header-account{flex:0 0 auto}.global-flash{position:fixed;top:96px;right:24px;z-index:1400;width:min(420px,calc(100% - 30px));box-shadow:var(--shadow-dark)}
.alert{margin-bottom:16px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.07);color:var(--white);font-size:.82rem}.alert-error{border-color:rgba(227,123,111,.55);background:rgba(227,123,111,.12)}.alert-success{border-color:rgba(155,201,173,.55);background:rgba(155,201,173,.12)}
.setup-page{min-height:100vh;background:radial-gradient(circle at 80% 15%,rgba(212,166,47,.15),transparent 28%),radial-gradient(circle at 20% 80%,rgba(155,201,173,.12),transparent 30%),#060706}.setup-shell{display:grid;min-height:100vh;place-items:center;padding:40px 20px}.setup-card{width:min(760px,100%);padding:clamp(28px,5vw,58px);border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:rgba(255,255,255,.045);box-shadow:var(--shadow-dark);backdrop-filter:blur(18px)}.setup-card>img{width:84px;height:84px;margin-bottom:30px;border-radius:50%;object-fit:cover}.setup-kicker,.auth-kicker,.member-kicker{display:block;margin-bottom:18px;color:var(--gold-light);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.setup-card h1,.auth-card h1,.member-hero h1{margin-bottom:22px;font-family:var(--font-display);font-size:clamp(3.4rem,8vw,6.5rem);font-weight:500;line-height:.86;letter-spacing:-.05em}.setup-card>p,.auth-card>p{color:rgba(255,255,255,.56)}
.setup-form,.auth-form,.member-form,.admin-form{margin-top:34px}.form-section-title{margin:28px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line-dark);color:var(--gold-light);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.setup-form label,.auth-form label,.member-form label,.admin-form label{display:block;min-width:0;margin-bottom:17px}.setup-form label>span,.auth-form label>span,.member-form label>span,.admin-form label>span{display:block;margin-bottom:8px;color:rgba(255,255,255,.62);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.setup-form input,.setup-form select,.setup-form textarea,.auth-form input,.auth-form select,.auth-form textarea,.member-form input,.member-form select,.member-form textarea,.admin-form input,.admin-form select,.admin-form textarea,.inline-status-form select{display:block;width:100%;min-width:0;min-height:52px;padding:12px 15px;border:1px solid rgba(255,255,255,.14);border-radius:9px;outline:none;background:rgba(255,255,255,.05);color:var(--white)}.setup-form option,.auth-form option,.member-form option,.admin-form option,.inline-status-form option{background:#151815}.setup-form textarea,.auth-form textarea,.member-form textarea,.admin-form textarea{resize:vertical}.setup-form input:focus,.setup-form select:focus,.setup-form textarea:focus,.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus,.member-form input:focus,.member-form select:focus,.member-form textarea:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--gold)}.setup-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.auth-shell{display:grid;min-height:100vh;place-items:center;padding:150px 20px 90px;background:radial-gradient(circle at 85% 25%,rgba(212,166,47,.13),transparent 25%),radial-gradient(circle at 15% 75%,rgba(155,201,173,.1),transparent 28%),#080a08}.auth-card{width:min(560px,100%);padding:clamp(28px,5vw,52px);border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:rgba(255,255,255,.04);box-shadow:var(--shadow-dark)}.auth-card-wide{width:min(780px,100%)}.auth-switch{margin:24px 0 0!important;text-align:center}.auth-switch a{color:var(--gold-light)}
.member-shell{background:#080a08}.member-hero{padding:170px 0 90px;background:radial-gradient(circle at 80% 30%,rgba(212,166,47,.13),transparent 27%),linear-gradient(135deg,#141914,#050605)}.member-hero p{margin-bottom:28px;color:rgba(255,255,255,.55)}.member-content{background:#090b09}.member-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:start;gap:60px}.member-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.member-section-head>div>span,.member-aside>span{color:var(--mint);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.member-section-head h2,.member-aside h2{margin:8px 0 0;font-family:var(--font-display);font-size:clamp(2.6rem,4vw,4.5rem);font-weight:500;line-height:.95}.member-section-spaced{margin-top:80px}.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vehicle-card{overflow:hidden;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.03)}.vehicle-card-media{display:grid;height:230px;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(212,166,47,.13),transparent 50%),#111411}.vehicle-card-media img{width:100%;height:100%;object-fit:cover}.vehicle-card-media>span{color:rgba(255,255,255,.17);font-family:var(--font-display);font-size:6rem}.vehicle-card-content{padding:25px}.vehicle-card-content>span{color:var(--gold-light);font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.vehicle-card-content h3{margin:10px 0 7px;font-family:var(--font-display);font-size:2.1rem;font-weight:500;line-height:1}.vehicle-card-content p{color:rgba(255,255,255,.48);font-size:.78rem}.vehicle-actions{display:flex;gap:18px;margin-top:20px;font-size:.68rem;font-weight:700;text-transform:uppercase}.vehicle-actions a{color:var(--gold-light)}.vehicle-actions form,.registration-card form,.admin-actions form{margin:0}.vehicle-actions button,.registration-card button,.admin-actions button{padding:0;border:0;background:transparent;color:#dd887e;cursor:pointer;font:inherit}.member-aside{position:sticky;top:100px;padding:30px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.035)}.member-cancel-link{display:block;margin-top:14px;color:rgba(255,255,255,.5);text-align:center}.empty-state{padding:35px;border:1px dashed rgba(255,255,255,.16);border-radius:var(--radius-md);background:rgba(255,255,255,.02)}.empty-state h3{margin-bottom:10px;font-family:var(--font-display);font-size:2rem;font-weight:500}.empty-state p{color:rgba(255,255,255,.48)}.registration-list{display:grid;gap:12px}.registration-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:24px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.025)}.registration-card>div:first-child>span{color:var(--mint);font-size:.6rem;font-weight:700;text-transform:uppercase}.registration-card h3{margin:7px 0 4px;font-family:var(--font-display);font-size:1.8rem;font-weight:500}.registration-card p{margin:0;color:rgba(255,255,255,.48);font-size:.75rem}.registration-status{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:.6rem;font-weight:700;text-transform:uppercase}.simple-message-page{display:grid;min-height:100vh;place-items:center;padding:120px 20px}.simple-message-card{max-width:700px;text-align:center}.simple-message-card h1{font-family:var(--font-display);font-size:clamp(4rem,9vw,8rem);font-weight:500;line-height:.86}
.admin-page{background:#0b0d0b}.admin-layout{display:grid;min-height:100vh;grid-template-columns:250px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:25px 20px;border-right:1px solid var(--line-dark);background:#050605}.admin-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px;color:var(--cream);font-family:var(--font-display);font-size:1.4rem}.admin-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar nav a,.admin-sidebar-bottom a{padding:11px 12px;border-radius:8px;color:rgba(255,255,255,.53);font-size:.75rem}.admin-sidebar nav a:hover,.admin-sidebar nav a.is-active{background:rgba(255,255,255,.06);color:var(--gold-light)}.admin-sidebar-bottom{display:grid;gap:2px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line-dark)}.admin-main{min-width:0;padding:34px}.admin-topbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.admin-topbar span{color:var(--mint);font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.admin-topbar h1{margin:5px 0 0;font-family:var(--font-display);font-size:3.8rem;font-weight:500;line-height:.9}.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:24px}.admin-stats article{padding:24px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.035)}.admin-stats span{color:rgba(255,255,255,.48);font-size:.62rem;font-weight:700;text-transform:uppercase}.admin-stats strong{display:block;margin-top:22px;font-family:var(--font-display);font-size:3.5rem;font-weight:500;line-height:1}.admin-panel,.admin-form-panel{min-width:0;padding:25px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.025)}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.admin-panel-head h2,.admin-form-panel h2{margin:0;font-family:var(--font-display);font-size:2.2rem;font-weight:500}.admin-panel-head a{color:var(--gold-light);font-size:.68rem;font-weight:700;text-transform:uppercase}.admin-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:start;gap:22px}.admin-form-panel{position:sticky;top:22px}.admin-settings-panel{width:min(800px,100%)}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid var(--line-dark);text-align:left;vertical-align:middle;font-size:.76rem}.admin-table th{color:var(--mint);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.admin-table small{color:rgba(255,255,255,.4)}.admin-table a{color:var(--gold-light)}.admin-actions{display:flex;gap:12px;white-space:nowrap}.inline-status-form select{min-height:40px;padding:8px 10px}
@media(max-width:1120px){.admin-stats{grid-template-columns:repeat(3,1fr)}.admin-split,.member-grid{grid-template-columns:1fr}.admin-form-panel,.member-aside{position:static}}@media(max-width:820px){.header-account{display:none}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-main{padding:22px 15px}.admin-stats{grid-template-columns:repeat(2,1fr)}.vehicle-grid{grid-template-columns:1fr}}@media(max-width:680px){.setup-card,.auth-card{padding:26px 18px}.auth-shell{padding-inline:15px}.member-hero{padding-top:140px}.member-section-head{align-items:flex-start;flex-direction:column}.registration-card{grid-template-columns:1fr}.admin-topbar{align-items:flex-start;flex-direction:column}.admin-topbar h1{font-size:3rem}.admin-stats{grid-template-columns:1fr 1fr}.admin-sidebar nav{grid-template-columns:1fr 1fr}.global-flash{top:84px;right:15px}}

/* =========================================================
   25. V8 — CLUB, GALLERIA, ARTICOLI E ISCRIZIONI
   ========================================================= */

label small{display:block;margin-top:7px;color:rgba(255,255,255,.42);font-size:.68rem;line-height:1.5}.button[disabled]{cursor:not-allowed;opacity:.45}.membership-fields{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.membership-fields.is-hidden{max-height:0;opacity:0;pointer-events:none}.membership-toggle-card{padding:17px;border:1px solid rgba(212,166,47,.25);border-radius:12px;background:rgba(212,166,47,.06)}

/* Club */
.club-story{padding-bottom:90px}.club-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,120px);align-items:start}.club-story-copy p{max-width:680px;color:#444b43}.club-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:80px}.club-values-grid article{min-height:260px;padding:30px;border:1px solid rgba(15,20,15,.12);border-radius:var(--radius-md);background:#f8f3e8}.club-values-grid article>span{color:#8b6d1c;font-size:.64rem;font-weight:700;letter-spacing:.14em}.club-values-grid h3{margin:50px 0 12px;color:#101510;font-family:var(--font-display);font-size:2.2rem;font-weight:500}.club-values-grid p{color:#596057;font-size:.78rem}.club-founder{background:radial-gradient(circle at 75% 25%,rgba(212,166,47,.16),transparent 28%),#090b09}.club-founder-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(45px,8vw,120px);align-items:center}.club-founder-image{position:relative;overflow:hidden;min-height:650px;margin:0;border-radius:var(--radius-lg);background:#151915}.club-founder-image::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.42));content:""}.club-founder-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.club-founder-copy p{max-width:650px;color:rgba(255,255,255,.6)}.club-supercarslot-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:clamp(45px,8vw,120px);align-items:center}.club-supercarslot-logo{display:grid;min-height:470px;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(212,166,47,.14),transparent 62%)}.club-supercarslot-logo img{width:min(330px,80%);border-radius:50%}.club-supercarslot-grid p{max-width:730px;color:#4c554b}.club-cta-row{display:flex;align-items:center;gap:28px;margin-top:30px}

/* Gallery */
.gallery-archive{background:#080a08}.gallery-group{margin-bottom:90px}.gallery-group:last-child{margin-bottom:0}.gallery-group-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:30px}.gallery-group-head .section-kicker{grid-column:1/-1;margin-bottom:5px}.gallery-group-head h2{margin:0;font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.9}.gallery-group-head>span{color:rgba(255,255,255,.4);font-size:.7rem;text-transform:uppercase}.gallery-public-grid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.gallery-public-card{position:relative;grid-column:span 4;overflow:hidden;min-height:360px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#121512}.gallery-public-card.gallery-size-wide{grid-column:span 8}.gallery-public-card.gallery-size-tall{grid-row:span 2;min-height:735px}.gallery-image-button{display:block;width:100%;height:100%;min-height:360px;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-public-card.gallery-size-tall .gallery-image-button{min-height:735px}.gallery-image-button img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .55s ease}.gallery-public-card:hover img{transform:scale(1.035)}.gallery-public-placeholder{display:grid;width:100%;height:100%;min-height:360px;place-items:center;color:rgba(255,255,255,.35);background:radial-gradient(circle,rgba(212,166,47,.12),transparent 55%)}.gallery-public-caption{position:absolute;right:0;bottom:0;left:0;z-index:2;padding:55px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}.gallery-public-caption span{display:block;margin-bottom:6px;color:var(--gold-light);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.gallery-public-caption strong{font-family:var(--font-display);font-size:1.8rem;font-weight:500}.gallery-video-button{z-index:4}.gallery-lightbox{position:fixed;inset:0;z-index:2200;display:grid;padding:70px;place-items:center;background:rgba(0,0,0,.93);opacity:0;pointer-events:none;transition:opacity .25s ease}.gallery-lightbox.is-open{opacity:1;pointer-events:auto}.gallery-lightbox img{max-width:min(1300px,92vw);max-height:82vh;object-fit:contain}.gallery-lightbox p{position:absolute;bottom:25px;color:#fff}.gallery-lightbox-close{position:absolute;top:20px;right:25px;border:0;background:transparent;color:#fff;font-size:2.5rem;cursor:pointer}

/* Articles */
.articles-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.article-public-card{overflow:hidden;border:1px solid rgba(15,20,15,.12);border-radius:var(--radius-md);background:#fff}.article-public-image{display:grid;min-height:280px;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(212,166,47,.14),transparent 56%),#e9e3d5}.article-public-image img{width:100%;height:280px;object-fit:cover;transition:transform .45s ease}.article-public-card:hover .article-public-image img{transform:scale(1.035)}.article-public-image>span{color:#7a641f;font-family:var(--font-display);font-size:2rem}.article-public-content{padding:26px}.article-public-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#7b6a39;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.article-public-content h2{margin:18px 0 15px;color:#111611;font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1}.article-public-content p{min-height:72px;color:#5c625a;font-size:.78rem}.empty-state-light{border-color:rgba(15,20,15,.18);background:rgba(15,20,15,.03);color:#111611}.empty-state-light p{color:#555c54}.article-detail-header{padding:180px 0 95px;background:radial-gradient(circle at 75% 25%,rgba(212,166,47,.15),transparent 30%),#080a08}.article-detail-header-inner{max-width:1050px}.article-detail-header .article-public-meta{color:var(--gold-light)}.article-detail-header h1{margin:25px 0;font-family:var(--font-display);font-size:clamp(4rem,8vw,8rem);font-weight:500;line-height:.88;letter-spacing:-.045em}.article-detail-header p{max-width:800px;color:rgba(255,255,255,.58);font-size:1.05rem}.article-detail-image{position:relative;z-index:2;margin-top:-45px}.article-detail-image img{width:100%;max-height:720px;border-radius:var(--radius-lg);object-fit:cover}.article-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:80px;align-items:start}.article-detail-body{color:#30372f;font-family:var(--font-display);font-size:1.35rem;line-height:1.75}.article-detail-body p{margin:0 0 30px}.article-detail-aside{position:sticky;top:110px;padding:25px;border:1px solid rgba(15,20,15,.12);border-radius:var(--radius-md)}.article-detail-aside>span{display:block;color:#7f6b2c;font-size:.62rem;font-weight:700;text-transform:uppercase}.article-detail-aside>strong{display:block;margin:8px 0 25px;color:#111611;font-family:var(--font-display);font-size:1.8rem;font-weight:500}.article-detail-aside .text-link{margin-top:20px}

/* Registration */
.registration-shell{min-height:100vh;background:#090b09}.registration-hero{padding:165px 0 75px;background:radial-gradient(circle at 82% 30%,rgba(212,166,47,.16),transparent 28%),linear-gradient(135deg,#151a15,#050605)}.registration-hero h1{max-width:1000px;margin:12px 0 20px;font-family:var(--font-display);font-size:clamp(4rem,8vw,8rem);font-weight:500;line-height:.86}.registration-hero p{max-width:740px;color:rgba(255,255,255,.56)}.registration-content{padding-top:70px}.registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:35px;align-items:start}.registration-form{display:grid;gap:22px}.registration-step{padding:clamp(24px,4vw,42px);border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.025)}.registration-step-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:30px}.registration-step-head>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid rgba(212,166,47,.35);border-radius:50%;color:var(--gold-light);font-size:.68rem}.registration-step-head small{color:var(--mint);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.registration-step-head h2{margin:6px 0 0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.7rem);font-weight:500;line-height:.95}.registration-saved-user{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px;padding:16px 18px;border-radius:10px;background:rgba(155,201,173,.08)}.registration-saved-user span{color:rgba(255,255,255,.48);font-size:.75rem}.registration-step label{display:block;margin-bottom:17px}.registration-step label>span,.choice-fieldset legend{display:block;margin-bottom:8px;color:rgba(255,255,255,.62);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.registration-step input,.registration-step select,.registration-step textarea{display:block;width:100%;min-height:52px;padding:12px 15px;border:1px solid rgba(255,255,255,.14);border-radius:9px;outline:none;background:rgba(255,255,255,.05);color:#fff}.registration-step option{background:#151815}.registration-step textarea{resize:vertical}.registration-step input:focus,.registration-step select:focus,.registration-step textarea:focus{border-color:var(--gold)}.choice-fieldset{margin:0 0 22px;padding:0;border:0}.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-card{position:relative;margin:0!important}.choice-card input{position:absolute;opacity:0}.choice-card span{display:flex!important;min-height:72px;align-items:center;justify-content:center;margin:0!important;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:11px;color:#fff!important;text-align:center;cursor:pointer;transition:.2s}.choice-card input:checked+span{border-color:var(--gold);background:rgba(212,166,47,.12)}.codriver-fields{padding:20px;border-left:2px solid var(--gold);background:rgba(255,255,255,.02)}.codriver-fields.is-hidden{display:none}.registration-help{margin:-8px 0 24px;color:rgba(255,255,255,.5);font-size:.78rem}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.package-card{position:relative;display:flex!important;min-height:100%;flex-direction:column;margin:0!important;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.025);cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease}.package-card:hover{transform:translateY(-3px);border-color:rgba(212,166,47,.45)}.package-card>input{position:absolute;opacity:0;pointer-events:none}.package-card:has(input:checked){border-color:var(--gold);background:linear-gradient(145deg,rgba(212,166,47,.14),rgba(255,255,255,.025));box-shadow:0 18px 50px rgba(0,0,0,.22)}.package-card-check{position:absolute;top:16px;right:16px;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:transparent}.package-card:has(input:checked) .package-card-check{border-color:var(--gold);background:var(--gold);color:#111}.package-card-kicker{margin:0 40px 14px 0!important;color:var(--mint)!important;font-size:.58rem!important}.package-card>strong{padding-right:35px;font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1}.package-card>p{min-height:58px;margin:15px 0 20px;color:rgba(255,255,255,.48);font-size:.72rem}.package-price-list{display:grid;gap:8px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.package-price-list>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.package-price-list small{margin:0;color:rgba(255,255,255,.44);font-size:.61rem}.package-price-list b{color:var(--gold-light);font-size:.75rem}.registration-summary{position:sticky;top:105px;padding:30px;border:1px solid rgba(212,166,47,.28);border-radius:var(--radius-md);background:linear-gradient(145deg,rgba(212,166,47,.1),rgba(255,255,255,.035));box-shadow:var(--shadow-dark)}.registration-summary>span{color:var(--gold-light);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.registration-summary h2{margin:10px 0 28px;font-family:var(--font-display);font-size:2.5rem;font-weight:500}.summary-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-line span{color:rgba(255,255,255,.43);font-size:.67rem}.summary-line strong{text-align:right;font-size:.72rem}.summary-total{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:25px 0}.summary-total span{color:rgba(255,255,255,.55);font-size:.75rem}.summary-total strong{color:var(--gold-light);font-family:var(--font-display);font-size:2.8rem;font-weight:500}.registration-summary>p{color:rgba(255,255,255,.4);font-size:.65rem}.summary-payment-note{margin-top:20px;padding:18px;border-radius:10px;background:rgba(0,0,0,.22)}.summary-payment-note strong,.summary-payment-note span{display:block}.summary-payment-note strong{margin-bottom:6px;color:var(--mint);font-size:.72rem}.summary-payment-note span{color:rgba(255,255,255,.48);font-size:.66rem;line-height:1.5}

/* Confirmation and profile */
.confirmation-shell{min-height:100vh;background:#090b09}.confirmation-hero{padding:155px 0 70px;background:radial-gradient(circle at 80% 20%,rgba(155,201,173,.14),transparent 28%),#0b0e0b}.confirmation-hero-inner{display:flex;align-items:center;gap:28px}.confirmation-icon{display:grid;width:90px;height:90px;flex:0 0 90px;place-items:center;border:1px solid rgba(155,201,173,.45);border-radius:50%;color:var(--mint);font-size:2rem}.confirmation-hero h1{margin:8px 0;font-family:var(--font-display);font-size:clamp(3.4rem,7vw,7rem);font-weight:500;line-height:.9}.confirmation-hero p{color:rgba(255,255,255,.55)}.confirmation-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:35px;align-items:start}.confirmation-main{display:grid;gap:22px}.confirmation-card{padding:clamp(25px,4vw,42px);border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.025)}.confirmation-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.confirmation-card-head>span{color:var(--mint);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.confirmation-card-head>strong{font-size:.65rem;text-transform:uppercase}.confirmation-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:rgba(255,255,255,.08)}.confirmation-data>div{padding:18px;background:#0c0f0c}.confirmation-data dt,.bank-data dt{margin-bottom:7px;color:rgba(255,255,255,.42);font-size:.6rem;text-transform:uppercase}.confirmation-data dd,.bank-data dd{margin:0}.confirmation-total{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:25px;padding-top:25px;border-top:1px solid var(--line-dark)}.confirmation-total strong{color:var(--gold-light);font-family:var(--font-display);font-size:3rem;font-weight:500}.payment-card h2{font-family:var(--font-display);font-size:2.8rem;font-weight:500}.payment-card>p{color:rgba(255,255,255,.54)}.payment-badge{padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px}.payment-paid{border-color:rgba(155,201,173,.55);color:var(--mint)}.bank-data{display:grid;gap:1px;margin:30px 0;background:rgba(255,255,255,.08)}.bank-data>div{padding:18px;background:#0c0f0c}.bank-data dd{display:flex;align-items:center;justify-content:space-between;gap:15px;word-break:break-word}.copy-button{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:transparent;color:var(--gold-light);cursor:pointer;font-size:.62rem}.receipt-callout{padding:24px;border:1px solid rgba(212,166,47,.28);border-radius:12px;background:rgba(212,166,47,.08)}.receipt-callout span{color:rgba(255,255,255,.5);font-size:.65rem;text-transform:uppercase}.receipt-callout h3{margin:8px 0;font-family:var(--font-display);font-size:1.9rem;font-weight:500}.receipt-callout a{color:var(--gold-light);word-break:break-all}.confirmation-aside{position:sticky;top:105px;padding:30px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.03)}.confirmation-aside>span{color:var(--mint);font-size:.62rem;text-transform:uppercase}.confirmation-aside h2{margin:10px 0 18px;font-family:var(--font-display);font-size:2.5rem;font-weight:500;line-height:1}.confirmation-aside p{color:rgba(255,255,255,.5);font-size:.75rem}.confirmation-aside .button{margin-top:12px}.profile-notifications,.profile-data-panel{margin-bottom:75px}.notification-list{display:grid;gap:12px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px;border:1px solid rgba(155,201,173,.18);border-radius:var(--radius-md);background:rgba(155,201,173,.045)}.notification-card time{color:var(--mint);font-size:.58rem;text-transform:uppercase}.notification-card h3{margin:7px 0;font-family:var(--font-display);font-size:1.8rem;font-weight:500}.notification-card p{margin:0;color:rgba(255,255,255,.5);font-size:.72rem}.profile-data-panel{padding:clamp(25px,4vw,42px);border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.025)}.profile-data-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.profile-data-form>.form-row,.profile-data-form>.membership-toggle-card,.profile-data-form>.membership-fields,.profile-data-form>button{grid-column:1/-1}.registration-card-rich{grid-template-columns:minmax(0,1fr) auto auto}.registration-mini-data{display:flex;gap:12px;margin-top:12px}.registration-mini-data span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);font-size:.61rem}.registration-card-actions{display:grid;gap:9px}.registration-card-actions>a{color:var(--gold-light);font-size:.68rem;text-transform:uppercase}

/* Admin V8 */
.admin-split-events{grid-template-columns:minmax(300px,.65fr) minmax(560px,1.35fr)}.admin-event-form-panel{position:static;max-height:none}.admin-form-section{margin:0 0 34px;padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.018)}.admin-form-section h3{margin:0 0 20px;color:var(--gold-light);font-family:var(--font-display);font-size:2rem;font-weight:500}.admin-form-help{color:rgba(255,255,255,.48);font-size:.72rem}.admin-package-stack{display:grid;gap:14px}.admin-package-card{padding:18px;border:1px solid rgba(212,166,47,.2);border-radius:11px;background:rgba(212,166,47,.04)}.admin-package-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.admin-package-card-head>strong{color:var(--mint);font-size:.66rem;letter-spacing:.1em}.admin-package-card-head .checkbox-label{margin:0}.admin-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.admin-registration-list{display:grid;gap:16px}.admin-registration-card{padding:22px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.02)}.admin-registration-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-registration-summary span{color:var(--mint);font-size:.58rem;text-transform:uppercase}.admin-registration-summary h3{margin:6px 0;font-family:var(--font-display);font-size:2rem;font-weight:500}.admin-registration-summary p{color:rgba(255,255,255,.45);font-size:.72rem}.admin-registration-summary>strong{color:var(--gold-light);font-family:var(--font-display);font-size:2.2rem;font-weight:500}.admin-registration-details{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:18px 0;background:rgba(255,255,255,.08)}.admin-registration-details>span{padding:13px;background:#101310;font-size:.68rem}.admin-registration-details small{display:block;margin-bottom:6px;color:rgba(255,255,255,.4);font-size:.55rem;text-transform:uppercase}.admin-registration-note{margin:10px 0;color:rgba(255,255,255,.56);font-size:.7rem}.admin-registration-status-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-dark)}.admin-registration-status-form label{margin:0}.admin-registration-status-form label>span{display:block;margin-bottom:7px;color:rgba(255,255,255,.5);font-size:.58rem;text-transform:uppercase}.admin-registration-status-form select{width:100%;min-height:42px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#151815;color:#fff}

@media(max-width:1180px){.club-values-grid{grid-template-columns:repeat(2,1fr)}.gallery-public-card{grid-column:span 6}.gallery-public-card.gallery-size-wide{grid-column:span 12}.articles-public-grid{grid-template-columns:repeat(2,1fr)}.registration-layout,.confirmation-layout{grid-template-columns:1fr}.registration-summary,.confirmation-aside{position:static}.admin-split-events{grid-template-columns:1fr}.admin-registration-details{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.club-story-grid,.club-founder-grid,.club-supercarslot-grid,.article-detail-layout{grid-template-columns:1fr}.club-founder-image,.club-founder-image img{min-height:520px}.club-supercarslot-logo{min-height:340px}.package-grid{grid-template-columns:1fr}.article-detail-aside{position:static}.profile-data-form{display:block}.admin-registration-status-form{grid-template-columns:1fr}.confirmation-data{grid-template-columns:1fr}}
@media(max-width:680px){.club-values-grid,.articles-public-grid{grid-template-columns:1fr}.club-values-grid article{min-height:210px}.club-founder-image,.club-founder-image img{min-height:420px}.club-cta-row,.confirmation-hero-inner,.notification-card{align-items:stretch;flex-direction:column}.gallery-public-grid{display:grid;grid-template-columns:1fr}.gallery-public-card,.gallery-public-card.gallery-size-wide{grid-column:auto}.gallery-public-card.gallery-size-tall{grid-row:auto;min-height:420px}.gallery-public-card.gallery-size-tall .gallery-image-button{min-height:420px}.gallery-lightbox{padding:55px 15px}.choice-row{grid-template-columns:1fr}.registration-saved-user{align-items:flex-start;flex-direction:column}.summary-line{grid-template-columns:90px 1fr}.confirmation-icon{width:65px;height:65px;flex-basis:65px}.confirmation-card-head,.confirmation-total,.admin-registration-summary{align-items:flex-start;flex-direction:column}.registration-card-rich{grid-template-columns:1fr}.admin-price-grid,.admin-registration-details{grid-template-columns:1fr}.admin-form-section{padding:15px}.article-detail-header{padding-top:145px}}
.event-detail-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-public-packages{padding-top:95px}.public-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.public-package-card{display:flex;min-height:360px;flex-direction:column;padding:26px;border:1px solid rgba(15,20,15,.13);border-radius:var(--radius-md);background:#f8f3e8}.public-package-card>span{color:#87702d;font-size:.59rem;font-weight:700;text-transform:uppercase}.public-package-card h3{margin:45px 0 15px;color:#111611;font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1}.public-package-card p{color:#555d54;font-size:.73rem}.public-package-card>div{margin-top:auto;padding-top:20px;border-top:1px solid rgba(15,20,15,.12)}.public-package-card small{display:block;color:#70776e;font-size:.6rem;text-transform:uppercase}.public-package-card strong{color:#111611;font-family:var(--font-display);font-size:2.5rem;font-weight:500}.public-package-cta{margin-top:35px;text-align:center}@media(max-width:1050px){.public-package-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.public-package-grid{grid-template-columns:1fr}}

/* =========================================================
   V9 — COMMUNITY, SPONSOR, PREMI E MIGLIORIE GESTIONALI
   ========================================================= */

/* Immagini nei placeholder */
.media-placeholder img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
}

/* Locandina evento: anteprima controllata, mai gigantesca */
.event-card-media.has-poster {
    display: grid;
    min-height: 620px;
    place-items: center;
    padding: clamp(28px, 4vw, 58px);
    background:
        radial-gradient(circle at 50% 20%, rgba(212, 166, 47, .20), transparent 36%),
        linear-gradient(145deg, #151915, #070807);
}

.featured-event-poster-wrap {
    display: grid;
    width: min(100%, 520px);
    height: min(660px, 72vh);
    place-items: center;
}

.featured-event-poster {
    width: 100%;
    height: 100%;
    max-height: 660px;
    object-fit: contain;
    border-radius: 14px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
}

/* CTA iscrizione molto evidente nell'archivio eventi */
.event-archive-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 28px;
}

.event-discover-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--cream);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.event-register-button {
    min-height: 50px;
    padding-inline: 24px;
    box-shadow: 0 14px 34px rgba(212, 166, 47, .24);
}

.event-archive-card.open {
    border: 1px solid rgba(212, 166, 47, .52);
    box-shadow: 0 24px 80px rgba(212, 166, 47, .12);
}

/* Social + WhatsApp */
.social-community-strip {
    padding: 110px 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(155, 201, 173, .17), transparent 30%),
        radial-gradient(circle at 88% 70%, rgba(212, 166, 47, .18), transparent 28%),
        #0a0c0a;
}

.social-community-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: clamp(50px, 8vw, 120px);
    align-items: center;
}

.social-community-copy h2 {
    margin: 18px 0 24px;
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 6vw, 6.8rem);
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.045em;
}

.social-community-copy p {
    max-width: 650px;
    color: rgba(255,255,255,.62);
}

.social-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.social-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    gap: 11px;
    padding: 0 20px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    transition: .25s ease;
}

.social-button span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--gold);
    color: #050605;
    font-size: 1rem;
}

.social-button:hover {
    transform: translateY(-3px);
    border-color: var(--gold);
}

.whatsapp-community-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 32px;
    align-items: center;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.06);
    box-shadow: var(--shadow-dark);
    backdrop-filter: blur(18px);
}

.whatsapp-qr {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    color: #111;
    text-align: center;
    font-size: .7rem;
}

.whatsapp-qr img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.whatsapp-community-card small,
.whatsapp-community-card strong {
    display: block;
}

.whatsapp-community-card small {
    margin-bottom: 10px;
    color: var(--mint);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.whatsapp-community-card strong {
    margin-bottom: 24px;
    font-family: var(--font-display);
    font-size: 2rem;
    line-height: 1.05;
}

/* Sponsor */
.sponsors-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
    column-gap: 70px;
    align-items: end;
    margin-bottom: 65px;
}

.sponsors-heading .section-kicker,
.sponsors-heading h2 {
    grid-column: 1;
}

.sponsors-heading p {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: var(--text-soft);
}

.sponsor-carousel {
    position: relative;
}

.sponsor-carousel-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.sponsor-carousel-toolbar > span {
    color: var(--text-soft);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sponsor-carousel-controls {
    display: flex;
    gap: 8px;
}

.sponsor-carousel-controls button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(15,20,15,.16);
    border-radius: 50%;
    background: #fff;
    color: var(--text-dark);
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.sponsor-carousel-controls button:hover {
    transform: translateY(-2px);
    background: var(--gold-light);
}

.sponsor-viewport {
    width: 100%;
    overflow-x: auto;
    padding: 6px 2px 22px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.sponsor-viewport::-webkit-scrollbar { display: none; }

.sponsor-track {
    display: flex;
    width: max-content;
    gap: 18px;
}

.sponsor-card {
    display: flex;
    flex: 0 0 clamp(230px, 23vw, 310px);
    min-height: 220px;
    scroll-snap-align: start;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 26px;
    border: 1px solid rgba(15,20,15,.12);
    border-radius: var(--radius-md);
    background: #fff;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

.sponsor-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-light);
}

.sponsor-card img {
    width: 100%;
    height: 90px;
    object-fit: contain;
}

.sponsor-card strong {
    color: var(--text-dark);
    font-size: .88rem;
}

.sponsor-card span {
    color: var(--text-soft);
    font-size: .68rem;
}

/* Premi in Home */
.winners-section {
    background: #090b09;
}

.winner-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.winner-card {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-md);
    background: #111411;
}

.winner-card-visual {
    position: relative;
    height: 330px;
    overflow: hidden;
}

.winner-card-visual img,
.winner-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.winner-placeholder {
    display: grid;
    place-items: center;
    background: radial-gradient(circle, rgba(212,166,47,.22), transparent 45%), #181b18;
    color: var(--gold-light);
    font-family: var(--font-display);
    font-size: 2rem;
}

.winner-position {
    position: absolute;
    top: 18px;
    left: 18px;
    padding: 10px 14px;
    border-radius: 999px;
    background: var(--gold);
    color: #080908;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.winner-card-copy {
    padding: 28px;
}

.winner-card-copy small {
    color: var(--mint);
    font-size: .62rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.winner-card-copy h3 {
    margin: 10px 0;
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1;
}

.winner-card-copy p {
    color: rgba(255,255,255,.58);
    font-size: .78rem;
}

.winner-card-copy a {
    color: var(--gold-light);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* Risultati pagina evento */
.event-results-section {
    background: #090b09;
}

.event-results-groups {
    display: grid;
    gap: 32px;
}

.result-category {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.035);
}

.result-category-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 34px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.result-category-head h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 500;
}

.result-category-head span {
    color: var(--mint);
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
}

.result-row {
    display: grid;
    grid-template-columns: 170px 72px minmax(220px, 1fr) minmax(220px, .8fr);
    gap: 24px;
    align-items: center;
    padding: 24px 34px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.result-row:last-child { border-bottom: 0; }
.result-row.is-featured { background: linear-gradient(90deg, rgba(212,166,47,.12), transparent); }
.result-position { color: var(--gold-light); font-weight: 800; }
.result-vehicle-thumb { display:grid; width:72px; height:58px; place-items:center; overflow:hidden; border-radius:10px; background:#1b1f1b; }
.result-vehicle-thumb img { width:100%; height:100%; object-fit:cover; }
.result-person strong,.result-person span { display:block; }
.result-person span,.result-row p { color:rgba(255,255,255,.55); font-size:.75rem; }
.result-row p { margin:0; }

/* Palmarès profilo */
.profile-results-panel {
    margin-bottom: 70px;
}

.profile-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.profile-result-card {
    padding: 26px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.04);
}

.profile-result-card.is-featured { border-color: rgba(212,166,47,.65); }
.profile-result-card > span { color:var(--mint); font-size:.62rem; text-transform:uppercase; }
.profile-result-card h3 { margin:12px 0; font-family:var(--font-display); font-size:2rem; font-weight:500; }
.profile-result-card strong { display:block; color:var(--gold-light); }
.profile-result-card p,.profile-result-card small { display:block; color:rgba(255,255,255,.58); }
.profile-result-card a { display:inline-block; margin-top:18px; color:var(--gold-light); font-size:.68rem; font-weight:700; text-transform:uppercase; }

/* Validazione codice fiscale */
[data-tax-code].is-invalid {
    border-color: #e87575 !important;
    box-shadow: 0 0 0 3px rgba(232,117,117,.12);
}

[data-tax-code-message].is-error { color: #e87575 !important; }

/* Admin aggiunte */
.admin-panel-intro {
    margin: 0;
    padding: 18px 24px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.54);
    font-size: .76rem;
}

.admin-logo-preview {
    width: 86px;
    height: 48px;
    object-fit: contain;
    border-radius: 6px;
    background: #fff;
}

.admin-registration-quick-actions,
.admin-page-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.admin-registration-quick-actions {
    margin: 22px 0 4px;
}

.admin-registration-quick-actions > a:not(.button),
.admin-edit-client-link {
    color: var(--gold-light);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.admin-page-actions { margin-bottom: 22px; }
.registration-edit-panel { max-width: 1100px; margin: 0 auto; }
.results-event-selector { margin-bottom: 24px; }
.admin-inline-filter { padding: 24px; }
.admin-inline-filter label { max-width: 720px; }
.admin-vehicle-edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:24px; }
.admin-vehicle-edit-card { padding:22px; border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); background:rgba(255,255,255,.025); }
.admin-vehicle-edit-card h3 { font-family:var(--font-display); font-size:2rem; font-weight:500; }
.client-registration-list { display:grid; gap:10px; padding:22px; }
.client-registration-list a { display:flex; flex-direction:column; gap:5px; padding:16px; border:1px solid rgba(255,255,255,.1); border-radius:12px; }
.client-registration-list span { color:rgba(255,255,255,.52); font-size:.7rem; }

/* Mobile: accesso sempre visibile vicino all'hamburger */
@media (max-width: 820px) {
    .header-inner { gap: 10px; }
    .header-account {
        display: flex !important;
        margin-left: auto;
    }
    .header-account .button {
        min-height: 40px;
        max-width: 128px;
        padding: 0 14px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: .6rem;
    }
    .menu-button { flex: 0 0 44px; width:44px; height:44px; }
    .brand-copy { display:none; }
    .brand-mark { width:44px; height:44px; }
}

@media (max-width: 1080px) {
    .social-community-grid,
    .sponsors-heading { grid-template-columns:1fr; }
    .sponsors-heading p { grid-column:1; grid-row:auto; }
    .winner-grid,.profile-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .result-row { grid-template-columns:140px 64px 1fr; }
    .result-row p { grid-column:3; }
}

@media (max-width: 680px) {
    .featured-event-poster-wrap { height: min(520px, 70vh); }
    .event-card-media.has-poster { min-height: 480px; padding:22px; }
    .whatsapp-community-card { grid-template-columns:1fr; }
    .whatsapp-qr { width:min(100%,240px); margin-inline:auto; }
    .winner-grid,.profile-result-grid,.admin-vehicle-edit-grid { grid-template-columns:1fr; }
    .sponsor-card { min-height:180px; }
    .result-category-head { align-items:flex-start; flex-direction:column; padding:24px; }
    .result-row { grid-template-columns:1fr 64px; padding:22px; }
    .result-position { grid-column:1 / -1; }
    .result-person { grid-column:1; }
    .result-row p { grid-column:1 / -1; }
    .event-archive-actions { align-items:stretch; flex-direction:column; }
    .event-register-button { width:100%; }
}


/* =========================================================
   V9.1 — CAROSELLO SPONSOR, UPLOAD MULTIPLO E ALBUM DRIVE
   ========================================================= */
.gallery-group-actions {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 12px;
}
.gallery-group-actions > span {
    color: rgba(255,255,255,.4);
    font-size: .7rem;
    text-transform: uppercase;
}
.gallery-drive-button { white-space: nowrap; }
.gallery-drive-empty {
    display: grid;
    min-height: 260px;
    padding: clamp(28px,5vw,60px);
    align-content: center;
    border: 1px solid rgba(212,166,47,.28);
    border-radius: var(--radius-md);
    background: radial-gradient(circle at 85% 20%,rgba(212,166,47,.16),transparent 35%),#111411;
    color: #fff;
    transition: transform .25s ease,border-color .25s ease;
}
.gallery-drive-empty:hover { transform: translateY(-4px); border-color: var(--gold); }
.gallery-drive-empty > span { color: var(--mint); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.gallery-drive-empty > strong { max-width:760px; margin:15px 0 28px; font-family:var(--font-display); font-size:clamp(2.4rem,5vw,5rem); font-weight:500; line-height:.95; }
.gallery-drive-empty > em { color:var(--gold-light); font-style:normal; font-size:.75rem; text-transform:uppercase; }

.admin-bulk-upload-panel { margin-bottom: 28px; }
.admin-bulk-upload-panel .admin-panel-head p { margin:6px 0 0; color:rgba(255,255,255,.5); font-size:.72rem; }
.admin-bulk-upload-form { max-width:none; }
.admin-bulk-upload-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 14px; }
.admin-file-drop {
    display:block;
    margin: 8px 0 18px;
    padding: 24px;
    border: 1px dashed rgba(212,166,47,.45);
    border-radius: 12px;
    background: rgba(212,166,47,.045);
}
.admin-file-drop input { margin-top:12px; }
.admin-file-drop small { display:block; margin-top:10px; color:rgba(255,255,255,.48); line-height:1.55; }

@media (max-width: 900px) {
    .admin-bulk-upload-grid { grid-template-columns:1fr 1fr; }
    .gallery-group-head { align-items:start; grid-template-columns:1fr; }
    .gallery-group-actions { align-items:flex-start; }
}
@media (max-width: 680px) {
    .sponsors-heading { margin-bottom:38px; }
    .sponsor-carousel-toolbar { align-items:flex-start; }
    .sponsor-carousel-toolbar > span { max-width:190px; }
    .sponsor-card { flex-basis:min(84vw,330px); min-height:180px; }
    .admin-bulk-upload-grid { grid-template-columns:1fr; }
    .gallery-drive-button { width:100%; }
}

/* =========================================================
   V9.2 — Galleria ad album con pagina dedicata
   ========================================================= */
.gallery-albums-archive{background:#080a08;color:#fff}.gallery-albums-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px);align-items:end;gap:40px;margin-bottom:45px}.gallery-albums-heading h2{margin:0;font-family:var(--font-display);font-size:clamp(3.5rem,7vw,7rem);font-weight:500;line-height:.86}.gallery-albums-heading>p{margin:0;color:rgba(255,255,255,.55);line-height:1.8}.gallery-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-album-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:#111411;box-shadow:0 25px 65px rgba(0,0,0,.18)}.gallery-album-cover{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#171b17}.gallery-album-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.78));pointer-events:none}.gallery-album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.gallery-album-card:hover .gallery-album-cover img{transform:scale(1.055)}.gallery-album-placeholder{display:grid;width:100%;height:100%;place-content:center;text-align:center;background:radial-gradient(circle at 70% 20%,rgba(209,173,79,.2),transparent 35%),linear-gradient(145deg,#172019,#090b09)}.gallery-album-placeholder span{color:var(--gold-light);font-family:var(--font-display);font-size:4rem}.gallery-album-placeholder strong{color:rgba(255,255,255,.55);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.gallery-album-count,.gallery-album-open{position:absolute;z-index:2;color:#fff}.gallery-album-count{top:18px;left:18px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(10px);font-size:.62rem;font-weight:700;text-transform:uppercase}.gallery-album-open{right:20px;bottom:18px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.gallery-album-open b{margin-left:6px;color:var(--gold-light);font-size:1rem}.gallery-album-copy{padding:25px 25px 28px}.gallery-album-copy>span{display:block;margin-bottom:10px;color:var(--mint);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.gallery-album-copy h2{margin:0 0 13px;font-family:var(--font-display);font-size:2.4rem;font-weight:500;line-height:.95}.gallery-album-copy h2 a{color:#fff}.gallery-album-copy p{min-height:52px;margin:0;color:rgba(255,255,255,.48);font-size:.88rem;line-height:1.65}.gallery-album-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.gallery-album-links a{color:var(--gold-light);font-size:.66rem;font-weight:700;text-transform:uppercase}

.album-detail-hero{position:relative;display:flex;min-height:72vh;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 75% 15%,rgba(209,173,79,.2),transparent 32%),#0a0c0a;color:#fff}.album-detail-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.album-detail-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.88) 88%),linear-gradient(90deg,rgba(0,0,0,.45),transparent)}.album-detail-hero-content{position:relative;z-index:2;padding-top:180px;padding-bottom:70px}.album-back-link{display:inline-flex;margin-bottom:55px;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.album-detail-hero-content>span{display:block;margin-bottom:16px;color:var(--gold-light);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.album-detail-hero h1{max-width:1050px;margin:0;font-family:var(--font-display);font-size:clamp(4.2rem,10vw,10rem);font-weight:500;line-height:.78}.album-detail-hero-content>p{max-width:700px;margin:28px 0 0;color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.8}.album-detail-meta{display:flex;align-items:center;gap:24px;margin-top:34px}.album-detail-meta>strong{color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.album-detail-section{background:#f3f0df}.album-scroll-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid rgba(11,19,13,.16)}.album-scroll-intro span{color:#557764;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.album-scroll-intro strong{max-width:520px;color:#132017;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3rem);font-weight:500;line-height:1}.album-photo-grid{columns:3 300px;column-gap:18px}.album-photo-card{position:relative;display:inline-block;width:100%;margin:0 0 18px;overflow:hidden;border-radius:20px;background:#0d100e;break-inside:avoid;box-shadow:0 16px 40px rgba(25,37,28,.12)}.album-photo-button{position:relative;display:block;width:100%;padding:0;border:0;background:#111;cursor:zoom-in}.album-photo-button img{display:block;width:100%;height:auto;transition:transform .5s ease,filter .5s ease}.album-photo-button>span{position:absolute;top:16px;right:16px;padding:8px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(0,0,0,.35);color:#fff;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .25s ease}.album-photo-card:hover .album-photo-button img{transform:scale(1.025);filter:brightness(.82)}.album-photo-card:hover .album-photo-button>span{opacity:1}.album-photo-caption{position:absolute;right:0;bottom:0;left:0;padding:55px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;pointer-events:none}.album-photo-caption span{display:block;margin-bottom:4px;color:var(--gold-light);font-size:.52rem;font-weight:700;text-transform:uppercase}.album-photo-caption strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.album-photo-placeholder{display:grid;min-height:260px;place-items:center;color:rgba(255,255,255,.4)}.album-video-button{z-index:3}.album-not-found{min-height:70vh;padding-top:200px;background:#f3f0df}

.gallery-lightbox{grid-template-columns:auto minmax(0,1fr) auto;gap:22px;padding:38px;background:rgba(0,0,0,.96)}.gallery-lightbox-stage{display:flex;min-width:0;height:calc(100vh - 76px);align-items:center;justify-content:center;flex-direction:column}.gallery-lightbox-stage img{max-width:100%;max-height:calc(100% - 55px);object-fit:contain}.gallery-lightbox-info{display:flex;width:min(100%,1100px);align-items:center;justify-content:space-between;gap:20px;padding-top:14px;color:#fff}.gallery-lightbox-info p{position:static;margin:0;color:#fff}.gallery-lightbox-info span{flex:0 0 auto;color:rgba(255,255,255,.55);font-size:.68rem;letter-spacing:.08em}.gallery-lightbox-nav{display:grid;width:54px;height:54px;align-self:center;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:2.4rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.gallery-lightbox-nav:hover{border-color:var(--gold);background:rgba(209,173,79,.16)}.gallery-lightbox-close{z-index:3}.gallery-lightbox-nav[hidden]{display:none}

@media(max-width:1080px){.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-albums-heading{grid-template-columns:1fr}.album-photo-grid{columns:2 280px}}
@media(max-width:680px){.gallery-album-grid{grid-template-columns:1fr}.gallery-album-card{border-radius:20px}.gallery-album-cover{aspect-ratio:1.22/1}.gallery-album-copy h2{font-size:2.1rem}.gallery-album-copy p{min-height:0}.album-detail-hero{min-height:68vh}.album-detail-hero-content{padding-top:140px;padding-bottom:45px}.album-back-link{margin-bottom:35px}.album-detail-hero h1{font-size:clamp(3.7rem,19vw,6.4rem)}.album-detail-meta,.album-scroll-intro{align-items:flex-start;flex-direction:column}.album-photo-grid{columns:1}.album-photo-card{margin-bottom:14px;border-radius:15px}.gallery-lightbox{display:block;padding:58px 12px 20px}.gallery-lightbox-stage{height:calc(100vh - 78px)}.gallery-lightbox-stage img{max-height:calc(100% - 70px)}.gallery-lightbox-nav{position:absolute;top:50%;z-index:3;width:44px;height:44px;transform:translateY(-50%);background:rgba(0,0,0,.5);font-size:2rem}.gallery-lightbox-prev{left:8px}.gallery-lightbox-next{right:8px}.gallery-lightbox-info{align-items:flex-start;flex-direction:column;gap:4px}.gallery-lightbox-info p{font-size:.82rem}.album-photo-button>span{display:none}}

/* ---------------------------------------------------------
   V9.3 — Album fotografici in Home
   --------------------------------------------------------- */
.home-album-carousel {
    position: relative;
}

.home-album-carousel-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.home-album-carousel-toolbar p {
    max-width: 560px;
    margin: 0;
    color: rgba(255, 255, 255, 0.52);
    line-height: 1.7;
}

.home-album-carousel-controls {
    display: flex;
    gap: 10px;
    flex: 0 0 auto;
}

.home-album-carousel-controls button {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.home-album-carousel-controls button:hover {
    border-color: var(--gold-light);
    background: rgba(209, 173, 79, 0.12);
    transform: translateY(-2px);
}

.home-album-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 0 16px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: rgba(209, 173, 79, .65) rgba(255, 255, 255, .07);
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}

.home-album-viewport:active {
    cursor: grabbing;
}

.home-album-viewport::-webkit-scrollbar {
    height: 7px;
}

.home-album-viewport::-webkit-scrollbar-track {
    border-radius: 99px;
    background: rgba(255, 255, 255, .07);
}

.home-album-viewport::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(209, 173, 79, .68);
}

.home-album-track {
    display: flex;
    gap: 20px;
    width: max-content;
}

.home-album-card {
    flex: 0 0 clamp(300px, 33vw, 445px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 24px;
    background: #111411;
    box-shadow: 0 22px 52px rgba(0, 0, 0, .22);
    scroll-snap-align: start;
}

.home-album-cover {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #171b17;
}

.home-album-cover::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, .8));
    content: "";
    pointer-events: none;
}

.home-album-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}

.home-album-card:hover .home-album-cover img {
    transform: scale(1.055);
}

.home-album-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-content: center;
    text-align: center;
    background: radial-gradient(circle at 70% 20%, rgba(209, 173, 79, .2), transparent 35%), linear-gradient(145deg, #172019, #090b09);
}

.home-album-placeholder span {
    color: var(--gold-light);
    font-family: var(--font-display);
    font-size: 4rem;
}

.home-album-placeholder strong {
    color: rgba(255, 255, 255, .55);
    font-size: .62rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-album-count,
.home-album-open {
    position: absolute;
    z-index: 2;
    color: #fff;
}

.home-album-count {
    top: 17px;
    left: 17px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(0, 0, 0, .38);
    backdrop-filter: blur(10px);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.home-album-open {
    right: 18px;
    bottom: 17px;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.home-album-open b {
    margin-left: 6px;
    color: var(--gold-light);
    font-size: 1rem;
}

.home-album-copy {
    padding: 23px 24px 26px;
}

.home-album-copy > span {
    display: block;
    margin-bottom: 9px;
    color: var(--mint);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-album-copy h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 500;
    line-height: .95;
}

.home-album-copy h3 a {
    color: #fff;
}

.home-album-copy p {
    display: -webkit-box;
    overflow: hidden;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, .48);
    font-size: .85rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.empty-state-dark {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .035);
    color: #fff;
}

.empty-state-dark p {
    color: rgba(255, 255, 255, .55);
}

@media (max-width: 760px) {
    .media-header {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 44px;
    }

    .home-album-carousel-toolbar {
        align-items: flex-start;
    }

    .home-album-carousel-toolbar p {
        max-width: 220px;
        font-size: .82rem;
    }

    .home-album-card {
        flex-basis: min(84vw, 350px);
        border-radius: 20px;
    }

    .home-album-cover {
        aspect-ratio: 1.18 / 1;
    }

    .home-album-copy {
        padding: 20px 20px 23px;
    }
}


/* V9.4 — anteprime articoli */
.admin-panel-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.admin-panel-head-actions form{margin:0}.admin-panel-head-actions .button{min-height:38px;padding:10px 16px;font-size:.62rem}.admin-table-thumb{width:68px;height:48px;border-radius:8px;object-fit:cover;background:#eee}.admin-help{display:block;margin:-8px 0 8px;color:rgba(255,255,255,.58);font-size:.72rem;line-height:1.45}
@media(max-width:700px){.press-card{min-height:430px}.press-card-image,.press-card-image img{height:205px;min-height:205px}.press-card-body{min-height:225px;padding:24px}.admin-panel-head-actions{align-items:stretch;flex-direction:column}.admin-panel-head-actions .button{width:100%}}


/* =========================================================
   V9.5 — SITO PIÙ SEMPLICE, AREA UTENTE E NAVIGAZIONE
   ========================================================= */

/* Bottoni: testi piccoli più leggibili */
.button { font-size:.84rem; letter-spacing:.075em; min-height:58px; padding-inline:30px; }
.button-small { min-height:46px; padding:0 20px; font-size:.72rem; }

/* Header e due accessi rapidi sempre visibili */
.header-tools{display:flex;align-items:center;gap:7px;margin-left:auto}.header-icon-link{position:relative;display:flex;min-width:64px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;transition:.2s ease}.header-icon-link:hover,.header-icon-link.is-active{border-color:rgba(240,215,124,.55);background:rgba(240,215,124,.08);color:var(--gold-light)}.header-icon-link svg{width:22px;height:22px;fill:currentColor}.header-icon-link span{font-size:.52rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.desktop-nav{margin-left:auto}.header-account{margin-left:6px}.header-inner{gap:12px}

/* Menu mobile: prima area personale, poi sito */
.mobile-menu{overflow:auto}.mobile-menu-inner{width:min(100% - 42px,900px);padding-top:125px;padding-bottom:45px}.mobile-member-area{padding:0 0 30px;border-bottom:1px solid var(--line-dark)}.mobile-member-area>strong{display:block;margin:10px 0 20px;font-family:var(--font-display);font-size:2.6rem;font-weight:500}.mobile-member-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-member-actions>a{display:flex;min-height:82px;flex-direction:column;justify-content:center;padding:15px 18px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.035)}.mobile-member-actions b{font-size:.88rem}.mobile-member-actions small{margin-top:3px;color:rgba(255,255,255,.5);font-size:.62rem}.mobile-site-nav{padding-top:30px}.mobile-site-nav nav{margin-top:10px}.mobile-auth-actions{display:flex;gap:12px;margin-top:15px}.menu-badge{display:inline-grid;min-width:22px;height:22px;place-items:center;margin-left:5px;border-radius:999px;background:var(--gold);color:#080908;font-size:.62rem}

/* HOME 01 Supercarslot chiara */
.supercarslot-light{background:radial-gradient(circle at 80% 20%,rgba(212,166,47,.13),transparent 27%),var(--cream-soft);color:var(--text-dark)}.supercarslot-light .supercarslot-grid{grid-template-columns:minmax(420px,1.08fr) minmax(330px,.92fr)}.supercarslot-light .supercarslot-copy{max-width:720px}.supercarslot-light .supercarslot-copy .display-title{color:var(--text-dark)}.supercarslot-light .supercarslot-copy>p:not(.lead){color:var(--text-soft)}.supercarslot-visual-light{min-height:520px}.supercarslot-visual-light .logo-stage img{box-shadow:0 25px 70px rgba(30,34,30,.14)}.supercarslot-visual-light .logo-stage-ring{border-color:rgba(159,119,20,.22)}.supercarslot-visual-light .ring-two{border-color:rgba(75,115,96,.24)}.feature-list-light{border-color:var(--line-light)}.feature-list-light div{border-color:var(--line-light)}.feature-list-light p{color:var(--text-soft)}
.supercarslot-event{margin-top:80px;padding:clamp(28px,4vw,50px);border:1px solid rgba(15,20,16,.13);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-light)}.supercarslot-event-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:30px;color:var(--mint-dark);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.supercarslot-event-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:45px}.supercarslot-event h3{max-width:780px;margin:0;color:var(--text-dark);font-family:var(--font-display);font-size:clamp(3.2rem,6vw,6.8rem);font-weight:500;line-height:.86;letter-spacing:-.045em}.supercarslot-event-date{margin:18px 0 0;color:var(--text-soft);font-size:1rem}.event-countdown-compact{min-width:430px;margin:0 0 5px}.supercarslot-event>.button{margin-top:35px}

/* 02 + Podio direttamente sotto */
.home-podium-block{margin-top:120px;padding-top:80px;border-top:1px solid var(--line-dark)}.home-podium-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.home-podium-label{display:block;margin-bottom:10px;color:var(--gold-light);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.home-podium-head h2{margin:0;font-family:var(--font-display);font-size:clamp(3rem,5vw,5.8rem);font-weight:500;line-height:.9}.home-podium-scroll{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}.winner-card-compact{flex:0 0 min(360px,82vw);scroll-snap-align:start}.winner-card-compact .winner-card-visual{height:240px}.winner-card-compact .winner-card-copy h3{font-size:1.8rem}

/* 03 Servizi chiari */
.home-services-light{background:var(--cream-soft);color:var(--text-dark)}.home-services-light .home-services-intro p{color:var(--text-soft)}.home-services-light .home-services-list{border-color:var(--line-light)}.home-services-light .home-service-row{border-color:var(--line-light)}.home-services-light .home-service-row:hover{background:rgba(75,115,96,.06)}.home-services-light .home-service-row strong{color:var(--text-dark)}.home-services-light .home-service-row i{color:var(--mint-dark)}

/* 04 Rassegna stampa: una sola riga scorrevole */
.press-home-scroll .press-grid{display:flex;gap:18px;overflow-x:auto;padding:3px 2px 22px;scroll-snap-type:x mandatory;scrollbar-width:thin}.press-home-scroll .press-card{flex:0 0 clamp(300px,29vw,390px);min-height:430px;scroll-snap-align:start}.press-home-scroll .press-card-image,.press-home-scroll .press-card-image img{height:190px;min-height:190px}.press-home-scroll .press-card-body{min-height:220px;padding:22px}.press-home-scroll .press-card h3{font-size:clamp(1.7rem,2.1vw,2.4rem)}

/* 05 Sponsor scura */
.sponsors-section-dark{background:#090b09;color:#fff}.sponsors-section-dark .sponsors-heading p{color:rgba(255,255,255,.58)}.sponsors-section-dark .sponsor-carousel-toolbar{color:rgba(255,255,255,.55)}.sponsors-section-dark .sponsor-carousel-controls button{border-color:rgba(255,255,255,.15);color:#fff}
.social-button-wide{min-width:230px}

/* Footer senza doppio menu */
.site-footer-simple{padding-top:80px}.footer-simple-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:70px;padding-bottom:65px}.footer-contact-primary{display:flex;flex-direction:column;align-items:flex-start}.footer-eyebrow{display:block;margin:35px 0 12px;color:var(--mint);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.footer-contact-big{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,3.2rem);line-height:1.05;word-break:break-word}.footer-community-link{margin-top:20px;color:var(--gold-light);font-size:.78rem;font-weight:700}.footer-reserved-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.footer-reserved-buttons a{display:flex;min-height:48px;align-items:center;padding:10px 15px;border:1px solid rgba(255,255,255,.13);border-radius:10px;font-size:.72rem;font-weight:700}.footer-social-links{display:flex;gap:20px;margin-top:25px;color:rgba(255,255,255,.58);font-size:.72rem}

/* Club manifesto + struttura */
.club-manifesto-section{background:#0b0e0b}.manifesto-grid-dark .manifesto-copy p:not(.lead){color:rgba(255,255,255,.6)}.club-structure-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:end;gap:60px;margin-bottom:55px}.club-structure-head>p{color:var(--text-soft)}.club-stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}.club-stat-cards article{padding:30px;border:1px solid var(--line-light);border-radius:var(--radius-md);background:#fff}.club-stat-cards span,.club-board-card span{color:var(--mint-dark);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.club-stat-cards strong{display:block;margin-top:18px;color:var(--text-dark);font-family:var(--font-display);font-size:4rem;font-weight:500}.club-board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.club-board-card{min-height:190px;padding:28px;border:1px solid var(--line-light);border-radius:var(--radius-md);background:#fff}.club-board-card-main{background:#132018;color:#fff}.club-board-card-main span{color:var(--mint)}.club-board-card h3{margin:40px 0 0;color:var(--text-dark);font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1}.club-board-card-main h3{color:#fff}

/* Eventi + album stessa pagina */
.events-photo-section{background:var(--cream-soft)}.events-photo-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:end;gap:60px;margin-bottom:55px}.events-photo-head>p{color:var(--text-soft)}.events-album-grid{margin-top:20px}

/* Podio */
.podium-section-head,.garage-section-head,.notifications-page-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.podium-empty-personal{padding:35px;border:1px solid var(--line-light);border-radius:var(--radius-md);background:#fff}.podium-empty-personal strong{font-family:var(--font-display);font-size:2.2rem;font-weight:500}.podium-empty-personal p{color:var(--text-soft)}.personal-result-light{background:#fff;border-color:var(--line-light);color:var(--text-dark)}.personal-result-light h3{color:var(--text-dark)}.personal-result-light p,.personal-result-light small{color:var(--text-soft)}.podium-results{background:#090b09}.podium-groups{display:grid;gap:24px}.podium-group{overflow:hidden;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:rgba(255,255,255,.025)}.podium-group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:28px 32px;border-bottom:1px solid var(--line-dark)}.podium-group-head span{color:var(--mint);font-size:.62rem;text-transform:uppercase}.podium-group-head h2{margin:5px 0 0;font-family:var(--font-display);font-size:2.6rem;font-weight:500}.podium-group-head>strong{color:var(--gold-light);font-size:.8rem}.podium-row{display:grid;grid-template-columns:150px 82px minmax(0,1fr);align-items:center;gap:22px;padding:20px 32px;border-bottom:1px solid rgba(255,255,255,.07)}.podium-row:last-child{border-bottom:0}.podium-position{color:var(--gold-light);font-weight:800}.podium-car-thumb{display:grid;width:82px;height:60px;place-items:center;overflow:hidden;border-radius:10px;background:#171a17;color:rgba(255,255,255,.5)}.podium-car-thumb img{width:100%;height:100%;object-fit:cover}.podium-row>div:last-child strong,.podium-row>div:last-child span{display:block}.podium-row>div:last-child span{margin-top:4px;color:rgba(255,255,255,.5);font-size:.72rem}

/* Garage */
.garage-guest-card{max-width:850px;padding:clamp(35px,6vw,75px);border:1px solid var(--line-light);border-radius:var(--radius-lg);background:#fff;text-align:center}.garage-guest-card>span{color:var(--mint-dark);font-size:.65rem;font-weight:800;text-transform:uppercase}.garage-guest-card h2{margin:18px 0;font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.9}.garage-guest-card p{color:var(--text-soft)}.garage-guest-card>div{display:flex;justify-content:center;gap:12px;margin-top:30px}.button-outline-dark{border-color:rgba(15,20,16,.24)!important;color:var(--text-dark)!important}.community-garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.community-car-card{overflow:hidden;border:1px solid var(--line-light);border-radius:var(--radius-md);background:#fff}.community-car-card.is-mine{box-shadow:0 0 0 2px rgba(212,166,47,.25)}.community-car-image{display:grid;height:280px;place-items:center;overflow:hidden;background:#e8e2d5;color:var(--mint-dark);font-family:var(--font-display);font-size:3rem}.community-car-image img{width:100%;height:100%;object-fit:cover}.community-car-copy{padding:24px}.community-car-copy>span{color:var(--mint-dark);font-size:.62rem;font-weight:800;text-transform:uppercase}.community-car-copy h3{margin:8px 0;color:var(--text-dark);font-family:var(--font-display);font-size:2.2rem;font-weight:500}.community-car-copy p{color:var(--text-soft);font-size:.75rem}.community-car-copy a{color:var(--mint-dark);font-size:.68rem;font-weight:800;text-transform:uppercase}.garage-community-head{margin-top:100px}

/* Notifiche */
.notifications-page-list{display:grid;gap:12px}.notification-page-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 30px;border:1px solid var(--line-light);border-radius:var(--radius-md);background:#fff}.notification-page-card.is-unread{border-left:5px solid var(--gold)}.notification-page-card time{color:var(--mint-dark);font-size:.62rem;font-weight:800}.notification-page-card h3{margin:6px 0;color:var(--text-dark);font-family:var(--font-display);font-size:2rem;font-weight:500}.notification-page-card p{margin:0;color:var(--text-soft)}

/* Profilo: cinque scelte subito */
.member-hero-simple{padding-bottom:65px}.member-dashboard-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:70px}.member-dashboard-nav>a{display:flex;min-height:155px;flex-direction:column;padding:22px;border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.035);transition:.2s ease}.member-dashboard-nav>a:hover{transform:translateY(-3px);border-color:rgba(240,215,124,.5);background:rgba(240,215,124,.055)}.member-dashboard-nav span{color:var(--mint);font-size:.58rem;font-weight:800;text-transform:uppercase}.member-dashboard-nav strong{margin-top:20px;font-family:var(--font-display);font-size:1.8rem;font-weight:500;line-height:1}.member-dashboard-nav small{margin-top:auto;color:rgba(255,255,255,.48)}.profile-notifications-summary{margin-bottom:65px}

/* Registrazione / login per utenti anziani */
.auth-card-easy{max-width:760px;padding:clamp(28px,5vw,62px)}.auth-card-easy h1{font-size:clamp(3.5rem,8vw,6.5rem)}.auth-big-intro{font-size:1.05rem!important;line-height:1.65!important}.easy-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}.easy-steps span{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:.72rem}.easy-steps b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--gold);color:#080908}.easy-auth-form label>span{font-size:.78rem!important}.easy-auth-form input{min-height:58px!important;font-size:1rem!important}.easy-auth-form small{font-size:.72rem!important;line-height:1.45}.password-field{display:grid;grid-template-columns:1fr auto;gap:8px}.password-field input{min-width:0}.password-field button{min-width:92px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);cursor:pointer;font-size:.75rem;font-weight:800}.easy-privacy{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:12px}.easy-privacy span{font-size:.78rem!important;line-height:1.5}.easy-submit{min-height:64px;font-size:.9rem}

/* Immagini contenuto cliccabili */
.is-clickable-image{cursor:zoom-in}.is-clickable-image:focus{outline:3px solid rgba(212,166,47,.65);outline-offset:3px}

/* Admin comunicazioni */
.admin-communications-intro{margin-bottom:22px}.admin-communications-intro p{max-width:850px;color:rgba(255,255,255,.62)}.admin-communications-form{max-width:900px}.admin-message-examples{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 25px}.admin-message-examples strong{width:100%;color:rgba(255,255,255,.5);font-size:.62rem;text-transform:uppercase}.admin-message-examples span{padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:.65rem;color:rgba(255,255,255,.65)}

/* Servizi senza CTA informativi: più puliti */
.service-detail{grid-template-columns:74px minmax(300px,.95fr) minmax(300px,.85fr)}

@media(max-width:1180px){
    .desktop-nav{display:none}.header-tools{margin-left:auto}.supercarslot-light .supercarslot-grid{grid-template-columns:1fr}.supercarslot-visual-light{min-height:360px}.supercarslot-event-main{grid-template-columns:1fr}.event-countdown-compact{min-width:0;max-width:620px}.member-dashboard-nav{grid-template-columns:repeat(3,1fr)}.community-garage-grid{grid-template-columns:repeat(2,1fr)}.club-board-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
    .container{width:min(calc(100% - 28px),var(--container))}.section{padding:90px 0}.brand-copy{display:none}.header-inner{gap:7px}.header-tools{gap:5px}.header-icon-link{min-width:48px;padding:6px}.header-icon-link svg{width:20px;height:20px}.header-icon-link span{font-size:.45rem}.header-account{display:none}.menu-button{flex:0 0 44px}.mobile-menu-inner{width:min(100% - 28px,900px);padding-top:105px}.mobile-member-actions{grid-template-columns:1fr}.mobile-member-actions>a{min-height:68px}.mobile-auth-actions{flex-direction:column}.mobile-auth-actions .button{width:100%}
    .supercarslot-visual-light{min-height:280px}.supercarslot-event{margin-top:50px}.supercarslot-event-head{align-items:flex-start;flex-direction:column}.event-countdown-compact{grid-template-columns:repeat(2,1fr)!important}.home-podium-head,.podium-section-head,.garage-section-head,.notifications-page-head{align-items:flex-start;flex-direction:column}.home-podium-scroll{margin-right:-14px}.press-header{align-items:flex-start;gap:25px}.press-home-scroll .press-grid{margin-right:-14px}.footer-simple-grid{grid-template-columns:1fr;gap:20px}.footer-reserved-buttons{grid-template-columns:1fr}.footer-contact-big{font-size:1.75rem}.club-structure-head,.events-photo-head{grid-template-columns:1fr}.club-stat-cards,.club-board-grid{grid-template-columns:1fr}.club-board-card{min-height:150px}.community-garage-grid{grid-template-columns:1fr}.community-car-image{height:250px}.member-dashboard-nav{grid-template-columns:1fr 1fr}.member-dashboard-nav>a{min-height:130px}.podium-group-head{align-items:flex-start;flex-direction:column}.podium-row{grid-template-columns:1fr 70px;gap:12px}.podium-row>div:last-child{grid-column:1/-1}.notification-page-card{align-items:flex-start;flex-direction:column}.easy-steps{grid-template-columns:1fr}.password-field{grid-template-columns:1fr}.password-field button{min-height:46px}.garage-guest-card>div{flex-direction:column}.garage-guest-card .button{width:100%}.service-detail{grid-template-columns:56px 1fr}.service-detail>p{grid-column:2}
}
@media(max-width:480px){.member-dashboard-nav{grid-template-columns:1fr}.header-icon-link span{display:none}.header-icon-link{min-width:42px;height:42px;border-radius:50%}.supercarslot-event h3{font-size:3.1rem}}

/* V9.5 account dropdown desktop */
.account-dropdown{position:relative}.account-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:50;display:grid;width:220px;padding:9px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#0d100d;box-shadow:0 18px 50px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.18s ease}.account-dropdown:hover .account-dropdown-menu,.account-dropdown:focus-within .account-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.account-dropdown-menu a{display:flex;justify-content:space-between;padding:11px 12px;border-radius:9px;color:#fff;font-size:.68rem;font-weight:700}.account-dropdown-menu a:hover{background:rgba(255,255,255,.07)}.account-dropdown-menu span{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:var(--gold);color:#080908;font-size:.56rem}


/* =========================================================
   V9.6 — semplicità area riservata, messaggi, eventi compatti
   ========================================================= */

/* Home Supercarslot scuro */
.home-simple .supercarslot-dark{background:#080a08;color:#fff}.home-simple .supercarslot-dark:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 76% 26%,rgba(204,171,86,.1),transparent 35%),linear-gradient(180deg,#0a0d0a 0%,#080908 100%)}.home-simple .supercarslot-dark .supercarslot-grid,.home-simple .supercarslot-dark>.container{position:relative}.home-simple .supercarslot-dark .supercarslot-copy>p{color:rgba(255,255,255,.65)}.home-simple .supercarslot-dark .logo-stage{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.09)}.home-simple .supercarslot-dark .supercarslot-event{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.home-simple .supercarslot-dark .supercarslot-event-head,.home-simple .supercarslot-dark .supercarslot-event-date{color:rgba(255,255,255,.58)}.home-simple .supercarslot-dark .event-countdown>div{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.025)}

/* Dialog accessibili e leggibili */
body.dialog-open{overflow:hidden}.site-dialog{width:min(92vw,760px);max-height:92vh;padding:0;border:0;border-radius:22px;background:transparent;color:var(--text-dark);overflow:visible}.site-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(7px)}.dialog-card{position:relative;display:grid;gap:18px;padding:clamp(28px,5vw,52px);border-radius:22px;background:#f7f3e9;box-shadow:0 28px 90px rgba(0,0,0,.38)}.dialog-card h2{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,4.8rem);font-weight:500;line-height:.92}.dialog-card p{margin:0;color:#53584f;font-size:1rem;line-height:1.65}.dialog-kicker{color:var(--mint-dark);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dialog-close{position:absolute;top:16px;right:16px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:transparent;color:#111;font-size:1.6rem;cursor:pointer}.dialog-actions{display:flex;gap:10px;margin-top:8px}.button-danger{border:1px solid #8b2929;background:#8b2929;color:#fff}.button-danger:hover{background:#6f1e1e}.success-dialog-card{text-align:center}.success-dialog-icon{display:grid;width:82px;height:82px;margin:0 auto;place-items:center;border-radius:50%;background:var(--gold);color:#10130f;font-size:2.2rem;font-weight:900}.success-dialog-important{padding:15px;border:2px solid #9d6e15;border-radius:12px;background:#fff6d7!important;color:#6a4707!important;font-size:1.1rem!important;font-weight:900!important}.success-dialog-email{display:grid;gap:7px;padding:18px;border-radius:14px;background:#0d110d;color:#fff}.success-dialog-email span{font-size:.68rem;font-weight:800;letter-spacing:.08em}.success-dialog-email a{color:var(--gold-light);font-size:clamp(1.05rem,3vw,1.6rem);font-weight:800;overflow-wrap:anywhere}

/* Profilo e stato iscrizione */
.member-dashboard-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.registration-persistent-alert{display:grid;grid-template-columns:70px 1fr;gap:24px;margin:0 0 28px;padding:30px;border:2px solid rgba(212,166,47,.65);border-radius:18px;background:#fff4c9;color:#25261f}.registration-persistent-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#d4a62f;color:#111;font-size:1.8rem;font-weight:900}.registration-persistent-alert>div:last-child>span{color:#72550b;font-size:.66rem;font-weight:900;letter-spacing:.1em}.registration-persistent-alert h2{margin:7px 0 8px;font-family:var(--font-display);font-size:2.8rem;font-weight:600}.registration-persistent-alert p{max-width:800px;margin:0 0 12px;line-height:1.55}.registration-receipt-email{padding:13px 0;font-weight:900}.registration-receipt-email a{display:inline-block;margin-top:3px;color:#4e3907;font-size:1.15rem;text-decoration:underline;overflow-wrap:anywhere}.registration-card-actions{flex-wrap:wrap}.registration-card-actions>a,.registration-card-actions>button{min-height:42px;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.registration-card-actions .registration-reapply{border-color:var(--gold);background:var(--gold);color:#10110f}.registration-cancel-trigger{color:#f1b3ae!important}

/* Centro messaggi utente */
.member-messages-section{padding-top:70px}.message-center{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.5fr);min-height:620px;overflow:hidden;border:1px solid var(--line-light);border-radius:20px;background:#fff}.message-thread-list{border-right:1px solid var(--line-light);background:#f2eee4}.message-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px;border-bottom:1px solid var(--line-light)}.message-thread-head span,.conversation-head span{color:var(--mint-dark);font-size:.62rem;font-weight:800;text-transform:uppercase}.message-thread-head h2,.conversation-head h2{margin:4px 0 0;font-family:var(--font-display);font-size:2rem;font-weight:600}.message-thread-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid rgba(10,20,12,.08);color:var(--text-dark)}.message-thread-item:hover,.message-thread-item.is-active{background:#fff}.message-thread-item strong,.message-thread-item small{display:block}.message-thread-item strong{font-size:.8rem}.message-thread-item small{margin-top:5px;color:var(--text-soft);font-size:.68rem;line-height:1.4}.message-unread-badge{display:grid;min-width:28px;height:28px;place-items:center;border-radius:999px;background:var(--gold);color:#111;font-size:.7rem;font-weight:900}.message-conversation{display:flex;min-width:0;flex-direction:column;background:#fff}.conversation-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line-light)}.conversation-status{padding:6px 10px;border-radius:999px;background:#e7eee8;color:#26482d;font-weight:800}.conversation-status.status-closed{background:#e6e3df;color:#777}.conversation-messages{display:flex;flex:1;flex-direction:column;gap:12px;padding:26px;overflow-y:auto;background:#fbfaf6}.conversation-bubble{max-width:76%;padding:16px 18px;border-radius:16px}.conversation-bubble.is-user{align-self:flex-end;background:#0e1510;color:#fff;border-bottom-right-radius:4px}.conversation-bubble.is-admin{align-self:flex-start;background:#eee7d6;color:#171a17;border-bottom-left-radius:4px}.conversation-bubble>span{display:block;margin-bottom:6px;font-size:.62rem;font-weight:900;text-transform:uppercase}.conversation-bubble p{margin:0;font-size:.83rem;line-height:1.55}.conversation-bubble time{display:block;margin-top:8px;opacity:.55;font-size:.58rem}.message-reply-form{padding:20px 26px;border-top:1px solid var(--line-light)}.message-reply-form label{display:grid;gap:8px}.message-reply-form textarea,.new-message-dialog textarea,.new-message-dialog input{width:100%;padding:15px;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:#fff;font:inherit;font-size:1rem}.message-reply-form textarea{min-height:105px}.message-reply-form .button{margin-top:10px}.message-welcome{display:grid;max-width:600px;margin:auto;padding:45px;text-align:center}.message-welcome>span{font-size:3.3rem}.message-welcome h2{margin:14px 0;font-family:var(--font-display);font-size:3.6rem;font-weight:500}.message-welcome p{color:var(--text-soft);line-height:1.6}.message-welcome .button{justify-self:center}.empty-state.compact{padding:24px}

/* Messaggi admin */
.admin-message-center{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:650px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px}.admin-message-list{border-right:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}.admin-thread-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.admin-thread-item.is-active,.admin-thread-item:hover{background:rgba(255,255,255,.07)}.admin-thread-item strong,.admin-thread-item span,.admin-thread-item small{display:block}.admin-thread-item span{margin-top:3px;color:var(--gold-light);font-size:.69rem}.admin-thread-item small{margin-top:5px;color:rgba(255,255,255,.48);font-size:.62rem}.admin-thread-item>b{display:grid;min-width:28px;height:28px;place-items:center;border-radius:50%;background:var(--gold);color:#111}.admin-message-thread{display:flex;min-width:0;flex-direction:column}.admin-conversation-messages{display:flex;min-height:360px;flex:1;flex-direction:column;gap:12px;padding:25px;overflow-y:auto}.admin-message-bubble{max-width:75%;padding:15px 18px;border-radius:14px;background:rgba(255,255,255,.08)}.admin-message-bubble.from-user{align-self:flex-start}.admin-message-bubble.from-admin{align-self:flex-end;background:rgba(212,166,47,.15)}.admin-message-bubble span{display:block;color:var(--gold-light);font-size:.6rem;font-weight:800}.admin-message-bubble p{margin:6px 0;color:#fff;line-height:1.55}.admin-message-bubble time{color:rgba(255,255,255,.4);font-size:.58rem}.admin-reply-form{padding:22px;border-top:1px solid rgba(255,255,255,.08)}

/* Eventi più compatti */
.events-archive-compact{padding-bottom:90px}.events-grid-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-compact-card{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:210px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}.event-compact-image{position:relative;display:block;min-height:210px;overflow:hidden;background:#171a17}.event-compact-image img{width:100%;height:100%;object-fit:cover;transition:.3s ease}.event-compact-image:hover img{transform:scale(1.03)}.event-compact-image .event-status{position:absolute;left:12px;bottom:12px}.event-compact-content{display:grid;grid-template-columns:74px 1fr;gap:16px;padding:20px}.event-year{color:var(--gold-light);font-family:var(--font-display);font-size:2.2rem;font-weight:600;line-height:1}.event-compact-info>span{color:var(--mint);font-size:.62rem;font-weight:800;text-transform:uppercase}.event-compact-info h2{margin:5px 0 3px;font-family:var(--font-display);font-size:2.2rem;font-weight:500;line-height:1}.event-compact-info p{margin:0;color:rgba(255,255,255,.55);font-size:.7rem}.event-compact-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto}.event-compact-actions .button{min-height:43px;padding:10px 15px}.event-register-button{box-shadow:0 0 0 2px rgba(212,166,47,.24)}.event-photo-link{padding:10px 5px;color:var(--gold-light);font-size:.68rem;font-weight:800}.event-album-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-album-link-card{position:relative;display:block;min-height:280px;overflow:hidden;border-radius:15px;background:#141714;color:#fff}.event-album-link-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:.3s}.event-album-link-card:hover img{transform:scale(1.03);opacity:.42}.event-album-link-card>div{position:absolute;inset:auto 0 0;padding:25px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.event-album-link-card span{color:var(--gold-light);font-size:.62rem;font-weight:800}.event-album-link-card h3{margin:7px 0;font-family:var(--font-display);font-size:2.1rem;font-weight:500}.event-album-link-card b{font-size:.68rem;text-transform:uppercase}

/* Touch target e leggibilità generale */
@media(max-width:1180px){.member-dashboard-nav{grid-template-columns:repeat(3,1fr)}.events-grid-compact{grid-template-columns:1fr}.event-album-links{grid-template-columns:repeat(2,1fr)}.admin-message-center{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:760px){button,.button,input,select,textarea{font-size:16px}.button{min-height:50px;padding:13px 18px}.site-header .button{min-height:44px}.home-simple .supercarslot-dark .supercarslot-grid{gap:35px}.home-simple .supercarslot-dark .supercarslot-visual{min-height:245px}.home-simple .supercarslot-dark .logo-stage img{max-width:76%}.registration-persistent-alert{grid-template-columns:1fr;padding:22px}.registration-persistent-alert h2{font-size:2.3rem}.registration-persistent-icon{width:48px;height:48px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}.message-center{grid-template-columns:1fr;min-height:0}.message-thread-list{border-right:0;border-bottom:1px solid var(--line-light)}.message-thread-list .message-thread-item{padding:16px}.message-conversation{min-height:480px}.conversation-bubble{max-width:90%}.conversation-head{align-items:flex-start;flex-direction:column}.message-welcome{padding:35px 22px}.message-welcome h2{font-size:2.9rem}.events-grid-compact{gap:13px}.event-compact-card{grid-template-columns:120px minmax(0,1fr);min-height:170px}.event-compact-image{min-height:170px}.event-compact-content{grid-template-columns:1fr;padding:15px;gap:7px}.event-year{font-size:1.7rem}.event-compact-info h2{font-size:1.75rem}.event-compact-actions{gap:6px}.event-compact-actions .button{width:100%}.event-photo-link{width:100%;padding:8px 0}.event-album-links{grid-template-columns:1fr}.event-album-link-card{min-height:240px}.admin-message-center{grid-template-columns:1fr}.admin-message-list{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.admin-message-thread{min-height:520px}.member-dashboard-nav{grid-template-columns:1fr 1fr}.member-dashboard-nav>a{min-height:125px;padding:18px}.member-dashboard-nav strong{font-size:1.6rem}.success-dialog-card h2{font-size:2.55rem}.site-dialog{width:min(94vw,760px)}}
@media(max-width:480px){.member-dashboard-nav{grid-template-columns:1fr}.event-compact-card{grid-template-columns:100px minmax(0,1fr)}.event-compact-image{min-height:190px}.event-compact-content{padding:13px}.event-compact-info h2{font-size:1.55rem}.event-year{font-size:1.45rem}.dialog-card{padding:28px 20px}.success-dialog-email a{font-size:1rem}.message-thread-head{align-items:flex-start;flex-direction:column}.message-thread-head .button{width:100%}}
.admin-new-message-panel{margin-bottom:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025)}.admin-new-message-panel summary{padding:16px 20px;color:var(--gold-light);cursor:pointer;font-weight:800}.admin-new-message-form{padding:0 20px 22px}
.home-simple .supercarslot-dark{position:relative}
.registration-state-note{padding:13px 15px;border-radius:11px;background:rgba(255,255,255,.5);color:#4e421d}


/* ---------------------------------------------------------
   V9.7 — HOME SUPERCARSLOT CHIARA + USCITA MOBILE
   --------------------------------------------------------- */
.home-simple .supercarslot-home-white {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 24%, rgba(212,166,47,.09), transparent 25%),
        #f8f5ed;
    color: var(--text-dark);
}

.home-simple .supercarslot-home-white .supercarslot-grid {
    position: relative;
    align-items: stretch;
}

.home-simple .supercarslot-home-white .supercarslot-copy {
    align-self: center;
    padding: 30px 0;
}

.home-simple .supercarslot-home-white .supercarslot-copy .display-title {
    color: #151a15;
}

.home-simple .supercarslot-home-white .supercarslot-copy .lead {
    color: #353c35;
}

.home-simple .supercarslot-home-white .supercarslot-copy > p:not(.lead) {
    color: #626a62;
}

.home-simple .supercarslot-home-white .feature-list {
    border-color: rgba(15,20,16,.13);
}

.home-simple .supercarslot-home-white .feature-list div {
    border-color: rgba(15,20,16,.13);
}

.home-simple .supercarslot-home-white .feature-list p {
    color: #505850;
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 45%, rgba(212,166,47,.11), transparent 34%),
        linear-gradient(145deg,#101410,#070907 72%);
    box-shadow: 0 28px 65px rgba(15,20,15,.16);
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: inherit;
    content: "";
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark .logo-stage {
    inset: 0;
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark .logo-stage img {
    width: min(76%, 470px);
    box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark .logo-stage-ring {
    border-color: rgba(240,215,124,.26);
}

.home-simple .supercarslot-home-white .supercarslot-visual-home-dark .ring-two {
    border-color: rgba(155,201,173,.24);
}

.home-simple .supercarslot-home-white .supercarslot-event {
    position: relative;
    margin-top: 58px;
    border: 1px solid rgba(15,20,16,.12);
    background: #fff;
    box-shadow: 0 24px 65px rgba(35,38,32,.10);
}

.home-simple .supercarslot-home-white .supercarslot-event-head {
    color: #667067;
}

.home-simple .supercarslot-home-white .supercarslot-event h3 {
    color: #151a15;
}

.home-simple .supercarslot-home-white .supercarslot-event-date {
    color: #687068;
}

.home-simple .supercarslot-home-white .event-countdown > div {
    border-color: rgba(15,20,16,.10);
    background: #f4f2eb;
}

.home-simple .supercarslot-home-white .event-countdown strong {
    color: #151a15;
}

.home-simple .supercarslot-home-white .event-countdown span {
    color: #6f776f;
}

.mobile-member-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 6px;
}

.mobile-logout {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 19px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.065);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mobile-logout:hover,
.mobile-logout:focus-visible {
    border-color: var(--gold);
    background: var(--gold);
    color: #090b09;
}

@media(max-width:1180px) {
    .home-simple .supercarslot-home-white .supercarslot-grid {
        grid-template-columns: minmax(0,1fr) minmax(340px,.82fr);
        gap: 50px;
    }
    .home-simple .supercarslot-home-white .supercarslot-visual-home-dark {
        min-height: 500px;
    }
}

@media(max-width:900px) {
    .home-simple .supercarslot-home-white .supercarslot-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .home-simple .supercarslot-home-white .supercarslot-copy {
        padding: 0;
    }
    .home-simple .supercarslot-home-white .supercarslot-visual-home-dark {
        min-height: 360px;
    }
    .home-simple .supercarslot-home-white .supercarslot-event {
        margin-top: 38px;
    }
}

@media(max-width:760px) {
    .home-simple .supercarslot-home-white {
        padding-top: 78px;
        padding-bottom: 78px;
    }
    .home-simple .supercarslot-home-white .supercarslot-visual-home-dark {
        min-height: 285px;
        border-radius: 20px;
    }
    .home-simple .supercarslot-home-white .supercarslot-visual-home-dark .logo-stage img {
        max-width: 76%;
    }
    .home-simple .supercarslot-home-white .supercarslot-event {
        margin-top: 30px;
        padding: 24px 18px;
    }
    .mobile-member-head {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 4px 0 10px;
        background: #080a08;
    }
    .mobile-logout {
        min-height: 48px;
        padding-inline: 21px;
        font-size: .76rem;
    }
}

@media(max-width:480px) {
    .home-simple .supercarslot-home-white .supercarslot-visual-home-dark {
        min-height: 245px;
    }
    .mobile-member-area > strong {
        font-size: 2.25rem;
    }
}

/* ---------------------------------------------------------
   V9.8 — SPONSOR BIANCHI, FOOTER SEPARATO, EVENTI PULITI
   --------------------------------------------------------- */
.home-simple .sponsors-section-white {
    position: relative;
    overflow: hidden;
    background: #fff;
    color: var(--text-dark);
}

.home-simple .sponsors-section-white::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 10% 8%, rgba(212,166,47,.08), transparent 24%),
        radial-gradient(circle at 92% 82%, rgba(75,115,96,.07), transparent 25%);
    content: "";
}

.home-simple .sponsors-section-white > .container {
    position: relative;
}

.home-simple .sponsors-section-white .sponsors-heading {
    margin-bottom: 72px;
}

.home-simple .sponsors-section-white .sponsors-heading .display-title {
    color: #151a15;
    font-size: clamp(3.7rem, 6.4vw, 7.3rem);
}

.home-simple .sponsors-section-white .sponsors-heading p {
    max-width: 520px;
    color: #5d655e;
    font-size: .96rem;
    line-height: 1.7;
}

.home-simple .sponsors-section-white .sponsor-carousel-toolbar > span {
    color: #687068;
}

.home-simple .sponsors-section-white .sponsor-carousel-controls button {
    border-color: rgba(15,20,15,.14);
    background: #fff;
    color: #151a15;
}

.home-simple .sponsors-section-white .sponsor-card {
    flex-basis: clamp(255px, 25vw, 340px);
    min-height: 245px;
    padding: 34px 30px;
    border-color: rgba(15,20,15,.11);
    background: #fbfaf6;
    box-shadow: 0 14px 38px rgba(29,35,29,.055);
}

.home-simple .sponsors-section-white .sponsor-card:hover {
    box-shadow: 0 24px 55px rgba(29,35,29,.10);
}

.home-simple .sponsors-section-white .sponsor-card img {
    height: 112px;
}

.home-simple .sponsors-section-white .sponsor-card strong {
    font-size: .96rem;
}

/* Il footer inizia come un blocco distinto dall'ultima sezione. */
.site-footer.site-footer-simple {
    border-top: 1px solid rgba(255,255,255,.28);
}

/* Le copertine degli eventi restano completamente pulite. */
.events-page .event-compact-image .event-status {
    display: none !important;
}

@media (max-width: 760px) {
    .home-simple .sponsors-section-white .sponsors-heading {
        margin-bottom: 42px;
    }

    .home-simple .sponsors-section-white .sponsors-heading .display-title {
        font-size: clamp(3rem, 13vw, 4.8rem);
    }

    .home-simple .sponsors-section-white .sponsor-card {
        flex-basis: min(82vw, 330px);
        min-height: 220px;
        padding: 28px 24px;
    }

    .home-simple .sponsors-section-white .sponsor-card img {
        height: 100px;
    }
}


/* =========================================================
   V9.9 — EVENTO PULITO, SCADENZE AUTO, CANCELLAZIONE ACCOUNT
   ========================================================= */
.event-detail-hero{min-height:620px;background:#050705}
.event-detail-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.015),transparent 55%);pointer-events:none}
.event-detail-photo-section{padding:0 0 80px;background:#050705}
.event-detail-photo{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#0c0f0c}
.event-detail-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.vehicle-maintenance-list{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.vehicle-maintenance-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04)}
.vehicle-maintenance-item>span{color:rgba(255,255,255,.55);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vehicle-maintenance-item>strong{font-size:.78rem}.vehicle-maintenance-item>small{grid-column:1/-1;color:rgba(255,255,255,.48);font-size:.67rem}.vehicle-maintenance-item.is-warning{border-left:3px solid var(--gold)}.vehicle-maintenance-item.is-expired{border-left:3px solid #b95249;background:rgba(185,82,73,.08)}.vehicle-maintenance-item.is-ok{border-left:3px solid var(--mint)}
.vehicle-maintenance-form{display:grid;gap:16px;margin:10px 0 18px;padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.025)}.vehicle-maintenance-form-head span{color:var(--gold-light);font-weight:800;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em}.vehicle-maintenance-form-head p{margin:5px 0 0;color:rgba(255,255,255,.5);font-size:.72rem}
.account-danger-section{padding:0 0 100px;background:#090b09}.account-danger-card{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:28px 32px;border:1px solid rgba(185,82,73,.3);border-radius:16px;background:rgba(185,82,73,.045)}.account-danger-card>div>span{color:#dc8d85;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.account-danger-card h2{margin:7px 0 6px;font-family:var(--font-display);font-size:2rem;font-weight:500}.account-danger-card p{max-width:720px;margin:0;color:rgba(255,255,255,.5);font-size:.76rem}.button-danger-outline{border:1px solid #b95249;background:transparent;color:#f0aaa3;white-space:nowrap}.button-danger-outline:hover{background:#8b2929;color:#fff}
.dialog-field{display:grid;gap:7px}.dialog-field span{font-size:.72rem;font-weight:800;text-transform:uppercase}.dialog-field input{min-height:54px;padding:0 15px;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:#fff;color:#111;font-size:1rem}.dialog-confirm-check{color:#30352f}.admin-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:26px;border-color:rgba(185,82,73,.34);background:rgba(185,82,73,.055)}.admin-danger-zone h2{margin:0 0 6px}.admin-danger-zone p{margin:0;color:rgba(255,255,255,.5)}.admin-maintenance-fields{display:grid;gap:12px;padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.02)}
@media(max-width:680px){.event-detail-hero{min-height:560px}.event-detail-photo-section{padding-bottom:48px}.event-detail-photo{border-radius:12px}.account-danger-card{align-items:stretch;flex-direction:column;padding:24px 20px}.account-danger-card .button{width:100%}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}.vehicle-maintenance-form{padding:16px 14px}.admin-danger-zone{align-items:stretch;flex-direction:column}}


/* ---------------------------------------------------------
   V10 — RIFINITURE FINALI
   --------------------------------------------------------- */
.event-detail-photo-section{padding:34px 0 76px;background:#050705}
.event-detail-photo{width:min(100%,820px);margin:0 auto;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.event-detail-photo img{width:100%;max-height:540px;object-fit:contain;background:#050705}

.account-dropdown-menu .account-menu-logout{margin-top:6px;padding-top:13px;border-top:1px solid rgba(255,255,255,.11);color:#f1c7bf}
.account-dropdown-menu .account-menu-logout:hover{background:rgba(222,116,99,.1);color:#fff}
.member-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.member-hero-logout{border-color:rgba(255,255,255,.22)!important;color:#fff!important}

.club-stat-cards-single{grid-template-columns:minmax(260px,520px)}
.club-stat-cards-single article{min-height:180px}
.club-stat-cards-single small{display:block;margin-top:8px;color:var(--text-soft);font-size:.72rem}

.home-simple .event-countdown-compact{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));gap:10px;min-width:460px;border:0}
.home-simple .supercarslot-home-white .event-countdown-compact>div{position:relative;display:grid;min-height:116px;place-content:center;padding:15px 12px;border:1px solid rgba(15,20,16,.1);border-radius:18px;background:linear-gradient(180deg,#fbfaf6 0%,#f1eee5 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 28px rgba(30,35,30,.06);text-align:center}
.home-simple .supercarslot-home-white .event-countdown-compact>div::before{position:absolute;top:0;left:50%;width:34px;height:3px;border-radius:0 0 99px 99px;background:var(--gold);content:"";transform:translateX(-50%)}
.home-simple .supercarslot-home-white .event-countdown-compact strong{font-size:clamp(2.5rem,4vw,4rem);line-height:.85;letter-spacing:-.035em}
.home-simple .supercarslot-home-white .event-countdown-compact span{margin-top:10px;font-size:.56rem;letter-spacing:.16em}

.membership-expiry-note{display:flex;align-items:center;gap:10px;margin-top:10px;padding:11px 13px;border:1px solid rgba(155,201,173,.18);border-radius:10px;background:rgba(155,201,173,.05);color:rgba(255,255,255,.62);font-size:.72rem}
.membership-expiry-note.is-warning{border-color:rgba(212,166,47,.32);background:rgba(212,166,47,.08);color:#f0d77c}
.membership-expiry-note.is-expired{border-color:rgba(222,116,99,.32);background:rgba(222,116,99,.08);color:#f1b0a5}

@media(max-width:1050px){.home-simple .event-countdown-compact{min-width:0;max-width:620px}}
@media(max-width:680px){.event-detail-photo-section{padding:20px 0 48px}.event-detail-photo{width:min(100%,560px);border-radius:12px}.event-detail-photo img{max-height:440px}.home-simple .event-countdown-compact{grid-template-columns:repeat(2,1fr)!important;gap:8px}.home-simple .supercarslot-home-white .event-countdown-compact>div{min-height:96px;border-radius:14px}.member-hero-actions{display:grid;grid-template-columns:1fr}.member-hero-actions .button{width:100%}}


/* V10.4 — dettaglio auto privato, iscrizioni programmate e pagine legali */
.vehicle-private-hero{padding:150px 0 70px;background:#101010;color:#fff}.vehicle-private-hero h1{font-size:clamp(46px,7vw,92px);line-height:.95;margin:18px 0}.vehicle-private-hero p{max-width:760px;color:rgba(255,255,255,.72);font-size:18px}.vehicle-private-back{display:inline-block;margin-bottom:24px;color:#c6a15b}.vehicle-private-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.vehicle-private-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:32px;align-items:start}.vehicle-private-photo{min-height:420px;background:#e7e3dc;display:flex;align-items:center;justify-content:center;overflow:hidden}.vehicle-private-photo img{width:100%;height:100%;max-height:650px;object-fit:cover}.vehicle-private-photo>span{font-size:72px;font-weight:700;opacity:.25}.vehicle-private-description,.vehicle-private-panel{background:#fff;padding:28px;margin-top:22px}.vehicle-private-description>span,.vehicle-private-panel>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin-bottom:16px;color:#8f7446}.vehicle-private-panel{margin-top:0;margin-bottom:22px}.vehicle-private-panel dl{margin:0}.vehicle-private-panel dl>div{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.08)}.vehicle-private-panel dt{color:#666}.vehicle-private-panel dd{margin:0;text-align:right;font-weight:650}.vehicle-private-panel .is-private{background:#f7f2e8;margin:0 -12px;padding:13px 12px}.vehicle-private-reminders{margin-top:22px}.event-registration-scheduled{display:inline-flex;align-items:center;padding:11px 16px;border:1px solid rgba(198,161,91,.55);color:#e4c98e;font-weight:700}.event-registration-scheduled.compact{font-size:12px;color:#7f612d;border-color:#bda374}.event-registration-wait{background:#111;padding:0 0 42px}.event-registration-wait-card{border:1px solid rgba(198,161,91,.45);padding:28px 32px;color:#fff}.event-registration-wait-card span{color:#c6a15b;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.event-registration-wait-card h2{margin:10px 0 8px}.event-registration-wait-card p{margin:0;color:rgba(255,255,255,.68);max-width:850px}.admin-registration-schedule{border:1px solid rgba(0,0,0,.14);padding:18px;margin:18px 0}.admin-registration-schedule h4{margin:0 0 6px}.registration-legal-note{font-size:13px;line-height:1.55;color:#666}.registration-legal-note a,.checkbox-label a{color:inherit;text-decoration:underline}.health-consent{margin-top:10px}.legal-hero{padding:150px 0 70px;background:#101010;color:#fff}.legal-hero h1{font-size:clamp(48px,7vw,88px);margin:16px 0}.legal-hero p{color:rgba(255,255,255,.7)}.legal-document{max-width:920px}.legal-document h2{font-size:26px;margin:42px 0 12px}.legal-document p,.legal-document li{font-size:16px;line-height:1.75;color:#373737}.legal-document a{text-decoration:underline}.legal-note{margin-top:44px;padding:22px;border-left:4px solid #c6a15b;background:#f2eee6}.legal-note p{margin:8px 0 0}.footer-bottom>div{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.vehicle-private-layout{grid-template-columns:1fr}.vehicle-private-photo{min-height:280px}.vehicle-private-panel dl>div{flex-direction:column;gap:4px}.vehicle-private-panel dd{text-align:left}}

/* V10.5 — cookie banner e preiscrizioni */
.cookie-banner{position:fixed;right:24px;bottom:22px;left:24px;z-index:2000;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:1px solid rgba(198,161,91,.45);border-radius:14px;background:#111611;color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.cookie-banner[hidden]{display:none}
.cookie-banner strong{display:block;margin-bottom:4px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.cookie-banner p{max-width:780px;margin:0;color:rgba(255,255,255,.68);font-size:.76rem;line-height:1.5}
.cookie-banner a{color:#e6c888;text-decoration:underline}
.cookie-banner .button{flex:none;white-space:nowrap}
.pre-registration-notice{margin:22px 0;padding:22px 24px;border:1px solid rgba(198,161,91,.48);background:rgba(198,161,91,.08);color:inherit}
.pre-registration-notice strong{display:block;margin-bottom:8px;color:#a57d38;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.pre-registration-notice p{max-width:820px;margin:0;color:inherit;line-height:1.65}
.event-pre-registration-card{padding:28px 32px;border:1px solid rgba(198,161,91,.5);background:#111;color:#fff}
.event-pre-registration-card span{color:#c6a15b;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.event-pre-registration-card h2{margin:10px 0 8px}
.event-pre-registration-card p{max-width:820px;margin:0 0 20px;color:rgba(255,255,255,.68);line-height:1.6}
@media(max-width:680px){.cookie-banner{right:12px;bottom:12px;left:12px;align-items:stretch;flex-direction:column;gap:14px;padding:17px}.cookie-banner .button{width:100%}.event-pre-registration-card{padding:22px 20px}.pre-registration-notice{padding:18px 16px}}
.admin-sidebar{min-height:0;overflow-y:auto}
.admin-sidebar{padding:16px 14px}
.admin-brand{margin-bottom:16px}
.admin-sidebar nav{gap:1px}
.admin-sidebar nav a,.admin-sidebar-bottom a{padding:7px 9px;font-size:.68rem}
.admin-sidebar-bottom{padding-top:12px}

/* V11 — identità Autodepocaeventi + A.S.I. */
.brand-logo-cluster,
.footer-brand-logos {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #102d38 0%, #17392d 100%);
    border: 1px solid rgba(240, 215, 124, .42);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 10px 28px rgba(0,0,0,.24);
    isolation: isolate;
}

.brand-logo-cluster {
    gap: 5px !important;
    max-height: 58px;
    padding: 3px 6px !important;
    border-radius: 999px;
}

.brand-logo-cluster .brand-mark-autodepoca {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: none;
    mix-blend-mode: screen;
}

.brand-asi-mark {
    width: 28px !important;
    height: 34px !important;
    object-fit: contain;
    filter: drop-shadow(0 3px 5px rgba(0,0,0,.35));
}

.brand-logo-divider,
.footer-brand-divider {
    width: 1px;
    flex: 0 0 1px;
    background: rgba(240, 215, 124, .42);
}

.brand-logo-divider { height: 25px; }

.footer-brand {
    gap: 18px;
}

.footer-brand-logos {
    gap: 8px !important;
    padding: 6px 9px !important;
    border-radius: 20px;
}

.footer-brand-autodepoca {
    width: 70px !important;
    height: 70px !important;
    border-radius: 50%;
    object-fit: cover;
    mix-blend-mode: screen;
}

.footer-brand-asi {
    width: 45px !important;
    height: 51px !important;
    border-radius: 0;
    object-fit: contain;
}

.footer-brand-divider { height: 39px; }

/* Il quinto pacchetto mantiene lo stesso componente e si dispone bene su più righe. */
.public-package-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

@media (max-width: 820px) {
    .brand-logo-cluster { gap: 4px !important; padding: 3px 5px !important; }
    .brand-logo-cluster .brand-mark-autodepoca { width: 38px !important; height: 38px !important; }
    .brand-asi-mark { width: 24px !important; height: 29px !important; }
    .brand-logo-divider { height: 22px; }
}

@media (max-width: 680px) {
    .footer-brand-logos { gap: 6px !important; padding: 5px 7px !important; }
    .footer-brand-autodepoca { width: 60px !important; height: 60px !important; }
    .footer-brand-asi { width: 39px !important; height: 45px !important; }
    .footer-brand-divider { height: 33px; }
}

@media (max-width: 600px) {
    .public-package-grid { grid-template-columns: 1fr; }
}

/* V11.1 — sponsor in movimento continuo */
.sponsor-viewport.sponsor-marquee {
    scroll-behavior: auto;
    scroll-snap-type: none;
}

.sponsor-track {
    will-change: transform;
}

/* V11.2 — logo leggibile su fondo scuro, con interno bianco e dimensioni bloccate. */
.brand-logo-cluster,
.footer-brand-logos {
    overflow: hidden;
}

.brand-logo-cluster .brand-mark-autodepoca,
.footer-brand-autodepoca {
    background: #fffdf4;
    mix-blend-mode: normal;
    object-fit: cover;
}

.brand-logo-cluster .brand-mark-autodepoca {
    display: block;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    border-radius: 50%;
    box-shadow: none;
}

.brand-asi-mark {
    display: block;
    width: 28px !important;
    height: 34px !important;
    max-width: 28px !important;
    max-height: 34px !important;
}

.footer-brand-autodepoca {
    display: block;
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
    border-radius: 50%;
}

.footer-brand-asi {
    display: block;
    width: 45px !important;
    height: 51px !important;
    max-width: 45px !important;
    max-height: 51px !important;
    border-radius: 0;
    object-fit: contain;
}

@media (max-width: 820px) {
    .brand-logo-cluster .brand-mark-autodepoca {
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
        max-height: 38px !important;
    }

    .brand-asi-mark {
        width: 24px !important;
        height: 29px !important;
        max-width: 24px !important;
        max-height: 29px !important;
    }
}

@media (max-width: 680px) {
    .footer-brand-autodepoca {
        width: 60px !important;
        height: 60px !important;
        max-width: 60px !important;
        max-height: 60px !important;
    }

    .footer-brand-asi {
        width: 39px !important;
        height: 45px !important;
        max-width: 39px !important;
        max-height: 45px !important;
    }
}

/* Scelta facoltativa auto diverse tra sabato e domenica */
.vehicle-day-panel {
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
}
.vehicle-day-fields {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
}
.vehicle-day-fields label {
    display: grid;
    gap: .4rem;
}
[data-vehicle-day-panel][hidden],
[data-vehicle-day-fields][hidden] {
    display: none !important;
}

.admin-vehicle-day-panel {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
}
.admin-vehicle-day-fields {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
}
[data-admin-vehicle-day-panel][hidden],
[data-admin-vehicle-day-fields][hidden] {
    display: none !important;
}
