/* NEXXA-VIDA — enlaces de dimensión en Inicio y página pública. VERSIÓN: v28-a */
.dimension-visual-link { display: block; border-radius: inherit; }
.dimension-visual-link:focus-visible,
.dimension-cta:focus-visible { outline: 2px solid #efe9dc; outline-offset: 4px; }

.dimension-cta {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .7rem 1.3rem; border-radius: 999px;
    border: 1px solid currentColor; color: inherit;
    font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem;
    text-decoration: none; background: rgba(255,255,255,.07);
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.dimension-cta:hover { transform: translateY(-2px); background: rgba(255,255,255,.16); box-shadow: 0 0 22px currentColor; }
.category-rest .dimension-cta { color: #4edbd3; }
.category-food .dimension-cta { color: #ad89ef; }
.category-move .dimension-cta { color: #ef4fc1; }

.dp-invitacion {
    margin: 2.5rem auto 1rem; max-width: 760px; padding: 1.6rem 1.8rem;
    border-radius: 24px; border: 1px solid color-mix(in srgb, var(--c-main, #ad89ef) 40%, transparent);
    background: linear-gradient(135deg, rgba(38,18,64,.16), color-mix(in srgb, var(--c-main, #ad89ef) 14%, transparent));
    backdrop-filter: blur(6px) saturate(180%); -webkit-backdrop-filter: blur(6px) saturate(180%);
    text-align: center; color: #efe9dc;
}
.dp-invitacion h2 { font-size: 1.25rem; margin: 0 0 .6rem; }
.dp-invitacion p { margin: 0 0 1.1rem; opacity: .9; line-height: 1.6; }
.dp-acciones { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; }
.dp-boton {
    padding: .7rem 1.4rem; border-radius: 999px; color: #efe9dc; text-decoration: none; font-weight: 700;
    border: 1px solid color-mix(in srgb, var(--c-main, #ad89ef) 60%, white);
}
.dp-boton-principal { background: color-mix(in srgb, var(--c-main, #ad89ef) 35%, transparent); }
.dp-boton:hover, .dp-boton:focus-visible { box-shadow: 0 0 20px var(--c-main, #ad89ef); }
