/* =============================================================
   Vita3 — Overrides (Salient parent theme bleed)
   ClaudeDesign import 2026-05-08 — Newsreader + Hanken Grotesk
   Use body.vita3-page selector specificity to win over Salient.
   Only !important where Salient injects inline styles.
   ============================================================= */


/* ----- Body font + bg + color ------------------------------------ */
body.vita3-page {
    font-family: "Hanken Grotesk", "Inter", system-ui, -apple-system, sans-serif;
    background: var(--vita-paper);
    color: var(--vita-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
html body.vita3-page {
    background-color: var(--vita-paper) !important;
}

/* Salient applies font-family inline on .container-wrap and similar */
body.vita3-page #ajax-content-wrap,
body.vita3-page #vita3-home,
body.vita3-page #vita3-servicio,
body.vita3-page main {
    font-family: "Hanken Grotesk", "Inter", system-ui, -apple-system, sans-serif;
    color: var(--vita-ink);
    background: transparent;
}


/* ----- Display headings — Newsreader serif everywhere relevant -- */
body.vita3-page h1,
body.vita3-page h2,
body.vita3-page h3,
body.vita3-page .vita3-display,
body.vita3-page .vita3-hero__title,
body.vita3-page .vita3-section-header__title,
body.vita3-page .vita3-card-servicio__title,
body.vita3-page .vita3-team-card__name,
body.vita3-page .vita3-faq__question,
body.vita3-page .vita3-faq__trigger,
body.vita3-page .vita3-testimonio__quote,
body.vita3-page .vita3-team-card__quote,
body.vita3-page .vita3-cookies__title,
body.vita3-page .vita3-wizard__title,
body.vita3-page .vita3-side-menu__nav a {
    font-family: "Newsreader", "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-weight: 380;
    color: var(--vita-ink);
    text-transform: none;
}

/* Secciones olive-deep — texto cream/paper paseando por todo lo de dentro */
body.vita3-page .vita3-section--olive-deep,
body.vita3-page .vita3-section--olive-deep h2,
body.vita3-page .vita3-section--olive-deep h3,
body.vita3-page .vita3-section--olive-deep p,
body.vita3-page .vita3-section--olive-deep span,
body.vita3-page .vita3-section--olive-deep li,
body.vita3-page .vita3-section--olive-deep .vita3-display,
body.vita3-page .vita3-section--olive-deep .vita3-section-header__title,
body.vita3-page .vita3-section--olive-deep .vita3-value__title,
body.vita3-page .vita3-section--olive-deep .vita3-paso__title,
body.vita3-page .vita3-section--olive-deep .vita3-cta-final__title {
    color: var(--vita-paper) !important;
}
body.vita3-page .vita3-section--olive-deep .vita3-value__num,
body.vita3-page .vita3-section--olive-deep .vita3-paso__num {
    color: #C9B996 !important; /* gold accent ClaudeDesign */
    font-style: italic !important;
}
body.vita3-page .vita3-section--olive-deep .vita3-value__desc,
body.vita3-page .vita3-section--olive-deep .vita3-paso__desc,
body.vita3-page .vita3-section--olive-deep .vita3-cta-final__lede {
    color: rgba(245, 239, 227, 0.72) !important;
}
body.vita3-page .vita3-section--olive-deep .vita3-eyebrow,
body.vita3-page .vita3-section--olive-deep .vita3-eyebrow .num,
body.vita3-page .vita3-section--olive-deep .vita3-hero__eyebrow-num {
    color: rgba(245, 239, 227, 0.6) !important;
}
body.vita3-page .vita3-section--olive-deep em.vita3-italic,
body.vita3-page .vita3-section--olive-deep .vita3-italic {
    color: #C9B996 !important;
}

/* Italic mix — olive accent */
body.vita3-page .vita3-italic,
body.vita3-page em.vita3-italic,
body.vita3-page .vita3-hero__title em,
body.vita3-page .vita3-cta-final__title em,
body.vita3-page .vita3-section-header__title em {
    font-family: "Newsreader", "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    color: var(--vita-olive);
}

/* Eyebrow */
body.vita3-page .vita3-eyebrow {
    font-family: "Hanken Grotesk", "Inter", system-ui, sans-serif;
    font-weight: 500;
    color: var(--vita-ink-2);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 14px;
}

/* Numbers in cómo trabajamos — italic light gold */
body.vita3-page .vita3-paso__num {
    font-family: "Newsreader", Georgia, serif;
    font-style: italic;
    color: #C9B996;
    font-weight: 350;
}

/* === HERO compacto: ClaudeDesign exact paddings + título tamaño correcto === */
/* v1.7.1 — top padding bumped (no pegado al header), H1 -25% */
body.vita3-page .vita3-hero {
    padding: clamp(80px, 9vw, 140px) clamp(20px, 4vw, 56px) clamp(40px, 5vw, 64px) !important;
}
body.vita3-page .vita3-hero__title {
    font-size: clamp(36px, 5.4vw, 75px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.022em !important;
    font-weight: 340 !important;
    margin: 0 0 24px !important;
    text-wrap: balance;
}

/* === SERVICIOS — Salient con foto + tokens ClaudeDesign === */
body.vita3-page .vita3-servicios { padding: clamp(80px, 10vw, 140px) clamp(20px, 4vw, 56px) !important; }
body.vita3-page .vita3-servicios__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(28px, 3vw, 40px) !important;
    margin-top: clamp(48px, 6vw, 88px) !important;
}
body.vita3-page .vita3-card-servicio {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    min-height: 0 !important;
    text-decoration: none !important;
    color: inherit !important;
    position: relative !important;
    transition: transform 600ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)) !important;
    box-shadow: none !important;
}
body.vita3-page .vita3-card-servicio:hover {
    transform: translateY(-4px) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body.vita3-page .vita3-card-servicio__img-wrap {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: var(--vita-cream) !important;
    aspect-ratio: 1 / 1 !important;
}
body.vita3-page .vita3-card-servicio__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 800ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)) !important;
    display: block !important;
}
body.vita3-page .vita3-card-servicio:hover .vita3-card-servicio__img {
    transform: scale(1.04) !important;
}
body.vita3-page .vita3-card-servicio__num {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 2 !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: var(--vita-paper) !important;
    background: rgba(28, 26, 24, 0.55) !important;
    padding: 6px 10px !important;
    border-radius: 9999px !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    line-height: 1 !important;
}
body.vita3-page .vita3-card-servicio__body {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 4px !important;
    background: transparent !important;
    border: none !important;
}
body.vita3-page .vita3-card-servicio__cat {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: var(--vita-ink-3) !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
}
body.vita3-page .vita3-card-servicio__title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(22px, 1.9vw, 28px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.018em !important;
    color: var(--vita-ink) !important;
    margin: 4px 0 4px !important;
}
body.vita3-page .vita3-card-servicio__desc {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: var(--vita-ink-2) !important;
    margin: 0 0 10px !important;
    flex: 1 !important;
    max-width: 36ch !important;
}
body.vita3-page .vita3-card-servicio__link {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: var(--vita-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-bottom: 1px solid var(--vita-line) !important;
    padding-bottom: 4px !important;
    margin-top: 4px !important;
    width: fit-content !important;
    transition: border-color 200ms ease !important;
}
body.vita3-page .vita3-card-servicio__link svg,
body.vita3-page .vita3-card-servicio__link .vita3-icon {
    width: 12px !important;
    height: 12px !important;
    transition: transform 280ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)) !important;
}
body.vita3-page .vita3-card-servicio:hover .vita3-card-servicio__link {
    border-color: var(--vita-ink) !important;
}
body.vita3-page .vita3-card-servicio:hover .vita3-card-servicio__link svg,
body.vita3-page .vita3-card-servicio:hover .vita3-card-servicio__link .vita3-icon {
    transform: translate(2px, -2px) !important;
}
/* Sin variantes data-cat (todas las cards iguales con foto) */
body.vita3-page .vita3-card-servicio[data-cat] {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
}
body.vita3-page .vita3-card-servicio[data-cat]:hover {
    background: transparent !important;
}
@media (max-width: 1024px) {
    body.vita3-page .vita3-servicios__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    body.vita3-page .vita3-servicios__grid { grid-template-columns: 1fr !important; }
}

/* Botón nav-cta del header — exacto al ClaudeDesign */
body.vita3-page .vita3-header__menu-btn {
    padding: 13px 22px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: var(--vita-olive) !important;
    color: var(--vita-paper) !important;
    border-radius: 999px !important;
    transition: background 0.25s ease !important;
}
body.vita3-page .vita3-header__menu-btn:hover {
    background: var(--vita-olive-2) !important;
}


/* ----- Buttons --------------------------------------------------- */
body.vita3-page .vita3-btn {
    font-family: "Hanken Grotesk", "Inter", system-ui, sans-serif;
    font-weight: 500;
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0.005em;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--vita-ink);
    border: 1px solid var(--vita-line);
    padding: 16px 26px;
    line-height: 1;
    box-shadow: none;
    text-decoration: none;
}
body.vita3-page .vita3-btn:hover {
    border-color: var(--vita-ink);
    transform: translateY(-1px);
}
body.vita3-page .vita3-btn--primary {
    background: var(--vita-olive);
    color: var(--vita-paper);
    border-color: var(--vita-olive);
}
body.vita3-page .vita3-btn--primary:hover {
    background: var(--vita-olive-2);
    border-color: var(--vita-olive-2);
    color: var(--vita-paper);
}
body.vita3-page .vita3-btn--lg { font-size: 15px; padding: 16px 32px; }
body.vita3-page .vita3-btn--ghost {
    border-color: transparent;
    background: transparent;
    padding: 8px 12px;
}
body.vita3-page .vita3-btn--ghost:hover {
    background: var(--vita-tint-6);
    color: var(--vita-ink);
}


/* ----- Header (floating capsule)  --------------------------------- */
body.vita3-page .vita3-header {
    position: sticky;
    top: 14px;
    z-index: 80;
    background: transparent;
    margin-top: 14px;
    margin-bottom: -78px;
    padding: 0 var(--container-gutter);
}
body.vita3-page .vita3-header__inner {
    max-width: var(--container-max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 24px;
    background: color-mix(in oklab, var(--vita-paper-2) 92%, transparent);
    border: 1px solid var(--vita-line);
    border-radius: var(--radius-pill);
    padding-left: 28px;
    padding-right: 8px;
    box-shadow: var(--shadow-nav);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
@supports not (background: color-mix(in oklab, white, transparent)) {
    body.vita3-page .vita3-header__inner { background: rgba(250, 246, 238, 0.92); }
}
body.vita3-page .vita3-header__logo,
body.vita3-page .vita3-header__logo-name,
body.vita3-page .vita3-footer__logo {
    font-family: "Newsreader", "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    color: var(--vita-ink);
    text-decoration: none;
    font-size: 26px;
    letter-spacing: 0.01em;
}
/* v1.7.5 — Logo sin punto, 3 pegado a la A en verde clarito sage */
body.vita3-page .vita3-header__logo,
body.vita3-page .vita3-footer__logo {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
}
body.vita3-page .vita3-header__logo-3,
body.vita3-page .vita3-footer__logo-3 {
    color: var(--vita-olive-light) !important;
    font-style: normal;
    margin-left: -0.02em; /* leve kerning para que el 3 quede pegado a la A */
    font-weight: 500;
}
/* Ocultar el dot si quedara algún markup cacheado en clientes antiguos */
body.vita3-page .vita3-header__logo-dot,
body.vita3-page .vita3-footer__logo-dot {
    display: none !important;
}
body.vita3-page .vita3-header__menu-btn {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-weight: 500;
    font-size: 14px;
    background: var(--vita-olive);
    color: var(--vita-paper);
    border: none;
    padding: 13px 22px;
    border-radius: var(--radius-pill);
    letter-spacing: var(--letter-spacing-button);
    text-transform: none;
    cursor: pointer;
    line-height: 1;
    box-shadow: none;
    text-decoration: none;
}
body.vita3-page .vita3-header__menu-btn:hover {
    background: var(--vita-olive-2);
    color: var(--vita-paper);
}

body.vita3-page .vita3-header__nav-horizontal {
    display: flex;
    gap: 32px;
    align-items: center;
    flex: 1;
    justify-content: center;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 15px;
    font-weight: 500;
}
body.vita3-page .vita3-header__nav-horizontal a {
    color: var(--vita-ink);
    text-decoration: none;
    letter-spacing: 0;
    padding: 6px 0;
    position: relative;
}
@media (max-width: 1024px) {
    body.vita3-page .vita3-header__nav-horizontal { display: none; }
    body.vita3-page .vita3-header__hamburger { display: inline-flex; }
}


/* ----- Page hero (mini-hero of section pages) ------------------- */
body.vita3-page .vita3-page-hero {
    padding-top: clamp(120px, 14vh, 180px);
    padding-bottom: clamp(48px, 6vh, 80px);
    background: var(--vita-paper);
    color: var(--vita-ink);
}
body.vita3-page .vita3-page-hero__title {
    font-family: "Newsreader", Georgia, serif;
    font-weight: 380;
    font-size: clamp(56px, 8vw, 116px);
    line-height: 0.95;
    letter-spacing: -0.025em;
    margin: 16px 0;
    max-width: 14ch;
    text-wrap: balance;
    color: var(--vita-ink);
}
body.vita3-page .vita3-page-hero__lede {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: clamp(18px, 1.4vw, 22px);
    line-height: 1.5;
    color: var(--vita-ink-2);
    max-width: 56ch;
    margin: 0;
}


/* ----- Sections backgrounds ------------------------------------- */
body.vita3-page .vita3-section--paper {
    background: var(--vita-paper);
    color: var(--vita-ink);
}
body.vita3-page .vita3-section--paper-2 {
    background: var(--vita-paper-2);
    color: var(--vita-ink);
}
body.vita3-page .vita3-section--cream {
    background: var(--vita-cream);
    color: var(--vita-ink);
}
body.vita3-page .vita3-section--tinted {
    background: var(--vita-paper);
    color: var(--vita-ink);
}
body.vita3-page .vita3-section--olive-deep,
body.vita3-page .vita3-section--forest,
body.vita3-page .vita3-section--forest-bar {
    background: var(--vita-olive-deep) !important;
    color: var(--vita-paper) !important;
}

/* v1.7.2 — Contraste forzado en fondos olive-deep / forest
   El cliente reportó texto verde sobre verde en "Cómo funciona en cuatro pasos" */
body.vita3-page .vita3-section--forest h2,
body.vita3-page .vita3-section--forest h3,
body.vita3-page .vita3-section--forest p,
body.vita3-page .vita3-section--forest .vita3-display,
body.vita3-page .vita3-section--forest .vita3-eyebrow,
body.vita3-page .vita3-section--forest-bar h2,
body.vita3-page .vita3-section--forest-bar h3,
body.vita3-page .vita3-section--forest-bar .vita3-display,
body.vita3-page .vita3-section--forest-bar .vita3-eyebrow,
body.vita3-page .vita3-section--olive-deep h2,
body.vita3-page .vita3-section--olive-deep h3,
body.vita3-page .vita3-section--olive-deep .vita3-display,
body.vita3-page .vita3-section--olive-deep .vita3-eyebrow {
    color: var(--vita-paper) !important;
}
body.vita3-page .vita3-section--forest em.vita3-italic,
body.vita3-page .vita3-section--olive-deep em.vita3-italic {
    color: rgba(245, 239, 227, 0.85) !important;
}
body.vita3-page .vita3-section--forest .vita3-eyebrow,
body.vita3-page .vita3-section--forest-bar .vita3-eyebrow,
body.vita3-page .vita3-section--olive-deep .vita3-eyebrow {
    color: rgba(245, 239, 227, 0.70) !important;
}

/* Cards numeradas dentro de "Cómo funciona" sobre olive-deep */
body.vita3-page .vita3-section--forest .vita3-como-funciona-srv__card,
body.vita3-page .vita3-section--olive-deep .vita3-como-funciona-srv__card {
    background: rgba(245, 239, 227, 0.04) !important;
    border: 1px solid rgba(245, 239, 227, 0.18) !important;
    color: var(--vita-paper) !important;
}
body.vita3-page .vita3-section--forest .vita3-como-funciona-srv__num,
body.vita3-page .vita3-section--olive-deep .vita3-como-funciona-srv__num {
    color: rgba(245, 239, 227, 0.55) !important;
    font-family: "Newsreader", Georgia, serif !important;
}
body.vita3-page .vita3-section--forest .vita3-como-funciona-srv__title,
body.vita3-page .vita3-section--olive-deep .vita3-como-funciona-srv__title {
    color: var(--vita-paper) !important;
    font-family: "Newsreader", Georgia, serif !important;
}
body.vita3-page .vita3-section--forest .vita3-como-funciona-srv__desc,
body.vita3-page .vita3-section--olive-deep .vita3-como-funciona-srv__desc {
    color: rgba(245, 239, 227, 0.78) !important;
}


/* ----- Servicio cards (text-only editorial) --------------------- */
body.vita3-page .vita3-card-servicio {
    text-decoration: none;
    color: inherit;
}
body.vita3-page .vita3-card-servicio__title {
    font-family: "Newsreader", Georgia, serif;
    color: var(--vita-ink);
    font-weight: 420;
}
body.vita3-page .vita3-card-servicio__desc {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    color: var(--vita-ink-2);
    font-size: 15px;
}
body.vita3-page .vita3-card-servicio[data-cat="domicilio"] .vita3-card-servicio__title {
    color: var(--vita-paper);
}
body.vita3-page .vita3-card-servicio[data-cat="domicilio"] .vita3-card-servicio__desc {
    color: rgba(245, 239, 227, 0.74);
}


/* ----- Footer (olive-deep) -------------------------------------- */
body.vita3-page .vita3-footer {
    background: var(--vita-olive-deep);
    color: var(--vita-paper);
}
body.vita3-page .vita3-footer__col a {
    color: rgba(245, 239, 227, 0.85);
    text-decoration: none;
}
body.vita3-page .vita3-footer__col h4 {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    text-transform: uppercase;
    color: rgba(245, 239, 227, 0.55);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
}


/* ----- Side menu nav serif ------------------------------------- */
body.vita3-page .vita3-side-menu {
    background: var(--vita-paper-2);
}
body.vita3-page .vita3-side-menu__nav a {
    font-family: "Newsreader", Georgia, serif;
    color: var(--vita-ink);
    text-decoration: none;
    font-weight: 380;
}


/* ----- Wizard (preserve aesthetic but new palette) ------------- */
body.vita3-page .vita3-wizard__title {
    font-family: "Newsreader", Georgia, serif;
    color: var(--vita-ink);
    font-weight: 380;
    text-align: center;
    margin: 0 auto 14px;
    max-width: 22ch;
}
body.vita3-page .vita3-wizard__subhead {
    color: var(--vita-ink-2);
    text-align: center;
    max-width: 56ch;
    margin: 0 auto 36px;
    font-size: 14px;
    line-height: 1.5;
    font-family: "Hanken Grotesk", sans-serif;
}
body.vita3-page .vita3-wizard__panel {
    max-width: 760px;
    width: min(760px, 92vw);
    padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 48px);
    background: var(--vita-paper-2);
}
body.vita3-page .vita3-wizard__close {
    width: 36px;
    height: 36px;
    border: 1px solid var(--vita-line);
    background: transparent;
    color: var(--vita-ink-2);
    font-size: 16px;
    border-radius: 50%;
}
body.vita3-page .vita3-wizard__close:hover {
    background: var(--vita-ink);
    color: var(--vita-paper);
    border-color: var(--vita-ink);
}
body.vita3-page .vita3-wizard__header { margin-bottom: 32px; }

body.vita3-page .vita3-wizard__form-fields {
    max-width: 520px;
    margin: 0 auto;
    gap: 20px;
}
body.vita3-page .vita3-wizard__form-fields label {
    text-align: left;
    align-items: flex-start;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--vita-ink-2);
    font-weight: 600;
    gap: 8px;
    flex-direction: column;
    font-family: "Hanken Grotesk", sans-serif;
}
body.vita3-page .vita3-wizard__footer {
    margin-top: 40px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    gap: 12px;
}
body.vita3-page .vita3-wizard__back,
body.vita3-page .vita3-wizard__next {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 13px;
    padding: 12px 22px;
    border-radius: 9999px;
    background: transparent;
    color: var(--vita-ink);
    border: 1px solid var(--vita-line);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0.04em;
}
body.vita3-page .vita3-wizard__back:hover,
body.vita3-page .vita3-wizard__next:hover {
    background: var(--vita-ink);
    color: var(--vita-paper);
    border-color: var(--vita-ink);
}
body.vita3-page .vita3-wizard__submit {
    background: var(--vita-olive);
    color: var(--vita-paper);
    border: none;
    padding: 16px 32px;
    font-family: "Hanken Grotesk", sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.04em;
    border-radius: 9999px;
    width: 100%;
    margin-top: 24px;
    cursor: pointer;
}
body.vita3-page .vita3-wizard__submit:hover { background: var(--vita-olive-2); }


/* ===============  FORMS / INPUTS  ================================
   Cream-soft bg, 2px border, 14px radius, focus halo.
   ================================================================ */
body.vita3-page .vita3-input,
body.vita3-page input.vita3-input,
body.vita3-page select.vita3-input,
body.vita3-page textarea.vita3-input,
body.vita3-page form input[type="text"],
body.vita3-page form input[type="tel"],
body.vita3-page form input[type="email"],
body.vita3-page form input[type="number"],
body.vita3-page form input[type="search"],
body.vita3-page form input[type="url"],
body.vita3-page form input[type="password"],
body.vita3-page form select,
body.vita3-page form textarea,
body.vita3-page .vita3-wizard input[type="text"],
body.vita3-page .vita3-wizard input[type="tel"],
body.vita3-page .vita3-wizard input[type="email"],
body.vita3-page .vita3-wizard select,
body.vita3-page .vita3-wizard textarea {
    width: 100% !important;
    background: var(--vita-paper-2) !important;
    border: 2px solid var(--vita-line) !important;
    border-radius: 14px !important;
    padding: 16px 22px !important;
    color: var(--vita-ink) !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.005em !important;
    transition: border-color 240ms var(--ease-out-quart),
                background 240ms ease,
                box-shadow 240ms ease !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    text-shadow: none !important;
}
body.vita3-page .vita3-input::placeholder,
body.vita3-page form input::placeholder,
body.vita3-page form textarea::placeholder {
    color: var(--vita-ink-3) !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}
body.vita3-page .vita3-input:hover,
body.vita3-page form input:hover,
body.vita3-page form select:hover,
body.vita3-page form textarea:hover {
    border-color: var(--vita-stone) !important;
}
body.vita3-page .vita3-input:focus,
body.vita3-page .vita3-input:focus-visible,
body.vita3-page form input:focus,
body.vita3-page form select:focus,
body.vita3-page form textarea:focus,
body.vita3-page .vita3-wizard input:focus,
body.vita3-page .vita3-wizard select:focus,
body.vita3-page .vita3-wizard textarea:focus {
    background: var(--vita-paper-2) !important;
    border-color: var(--vita-olive) !important;
    border-width: 2px !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(74, 82, 54, 0.10) !important;
}

body.vita3-page select.vita3-input {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231C1A18' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    background-size: 14px 14px !important;
    padding-right: 44px !important;
    cursor: pointer;
}

body.vita3-page textarea.vita3-input {
    min-height: 120px;
    resize: vertical;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
}

body.vita3-page input[type="checkbox"],
body.vita3-page input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    border: 1.5px solid var(--vita-stone) !important;
    background: var(--vita-paper-2) !important;
    accent-color: var(--vita-olive) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}
body.vita3-page input[type="radio"] {
    border-radius: 50% !important;
}
body.vita3-page input[type="checkbox"]:focus,
body.vita3-page input[type="radio"]:focus {
    outline: 2px solid var(--vita-olive) !important;
    outline-offset: 2px !important;
}

body.vita3-page .vita3-radio-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    border: none !important;
    padding: 0 !important;
}
body.vita3-page .vita3-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--vita-paper-2) !important;
    border: 1px solid var(--vita-line) !important;
    border-radius: 9999px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    color: var(--vita-ink) !important;
    cursor: pointer !important;
    transition: border-color 200ms ease, background 200ms ease;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}
body.vita3-page .vita3-radio-group label:hover {
    border-color: var(--vita-ink) !important;
}
body.vita3-page .vita3-radio-group label:has(input:checked) {
    background: var(--vita-olive) !important;
    border-color: var(--vita-olive) !important;
    color: var(--vita-paper) !important;
}

body.vita3-page form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--vita-ink-2) !important;
    margin: 0 !important;
}
body.vita3-page form label.vita3-checkbox {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--vita-ink-2) !important;
}


/* ===============  MINI-HERO de servicio (paper bg) ===============
   Página individual /servicios/<slug>/.
   ================================================================ */
body.vita3-page .vita3-mini-hero--paper {
    background: var(--vita-paper) !important;
    color: var(--vita-ink) !important;
    padding: clamp(140px, 16vh, 200px) clamp(24px, 4vw, 64px) clamp(64px, 8vh, 96px) !important;
}
body.vita3-page .vita3-mini-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
    gap: clamp(40px, 5vw, 80px) !important;
    align-items: center !important;
    max-width: var(--container-max);
    margin: 0 auto;
}
body.vita3-page .vita3-mini-hero__copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    color: var(--vita-ink) !important;
}
body.vita3-page .vita3-mini-hero__copy .vita3-eyebrow {
    color: var(--vita-ink-2) !important;
}
body.vita3-page .vita3-mini-hero__title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(48px, 6.5vw, 88px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.025em !important;
    color: var(--vita-ink) !important;
    margin: 0 !important;
    font-weight: 380 !important;
    text-wrap: balance;
}
body.vita3-page .vita3-mini-hero__subhead {
    font-size: clamp(17px, 1.3vw, 20px) !important;
    line-height: 1.55 !important;
    color: var(--vita-ink-2) !important;
    max-width: 48ch !important;
    margin: 0 !important;
    font-family: "Hanken Grotesk", sans-serif !important;
}
body.vita3-page .vita3-mini-hero__ctas {
    display: flex !important;
    gap: 24px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
}
body.vita3-page .vita3-mini-hero__microcopy {
    margin: 4px 0 0 !important;
    font-size: 12px !important;
    color: var(--vita-ink-3) !important;
}
body.vita3-page .vita3-mini-hero__media img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
    border-radius: var(--radius-card-md) !important;
    background: var(--vita-cream) !important;
    max-height: 600px !important;
    display: block !important;
}
body.vita3-page .vita3-breadcrumb {
    font-family: "Hanken Grotesk", sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.03em !important;
    color: var(--vita-ink-2) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 4px !important;
}
body.vita3-page .vita3-breadcrumb a {
    color: var(--vita-ink-2) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 200ms ease !important;
}
body.vita3-page .vita3-breadcrumb a:hover {
    border-bottom-color: var(--vita-ink-2) !important;
}
@media (max-width: 1024px) {
    body.vita3-page .vita3-mini-hero__inner {
        grid-template-columns: 1fr !important;
    }
    body.vita3-page .vita3-mini-hero__media { order: -1; }
    body.vita3-page .vita3-mini-hero__media img { aspect-ratio: 16/10 !important; max-height: 380px !important; }
}


/* ===============  QUÉ INCLUYE (servicio detail) =================== */
body.vita3-page .vita3-que-incluye__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) !important;
    gap: clamp(40px, 6vw, 96px) !important;
    align-items: start !important;
}
body.vita3-page .vita3-que-incluye__head {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    position: sticky;
    top: 100px;
}
body.vita3-page .vita3-que-incluye__title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(36px, 4vw, 56px) !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    color: var(--vita-ink) !important;
    margin: 0 !important;
    font-weight: 380 !important;
    max-width: 14ch !important;
    text-wrap: balance;
}
body.vita3-page .vita3-que-incluye__title em.vita3-italic {
    font-style: italic !important;
    color: var(--vita-olive) !important;
}
body.vita3-page .vita3-que-incluye__grid {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: clamp(24px, 3vw, 40px) !important;
}
body.vita3-page .vita3-que-incluye__item {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
body.vita3-page .vita3-que-incluye__icon {
    color: var(--vita-olive) !important;
    line-height: 0;
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: flex-start;
}
body.vita3-page .vita3-que-incluye__item-title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(20px, 1.7vw, 24px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--vita-ink) !important;
    margin: 0 !important;
    font-weight: 380 !important;
}
body.vita3-page .vita3-que-incluye__desc {
    font-family: "Hanken Grotesk", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--vita-ink-2) !important;
    margin: 0 !important;
}
@media (max-width: 1024px) {
    body.vita3-page .vita3-que-incluye__inner { grid-template-columns: 1fr !important; }
    body.vita3-page .vita3-que-incluye__head { position: static !important; }
}
@media (max-width: 600px) {
    body.vita3-page .vita3-que-incluye__grid { grid-template-columns: 1fr !important; }
}


/* ----- Default link colors ------------------------------------- */
body.vita3-page .vita3-link-arrow,
body.vita3-page .vita3-section a:not([class]) {
    color: var(--vita-ink);
}

/* Salient default a {color: theme-accent} override */
body.vita3-page #vita3-home a,
body.vita3-page #vita3-servicio a {
    color: inherit;
}

/* Salient #ajax-content-wrap padding */
body.vita3-page #ajax-content-wrap {
    padding-top: 0 !important;
}

/* Hide deprecated cobertura-v2 if it still appears */
body.vita3-page .vita3-cobertura-v2 { display: none !important; }


/* ================================================================
   v1.5.3 — Fixes Alain (2026-05-09)
   1) Botón Pedir asesoramiento con estilos
   2) Saber más más cerca del párrafo
   3) Equipo: aspect-ratio + crop top
   4) Testimonios: Salient Style nº2 (avatar + nombre + cita + ★)
   ================================================================ */

/* --- 1) BOTÓN .vita3-link-arrow (también <button>) ------------ */
body.vita3-page .vita3-link-arrow,
body.vita3-page button.vita3-link-arrow,
body.vita3-page .vita3-section-header__cta,
body.vita3-page button.vita3-section-header__cta {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    padding: 0 0 4px !important;
    margin: 0 !important;
    color: var(--vita-ink) !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    transition: color 200ms ease, border-color 200ms ease !important;
}
body.vita3-page .vita3-link-arrow:hover,
body.vita3-page button.vita3-link-arrow:hover,
body.vita3-page .vita3-section-header__cta:hover {
    color: var(--vita-olive) !important;
    background: transparent !important;
    border-color: var(--vita-olive) !important;
}
body.vita3-page .vita3-link-arrow:focus-visible,
body.vita3-page button.vita3-link-arrow:focus-visible,
body.vita3-page .vita3-section-header__cta:focus-visible {
    outline: 2px solid var(--vita-olive) !important;
    outline-offset: 6px !important;
}
body.vita3-page .vita3-link-arrow svg,
body.vita3-page .vita3-link-arrow .vita3-icon,
body.vita3-page button.vita3-link-arrow svg,
body.vita3-page button.vita3-link-arrow .vita3-icon,
body.vita3-page .vita3-section-header__cta svg,
body.vita3-page .vita3-section-header__cta .vita3-icon {
    width: 14px !important;
    height: 14px !important;
    transition: transform 250ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)) !important;
    flex-shrink: 0 !important;
}
body.vita3-page .vita3-link-arrow:hover svg,
body.vita3-page .vita3-link-arrow:hover .vita3-icon,
body.vita3-page button.vita3-link-arrow:hover svg,
body.vita3-page button.vita3-link-arrow:hover .vita3-icon,
body.vita3-page .vita3-section-header__cta:hover svg,
body.vita3-page .vita3-section-header__cta:hover .vita3-icon {
    transform: translate(2px, -2px) !important;
}
/* Variante en olive-deep (ej. CTA final) ya invierte color en sus reglas */


/* --- 2) SABER MÁS más cerca del párrafo ---------------------- */
body.vita3-page .vita3-card-servicio__body {
    gap: 6px !important;
}
body.vita3-page .vita3-card-servicio__desc {
    flex: 0 0 auto !important;
    margin: 0 !important;
}
body.vita3-page .vita3-card-servicio__link {
    margin-top: 6px !important;
}


/* --- 3) EQUIPO: aspect-ratio + crop top ---------------------- */
body.vita3-page .vita3-equipo {
    background: var(--vita-paper-2) !important;
    padding: clamp(80px, 10vw, 140px) clamp(20px, 4vw, 56px) !important;
}
body.vita3-page .vita3-equipo__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(28px, 3vw, 48px) !important;
    margin-bottom: clamp(48px, 6vw, 88px) !important;
}
body.vita3-page .vita3-team-card__img-wrap {
    aspect-ratio: 4 / 5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: var(--vita-cream) !important;
    margin: 0 0 24px !important;
    position: relative !important;
}
body.vita3-page .vita3-team-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 25% !important; /* favorece la cara, recorta los pies */
    filter: contrast(1.02) saturate(0.95) !important;
    display: block !important;
    transition: transform 800ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)) !important;
}
body.vita3-page .vita3-team-card:hover .vita3-team-card__img {
    transform: scale(1.04) !important;
}
@media (max-width: 880px) {
    body.vita3-page .vita3-equipo__grid { grid-template-columns: 1fr !important; }
}


/* --- 4) TESTIMONIOS — Salient Style nº2 ---------------------- */
body.vita3-page .vita3-testimonios {
    background: var(--vita-paper) !important;
    padding: clamp(80px, 10vw, 140px) clamp(20px, 4vw, 56px) !important;
}
body.vita3-page .vita3-testimonios__list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(24px, 3vw, 32px) !important;
    margin-top: 0 !important;
    border: none !important;
}
body.vita3-page .vita3-testimonio {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 32px 30px !important;
    background: var(--vita-paper-2) !important;
    border: 1px solid var(--vita-line) !important;
    border-radius: 10px !important;
    margin: 0 !important;
    position: relative !important;
    transition: transform 400ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)),
                border-color 200ms ease !important;
}
body.vita3-page .vita3-testimonio:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(74, 82, 54, 0.32) !important;
}
body.vita3-page .vita3-testimonio__head {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}
body.vita3-page .vita3-testimonio__avatar {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: var(--vita-olive) !important;
    color: var(--vita-paper) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Newsreader", Georgia, serif !important;
    font-style: italic !important;
    font-size: 22px !important;
    font-weight: 380 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    letter-spacing: 0 !important;
}
body.vita3-page .vita3-testimonio__avatar--img {
    background: var(--vita-cream) !important;
}
body.vita3-page .vita3-testimonio__avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
body.vita3-page .vita3-testimonio__person {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}
body.vita3-page .vita3-testimonio__name {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--vita-ink) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}
body.vita3-page .vita3-testimonio__role {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 12.5px !important;
    color: var(--vita-ink-3) !important;
    line-height: 1.3 !important;
    letter-spacing: 0.01em !important;
}
body.vita3-page .vita3-testimonio__quote {
    font-family: "Newsreader", Georgia, serif !important;
    font-style: italic !important;
    font-size: 17.5px !important;
    line-height: 1.5 !important;
    color: var(--vita-ink-2) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    text-wrap: pretty !important;
    flex: 1 !important;
    letter-spacing: -0.005em !important;
}
body.vita3-page .vita3-testimonio__quote em {
    font-style: italic !important;
    color: var(--vita-ink-2) !important;
    font-family: "Newsreader", Georgia, serif !important;
}
body.vita3-page .vita3-testimonio__stars {
    display: inline-flex !important;
    gap: 2px !important;
    color: var(--vita-olive) !important;
    font-size: 14px !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    margin-top: 4px !important;
}
body.vita3-page .vita3-testimonio__star.is-empty { color: rgba(28, 26, 24, 0.18) !important; }
/* Esconder vestigios v1: la comilla glyph y los seps */
body.vita3-page .vita3-testimonio__mark { display: none !important; }
body.vita3-page .vita3-testimonio__meta,
body.vita3-page .vita3-testimonio__sep,
body.vita3-page .vita3-testimonio__city { display: none !important; }
@media (max-width: 1024px) {
    body.vita3-page .vita3-testimonios__list { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 720px) {
    body.vita3-page .vita3-testimonios__list { grid-template-columns: 1fr !important; }
}


/* ================================================================
   v1.5.4 — Cookies banner estilo a-digital.net con tokens Vita3
   - Pill bottom-centered dark olive-deep con backdrop-blur
   - Aceptar todo: cream pill (paper bg, ink text)
   - Rechazar todo: outlined paper pill
   - Gestionar: text-link muted
   ================================================================ */
body.vita3-page .vita3-cookies {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: max(16px, calc(env(safe-area-inset-bottom, 0px) + 16px)) !important;
    transform: translateX(-50%) translateY(120%) !important;
    z-index: 9999 !important;
    background: rgba(35, 39, 29, 0.95) !important; /* vita-olive-deep 95% */
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(245, 239, 227, 0.10) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35) !important;
    color: var(--vita-paper) !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    max-width: calc(100vw - 24px) !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    transition: transform 600ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)),
                opacity 400ms ease !important;
}
body.vita3-page .vita3-cookies.is-visible {
    transform: translateX(-50%) translateY(0) !important;
    opacity: 1 !important;
}
body.vita3-page .vita3-cookies__bar {
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}
body.vita3-page .vita3-cookies__label {
    font-size: 13px !important;
    color: rgba(245, 239, 227, 0.92) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
body.vita3-page .vita3-cookies__label-link,
body.vita3-page .vita3-cookies__label a {
    color: rgba(245, 239, 227, 0.92) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
}
body.vita3-page .vita3-cookies__label-link:hover {
    color: var(--vita-paper) !important;
}
body.vita3-page .vita3-cookies__actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}
/* Common button reset (override Salient/components.css) */
body.vita3-page .vita3-cookies .vita3-cookies__btn,
body.vita3-page .vita3-cookies__btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    border-radius: 9999px !important;
    border: 0 !important;
    padding: 8px 16px !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-shadow: none !important;
}
/* Aceptar todo - cream pill (token paper) */
body.vita3-page .vita3-cookies__btn--primary {
    background: var(--vita-paper) !important;
    color: var(--vita-ink) !important;
}
body.vita3-page .vita3-cookies__btn--primary:hover {
    background: #ffffff !important;
    color: var(--vita-ink) !important;
}
/* Rechazar todo - outlined paper pill (specificity 0,3,0,1 para ganar al base) */
body.vita3-page .vita3-cookies .vita3-cookies__btn--reject {
    background: transparent !important;
    border: 1px solid rgba(245, 239, 227, 0.45) !important;
    color: var(--vita-paper) !important;
    padding: 7px 16px !important;
}
body.vita3-page .vita3-cookies .vita3-cookies__btn--reject:hover {
    background: transparent !important;
    border-color: var(--vita-paper) !important;
    color: var(--vita-paper) !important;
}
/* Gestionar - text-only link muted */
body.vita3-page .vita3-cookies__link {
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    padding: 7px 10px !important;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(245, 239, 227, 0.65) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    transition: color 200ms ease !important;
    line-height: 1 !important;
    border-radius: 0 !important;
    text-transform: none !important;
}
body.vita3-page .vita3-cookies__link:hover {
    color: var(--vita-paper) !important;
    background: transparent !important;
}
/* Hide vestigial v1 elements if still in markup */
body.vita3-page .vita3-cookies__title,
body.vita3-page .vita3-cookies__text { display: none !important; }

/* Mobile compact (mismo breakpoint que a-digital) */
@media (max-width: 600px) {
    body.vita3-page .vita3-cookies {
        bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) + 12px)) !important;
        border-radius: 12px !important;
        max-width: calc(100vw - 16px) !important;
    }
    body.vita3-page .vita3-cookies__bar {
        padding: 8px 10px !important;
        gap: 8px !important;
    }
    /* En móvil compacto, ocultar el label de texto (igual que a-digital) */
    body.vita3-page .vita3-cookies__label {
        display: none !important;
    }
    body.vita3-page .vita3-cookies__actions {
        gap: 5px !important;
    }
    body.vita3-page .vita3-cookies .vita3-cookies__btn,
    body.vita3-page .vita3-cookies__btn,
    body.vita3-page .vita3-cookies__btn--reject {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }
    body.vita3-page .vita3-cookies__btn--reject {
        padding: 5px 10px !important;
    }
    body.vita3-page .vita3-cookies__link {
        padding: 6px !important;
        font-size: 11px !important;
    }
}


/* ================================================================
   v1.5.5 — Mapa interactivo de España por comunidades autónomas
   ================================================================ */
body.vita3-page .vita3-cobertura__map {
    position: relative;
    overflow: visible;
}
body.vita3-page .vita3-spain-svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 720px;
    margin: 0 auto;
    overflow: visible;
}
/* Comunidades — fill base + transición */
body.vita3-page .vita3-spain-region {
    fill: rgba(74, 82, 54, 0.10) !important;
    stroke: rgba(28, 26, 24, 0.32) !important;
    stroke-width: 0.8 !important;
    stroke-linejoin: round !important;
    cursor: pointer;
    transition: fill 220ms ease, stroke 220ms ease, transform 220ms ease;
    transform-box: fill-box;
    transform-origin: center;
    outline: none;
}
body.vita3-page .vita3-spain-region:hover,
body.vita3-page .vita3-spain-region.is-hover,
body.vita3-page .vita3-spain-region:focus-visible {
    fill: var(--vita-olive) !important;
    stroke: var(--vita-olive-deep, #23271D) !important;
    stroke-width: 1.2 !important;
}
body.vita3-page .vita3-spain-region:focus-visible {
    filter: drop-shadow(0 0 0 2px rgba(74, 82, 54, 0.3));
}

/* Tooltip flotante */
body.vita3-page .vita3-spain-tooltip {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    background: var(--vita-ink);
    color: var(--vita-paper);
    border-radius: 8px;
    padding: 8px 12px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
    opacity: 0;
    transform: translate(-9999px, -9999px);
    transition: opacity 180ms ease;
    z-index: 5;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
body.vita3-page .vita3-spain-tooltip.is-visible {
    opacity: 1;
}
body.vita3-page .vita3-spain-tooltip__name {
    display: block;
    color: var(--vita-paper);
    font-weight: 600;
    letter-spacing: 0;
}
body.vita3-page .vita3-spain-tooltip__cta {
    display: block;
    color: rgba(245, 239, 227, 0.6);
    font-size: 11px;
    margin-top: 2px;
    letter-spacing: 0.04em;
}

/* Ciudades autónomas (Ceuta + Melilla) — chips */
body.vita3-page .vita3-spain-cities {
    display: flex;
    gap: 8px;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 12px;
    margin-left: 4px;
}
body.vita3-page .vita3-spain-city {
    background: rgba(74, 82, 54, 0.08);
    border: 1px solid rgba(28, 26, 24, 0.16);
    color: var(--vita-ink);
    border-radius: 9999px;
    padding: 6px 14px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    letter-spacing: 0;
}
body.vita3-page .vita3-spain-city:hover,
body.vita3-page .vita3-spain-city:focus-visible {
    background: var(--vita-olive);
    color: var(--vita-paper);
    border-color: var(--vita-olive);
    outline: none;
}

/* Map tag (52 provincias activas) */
body.vita3-page .vita3-cobertura__map-tag {
    display: inline-block;
    margin-top: 16px;
    padding: 6px 14px;
    background: var(--vita-paper-2);
    border: 1px solid var(--vita-line);
    border-radius: 9999px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--vita-ink-3);
}

/* Mobile: el mapa apila debajo del texto */
@media (max-width: 880px) {
    body.vita3-page .vita3-cobertura__map {
        margin-top: 32px;
    }
    body.vita3-page .vita3-spain-tooltip {
        font-size: 12px;
        padding: 6px 10px;
    }
}

/* Ocultar dots viejos del SVG legacy si quedaran */
body.vita3-page .vita3-cobertura__dots { display: none; }


/* ================================================================
   v1.5.5 — Quita page-hero duplicado
   El template page-section.php y archive-servicio.php ya no incluyen
   .vita3-page-hero, pero por si quedaran restos en cache:
   ================================================================ */
body.vita3-page .vita3-page-hero { display: none !important; }


/* ================================================================
   v1.6.0 — BUSCADOR DE RESIDENCIAS (/residencias/) + single
   ================================================================ */

/* Hero del buscador */
body.vita3-page .vita3-bres-hero {
    padding: clamp(60px, 8vw, 120px) clamp(20px, 4vw, 56px) clamp(40px, 5vw, 64px) !important;
}
body.vita3-page .vita3-bres-hero__title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(48px, 6.5vw, 88px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.02em !important;
    font-weight: 360 !important;
    margin: 16px 0 24px !important;
    color: var(--vita-ink) !important;
    text-wrap: balance;
    max-width: 14ch;
}
body.vita3-page .vita3-bres-hero__lede {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: clamp(16px, 1.2vw, 18px) !important;
    line-height: 1.55 !important;
    color: var(--vita-ink-2) !important;
    max-width: 56ch;
    text-wrap: pretty;
}

/* Hero del Home con highlight */
body.vita3-page .vita3-hero__lede-hi {
    display: block;
    margin-top: 8px;
    color: var(--vita-olive) !important;
}

/* Filtros sticky */
body.vita3-page .vita3-bres-filters {
    position: sticky;
    top: 0;
    z-index: 30;
    background: var(--vita-paper-2);
    border-top: 1px solid var(--vita-line);
    border-bottom: 1px solid var(--vita-line);
    padding: 18px clamp(20px, 4vw, 56px);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
body.vita3-page .vita3-bres-filters .vita3-container {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
}
body.vita3-page .vita3-bres-filters__form {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1.4fr 1.2fr auto;
    gap: 12px;
    align-items: end;
}
body.vita3-page .vita3-bres-filters__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
body.vita3-page .vita3-bres-filters__label {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--vita-ink-3);
    line-height: 1;
}
body.vita3-page .vita3-bres-filters .vita3-input {
    background: var(--vita-paper);
    border: 1px solid var(--vita-line);
    border-radius: 8px;
    padding: 10px 14px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 14px;
    color: var(--vita-ink);
    width: 100%;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
body.vita3-page .vita3-bres-filters .vita3-input:focus {
    outline: none;
    border-color: var(--vita-olive);
    box-shadow: 0 0 0 3px rgba(74, 82, 54, 0.12);
}
body.vita3-page .vita3-bres-filters [data-vita3-filter-reset] {
    padding: 10px 18px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    height: auto !important;
    min-height: 0 !important;
}
body.vita3-page .vita3-bres-filters__count {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-end;
    text-align: right;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    line-height: 1.2;
    flex-shrink: 0;
}
body.vita3-page .vita3-bres-filters__count-num {
    font-family: "Newsreader", Georgia, serif;
    font-size: 32px;
    font-weight: 380;
    color: var(--vita-ink);
    line-height: 1;
    letter-spacing: -0.02em;
}
body.vita3-page .vita3-bres-filters__count-label {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--vita-ink-3);
    font-weight: 600;
}

/* Resultados */
body.vita3-page .vita3-bres-results {
    padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 56px) !important;
}
body.vita3-page .vita3-bres-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 36px);
}

/* Card residencia */
body.vita3-page .vita3-bres-card {
    background: var(--vita-paper);
    border: 1px solid var(--vita-line);
    border-radius: 14px;
    overflow: hidden;
    transition: transform 400ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1)), box-shadow 400ms ease, border-color 200ms ease;
}
body.vita3-page .vita3-bres-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(28, 26, 24, 0.10);
    border-color: rgba(74, 82, 54, 0.30);
}
body.vita3-page .vita3-bres-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
body.vita3-page .vita3-bres-card__img-wrap {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--vita-cream);
}
body.vita3-page .vita3-bres-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 800ms var(--ease-out-expo, cubic-bezier(0.16,1,0.3,1));
}
body.vita3-page .vita3-bres-card:hover .vita3-bres-card__img {
    transform: scale(1.04);
}
body.vita3-page .vita3-bres-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(35, 39, 29, 0.85);
    color: var(--vita-paper);
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 9999px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
body.vita3-page .vita3-bres-card__body {
    padding: 22px 22px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
body.vita3-page .vita3-bres-card__head {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body.vita3-page .vita3-bres-card__title {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: var(--vita-ink);
    margin: 0;
}
body.vita3-page .vita3-bres-card__loc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 13px;
    color: var(--vita-ink-3);
    margin: 0;
}
body.vita3-page .vita3-bres-card__loc svg {
    flex-shrink: 0;
    color: var(--vita-olive);
}
body.vita3-page .vita3-bres-card__desc {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: var(--vita-ink-2);
    margin: 0;
    flex: 1;
}
body.vita3-page .vita3-bres-card__chips {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
body.vita3-page .vita3-bres-card__chips li {
    background: rgba(74, 82, 54, 0.08);
    color: var(--vita-olive-deep, #23271D);
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 9999px;
    line-height: 1.3;
}
body.vita3-page .vita3-bres-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--vita-line);
    gap: 12px;
}
body.vita3-page .vita3-bres-card__price {
    font-family: "Newsreader", Georgia, serif;
    font-size: 18px;
    font-weight: 400;
    color: var(--vita-ink);
    letter-spacing: -0.01em;
}
body.vita3-page .vita3-bres-card__price small {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 12px;
    color: var(--vita-ink-3);
    font-weight: 400;
}
body.vita3-page .vita3-bres-card__cta {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--vita-ink);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid var(--vita-line);
    padding-bottom: 2px;
    transition: border-color 200ms ease;
}
body.vita3-page .vita3-bres-card:hover .vita3-bres-card__cta {
    border-color: var(--vita-ink);
}

/* Estado vacío del filtro */
body.vita3-page .vita3-bres-empty {
    text-align: center;
    padding: clamp(60px, 8vw, 120px) 24px;
}
body.vita3-page .vita3-bres-empty[hidden] { display: none; }
body.vita3-page .vita3-bres-empty h3 {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 380;
    margin: 0 0 12px;
    color: var(--vita-ink);
}
body.vita3-page .vita3-bres-empty p {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    color: var(--vita-ink-2);
    max-width: 50ch;
    margin: 0 auto 24px;
    line-height: 1.5;
}

/* CTA final del buscador (olive-deep) */
body.vita3-page .vita3-bres-cta {
    background: var(--vita-olive-deep, #23271D) !important;
    padding: clamp(80px, 10vw, 140px) clamp(20px, 4vw, 56px) !important;
    text-align: center;
}
body.vita3-page .vita3-bres-cta__title {
    font-family: "Newsreader", Georgia, serif !important;
    color: var(--vita-paper) !important;
    font-size: clamp(40px, 5vw, 72px) !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    font-weight: 360 !important;
    margin: 0 0 20px !important;
    max-width: 18ch;
    margin-inline: auto !important;
}
body.vita3-page .vita3-bres-cta__title em {
    font-style: italic;
    color: rgba(245, 239, 227, 0.85) !important;
}
body.vita3-page .vita3-bres-cta__lede {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    color: rgba(245, 239, 227, 0.78) !important;
    font-size: clamp(15px, 1.2vw, 18px) !important;
    line-height: 1.55 !important;
    max-width: 56ch;
    margin: 0 auto 32px !important;
}

/* Mobile */
@media (max-width: 1024px) {
    body.vita3-page .vita3-bres-grid { grid-template-columns: repeat(2, 1fr); }
    body.vita3-page .vita3-bres-filters .vita3-container { grid-template-columns: 1fr; }
    body.vita3-page .vita3-bres-filters__form { grid-template-columns: 1fr 1fr; }
    body.vita3-page .vita3-bres-filters__count { align-items: flex-start; text-align: left; flex-direction: row; gap: 8px; align-items: baseline; }
}
@media (max-width: 600px) {
    body.vita3-page .vita3-bres-grid { grid-template-columns: 1fr; }
    body.vita3-page .vita3-bres-filters__form { grid-template-columns: 1fr; }
    body.vita3-page .vita3-bres-filters [data-vita3-filter-reset] { width: 100%; }
}


/* ================================================================
   v1.6.0 — SINGLE RESIDENCIA detalle premium
   ================================================================ */
body.vita3-page .vita3-resd-hero {
    padding: clamp(60px, 8vw, 120px) clamp(20px, 4vw, 56px) clamp(48px, 6vw, 80px) !important;
}
body.vita3-page .vita3-resd-hero__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}
body.vita3-page .vita3-resd-hero__breadcrumb {
    margin-bottom: 20px;
}
body.vita3-page .vita3-resd-hero__breadcrumb a {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 13px;
    color: var(--vita-ink-3);
    text-decoration: none;
    transition: color 200ms ease;
}
body.vita3-page .vita3-resd-hero__breadcrumb a:hover {
    color: var(--vita-olive);
}
body.vita3-page .vita3-resd-hero__title {
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(40px, 5.4vw, 72px) !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    font-weight: 360 !important;
    margin: 14px 0 20px !important;
    color: var(--vita-ink) !important;
    text-wrap: balance;
}
body.vita3-page .vita3-resd-hero__lede {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: clamp(16px, 1.2vw, 18px) !important;
    line-height: 1.55 !important;
    color: var(--vita-ink-2) !important;
    margin: 0 0 28px !important;
}
body.vita3-page .vita3-resd-hero__meta {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 28px;
    border-top: 1px solid var(--vita-line);
    border-bottom: 1px solid var(--vita-line);
    padding: 20px 0;
}
body.vita3-page .vita3-resd-hero__meta li {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.vita3-page .vita3-resd-hero__meta-l {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--vita-ink-3);
}
body.vita3-page .vita3-resd-hero__meta-v {
    font-family: "Newsreader", Georgia, serif;
    font-size: 22px;
    font-weight: 400;
    color: var(--vita-ink);
    line-height: 1.1;
    letter-spacing: -0.02em;
}
body.vita3-page .vita3-resd-hero__meta-v small {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 12px;
    color: var(--vita-ink-3);
    font-weight: 400;
}
body.vita3-page .vita3-resd-hero__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
body.vita3-page .vita3-resd-hero__media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    margin: 0;
    background: var(--vita-cream);
}
body.vita3-page .vita3-resd-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.vita3-page .vita3-resd-hero__photo-tag {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    justify-content: space-between;
    color: var(--vita-paper);
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* Body del detalle */
body.vita3-page .vita3-resd-body {
    padding: clamp(64px, 8vw, 100px) clamp(20px, 4vw, 56px) !important;
    background: var(--vita-paper-2) !important;
}
body.vita3-page .vita3-resd-body__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: clamp(40px, 5vw, 80px);
    align-items: start;
}
body.vita3-page .vita3-resd-body__h2 {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 380;
    margin: 0 0 20px;
    color: var(--vita-ink);
    letter-spacing: -0.018em;
}
body.vita3-page .vita3-resd-body__h3 {
    font-family: "Newsreader", Georgia, serif;
    font-size: 22px;
    font-weight: 380;
    margin: 0 0 14px;
    color: var(--vita-ink);
}
body.vita3-page .vita3-resd-body__content {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--vita-ink-2);
}
body.vita3-page .vita3-resd-body__content p { margin: 0 0 14px; }

/* Lista servicios */
body.vita3-page .vita3-resd-services {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.vita3-page .vita3-resd-services li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 14.5px;
    color: var(--vita-ink);
    line-height: 1.4;
}
body.vita3-page .vita3-resd-services svg {
    color: var(--vita-olive);
    flex-shrink: 0;
}

/* CTA box */
body.vita3-page .vita3-resd-body__cta-box {
    background: var(--vita-paper);
    border: 1px solid var(--vita-line);
    border-radius: 12px;
    padding: 24px;
    text-align: left;
}
body.vita3-page .vita3-resd-body__cta-box h4 {
    font-family: "Newsreader", Georgia, serif;
    font-size: 22px;
    font-weight: 380;
    margin: 0 0 6px;
    color: var(--vita-ink);
    letter-spacing: -0.012em;
}
body.vita3-page .vita3-resd-body__cta-box p {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 14px;
    color: var(--vita-ink-2);
    margin: 0 0 16px;
    line-height: 1.5;
}

/* Galería */
body.vita3-page .vita3-resd-galeria {
    padding: clamp(60px, 8vw, 100px) clamp(20px, 4vw, 56px) !important;
}
body.vita3-page .vita3-resd-galeria__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 24px;
}
body.vita3-page .vita3-resd-galeria__item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    background: var(--vita-cream);
    display: block;
}
body.vita3-page .vita3-resd-galeria__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 600ms ease;
}
body.vita3-page .vita3-resd-galeria__item:hover img {
    transform: scale(1.05);
}

/* Related */
body.vita3-page .vita3-resd-related {
    padding: clamp(60px, 8vw, 100px) clamp(20px, 4vw, 56px) !important;
    background: var(--vita-paper-2) !important;
}

/* Mobile */
@media (max-width: 1024px) {
    body.vita3-page .vita3-resd-hero__grid { grid-template-columns: 1fr; }
    body.vita3-page .vita3-resd-body__grid { grid-template-columns: 1fr; }
    body.vita3-page .vita3-resd-galeria__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    body.vita3-page .vita3-resd-hero__meta { grid-template-columns: 1fr 1fr; gap: 16px; }
    body.vita3-page .vita3-resd-galeria__grid { grid-template-columns: 1fr; }
}

/* Side menu — link "Buscar residencia" featured con olive accent */
body.vita3-page .vita3-side-menu__nav-featured {
    color: var(--vita-olive) !important;
    font-style: italic !important;
    position: relative;
}
body.vita3-page .vita3-side-menu__nav-featured::after {
    content: "PRINCIPAL";
    display: inline-block;
    margin-left: 12px;
    padding: 3px 8px;
    background: var(--vita-olive);
    color: var(--vita-paper);
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-style: normal;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    border-radius: 9999px;
    vertical-align: middle;
}


/* ================================================================
   v1.7.0 — Foco Comunidad de Madrid + Servicios desplegable
   ================================================================ */

/* --- SIDE MENU: grupo Servicios expandable ---------------------- */
body.vita3-page .vita3-side-menu__group {
    display: block;
    /* Replica de .vita3-side-menu__nav a — bottom border y separación */
    border-bottom: 1px solid var(--vita-line);
}
body.vita3-page .vita3-side-menu__group-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: none !important;
    border: 0 !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: var(--vita-ink) !important;
    text-align: left !important;
    /* Mismas dimensiones que .vita3-side-menu__nav a (sin border-bottom porque va en el group) */
    font-family: "Newsreader", Georgia, serif !important;
    font-size: clamp(36px, 5vw, 56px) !important;
    line-height: 1 !important;
    letter-spacing: var(--letter-spacing-display, 0.005em) !important;
    font-weight: 380 !important;
    transition: color 200ms ease, padding-left 250ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)) !important;
}
body.vita3-page .vita3-side-menu__group-trigger:hover {
    color: var(--vita-olive) !important;
    padding-left: 8px !important;
}
body.vita3-page .vita3-side-menu__group-label {
    /* El <a> hereda del button — pero forzamos por si acaso */
    font: inherit !important;
    color: inherit !important;
    text-decoration: none !important;
    flex: 1 !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
}
/* Quitar el border-bottom redundante del <a> al ser sibling del group */
body.vita3-page .vita3-side-menu__nav .vita3-side-menu__group-label {
    border-bottom: 0 !important;
    padding: 0 !important;
}
body.vita3-page .vita3-side-menu__group-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--vita-ink-3);
    transition: transform 280ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)), color 200ms ease;
    flex-shrink: 0;
}
body.vita3-page .vita3-side-menu__group-trigger[aria-expanded="true"] .vita3-side-menu__group-arrow {
    transform: rotate(180deg);
    color: var(--vita-olive);
}
body.vita3-page .vita3-side-menu__sublist {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 4px 0 16px 18px !important;
    margin: 0 0 0 6px !important;
    border-left: 2px solid rgba(74, 82, 54, 0.18) !important;
    overflow: hidden;
}
body.vita3-page .vita3-side-menu__sublist[hidden] {
    display: none !important;
}
body.vita3-page .vita3-side-menu__sublink {
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--vita-ink-2) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    transition: color 200ms ease, padding-left 200ms ease;
    padding: 4px 0 !important;
    border-bottom: 0 !important;
    display: block !important;
}
body.vita3-page .vita3-side-menu__sublink:hover {
    padding-left: 4px !important;
}
body.vita3-page .vita3-side-menu__sublink:hover {
    color: var(--vita-olive) !important;
}
body.vita3-page .vita3-side-menu__sublink--all {
    margin-top: 4px;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--vita-olive) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em !important;
}


/* --- HEADER: dropdown horizontal "Servicios" -------------------- */
body.vita3-page .vita3-header__nav-horizontal {
    position: relative;
}
body.vita3-page .vita3-header__nav-item--has-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}
body.vita3-page .vita3-header__nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    /* Hereda font/color del nav horizontal */
}
body.vita3-page .vita3-header__nav-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: currentColor;
    opacity: 0.55;
    transition: transform 220ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)), opacity 200ms ease;
    flex-shrink: 0;
}
body.vita3-page .vita3-header__nav-item--has-dropdown:hover .vita3-header__nav-arrow,
body.vita3-page .vita3-header__nav-item--has-dropdown:focus-within .vita3-header__nav-arrow,
body.vita3-page .vita3-header__nav-item--has-dropdown.is-open .vita3-header__nav-arrow {
    opacity: 1;
    transform: rotate(180deg);
    color: var(--vita-olive);
}

/* Panel del dropdown — v1.7.3 con bridge invisible para que no se cierre */
body.vita3-page .vita3-header__nav-dropdown {
    position: absolute;
    top: 100%;            /* pegado al trigger — sin gap visible */
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    min-width: 320px;
    max-width: 360px;
    background: var(--vita-paper-2);
    border: 1px solid var(--vita-line);
    border-radius: 12px;
    padding: 8px;
    /* Border-top transparente actúa como hover bridge invisible (12px de área
       activa entre el trigger y el contenido visible del panel) */
    border-top: 12px solid transparent;
    background-clip: padding-box;
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0 18px 50px rgba(28, 26, 24, 0.12);
    z-index: 100;
    transition: opacity 220ms ease, transform 220ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)), visibility 0s linear 220ms;
}
/* Refuerzo del bridge: también extender el hit-area del item padre con un
   ::after invisible que ocupa el gap visual entre trigger y dropdown */
body.vita3-page .vita3-header__nav-item--has-dropdown::after {
    content: "";
    position: absolute;
    top: 100%;
    left: -8px;
    right: -8px;
    height: 12px;
    background: transparent;
    pointer-events: none;
}
body.vita3-page .vita3-header__nav-item--has-dropdown:hover::after,
body.vita3-page .vita3-header__nav-item--has-dropdown:focus-within::after {
    pointer-events: auto;
}
body.vita3-page .vita3-header__nav-item--has-dropdown:hover .vita3-header__nav-dropdown,
body.vita3-page .vita3-header__nav-item--has-dropdown:focus-within .vita3-header__nav-dropdown,
body.vita3-page .vita3-header__nav-item--has-dropdown.is-open .vita3-header__nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
    transition: opacity 220ms ease, transform 220ms var(--ease-out-expo, cubic-bezier(0.16, 1, 0.3, 1)), visibility 0s;
}

/* Items del dropdown */
body.vita3-page .vita3-header__nav-dropdown-item {
    display: block;
    padding: 10px 14px !important;
    border-radius: 8px;
    font-family: "Hanken Grotesk", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--vita-ink) !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    border-bottom: 0 !important;
    transition: background 180ms ease, color 180ms ease;
    text-transform: none !important;
}
body.vita3-page .vita3-header__nav-dropdown-item:hover,
body.vita3-page .vita3-header__nav-dropdown-item:focus-visible {
    background: rgba(74, 82, 54, 0.10);
    color: var(--vita-olive-deep, #23271D) !important;
    outline: none;
}
body.vita3-page .vita3-header__nav-dropdown-all {
    margin-top: 4px;
    border-top: 1px solid var(--vita-line) !important;
    border-radius: 0 0 6px 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--vita-olive) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding-top: 14px !important;
}

/* Tablet/mobile: el dropdown del header se oculta (el side menu hace su rol) */
@media (max-width: 1024px) {
    body.vita3-page .vita3-header__nav-dropdown {
        display: none !important;
    }
    body.vita3-page .vita3-header__nav-arrow {
        display: none;
    }
    body.vita3-page .vita3-header__nav-item--has-dropdown::after {
        display: none;
    }
}

/* --- BOTÓN "Cuéntanos qué necesitas" — texto corto en mobile -------- */
body.vita3-page .vita3-header__menu-btn-short { display: none; }
body.vita3-page .vita3-header__menu-btn-full  { display: inline; }
@media (max-width: 720px) {
    body.vita3-page .vita3-header__menu-btn-full  { display: none; }
    body.vita3-page .vita3-header__menu-btn-short { display: inline; }
}


/* ================================================================
   v1.7.4 — Wizard modal con header + footer sticky (mobile critical)
   Issue cliente: en iPhone no se veía la X de cerrar al hacer scroll.
   ================================================================ */
body.vita3-page .vita3-wizard__panel {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important; /* el form scrollea internamente */
    padding: 0 !important;
    max-height: 92vh !important;
    max-height: 92dvh !important;
}
body.vita3-page .vita3-wizard__header {
    flex-shrink: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 12 !important;
    background: var(--vita-paper-2) !important;
    padding: clamp(20px, 3vw, 32px) clamp(20px, 4vw, 48px) 16px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--vita-line) !important;
}
body.vita3-page .vita3-wizard__form {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: clamp(20px, 3vw, 32px) clamp(20px, 4vw, 48px) clamp(20px, 3vw, 32px) !important;
    min-height: 0 !important;
}
body.vita3-page .vita3-wizard__footer {
    flex-shrink: 0 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 12 !important;
    background: var(--vita-paper-2) !important;
    padding: 14px clamp(20px, 4vw, 48px) !important;
    margin: 0 !important;
    border-top: 1px solid var(--vita-line) !important;
    min-height: 60px;
}
/* Refuerzo: la X y la progress bar más prominentes y siempre visibles */
body.vita3-page .vita3-wizard__close {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
    background: var(--vita-paper) !important;
    border: 1px solid var(--vita-line) !important;
    color: var(--vita-ink) !important;
    box-shadow: 0 2px 6px rgba(28, 26, 24, 0.06);
    flex-shrink: 0;
}
body.vita3-page .vita3-wizard__close:hover {
    background: var(--vita-ink) !important;
    color: var(--vita-paper) !important;
}

/* Mobile fullscreen + safe areas */
@media (max-width: 700px) {
    body.vita3-page .vita3-wizard__panel {
        max-height: 100vh !important;
        max-height: 100dvh !important;
        height: 100vh !important;
        height: 100dvh !important;
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }
    body.vita3-page .vita3-wizard__header {
        padding: max(16px, env(safe-area-inset-top)) 20px 14px !important;
    }
    body.vita3-page .vita3-wizard__footer {
        padding: 14px 20px max(16px, env(safe-area-inset-bottom)) !important;
    }
    body.vita3-page .vita3-wizard__progress-bar {
        width: 100px !important; /* progress bar más compacta */
    }
}


/* --- COBERTURA Madrid: highlights + statistics ------------------ */
body.vita3-page .vita3-cobertura-madrid .vita3-cobertura__highlights {
    list-style: none;
    padding: 0;
    margin: 24px 0 32px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.vita3-page .vita3-cobertura-madrid .vita3-cobertura__highlights li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 15px;
    color: var(--vita-ink);
    line-height: 1.4;
}
body.vita3-page .vita3-cobertura-madrid .vita3-cobertura__highlights svg {
    color: var(--vita-olive);
    flex-shrink: 0;
}


/* --- MAPA Comunidad de Madrid ---------------------------------- */
body.vita3-page .vita3-madrid-svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 720px;
    margin: 0 auto;
    overflow: visible;
}
/* Silueta del territorio: paths con fill subtle, sin stroke entre comarcas */
body.vita3-page .vita3-madrid-silhouette path {
    fill: rgba(74, 82, 54, 0.10) !important;
    stroke: rgba(28, 26, 24, 0.22) !important;
    stroke-width: 0.6 !important;
    stroke-linejoin: round !important;
    pointer-events: none;
}
/* Ciudades clicables */
body.vita3-page .vita3-madrid-city {
    cursor: pointer;
    transition: transform 220ms ease;
    transform-box: fill-box;
    transform-origin: center;
}
body.vita3-page .vita3-madrid-city:hover,
body.vita3-page .vita3-madrid-city.is-hover,
body.vita3-page .vita3-madrid-city:focus-visible {
    outline: none;
}
body.vita3-page .vita3-madrid-city__halo {
    fill: var(--vita-olive);
    opacity: 0.20;
    transition: opacity 220ms ease, r 220ms ease;
}
body.vita3-page .vita3-madrid-city__dot {
    fill: var(--vita-olive);
    stroke: var(--vita-paper);
    stroke-width: 2;
    transition: r 220ms ease;
}
body.vita3-page .vita3-madrid-city[data-importance="0"] .vita3-madrid-city__dot {
    fill: var(--vita-ink);
    stroke-width: 3;
}
body.vita3-page .vita3-madrid-city:hover .vita3-madrid-city__halo,
body.vita3-page .vita3-madrid-city.is-hover .vita3-madrid-city__halo,
body.vita3-page .vita3-madrid-city:focus-visible .vita3-madrid-city__halo {
    opacity: 0.40;
}
body.vita3-page .vita3-madrid-city__label {
    font-family: "Hanken Grotesk", system-ui, sans-serif;
    font-size: 11px;
    fill: var(--vita-ink);
    letter-spacing: 0.01em;
    paint-order: stroke;
    stroke: rgba(245, 239, 227, 0.85);
    stroke-width: 2.5px;
    stroke-linejoin: round;
    pointer-events: none;
}
body.vita3-page .vita3-madrid-city__label--major {
    font-size: 13px;
    font-weight: 600;
    fill: var(--vita-ink);
}

/* Tooltip Madrid (reusa estilos de spain tooltip) */
body.vita3-page .vita3-madrid-tooltip {
    /* Inherits from .vita3-spain-tooltip — sin overrides */
}


/* --- HERO: lede highlight + microcopy tel link ------------------ */
body.vita3-page .vita3-hero__microcopy a {
    color: var(--vita-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
body.vita3-page .vita3-hero__microcopy a:hover {
    color: var(--vita-olive);
}

