/* ============================================================
   Verde Abitare: v7 layer (VA_V4 7.0.0)
   1. Header: menu raffinato + zona destra ordinata (CTA/toggle)
   2. Mappa desktop split: stile immobiliare.it (lista + mappa sticky)
   3. Blocchi promozionali: cta-band, feature-grid, banner, gallery-strip
   Nessun cambio di larghezza dei container esistenti.
   ============================================================ */

/* v7.9.286: disable double-tap zoom sitewide */
html, body { touch-action: manipulation; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* ------------------------------------------------------------
   1. HEADER
   ------------------------------------------------------------ */
.va-header__menu a {
    position: relative;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01em;
    padding: 8px 1px;
    color: var(--va-dark);
    text-decoration: none;
    transition: color .15s;
}
.va-header__menu a::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 2px;
    height: 1.5px;
    background: var(--va-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}
.va-header__menu a:hover { color: var(--va-sage); }
.va-header__menu a:hover::after { transform: scaleX(1); }
.va-header__menu .current-menu-item > a,
.va-header__menu .current_page_item > a { color: var(--va-sage); }
.va-header__menu .current-menu-item > a::after,
.va-header__menu .current_page_item > a::after { transform: scaleX(1); background: var(--va-sage); }

/* zona destra: CTA · toggle, ordinati e senza pesare */
.va-header__cta { margin-left: 4px; }
.va-themetoggle {
    width: 34px; height: 34px;
    border: 0;
    background: transparent;
    color: var(--va-warm);
    border-radius: 50%;
    margin-left: 2px;
}
.va-themetoggle:hover { background: var(--va-stone-light); color: var(--va-dark); }
[data-theme="dark"] .va-themetoggle:hover { background: var(--va-stone-light); }

@media (max-width: 1023px) and (min-width: 769px) {
    .va-header__menu { gap: 12px; }
    .va-header__menu a { font-size: .75rem; }
}

/* ------------------------------------------------------------
   2. MAPPA DESKTOP SPLIT: immobiliare-style
   ------------------------------------------------------------ */
@media (min-width: 1024px) {
    .va-search__stage[data-view="map"] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) clamp(400px, 42%, 560px);
        gap: 18px;
        align-items: start;
    }
    .va-search__stage[data-view="map"] .va-search__map {
        order: 2;
        position: sticky;
        top: 84px;
        height: calc(100dvh - 100px);
        border-radius: var(--va-r, 12px);
        overflow: hidden;
        box-shadow: var(--va-shadow);
        border: 1px solid var(--va-border);
    }
    .va-search__stage[data-view="map"] .va-search__map > div,
    .va-search__stage[data-view="map"] .va-search__map iframe { height: 100% !important; }
    .va-search__stage[data-view="map"] .va-search__results { order: 1; min-width: 0; }

    /* card orizzontali compatte nella colonna lista */
    .va-search__stage[data-view="map"] .va-pcard {
        grid-template-columns: 210px 1fr;
        transition: border-color .15s, transform .15s, box-shadow .18s;
    }
    .va-search__stage[data-view="map"] .va-pcard:hover {
        border-color: var(--va-sage);
        transform: none;
    }
    .va-search__stage[data-view="map"] .va-pcard__title { font-size: 1rem; }
    .va-search__stage[data-view="map"] .va-pcard__price { font-size: 1.1875rem; }
    .va-search__stage[data-view="map"] .va-pcard__specs { gap: 10px; font-size: .7rem; }
    .va-search__stage[data-view="map"] .va-pcard__foot { margin-top: 8px; }
}

/* ------------------------------------------------------------
   3. BLOCCHI PROMOZIONALI
   ------------------------------------------------------------ */

/* [va_cta_band]: banda a tutta larghezza del contenuto */
.va-ctaband {
    position: relative;
    isolation: isolate;
    border-radius: var(--va-r, 12px);
    overflow: hidden;
    padding: 38px 32px;
    margin: 26px 0;
    background: var(--va-sage);
    background-size: cover;
    background-position: center;
}
.va-ctaband--photo::before {
    content: "";
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(95deg, rgba(20,22,15,0.82), rgba(20,22,15,0.30));
}
.va-ctaband__kicker {
    display: block;
    font-size: .65rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--va-gold-lighter, #E8D9B8);
    margin-bottom: 8px;
}
.va-ctaband__title {
    font-family: 'EB Garamond', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.375rem, 3vw, 1.875rem);
    line-height: 1.12;
    color: #FDFBF7;
    max-width: 26ch;
    margin: 0 0 8px;
}
.va-ctaband__text { font-size: .875rem; color: rgba(253,251,247,.85); max-width: 52ch; margin: 0 0 18px; }
.va-ctaband .va-btn--gold { border-radius: 999px; }

/* [va_feature_grid]: 3 card con icona */
.va-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
    margin: 26px 0;
}
.va-feature {
    background: var(--va-white);
    border: 1px solid var(--va-border);
    border-radius: var(--va-r, 12px);
    padding: 22px 20px;
    box-shadow: var(--va-shadow);
}
.va-feature__icon {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--va-sage-light);
    color: var(--va-sage);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 14px;
}
.va-feature__title {
    font-family: var(--va-font-display);
    font-weight: 400;
    font-size: 1rem;
    color: var(--va-dark);
    margin: 0 0 6px;
}
.va-feature__text { font-size: .8125rem; line-height: 1.65; color: var(--va-warm-light); margin: 0; }

/* [va_banner]: strip promozionale sottile */
.va-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: var(--va-sage-light);
    border: 1px solid color-mix(in srgb, var(--va-sage) 30%, transparent);
    border-radius: var(--va-r, 12px);
    padding: 14px 18px;
    margin: 22px 0;
}
.va-banner .va-icon { color: var(--va-sage); flex-shrink: 0; }
.va-banner__text { flex: 1; min-width: 220px; font-size: .8425rem; color: var(--va-warm); }
.va-banner__text strong { color: var(--va-dark); }
.va-banner .va-btn { white-space: nowrap; }

/* [va_gallery_strip]: striscia di foto vere */
.va-gstrip {
    width: 100%;
    max-width: 100%;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    margin: 24px 0;
    padding-bottom: 6px;
    scrollbar-width: none;
}
.va-gstrip::-webkit-scrollbar { display: none; }
.va-gstrip a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    width: 230px;
    aspect-ratio: 4/3;
    border-radius: var(--va-radius-md, 10px);
    overflow: hidden;
    position: relative;
    display: block;
}
.va-gstrip img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.va-gstrip a:hover img { transform: scale(1.05); }
.va-gstrip__label {
    position: absolute;
    left: 10px; bottom: 10px;
    font-size: .65rem;
    color: #fff;
    background: rgba(20,22,15,0.60);
    backdrop-filter: blur(3px);
    padding: 4px 9px;
    border-radius: 999px;
    max-width: calc(100% - 20px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* responsive blocchi: 5 fasce, senza toccare i container */
@media (max-width: 1023px) {
    .va-features { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
    .va-feature { padding: 16px 14px; }
}
@media (max-width: 767px) {
    .va-features { grid-template-columns: repeat(2, 1fr); }
    .va-feature { padding: 14px 12px; }
    .va-ctaband { padding: 26px 20px; }
    .va-gstrip a { width: 190px; }
}

/* ---- v7.0.1 hotfix (già live, incluso per allineamento) ---- */
.va-searchbar__maplink { color: var(--va-warm); opacity: 1; }
.va-searchbar__maplink:hover { color: var(--va-sage); }
[data-theme="dark"] .va-searchbar__maplink { color: var(--va-warm); }
.va-hero__actions { justify-content: center; }

/* ------------------------------------------------------------
   v7.1: CONFRONTO: popup + tabella
   ------------------------------------------------------------ */
.va-cmpmodal {
    position: fixed; inset: 0;
    z-index: 1400;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
}
.va-cmpmodal.is-open { display: flex; }
.va-cmpmodal__backdrop {
    position: absolute; inset: 0;
    background: rgba(20,22,15,0.55);
}
.va-cmpmodal__card {
    position: relative;
    width: min(1060px, 100%);
    max-height: 90dvh;
    overflow: auto;
    background: var(--va-cream);
    border-radius: var(--va-r, 12px);
    box-shadow: var(--va-shadow-lg);
    padding: 22px 22px 18px;
    animation: va-promo-in .28s cubic-bezier(.32,.72,.24,1);
}
.va-cmpmodal__title { font-family: var(--va-font-display); font-weight: 400; font-size: 1.375rem; color: var(--va-dark); margin: 0 0 14px; }
.va-cmpmodal__close {
    position: absolute; top: 14px; right: 14px;
    width: 34px; height: 34px;
    border: 0; border-radius: 50%;
    background: var(--va-stone-light);
    color: var(--va-warm);
    font-size: 1.05rem; line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
@media (max-width: 767px) {
    .va-cmpmodal { padding: 0; align-items: flex-end; }
    .va-cmpmodal__card { border-radius: 18px 18px 0 0; max-height: 94dvh; padding: 18px 14px calc(14px + env(safe-area-inset-bottom)); }
}
/* tabella confronto */
.va-cmp__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.va-cmp__table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
    width: auto; /* 1-2 immobili: compatta, non sbrodola */
}
.va-cmp__table th, .va-cmp__table td {
    padding: 10px 14px;
    text-align: left;
    font-size: .8125rem;
    color: var(--va-dark);
    border-bottom: 1px solid var(--va-border);
    min-width: 220px; max-width: 250px;
}
.va-cmp__label {
    position: sticky; left: 0;
    background: var(--va-cream);
    text-align: left !important;
    font-size: .72rem !important;
    color: var(--va-warm-light) !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    min-width: 110px !important; max-width: 130px !important;
    z-index: 2;
}
.va-cmp__prop { vertical-align: top; padding-bottom: 14px !important; }
.va-cmp__propwrap { position: relative; }
.va-cmp__remove {
    position: absolute; top: 6px; right: 6px; z-index: 1;
    width: 26px; height: 26px;
    border: 0; border-radius: 50%;
    background: rgba(20,22,15,0.62);
    color: #fff; font-size: .9rem; line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.va-cmp__media { display: block; aspect-ratio: 4/3; border-radius: var(--va-radius-md, 10px); overflow: hidden; background: var(--va-stone-light); }
.va-cmp__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.va-cmp__ref { display: block; font-size: .625rem; letter-spacing: .1em; text-transform: uppercase; color: var(--va-warm-light); margin-top: 8px; }
.va-cmp__title { display: block; font-family: var(--va-font-display); font-weight: 400; font-size: .9375rem; line-height: 1.25; color: var(--va-dark); text-decoration: none; margin-top: 2px; }
.va-cmp__price { font-family: var(--va-font-display); font-size: 1.0625rem; }
.va-cmp .is-best { color: var(--va-sage); font-weight: 700; }
.va-cmp__legend { text-align: center; font-size: .72rem; color: var(--va-warm-light); margin: 12px 0 0; }
.va-cmp__empty { text-align: center; padding: 26px 10px; }
.va-cmp__empty h3 { font-family: var(--va-font-display); font-weight: 400; font-size: 1.25rem; margin-bottom: 6px; }
.va-cmp__empty p { font-size: .8125rem; color: var(--va-warm-light); margin-bottom: 14px; }
@media (max-width: 767px) {
    .va-cmp__table th, .va-cmp__table td { min-width: 170px; padding: 8px 10px; }
    .va-cmp__label { min-width: 88px !important; }
}

/* ---- v7.0.2: pill contatore foto (fix segnalato da Luca) ---- */
.va-pcard__photos { width: fit-content; left: auto; }

/* ------------------------------------------------------------
   v7.1: FOOTER ristrutturato (modello about.langa.tv)
   ------------------------------------------------------------ */
.va-footer--v7 { padding-top: 0; }
.va-footer__promos { border-bottom: 1px solid color-mix(in srgb, #FDFBF7 12%, transparent); padding: 34px 0; }
.va-footer__promogrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; }
.va-footer__promo h4 { font-family: var(--va-font-body); font-weight: 600; font-size: 1rem; color: #FDFBF7; margin: 10px 0 3px; }
.va-footer__promo p { font-size: .75rem; color: rgba(253,251,247,.6); margin: 0 0 8px; }
.va-footer__promo a { font-size: .75rem; color: var(--va-gold); text-decoration: none; font-weight: 600; }
.va-footer__promo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.va-footer__promoicon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 50%;
    background: color-mix(in srgb, #FDFBF7 8%, transparent);
    color: var(--va-gold);
}

.va-footer__grid--v7 {
    display: grid;
    grid-template-columns: 1.4fr repeat(4, 1fr);
    gap: 28px;
    padding: 36px 0 28px;
    align-items: start;
}
.va-footer__grid--v7 .va-footer__heading {
    font-size: .65rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(253,251,247,.5);
    margin: 0 0 12px;
    line-height: 1;
}
.va-footer__grid--v7 .va-footer__links { list-style: none; margin: 0; padding: 0; }
.va-footer__grid--v7 .va-footer__links li { margin: 0 0 9px; font-size: .8125rem; line-height: 1.4; }
.va-footer__grid--v7 .va-footer__links a { color: rgba(253,251,247,.82); text-decoration: none; white-space: nowrap; }
.va-footer__grid--v7 .va-footer__links a:hover { color: var(--va-gold); }
.va-footer__links--contact li { color: rgba(253,251,247,.6); white-space: normal; }
.va-footer__tag { font-size: .78rem; color: rgba(253,251,247,.6); line-height: 1.6; margin: 8px 0 14px; max-width: 30ch; }
.va-footer--v7 .va-footer__name { font-family: var(--va-font-display); font-size: 2.25rem; color: #FDFBF7; }

.va-footer__bottom--v7 {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    border-top: 1px solid color-mix(in srgb, #FDFBF7 12%, transparent);
    padding: 16px 0 22px;
    font-size: .7rem;
    color: rgba(253,251,247,.45);
}
.va-footer__bottom--v7 a { color: rgba(253,251,247,.65); text-decoration: none; }
.va-footer__bottom--v7 a:hover { color: var(--va-gold); }
.va-footer__social { display: inline-flex; gap: 14px; align-items: center; margin-left: auto; }
.va-footer__powered { opacity: .6; }

@media (max-width: 1023px) {
    .va-footer__grid--v7 { grid-template-columns: repeat(3, 1fr); }
    .va-footer__col--brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
    .va-footer__promos { overflow: hidden; }
    .va-footer__promogrid:not(.is-marquee) { grid-template-columns: 1fr; gap: 22px; }
    .va-footer__promogrid.is-marquee { display: flex; gap: 22px; width: max-content; animation: va-marquee var(--va-promo-mq-dur, 26s) linear infinite; text-align: center; }
    .va-footer__promogrid.is-marquee:hover, .va-footer__promogrid.is-marquee.is-paused { animation-play-state: paused; }
    .va-footer__promogrid.is-marquee .va-footer__promo { flex: 0 0 auto; width: 240px; }
    .va-footer__grid--v7 { grid-template-columns: 1fr 1fr; gap: 20px; }
    .va-footer__grid--v7 .va-footer__links a { white-space: normal; }
    .va-footer__bottom--v7 { gap: 10px 16px; }
    .va-footer__legal { margin-left: 0; }
}

/* ---- v7.0.8: classi al posto degli inline rimossi ---- */
.va-h2--spaced { margin-top: 26px; }

/* ============================================================
   v7.2: feedback Luca 11/07
   ============================================================ */

/* Pagehead strutturato (stile testata news) */
.va-pagehead--v7 { padding: 44px 0 8px; }
.va-pagehead--v7 .va-kicker { display: block; margin-bottom: 8px; }
.va-pagehead--v7 .va-pagehead__title { margin: 0; }
.va-pagehead__intro {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--va-warm-light);
    max-width: 62ch;
    margin: 10px 0 0;
}

/* Cluster destro header: CTA + toggle insieme */
.va-header__right { display: flex; align-items: center; gap: 8px; margin-left: 8px; }
.va-header__right .va-header__cta { margin-left: 0; }
.va-header__right .va-themetoggle { margin-left: 0; }

/* Categorie: SEMPRE scorrimento orizzontale con tile a misura fissa */
.va-shortcode--categories,
.va-prose .va-shortcode--categories {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: clamp(190px, 22vw, 240px);
    grid-template-columns: none !important;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    padding: 20px 2px 50px;
    scrollbar-width: thin;
}
.va-category-tile { scroll-snap-align: start; }

/* Spec grid del single: scorrimento, celle IDENTICHE */
.va-shortcode--prop-specs {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: 124px;
    grid-template-columns: none !important;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    padding-bottom: 8px;
    scrollbar-width: thin;
}
.va-spec-item {
    width: 124px;
    min-height: 124px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    scroll-snap-align: start;
    text-align: center;
}
/* Form: allineamento a sinistra, compatti, senza spazi inutili */
.va-cform { text-align: left; gap: 12px; padding: 22px 22px 20px; }
.va-shortcode--cta-appointment .va-text-center .va-cform,
.va-text-center .va-cform { text-align: left; }
.va-cform .va-field-l { margin: 0; }
.va-field-l > span:first-child,
.va-cform label > span:first-child { text-align: left; }
.va-consent.va-field-l {
    justify-content: flex-start;
    gap: 8px;
    margin: 2px 0 0;
    font-size: .78rem;
}
.va-consent.va-field-l > span { text-align: left; }
.va-cform__actions { justify-content: flex-start; margin-top: 2px; }

/* Sidebar single: form compatto e ordinato */
.va-side__form { padding: 16px 16px 14px; }

.va-side__form input, .va-side__form textarea { padding: 10px 12px; font-size: .875rem; }
.va-side__form textarea { min-height: 84px; }
.va-side__form .va-btn { width: 100%; justify-content: center; }
.va-engage { gap: 10px; }
.va-visit { padding: 13px 14px; }
.va-visit__slots { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 0 0 4px; }
.va-visit__slot { padding: 8px 12px; flex: 1 1 calc(33% - 8px); min-width: 74px; }

/* Prefisso telefonico */
.va-phonewrap { display: flex; gap: 0; align-items: stretch; }
.va-phonewrap .va-phoneprefix {
    flex: 0 0 auto;
    border: 1.5px solid var(--va-border);
    border-right: 0;
    border-radius: 9px 0 0 9px;
    background: var(--va-stone-light);
    color: var(--va-warm);
    font-size: .8125rem;
    padding: 0 8px;
    outline: none;
    max-width: 65px;
}
.va-phonewrap input { flex: 1; border-radius: 0 9px 9px 0 !important; min-width: 0; }
[data-theme="dark"] .va-phoneprefix { background: var(--va-stone-light); color: var(--va-dark); }

/* ---- v7.0.11: recensioni marquee ---- */
.va-shortcode--reviews {
    display: block !important;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    padding: 6px 0 10px;
}
.va-reviews__track {
    display: flex;
    gap: 16px;
    width: max-content;
    animation: va-marquee var(--va-marquee-dur, 48s) linear infinite;
}
.va-shortcode--reviews:hover .va-reviews__track,
.va-shortcode--reviews:focus-within .va-reviews__track { animation-play-state: paused; }
.va-reviews__track .va-review-card { flex: 0 0 340px; margin: 0; }
@keyframes va-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
    .va-reviews__track { animation: none; }
    .va-shortcode--reviews { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 767px) { .va-reviews__track .va-review-card { flex-basis: 280px; } }

/* ---- v7.0.13: card news ---- */
.va-ncard { position: relative; }
.va-ncard__title { font-size: 1.25rem; line-height: 1.25; }
.va-ncard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.va-ncard__excerpt, .va-ncard p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.va-ncard:hover .va-ncard__title a { color: var(--va-sage); }

/* ---- v7.2.1: errori form solo quando servono, piccoli e puliti ---- */
.va-field-l__err, .va-consent__err {
    min-height: 0 !important;
    margin: 0 !important;
    display: none;
    visibility: visible;
}
.va-field-l__err:not(:empty), .va-consent__err:not(:empty) {
    display: block;
    color: var(--va-red, #C85A54);
    font-size: .6875rem;
    line-height: 1.35;
    margin-top: 4px !important;
}
.va-field-l.is-error input, .va-field-l.is-error textarea { border-color: var(--va-red, #C85A54); }

/* ---- v7.2.3: sheet mappa integrato anche su desktop ---- */
.va-mapsheet { border-radius: 22px 22px 0 0; }
@media (min-width: 1024px) {
    .va-mapsheet { height: 88dvh; }
    .va-mapfab { bottom: 26px; }
    /* lo split v7 non si attiva più: la vista map apre lo sheet */
    .va-search__stage[data-view="map"] { display: block; }
    .va-search__stage[data-view="map"] .va-search__map { position: static; height: auto; }
}
/* transizione sinuosa dello sheet */
.va-mapsheet { transition: transform .55s cubic-bezier(.22,.9,.24,1); }
/* POI chips: interazione sinuosa on/off */
.va-poi-legend span, .va-poi-legend button {
    transition: background .28s cubic-bezier(.22,.9,.24,1), color .28s, border-color .28s, transform .28s cubic-bezier(.34,1.4,.44,1);
    cursor: pointer;
}
.va-poi-legend span:hover, .va-poi-legend button:hover { transform: translateY(-2px); }
.va-poi-legend .is-on, .va-poi-legend [aria-pressed="true"] {
    background: var(--va-sage);
    color: #FDFBF7;
    border-color: var(--va-sage);
    transform: translateY(-1px) scale(1.03);
}
.va-poi-legend .is-on .va-icon, .va-poi-legend [aria-pressed="true"] .va-icon { color: #FDFBF7; }
/* varianti promo box */
.va-banner--gold {
    background: var(--va-gold-light);
    border-color: color-mix(in srgb, var(--va-gold) 40%, transparent);
}
.va-banner--gold .va-icon { color: var(--va-gold); }
.va-banner--dark {
    background: #14170F;
    border-color: #2E332B;
}
.va-banner--dark .va-banner__text { color: rgba(253,251,247,.8); }
.va-banner--dark .va-banner__text strong { color: #FDFBF7; }
.va-banner--dark .va-icon { color: var(--va-gold); }
.va-banner--tile {
    flex-direction: column;
    text-align: center;
    padding: 26px 22px;
    gap: 8px;
}
.va-banner--tile .va-banner__text { min-width: 0; }

/* v7.3.0 A: reveal allo scroll */
.va-reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,.9,.24,1); transition-delay: var(--va-rd, 0s); }
.va-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .va-reveal { opacity: 1; transform: none; transition: none; } }
/* v7.3.0 B: lightbox */
.va-lbx { position: fixed; inset: 0; z-index: 1600; display: none; background: rgba(10,11,8,.95); }
.va-lbx.is-open { display: flex; align-items: center; justify-content: center; }
.va-lbx img { max-width: 94vw; max-height: 88dvh; object-fit: contain; border-radius: 8px; opacity: 1; transition: opacity .15s ease; touch-action: none; user-select: none; -webkit-user-select: none; }
.va-lbx__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(253,251,247,.14); color: #FDFBF7; cursor: pointer; }
.va-lbx__btn:hover { background: rgba(253,251,247,.28); }
.va-lbx__prev { left: 18px; } .va-lbx__next { right: 18px; }
.va-lbx__close { position: absolute; top: 16px; right: 18px; transform: none; }
.va-lbx__count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: rgba(253,251,247,.75); font-size: .78rem; }
/* v7.3.0 C: visti di recente */
.va-recent { padding: 26px 0 10px; }
.va-recent h3 { font-family: var(--va-font-display); font-weight: 400; font-size: 1.25rem; color: var(--va-dark); margin: 0 0 12px; }
.va-recent__strip { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; padding-bottom: 6px; }
/* v7.42: strip Visti di recente edge-to-edge, vero bordo a bordo (nessun margine dx/sx durante lo scroll) */
.va-recent__strip { margin-right: -28px; }
@media (min-width: 768px) and (max-width: 1023px) { .va-recent__strip { margin-right: -24px; } }
.va-recent__strip::-webkit-scrollbar { display: none; }
.va-recent__card { flex: 0 0 210px; text-decoration: none; background: var(--va-white); border: 1px solid var(--va-border); border-radius: var(--va-radius-md, 10px); overflow: hidden; transition: transform .2s, border-color .2s; }
.va-recent__card:hover { transform: translateY(-2px); border-color: var(--va-sage); }
.va-recent__card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.va-recent__card b { display: block; font-family: var(--va-font-display); font-weight: 400; font-size: .875rem; color: var(--va-dark); padding: 8px 11px 2px; line-height: 1.3; }
.va-recent__card span { display: block; font-size: .78rem; color: var(--va-sage); padding: 0 11px 10px; font-weight: 600; }

/* ---- v7.3.0 D: ken burns morbido sugli sfondi fotografici ---- */
@keyframes va-kb { from { background-position: 48% 46%; } to { background-position: 52% 54%; } }
.va-hero, .va-quote, .va-ctaband--photo, .va-category-tile--photo, .va-search__head--photo {
    background-size: cover;
    background-repeat: no-repeat;
}
@media (min-width: 1024px) {
    .va-hero, .va-quote, .va-ctaband--photo, .va-category-tile--photo, .va-search__head--photo {
        background-size: 112% auto;
        animation: va-kb 22s ease-in-out infinite alternate;
    }
}
@media (prefers-reduced-motion: reduce) {
    .va-hero, .va-quote, .va-ctaband--photo, .va-category-tile--photo, .va-search__head--photo { animation: none; background-size: cover; }
}
/* card: micro-vita sulle foto */
.va-pcard__img { transition: transform 5s ease; }
.va-pcard:hover .va-pcard__img { transform: scale(1.05); }

/* ==== v7.3.2 MOBILE PREMIUM ==== */
@media (max-width: 767px) {
    /* v7.9.248: card in evidenza, carosello snap — le card vere sono dentro .va-grid (wrapper generato da [va_featured]), non figlie dirette di .va-hscroll */
    .va-hscroll {
        overflow-x: auto;
        padding: 4px 0 14px;
        margin-left: -28px;
        margin-right: -28px;
        scrollbar-width: none;
    }
    .va-hscroll::-webkit-scrollbar { display: none; }
    .va-hscroll .va-grid {
        display: grid !important;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        grid-template-columns: none !important;
        gap: 0;
        scroll-snap-type: x mandatory;
    }
    .va-hscroll .va-grid > * { scroll-snap-align: start; scroll-snap-stop: always; }
    /* input 16px: niente zoom forzato iOS */
    input, select, textarea, button, .wpcf7-form-control, [type="search"], [contenteditable] { font-size: 16px !important; }
    /* hero: gradiente più deciso in basso per leggibilità */
    .va-hero__overlay { background: linear-gradient(to top, rgba(10,11,8,.88), rgba(10,11,8,.3) 52%, rgba(10,11,8,.12)); }
}
@media (max-width: 767px) {
    .va-bottomnav {
        transition: transform .32s cubic-bezier(.22,.9,.24,1);
    }
    .va-bottomnav__item.is-active::before {
        content: "";
        position: absolute;
        top: 4px; left: 50%; transform: translateX(-50%);
        width: 34px; height: 3px;
        border-radius: 99px;
        background: var(--va-gold);
    }
    .va-bottomnav__item { position: relative; }
}
@media (max-width: 767px) {
    .va-recent__strip { scroll-snap-type: x mandatory; }
    .va-recent__card { scroll-snap-align: start; flex-basis: 72%; }
    .va-ctabar { backdrop-filter: blur(12px); background: color-mix(in srgb, var(--va-cream) 86%, transparent); }
}

/* ==== v7.3.7: rifinitura single ==== */
.va-crumb { font-size: .72rem; color: var(--va-warm-light); margin: 2px 0 10px; }
.va-crumb a { color: var(--va-warm-light); text-decoration: none; }
.va-crumb a:hover { color: var(--va-sage); }
.va-crumb span { color: var(--va-warm); letter-spacing: .06em; }
.va-detail-title { font-size: clamp(1.65rem, 3.2vw, 2.25rem); line-height: 1.15; letter-spacing: -.01em; }
.va-detail-location { font-size: .8125rem; }
.va-detail-location .va-icon { color: var(--va-gold); }
.va-detail-price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
/* ritmo sezioni della scheda */
.va-detail-section { padding: 30px 0 4px; border-top: 1px solid var(--va-border); margin-top: 26px; max-width: 100%; }
.va-detail-content > .va-detail-section:first-of-type { border-top: 0; margin-top: 8px; }
.va-detail-section > h2 {
    font-family: var(--va-font-display);
    font-weight: 400;
    font-size: 1.375rem;
    color: var(--va-dark);
    margin: 0 0 14px;
}
.va-detail-section > h2::before {
    content: "";
    display: inline-block;
    width: 22px; height: 2px;
    background: var(--va-gold);
    vertical-align: middle;
    margin-right: 10px;
}
.va-detail-section p { line-height: 1.8; color: var(--va-warm); } /* v7.9.5: rimosso max-width 68ch (Luca) */
.va-gallery__counter { background: rgba(20,22,15,.62); backdrop-filter: blur(4px); border-radius: 999px; padding: 5px 12px; font-size: .72rem; color: #FDFBF7; }

/* ==== v7.4 HEADER: cluster destro definito ==== */
.va-header__right { gap: 14px; }
/* separatore sottile tra gruppi del cluster */
.va-header__right .va-themetoggle { position: relative; margin-left: 4px; }
.va-header__right .va-themetoggle::before { content: ""; position: absolute; left: -9px; top: 8px; bottom: 8px; width: 1px; background: var(--va-border); }
/* ==== v7.4 BURGER PANEL: pannello dedicato con transizioni ==== */
.va-mobnav { position: fixed; inset: 0; z-index: 1500; pointer-events: none; }
.va-mobnav__backdrop { position: absolute; inset: 0; background: rgba(10,11,8,.5); opacity: 0; transition: opacity .32s ease; }
.va-mobnav__panel {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: min(360px, 88vw);
    background: var(--va-cream);
    box-shadow: var(--va-shadow-lg);
    transform: translateX(102%);
    transition: transform .44s cubic-bezier(.22,.9,.24,1);
    display: flex; flex-direction: column;
    padding: 18px 22px calc(20px + env(safe-area-inset-bottom));
    overflow-y: auto;
}
.va-mobnav.is-open { pointer-events: auto; }
.va-mobnav.is-open .va-mobnav__backdrop { opacity: 1; }
.va-mobnav.is-open .va-mobnav__panel { transform: none; }
.va-mobnav__close { align-self: flex-end; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--va-stone-light); color: var(--va-warm); font-size: 1.05rem; cursor: pointer; transition: transform .3s; }
.va-mobnav.is-open .va-mobnav__close:hover { transform: rotate(90deg); }
.va-mobnav__links { list-style: none; margin: 14px 0 0; padding: 0; }
.va-mobnav__links a {
    display: block;
    font-family: var(--va-font-body);
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--va-dark);
    text-decoration: none;
    padding: 11px 0;
    border-bottom: 1px solid var(--va-border);
    opacity: 0; transform: translateX(18px);
    transition: opacity .4s ease, transform .45s cubic-bezier(.22,.9,.24,1), color .2s;
    transition-delay: var(--d, 0s);
}
.va-mobnav.is-open .va-mobnav__links a { opacity: 1; transform: none; }
.va-mobnav__links a:hover { color: var(--va-sage); }
.va-mobnav__foot { margin-top: auto; padding-top: 18px; display: grid; gap: 12px; opacity: 0; transform: translateY(10px); transition: all .4s ease .28s; }
.va-mobnav.is-open .va-mobnav__foot { opacity: 1; transform: none; }
.va-mobnav__foot .va-btn { width: 100%; justify-content: center; }
.va-mobnav__meta { display: flex; align-items: center; justify-content: space-between; font-size: .78rem; color: var(--va-warm-light); }
.va-mobnav__meta a { color: var(--va-warm); text-decoration: none; }
@media (min-width: 1024px) { .va-header__burger { display: none; } }
@media (max-width: 1023px) { .va-header__right .va-header__cta { display: none; } }

/* ---- v7.4.1: hero: foto dietro sfocata e leggermente scurita ---- */
.va-hero__overlay {
}
.va-hero__overlay { background: linear-gradient(to top, rgba(10,11,8,.6), rgba(10,11,8,.35) 50%, rgba(10,11,8,.2)); }

/* v7.4.2: altezze hero mobile: la foto copre sempre, il blocco si adatta */
@media (max-width: 767px) {
    .va-hero { min-height: 520px; padding: 74px 0 10px; background-position: center; background-size: cover; background-repeat: no-repeat; }
    .va-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,11,8,.6), rgba(10,11,8,.35) 50%, rgba(10,11,8,.2)); }
    .va-hero__actions { margin-bottom: 28px; }
    .va-hero__content { padding: 12px 20px; }
}

/* ---- v7.4.3 ---- */
/* niente scroll verticale sugli scroller orizzontali (reveal escluso) */
.va-hscroll { overflow-y: visible; }
.va-hscroll .va-reveal, .va-gstrip .va-reveal, .va-recent__strip .va-reveal, .va-shortcode--categories .va-reveal,
.va-hscroll .va-pcard, .va-shortcode--categories .va-category-tile { opacity: 1 !important; transform: none !important; }
/* checkbox consent: piccolo, a sinistra, in linea */
.va-consent input[type="checkbox"] {
    width: 16px !important;
    height: 16px;
    flex: 0 0 auto;
    margin: 3px 0 0;
    accent-color: var(--va-sage);
}
.va-consent.va-field-l { display: flex !important; align-items: flex-start; gap: 8px; text-align: left; }
.va-consent.va-field-l > span { flex: 1; min-width: 0; }

/* v7.4.3: spaziature form (direttive Luca) */
.va-cform__grid { gap: 5px; }

/* ---- v7.4.4: messaggi di stato: zero spazio da vuoti, ovunque ---- */
.va-watch__msg, .va-cform__msg, .va-auth__msg, .va-lead__msg {
    display: none;
    min-height: 0 !important;
    margin: 0 !important;
}
.va-watch__msg:not(:empty), .va-cform__msg:not(:empty),
.va-auth__msg:not(:empty), .va-lead__msg:not(:empty) {
    display: block;
    margin-top: 8px !important;
    font-size: .75rem;
    line-height: 1.4;
    color: var(--va-sage);
}
.va-watch__msg.is-error:not(:empty), .va-cform__msg.is-error:not(:empty),
.va-auth__msg.is-error:not(:empty), .va-lead__msg.is-error:not(:empty) { color: var(--va-red, #C85A54); }

/* v7.4.4: gli sticky rispettano l'altezza dell'header (era top 20-24px → finivano sotto) */
.va-detail-sidebar > * { top: 120px; }
@media (min-width: 861px) { .va-dash__side { top: 96px; } }
.va-search__map { top: 96px; }
/* anchor scroll: le sezioni non finiscono sotto l'header */
.va-detail-section, section[id] { scroll-margin-top: 96px; }

/* v7.4.5: header: logo sx, menu centrato, cluster TUTTO a destra */
.va-header__main-inner { justify-content: flex-start; }
.va-header__main-inner #va-nav,
.va-header__main-inner .va-header__nav { margin-inline: auto; }
.va-header__right { margin-left: 0; gap: 12px; }
.va-header__right .va-themetoggle { margin-left: 12px; }
.va-header__right .va-themetoggle::before { left: -12px; }
.va-header__right .va-header__cta { margin-left: 2px; }

/* ---- v7.4.6: consent: regola di Luca, verbatim ---- */
.va-consent.va-field-l {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
    flex-direction: row;
    flex-wrap: nowrap;
}
.va-consent.va-field-l .va-field-l__err:not(:empty) { flex: 0 0 auto; margin: 0 0 0 4px !important; }

/* ==== v7.5.0 A: loader: hidden vince sempre ==== */
.va-loading[hidden] { display: none !important; }

/* v7.5.0 C: skeleton: grigio chiaro light, verde scuro dark */
:root { --va-skel: #ECE9E2; --va-skel-hi: #F5F3EE; }
[data-theme="dark"] { --va-skel: #242B24; --va-skel-hi: #2D362D; }
.va-skel-card { border-radius: var(--va-radius-md, 10px); overflow: hidden; border: 1px solid var(--va-border); background: var(--va-white); }
.va-skel {
    background: linear-gradient(100deg, var(--va-skel) 40%, var(--va-skel-hi) 50%, var(--va-skel) 60%);
    background-size: 200% 100%;
    animation: va-shimmer 1.3s linear infinite;
}
@keyframes va-shimmer { from { background-position: 120% 0; } to { background-position: -80% 0; } }
.va-skel--media { aspect-ratio: 16/10; }
.va-skel--line { height: 12px; border-radius: 6px; margin: 10px 14px 0; }
.va-skel--line:last-of-type { margin-bottom: 16px; }
.va-skel--w60 { width: 60%; } .va-skel--w85 { width: 85%; } .va-skel--w40 { width: 40%; }
@media (prefers-reduced-motion: reduce) { .va-skel { animation: none; } }

/* v7.5.1: compare bar: testo sempre crema (la pill è scura in entrambi i temi) */
.va-shortcode--compare-bar .va-compare-bar__items,
.va-shortcode--compare-bar .va-compare-bar__count { color: #FDFBF7; }

/* v7.5.2: footer links: block (lock direttiva Luca) */
.va-footer__grid--v7 .va-footer__links { display: block; }

/* v7.5.3: kill horizontal overflow (mobile sborda) */
html { overflow-x: clip; scroll-behavior: smooth; }
body { scroll-behavior: smooth; }

/* v7.5.3: filtro Instagram: grade caldo uniforme su tutte le foto (reversibile) */
.va-pcard__img,
.va-category-tile--photo,
.va-hero,
.va-gallery__main-img,
.va-gallery__thumb-img,
.va-gallery__side img,
.va-mapcard img,
.va-ncard__img,
.va-search__head--photo {
    filter: saturate(1.08) contrast(1.04) sepia(0.08) brightness(0.90);
}
/* opt-out: aggiungere .va-img--raw per annullare il grade */
.va-img--raw { filter: none !important; }

/* v7.5.4 expose slides + Scoprilo ora */
.va-expose__media{position:relative;overflow:hidden}
.va-expose__slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.va-expose__slide:first-child{position:relative}
.va-expose__slide.is-active{opacity:1;z-index:2}
.va-expose__slide img{width:100%;height:100%;object-fit:cover}
.va-expose__discover{position:absolute;bottom:12px;right:12px;display:inline-flex;align-items:center;gap:5px;background:rgba(253,251,247,.92);backdrop-filter:blur(4px);color:var(--va-dark);font-size:.75rem;font-weight:500;padding:7px 14px;border-radius:999px;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.va-expose__discover:hover{background:var(--va-sage,#6B7F5E);color:#fff;transform:translateY(-1px)}
.va-expose__refchip{position:absolute;bottom:12px;left:12px}

/* v7.5.4: pagehead + prose center for conversion pages */
.va-pagehead--v7,.va-pagehead--v7 .va-container,.va-pagehead--v7 .va-pagehead__title,.va-pagehead--v7 .va-pagehead__intro,.va-pagehead--v7 .va-kicker{text-align:center!important}
.va-pagehead--v7 .va-pagehead__title { margin: 0; text-align: center; }
.va-pagehead__intro { max-width: 600px; margin-left: auto; margin-right: auto; }
.va-prose--narrow { max-width: 900px; margin-left: auto; margin-right: auto; }
.va-prose .va-lead { display: block; text-align: center; max-width: 660px; margin-left: auto; margin-right: auto; font-style: italic; font-size: 16px; }
.va-prose .va-cfg { margin-left: auto; margin-right: auto; }

/* v7.5.5: hero subtitle center */
.va-hero__subtitle { margin: 0 auto; }

/* v7.5.5: card skeleton durante caricamento immagine */
.va-pcard--loading .va-pcard__media {
    background: linear-gradient(100deg, var(--va-skel, #ECE9E2) 40%, var(--va-skel-hi, #F5F3EE) 50%, var(--va-skel, #ECE9E2) 60%);
    background-size: 200% 100%;
    animation: va-shimmer 1.4s infinite linear;
}
.va-pcard--loading .va-pcard__img { opacity: 0; }
.va-pcard--loading .va-pcard__body { opacity: .3; }
.va-pcard__img { transition: opacity .3s ease; }

/* v7.5.6: In vendita accent in nav */
.va-header__menu .va-nav--accent > a {
    color: var(--va-sage);
    font-weight: 600;
}
.va-header__menu .va-nav--accent > a::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--va-gold, #C4A265);
    margin-left: 5px;
    vertical-align: middle;
}

/* v7.5.7: expose: force white text (was inheriting dark in some contexts) */
.va-expose .va-kicker,
.va-expose .va-kicker--gold { color: var(--va-gold, #C4A265); }
.va-expose__title { color: #FDFBF7 !important; }
.va-expose__lead { color: rgba(253,251,247,.78) !important; }
.va-expose__perks li { color: rgba(253,251,247,.9); }
/* ==========================================================
   FORM V2: Tabs Rapido/Avanzato + Step engine
   v7.6: Verde Abitare
   Append to v7.css
   ========================================================== */

/* ---- Formbox wrapper ---- */
.va-formbox { position: relative; }

/* ---- Tabs ---- */
.va-formbox__tabs {
	display: flex;
	border-bottom: 2px solid var(--va-border);
	margin-bottom: 0;
}
.va-formbox__tab {
	flex: 1;
	background: none;
	border: none;
	padding: 13px 18px;
	font-size: .9rem;
	font-weight: 500;
	color: var(--va-warm-light);
	cursor: pointer;
	position: relative;
	transition: color .2s;
	font-family: inherit;
}
.va-formbox__tab::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	height: 2px;
	background: transparent;
	transition: background .2s;
}
.va-formbox__tab.is-active {
	color: var(--va-dark);
}
.va-formbox__tab.is-active::after {
	background: var(--va-gold, #C4A265);
}
.va-formbox__tab:hover:not(.is-active) {
	color: var(--va-warm);
}

/* ---- Panes ---- */
.va-formbox__pane { display: none; }
.va-formbox__pane.is-active { display: block; }
.va-formbox__pane[hidden] { display: none; }
.va-formbox .va-cform { border-radius: 0 0 16px 16px; } /* v7.9.21: tabs sopra, angoli alti squadrati (Luca 13/07) */

/* Avanzato form spacing override */
.va-cform--adv { gap: 0; padding-top: 14px; }

/* ---- Step progress bar ---- */
.va-step-progress { margin-bottom: 18px; }
.va-step-progress__bar {
	height: 4px;
	background: var(--va-border);
	border-radius: 4px;
	overflow: hidden;
}
.va-step-progress__fill {
	height: 100%;
	background: var(--va-gold, #C4A265);
	border-radius: 4px;
	transition: width .35s ease;
}
.va-step-progress__label {
	display: block;
	font-size: .72rem;
	color: var(--va-warm-light);
	margin-top: 6px;
	text-align: right;
}

/* ---- Steps ---- */
.va-step { display: none; flex-direction: column; gap: 14px; }
.va-step.is-active { display: flex; }
.va-step[hidden] { display: none; }
.va-step__title {
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 400;
	font-size: 1.1rem;
	margin: 0 0 4px;
	color: var(--va-dark);
}
.va-step__hint {
	font-size: .85rem;
	color: var(--va-warm-light);
	margin: 0;
}

/* ---- Step nav ---- */
.va-step__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
	gap: 12px;
}

/* Ghost btn for "Indietro" */
.va-btn--ghost {
	background: none;
	border: 1px solid var(--va-border);
	color: var(--va-warm);
	padding: 10px 18px;
	border-radius: 9px;
	font-size: .875rem;
	cursor: pointer;
	transition: border-color .2s, color .2s;
	font-family: inherit;
}
.va-btn--ghost:hover {
	border-color: var(--va-sage);
	color: var(--va-dark);
}

/* ---- Conditional panels ---- */
.va-adv-panel { display: none; flex-direction: column; gap: 14px; }
.va-adv-panel.is-visible { display: flex; }

/* ---- Select styling (uniform with inputs) ---- */
.va-cform select,
.va-cform--adv select {
	border: 1px solid var(--va-border);
	border-radius: 9px;
	padding: 12px 14px;
	font-size: 1rem;
	font-family: inherit;
	background: #fff;
	color: var(--va-dark);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A877A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 36px;
}
.va-cform select:focus,
.va-cform--adv select:focus {
	outline: none;
	border-color: var(--va-sage);
	box-shadow: 0 0 0 3px rgba(107,127,94,.12);
}

/* ---- Yes/No button row (GLG style) ---- */
.va-yesno {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid var(--va-border);
	gap: 12px;
}
.va-yesno:last-child { border-bottom: none; }
.va-yesno__label {
	font-size: .9rem;
	color: var(--va-dark);
	flex: 1;
}
.va-yesno__btns {
	display: flex;
	gap: 0;
	border: 1px solid var(--va-border);
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
}
.va-yesno__opt {
	display: flex;
	align-items: center;
	cursor: pointer;
}
.va-yesno__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.va-yesno__opt span {
	display: block;
	padding: 8px 18px;
	font-size: .82rem;
	font-weight: 500;
	color: var(--va-warm-light);
	transition: background .15s, color .15s;
	user-select: none;
}
.va-yesno__opt input:checked + span {
	background: var(--va-sage);
	color: #FDFBF7;
}
.va-yesno__opt:first-child span { border-right: 1px solid var(--va-border); }

/* ---- Grid 2-col variant ---- */
.va-cform__grid--2 { grid-template-columns: 1fr 1fr; }

/* ---- Dark theme ---- */
[data-theme="dark"] .va-formbox__tab { color: var(--va-warm-light); }
[data-theme="dark"] .va-formbox__tab.is-active { color: #FDFBF7; }
[data-theme="dark"] .va-yesno__label { color: #FDFBF7; }
[data-theme="dark"] .va-step__title { color: #FDFBF7; }

/* ---- Mobile ---- */
@media (max-width: 560px) {
	.va-cform__grid--2 { grid-template-columns: 1fr; }
	.va-yesno { flex-direction: column; align-items: flex-start; gap: 8px; }
	.va-formbox__tab { padding: 11px 12px; font-size: .82rem; }
}

/* v7.6.3 mapsheet base (all viewports) */
.va-mapsheet{position:fixed;left:0;right:0;bottom:0;height:94dvh;z-index:1180;background:var(--va-cream,#FDFBF7);border-radius:22px 22px 0 0;box-shadow:var(--va-shadow-lg);transform:translateY(103%);transition:transform .38s cubic-bezier(.32,.72,.24,1);display:flex;flex-direction:column;overflow:hidden}
.va-mapsheet.is-open{transform:translateY(0)}
.va-mapsheet__grab{display:grid;place-items:center;padding:3px;flex-shrink:0}
.va-mapsheet__grab i{width:42px;height:4px;border-radius:999px;background:var(--va-border)}
.va-mapsheet__bar{display:flex;align-items:center;gap:10px;padding:2px 16px 10px;flex-shrink:0}
.va-mapsheet__bar h3{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:1.19rem;flex:1;margin:0}
.va-mapsheet__close{border:0;background:none;color:var(--va-warm);font-size:.82rem;cursor:pointer;display:flex;align-items:center;gap:6px}
.va-mapsheet__body{flex:1;position:relative}
.va-mapsheet__body .va-search__map{position:absolute;inset:0;height:100%!important;border-radius:0}
body.va-mapsheet-lock{overflow:hidden}
[data-theme="dark"] .va-mapsheet{background:#181B16}
/* v7.6.3 mapfab visible on all viewports (was only max-1023px) */
.va-mapfab{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1100;display:inline-flex;align-items:center;gap:8px;background:var(--va-ink,#14170F);color:#FDFBF7;border:0;border-radius:999px;font-size:.82rem;font-weight:600;padding:13px 22px;box-shadow:var(--va-shadow-lg);cursor:pointer;transition:transform .2s}
body:not(.post-type-archive-immobile):not(.tax-tipo_immobile):not(.tax-zona):not(.tax-contratto) .va-mapfab{display:none}
.va-mapfab:active{transform:translateX(-50%) scale(.95)}

/* v7.6.4 header contact links */
a.va-header__contact{text-decoration:none;color:inherit;transition:color .2s}
a.va-header__contact:hover{color:var(--va-sage)}

/* v7.6.4 currency button */
#va-currency-btn{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}
#va-currency-btn:hover{color:var(--va-sage)}

/* v7.6.6: force white text on dark-bg components (h1-h3 inherit --va-dark from style.css) */
.va-expose h1,.va-expose h2,.va-expose h3,
.va-cta-strip h1,.va-cta-strip h2,.va-cta-strip h3,
.va-ctaband--photo h1,.va-ctaband--photo h2,.va-ctaband--photo h3,
.va-banner h1,.va-banner h2,.va-banner h3,
.va-atelier2--dark h1,.va-atelier2--dark h2,.va-atelier2--dark h3,
.va-hero h1,.va-hero h2,.va-hero h3 { color: #FDFBF7; }

/* v7.6.8: categories: full-width auto-scroll infinite loop */
.va-section:has(.is-marquee),.va-section--marquee{overflow-x:hidden;overflow-y:visible}
.va-shortcode--categories{display:flex;gap:16px;padding:20px 0 50px;width:max-content;flex-wrap:nowrap}
.va-shortcode--categories.is-marquee{animation:va-marquee var(--va-mq-dur,40s) linear infinite}
.va-shortcode--categories.is-paused{animation-play-state:paused}
.va-shortcode--categories .va-category-tile{flex:0 0 auto;min-width:200px;max-width:240px}
@keyframes va-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* v7.6.8 btn hover: keep white text on colored buttons */
a.va-btn--gold:hover,a.va-btn--primary:hover,a.va-btn--whatsapp:hover,button.va-btn--primary:hover{color:#fff!important}
.va-btn--gold:hover{background:#B8944F}
a.va-btn--primary:hover,button.va-btn--primary:hover{background:#5A7050}
a.va-btn--whatsapp:hover{background:#1da851}

/* v7.6.9 social icons */
.va-social{display:inline-flex;gap:10px;align-items:center}
.va-social a{color:var(--va-warm-light);transition:color .2s;line-height:0}
.va-social a:hover{color:var(--va-sage)}
.va-mobnav__meta .va-social{margin-top:10px;justify-content:center}
.va-mobnav__meta .va-social a{color:var(--va-warm)}
.va-footer__social .va-social{gap:14px}

/* v7.7.1 footer grid no bottom padding */
.va-footer__grid.va-footer__grid--v7{padding-bottom:0}

/* v7.7.3 */
.va-recent{padding:26px 0 55px}
.va-shortcode--categories{scrollbar-width:none;-ms-overflow-style:none}
.va-shortcode--categories::-webkit-scrollbar{display:none}

/* v7.7.5: no reveal on horizontal scroll items + expose fallback bg */
.va-shortcode--categories .va-reveal{opacity:1;transform:none;transition:none}
.va-expose__slide{background:var(--va-stone,#ECE9E2)}
[data-theme="dark"] .va-expose__slide{background:#242B24}
.va-expose__media{background:var(--va-stone,#ECE9E2)}
[data-theme="dark"] .va-expose__media{background:#242B24}

/* ==== v7.8.0 HEADER MOBILE (wireframe v4, frame 1+5) ==== */
@media (max-width: 1023px) {
  .va-header__main-inner { justify-content: space-between; gap: 10px; }
  .va-header__logo { margin-right: auto; min-width: 0; }
  .va-header__logo-text { font-size: .92rem; letter-spacing: .06em; }
  .va-header__logo-sub { display: none; }
  .va-themetoggle { order: 8; }
  .va-header__burger { order: 9; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--va-stone-light); border-radius: 10px; background: transparent; color: var(--va-dark); }
  .va-header__right { order: 7; }
}

/* v7.8.1: pagehead: il title ha max-width 22ch (v6.css), il box va centrato, non solo il testo */
.va-pagehead--v7 .va-pagehead__title,
.va-pagehead--v7 .va-kicker,
.va-pagehead--v7 .va-pagehead__intro { margin-left: auto; margin-right: auto; }

/* ==== v7.8.2 POLISH PERCEPITO: selection, focus, scrollbar ==== */
::selection { background: var(--va-sage); color: var(--va-white); }
:focus-visible { outline: 2px solid var(--va-gold); outline-offset: 2px; border-radius: 4px; }
.va-btn:focus-visible, .va-field:focus-visible { outline-offset: 1px; }
* { -webkit-tap-highlight-color: transparent; }
html { scrollbar-color: var(--va-sage) var(--va-cream); }
body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-track { background: var(--va-cream); }
body::-webkit-scrollbar-thumb { background: var(--va-sage); border-radius: 8px; border: 2px solid var(--va-cream); }

/* ==== v7.8.2 MAP STRIP ==== */
.va-mapstrip { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; display: flex; gap: 8px; overflow-x: auto; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); scrollbar-width: none; background: linear-gradient(to top, rgba(253,251,247,.65), rgba(253,251,247,0)); }
.va-mapstrip::-webkit-scrollbar { display: none; }
.va-mapstrip__card { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; border: 1.5px solid transparent; border-radius: 10px; background: #fff; padding: 5px 12px 5px 5px; cursor: pointer; box-shadow: var(--va-shadow); transition: transform .15s ease, border-color .15s ease; }
.va-mapstrip__card:hover { transform: translateY(-2px); }
.va-mapstrip__card.is-active { border-color: var(--va-sage); transform: translateY(-2px); }
.va-mapstrip__card img { width: 46px; height: 46px; border-radius: 7px; object-fit: cover; }
.va-mapstrip__meta { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.25; }
.va-mapstrip__meta strong { font-size: .82rem; color: var(--va-dark); font-weight: 600; }
.va-mapstrip__meta em { font-style: normal; font-size: .7rem; color: var(--va-warm-light); max-width: 110px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-theme="dark"] .va-mapstrip__card { background: var(--va-stone-light); }
/* la preview card sale sopra la strip */
#va-map-overview .va-mapcard { bottom: 84px; }

/* ==== v7.8.5 STATO VISITATO (stile Zillow) ==== */
.va-pin.is-visited { background: var(--va-warm-light); border-color: var(--va-warm-light); color: #FDFBF7; opacity: .92; }
.va-pin.is-visited::after { border-right-color: var(--va-warm-light); border-bottom-color: var(--va-warm-light); background: var(--va-warm-light); }
.va-pin.is-visited:hover, .va-pin.is-visited.is-active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }
.va-mapstrip__card.is-visited { opacity: .72; }
.va-mapstrip__card.is-visited.is-active, .va-mapstrip__card.is-visited:hover { opacity: 1; }
[data-theme="dark"] .va-pin.is-visited { background: var(--va-stone-light); }

/* ==== v7.8.6 LIGHTBOX: immagine grande + pannello contatti ==== */
.va-lbx img { width: auto; }
.va-lbx--aside.is-open { align-items: center; justify-content: flex-start; }
.va-lbx--aside img { max-width: calc(100vw - 380px); max-height: 94dvh; flex: 0 1 auto; margin: auto; }
.va-lbx__aside { position: absolute; top: 0; right: 0; bottom: 0; width: 340px; background: rgba(20,22,17,.97); padding: 20px 22px calc(20px + env(safe-area-inset-bottom)); overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.va-lbx__aside h3 { margin: 0; font-size: 1.02rem; line-height: 1.3; }
.va-lbx__aside p { margin: 0; font-size: .82rem; }
.va-lbx__form { display: grid; gap: 9px; }
.va-lbx__formmsg { font-size: .8rem; min-height: 1.2em; }
.va-lbx--aside .va-lbx__next { right: 358px; }
.va-lbx--aside .va-lbx__close { right: 358px; }
.va-lbx--aside .va-lbx__count { left: calc(50% - 170px); }
@media (max-width: 900px) {
  .va-lbx__aside { display: none; }
  .va-lbx--aside img { max-width: 94vw; }
  .va-lbx--aside .va-lbx__next { right: 18px; }
  .va-lbx--aside .va-lbx__close { right: 18px; }
  .va-lbx--aside .va-lbx__count { left: 50%; }
}

/* ==== v7.8.7 FILTRO PREZZO MAPPA ==== */
.va-mapfilter { position: absolute; top: 12px; left: 12px; z-index: 5; display: flex; gap: 6px; max-width: calc(100% - 120px); overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.va-mapfilter::-webkit-scrollbar { display: none; }
.va-mapfilter__chip { flex: 0 0 auto; border: 1.5px solid var(--va-border); background: #fff; color: var(--va-warm); font-size: .78rem; font-weight: 600; padding: 7px 12px; border-radius: 99px; cursor: pointer; box-shadow: var(--va-shadow); transition: all .12s; }
.va-mapfilter__chip.is-active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }
/* v7.9.286: hover filter chips + pin contrast */
.va-mapfilter__chip:hover:not(.is-active) { background: var(--va-cream, #FDFBF7); border-color: var(--va-sage); color: var(--va-sage); }
.va-pin:hover, .va-pin.is-active { box-shadow: 0 4px 14px rgba(0,0,0,.32), 0 0 0 2px #fff; }
[data-theme="dark"] .va-mapfilter__chip { background: var(--va-stone-light); color: var(--va-dark); }
@media (max-width: 767px) { .va-mapfilter { top: 8px; left: 8px; max-width: calc(100% - 16px); } .va-mapfilter__chip { font-size: .72rem; padding: 6px 10px; } }

/* v7.8.8: visitato più evidente: spunta sulla card della strip */
.va-mapstrip__card.is-visited .va-mapstrip__meta strong::after { content: " \2713"; color: var(--va-sage); font-weight: 700; }
[data-theme="dark"] .va-pin.is-visited { color: var(--va-dark); opacity: .85; }

/* ==== v7.8.9 POPUP LINGUA/VALUTA ==== */
.va-curmodal { position: fixed; inset: 0; z-index: 1700; display: none; }
.va-curmodal.is-open { display: flex; align-items: center; justify-content: center; }
.va-curmodal__backdrop { position: absolute; inset: 0; background: rgba(10,11,8,.5); }
.va-curmodal__panel { position: relative; width: min(420px, calc(100vw - 32px)); background: var(--va-cream); border-radius: 16px; box-shadow: var(--va-shadow-lg); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.va-curmodal__panel h3 { margin: 0; font-size: 1.1rem; }
.va-curmodal__panel p { margin: 0; font-size: .8rem; color: var(--va-warm-light); }
.va-curmodal__row { display: flex; flex-wrap: wrap; gap: 8px; }
.va-curmodal__opt { border: 1.5px solid var(--va-border); background: #fff; color: var(--va-dark); font-size: .85rem; font-weight: 600; padding: 9px 14px; border-radius: 10px; cursor: pointer; text-decoration: none; transition: all .12s; }
.va-curmodal__opt:hover { border-color: var(--va-sage); color: var(--va-sage); }
.va-curmodal__opt.is-active { border-color: var(--va-sage); background: var(--va-sage-light, #EAF0E6); color: var(--va-sage); }
.va-curmodal__foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }
[data-theme="dark"] .va-curmodal__panel { background: var(--va-dark); }
[data-theme="dark"] .va-curmodal__opt { background: var(--va-stone-light); }

/* ==== v7.9.0 LIGHTBOX: centratura corretta + formbox reale nel pannello ==== */
.va-lbx--aside.is-open { justify-content: center; padding-right: 340px; }
.va-lbx--aside img { margin: 0; }
.va-lbx__formslot .va-formbox { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; }
.va-lbx__formslot .va-formbox__tab { color: rgba(255,255,255,.6); }
.va-lbx__formslot .va-formbox__tab.is-active { color: var(--va-white); border-color: var(--va-gold); }
@media (max-width: 900px) { .va-lbx--aside.is-open { padding-right: 0; } }

/* ==== v7.9.1 DETAIL: descrizione a piena colonna (feedback Luca: cap 68ch creava vuoto a dx) ==== */
.single-immobile .va-container { max-width: 1280px; }
/* v7.9.5: override rimosso: la regola 68ch è stata tolta alla fonte (riga 725) */
.va-detail-desc { font-size: 1.02rem; line-height: 1.8; }

/* ==== v7.9.2 HERO CARD nella gallery (al posto delle 2 tile) ==== */
.va-gallery--mosaic .va-gallery__wrap { grid-template-columns: minmax(0, 1fr) 360px; grid-template-rows: auto; overflow: visible; }
.va-gallery--mosaic .va-gallery__main { grid-row: auto; border-radius: var(--va-radius-md, 10px); overflow: hidden; }
.va-herocard { display: flex; flex-direction: column; gap: 14px; background: var(--va-cream); border: 1px solid var(--va-border); border-radius: var(--va-radius-md, 10px); padding: 18px; align-self: start; position: sticky; top: 86px; }
.va-herocard .va-side__price { margin: 0; }
@media (max-width: 1023px) {
  .va-gallery--mosaic .va-gallery__wrap { display: block; }
  .va-herocard { position: static; margin-top: 10px; }
}

/* v7.9.3: drag-to-scroll: cursori e no selezione durante il drag */
.va-mapstrip, .va-mapfilter { cursor: grab; }
.va-mapstrip.is-dragging, .va-mapfilter.is-dragging { cursor: grabbing; user-select: none; scroll-behavior: auto; }
.va-mapstrip img { -webkit-user-drag: none; user-select: none; }

/* ==== v7.9.4 POI CHIPS interattivi ==== */
.va-poi-chip { display: inline-flex; align-items: center; gap: 5px; border: 1.5px solid var(--va-border); background: #fff; color: var(--va-warm); font-size: .78rem; font-weight: 600; padding: 7px 12px; border-radius: 99px; cursor: pointer; transition: all .15s; }
.va-poi-chip:hover { border-color: var(--va-sage); color: var(--va-sage); }
.va-poi-chip.is-active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }
.va-poi-chip.is-loading { opacity: .55; pointer-events: none; }
.va-poi-chip.is-empty { border-color: #C0392B; color: #C0392B; }
[data-theme="dark"] .va-poi-chip { background: var(--va-stone-light); color: var(--va-dark); }

/* ==== v7.9.6 SPLIT 1/3+2/3 per banner affiancati ==== */
.va-split--13 { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; align-items: stretch; }
.va-split--13 > div > .va-quote, .va-split--13 > div > .va-ctaband { height: 100%; margin: 0; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.va-prose .va-split--13 { margin: 26px 0; }
@media (max-width: 900px) { .va-split--13 { grid-template-columns: 1fr; } }

/* ==== v7.9.7 SPLIT 2/3+1/3: form mai da solo ==== */
.va-split--21 { display: grid; grid-template-columns: minmax(0, 1fr) 450px; gap: 44px; align-items: start; }
.va-talkpanel { display: flex; flex-direction: column; gap: 14px; }
.va-talkpanel p { max-width: 52ch; }
.va-talkform { background: #fff; border: 1px solid var(--va-border); border-radius: var(--va-radius-md, 10px); padding: 22px; }
.va-side__actions--row { flex-direction: row; flex-wrap: wrap; gap: 10px; display: flex; }
[data-theme="dark"] .va-talkform { background: var(--va-stone-light); }
@media (max-width: 1023px) { .va-split--21 { grid-template-columns: 1fr; gap: 22px; } .va-talkform { max-width: 560px; } }

/* ==== v7.9.8 EXPOSE BRANDIZZATO + documenti gated ==== */
.va-expodoc { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; }
.va-expodoc__logo { display: block; height: 33px; width: auto; }
.va-expodoc__logo--dark { display: none; }
[data-theme="dark"] .va-expodoc__logo--light { display: none; }
[data-theme="dark"] .va-expodoc__logo--dark { display: block; }
[data-theme="dark"] .va-expodoc { background: var(--va-stone-light); }
.va-expodoc__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.va-expodoc__body strong { font-size: .92rem; color: var(--va-dark); }
.va-expodoc__body span { font-size: .78rem; color: var(--va-warm-light); }
.va-expodoc__btns { display: flex; gap: 8px; }
.va-documents__list { list-style: none; margin: 0; padding: 0; }
.va-documents__list li { display: flex; align-items: center; gap: 8px; padding: 12px 2px; border-bottom: .5px solid var(--va-border); font-size: .95rem; }
.va-documents__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.va-documents__list li > span:last-child { margin-left: auto; color: var(--va-warm-light); font-size: .8rem; flex-shrink: 0; white-space: nowrap; }
.va-documents__locked { background: var(--va-sage-pale, #F2F5F0); border-radius: 8px; padding: 16px; text-align: center; }
.va-documents__locked p { font-size: .78rem; margin: 8px 0; }

/* ==== v7.9.10 FIX: thumbs uniformi + form a colonna nel pannello lightbox ==== */
.va-gallery__thumbs { align-items: flex-start; }
.va-gallery__thumb-btn { line-height: 0; }
.va-gallery__thumb-btn img { background: var(--va-stone-light); }
.va-lbx__formslot .va-cform__grid,
.va-lbx__formslot .va-cform__grid--2 { grid-template-columns: 1fr; }
.va-lbx__formslot .va-formbox__pane { padding: 0; }

/* v7.9.12: drag cursori su scroller generici */
.va-visit__slots, .va-gallery__thumbs, .va-recent__strip { cursor: grab; }
.va-visit__slots.is-dragging, .va-gallery__thumbs.is-dragging, .va-recent__strip.is-dragging { cursor: grabbing; user-select: none; }
.va-gallery__thumbs.is-dragging img, .va-recent__strip.is-dragging img { -webkit-user-drag: none; }

/* ==== v7.9.13 INFO CARD POI/immobile ==== */
.va-poimini { display: flex; flex-direction: column; gap: 4px; max-width: 240px; font-family: var(--va-font-body); color: var(--va-dark); }
.va-poimini img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; margin-bottom: 4px; }
.va-poimini strong { font-size: .9rem; line-height: 1.3; }
.va-poimini__stars { color: var(--va-gold); font-size: .78rem; font-weight: 600; }
.va-poimini span { font-size: .76rem; color: var(--va-warm); }
.va-poimini em { font-style: normal; font-size: .76rem; color: var(--va-sage); font-weight: 600; }
.va-poimini a { font-size: .78rem; color: var(--va-sage); text-decoration: none; font-weight: 600; margin-top: 3px; }

/* ==== v7.9.14 EXPOSE FALLBACK testuale ==== */
.va-expose__slide--fb { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--va-ink, #14170F), #3A362E); }
.va-expose__fallback { padding: 28px; text-align: center; max-width: 100%; }
.va-expose__fallback .va-kicker { display: block; margin-bottom: 10px; letter-spacing: .14em; }
.va-expose__fallback p { margin: 0; font-family: var(--va-font-display); font-size: 1.05rem; line-height: 1.5; color: rgba(253,251,247,.85); }
.va-expose__slide--fb .va-expose__refchip, .va-expose__slide--fb .va-expose__discover { z-index: 2; }

/* ==== v7.9.16 FORM SINGLE: sidebar solo Rapido, tabs solo nel popup (Luca) ==== */
.va-side__form .va-formbox__tabs { display: none; }
.va-side__form .va-formbox__pane[data-pane="avanzato"] { display: none !important; }
.va-side__form .va-formbox__pane[data-pane="rapido"] { display: block !important; }
.va-lbx__formslot .va-formbox__tabs { display: flex; }
/* fix campo schiacciato: anche la griglia a 2 colonne collassa in sidebar */
.va-side__form .va-cform__grid--2 { grid-template-columns: 1fr; }

/* ==== v7.9.18 SPLIT 2/3+1/3: campi mai schiacciati + altezze pareggiate ==== */
.va-talkform .va-cform__grid,
.va-talkform .va-cform__grid--2 { grid-template-columns: 1fr; }
.va-split--21 { align-items: stretch; }
.va-talkpanel { justify-content: center; }
.va-talkform { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }

/* ==== v7.9.19 SPLIT SYSTEM: 50-50 + atelier impilato nei contesti split (mock Luca) ==== */
.va-split--11 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.va-split--21 { gap: 32px; }
.va-split--13 { gap: 28px; }
.va-split .va-atelier2 { grid-template-columns: 1fr; height: 100%; margin: 0; align-content: start; }
.va-split .va-atelier2__media { min-height: 200px; max-height: 220px; }
.va-split__promo { display: flex; flex-direction: column; }
.va-split__promo .va-atelier2 { flex: 1; }
@media (max-width: 900px) { .va-split--11 { grid-template-columns: 1fr; gap: 18px; } }

/* ==== v7.9.20 GALLERY BAND: scura fissa in entrambi i temi, compatta, thumbs piene (Luca) ==== */
.va-detail-gallery { background: linear-gradient(180deg, #1A1C13, #14170F); padding: 16px 0 10px; }
.va-gallery--mosaic .va-gallery__wrap { gap: 12px; }
.va-gallery__thumbs { padding: 10px 2px 2px; gap: 10px; }
.va-gallery__thumb-btn { flex: 1 0 auto; opacity: .5; }
.va-gallery__thumb-btn img { width: 100%; min-width: 118px; height: 92px; }
.va-gallery__thumb-btn--active, .va-gallery__thumb-btn:hover { opacity: 1; }
/* herocard sulla banda scura: card chiara con bordo morbido, compatta */
.va-detail-gallery .va-herocard { border-color: rgba(255,255,255,.08); box-shadow: 0 6px 24px rgba(0,0,0,.35); padding: 16px; gap: 12px; }
/* ==== v7.9.20 POPUP: colori ricalibrati tono su tono ==== */
.va-lbx { background: rgba(13,14,10,.96); }
.va-lbx__aside { background: linear-gradient(180deg, #181A12, #14170F); border-left: 1px solid rgba(255,255,255,.07); }
.va-dark-ctx .va-field { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); }
.va-lbx__formslot .va-formbox__tab { color: rgba(255,255,255,.55); }

/* ==== v7.9.22: curmodal lingua/valuta migliorato (Luca 13/07) ==== */
.va-curmodal__panel { padding: 26px 24px 22px; gap: 16px; }
.va-curmodal__row { display: grid; gap: 8px; }
.va-curmodal__row::before { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--va-warm-light); grid-column: 1 / -1; }
.va-curmodal__row[data-row="lang"] { grid-template-columns: 1fr 1fr; }
.va-curmodal__row[data-row="lang"]::before { content: 'Lingua'; }
.va-curmodal__row[data-row="cur"] { grid-template-columns: repeat(4, 1fr); }
.va-curmodal__row[data-row="cur"]::before { content: 'Valuta'; }
.va-curmodal__opt { text-align: center; padding: 11px 8px; }
.va-curmodal__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px; }
.va-curmodal__foot .va-btn { width: 100%; justify-content: center; }
@media (max-width: 420px) { .va-curmodal__row[data-row="cur"] { grid-template-columns: 1fr 1fr; } }

/* ==== v7.9.23: WhatsApp soft: primaria 100% + frase centrata (Luca 13/07) ==== */
.va-cform__actions { flex-direction: column; align-items: stretch; }
.va-cform__actions .va-btn--primary { width: 100%; justify-content: center; }
.va-side__actions, .va-side__actions--row { flex-direction: column; align-items: stretch; }
.va-side__actions .va-btn--primary { width: 100%; justify-content: center; }
.va-walink { display: block; width: 100%; text-align: center; margin: 10px 0 0; font-size: .78rem; color: var(--va-sage); text-decoration: none; }
.va-walink:hover { text-decoration: underline; }
.va-side__form .va-walink { display: none; }
[data-theme="dark"] .va-walink { color: var(--va-sage-light, #A9BC9C); }

/* ==== v7.9.24 LIGHTBOX: aside largo, solo Rapido, theming light/dark (Luca 13/07) ==== */
.va-lbx__aside { width: 420px; }
.va-lbx--aside img { max-width: calc(100vw - 500px); }
.va-lbx--aside .va-lbx__next, .va-lbx--aside .va-lbx__close { right: 438px; }
.va-lbx--aside .va-lbx__count { left: calc(50% - 210px); }
.va-lbx--aside.is-open { padding-right: 420px; }
.va-lbx__formslot .va-formbox__tabs { display: none; }
.va-lbx__formslot .va-formbox__pane[data-pane="avanzato"] { display: none !important; }
.va-lbx__formslot .va-formbox__pane[data-pane="rapido"] { display: block !important; }
/* light (default): pannello chiaro, campi normali: anche se il JS mette va-dark-ctx */
.va-lbx__aside { background: var(--va-cream, #FDFBF7); border-left: 1px solid var(--va-border, #E4DFD4); color: var(--va-dark, #2A2722); }
.va-lbx__aside p { color: var(--va-warm, #8A8377); }
.va-lbx__aside label, .va-lbx__aside .va-field-l { color: var(--va-dark, #2A2722); }
.va-lbx__aside .va-field { background: #fff; border-color: var(--va-border, #E4DFD4); color: var(--va-dark, #2A2722); }
/* dark: pannello scuro tono su tono come prima */
[data-theme="dark"] .va-lbx__aside { background: linear-gradient(180deg, #181A12, #14170F); border-left: 1px solid rgba(255,255,255,.07); color: #FDFBF7; }
[data-theme="dark"] .va-lbx__aside p { color: rgba(255,255,255,.65); }
[data-theme="dark"] .va-lbx__aside label, [data-theme="dark"] .va-lbx__aside .va-field-l { color: #FDFBF7; }
[data-theme="dark"] .va-lbx__aside .va-field { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); color: #FDFBF7; }

/* ==== v7.9.26: pannello Avvisi ribasso leggibile (Luca 13/07) ==== */
.va-dash__explain { background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border, #E4DFD4); border-radius: 12px; padding: 14px 18px; margin-bottom: 18px; }
.va-dash__explain p { margin: 4px 0; font-size: .88rem; }
.va-dash__watchcard { background: var(--va-white, #fff); border: 1px solid var(--va-border, #E4DFD4); border-radius: 12px; padding: 14px 18px; margin-bottom: 12px; }
.va-dash__watchcard header { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 6px; }
.va-dash__watchcard header span { color: var(--va-warm, #8A8377); font-size: .85rem; }
.va-dash__watchmails { margin: 4px 0 10px; font-size: .82rem; color: var(--va-sage, #6B7F5E); word-break: break-all; }

/* ==== v7.9.27: dashboard icone + pager (Luca 13/07) ==== */
.va-dash__item { display: flex; align-items: center; gap: 10px; }
.va-dash__item .va-icon { flex: none; opacity: .7; }
.va-dash__item.is-on .va-icon, .va-dash__item:hover .va-icon { opacity: 1; }
.va-stat { display: flex; align-items: center; gap: 12px; }
.va-stat .va-icon { width: 38px; height: 38px; padding: 9px; box-sizing: border-box; border-radius: 50%; background: var(--va-sage-pale, #F2F5F0); color: var(--va-sage, #6B7F5E); flex: none; }
.va-stat strong { line-height: 1.1; }
.va-dash-pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 14px 0 4px; font-size: .85rem; color: var(--va-warm, #8A8377); }
.va-dash-pager .va-btn[disabled] { opacity: .35; cursor: default; }
[data-theme="dark"] .va-stat .va-icon { background: rgba(255,255,255,.08); color: var(--va-sage-light, #A9BC9C); }

/* ==== v7.9.28: POI: chip attivo leggibile + infowindow pulita (Luca 13/07) ==== */
.va-poi-chip.is-active .va-icon { color: #fff; }
.gm-style .gm-style-iw-c { padding: 0 !important; overflow: hidden !important; border-radius: 12px !important; box-shadow: 0 14px 40px rgba(30,27,22,.28) !important; }
.gm-style .gm-style-iw-d { overflow: hidden !important; padding: 0 !important; max-height: none !important; }
.gm-style .gm-style-iw-chr { position: absolute; top: 4px; right: 4px; z-index: 2; height: auto !important; }
.gm-style .gm-style-iw-chr button { background: rgba(253,251,247,.92) !important; border-radius: 50% !important; width: 26px !important; height: 26px !important; }
.gm-style .gm-style-iw-chr button span { margin: 5px !important; width: 16px !important; height: 16px !important; }
.va-poimini { padding: 12px 14px; max-width: 260px; gap: 3px; }
.va-poimini img { width: calc(100% + 28px); margin: -12px -14px 8px; height: 120px; border-radius: 0; }
.va-poimini a:hover { text-decoration: underline; }

/* ==== v7.9.30 LIGHTBOX: light per light: sfondo, frecce, contatore, titolo (Luca 13/07) ==== */
.va-lbx { background: rgba(247, 244, 238, .97); }
.va-lbx__btn { background: rgba(42, 39, 34, .08); color: var(--va-dark, #2A2722); }
.va-lbx__btn:hover { background: rgba(42, 39, 34, .16); }
.va-lbx__count { color: var(--va-warm, #8A8377); }
.va-lbx__aside h3 { color: var(--va-dark, #2A2722); }
[data-theme="dark"] .va-lbx { background: rgba(13, 14, 10, .96); }
[data-theme="dark"] .va-lbx__btn { background: rgba(253, 251, 247, .14); color: #FDFBF7; }
[data-theme="dark"] .va-lbx__btn:hover { background: rgba(253, 251, 247, .28); }
[data-theme="dark"] .va-lbx__count { color: rgba(253, 251, 247, .75); }
[data-theme="dark"] .va-lbx__aside h3 { color: #FDFBF7; }

/* ==== v7.9.31: strip thumbs scorre senza scrollbar (Luca 13/07) ==== */
.va-gallery__thumbs { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.va-gallery__thumbs::-webkit-scrollbar { display: none; height: 0; }

/* ==== v7.9.32: lista documenti: separatori fini, niente doppio bordo al fondo (Luca 13/07) ==== */
.va-documents__list li { border-bottom: 1px solid rgba(42, 39, 34, .07); }
.va-documents__list li:last-child { border-bottom: 0; }
[data-theme="dark"] .va-documents__list li { border-bottom-color: rgba(255, 255, 255, .09); }

/* ==== v7.9.33: banda gallery LIGHT PER LIGHT anche in pagina: supera v7.9.20 (Luca 13/07) ==== */
.va-detail-gallery { background: linear-gradient(180deg, #F3F0E9, #ECE8DF); }
.va-detail-gallery .va-herocard { border-color: var(--va-border, #E4DFD4); box-shadow: 0 6px 24px rgba(30, 27, 22, .10); }
[data-theme="dark"] .va-detail-gallery { background: linear-gradient(180deg, #1A1C13, #14170F); }
[data-theme="dark"] .va-detail-gallery .va-herocard { border-color: rgba(255, 255, 255, .08); box-shadow: 0 6px 24px rgba(0, 0, 0, .35); }

/* ==== v7.9.34: atelier2: CTA sempre presente, walink allineata a sinistra (Luca 13/07) ==== */
.va-atelier2__body .va-btn { align-self: flex-start; margin-top: 6px; }
.va-walink--left { text-align: left; width: auto; margin: 6px 0 0; }
.va-atelier2--dark .va-walink { color: var(--va-gold, #C4A265); }

/* ==== v7.9.35: confronto pieno: shake, toast, rimozione dalla barra (Luca 13/07) ==== */
.va-compare-bar__thumb { position: relative; display: inline-block; overflow: visible; }
.va-compare-bar__thumb > img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.va-compare-bar__x { position: absolute; top: -6px; right: -6px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: var(--va-ink, #14170F); color: #fff; font-size: .72rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.va-compare-bar__x:hover { background: #B4453B; }
.va-shortcode--compare-bar.is-shake { animation: va-cmpshake .45s ease; }
@keyframes va-cmpshake { 0%, 100% { transform: translate(-50%, 0); } 20% { transform: translate(calc(-50% - 8px), 0); } 40% { transform: translate(calc(-50% + 7px), 0); } 60% { transform: translate(calc(-50% - 5px), 0); } 80% { transform: translate(calc(-50% + 3px), 0); } }
.va-compare-toast { position: absolute; bottom: calc(100% + 12px); left: 50%; transform: translate(-50%, 5px); background: var(--va-ink, #14170F); color: #FDFBF7; font-size: .8rem; padding: 9px 14px; border-radius: 10px; box-shadow: var(--va-shadow-lg, 0 18px 50px rgba(30,27,22,.25)); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; white-space: nowrap; }
.va-compare-toast.is-in { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 640px) { .va-compare-toast { white-space: normal; width: max-content; max-width: calc(100vw - 40px); } }

/* ==== v7.9.36: gallery 1224px, senza padding su desktop (Luca 13/07) ==== */
.va-gallery { max-width: 1224px; padding: 15px; }
@media (max-width: 1260px) { .va-gallery { padding: 15px 24px; } }
@media (max-width: 900px) { .va-gallery { padding: 15px 14px; } }

/* ==== v7.9.37: card prezzo herocard light per light, testi scuri (Luca 13/07) ==== */
.va-side__price { background: var(--va-white, #fff); color: var(--va-dark, #2A2722); border: 1px solid var(--va-border, #E4DFD4); }
.va-side__sqm { color: var(--va-warm, #8A8377); }
.va-side__rows { border-top-color: var(--va-border, #E4DFD4); }
.va-side__row { color: var(--va-warm, #8A8377); border-bottom-color: rgba(42, 39, 34, .08); }
.va-side__row b { color: var(--va-dark, #2A2722); }
[data-theme="dark"] .va-side__price { background: #2A2722; color: #fff; border: 1px solid rgba(255, 255, 255, .08); }
[data-theme="dark"] .va-side__sqm { color: rgba(255, 255, 255, .6); }
[data-theme="dark"] .va-side__rows { border-top-color: rgba(255, 255, 255, .14); }
[data-theme="dark"] .va-side__row { color: rgba(255, 255, 255, .75); border-bottom-color: rgba(255, 255, 255, .1); }
[data-theme="dark"] .va-side__row b { color: #fff; }

/* ==== v7.9.38: toast globale in alto (bottom occupato da confronto/mappa/ctabar) ==== */
.va-toast { position: fixed; top: 86px; left: 50%; transform: translate(-50%, -8px); z-index: 2000; background: var(--va-ink, #14170F); color: #FDFBF7; font-size: .84rem; padding: 10px 18px; border-radius: 999px; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; max-width: calc(100vw - 32px); text-align: center; }
.va-toast { box-shadow: var(--va-shadow-lg, 0 18px 50px rgba(30, 27, 34, .25)); }
.va-toast.is-in { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.va-toast a { color: var(--va-gold, #C4A265); text-decoration: underline; text-underline-offset: 2px; }
body.admin-bar .va-toast { top: 118px; }

/* ==== v7.9.39: BASTA GIALLINO: fondi verdi o bianco/nero, oro solo come accento (regola Luca 13/07) ==== */
.va-atelier2 { background: var(--va-sage-pale, #F2F5F0); }
.va-watch { background: var(--va-white, #fff); }
.va-banner--gold { background: var(--va-white, #fff); }
.va-pcard__compare { background: var(--va-sage-pale, #F2F5F0); color: var(--va-sage, #6B7F5E); }
.va-pcard__compare.is-on { background: var(--va-sage, #6B7F5E); color: #fff; }
[data-theme="dark"] .va-atelier2:not(.va-atelier2--dark){background:var(--va-stone-dark,#1E2118);border-color:rgba(253,251,247,.08)}
[data-theme="dark"] .va-watch { background: var(--va-white); }
[data-theme="dark"] .va-banner--gold { background: var(--va-white); }

/* ==== v7.9.40: barra confronto: thumb tonde ripristinate, markup unico span+img (fix conflitto v7.9.35) ==== */
.va-compare-bar__thumb > img { border-radius: 50%; }
.va-compare-bar__thumb { width: 34px; height: 34px; }

/* ==== v7.9.41: LARGHEZZA UNICA: 1224px come l'header, o full-bleed; mai vie di mezzo (regola Luca 13/07) ==== */
/* annulla i container ballerini di v6 (1280 su ≥1440, 1080 su 1024-1439) e il 1200 base v4 */
.va-container{max-width:1224px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
@media (min-width: 1440px) { .va-container{max-width:1224px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px} }
@media (min-width: 1024px) and (max-width: 1439px) { .va-container{max-width:1224px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px} }
/* breakout articolo: era 1100 → 1224 come tutto il resto */
.va-article__content .va-immobili-inline { width: min(1224px, calc(100vw - 48px)); }
/* vista mappa: era cap 1720 (via di mezzo) → full-bleed vero con gutter */
.va-search__stage[data-view="map"] { width: calc(100vw - 48px); }

/* ==== v7.9.42: cursor pointer su tutto il cliccabile (Luca 13/07) ==== */
button:not([disabled]), [role="button"], summary, label.va-check, label.va-consent { cursor: pointer; }
.va-detail-gallery img, .va-gallery__main img, .va-gallery__wrap img { cursor: pointer; }
.va-compare-bar__thumb, .va-compare-bar__thumb > img { cursor: pointer; }
.va-recent__strip img, .va-mapstrip__card img { cursor: pointer; }

/* ==== v7.9.43: map picker: indirizzo col marker (Luca 13/07) ==== */
.va-mappick { height: 300px; border-radius: 12px; border: 1px solid var(--va-border, #E4DFD4); overflow: hidden; background: var(--va-sage-pale, #F2F5F0); }
.va-mappick__bar { display: flex; align-items: center; gap: 12px; margin: 10px 0 8px; }
.va-mappick__msg { font-size: .78rem; color: var(--va-sage, #6B7F5E); }

/* ==== v7.9.44: select leggibili in dark: LETTERALI, niente var invertibili (Luca 13/07) ==== */
[data-theme="dark"] .va-cform select,
[data-theme="dark"] .va-cform--adv select,
[data-theme="dark"] select.va-field,
[data-theme="dark"] .va-phoneprefix {
	background-color: #2E332B;
	color: #FDFBF7;
	border-color: rgba(255, 255, 255, .16);
}

/* ==== v7.9.45: sweep dark: letterali sui pezzi con var invertibili (Luca 13/07) ==== */
[data-theme="dark"] .va-mapfilter__chip, [data-theme="dark"] .va-poi-chip { background: #2E332B; color: #FDFBF7; border-color: rgba(255, 255, 255, .14); }
[data-theme="dark"] .va-curmodal__panel { background: #23261F; color: #FDFBF7; }
[data-theme="dark"] .va-walink, .va-dark-ctx .va-walink { color: #A9BC9C; }
[data-theme="dark"] .va-lbx .va-walink { color: #A9BC9C; }

/* ==== v7.9.46: pin mappa "già visto" distinguibile anche in DARK: letterali (Luca 13/07) ==== */
[data-theme="dark"] .va-pin.is-visited { background: #4C4840; border-color: #5A554B; color: rgba(253, 251, 247, .72); opacity: 1; }
[data-theme="dark"] .va-pin.is-visited::after { background: #4C4840; border-right-color: #5A554B; border-bottom-color: #5A554B; }
[data-theme="dark"] .va-pin.is-visited:hover, [data-theme="dark"] .va-pin.is-visited.is-active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }
[data-theme="dark"] .va-mapstrip__card.is-visited { opacity: .6; }

/* ==== v7.9.47: dropdown Territorio nel nav (depth 2 era già attivo, mancavano gli stili) ==== */
.va-header__nav li { position: relative; }
.va-header__nav .sub-menu { display: none; position: absolute; top: calc(100% + 10px); left: -14px; min-width: 220px; background: var(--va-white, #fff); border: 1px solid var(--va-border, #E4DFD4); border-radius: 12px; box-shadow: 0 18px 50px rgba(30, 27, 22, .16); padding: 8px; z-index: 990; list-style: none; margin: 0; }
.va-header__nav li:hover > .sub-menu, .va-header__nav li:focus-within > .sub-menu { display: block; }
.va-header__nav .sub-menu a { display: block; padding: 10px 14px; border-radius: 8px; white-space: nowrap; }
.va-header__nav .sub-menu a:hover { background: var(--va-sage-pale, #F2F5F0); color: var(--va-sage, #6B7F5E); }
.va-header__nav .sub-menu::before { content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
[data-theme="dark"] .va-header__nav .sub-menu { background: #23261F; border-color: rgba(255, 255, 255, .12); }
[data-theme="dark"] .va-header__nav .sub-menu a:hover { background: #2E332B; color: #A9BC9C; }
@media (max-width: 768px) { .va-header__nav .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding: 0 0 0 16px; background: transparent; } }

/* ==== v7.9.48: toast e X confronto: LETTERALI, mai var invertibili nei componenti flottanti (13/07) ==== */
.va-toast, .va-compare-toast { background: #23261F; color: #FDFBF7; }
.va-compare-bar__x { background: #14170F; color: #fff; border: 1px solid rgba(255, 255, 255, .28); }
.va-compare-bar__x:hover { background: #B4453B; border-color: #B4453B; }

/* ==== v7.9.49: pagine zona: tipografia grande + mappa interattiva (territorio v2) ==== */
.va-zonepage .va-lead--xl { font-size: 1.32rem; line-height: 1.75; max-width: 62ch; }
.va-zonepage h2 { font-size: 2rem; margin-top: 2em; }
.va-zonepage > p, .va-prose .va-zonepage > p { font-size: 1rem; line-height: 1.7; }
.va-zonemap { height: 480px; border-radius: 16px; border: 1px solid var(--va-border, #E4DFD4); overflow: hidden; margin: 26px 0; position: relative; background: var(--va-sage-pale, #F2F5F0); }
.va-zonemap__hint { position: absolute; left: 12px; top: 12px; z-index: 2; background: rgba(20, 22, 15, .72); backdrop-filter: blur(4px); color: #FDFBF7; font-size: .74rem; padding: 7px 12px; border-radius: 999px; pointer-events: none; }
.va-zonemap__card { padding: 4px 2px; max-width: 260px; }
.va-zonemap__card strong { display: block; font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.02rem; margin-bottom: 4px; }
.va-zonemap__card p { margin: 0; font-size: .82rem; line-height: 1.55; color: #6B6759; }
@media (max-width: 767px) { .va-zonemap { height: 380px; } .va-zonepage h2 { font-size: 1.6rem; } }

/* ==== v7.9.50: calendario eventi stagionale + chip mappa zona (territorio v3) ==== */
.va-zonemap__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 12px; }
.va-zonemap__chips button { border: 1px solid var(--va-border, #E4DFD4); background: var(--va-white, #fff); border-radius: 999px; padding: 8px 16px; font-size: .85rem; color: var(--va-warm, #8A8377); cursor: pointer; }
.va-zonemap__chips button.is-on { background: var(--va-sage, #6B7F5E); border-color: var(--va-sage, #6B7F5E); color: #fff; }
.va-zonemap__cat { display: inline-block; color: #fff; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; border-radius: 5px; padding: 3px 8px; margin-bottom: 6px; }
.va-zev { margin: 20px 0 8px; }
.va-zev__tabs { display: flex; flex-wrap: nowrap; gap: 8px; margin-bottom: 16px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.va-zev__tabs button { flex-shrink:0; border: 1.5px solid var(--va-border, #E4DFD4); background: var(--va-white, #fff); border-radius: 10px; padding: 10px 18px; font-size: .9rem; color: var(--va-dark, #2A2722); cursor: pointer; }
.va-zev__tabs button i { font-style: normal; font-size: .7rem; background: var(--va-sage-pale, #F2F5F0); border-radius: 99px; padding: 2px 7px; margin-left: 5px; color: var(--va-sage, #6B7F5E); }
.va-zev__tabs button.is-on { border-color: var(--va-sage, #6B7F5E); background: var(--va-sage-pale, #F2F5F0); color: var(--va-sage, #6B7F5E); }
.va-zev__tabs button[disabled] { opacity: .4; cursor: default; }
.va-zev__panel { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.va-zev__card { display: flex; gap: 14px; background: var(--va-white, #fff); border: 1px solid var(--va-border, #E4DFD4); border-radius: 14px; padding: 16px; align-items: flex-start; }
.va-zev__month { flex: none; background: var(--va-gold, #C4A265); color: #fff; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; border-radius: 8px; padding: 7px 10px; margin-top: 2px; }
.va-zev__body h3 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.08rem; margin: 0 0 2px; }
.va-zev__place { display: block; font-size: .76rem; color: var(--va-sage, #6B7F5E); margin-bottom: 5px; }
.va-zev__body p { margin: 0; font-size: .86rem; line-height: 1.6; color: var(--va-warm, #8A8377); }
.va-zev__empty, .va-zev__note { font-size: .82rem; color: var(--va-warm-light, #A8A093); }
.va-zev__note { margin-top: 12px; }

/* ==== v7.9.51: InfoWindow POI: letterali (card bianca in entrambi i temi) + assetto foto (Luca 13/07) ==== */
.gm-style .gm-style-iw-c { background: #fff !important; }
.va-poimini { color: #2A2722; padding: 0 0 12px; max-width: 260px; }
.va-poimini img { border-radius: 0; margin: 0 0 8px; height: 130px; }
.va-poimini strong, .va-poimini__stars, .va-poimini span, .va-poimini em, .va-poimini a { margin: 0 14px; }
.va-poimini strong { color: #2A2722; }
.va-poimini span { color: #8A8377; }
.va-poimini em { color: #6B7F5E; }
.va-poimini__stars { color: #C4A265; }
.va-poimini a { color: #6B7F5E; font-size: .78rem; font-weight: 600; text-decoration: none; margin-top: 4px; }
.va-poimini a:hover { text-decoration: underline; }

/* ==== v7.9.52: va-quote: background sempre cover (Luca 13/07) ==== */
.va-quote { background-size: cover !important; background-position: center; }

/* ==== v7.9.52: fallback brand nel rotatore expose (Luca 13/07) ==== */
.va-expose__fallback { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; display: flex; align-items: flex-end; justify-content: center; }
.va-expose__fallback::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 15, .12), rgba(20, 22, 15, .62)); }
.va-expose__slide { z-index: 1; }
.va-expose__fallback-in { position: relative; padding: 22px 24px; color: #FDFBF7; }
.va-expose__fallback-in h3 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.6rem; margin: 0 0 6px; color: #FDFBF7; }
.va-expose__fallback-in p { margin: 0; font-size: .88rem; line-height: 1.6; color: rgba(253, 251, 247, .85); max-width: 46ch; }

/* ==== v7.9.53: fix stagioni (hidden vince sempre) + zev dark + card leggibili in light ==== */
.va-zev__panel[hidden] { display: none !important; }
.va-zev__card { background: #FBFAF6; border-color: #E0DACC; }
[data-theme="dark"] .va-zev__card { background: #2E332B; border-color: rgba(255, 255, 255, .12); }
[data-theme="dark"] .va-zev__body h3 { color: #FDFBF7; }
[data-theme="dark"] .va-zev__tabs button { background: #2E332B; color: #FDFBF7; border-color: rgba(255, 255, 255, .14); }
[data-theme="dark"] .va-zev__tabs button.is-on { border-color: #A9BC9C; color: #A9BC9C; background: #23261F; }
/* tooltip zone map degno + tipografia zonepage allineata (v7.9.53) */
.va-zonemap__card { padding: 12px 15px 13px; max-width: 270px; }
.va-zonemap__card strong { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.12rem; margin-bottom: 5px; color: #2A2722; }
.va-zonemap__card p { color: #6B6759; font-size: .84rem; }
.va-zonemap__cat { margin-bottom: 8px; }
.va-zonepage .va-lead--xl, .va-zonepage > p, .va-prose .va-zonepage > p, .va-zonepage h2 { max-width: 70ch; }
.va-zonepage h2 { margin-bottom: .5em; }

/* ==== v7.9.56: narrativa vendita (Luca 13/07) ==== */
.va-expose__sellnote { margin: 14px 0 0; font-size: .85rem; line-height: 1.55; color: rgba(253,251,247,.75); }
.va-wiz__note { margin: 8px 0 0; font-size: .85rem; line-height: 1.55; color: var(--va-ink-soft, #6B675E); }

/* ==== v7.9.57: zone hero + photo row (territorio, Luca 13/07) ==== */
.va-zhero{position:relative;min-height:380px;border-radius:18px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end;margin:26px 0}
.va-zhero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,15,.05) 25%,rgba(20,22,15,.80))}
.va-zhero__in{position:relative;padding:28px 32px;color:#FDFBF7;max-width:none;width:100%}
.va-zhero__title{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:2rem;margin:6px 0;color:#FDFBF7}
.va-zhero__sub{margin:0;font-size:.95rem;line-height:1.6;color:rgba(253,251,247,.88)}
.va-prow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.va-prow__it{margin:0;border-radius:14px;overflow:hidden;background:var(--va-stone,#ECE9E2)}
.va-prow__it img{width:100%;height:210px;object-fit:cover;display:block}
.va-prow__it figcaption{padding:8px 13px;font-size:.82rem;color:var(--va-dark,#14170F);font-weight:500;background:rgba(253,251,247,.92)}
[data-theme=dark] .va-prow__it figcaption{color:#FDFBF7;background:rgba(20,23,15,.82)}
@media(max-width:1024px){.va-prow{grid-template-columns:1fr}}
@media(max-width:760px){.va-prow{grid-template-columns:1fr}.va-zhero{min-height:400px}.va-prow__it img{height:150px}}

/* ==== v7.9.58: form full-width + step 5 (Luca 13/07) ==== */
.va-cform .va-step{align-items:stretch}
.va-field-l input,.va-field-l select,.va-field-l textarea{width:100%}
.va-phonewrap{width:100%}
.va-phonewrap .va-phoneprefix{width:65px}
.va-step__nav{width:100%}
.va-step__nav .va-btn{flex:1;justify-content:center}
.va-cform__actions{width:100%}
.va-cform__actions .va-btn{width:100%;justify-content:center}

/* ==== v7.9.60: InfoWindow POI, respiro definitivo (Luca 13/07) ==== */
.gm-style .gm-style-iw-c{padding:0 !important;border-radius:14px;box-shadow:0 8px 28px rgba(20,22,15,.18)}
.gm-style .gm-style-iw-d{overflow:hidden !important;padding:0 !important}
.gm-style .gm-ui-hover-effect{top:4px !important;right:4px !important}
.va-poimini{padding:16px 18px 18px;gap:7px;max-width:300px}
.va-poimini strong,.va-poimini__stars,.va-poimini span,.va-poimini em,.va-poimini a{margin:0}
.va-poimini strong{font-size:.95rem;line-height:1.35}
.va-poimini span{font-size:.8rem;line-height:1.5}
.va-poimini em,.va-poimini__stars{font-size:.8rem}
.va-poimini a{margin-top:7px;display:inline-block;font-size:.8rem}
.va-poimini img{width:calc(100% + 36px);margin:-16px -18px 12px;height:140px;border-radius:0}

/* ==== v7.9.61: anticipo integrato con chip percentuali (Luca 13/07, pattern eFruit) ==== */
.va-m2__downwrap{display:flex;align-items:center;justify-content:space-between;height:48px;box-sizing:border-box;border:1.5px solid var(--va-border,#E4DFD4);border-radius:9px;background:#fff;overflow:hidden;width:fit-content;max-width:100%}
.va-m2__downwrap:focus-within{border-color:var(--va-sage,#6B7F5E);box-shadow:0 0 0 3px rgba(107,127,94,.12)}
.va-m2__downwrap input{border:none !important;outline:none;box-shadow:none !important;flex:1;min-width:0;height:100%;background:transparent;padding:9px 4px 9px 12px}
.va-m2__downwrap .va-m2__chips{display:inline-flex;gap:0;margin:0;height:100%;border-left:1.5px solid var(--va-border,#E4DFD4);border-radius:0}
.va-m2__downwrap .va-m2__chips button{border:0;border-left:1px solid var(--va-border,#E4DFD4);border-radius:0;height:100%;padding:0 13px;font-size:.78rem;font-weight:600;background:var(--va-stone-light,#F6F4EF);color:var(--va-warm,#8A8377);cursor:pointer}

/* ==== v7.9.62: batch fix Luca 13/07 sera ==== */
.va-m2__downwrap .va-m2__chips button:first-child{border-left:0}
.va-m2__downwrap .va-m2__chips button:hover{background:var(--va-sage,#6B7F5E);color:#fff}
[data-theme="dark"] .va-m2__downwrap{background:#242B24;border-color:#3A4438}
[data-theme="dark"] .va-m2__downwrap .va-m2__chips button{background:#2C352C;color:#A8B5A2}
.va-phonewrap .va-phoneprefix{width:65px}
.va-zev__card{flex-direction:column}
a.va-btn.va-btn--gold{width:fit-content}
.va-immobili-inline__all{width:fit-content;margin:20px auto 0}
input[type=range]{accent-color:var(--va-gold,#C4A265)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--va-gold,#C4A265);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
input[type=range]::-moz-range-thumb{-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--va-gold,#C4A265);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer}
.va-subtoggle{display:none}
@media(max-width:768px){
.va-subtoggle{display:inline-flex;width:36px;height:36px;background:transparent;border:0;position:relative;cursor:pointer;color:inherit}
.va-subtoggle::before{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.menu-item-has-children.is-open>.va-subtoggle::before{transform:rotate(225deg)}
.va-header__menu li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
.va-header__menu .sub-menu{display:none;flex-basis:100%;padding:4px 0 4px 16px;margin:2px 0 0;border-left:1px solid rgba(255,255,255,.16);list-style:none}
.menu-item-has-children.is-open>.sub-menu{display:block}
.va-header__menu .sub-menu a{font-size:.92em;opacity:.85}
}

/* ==== v7.9.66: cluster bubbles mappa immobili (Luca 13/07) ==== */
.va-cluster{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;border:2.5px solid #fff;background:var(--va-sage,#6B7F5E);color:#fff;font-size:.8rem;font-weight:700;font-family:var(--va-font-body);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 10px rgba(20,22,15,.3);z-index:2;transition:transform .15s}
.va-cluster::before{content:"";position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(107,127,94,.38) 0%,rgba(107,127,94,.16) 45%,rgba(107,127,94,0) 72%);z-index:-1;pointer-events:none}
.va-cluster:hover{transform:translate(-50%,-50%) scale(1.08)}
.va-cluster--md{width:48px;height:48px;font-size:.9rem;background:var(--va-gold,#C4A265)}
.va-cluster--md::before{inset:-20px;background:radial-gradient(circle,rgba(196,162,101,.4) 0%,rgba(196,162,101,.17) 45%,rgba(196,162,101,0) 72%)}
.va-cluster--lg{width:58px;height:58px;font-size:1rem;background:var(--va-ink,#14170F)}
.va-cluster--lg::before{inset:-26px;background:radial-gradient(circle,rgba(20,23,15,.42) 0%,rgba(20,23,15,.18) 45%,rgba(20,23,15,0) 72%)}
[data-theme="dark"] .va-cluster{border-color:#181B16}
.va-2ways{max-width:1080px;margin:0 auto;padding:56px 24px}
.va-2ways__head{text-align:center;margin-bottom:36px}
.va-2ways__title{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:2.1rem;margin:8px 0 0;color:var(--va-dark,#14170F)}
.va-2ways__cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.va-2ways__card{position:relative;background:var(--va-white,#fff);border:1px solid var(--va-border,#E4DFD4);border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}
.va-2ways__card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,22,15,.1)}
.va-2ways__card--gold{border-color:var(--va-gold,#C4A265);background:linear-gradient(180deg,var(--va-stone-light,#FDFBF3),var(--va-white,#fff))}
.va-2ways__badge{position:absolute;top:-12px;right:24px;background:var(--va-gold,#C4A265);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:5px 14px;border-radius:20px;box-shadow:0 3px 8px rgba(196,162,101,.4)}
.va-2ways__icon{width:48px;height:48px;border-radius:50%;background:var(--va-stone-light,#F6F4EF);display:flex;align-items:center;justify-content:center;color:var(--va-sage,#6B7F5E)}
.va-2ways__card--gold .va-2ways__icon{color:var(--va-gold,#C4A265)}
.va-2ways__num{position:absolute;top:28px;right:28px;font-family:'EB Garamond',Georgia,serif;font-size:2.2rem;color:var(--va-border,#E4DFD4);line-height:1}
.va-2ways__card h3{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:1.25rem;margin:4px 0 0;color:var(--va-dark,#14170F)}
.va-2ways__card p{margin:0;font-size:.9rem;line-height:1.6;color:var(--va-warm,#8A8377);flex-grow:1}
.va-2ways__cta{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:6px}
.va-2ways__pitch{margin-top:36px;background:#14170F;border-radius:16px;padding:32px 36px;color:#FDFBF7}
.va-2ways__pitchlead{margin:0 0 20px;font-size:1rem;line-height:1.6;max-width:62ch}
.va-2ways__pitchlead strong{color:var(--va-gold,#C4A265)}
.va-2ways__feats{display:flex;flex-wrap:wrap;gap:20px 32px}
.va-2ways__feat{display:flex;align-items:center;gap:9px;font-size:.85rem;color:#FDFBF7}
.va-2ways__feat .va-icon{color:var(--va-gold,#C4A265);flex-shrink:0}
.va-2ways--compact{padding:32px 20px}
.va-2ways--compact .va-2ways__title{font-size:1.5rem}
.va-2ways--compact .va-2ways__card{padding:22px 20px}
@media(max-width:760px){.va-2ways__cards{grid-template-columns:1fr;gap:40px}.va-2ways__pitch{padding:26px 22px}}
.va-section--sage-pale{background:var(--va-stone-light,#F6F4EF);border-radius:16px}
[data-theme="dark"] .va-section--sage-pale{background:#181B16}

/* ==== v7.9.74: contact layout (Luca 14/07) ==== */
.va-contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.va-contact-layout__left h2{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:1.6rem;margin:0 0 12px}
.va-contact-layout__left p{margin:0 0 24px;color:var(--va-warm,#8A8377);line-height:1.7}
.va-contact-layout__map{border-radius:14px;overflow:hidden;min-height:280px;border:1px solid var(--va-border,#E4DFD4)}
.va-contact-layout__map #va-poi-map,.va-contact-layout__map .va-shortcode--poi-map{min-height:280px!important;border:none;border-radius:0}
@media(max-width:900px){.va-contact-layout{grid-template-columns:1fr;gap:32px}
.va-contact-layout__map{min-height:240px}}

/* ==== v7.9.75: card carousel ==== */
.va-pcard__slides{position:absolute;inset:0}
.va-pcard__slide{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
.va-pcard__slide.is-active{opacity:1}
.va-pcard__slide img{width:100%;height:100%;object-fit:cover;display:block}
.va-pcard__arr{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:32px;height:32px;border-radius:50%;border:0;background:rgba(253,251,247,.92);color:#14170F;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.va-pcard__arr--prev{left:8px}.va-pcard__arr--next{right:8px}
.va-pcard:hover .va-pcard__arr,.has-carousel.touch-on .va-pcard__arr{opacity:1}
.va-pcard__dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:4}
.va-pcard__dot{width:6px;height:6px;border-radius:50%;background:rgba(253,251,247,.55);transition:background .2s,transform .2s}
.va-pcard__dot.is-active{background:#fff;transform:scale(1.3)}
[data-theme="dark"] .va-pcard__arr{background:rgba(20,23,15,.85);color:#FDFBF7}
[data-theme="dark"] .va-pcard__arr:hover{background:#14170F}

/* ==== v7.9.76: two-ways pitch 2 colonne ==== */
.va-2ways__pitchcols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.va-2ways__pitchlabel{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(253,251,247,.55);margin:0 0 8px;display:flex;align-items:center;gap:6px}
.va-2ways__pitchlabel svg{opacity:.7}
.va-2ways__pitchtext{font-size:.92rem;line-height:1.6;color:rgba(253,251,247,.75);margin:0 0 16px}
.va-2ways__pitchtext strong{color:#FDFBF7}
@media(max-width:640px){.va-2ways__pitchcols{grid-template-columns:1fr}}
.va-svhero{position:relative;width:100%;height:520px;overflow:hidden;background:#14170F}
.va-svhero--hero{height:100vh;min-height:560px}
.va-svhero__pano{position:absolute;inset:0;width:100%;height:100%}
.va-svhero__vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(20,23,15,.55) 0%,transparent 35%,transparent 55%,rgba(20,23,15,.7) 100%)}
.va-svhero__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:48px 56px;opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform .9s ease;pointer-events:none}
.va-svhero__overlay.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.va-svhero--hero .va-svhero__overlay{justify-content:center;align-items:center;text-align:center;padding:40px 24px}
.va-svhero .va-kicker--light{color:rgba(253,251,247,.7);letter-spacing:.18em;margin-bottom:10px}
.va-svhero__title{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:clamp(1.6rem,4vw,3rem);color:#FDFBF7;margin:0 0 14px;line-height:1.15;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.va-svhero__sub{color:rgba(253,251,247,.8);font-size:1.05rem;max-width:480px;line-height:1.65;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.va-svhero--hero .va-svhero__sub{text-align:center}
.va-svhero__scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(253,251,247,.55);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;animation:sv-bob 2s ease-in-out infinite}
.va-svhero__scroll span{display:block;width:1px;height:24px;background:rgba(253,251,247,.35)}
@keyframes sv-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
@media(max-width:768px){.va-svhero{height:380px}.va-svhero--hero{height:100svh}.va-svhero__overlay{padding:28px 24px}.va-svhero__title{font-size:1.6rem}}

/* ==== X chiudi InfoWindow: sempre scura perche il container e sempre bianco ==== */
.gm-style .gm-ui-hover-effect > span{background-color:#14170F !important}
[data-theme="dark"] .gm-style .gm-ui-hover-effect > span{background-color:#14170F !important}

/* ==== va-bglines: sezioni con position:relative per contenere le linee ==== */
.va-section:has(.va-bglines),.va-expose:has(.va-bglines),.va-ctaband:has(.va-bglines){position:relative;overflow:hidden}

/* ==== v7.9.90: va-watch solo testo + align center ==== */
.va-watch{align-items:center}

/* ==== v7.9.104: contact layout fix ==== */
.va-contact-layout__right .va-cform__grid{grid-template-columns:1fr!important}
.va-contact-layout{align-items:stretch}
.va-contact-layout__left{display:flex;flex-direction:column}
.va-contact-layout__map{flex:1;min-height:320px}
.va-contact-layout__map #va-poi-map,.va-contact-layout__map .va-shortcode--poi-map{height:100%;min-height:320px!important}

/* ==== fix atelier2 dark mode: testo sempre leggibile ==== */
[data-theme="dark"] .va-atelier2:not(.va-atelier2--dark) .va-atelier2__title{color:#FDFBF7}
[data-theme="dark"] .va-atelier2:not(.va-atelier2--dark) .va-atelier2__text{color:rgba(253,251,247,.75)}
[data-theme="dark"] .va-atelier2:not(.va-atelier2--dark) .va-kicker{color:var(--va-gold-lighter,#E8D9B8)}
.va-gate{position:relative}
.va-gate__blur{filter:blur(5px);pointer-events:none;user-select:none;opacity:.5}
.va-gate__lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:rgba(253,251,247,.9);border-radius:inherit;text-align:center;z-index:4;border:1.5px solid rgba(196,162,101,.3)}
.va-gate__lock-icon{width:28px;height:28px;background:var(--va-gold,#C4A265);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.va-gate__lock-icon svg{stroke:#fff!important;fill:none!important}
.va-gate__lock-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--va-gold,#C4A265);margin:0}
.va-gate__lock-text{font-size:.8rem;color:var(--va-warm,#8A8377);margin:0;line-height:1.4}
.va-gate__lock .va-btn{margin-top:4px;font-size:.78rem;padding:8px 18px}
.va-watch.va-gate--slim:has(.va-gate__lock){min-height:132px}
.va-gate--slim:has(.va-gate__lock) .va-watch__txt,.va-gate--slim:has(.va-gate__lock) .va-watch__sw,.va-gate--slim:has(.va-gate__lock) .va-watch__email,.va-gate--slim:has(.va-gate__lock) .va-watch__msg{visibility:hidden}
.va-gate--slim .va-gate__lock{flex-direction:column;gap:6px;padding:18px 16px;justify-content:center;border-radius:12px}
.va-gate--slim .va-gate__lock-icon{width:24px;height:24px}
.va-gate--slim .va-gate__lock-label{font-size:.64rem}
.va-gate--slim .va-gate__lock-text{font-size:.76rem}
.va-gate--slim .va-gate__lock .va-btn{padding:7px 16px;font-size:.74rem;margin-top:2px}
.va-gate--docs .va-gate__blur{filter:blur(3px);opacity:.4}
.va-gate__badge{position:absolute;top:8px;right:8px;background:var(--va-gold,#C4A265);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:99px;z-index:5;pointer-events:none}
[data-theme=dark] .va-gate__lock{background:rgba(20,23,15,.9)}
.va-dark-ctx .va-gate__lock{background:rgba(20,23,15,.88);border-color:rgba(196,162,101,.4)}
.va-dark-ctx .va-gate__lock-text{color:rgba(253,251,247,.75)}
.va-pcard__save--gate{opacity:.5;filter:grayscale(.6)}
.va-pcard__save--gate:hover{opacity:.9}
.pum-overlay{background:rgba(20,23,15,.72)!important}
.pum-container{border-radius:16px!important;padding:0!important;overflow:hidden!important}
.va-popup{padding:36px 32px}
.va-bg-sage-pale{background:var(--va-sage-pale,#F2F5F0)}
.va-card{background:var(--va-white,#fff);border:1px solid var(--va-border,#E4DFD4);border-radius:var(--va-r,12px);padding:24px;height:100%}
.va-grid{align-items:stretch}

.va-mobnav__head{display:flex;align-items:center;justify-content:space-between;padding:0px 0px 12px;border-bottom:1px solid var(--va-border,#E4DFD4)}
.va-mobnav__brand{font-family:var(--va-font-body);font-size:1rem;font-weight:600;color:var(--va-dark,#14170F)}
.va-mobnav__toggle{display:flex;gap:8px;padding:16px 0px 8px}
.va-mobnav__toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;border:1.5px solid var(--va-border,#E4DFD4);color:var(--va-dark,#14170F);transition:background .15s}
.va-mobnav__toggle-btn--gold{background:var(--va-gold,#C4A265);color:#fff;border-color:var(--va-gold,#C4A265)}
.va-mobnav__lang{font-size:.8rem;color:var(--va-warm);text-decoration:none;text-align:center;padding:11px 8px;display:inline-flex;justify-content:center;align-items:center}
.va-atelier2--dark{background:var(--va-ink,#14170F)!important;color:#fff}
.va-atelier2--dark .va-atelier2__title{color:#fff!important}
.va-atelier2--dark .va-atelier2__text{color:rgba(255,255,255,.8)!important}
.va-atelier2--dark .va-kicker{color:var(--va-gold-lighter,#E8D9B8)!important}
#va-darkslot{display:flex;align-items:center}
@media(max-width:900px){.va-header__right{display:none}}
#va-darkslot .va-themetoggle{color:var(--va-warm,#8A8377);background:rgba(20,23,15,.06);border-radius:50%}
#va-darkslot .va-themetoggle:hover{background:rgba(20,23,15,.12);color:#FDFBF7}
[data-theme=dark] #va-darkslot .va-themetoggle{color:rgba(253,251,247,.7)}
[data-theme=dark] #va-darkslot .va-themetoggle:hover{background:rgba(253,251,247,.12);color:#FDFBF7}
/* pill toggle v7.9.132 */
/* light mode: inattivo grigio, hover SCURO leggibile */
/* dark mode: inattivo grigio chiaro, hover CHIARO leggibile */
/* pill toggle v7.9.134 — centramento perfetto */
/* pill toggle v7.9.138 */
.va-header__pill{position:relative;display:inline-flex;background:rgba(20,23,15,.08);border:1px solid rgba(20,23,15,.10);border-radius:99px;padding:3px}
[data-theme=dark] .va-header__pill{background:rgba(253,251,247,.08);border-color:rgba(253,251,247,.12)}
.va-header__pill-slider{position:absolute;top:3px;bottom:3px;left:3px;width:50%;background:#9CB28B;border-radius:99px;z-index:0;pointer-events:none;transition:none}
.va-header__pill-btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 16px;height:28px;border-radius:99px;font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .15s;color:rgba(20,23,15,.62)}
/* ATTIVO: bianco sul verde */
.va-header__pill-btn.is-on{color:#fff}
/* HOVER non attivo: tono su tono - leggermente piu scuro, NO verde */
.va-header__pill-btn:not(.is-on):hover{color:rgba(20,23,15,.70)}
[data-theme=dark] .va-header__pill-btn{color:rgba(253,251,247,.62)}
[data-theme=dark] .va-header__pill-btn.is-on{color:#fff}
[data-theme=dark] .va-header__pill-btn:not(.is-on):hover{color:rgba(253,251,247,.75)}
.va-m2__leadbtn{animation:va-m2-pulse 2s 1.5s ease infinite}
@keyframes va-m2-pulse{0%,100%{box-shadow:0 0 0 0 rgba(107,127,94,.4)}60%{box-shadow:0 0 0 8px rgba(107,127,94,0)}}


/* ===== spotlight sidebar form v2 — dim siblings, no overlay/z-index ===== */
.va-dimmed{opacity:.4!important;filter:none;pointer-events:none!important;transition:opacity .35s ease}
.va-m2[data-step="3"] #va-m2-next{display:none!important}
.va-m2[data-step="3"] #va-m2-lead{display:inline-flex!important}
.va-side__form.is-spotlight{border:2px solid var(--va-gold,#C4A265);border-radius:16px;animation:va-spotlight-ring 1.4s ease-out}
@keyframes va-spotlight-ring{0%{box-shadow:0 0 0 0 rgba(196,162,101,.55)}30%{box-shadow:0 0 0 8px rgba(196,162,101,.35)}100%{box-shadow:0 0 0 0 rgba(196,162,101,0)}}

/* Hero title: consenti l'andata a capo solo su schermi stretti, per evitare overflow orizzontale (deve stare dopo v5-design.css che ha il nowrap) */
@media (max-width: 600px) {
    .va-hero__title { white-space: normal !important; }
}

/* Pulsante telefono nel pannello mobile: da link nudo a vero CTA */
.va-mobnav__telkicker{display:block;text-align:center;font-size:.68rem;letter-spacing:.3px;color:var(--va-warm-light);margin:0 0 6px;text-transform:none}
.va-mobnav__tel{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:.95rem;font-weight:600;color:#fff;background:var(--va-sage,#6B7F5E);text-decoration:none;padding:13px;border-radius:10px;box-shadow:0 6px 16px rgba(107,127,94,.28);transition:background .15s,transform .15s}
.va-mobnav__tel svg{flex-shrink:0}
.va-mobnav__tel:hover{background:#5A7050;transform:translateY(-1px)}

/* Nascondere badge "Protected by Shield" solo su mobile: disturba la navigazione nel menu */
@media (max-width: 767px) {
    #aegis-shield-footer { display: none !important; }
}

/* Titolo hero: a capo controllato solo su schermi molto piccoli (es. "Il vostro posto / tra le colline") */
.va-hero__title-break { display: inline; }
.va-hero__title-break::before { content: " "; }
@media (max-width: 400px) {
    .va-hero__title-break { display: block; }
    .va-hero__title-break::before { content: ""; }
}

/* Bottoni hero: testo abbreviato solo su schermi molto piccoli */
.va-hero__actions .va-btn__short { display: none; }
@media (max-width: 400px) {
    .va-hero__actions .va-btn__long { display: none; }
    .va-hero__actions .va-btn__short { display: inline; }
}

/* JAGUAR CLEANUP 2026-07-17: display font solo su H1/H2 e titoli grandi */
.va-stats__cell b,.va-quote blockquote,.va-cfg__range output,.va-cfg__done h4,.va-mapsheet__bar h3,.va-compare-col__title,.va-compare-col__price,.va-prose > h3,.va-cmpmodal__title,.va-cmp__title,.va-cmp__price,.va-cmp__empty h3,.va-recent h3,.va-recent__card b,.va-visit h4,.va-expose__fallback p{font-family:var(--va-font-body)!important}
.va-stats__cell b,.va-compare-col__price,.va-cmp__price,.va-recent__card b{font-weight:700!important}
.va-quote blockquote,.va-cfg__done h4,.va-mapsheet__bar h3,.va-compare-col__title,.va-prose > h3,.va-cmpmodal__title,.va-cmp__title,.va-cmp__empty h3,.va-recent h3,.va-visit h4{font-weight:600!important}

/* Form configuratore stessa larghezza del banner intro sopra (640px) */
.va-prose .va-cfg{max-width:640px}

/* Peso grassetti piu leggero e uniforme in tutto il sito */
strong { font-weight: 600; }


/* Domande configuratore: no Jaguar (aggiunta 2026-07-17) */
.va-cfg__q{font-family:var(--va-font-body)!important;font-weight:600!important}


/* Mappa fullscreen: nessun angolo arrotondato in cima */
.va-mapsheet{border-radius:0}

/* Mappa fullscreen: margine laterale 5% solo da desktop; mobile a tutto schermo */
@media (min-width: 1024px) {
    .va-mapsheet { margin: 0 5%; }
}

/* Mappa fullscreen: angoli inferiori a spigolo vivo (la fascia scura resta) */
.va-mapstrip{border-radius:0}
.va-mapsheet__body{border-bottom-left-radius:0;border-bottom-right-radius:0}

/* Badge "Protected by Shield": semitrasparente */
#aegis-sf-a{opacity:.5}

/* Mappa: altezza piena e nessun raggio */
.va-search__map .va-map {
    height: 100% !important;
    border-radius: 0px !important;
}

/* Mappa fullscreen: angoli superiori arrotondati (su base, resta durante l'animazione di chiusura) */
.va-mapsheet {
    border-radius: 20px 20px 0 0;
}

/* Strip mappa: padding sinistro */
.va-mapstrip {
    padding-left: 25px;
}

/* Mappa fullscreen: ombra dietro piu marcata */
.va-mapsheet.is-open {
    box-shadow: 0 8px 24px rgba(42,39,34,.18), 0 24px 60px rgba(42,39,34,.22);
}

/* Bottone Mappa: pulse d'ombra fine per invitare al click */
@keyframes va-mapfab-pulse {
    0%   { box-shadow: var(--va-shadow-lg), 0 0 0 0 rgba(107,127,94,.45); }
    70%  { box-shadow: var(--va-shadow-lg), 0 0 0 14px rgba(107,127,94,0); }
    100% { box-shadow: var(--va-shadow-lg), 0 0 0 0 rgba(107,127,94,0); }
}
.va-mapfab { animation: va-mapfab-pulse 2.6s ease-out 1.2s infinite; }
.va-mapfab:hover { animation: none; box-shadow: var(--va-shadow-lg), 0 0 0 5px rgba(107,127,94,.18); }
@media (prefers-reduced-motion: reduce) {
    .va-mapfab { animation: none; }
}

/* Card strip attiva: feedback piu evidente quando si clicca il pin sulla mappa */
@keyframes va-mapstrip-pop {
    0%   { transform: translateY(-2px) scale(1); }
    100% { transform: translateY(-6px) scale(1.025); }
}
.va-mapstrip__card.is-active {
    border-color: var(--va-sage);
    border-width: 2px;
    transform: translateY(-6px) scale(1.025);
    box-shadow: 0 8px 20px rgba(42,39,34,.20);
    animation: va-mapstrip-pop .28s ease-out;
    z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
    .va-mapstrip__card.is-active { animation: none; }
}


/* Pin selezionato: sempre verde pieno e in evidenza, anche se "visitato" (vince sull'override visitati) */
.va-pin.is-active {
    background: var(--va-sage) !important;
    border-color: var(--va-sage) !important;
    color: #fff !important;
    z-index: 6 !important;
    transform: translate(-50%, -100%) scale(1.12) !important;
    box-shadow: 0 4px 14px rgba(107,127,94,.5) !important;
}
.va-pin.is-active::after {
    border-right-color: var(--va-sage) !important;
    border-bottom-color: var(--va-sage) !important;
    background: var(--va-sage) !important;
}

/* card gallery: slide CTA finale (Contattaci + Salva) */
.va-pcard__slide--cta{display:flex;align-items:flex-end;z-index:2}
.va-pcard__cta-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,23,15,.1) 30%,rgba(14,16,10,.82) 100%)}
.va-pcard__cta-box{position:absolute;left:0;right:0;bottom:0;z-index:4;width:100%;padding:14px 12px 12px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.va-pcard__cta-text{color:#FDFBF7;font-size:.78rem;font-weight:600;margin:0;line-height:1.25}
.va-pcard__cta-actions{display:flex;gap:6px;width:100%}
.va-pcard__cta-actions .va-btn{flex:1;justify-content:center;white-space:nowrap;font-size:.72rem;padding:8px 6px;gap:5px}
.va-pcard__cta-save.is-saved{background:var(--va-sage,#6B7F5E);border-color:var(--va-sage,#6B7F5E);color:#fff}

/* CTA slide card: in vista lista/mappa (card stretta orizzontale) bottoni impilati invece che affiancati */
.va-search__stage[data-view="list"] .va-pcard__cta-actions,
.va-search__stage[data-view="map"] .va-pcard__cta-actions{flex-direction:column}
.va-search__stage[data-view="list"] .va-pcard__cta-text,
.va-search__stage[data-view="map"] .va-pcard__cta-text{font-size:.68rem}

/* save prompt bottom sheet (stile AutoScout) */
.va-saveprompt-backdrop{position:fixed;inset:0;z-index:2100;background:rgba(10,11,8,.6);opacity:0;pointer-events:none;transition:opacity .25s ease}
.va-saveprompt-backdrop.is-open{opacity:1;pointer-events:auto}
.va-saveprompt-sheet{position:fixed;left:0;right:0;bottom:0;z-index:2101;background:var(--va-cream,#FDFBF7);border-radius:20px 20px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;transform:translateY(100%);transition:transform .32s cubic-bezier(.32,.72,0,1);box-shadow:0 -8px 40px rgba(0,0,0,.25)}
.va-saveprompt-sheet.is-open{transform:translateY(0)}
[data-theme="dark"] .va-saveprompt-sheet{background:var(--va-stone,#1E2118)}
.va-saveprompt-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(20,23,15,.06);display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--va-dark,#14170F)}
[data-theme="dark"] .va-saveprompt-close{background:rgba(253,251,247,.08);color:#EFEDE4}
.va-saveprompt-title{font-family:'EB Garamond',Georgia,serif;font-size:1.15rem;font-weight:400;margin:0 30px 8px 0;color:var(--va-dark,#14170F)}
.va-saveprompt-text{font-size:.85rem;color:var(--va-warm,#8A8377);margin:0 0 18px;line-height:1.5}
.va-saveprompt-form{display:flex;flex-direction:column;gap:12px}
.va-saveprompt-check{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--va-warm,#8A8377);cursor:pointer}
.va-saveprompt-msg{font-size:.8rem;min-height:1.2em;margin:0}
.va-saveprompt-msg.is-error{color:#C85A54}
.va-saveprompt-submit{width:100%;justify-content:center;margin-top:2px}
@media(min-width:640px){.va-saveprompt-sheet{left:auto;right:24px;bottom:24px;width:400px;border-radius:16px;transform:translateY(20px) scale(.97);opacity:0;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .25s ease}.va-saveprompt-sheet.is-open{transform:translateY(0) scale(1);opacity:1}}

/* v7.9.229: su schermi stretti la vista Lista torna a card verticale larga (fix mobile in v5-mobile.css) — qui i bottoni CTA tornano affiancati */
@media (max-width: 640px) {
.va-search__stage[data-view="list"] .va-pcard__cta-actions{flex-direction:row}
.va-search__stage[data-view="list"] .va-pcard__cta-text{font-size:.78rem}
}

/* v7.9.229 scroll infinito: bottone/spinner al posto della paginazione */
.va-loadmore{display:block;margin:8px auto 0;padding:13px 32px;border-radius:999px;border:1px solid var(--va-border,#E4DFD4);background:var(--va-white,#fff);color:var(--va-dark,#14170F);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}
.va-loadmore:hover{box-shadow:0 4px 16px rgba(20,23,15,.1)}
[data-theme="dark"] .va-loadmore{background:var(--va-white,#21251E);border-color:var(--va-border,#3A362E);color:#EFEDE4}
.va-loadmore-done{text-align:center;font-size:.82rem;color:var(--va-warm,#8A8377);margin:8px 0 0}
.va-loadmore-spin{width:26px;height:26px;margin:8px auto 0;border-radius:50%;border:3px solid var(--va-border,#E4DFD4);border-top-color:var(--va-sage,#6B7F5E);animation:va-loadmore-spin 0.7s linear infinite}
@keyframes va-loadmore-spin{to{transform:rotate(360deg)}}



/* CTA slide finale carosello: nascondi frecce/pallini navigazione, non servono più */
.va-pcard__media:has(.va-pcard__slide--cta.is-active) .va-pcard__arr,
.va-pcard__media:has(.va-pcard__slide--cta.is-active) .va-pcard__dots{display:none}

/* Exposé documento: su mobile stretto, impila tutto in colonna (mai più sovrapposizioni testo/bottoni) */
@media(max-width:560px){
.va-expodoc{flex-direction:column;align-items:flex-start;gap:10px}
.va-expodoc__body{width:100%}
.va-expodoc__btns{width:100%}
.va-expodoc__btns .va-btn{flex:1;justify-content:center}
}

/* v7.9.246: menu mobile — voci con figli (Territorio ecc) mostrate come genitore+freccia, figli indentati */
.va-mobnav__parent{opacity:0;transform:translateX(18px);transition:opacity .4s ease,transform .45s cubic-bezier(.22,.9,.24,1);transition-delay:var(--d,0s)}
.va-mobnav.is-open .va-mobnav__parent{opacity:1;transform:none}
.va-mobnav__prow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--va-border,#E4DFD4)}
.va-mobnav__prow a{display:block;font-family:var(--va-font-body);font-weight:600;font-size:1.25rem;color:var(--va-dark,#14170F);text-decoration:none;padding:11px 0;border:0;opacity:1!important;transform:none!important}
.va-mobnav__arrow{width:36px;height:36px;flex-shrink:0;border:0;background:transparent;position:relative;cursor:pointer;color:inherit}
.va-mobnav__arrow::before{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.va-mobnav__parent.is-open .va-mobnav__arrow::before{transform:rotate(225deg)}
.va-mobnav__sub{list-style:none;margin:0;padding:0 0 6px;overflow:hidden;max-height:0;transition:max-height .3s ease}
.va-mobnav__parent.is-open .va-mobnav__sub{max-height:400px}
.va-mobnav__sub a{display:block;font-family:var(--va-font-body);font-weight:500;font-size:1rem;color:var(--va-warm,#8A8377);text-decoration:none;padding:9px 0 9px 14px;opacity:1!important;transform:none!important}
.va-mobnav__sub a:hover{color:var(--va-sage,#6B7F5E)}

/* v7.9.264: griglia caratteristiche (Valutazione onesta ecc) - su mobile sempre 1 colonna piena, niente piu 2+1 con buco */
@media (max-width: 700px) {
    .va-features { grid-template-columns: 1fr !important; }
}


/* v7.9.270: fix dashboard — classe va-section rimossa dal template,
   padding gestito solo da .va-dash (16px 0 60px).
   Mobile: gap 16px tra tabs e contenuto, padding sidebar compatto */
@media (max-width: 860px) {
    .va-dash { gap: 16px !important; }
    .va-dash__side { padding: 10px 14px; }
    .va-dash__main { padding-top: 4px; }
}
/* Auth screen: padding compatto, no va-section */
.va-auth { padding-top: 16px; padding-bottom: 32px; }

/* about: titoli feature-grid e cta-band no Jaguar (aggiunta 2026-07-17) */
.va-feature__title { font-family: var(--va-font-body) !important; font-weight: 600 !important; }
/* .va-ctaband__title: Jaguar rimosso su richiesta 2026-07-24, resta Georgia come originale */


/* Titoli h2 nel corpo testo: stile "kicker" (identico a .va-kicker: stone, non gold) */
.va-prose > h2 {
    font-family: var(--va-font-body) !important;
    font-weight: 400 !important;
    font-size: .6875rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--va-stone, #9E8E7E) !important;
    margin: 2.4em 0 1em !important;
}




/* Titolo zone-hero: resta su una riga da tablet in su, il sottotitolo puo comunque andare a capo */
@media (min-width: 700px) { .va-zhero__title { white-space: nowrap; } }

/* Paragrafi zonepage: piu respiro verticale, colonna leggibile ripristinata */
.va-zonepage > p { margin-bottom: 1.3em; }

/* Titoli sezione zonepage (Un nome avvolto..., Tre Monferrati..., ecc.): Georgia serif invece di Jaguar */
.va-zonepage h2 { font-family: 'EB Garamond', Georgia, serif !important; font-weight: 400 !important; }

/* Ripristino larghezza piena (rimossa per errore la regola che la teneva) */
.va-zonepage .va-lead--xl, .va-zonepage > p, .va-prose .va-zonepage > p, .va-prose .va-zonepage h2, .va-zonepage h2 { max-width: none !important; }

/* Titolo cta-band: piu largo, non va a capo (es. "Vieni a vedere il Monferrato dal vivo") */
.va-ctaband__title { max-width: 45ch !important; }

/* Banner: piu respiro a destra */
.va-banner { padding-right: 32px; }

/* Campo indirizzo "La casa che stai valutando": altezza allineata al bottone */
.va-zonemap__myhouse-input { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.va-zonemap__myhouse-txt {
    flex: 1;
    min-width: 220px;
    font-size: .875rem;
    padding: 8px 12px;
    border: 1px solid var(--va-border);
    border-radius: 8px;
    font-family: inherit;
    color: var(--va-dark);
    background: #fff;
}
.va-zonemap__myhouse-txt:focus { outline: none; border-color: var(--va-sage); }

/* Il box .va-lead (paragrafo introduttivo boxed) resta stretto/centrato: escluso dal "full width" dei paragrafi normali */
.va-zonepage > p.va-lead, .va-prose .va-zonepage > p.va-lead { max-width: 660px !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }




/* ====== Maphero reveal v9 ====== */
.va-maphero{position:relative;border-radius:0;cursor:pointer;height:100vh;height:100dvh;width:100%;overflow:hidden;background:#14170F}
.va-maphero__map{position:absolute;inset:0;opacity:1;pointer-events:none;border-radius:0}
.va-maphero__map.is-active{pointer-events:all}
.va-maphero__map .va-map{height:100%!important;min-height:100vh!important;min-height:100dvh!important;border-radius:0!important}
.va-maphero__frost{position:absolute;inset:0;z-index:5;pointer-events:none;background:rgba(20,23,15,.55);backdrop-filter:blur(8px) saturate(.7);-webkit-backdrop-filter:blur(8px) saturate(.7)}

/* Sonar element: positioned absolutely, moved via JS left/top */
.va-maphero__sonar{position:absolute;z-index:6;pointer-events:none;width:0;height:0}
.va-maphero__sonar.is-hidden{display:none}

/* Sonar rings: pulse outward */
.va-maphero__sonar-ring{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:1.5px solid rgba(107,127,94,.35);animation:va-sonar-ping 3s ease-out infinite;opacity:0}
.va-maphero__sonar-ring--2{animation-delay:1.5s}
@keyframes va-sonar-ping{0%{transform:scale(.3);opacity:.5}50%{opacity:.2}100%{transform:scale(2.2);opacity:0}}

/* Sweep arm */
.va-maphero__sonar-sweep{position:absolute;left:0;top:-130px;width:1.5px;height:130px;transform-origin:0 100%;margin:0;animation:va-sonar-sweep 2.5s linear infinite;background:linear-gradient(to top,rgba(107,127,94,.5),rgba(107,127,94,0))}
@keyframes va-sonar-sweep{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* Center dot */
.va-maphero__sonar-dot{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:rgba(107,127,94,.6)}

/* Hidden canvas not needed in v9 */
.va-maphero__cmask{display:none}

.va-maphero__tutorial{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s}
.va-maphero__tutorial.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.va-maphero__tutorial-inner{text-align:center;max-width:520px;padding:40px 24px;margin:15px;color:#FDFBF7;background:rgba(20,23,15,.35);border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.va-maphero__tutorial-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#A8BF96;margin:0 0 10px}
.va-maphero__tutorial-title{font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:400;line-height:1.3;margin:0 0 32px;color:#FDFBF7}
.va-maphero__tutorial-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;text-align:left}
.va-maphero__tstep{display:flex;align-items:center;gap:14px;background:rgba(253,251,247,.07);border-radius:10px;padding:12px 16px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.va-maphero__tstep.is-visible{opacity:1;transform:translateY(0)}
.va-maphero__tstep-icon{flex-shrink:0;color:rgba(253,251,247,.6);display:flex;font-size:1.3rem}
.va-maphero__tstep span:last-child{font-size:.9rem;color:rgba(253,251,247,.85);line-height:1.5}
.va-maphero__startbtn{margin:0 auto;display:inline-flex;align-items:center;gap:8px;padding:13px 30px}
.va-zev__tabs::-webkit-scrollbar{display:none}

.va-scrollprog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--va-sage,#6B7F5E);z-index:9999;pointer-events:none;transition:none;will-change:width}
.va-pcard__slide{cursor:pointer}
@media(max-width:767px){.va-maphero__sonar{display:none}.va-maphero__tutorial-inner{max-width:100%;padding:30px 18px;margin:10px}.va-maphero__tutorial-title{font-size:1.4rem;margin:0 0 22px}.va-maphero__tutorial-steps{margin-bottom:24px;gap:10px}.va-maphero__tstep{padding:10px 14px}.va-maphero__startbtn{padding:12px 24px}}
.va-container--flush{padding-left:0;padding-right:0}

/* v7.9.286: news list view mobile — compact horizontal card */
@media (max-width: 640px) {
    .va-news__grid[data-view="list"] .va-ncard { display: grid; grid-template-columns: 110px 1fr; gap: 0; }
    .va-news__grid[data-view="list"] .va-ncard__media { aspect-ratio: 1; height: 100%; min-height: 0; }
    .va-news__grid[data-view="list"] .va-ncard__body { padding: 10px 12px; }
    .va-news__grid[data-view="list"] .va-ncard__title { font-size: .95rem; margin: 0 0 4px; }
    .va-news__grid[data-view="list"] .va-ncard__excerpt { display: none; }
    .va-news__grid[data-view="list"] .va-ncard__cat { top: 6px; left: 6px; }
}

/* v7.9.286: sort dropdown a destra su mobile */
@media (max-width: 768px) {
    .va-search__left .va-pop--sort { margin-left: auto; }
}

/* v7.12 — zonemap myhouse layout + top bar mobile */
.va-zonemap__myhouse { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 12px 0 6px; flex-direction: column; }
.va-zonemap__myhouse-txt { height: 42px; box-sizing: border-box; }

/* Top bar visible on mobile — opposed layout, phone hidden, email kept */
@media (max-width: 768px) {
  .va-header__top {
    display: block !important;
    font-size: .68rem;
  }
  .va-header__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    gap: 6px;
  }
  .va-header__contact[href^="tel:"] { display: none !important; }
  .va-header__contacts { margin-left: auto; }
  .va-header__login { margin-left: 6px; white-space: nowrap; }
}

/* v7.12.2 — mapcard above strip on mobile + compact strip */
@media (max-width: 768px) {
  #va-map-overview .va-mapcard { bottom: 80px; left: 8px; width: min(280px, calc(100% - 16px)); grid-template-columns: 90px 1fr; }
  .va-mapstrip { padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); gap: 6px; }
  .va-mapstrip__card { padding: 4px 8px 4px 4px; border-radius: 8px; }
  .va-mapstrip__card img { width: 38px; height: 38px; border-radius: 6px; }
  .va-mapstrip__meta strong { font-size: .75rem; }
  .va-mapstrip__meta em { font-size: .65rem; }
}

/* v7.13 — replaced by --va-cta-top custom property in va-g */



/* v7.15 — lightbox aside: hide form panel on mobile, full-width image */
@media (max-width: 767px) {
  .va-lbx--aside img { max-width: 94vw !important; max-height: 88dvh; margin: auto; }
  .va-lbx__aside { display: none !important; }
  .va-lbx--aside.is-open { justify-content: center; padding-right: 0 !important; }
  .va-lbx__prev { left: 8px; } .va-lbx__next { right: 8px; }
  .va-lbx__btn { width: 38px; height: 38px; }
}

/* v7.14 — single immobile mobile */
@media(max-width:767px){
.va-gallery{padding:0!important}
.va-gallery__main{border-radius:0!important}
#va-gallery-main-img,.va-gallery__main-img{object-fit:cover;border-radius:0!important}
.va-gallery__thumbs{padding:8px 14px 4px;gap:6px}
.va-herocard{padding:14px!important;gap:10px!important;border-radius:0!important;margin:0!important;border-left:0;border-right:0}
.va-detail-layout{padding:16px 0 32px!important;gap:20px!important}
.va-detail-sidebar>*{position:relative!important;top:0!important}
.va-hscroll .va-grid--3,.va-shortcode--featured .va-grid--3{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px}
.va-hscroll .va-grid--3>*,.va-shortcode--featured .va-grid--3>*{flex:0 0 280px;scroll-snap-align:start}
}

/* v7.16 — currency/language modal options */
.va-curmodal__opt{text-align:center;padding:11px 8px;display:inline-flex;justify-content:center;align-items:center}
span.va-curmodal__opt img{width:20px;height:20px}



[data-theme="dark"] .va-ctabar__btn {
  color: var(--va-cream) !important;
  border-color: rgba(255,255,255,.15) !important;
}

/* v7.18 — ctabar dark mode */
[data-theme="dark"] .va-ctabar{background:rgba(20,22,15,.92)!important;color:#FDFBF7!important}
[data-theme="dark"] .va-ctabar__btn{color:#FDFBF7!important;border-color:rgba(255,255,255,.15)!important}

/* v7.19 — theme toggle mobile only */
.va-themetoggle--mobile{display:none}
@media(max-width:767px){.va-themetoggle--mobile{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--va-dark);cursor:pointer;padding:4px;margin-right:4px}}

.va-mobnav__toggle-btn--gold,.va-mobnav__toggle-btn--gold:hover,.va-mobnav__toggle-btn--gold:active{color:#fff!important}



/* v7.20 */
@media(max-width:767px){
.va-header__top-inner{display:flex!important;align-items:center!important;gap:8px!important;padding:5px 0!important}
.va-header__currency,.va-header__lang-btn,.va-header__lang-sep,.va-header__contact,.va-header__login{font-size:.7rem!important;line-height:1.2!important}
.va-header__currency{padding:2px 6px!important;display:inline-flex!important;align-items:center!important}
.va-header__lang{display:inline-flex!important;align-items:center!important;gap:3px!important}
.va-header__contact,.va-header__login{display:inline-flex!important;align-items:center!important;gap:3px!important}
.va-header__lang-sep{opacity:.35}
.va-header__lang-btn.is-active{font-weight:700}
}

/* v7.21 — prevent horizontal scroll on single immobile */
body.single-immobile{overflow-x:clip}
.va-hscroll{overflow-x:hidden;overflow-y:visible}
.va-hscroll .va-grid--3,.va-shortcode--featured .va-grid--3{max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.va-hscroll .va-grid--3::-webkit-scrollbar,.va-shortcode--featured .va-grid--3::-webkit-scrollbar{display:none}

/* v7.22 lbx mobile reset */
@media(max-width:767px){
.va-lbx--aside .va-lbx__prev{left:10px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important}
.va-lbx--aside .va-lbx__next{right:10px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important}
.va-lbx--aside .va-lbx__close{top:14px!important;right:14px!important;left:auto!important;transform:none!important}
.va-lbx--aside .va-lbx__count{left:50%!important;bottom:16px!important;transform:translateX(-50%)!important}
}
@media(max-width:767px){
.va-lbx__btn{width:40px!important;height:40px!important;background:rgba(253,251,247,.16)!important;color:#FDFBF7!important;border-radius:50%!important;position:absolute!important}
}

/* v7.23 */
button#va-currency-btn{font-size:.68rem!important}
@media(max-width:767px){
.va-hscroll .va-grid--3,.va-shortcode--featured .va-grid--3{scroll-snap-type:x mandatory;scrollbar-width:none!important}
.va-hscroll .va-grid--3>*,.va-shortcode--featured .va-grid--3>*{scroll-snap-align:center!important}
.va-hscroll .va-grid--3::-webkit-scrollbar,.va-shortcode--featured .va-grid--3::-webkit-scrollbar{display:none!important}
}

/* v7.25 lbx: aside hidden sotto 1024 — reset offsets ovunque */
@media(max-width:1023px){
.va-lbx__aside{display:none!important}
.va-lbx--aside img{max-width:94vw!important;max-height:88dvh!important}
.va-lbx--aside.is-open{padding-right:0!important;justify-content:center!important}
.va-lbx--aside .va-lbx__next{right:14px!important}
.va-lbx--aside .va-lbx__close{right:14px!important;top:14px!important}
.va-lbx--aside .va-lbx__count{left:50%!important;transform:translateX(-50%)!important}
.va-lbx--aside .va-lbx__prev{left:14px!important}
}
.va-detail-gallery{padding:0}


/* v7.27 currency+lang identici su tutti i responsive */
.va-header__currency,#va-currency-btn,.va-header__lang,.va-header__lang-btn,.va-header__lang-sep{font-size:.7rem!important;line-height:1.2!important}
.va-header__currency{padding:2px 6px!important;display:inline-flex!important;align-items:center!important;gap:2px!important}
.va-header__lang{display:inline-flex!important;align-items:center!important;gap:3px!important}
.va-header__lang-btn.is-active{font-weight:700!important}

/* v7.28 SOLD */
.va-pcard.is-sold .va-pcard__media{opacity:.55;filter:grayscale(.4)}
.va-pcard.is-sold .va-pcard__body{opacity:.7}
.va-pcard__sold{position:absolute;top:14px;left:-34px;z-index:6;background:#8A2F2F;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 44px;transform:rotate(-35deg);box-shadow:0 2px 8px rgba(0,0,0,.25);pointer-events:none}
.va-badge--sold{background:#8A2F2F!important;color:#fff!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
body.va-sold .va-detail-gallery{opacity:.6;filter:grayscale(.35)}
body.va-sold .va-ctabar{opacity:.5;pointer-events:none}
body.va-sold .va-engage{display:none!important}

/* v7.6: checkbox "Venduto" nel wizard front-end (dashboard editor/staff) */
.va-field-l--check{flex-direction:row;align-items:center;gap:10px;background:#FBF3E3;border:1px solid #E9D9AE;border-radius:9px;padding:12px 14px;font-weight:600;color:var(--va-dark,#1c1917)}
.va-field-l--check input[type="checkbox"]{width:18px;height:18px;accent-color:#C4A265;margin:0;flex-shrink:0}

/* v7.7: badge classe energetica spostato sulla riga prezzo, allineato a destra */
.va-pcard__energy{margin-left:auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 9px 0 7px;color:#fff;font-size:.7rem;font-weight:800;line-height:1;letter-spacing:.02em;clip-path:polygon(0 0,76% 0,100% 50%,76% 100%,0 100%);box-shadow:0 1px 3px rgba(0,0,0,.2);text-shadow:0 1px 1px rgba(0,0,0,.18)}

/* v7.10: searchbar homepage — popover single-select (stessi 4 campi originali) */
.va-searchbar__inner--pop{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.va-searchbar__pop{flex:1;min-width:130px}
.va-searchbar__pop .va-pop__toggle{width:100%;justify-content:space-between;min-height:52px}
.va-searchbar__pop .va-pop__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.va-pop__opt{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:8px;font-size:.9rem;color:var(--va-dark);cursor:pointer;font-family:inherit}
.va-pop__opt:hover{background:var(--va-sage-pale,#F2F5F0)}
.va-pop__opt.is-active{background:var(--va-sage-pale,#F2F5F0);color:var(--va-sage);font-weight:600}
@media (max-width:900px){.va-searchbar__inner--pop{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.va-searchbar__pop{min-width:0;width:100%}.va-searchbar__btn{grid-column:1/-1;width:100%}}

/* v7.11: zone-map — intro (titolo + form) sopra la mappa, pills sotto */
.va-zonemap__intro{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:14px}
.va-zonemap__intro-text{flex:1;min-width:220px}
.va-zonemap__intro-text h3{margin:0 0 6px;font-size:1.15rem}
.va-zonemap__intro-text p{margin:0;font-size:.88rem;color:var(--va-warm-light,#A39A8C);line-height:1.5}
.va-zonemapwrap .va-zonemap__myhouse{flex:1;min-width:340px;padding:0;flex-wrap:wrap;align-items:flex-end;text-align:right}
.va-zonemapwrap .va-zonemap__myhouse-btn{height:42px;box-sizing:border-box}
.va-zonemapwrap .va-zonemap__chips{margin-top:14px}
@media (max-width:780px){.va-zonemap__intro{flex-direction:column;gap:14px}}

/* v7.11: titolo sopra i tab stagioni */
.va-zev__title{margin:0 0 14px;font-size:1.3rem}

.va-zonemapwrap .va-zonemap__myhouse-input{min-width:300px}
.va-zonemapwrap .va-zonemap__myhouse-txt{min-width:270px}

/* v7.15: vista lista — immagine sempre quadrata 1:1 SOLO da desktop; su mobile resta la larghezza fissa 110px di v5-mobile.css */
@media (min-width:769px){
.va-search__stage[data-view="list"] .va-pcard{grid-template-columns:auto 1fr}
.va-search__stage[data-view="list"] .va-pcard__media{aspect-ratio:1;height:100%;width:auto;align-self:stretch;min-height:0}
}
[data-theme="dark"] .va-mapstrip{background:linear-gradient(to top, rgba(24,27,22,.65), rgba(24,27,22,0))}

/* v7.17: overlay tonalita del sito che resta finche la mappa e aperta, sparisce alla chiusura */
.va-mapsheet__scrim{position:fixed;inset:0;z-index:1179;background:var(--va-cream,#FDFBF7);opacity:0;pointer-events:none;transition:opacity .45s ease}
.va-mapsheet__scrim.is-open{opacity:.5}
[data-theme="dark"] .va-mapsheet__scrim{background:#181B16}

/* v7.18: card griglia — prezzo/energia/specifiche/pubblicato/confronta sempre in fondo, indipendentemente dalle righe del titolo */
.va-search__stage:not([data-view="list"]):not([data-view="map"]) .va-pcard,
.va-grid .va-pcard{display:flex;flex-direction:column;height:100%}
.va-search__stage:not([data-view="list"]):not([data-view="map"]) .va-pcard__body,
.va-grid .va-pcard__body{flex:1;display:flex;flex-direction:column}
.va-search__stage:not([data-view="list"]):not([data-view="map"]) .va-pcard__priceline,
.va-grid .va-pcard__priceline{margin-top:auto}

/* v7.20: box "Richiedi informazioni" tutto rosso quando l'immobile e venduto */
body.va-sold .va-side__form{background:#FBEAEA;border-color:#8A2F2F}
body.va-sold .va-side__form > .va-kicker{color:#8A2F2F}
body.va-sold .va-side__form .va-btn--primary{background:#8A2F2F!important;border-color:#8A2F2F!important}
body.va-sold .va-side__form .va-btn--primary:hover{background:#6E2525!important}

/* Recensioni: CTA per lasciare una recensione Google (nuova scheda) */
.va-reviews-cta{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin:36px 0 8px;padding:28px;background:var(--va-sage-pale,#F2F5F0);border-radius:16px}
.va-reviews-cta__text{margin:0;font-size:1.05rem;color:var(--va-dark)}
.va-reviews-cta .va-btn{display:inline-flex;align-items:center;gap:8px}

/* v7.21: fix sticky sidebar scheda immobile - il contenitore non si stretchava alla altezza della colonna sinistra */
.va-detail-sidebar{height:100%!important;align-self:stretch!important}

/* v7.21: bottoni Salva/Condividi/Confronta disabilitati e rossi quando l'immobile e venduto */
body.va-sold .va-shortcode--share-save .va-btn{pointer-events:none;opacity:.7;background:#FBEAEA!important;border-color:#8A2F2F!important;color:#8A2F2F!important}

/* v7.22: immobili simili (hscroll) - padding sufficiente a contenere l'ombra hover senza tagli */
.va-hscroll .va-grid--3,.va-hscroll .va-shortcode--featured{padding:20px 2px 20px!important}

/* v7.23: box "immobile venduto" con mini-foto simili sopra il form */
.va-soldnotice__title,.va-soldnotice__text,.va-soldnotice__avatars,.va-soldnotice__count{text-align:center}
.va-soldnotice__sep{border-top:1px solid rgba(138,47,47,.2);margin:16px 0}
.va-soldnotice__title{font-family:var(--va-font-body);font-weight:600;font-size:1.05rem;margin:0 0 8px;color:#8A2F2F}
.va-soldnotice__text{font-size:.88rem;line-height:1.5;color:#7A5A5A;margin:0 0 14px}
.va-soldnotice__avatars{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.va-soldnotice__avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;display:block;box-shadow:0 0 0 1px rgba(138,47,47,.2);flex:0 0 auto}
.va-soldnotice__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.va-soldnotice__count{font-size:.72rem;color:#A37A7A;margin:8px 0 0;text-transform:uppercase;letter-spacing:1px}
[data-theme="dark"] .va-soldnotice{background:#2A1616;border-color:#B85555}
[data-theme="dark"] .va-soldnotice__title{color:#E8A0A0}
[data-theme="dark"] .va-soldnotice__text{color:#C99}

/* v7.24: fix dark mode form/prenota visita/box venduto - contrasto insufficiente o colori chiari fuori posto */
[data-theme="dark"] .va-visit__slot{background:var(--va-cream-light,#2A2F26);border-color:var(--va-border)}
[data-theme="dark"] .va-visit__slot.is-on{border-color:var(--va-sage);background:rgba(107,127,94,.25)}
[data-theme="dark"] .va-visit__slot span{color:var(--va-warm-light,#9A9184)}
[data-theme="dark"] body.va-sold .va-side__form{background:#2A1616!important;border-color:#B85555!important}
[data-theme="dark"] body.va-sold .va-side__form > .va-kicker{color:#E8A0A0!important}
[data-theme="dark"] body.va-sold .va-side__form input,
[data-theme="dark"] body.va-sold .va-side__form textarea{background:#1E1414;border-color:#6E3E3E;color:#EFEDE4}
[data-theme="dark"] body.va-sold .va-side__form .va-btn--primary{background:#8A2F2F!important;border-color:#8A2F2F!important;color:#fff!important}

/* v7.6: recensioni Google - lista che scorre dal basso + CTA fissa (niente overlay) */
@keyframes va-revscroll-up { 0% { transform: translateY(0); } 100% { transform: translateY(-50%); } }
.va-revscroll { border: 1.5px solid var(--va-border); border-radius: var(--va-r, 12px); overflow: hidden; background: var(--va-white, #fff); }
.va-revscroll__mask { height: 300px; overflow: hidden; position: relative; }
.va-revscroll__mask::before, .va-revscroll__mask::after { content: ""; position: absolute; left: 0; right: 0; height: 40px; z-index: 2; pointer-events: none; }
.va-revscroll__mask::before { top: 0; background: linear-gradient(var(--va-white, #fff), rgba(255,255,255,0)); }
.va-revscroll__mask::after { bottom: 0; background: linear-gradient(rgba(255,255,255,0), var(--va-white, #fff)); }
.va-revscroll__track { animation: va-revscroll-up 22s linear infinite; }
.va-revscroll__mask:hover .va-revscroll__track { animation-play-state: paused; }
.va-revscroll__item { padding: 20px 24px; border-bottom: 1px solid var(--va-border); }
.va-revscroll__stars { color: #E8B93F; font-size: .85rem; letter-spacing: 1px; }
.va-revscroll__text { font-family: var(--va-font-body); font-size: 1rem; color: var(--va-dark); margin: 6px 0 8px; line-height: 1.45; }
.va-revscroll__author { font-size: .75rem; color: var(--va-warm-light); }
.va-revscroll__cta { display: flex; align-items: center; justify-content: center; gap: 6px; background: var(--va-sage); color: #fff; font-weight: 600; font-size: .9rem; padding: 16px 20px; text-decoration: none; }
.va-revscroll__cta:hover { background: #5A7050; color: #fff; }
.va-revscroll__cta-arrow { font-size: 1rem; line-height: 1; }
@media (prefers-reduced-motion: reduce) { .va-revscroll__track { animation: none; } }

/* v7.25: nascondi Salva/Condividi/Confronta quando l'immobile e venduto */
body.va-sold .va-shortcode--share-save{display:none!important}
[data-theme="dark"] .va-soldnotice__sep{border-top-color:rgba(184,85,85,.3)}

/* v7.26: nascondi del tutto Avvisami/Prenota visita se venduto (non solo sfumato), e va-cform trasparente dentro il box rosso venduto in dark mode */
[data-theme="dark"] body.va-sold .va-side__form .va-cform{background:transparent!important;border-color:transparent!important}

/* v7.27: nascondi "Vedi tutte le foto" quando venduto */
body.va-sold .va-gallery__all{display:none!important}

/* v7.28: focus rosso coerente (invece del verde sage) per tutti i campi dentro il form venduto */
body.va-sold .va-side__form input:focus,
body.va-sold .va-side__form textarea:focus,
body.va-sold .va-side__form select:focus,
body.va-sold .va-side__form .va-phoneprefix:focus{outline:none!important;border-color:#8A2F2F!important;box-shadow:0 0 0 3px rgba(138,47,47,.14)!important}

/* v7.29: dropdown prefisso telefonico personalizzato, sostituisce la tendina nativa del browser */
.va-phoneprefix--native-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.va-phonewrap{position:relative}
.va-phoneprefix__btn{width:76px;min-width:76px;align-self:stretch;min-height:46px;padding:0 8px;border:1px solid var(--va-border);border-radius:8px 0 0 8px;background:var(--va-sage-pale,#F2F5F0);font-size:.8rem;font-family:var(--va-font-body);color:var(--va-dark);cursor:pointer;text-align:left;white-space:nowrap;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}
.va-phoneprefix__btn:focus{outline:none;border-color:var(--va-sage);box-shadow:0 0 0 3px rgba(107,127,94,.12)}
.va-phoneprefix__list{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:120px;background:#fff;border:1px solid var(--va-border);border-radius:10px;box-shadow:0 8px 24px rgba(42,39,34,.14);padding:4px;max-height:220px;overflow-y:auto}
.va-phoneprefix__list.is-open{display:block}
.va-phoneprefix__opt{display:block;width:100%;text-align:left;padding:7px 10px;border:0;background:transparent;border-radius:6px;font-size:.85rem;font-family:var(--va-font-body);color:var(--va-dark);cursor:pointer}
.va-phoneprefix__opt:hover{background:var(--va-sage-pale,#F2F5F0)}
.va-phoneprefix__opt.is-active{background:var(--va-sage-pale,#F2F5F0);font-weight:600}
[data-theme="dark"] .va-phoneprefix__btn{background:var(--va-stone-light);color:var(--va-dark);border-color:var(--va-border)}
[data-theme="dark"] .va-phoneprefix__list{background:var(--va-white);border-color:var(--va-border)}
[data-theme="dark"] .va-phoneprefix__opt{color:var(--va-dark)}
[data-theme="dark"] .va-phoneprefix__opt:hover,[data-theme="dark"] .va-phoneprefix__opt.is-active{background:var(--va-stone-light)}
body.va-sold .va-side__form .va-phoneprefix__btn{background:#F5DEDE;border-color:#D9A0A0;color:#8A2F2F}
body.va-sold .va-side__form .va-phoneprefix__btn:focus{border-color:#8A2F2F;box-shadow:0 0 0 3px rgba(138,47,47,.14)}
body.va-sold .va-side__form .va-phoneprefix__opt.is-active{background:#F5DEDE;color:#8A2F2F}
[data-theme="dark"] body.va-sold .va-side__form .va-phoneprefix__btn{background:#3A1E1E;border-color:#6E3E3E;color:#EFEDE4}

/* v7.29: scrollbar rossa (invece di verde sage) quando l'immobile e venduto, incluso il menu a tendina del prefisso telefonico */
html:has(body.va-sold){scrollbar-color:#8A2F2F var(--va-cream)!important}
body.va-sold::-webkit-scrollbar-thumb{background:#8A2F2F!important}
body.va-sold .va-side__form .va-phoneprefix{scrollbar-color:#8A2F2F var(--va-cream)}

/* v7.30: checkbox privacy e link informativa in rosso quando venduto */
body.va-sold .va-side__form .va-consent input[type="checkbox"]{accent-color:#8A2F2F!important}
body.va-sold .va-side__form .va-consent a{color:#8A2F2F!important}

/* v7.30: cursore "bloccato" sulle immagini galleria quando l'immobile e venduto (niente lightbox, niente avanzamento) */
body.va-sold .va-gallery__main img,
body.va-sold .va-gallery__main-img,
body.va-sold .va-gallery__thumb-btn,
body.va-sold .va-gallery__thumb-img,
body.va-sold #va-gallery-prev,
body.va-sold #va-gallery-next{cursor:not-allowed!important}

/* v7.31: stile rosso per il popup modifica quando l'immobile e venduto */
.va-wiz__panel--sold{border:2px solid #8A2F2F}
.va-wiz__panel--sold .va-wiz__head{background:#FBEAEA}
.va-wiz__panel--sold .va-wiz__title{color:#8A2F2F}
.va-wiz__panel--sold input:focus,.va-wiz__panel--sold select:focus,.va-wiz__panel--sold textarea:focus{border-color:#8A2F2F!important;box-shadow:0 0 0 3px rgba(138,47,47,.12)!important}
[data-theme="dark"] .va-wiz__panel--sold .va-wiz__head{background:#2A1616}
[data-theme="dark"] .va-wiz__panel--sold .va-wiz__title{color:#E8A0A0}

/* v7.31: stile tema per le select (erano native del browser, mai stilizzate) */
.va-field-l select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--va-border);border-radius:9px;padding:12px 38px 12px 14px;font-size:1rem;font-family:inherit;color:var(--va-dark);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8377' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.va-field-l select:focus{outline:none;border-color:var(--va-sage);box-shadow:0 0 0 3px rgba(107,127,94,.12)}
[data-theme="dark"] .va-field-l select{background-color:var(--va-white);color:var(--va-dark);border-color:var(--va-border)}

/* v7.7: [va_zone_cards] - griglia 3 aree territorio (Monferrato/Langhe/Roero) */
.va-zcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 28px 0; }
.va-zcard { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; text-decoration: none; }
.va-zcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.va-zcard:hover .va-zcard__img { transform: scale(1.06); }
.va-zcard__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,11,8,.75), rgba(10,11,8,.05) 55%); }
.va-zcard__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px; display: flex; flex-direction: column; gap: 4px; }
.va-zcard__title { font-family: var(--va-font-display); font-weight: 400; font-size: 1.375rem; color: #fff; }
.va-zcard__text { font-size: .8125rem; color: rgba(255,255,255,.85); line-height: 1.4; }
@media (max-width: 767px) {
	.va-zcards { grid-template-columns: 1fr; }
}
/* v7.30: scrollbar piu sottile per il menu a tendina prefisso telefonico (ovunque) */
.va-phoneprefix__list{scrollbar-width:thin}
.va-phoneprefix__list::-webkit-scrollbar{width:6px}
.va-phoneprefix__list::-webkit-scrollbar-thumb{background:var(--va-border);border-radius:99px}
.va-phoneprefix__list::-webkit-scrollbar-track{background:transparent}
body.va-sold .va-phoneprefix__list::-webkit-scrollbar-thumb{background:#D9A0A0}

/* v7.30: box prefisso rosso anche nel form [va_contact_form] (.va-cform), non solo .va-side__form, quando l'immobile e venduto */
body.va-sold .va-cform .va-phoneprefix__btn{background:#F5DEDE;border-color:#D9A0A0;color:#8A2F2F}
body.va-sold .va-cform .va-phoneprefix__btn:focus{border-color:#8A2F2F;box-shadow:0 0 0 3px rgba(138,47,47,.14)}
body.va-sold .va-cform .va-phoneprefix__opt.is-active{background:#F5DEDE;color:#8A2F2F}
body.va-sold .va-cform .va-phoneprefix__list{scrollbar-color:#8A2F2F var(--va-cream)}
[data-theme="dark"] body.va-sold .va-cform .va-phoneprefix__btn{background:#3A1E1E;border-color:#6E3E3E;color:#EFEDE4}

/* v7.32: dashboard "Accesso rapido" leggibile in dark (era background:#fff fisso) */
[data-theme="dark"] .va-dash__qlink{background:var(--va-white);border-color:var(--va-border);color:var(--va-dark)}
[data-theme="dark"] .va-dash__qlink:hover{border-color:var(--va-sage);box-shadow:0 4px 14px rgba(0,0,0,.35)}

/* v7.32: placeholder uniformi al 50% di opacita su TUTTI i campi del sito */
input::placeholder,textarea::placeholder,select::placeholder{opacity:.5}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{opacity:.5}
input::-moz-placeholder,textarea::-moz-placeholder{opacity:.5}
input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:.5}

/* v7.32: card immobile tutte della stessa altezza, titoli/testi troncati con ... */
.va-pcard__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:2.6em}
.va-pcard__excerpt{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.va-pcard__loc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v7.33: menu mobile - "In vendita" e l'azione primaria (pieno sage), "Valuta" secondaria (outline discreto) */
.va-mobnav__toggle-btn:not(.va-mobnav__toggle-btn--gold){background:var(--va-sage,#6B7F5E);color:#fff!important;border-color:var(--va-sage,#6B7F5E)}
.va-mobnav__toggle-btn--gold{background:transparent!important;color:var(--va-gold,#C4A265)!important;border-color:var(--va-gold,#C4A265)!important;font-weight:500}

/* v7.34: wizard step - passati ben visibili (sfondo tenue + spunta), corrente pieno */
.va-wiz__pstep.is-done{background:var(--va-sage-light,#E4EBE0)!important;border-color:var(--va-sage)!important;color:var(--va-sage)!important;font-weight:600}
.va-wiz__pstep.is-done .va-wiz__pnum{background:var(--va-sage);color:#fff}
.va-wiz__pstep.is-on{box-shadow:0 0 0 3px rgba(107,127,94,.2)}
[data-theme="dark"] .va-wiz__pstep.is-done{background:rgba(107,127,94,.22)!important;border-color:var(--va-sage)!important;color:#C8D6BE!important}
[data-theme="dark"] .va-wiz__pstep.is-on{background:var(--va-sage)!important;border-color:var(--va-sage)!important;color:#fff!important}

/* v7.35: link download APE nella lista documenti */
.va-documents__dl{color:var(--va-sage);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.va-documents__dl:hover{color:var(--va-sage-mid)}
[data-theme="dark"] .va-documents__dl{color:#A8C094}

/* v7.36: dark mode recensioni - le sfumature usavano rgba(255,255,255,0) (bianco trasparente) che su fondo scuro crea un alone grigio */
[data-theme="dark"] .va-revscroll__mask::before{background:linear-gradient(var(--va-white,#21251E),rgba(33,37,30,0))}
[data-theme="dark"] .va-revscroll__mask::after{background:linear-gradient(rgba(33,37,30,0),var(--va-white,#21251E))}
/* v7.36: hover dropzone wizard - sage chiaro fisso, troppo brillante su dark */
[data-theme="dark"] .va-wiz__drop:hover,[data-theme="dark"] .va-wiz__drop.is-over{background:rgba(107,127,94,.22)}
/* v7.38: lettera attiva cliccabile + fumetto stato APE */
.va-energy-bar.is-active { cursor: pointer; border: 0; font-family: inherit; -webkit-appearance: none; appearance: none; }
.va-shortcode--energy-class { position: relative; flex-wrap: wrap; }
.va-energy-tip { position: absolute; top: calc(100% + 14px); left: 0; right: 0; z-index: 20; background: var(--va-cream, #FBF9F4); border: 1px solid var(--va-border); border-radius: 10px; box-shadow: 0 8px 24px rgba(42,39,34,.14); padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: .875rem; color: var(--va-dark); }
.va-energy-tip[hidden] { display: none; }
[data-theme="dark"] .va-energy-tip { background: var(--va-white); }
@media (max-width: 480px) {
	.va-energy-tip { font-size: .8125rem; padding: 12px 14px; }
}

/* v7.39: sfumatura sul bordo destro dei "giorni" prenotazione visita, per segnalare che si può scorrere (5 bottoni, ne stanno 4 su mobile) */
.va-visit__slotswrap { position: relative; }
.va-visit__fade { position: absolute; top: 0; right: 0; bottom: 4px; width: 28px; background: linear-gradient(to right, transparent, var(--va-white, #fff)); pointer-events: none; }
[data-theme="dark"] .va-visit__fade { background: linear-gradient(to right, transparent, var(--va-cream-light, #2A2F26)); }

/* v7.40: rete di sicurezza - alcuni widget (mappa, calcolatore mutui, pillole POI) sforavano il bordo destro su mobile per un motivo non isolato con certezza; li vincolo esplicitamente al 100% del contenitore */
.va-shortcode--poi-map, #va-poi-map, .va-poi-legend, .va-m2 { max-width: 100%; box-sizing: border-box; }
@media (max-width: 767px) {
    .va-footer {
        padding-bottom: 60px !important;
    }
}
@media (max-width: 767px) {
    .va-gallery__thumbs {
        margin-left: 8px;
        margin-bottom: 4px;
    }
}

/* v7.54: home - padding inferiore ridotto SOLO per la sezione "Tipologie piu richieste" */
.va-section:has(> .va-shortcode--categories) { padding-bottom: 24px; }

/* v7.55: quando il cursore verde si sposta sull'altro pill in hover, la voce attiva
   restava bianca su sfondo chiaro (illeggibile). Le ridiamo il colore testo normale. */
.va-header__pill:has(.va-header__pill-btn:not(.is-on):hover) .va-header__pill-btn.is-on{color:rgba(20,23,15,.62)}
[data-theme=dark] .va-header__pill:has(.va-header__pill-btn:not(.is-on):hover) .va-header__pill-btn.is-on{color:rgba(253,251,247,.62)}

/* v7.77: stile Verde Abitare su TUTTE le tendine native: niente piu aspetto
   di sistema (grigio Windows/Chrome). Le regole specifiche gia esistenti
   (.va-field-l select, .va-cform select) restano e vincono dove presenti. */
body:not(.wp-admin) select:not(.langa-bc-select):not([data-phone-cc]) {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid var(--va-border);
	border-radius: 9px;
	padding: 10px 34px 10px 13px;
	font-family: inherit;
	font-size: .9375rem;
	line-height: 1.3;
	color: var(--va-dark);
	background-color: var(--va-white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8377' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 11px center;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
body:not(.wp-admin) select:not(.langa-bc-select):not([data-phone-cc]):hover { border-color: var(--va-sage); }
body:not(.wp-admin) select:not(.langa-bc-select):not([data-phone-cc]):focus,
body:not(.wp-admin) select:not(.langa-bc-select):not([data-phone-cc]):focus-visible {
	outline: none;
	border-color: var(--va-sage);
	box-shadow: 0 0 0 3px rgba(107,127,94,.16);
}
body:not(.wp-admin) select:not(.langa-bc-select):not([data-phone-cc]):disabled { opacity: .5; cursor: not-allowed; }
body:not(.wp-admin) select::-ms-expand { display: none; }
[data-theme="dark"] body:not(.wp-admin) select,
[data-theme="dark"] select {
	background-color: var(--va-white);
	border-color: var(--va-border);
	color: var(--va-dark);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A5A497' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* v7.78: menu a tendina Verde Abitare (sostituisce la lista nativa del browser) */
.va-cs { position: relative; display: block; width: 100%; }
.va-cs__native { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.va-cs__btn.is-placeholder { color: var(--va-warm-light); }
.va-cs__btn:hover { border-color: var(--va-sage); }
.va-cs.is-open .va-cs__btn { border-color: var(--va-sage); box-shadow: 0 0 0 3px rgba(107,127,94,.16); }
.va-cs.is-open .va-cs__list { display: block; }
.va-cs__opt { padding: 9px 12px; border-radius: 7px; font-size: .9rem; color: var(--va-warm); cursor: pointer; }
.va-cs__opt:hover { background: var(--va-sage-pale); color: var(--va-dark); }
.va-cs__opt.is-on { background: var(--va-sage); color: #fff; }
.va-cs__btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; font-family: inherit; font-size: .9375rem; color: var(--va-dark); background-color: var(--va-white); border: 1px solid var(--va-border); border-radius: 9px; padding: 11px 34px 11px 13px; cursor: pointer; transition: border-color .15s, box-shadow .15s; background-repeat: no-repeat; background-position: right 11px center; }
.va-cs__list { display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 70; background: var(--va-white); border: 1px solid var(--va-border); border-radius: 10px; box-shadow: var(--va-shadow-lg); padding: 5px; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; }
.va-cs__btn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8377' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); }
/* v7.97: planimetria e mappa catastale sono contenuto dell'Expose, non richieste separate */
.va-documents__inc { color: var(--va-sage); font-size: .82rem; }

/* ==== 29/08 GALLERIA: altezza FISSA, la pagina non si sposta piu' ====
   Difetto: .va-gallery__main aveva solo min-height:480px e nessuna altezza
   definita. Una foto verticale faceva CRESCERE il contenitore, la pagina si
   allungava sotto il lettore e bisognava tornare su a ogni verticale.
   Misura che ha deciso il rapporto: 2992 foto in galleria, 357 verticali
   (12%), rapporto mediano delle altre 1.78 cioe' 16:9.
   Quindi box fisso 16/9: l'88% lo riempie esatto, e le verticali ci stanno
   DENTRO invece di allungarlo.
   object-fit: contain e non cover, perche' su un immobile tagliare una foto
   verticale a meta' e' peggio che mostrarla intera fra due bande. */
.va-gallery--mosaic .va-gallery__main,
.va-gallery__main {
	aspect-ratio: 16 / 9;
	min-height: 0;
	height: auto;
	background: var(--va-cream, #f6f4ef);
}
.va-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* 29/08 — foto e miniature in UN SOLO contenitore di colonna.
   Perche': finche' erano due elementi separati del grid, la colonna della
   card (piu' alta) definiva la riga e lo spazio finiva SEMPRE fra la foto e
   le miniature. Nessuna regola di griglia poteva chiuderlo: col primo
   tentativo (grid-row span 2) l'ho triplicato.
   Ora la colonna sinistra e' un flex: foto e miniature sono attaccate, e
   l'avanzo dovuto alla card finisce SOTTO le miniature. */
.va-gallery--mosaic .va-gallery__left {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.va-gallery--mosaic .va-gallery__left .va-gallery__thumbs {
	margin-top: 0;
	padding-top: 0;
}

/* 29/08 — la foto grande alta quanto la card delle info (richiesta di Luca).
   La colonna sinistra si stira all'altezza della riga, decisa dalla card;
   dentro, la foto prende lo spazio che avanza dopo le miniature. Il vuoto
   non esiste per costruzione, e l'altezza NON dipende piu' dall'immagine:
   resta identica su orizzontali e verticali.
   aspect-ratio: auto annulla il 16/9 di prima, ora superfluo. */
.va-gallery--mosaic .va-gallery__wrap { align-items: stretch; }
.va-gallery--mosaic .va-gallery__left { height: 100%; min-height: 0; }
.va-gallery--mosaic .va-gallery__left .va-gallery__main {
	flex: 1 1 0;
	aspect-ratio: auto;
	min-height: 0;
	overflow: hidden;
}

/* 29/08 — sfondo sfocato dietro le foto verticali, stile Instagram.
   La foto resta INTERA (contain) e le bande laterali non sono piu' un
   colore piatto ma la stessa foto sfocata e ingrandita. */
.va-gallery__main { position: relative; overflow: hidden; }
.va-gallery__blur {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(26px) saturate(1.15);
	transform: scale(1.18);
	z-index: 0;
	pointer-events: none;
}
.va-gallery__main-img { position: relative; z-index: 1; }
.va-gallery__nav, .va-gallery__counter, .va-gallery__all { z-index: 2; }

/* La riga 2389 imposta object-fit:cover con un selettore per ID, che batte
   qualunque classe: senza pari peso, la foto resta tagliata e lo sfondo
   sfocato non si vede mai perche' l'immagine lo copre. */
#va-gallery-main-img.va-gallery__main-img { object-fit: contain; }

/* Default: orizzontali come prima, cover, senza sfondo sfocato. */
#va-gallery-main-img.va-gallery__main-img { object-fit: cover; }
.va-gallery__blur { opacity: 0; }
/* Solo verticali: foto intera e sfondo sfocato acceso. */
.va-gallery__main.is-portrait #va-gallery-main-img { object-fit: contain; }
.va-gallery__main.is-portrait .va-gallery__blur { opacity: 1; }

/* 31/08 — MOBILE: ripristina l'altezza propria della foto.
   Il flex: 1 1 0 del 29/08 lega l'altezza allo spazio che avanza, e su
   desktop glielo da' la card accanto. Sotto i 1023px il wrap diventa
   display:block, la card non e' piu' affiancata, lo spazio che avanza e'
   ZERO e la foto collassa: e' il "foto piccole rispetto al testo". */
@media (max-width: 1023px) {
	.va-gallery--mosaic .va-gallery__left { height: auto; display: block; }
	.va-gallery--mosaic .va-gallery__left .va-gallery__main {
		flex: 0 0 auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
	}
}

/* 01/09 — logo nel footer al posto del testo. Si usa logo_light.svg, che e'
   bianco (#FFFFFF): logo_dark.svg, nonostante il nome, ha i tratti neri e
   sul fondo scuro del footer sarebbe invisibile. */
.va-footer__logo {
	display: block;
	width: auto;
	max-width: 240px;
	height: auto;
}

/* 01/09 — il logo del footer dentro un riquadro appena piu' chiaro del fondo.
   Si usa un bianco a bassa opacita' invece di un colore fisso: cosi' resta
   coerente qualunque sia var(--va-ink), anche se il tema cambia. */
.va-footer__name {
	display: inline-block;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .10);
	border-radius: 14px;
	padding: 16px 22px;
	margin-bottom: 14px;
}
.va-footer__logo { max-width: 200px; }

/* 04/09 — la frase sotto il logo larga quanto il riquadro del logo.
   246px = 200 del logo + 44 di padding (22 per lato) + 2 di bordo. */
.va-footer__tag {
	max-width: 246px;
}

/* 04/09 — riquadro del gate: raggio 6px (indicato da Luca). */
.va-gate--slim .va-gate__lock { border-radius: 6px; }

/* ── Richieste: gestione in linea — 17/09/2026 ─────────────────────
   .va-lead in v5-dash.css e' una griglia a due colonne: i blocchi nuovi
   ci finivano dentro come celle e si sparpagliavano. Qui la scheda torna
   a colonna unica e ogni pezzo ha il suo posto. */
.va-leads .va-lead{display:block;padding:16px 18px}
.va-leads .va-lead__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.va-lead__nome{font-size:1rem;line-height:1.3}
.va-lead__tag,.va-lead__stato{font-size:.72rem;letter-spacing:.02em;padding:3px 9px;
  border-radius:999px;white-space:nowrap;line-height:1.5}
.va-lead__tag{background:var(--va-sage-pale,#F2F5F0);color:var(--va-sage,#6B7F5E)}
.va-lead__stato{background:#EFEAE1;color:var(--va-warm,#8A8377)}
.va-lead__stato[data-s="nuovo"]{background:var(--va-gold,#C4A265);color:#fff}
.va-leads .va-lead__head time{margin-left:auto;font-size:.78rem;color:var(--va-warm-light)}
.va-leads .va-lead__msg{margin:0 0 10px;font-size:.9rem;line-height:1.55;max-width:70ch}
.va-leads .va-lead__foot{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;
  padding-bottom:12px;border-bottom:1px solid var(--va-border,#E4DFD4)}
.va-lead__gestione{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.va-lead__campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.va-lead__campo>span,.va-lead__nota>span{font-size:.72rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--va-warm-light,#A29B8E)}
.va-lead__campo select,.va-lead__nota textarea{width:100%;padding:9px 11px;font:inherit;
  font-size:.9rem;color:inherit;background:var(--va-bg,#FBF9F6);
  border:1px solid var(--va-border,#E4DFD4);border-radius:8px}
.va-lead__campo select:focus,.va-lead__nota textarea:focus{outline:2px solid var(--va-sage,#6B7F5E);
  outline-offset:1px;border-color:transparent}
.va-lead__nota{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.va-lead__nota textarea{resize:vertical;min-height:56px;line-height:1.5}
.va-lead__azioni{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-top:12px;flex-wrap:wrap}
.va-lead__salvato{font-size:.78rem;color:var(--va-warm-light,#A29B8E);
  min-height:1em;text-align:right;flex:1 1 auto}
.va-lead__salvato.is-ko{color:var(--va-red,#C85A54);font-weight:600}
.va-leads .va-lead[data-arch="1"]{opacity:.68;background:var(--va-bg,#FBF9F6)}
.va-leadbar{display:flex;flex-direction:column;gap:12px;margin:16px 0 20px}
.va-leadbar__q{width:100%;max-width:440px;padding:10px 14px;font:inherit;font-size:.92rem;
  color:inherit;background:#fff;border:1px solid var(--va-border,#E4DFD4);border-radius:10px}
.va-leadbar__q:focus{outline:2px solid var(--va-sage,#6B7F5E);outline-offset:1px}
.va-leadfilter{display:flex;flex-wrap:wrap;gap:8px}
.va-chip--quiet{opacity:.7}
.va-leadempty{margin:22px 0;color:var(--va-warm,#8A8377);font-size:.92rem}
@media (max-width:640px){
  .va-lead__gestione{grid-template-columns:1fr}
  .va-leadbar__q{max-width:none}
  .va-lead__azioni{flex-direction:column;align-items:stretch}
  .va-lead__salvato{text-align:left}
  .va-leads .va-lead__head time{margin-left:0;width:100%}
}
/* 17/09 sera: l'archivio va spiegato prima, non scoperto dopo. */
.va-leadaiuto{margin:-6px 0 16px;font-size:.82rem;line-height:1.5;
  color:var(--va-warm,#8A8377);background:var(--va-sage-pale,#F2F5F0);
  border-radius:8px;padding:10px 14px;max-width:70ch}
.va-lead__salva{white-space:nowrap}
.va-lead__salva[disabled]{opacity:.45;cursor:default}
.va-lead__arch{margin-left:auto}
.va-leads .va-lead.is-appena{border-color:var(--va-sage,#6B7F5E);
  box-shadow:0 0 0 2px rgba(107,127,94,.14)}
@media (max-width:640px){.va-lead__arch{margin-left:0}}
/* 17/09 sera: Archivio e Cestino sono depositi, non filtri di lavoro:
   stanno a destra, staccati da quelli che si usano ogni giorno. */
.va-chip--right{margin-left:auto}
.va-lead__cest{margin-left:8px}
.va-lead__arch{margin-left:auto}
@media (max-width:640px){
  .va-chip--right{margin-left:0}
  .va-lead__arch,.va-lead__cest{margin-left:0;width:100%}
}
/* 17/09 sera: periodo, ricerca e pagine. */
.va-leadbar__riga{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.va-leadbar__pulisci{background:none;border:0;font:inherit;font-size:.82rem;
  color:var(--va-sage,#6B7F5E);cursor:pointer;text-decoration:underline}
.va-leaddate{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.va-leaddate__et{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--va-warm-light,#A29B8E)}
.va-leaddate label{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;
  color:var(--va-warm,#8A8377)}
.va-leaddate input[type=date]{font:inherit;font-size:.85rem;padding:6px 9px;
  border:1px solid var(--va-border,#E4DFD4);border-radius:8px;background:#fff;color:inherit}
.va-chip--sm{font-size:.78rem;padding:5px 11px}
.va-leadpag{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:18px 0 4px;padding-top:14px;border-top:1px solid var(--va-border,#E4DFD4)}
.va-leadpag__dove{font-size:.84rem;color:var(--va-warm,#8A8377)}
.va-leadpag__quante{margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:.82rem;color:var(--va-warm-light,#A29B8E)}
.va-leadpag__quante select{font:inherit;font-size:.85rem;padding:5px 8px;
  border:1px solid var(--va-border,#E4DFD4);border-radius:8px;background:#fff;color:inherit}
.va-leadpag button[disabled]{opacity:.4;cursor:default}
@media (max-width:640px){
  .va-leadpag{justify-content:space-between}
  .va-leadpag__quante{margin-left:0;width:100%}
  .va-leadpag__dove{order:-1;width:100%}
  .va-leaddate{gap:6px}
  .va-leaddate label{flex:1 1 46%}
  .va-leaddate input[type=date]{width:100%}
}
/* 17/09 sera: lista nera mittenti. */
.va-lead__blocco{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:12px;padding-top:12px;border-top:1px dashed var(--va-border,#E4DFD4)}
.va-lead__bloccoet{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--va-warm-light,#A29B8E)}
.va-lead__bloccato{font-size:.82rem;color:var(--va-warm,#8A8377);flex:1 1 320px}
.va-lead__sblocca{background:none;border:0;font:inherit;font-size:.82rem;
  color:var(--va-sage,#6B7F5E);text-decoration:underline;cursor:pointer;padding:0}
@media (max-width:640px){.va-lead__blocco .va-btn{width:100%}}
/* 17/09 sera: lo spam e' un deposito suo, segnalato come tale. */
.va-chip--spam.va-chip--active{background:#C85A54;border-color:#C85A54;color:#fff}
.va-leads .va-lead[data-spam="1"]{opacity:.72;background:#FCF7F6;
  border-color:#EBD6D4;border-left:3px solid #C85A54}
.va-lead__nospam{color:var(--va-sage,#6B7F5E)}
