/* ============================================================
   Verde Abitare: v4.css
   Loaded AFTER layout.css/shortcodes.css: fixes the miniature
   wireframe scale copied 1:1 (0.5–0.65rem text) and styles every
   v4 component. Palette unchanged (sage/stone/cream/gold).
   ============================================================ */

:root {
  --va-r: 10px;
  --va-shadow: 0 2px 10px rgba(42, 39, 34, 0.06);
  --va-shadow-lg: 0 10px 32px rgba(42, 39, 34, 0.14);
  --va-dark: #14170F;
  --va-ink: #14170F;
  --va-paper: #FDFBF7;
}
/* v7.9.172: [hidden] deve SEMPRE vincere — vari componenti (bottoni, div email/watch, ecc.) hanno display senza !important che altrimenti lo sovrascrive (Luca 14/07) */
[hidden]{display:none!important}

/* ---- TYPE SCALE RESET (the "tutto condensato" fix) ---- */
body { font-size: 16px; line-height: 1.65; }
.va-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 28px; padding-right: 28px; }
.va-section { padding: 48px 0; }

.va-kicker { font-size: 0.75rem; letter-spacing: 3px; }
.va-h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.6rem; margin: 0 0 18px; }

.va-header__top { font-size: 0.8125rem; }
.va-header__contact, .va-header__currency, .va-header__login { font-size: 0.8125rem; }
.va-header__logo-text { font-size: 1.5rem; }
.va-header__logo-sub { font-size: 0.6875rem; }
.va-header__nav a { font-size: 0.9375rem; }
.va-footer, .va-footer p, .va-footer a { font-size: 0.9rem; }
.va-footer__heading { font-size: 0.8125rem; }

.va-btn { font-size: 0.9375rem; padding: 12px 22px; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; line-height: 1; border: 1px solid transparent; text-decoration: none; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
.va-btn:hover { transform: translateY(-1px); box-shadow: var(--va-shadow); }
.va-btn--sm { font-size: 0.875rem; padding: 10px 16px; }
.va-btn--block { width: 100%; justify-content: center; }
.va-btn--primary { background: var(--va-sage); color: #fff; }
.va-btn--gold { background: var(--va-gold, #C4A265); color: #fff; }
.va-btn--outline { background: #fff; border-color: var(--va-sage); color: var(--va-sage); }
.va-btn.is-done { background: var(--va-sage-light, #E4EBE0); border-color: transparent; color: var(--va-sage); pointer-events: none; }

/* ---- HERO ---- */
.va-hero { min-height: 480px; }
.va-hero__unesco { display: block; width: 130px; height: auto; margin: 0 auto 14px; opacity: .95; }
.va-hero__kicker { font-size: 0.8125rem; letter-spacing: 4px; }
.va-hero__title { font-size: clamp(2rem, 5vw, 3.1rem); }
.va-hero__subtitle { font-size: 1.05rem; }
.va-unesco-badge { width: 120px; height: auto; flex-shrink: 0; }

/* ============================================================
   FILTERS v4
   ============================================================ */
.va-filters { background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 14px; padding: 16px 18px; margin-bottom: 20px; position: relative; z-index: 40; }
.va-filters__row { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.va-filters__ref input { width: 128px; height: 100%; min-height: 44px; border: 1px solid var(--va-border); border-radius: 9px; padding: 0 12px; font-size: 0.9rem; background: #fff; }
.va-filters__apply { margin-left: auto; }
.va-filters__active { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.va-filters__active:empty { display: none; }

/* Segmented */
.va-seg { display: inline-flex; background: #fff; border: 1px solid var(--va-border); border-radius: 9px; padding: 3px; gap: 2px; }
.va-seg__btn { border: 0; background: transparent; font-size: 0.9rem; padding: 9px 16px; border-radius: 7px; cursor: pointer; color: var(--va-warm); transition: background .12s; }
.va-seg__btn.is-on { background: var(--va-sage); color: #fff; }

/* Popover */
.va-pop { position: relative; }
.va-pop__toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; background: #fff; border: 1px solid var(--va-border); border-radius: 9px; padding: 0 14px; font-size: 0.9rem; color: var(--va-warm); cursor: pointer; }
.va-pop.is-open .va-pop__toggle { border-color: var(--va-sage); box-shadow: 0 0 0 3px rgba(107,127,94,.12); }
.va-pop__chev { font-size: 0.65rem; color: var(--va-warm-light); transition: transform .15s; }
.va-pop.is-open .va-pop__chev { transform: rotate(180deg); }
.va-pop__count { background: var(--va-sage); color: #fff; border-radius: 99px; font-size: 0.7rem; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; }
.va-pop__panel { display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 260px; background: #fff; border: 1px solid var(--va-border); border-radius: 12px; box-shadow: var(--va-shadow-lg); padding: 14px; z-index: 60; }
.va-pop--wide .va-pop__panel { min-width: 320px; }
.va-pop__panel--right { left: auto; right: 0; }
.va-pop.is-open .va-pop__panel { display: block; }
.va-pop__search { width: 100%; border: 1px solid var(--va-border); border-radius: 8px; padding: 9px 12px; font-size: 0.875rem; margin-bottom: 10px; }
.va-pop__options { display: flex; flex-direction: column; gap: 2px; }
.va-pop__options--scroll { max-height: 260px; overflow-y: auto; }
.va-pop__grouplabel { font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: var(--va-stone); margin: 14px 0 8px; }
.va-pop__grouplabel:first-child { margin-top: 0; }
.va-pop__steppers { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }

/* Checkbox riga */
.va-check { display: flex; align-items: center; gap: 10px; padding: 8px 8px; border-radius: 8px; cursor: pointer; font-size: 0.9rem; }
.va-check:hover { background: var(--va-sage-pale, #F2F5F0); }
.va-check input { position: absolute; opacity: 0; }
.va-check__box { width: 18px; height: 18px; border: 1.5px solid var(--va-border); border-radius: 5px; flex-shrink: 0; position: relative; transition: all .12s; }
.va-check input:checked + .va-check__box { background: var(--va-sage); border-color: var(--va-sage); }
.va-check input:checked + .va-check__box::after { content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.va-check input:focus-visible + .va-check__box { box-shadow: 0 0 0 3px rgba(107,127,94,.25); }
.va-check__label { flex: 1; }
.va-check__n { font-size: 0.75rem; color: var(--va-warm-light); }

/* Dual slider */
.va-dual__labels { display: flex; justify-content: space-between; font-size: 0.9rem; color: var(--va-sage); font-weight: 600; margin-bottom: 8px; }
.va-dual__track { position: relative; height: 28px; }
.va-dual__track::before { content: ""; position: absolute; top: 12px; left: 0; right: 0; height: 4px; border-radius: 4px; background: var(--va-border); }
.va-dual__fill { position: absolute; top: 12px; height: 4px; border-radius: 4px; background: var(--va-sage); }
.va-dual__input { position: absolute; inset: 0; width: 100%; height: 28px; margin: 0; -webkit-appearance: none; appearance: none; background: transparent; pointer-events: none; }
.va-dual__input::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2.5px solid var(--va-sage); box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: grab; margin-top: 4px; }
.va-dual__input::-moz-range-thumb { pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2.5px solid var(--va-sage); box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: grab; }
.va-dual__input::-moz-range-track { background: transparent; }
.va-dual__input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(107,127,94,.25); }

/* Single slider */
.va-single__out { display: block; font-size: 0.9rem; color: var(--va-sage); font-weight: 600; margin-bottom: 6px; }
.va-single__input { width: 100%; -webkit-appearance: none; appearance: none; height: 4px; border-radius: 4px; background: var(--va-border); }
.va-single__input::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 2.5px solid var(--va-sage); box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: grab; }
.va-single__input::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2.5px solid var(--va-sage); cursor: grab; }

/* Stepper */
.va-step { display: flex; align-items: center; gap: 10px; }
.va-step__label { flex: 1; font-size: 0.9rem; color: var(--va-warm); display: inline-flex; align-items: center; gap: 7px; }
.va-step__btn { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--va-border); background: #fff; font-size: 1.1rem; color: var(--va-sage); cursor: pointer; line-height: 1; transition: all .12s; }
.va-step__btn:hover { border-color: var(--va-sage); background: var(--va-sage-pale, #F2F5F0); }
.va-step__val { min-width: 34px; text-align: center; font-weight: 600; font-size: 1rem; }
.va-step__val::after { content: attr(data-suffix); color: var(--va-warm-light); font-weight: 400; }

/* Chips */
.va-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.va-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--va-border); background: #fff; border-radius: 99px; padding: 8px 16px; font-size: 0.875rem; color: var(--va-warm); cursor: pointer; text-decoration: none; transition: all .12s; }
.va-chip:hover { border-color: var(--va-sage); color: var(--va-sage); }
.va-chip.is-on, .va-chip--active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }
.va-chip__n { font-size: 0.72rem; opacity: .75; }
.va-chip--reset { background: transparent; border-color: transparent; color: var(--va-warm-light); text-decoration: underline; }

/* ============================================================
   SEARCH PAGE
   ============================================================ */
.va-search__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 22px; }
.va-search__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.7rem, 3.5vw, 2.3rem); margin: 4px 0 0; }
.va-search__toolbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.va-search__left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.va-search__count { font-size: 1rem; color: var(--va-warm); }
.va-search__views { display: inline-flex; background: #fff; border: 1px solid var(--va-border); border-radius: 9px; padding: 3px; gap: 2px; margin-left: auto; }
.va-view { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; font-size: 0.875rem; padding: 8px 13px; border-radius: 7px; color: var(--va-warm); cursor: pointer; }
.va-view.is-on { background: var(--va-sage); color: #fff; }
.va-sort { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 9px 12px; border-radius: 8px; font-size: 0.9rem; color: var(--va-warm); cursor: pointer; }
.va-sort:hover { background: var(--va-sage-pale, #F2F5F0); }
.va-sort.is-on { color: var(--va-sage); font-weight: 600; }

/* Stage: grid / list / map(split) */
.va-search__stage { display: grid; grid-template-columns: 1fr; gap: 18px; }
.va-search__map { display: none; position: sticky; top: 16px; height: calc(100vh - 120px); min-height: 560px; border-radius: 14px; overflow: hidden; border: 1px solid var(--va-border); }
.va-search__stage[data-view="map"] { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; }
.va-search__stage[data-view="map"] .va-search__map { display: block; }

.va-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; transition: opacity .15s; }
.va-results.is-loading { opacity: .45; pointer-events: none; }
.va-search__stage[data-view="list"] .va-results,
.va-search__stage[data-view="map"] .va-results { grid-template-columns: 1fr; }
.va-results--dash { grid-template-columns: repeat(3, 1fr); }

.va-loading { display: flex; gap: 6px; justify-content: center; padding: 8px 0; }
.va-loading__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--va-sage); animation: va-b 1s infinite alternate; }
.va-loading__dot:nth-child(2) { animation-delay: .18s; }
.va-loading__dot:nth-child(3) { animation-delay: .36s; }
@keyframes va-b { to { opacity: .25; transform: translateY(-4px); } }

.va-search__empty { text-align: center; padding: 56px 20px; color: var(--va-warm); }
.va-search__empty h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.4rem; margin: 14px 0 8px; }
.va-search__empty .va-btn { margin-top: 14px; }

/* ============================================================
   PROPERTY CARD v4
   ============================================================ */
.va-pcard { position: relative; background: #fff; border: 1px solid var(--va-border); border-radius: var(--va-r); overflow: hidden; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.va-pcard:hover, .va-pcard.is-mapped { transform: translateY(-3px); box-shadow: var(--va-shadow-lg); border-color: var(--va-sage); }
.va-pcard__link { position: absolute; inset: 0; z-index: 1; }
.va-pcard__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; touch-action: pan-y; }
.va-pcard__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.va-pcard:hover .va-pcard__img { transform: scale(1.04); }
.va-pcard__badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; z-index: 2; }
.va-tag { font-size: 0.72rem; letter-spacing: .4px; padding: 5px 10px; border-radius: 6px; color: #fff; }
.va-tag--gold { background: var(--va-gold, #C4A265); }
.va-tag--green { background: #5A8F4A; }
.va-tag--sage { background: var(--va-sage); }
.va-pcard__save { position: absolute; top: 10px; right: 10px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--va-warm); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .12s; }
.va-pcard__save:hover { color: #C85A54; transform: scale(1.08); }
.va-pcard__save.is-saved { background: var(--va-sage); color: #fff; }
.va-pcard__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; }
.va-pcard__kicker { font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--va-stone); }
.va-pcard__title { font-family: var(--va-font-body); font-weight: 600; font-size: 1.1rem; line-height: 1.35; margin: 0; }
.va-pcard__place { display: inline-flex; align-items: center; gap: 5px; font-size: 0.85rem; color: var(--va-warm-light); }
.va-pcard__priceline { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.va-pcard__price { font-size: 1.3rem; font-weight: 600; color: var(--va-sage); }
.va-pcard__sqm { font-size: 0.8rem; color: var(--va-warm-light); }
.va-pcard__specs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.va-spec { font-size: 0.78rem; background: var(--va-sage-pale, #F2F5F0); color: var(--va-sage); border-radius: 6px; padding: 4px 9px; }
.va-pcard__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--va-border); }
.va-pcard__cta { font-size: 0.875rem; color: var(--va-sage); font-weight: 500; }
.va-pcard__compare { position: relative; z-index: 2; border: 0; background: var(--va-gold-light, #F5EDD8); color: var(--va-gold, #C4A265); font-size: 0.78rem; border-radius: 6px; padding: 6px 10px; cursor: pointer; }
.va-pcard__compare.is-on { background: var(--va-gold, #C4A265); color: #fff; }
.va-pcard__excerpt { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: .82rem; line-height: 1.4; color: var(--va-warm-light, #A39A8C); margin: 4px 0 0; }

/* List view: card orizzontale */
.va-search__stage[data-view="list"] .va-pcard,
.va-search__stage[data-view="map"] .va-pcard { display: grid; grid-template-columns: 240px 1fr; }
.va-search__stage[data-view="list"] .va-pcard__media,
.va-search__stage[data-view="map"] .va-pcard__media { aspect-ratio: auto; height: 100%; min-height: 170px; }
.va-search__stage[data-view="map"] .va-pcard { grid-template-columns: 180px 1fr; }
.va-search__stage[data-view="list"] .va-pcard__excerpt { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: .82rem; line-height: 1.4; color: var(--va-warm-light, #A39A8C); margin: 4px 0 0; }

/* ============================================================
   MAP v4
   ============================================================ */
.va-map { position: relative; width: 100%; border-radius: 14px; overflow: hidden; background: var(--va-sage-pale, #F2F5F0); }
.va-map__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--va-warm-light); font-size: 0.9rem; }
.va-pin { position: absolute; transform: translate(-50%, -100%); background: #fff; border: 1.5px solid var(--va-sage); color: var(--va-sage); font-size: 0.8rem; font-weight: 700; padding: 6px 11px; border-radius: 99px; box-shadow: 0 2px 8px rgba(0,0,0,.18); cursor: pointer; white-space: nowrap; transition: all .12s; }
.va-pin::after { content: ""; position: absolute; left: 50%; bottom: -5px; transform: translateX(-50%) rotate(45deg); width: 8px; height: 8px; background: inherit; border-right: 1.5px solid var(--va-sage); border-bottom: 1.5px solid var(--va-sage); }
.va-pin:hover, .va-pin.is-active { background: var(--va-sage); color: #fff; z-index: 5; transform: translate(-50%, -100%) scale(1.08); }
.va-mapcard { position: absolute; left: 14px; bottom: 14px; z-index: 6; display: grid; grid-template-columns: 110px 1fr; width: min(340px, calc(100% - 28px)); background: #fff; border-radius: 12px; overflow: hidden; box-shadow: var(--va-shadow-lg); text-decoration: none; color: var(--va-dark); }
.va-mapcard img { width: 100%; height: 100%; object-fit: cover; }
.va-mapcard__body { padding: 12px 34px 12px 12px; display: flex; flex-direction: column; gap: 3px; }
.va-mapcard__body strong { font-size: 0.9rem; font-weight: 500; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.va-mapcard__body span { font-size: 0.78rem; color: var(--va-warm-light); }
.va-mapcard__body em { font-style: normal; font-size: 0.85rem; color: var(--va-sage); font-weight: 600; margin-top: 2px; }
.va-mapcard__close { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 50%; background: var(--va-sage-pale, #F2F5F0); color: var(--va-warm); cursor: pointer; }

/* ============================================================
   PAGINATION v4
   ============================================================ */
.va-pag { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.va-pag__info { font-size: 0.875rem; color: var(--va-warm-light); }
.va-pag__group { display: flex; align-items: center; gap: 5px; }
.va-pag__num, .va-pag__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--va-border); background: #fff; font-size: 0.9rem; color: var(--va-warm); text-decoration: none; transition: all .12s; }
.va-pag__num:hover, .va-pag__btn:hover { border-color: var(--va-sage); color: var(--va-sage); }
.va-pag__num--active { background: var(--va-sage); border-color: var(--va-sage); color: #fff; pointer-events: none; }
.va-pag__btn--disabled { opacity: .4; pointer-events: none; }
.va-pag__dots { color: var(--va-warm-light); padding: 0 4px; }
@media (max-width: 560px) { .va-pag__btn-label { display: none; } }

/* ============================================================
   NEWS
   ============================================================ */
.va-news__head { max-width: 720px; margin-bottom: 26px; }
.va-news__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.8rem, 4vw, 2.4rem); margin: 4px 0 10px; }
.va-news__intro { color: var(--va-warm); font-size: 1rem; }
.va-news__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.va-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.va-news__grid[data-view="list"] { grid-template-columns: 1fr; }

.va-ncard { position: relative; background: #fff; border: 1px solid var(--va-border); border-radius: var(--va-r); overflow: hidden; transition: transform .15s ease, box-shadow .15s ease; }
.va-ncard:hover { transform: translateY(-3px); box-shadow: var(--va-shadow-lg); }
.va-ncard__link { position: absolute; inset: 0; z-index: 1; }
.va-ncard__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.va-ncard__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.va-ncard:hover .va-ncard__img { transform: scale(1.04); }
.va-ncard__cat { position: absolute; top: 10px; left: 10px; }
.va-ncard__body { padding: 16px 18px 18px; }
.va-ncard__meta { font-size: 0.78rem; color: var(--va-warm-light); display: flex; gap: 7px; margin-bottom: 7px; }
.va-ncard__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.15rem; line-height: 1.35; margin: 0 0 8px; }
.va-ncard__excerpt { font-size: 0.9rem; color: var(--va-warm); line-height: 1.6; margin: 0 0 10px; }
.va-ncard__cta { font-size: 0.875rem; color: var(--va-sage); font-weight: 500; }
.va-news__grid[data-view="list"] .va-ncard { display: grid; grid-template-columns: 300px 1fr; }
.va-news__grid[data-view="list"] .va-ncard__media { aspect-ratio: auto; height: 100%; min-height: 190px; }

/* Articolo */
.va-article__hero { height: clamp(260px, 42vw, 460px); overflow: hidden; }
.va-article__hero img { width: 100%; height: 100%; object-fit: cover; }
.va-container--narrow { max-width: 760px; }
.va-article__head { padding: 34px 0 8px; }
.va-article__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.25; margin: 14px 0 12px; }
.va-article__meta { font-size: 0.875rem; color: var(--va-warm-light); display: flex; gap: 8px; flex-wrap: wrap; }
.va-article__content { font-size: 1.06rem; line-height: 1.85; color: var(--va-warm); padding: 10px 0 26px; }
.va-article__content h2, .va-article__content h3 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; color: var(--va-dark); margin: 1.6em 0 .6em; }
.va-article__content img { border-radius: 12px; }
.va-article__content blockquote { border-left: 3px solid var(--va-gold, #C4A265); margin: 1.6em 0; padding: 4px 0 4px 20px; font-family: 'EB Garamond', Georgia, serif; font-size: 1.15rem; color: var(--va-dark); }
.va-article__foot { border-top: 1px solid var(--va-border); padding: 18px 0 30px; }
.va-article__share { display: flex; gap: 14px; font-size: 0.9rem; color: var(--va-warm-light); }
.va-article__share a { color: var(--va-sage); text-decoration: none; }

.va-cta-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; background: var(--va-ink, #14170F); color: #fff; border-radius: 16px; padding: 30px 34px; }
.va-cta-strip__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.5rem; margin: 0 0 6px; }
.va-cta-strip p { margin: 0; color: rgba(255,255,255,.75); }

/* ============================================================
   SPLIT INFO BLOCKS (pagine di spiegazione)
   ============================================================ */
.va-split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; padding: 34px 0; }
.va-split--reverse .va-split__media { order: 2; }
.va-split__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; box-shadow: var(--va-shadow); }
.va-split__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.7rem; margin: 8px 0 14px; }
.va-split__text { font-size: 1rem; line-height: 1.8; color: var(--va-warm); margin-bottom: 18px; }
.va-split__text ul { padding-left: 20px; }

/* ============================================================
   AUTH
   ============================================================ */
.va-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.va-auth__intro h1 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.9rem; margin: 8px 0 12px; }
.va-auth__intro p { color: var(--va-warm); line-height: 1.75; }
.va-auth__card { background: #fff; border: 1px solid var(--va-border); border-radius: 16px; padding: 28px; box-shadow: var(--va-shadow); }
.va-auth__tabs { display: flex; background: var(--va-sage-pale, #F2F5F0); border-radius: 9px; padding: 3px; margin-bottom: 20px; }
.va-auth__tab { flex: 1; border: 0; background: transparent; padding: 10px; border-radius: 7px; font-size: 0.9375rem; color: var(--va-warm); cursor: pointer; }
.va-auth__tab.is-on { background: #fff; color: var(--va-sage); font-weight: 600; box-shadow: var(--va-shadow); }
.va-auth__form { display: flex; flex-direction: column; gap: 14px; }
.va-auth__form[hidden] { display: none; }
.va-field-l { display: flex; flex-direction: column; gap: 6px; font-size: 0.875rem; color: var(--va-warm); }
.va-field-l input { border: 1px solid var(--va-border); border-radius: 9px; padding: 12px 14px; font-size: 1rem; }
.va-field-l input:focus { outline: none; border-color: var(--va-sage); box-shadow: 0 0 0 3px rgba(107,127,94,.12); }
.va-field-l__hint { font-size: 0.75rem; color: var(--va-warm-light); font-weight: 400; }
.va-consent { display: flex; gap: 9px; font-size: 0.82rem; color: var(--va-warm-light); align-items: flex-start; }
.va-hp { position: absolute; left: -9999px; }
.va-auth__msg { font-size: 0.875rem; color: var(--va-sage); min-height: 1em; margin: 0; }
.va-auth__msg.is-error { color: #C85A54; }
.va-auth__divider { display: flex; align-items: center; gap: 12px; color: var(--va-warm-light); font-size: 0.8rem; margin: 18px 0; }
.va-auth__divider::before, .va-auth__divider::after { content: ""; flex: 1; height: 1px; background: var(--va-border); }
.va-auth__google { display: flex; justify-content: center; }

/* ============================================================
   DASHBOARD
   ============================================================ */
.va-dash { display: grid; grid-template-columns: 250px 1fr; gap: 34px; align-items: start; }
.va-dash__side { position: sticky; top: 20px; background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 14px; padding: 18px 14px; }
.va-dash__user { display: flex; align-items: center; gap: 12px; padding: 4px 8px 16px; border-bottom: 1px solid var(--va-border); margin-bottom: 12px; }
.va-dash__user strong { display: block; font-size: 0.95rem; }
.va-dash__role { font-size: 0.75rem; color: var(--va-warm-light); }
.va-dash__avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--va-sage); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; flex-shrink: 0; }
.va-dash__avatar--gold { background: var(--va-gold, #C4A265); }
.va-dash__nav { display: flex; flex-direction: column; gap: 3px; }
.va-dash__item { display: flex; align-items: center; gap: 10px; width: 100%; border: 0; background: transparent; border-radius: 9px; padding: 11px 12px; font-size: 0.9375rem; color: var(--va-warm); cursor: pointer; text-align: left; text-decoration: none; }
.va-dash__item:hover { background: rgba(255,255,255,.7); }
.va-dash__item.is-on { background: var(--va-sage); color: #fff; }
.va-dash__badge { margin-left: auto; background: var(--va-gold, #C4A265); color: #fff; border-radius: 99px; font-size: 0.7rem; min-width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.va-dash__hello { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.7rem; margin: 0 0 18px; }
.va-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px; }
.va-stat { background: #fff; border: 1px solid var(--va-border); border-radius: 12px; padding: 18px; text-align: center; }
.va-stat strong { display: block; font-size: 1.7rem; color: var(--va-sage); font-family: 'EB Garamond', Georgia, serif; font-weight: 400; }
.va-stat span { font-size: 0.82rem; color: var(--va-warm-light); }
.va-dash__note { font-size: 0.9rem; color: var(--va-warm-light); margin: 0 0 18px; }
.va-dash__emptycard { background: #fff; border: 1px dashed var(--va-border); border-radius: 14px; padding: 40px; text-align: center; }
.va-dash__emptycard h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; margin: 0 0 8px; }
.va-dash__emptycard .va-btn { margin-top: 16px; }

.va-alerts { display: flex; flex-direction: column; gap: 12px; }
.va-alert { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--va-border); border-radius: 12px; padding: 16px 18px; }
.va-alert strong { display: block; font-size: 0.95rem; }
.va-alert span { font-size: 0.8rem; color: var(--va-warm-light); }
.va-alert__open { margin-left: auto; color: var(--va-sage); text-decoration: none; font-size: 0.9rem; white-space: nowrap; }

.va-profile { background: #fff; border: 1px solid var(--va-border); border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
.va-profile__row { display: flex; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--va-border); font-size: 0.9375rem; }
.va-profile__row:last-child { border-bottom: 0; }
.va-profile__row span { color: var(--va-warm-light); }

.va-leads { display: flex; flex-direction: column; gap: 14px; }
.va-lead { background: #fff; border: 1px solid var(--va-border); border-radius: 12px; padding: 16px 18px; }
.va-lead--new { border-left: 3px solid var(--va-gold, #C4A265); }
.va-lead__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.va-lead__head time { margin-left: auto; font-size: 0.8rem; color: var(--va-warm-light); }
.va-lead__msg { font-size: 0.9rem; color: var(--va-warm); margin: 8px 0; }
.va-lead__foot { display: flex; gap: 16px; flex-wrap: wrap; font-size: 0.875rem; }
.va-lead__foot a { color: var(--va-sage); text-decoration: none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1000px) {
  .va-results, .va-news__grid, .va-results--dash { grid-template-columns: repeat(2, 1fr); }
  .va-search__stage[data-view="map"] { grid-template-columns: 1fr; }
  .va-search__map { position: relative; top: 0; height: 420px; }
  .va-auth { grid-template-columns: 1fr; gap: 26px; }
  .va-split { grid-template-columns: 1fr; gap: 20px; }
  .va-split--reverse .va-split__media { order: 0; }
}
@media (max-width: 640px) {
  .va-results, .va-news__grid, .va-results--dash, .va-dash__stats { grid-template-columns: 1fr; }
  .va-search__stage[data-view="list"] .va-pcard, .va-search__stage[data-view="map"] .va-pcard, .va-news__grid[data-view="list"] .va-ncard { grid-template-columns: 1fr; }
  .va-filters__row { gap: 8px; }
  .va-filters__apply { width: 100%; justify-content: center; margin-left: 0; }
  .va-pop__panel { min-width: min(86vw, 320px); }
  .va-view__label { display: none; }
  .va-search__head { flex-direction: column; align-items: flex-start; }
  .va-unesco-badge { width: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .va-btn, .va-pcard, .va-ncard, .va-pcard__img, .va-ncard__img, .va-pin { transition: none; }
  .va-loading__dot { animation: none; }
}

/* ============================================================
   v4.1: Exposé CTA, Atelier banner, contact form
   ============================================================ */
.va-expose { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); background: var(--va-ink, #14170F); color: #fff; border-radius: 18px; overflow: hidden; margin: 20px 0; }
.va-expose__media { position: relative; min-height: 320px; }
.va-expose__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.va-expose__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, rgba(42,39,34,.55)); }
.va-expose__refchip { position: absolute; left: 14px; bottom: 14px; z-index: 2; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); color: #fff; font-size: .78rem; padding: 7px 12px; border-radius: 8px; }
.va-expose__body { padding: 40px 44px; display: flex; flex-direction: column; gap: 12px; }
.va-expose__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.5rem, 3vw, 2rem); margin: 4px 0 0; color: #fff; }
.va-expose__lead { margin: 0; color: rgba(255,255,255,.78); font-size: 1rem; }
.va-expose__perks { list-style: none; margin: 4px 0 6px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.va-expose__perks li { display: flex; align-items: flex-start; gap: 9px; font-size: .9rem; color: rgba(255,255,255,.9); line-height: 1.45; }
.va-expose__perks .va-icon { color: var(--va-gold, #C4A265); flex-shrink: 0; margin-top: 2px; }
.va-expose__actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 6px; }
.va-expose__login { color: var(--va-gold, #C4A265); font-size: .9rem; text-decoration: none; }
.va-expose__login:hover { text-decoration: underline; }
.va-expose__note { font-size: .78rem; color: rgba(255,255,255,.55); }

.va-atelier2 { display: grid; grid-template-columns: 300px 1fr; background: var(--va-gold-light, #F5EDD8); border: 1px solid var(--va-border); border-radius: 16px; overflow: hidden; margin: 20px 0; }
.va-atelier2--dark { background: var(--va-ink, #14170F); border-color: transparent; color: #fff; }
.va-atelier2--dark .va-atelier2__title { color: #fff; }
.va-atelier2--dark .va-atelier2__text { color: rgba(255,255,255,.78); }
.va-atelier2__media { position: relative; min-height: 200px; }
.va-atelier2__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.va-atelier2__body { padding: 26px 30px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.va-atelier2__title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.6rem; margin: 2px 0 0; }
.va-atelier2__text { font-size: .95rem; line-height: 1.7; color: var(--va-warm); margin: 0 0 6px; }
.va-atelier2--compact .va-atelier2__body { padding: 20px 24px; }
.va-atelier2--compact { grid-template-columns: 200px 1fr; }

.va-cform { background: #fff; border: 1px solid var(--va-border); border-radius: 16px; padding: 26px 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: var(--va-shadow); position: relative; }
.va-cform__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.va-cform textarea { border: 1px solid var(--va-border); border-radius: 9px; padding: 12px 14px; font-size: 1rem; font-family: inherit; resize: vertical; }
.va-cform textarea:focus { outline: none; border-color: var(--va-sage); box-shadow: 0 0 0 3px rgba(107,127,94,.12); }
.va-cform__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.va-btn--whatsapp { background: #25D366; color: #fff; }
.va-cform__msg { margin: 0; font-size: .875rem; color: #C85A54; min-height: 1em; }
.va-cform.is-done > *:not(.va-cform__done) { visibility: hidden; }
.va-cform__done { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 24px; }
.va-cform__done .va-icon { color: var(--va-sage); }
.va-cform__done h3 { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: 1.3rem; margin: 6px 0 0; }
.va-cform__done p { color: var(--va-warm); margin: 0; max-width: 420px; }

@media (max-width: 900px) {
  .va-expose { grid-template-columns: 1fr; }
  .va-expose__media { min-height: 220px; }
  .va-expose__media::after { background: linear-gradient(180deg, transparent 55%, rgba(42,39,34,.55)); }
  .va-expose__body { padding: 26px 24px; }
  .va-expose__perks { grid-template-columns: 1fr; }
  .va-atelier2, .va-atelier2--compact { grid-template-columns: 1fr; }
  .va-atelier2__media { min-height: 180px; }
  .va-cform__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   v4.2: Scheda immobile (single-immobile)
   ============================================================ */
.va-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: stretch; padding: 34px 0 50px; }
.va-detail-content { min-width: 0; }
.va-detail-sidebar { position: sticky; top: 24px; }

.va-detail-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.va-badge { font-size: .78rem; letter-spacing: .5px; padding: 6px 12px; border-radius: 7px; background: var(--va-sage); color: #fff; text-transform: uppercase; }
.va-badge--stone { background: var(--va-stone-light, #F0EBE5); color: var(--va-warm); }
.va-badge--gold { background: var(--va-gold, #C4A265); color: #fff; }
.va-detail-id { margin-left: auto; font-size: .8rem; color: var(--va-warm-light); }

.va-detail-title { font-family: 'EB Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.6rem, 3.2vw, 2.2rem); line-height: 1.25; margin: 0 0 10px; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.va-detail-ref { font-family: -apple-system, 'Segoe UI', sans-serif; font-size: .85rem; letter-spacing: 2px; color: var(--va-gold, #C4A265); text-transform: uppercase; white-space: nowrap; display: block; margin-bottom: 6px; }
.va-detail-location { display: flex; align-items: center; gap: 7px; font-size: .95rem; color: var(--va-warm-light); margin-bottom: 14px; flex-wrap: wrap; }
.va-detail-location .va-icon { color: var(--va-sage); }
.va-detail-price { font-size: 1.9rem; font-weight: 600; color: var(--va-sage); margin-bottom: 22px; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.va-detail-price-sqm { font-size: .9rem; font-weight: 400; color: var(--va-warm-light); }

/* Specs strip */
.va-shortcode--prop-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px; background: transparent; padding: 0; margin-bottom: 30px; }
.va-spec-item { background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 12px; padding: 16px 12px; text-align: center; }
.va-spec-item__value { font-family: var(--va-font-body); font-size: 1.3rem; color: var(--va-dark); }
.va-spec-item__label { font-size: .7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--va-warm-light); margin-top: 4px; }

/* Sections */
.va-detail-section { margin-bottom: 36px; padding-top: 26px; border-top: 1px solid var(--va-border); }
.va-detail-section > .va-kicker { display: block; margin-bottom: 14px; }
.va-detail-desc { font-size: 1.05rem; line-height: 1.85; color: var(--va-warm); }
.va-detail-desc p { margin: 0 0 1em; }

.va-detail-features { display: flex; flex-wrap: wrap; gap: 9px; }
.va-detail-feature { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--va-border); border-radius: 99px; padding: 9px 16px; font-size: .9rem; color: var(--va-warm); }
.va-detail-feature .va-icon { color: var(--va-sage); }

/* Energy scale */
.va-shortcode--energy-class { display: flex; gap: 4px; max-width: 560px; width: 100%; }
.va-energy-bar { flex: 1; color: #fff; font-size: .85rem; font-weight: 600; text-align: center; padding: 11px 0; border-radius: 8px; opacity: .35; transition: all .15s; position: relative; }
.va-energy-bar.is-active { opacity: 1; transform: scale(1.12); box-shadow: 0 4px 14px rgba(0,0,0,.2); z-index: 1; margin: 0 4px; }
.va-energy-bar.is-active::after { content: "▲"; position: absolute; left: 50%; transform: translateX(-50%); bottom: -18px; font-size: .7rem; color: var(--va-warm); }

/* Mortgage calc */
.va-shortcode--mortgage-calc { background: #fff; border: 1px solid var(--va-border); border-radius: 14px; padding: 22px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }
.va-mortgage-row { display: flex; flex-direction: column; gap: 6px; }
.va-mortgage-row label { font-size: .82rem; color: var(--va-warm-light); }
.va-mortgage-row .va-field { max-width: none !important; border: 1px solid var(--va-border); border-radius: 9px; padding: 11px 13px; font-size: 1rem; }
.va-mortgage-result { grid-column: 1 / -1; background: var(--va-gold-light, #F5EDD8); border-radius: 10px; padding: 16px; text-align: center; }
.va-mortgage-result__value { font-family: 'EB Garamond', Georgia, serif; font-size: 1.7rem; color: var(--va-gold, #C4A265); }
.va-mortgage-result__label { font-size: .78rem; letter-spacing: 1px; text-transform: uppercase; color: var(--va-warm-light); margin-top: 2px; }
.va-mortgage-disclaimer { grid-column: 1 / -1; font-size: .78rem !important; }

/* POI map */
#va-poi-map, .va-shortcode--poi-map { border-radius: 14px; overflow: hidden; min-height: 380px; border: 1px solid var(--va-border); }

/* Gallery */
.va-detail-gallery { background: var(--va-ink, #14170F); }
#va-gallery-main-img { width: 100%; max-height: 560px; object-fit: cover; display: block; }
/* v7.9.10: vecchio blocco thumb 96x68 rimosso alla fonte: vince il 104x72 (riga ~550) */

/* Sidebar v4.2 */
.va-side { display: flex; flex-direction: column; gap: 16px; }
.va-side__price { background: var(--va-ink, #14170F); color: #fff; border-radius: 16px; padding: 22px 24px; }
.va-side__amount { font-family: var(--va-font-body); font-size: 2rem; margin-top: 8px; }
.va-side__sqm { font-size: .85rem; color: rgba(255,255,255,.6); margin-top: 2px; }
.va-side__agent { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--va-border); border-radius: 14px; padding: 16px 18px; }
.va-side__photo { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.va-side__photo--ph { background: var(--va-sage); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.va-side__agent strong { display: block; font-size: .95rem; }
.va-side__agent span { font-size: .78rem; color: var(--va-warm-light); }
.va-side__actions { display: flex; flex-direction: column; gap: 9px; }
.va-side__form { background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 16px; padding: 18px; }
.va-side__form > .va-kicker { display: block; margin-bottom: 12px; }
.va-side__form .va-cform { border: 0; box-shadow: none; padding: 0; background: transparent; }
.va-side__form .va-cform__grid { grid-template-columns: 1fr; }
.va-side__form .va-btn--whatsapp { display: none; } /* già presente nelle azioni sopra */
.va-side__form .va-btn--primary { width: 100%; justify-content: center; }
.va-shortcode--share-save { display: flex; gap: 9px; }
.va-shortcode--share-save .va-btn { flex: 1; justify-content: center; min-width: 0; }
.va-shortcode--share-save .va-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#va-save-btn.is-saved { background: var(--va-sage); border-color: var(--va-sage); color: #fff; }

@media (max-width: 1000px) {
  .va-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .va-detail-sidebar { position: relative; top: 0; }
  .va-shortcode--mortgage-calc { grid-template-columns: 1fr; }
  #va-gallery-main-img { max-height: 320px; }
}
.va-search__map .va-map { height: 100% !important; }
.va-immobili-inline { margin: 36px 0; padding: 24px; background: var(--va-sage-pale, #F2F5F0); border: 1px solid var(--va-border); border-radius: 16px; } .va-immobili-inline > .va-kicker { display: block; margin-bottom: 14px; } .va-immobili-inline__all { margin: 16px 0 0; text-align: center; }
.va-cform__done[hidden] { display: none; }

/* v4.3 dashboard editor: lista */
.va-dashboard-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.va-dashboard-row{display:grid;grid-template-columns:84px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--va-border);border-radius:12px;padding:12px 16px 12px 12px;transition:border-color .12s,box-shadow .12s}
.va-dashboard-row:hover{border-color:var(--va-sage);box-shadow:var(--va-shadow)}
.va-dashboard-row__thumb{width:84px;height:60px;object-fit:cover;border-radius:8px}
.va-dashboard-row__thumb--empty{display:flex;align-items:center;justify-content:center;background:var(--va-sage-pale,#F2F5F0);color:var(--va-warm-light)}
.va-dashboard-row__info{display:flex;flex-direction:column;gap:3px;min-width:0}
.va-dashboard-row__ref{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--va-gold,#C4A265)}
.va-dashboard-row__title{font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.va-dashboard-row__meta{font-size:.9rem;color:var(--va-sage);font-weight:600;display:flex;align-items:center;gap:8px}
.va-dashboard-row__actions{display:flex;gap:8px}
.va-dash-search{width:100%;border:1px solid var(--va-border);border-radius:10px;padding:12px 16px;font-size:.95rem;margin-bottom:14px;background:#fff}
@media (max-width:640px){.va-dashboard-row{grid-template-columns:64px 1fr}.va-dashboard-row__actions{grid-column:1/-1}}

/* v4.4 gallery */
.va-detail-gallery{background:var(--va-ink,#14170F);padding:24px 0 14px}
.va-gallery{max-width:1200px;margin:0 auto;padding:0 24px}
.va-gallery__main{position:relative;border-radius:16px;overflow:hidden}
#va-gallery-main-img{width:100%;max-height:none;display:block}
.va-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--va-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;z-index:2}
.va-gallery__nav:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.va-gallery__nav--prev{left:16px}.va-gallery__nav--next{right:16px}
.va-gallery__counter{position:absolute;right:16px;bottom:16px;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);color:#fff;font-size:.82rem;padding:6px 13px;border-radius:99px;z-index:2}
.va-gallery__thumbs{display:flex;gap:9px;overflow-x:auto;padding:14px 2px 6px;scrollbar-width:thin}
.va-gallery__thumb-btn{flex-shrink:0;padding:0;background:none;border:2px solid transparent;border-radius:10px;overflow:hidden;opacity:.55;cursor:pointer;transition:all .12s}
.va-gallery__thumb-btn img{display:block;width:104px;height:72px;object-fit:cover}
.va-gallery__thumb-btn--active,.va-gallery__thumb-btn:hover{opacity:1;border-color:var(--va-gold,#C4A265)}
.va-gallery--empty{display:flex;align-items:center;justify-content:center;min-height:220px;color:rgba(255,255,255,.6)}

/* v4.4 respiro globale + form polish */
.va-section{padding:56px 0}
.va-detail-layout{padding:40px 0 64px}
.va-grid{display:grid;gap:18px}
.va-grid--2{grid-template-columns:repeat(2,1fr)}
.va-grid--3{grid-template-columns:repeat(3,1fr)}
.va-footer__grid{gap:40px}
.va-side__form .va-field-l input,.va-side__form .va-cform textarea{background:#fff}
.va-side__form .va-cform{gap:12px}
.va-field-l__hint{font-weight:400}
.va-cform__msg:empty{display:none}
@media (max-width:900px){.va-grid--2,.va-grid--3{grid-template-columns:1fr}.va-gallery{padding:0 14px}#va-gallery-main-img{}}

/* v4.5 [va_immobili] negli articoli: breakout dalla colonna stretta */
.va-article__content .va-immobili-inline{width:min(1100px,calc(100vw - 48px));margin-left:50%;transform:translateX(-50%)}
.va-immobili-inline .va-grid--3{grid-template-columns:repeat(3,1fr)}
.va-pcard__price{white-space:nowrap}
.va-pcard__cta,.va-pcard__compare{white-space:nowrap}
.va-pcard__foot{gap:8px}
@media (max-width:960px){.va-immobili-inline .va-grid--3{grid-template-columns:1fr}.va-article__content .va-immobili-inline{width:100%;margin-left:0;transform:none}}

/* v5 dettagli */
.va-pcard__photos{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);color:#fff;font-size:.72rem;padding:4px 9px;border-radius:99px}
.va-spec--en{background:#fff;border:1px solid currentColor;font-weight:600}
.va-detail-section>.va-kicker::after{content:"";display:block;width:44px;height:2px;background:var(--va-gold,#C4A265);margin-top:8px}
.va-detail-desc>p:first-of-type::first-letter{font-family:'EB Garamond',Georgia,serif;font-size:3em;float:left;line-height:.82;padding:5px 10px 0 0;color:var(--va-sage)}
::selection{background:var(--va-sage);color:#fff}
.va-hero__overlay{background:linear-gradient(180deg,rgba(22,20,16,.28) 0%,rgba(22,20,16,.58) 100%)}
.va-hero__title{text-shadow:0 1px 4px rgba(0,0,0,.6),0 4px 20px rgba(0,0,0,.4)}
.va-btn:focus-visible,.va-chip:focus-visible,.va-view:focus-visible{outline:2px solid var(--va-sage);outline-offset:2px}
.va-article__content a{text-underline-offset:3px}
.va-footer__unesco{display:block;margin-top:14px;opacity:.8}
.va-search .va-atelier2--compact{margin:30px 0 10px}
.va-news .va-expose{margin-top:36px}

/* v5 documenti + legenda POI premium */
.va-detail-section .va-doc-row,.va-detail-section li.va-doc,.va-shortcode--documents a{font-size:.95rem}
.va-detail-section ul{list-style:none;margin:0;padding:0}
.va-poi-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.va-poi-legend span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--va-border);border-radius:99px;padding:8px 14px;font-size:.85rem;color:var(--va-warm)}
.va-poi-legend .va-icon{color:var(--va-sage)}

/* v5 footer premium */
.va-footer{padding:56px 0 22px}
.va-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px}
.va-footer__name{font-family:'EB Garamond',Georgia,serif;font-size:1.3rem;letter-spacing:2px;margin-bottom:10px}
.va-footer__heading{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;opacity:.65;margin:0 0 14px}
.va-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.va-footer__links a{text-decoration:none;opacity:.82;transition:opacity .12s}
.va-footer__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.va-footer__unesco{width:96px;opacity:.8}
@media (max-width:900px){.va-footer__grid{grid-template-columns:1fr 1fr}}

/* v5 slider orizzontale per strisce immobili */
.va-hscroll .va-grid--3{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,320px);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;scrollbar-width:thin}
.va-hscroll .va-pcard{scroll-snap-align:start}

/* v5.1 icone specs */
.va-spec{display:inline-flex;align-items:center;gap:5px}
.va-spec .va-icon{opacity:.85;flex-shrink:0}
.va-spec--en{display:inline-flex;align-items:center;gap:4px}
.va-spec-item__icon{color:var(--va-sage);margin-bottom:6px;display:flex;justify-content:center}
.va-detail-feature .va-icon{color:var(--va-sage)}

/* v5.2 card prezzo strutturata */
.va-side__pricehead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.va-side__ref{font-size:.75rem;letter-spacing:2px;color:var(--va-gold,#C4A265);text-transform:uppercase}
.va-side__rows{margin-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.va-side__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.88rem;color:rgba(255,255,255,.75);text-decoration:none}
.va-side__row span{display:inline-flex;align-items:center;gap:8px}
.va-side__row .va-icon{color:var(--va-gold,#C4A265);opacity:.9}
.va-side__row b{color:#fff;font-weight:600}
.va-side__row:last-child{border-bottom:0;padding-bottom:2px}
.va-side__row--lock:hover b{text-decoration:underline;text-underline-offset:3px}
.va-check.is-zero{opacity:.45}
.va-check.is-zero{opacity:.45}

/* v5.4 vista mappa full-bleed + search bar polish */
.va-search__stage[data-view="map"]{width:min(1720px,100vw - 48px);margin-left:50%;transform:translateX(-50%)}
.va-searchbar__maplink{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.85rem;color:#fff;opacity:.85;text-decoration:none}
.va-searchbar__maplink:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.va-searchbar .va-field{border-radius:10px;padding:13px 14px;font-size:.95rem}

/* v5.5 search bar home premium */
.va-searchbar .va-field{appearance:none;-webkit-appearance:none;border:1px solid var(--va-border);background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7F5E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding:14px 38px 14px 16px;border-radius:12px;font-size:.95rem;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.va-searchbar .va-field:hover{border-color:var(--va-sage)}
.va-searchbar .va-field:focus{outline:none;border-color:var(--va-sage);box-shadow:0 0 0 3px rgba(107,127,94,.14)}
.va-searchbar__inner{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;background:#fff;padding:14px;border-radius:16px;box-shadow:0 18px 50px rgba(30,27,22,.18)}
.va-searchbar__btn{padding:14px 26px;border-radius:12px;font-size:.95rem}
@media (max-width:900px){.va-searchbar__inner{grid-template-columns:1fr 1fr}.va-searchbar__btn{grid-column:1/-1}}

/* v5.6 vista mappa: sotto, a tutta pagina, non di lato */
.va-search__stage[data-view="map"]{display:block;width:auto;margin-left:0;transform:none;grid-template-columns:none}
.va-search__stage[data-view="map"] .va-search__map{display:block;position:relative;top:0;height:62vh;min-height:460px;margin-bottom:28px}
.va-search__stage[data-view="map"] #va-results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.va-search__stage[data-view="map"] #va-results{grid-template-columns:1fr}.va-search__stage[data-view="map"] .va-search__map{height:46vh}}

/* v5.6 footer compatto e strutturato */
.va-footer{padding:44px 0 16px}
.va-footer__grid{gap:32px}
.va-footer__name{font-size:1.1rem;letter-spacing:1.5px}
.va-footer p,.va-footer address{font-size:.88rem;line-height:1.7;opacity:.75;font-style:normal}
.va-footer__links a{font-size:.88rem}
.va-footer__heading{font-size:.7rem;margin-bottom:11px}
.va-footer__unesco{width:78px;opacity:.7;margin-top:12px}
.va-footer__bottom{margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;opacity:.55;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* v5.7 sticky header */
.va-header{position:sticky;top:0;z-index:950;background:var(--va-cream,#FDFBF7)}
body.admin-bar .va-header{top:32px}
.va-header.is-stuck{box-shadow:0 6px 24px rgba(30,27,22,.09);border-bottom:1px solid var(--va-border)}
.va-header__top{transition:max-height .2s,opacity .2s}
.va-header.is-stuck .va-header__top{max-height:0;opacity:0;overflow:hidden}

/* v5.8 footer: colonne bilanciate e compatte */
.va-footer__grid{grid-template-columns:1.5fr 1.3fr 1fr .9fr;gap:40px;align-items:start}
.va-footer__links{display:block}
.va-footer__col--legale .va-footer__links{grid-template-columns:1fr}
.va-footer__links a{font-size:.85rem;line-height:1.5}
.va-footer__heading{margin:4px 0 14px}
.va-footer__name{margin:0 0 12px}
.va-footer p,.va-footer address{font-size:.85rem;line-height:1.65;margin:0 0 10px}
@media (max-width:900px){.va-footer__grid{grid-template-columns:1fr 1fr;gap:28px}.va-footer__links{grid-template-columns:1fr}}
@media (max-width:560px){.va-footer__grid{grid-template-columns:1fr}}

/* v6 tipologie: una riga a scroll con snap */
.va-shortcode--categories{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,200px);grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin}
.va-category-tile{scroll-snap-align:start}

/* v7.37: su mobile, niente scale/margine extra sulla lettera attiva (causava overflow a destra quando la lettera attiva era verso fine riga, es. G) */
@media (max-width: 480px) {
	.va-energy-bar.is-active { transform: none; margin: 0; }
}

/* v7.41: su mobile Salva+Condividi 50/50 in cima, Confronta a tutta larghezza sotto (testo troncato illeggibile con 3 in fila) */
@media (max-width: 480px) {
	.va-shortcode--share-save { flex-wrap: wrap; }
	.va-shortcode--share-save .va-btn { flex: 1 1 calc(50% - 4.5px); }
	.va-shortcode--share-save .compare-add-btn { flex: 1 1 100%; }
}
