/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com */

/* Base */
:root {
--vv-ancho:1240px;
--vv-fondo:#ffffff;
--vv-texto:#222222;
--vv-acento:#555555;
--vv-oscuro:#111111;
--vv-claro:#ffffff;
--vv-foco:#1a73e8;
--vv-arriba-alto:80px;
--vv-barra-alto:0px;
--vv-cab-fondo:#ffffff;
--vv-cab-texto:#111111;
--vv-pie-fondo:#111111;
--vv-pie-texto:rgba(255,255,255,.7);
--vv-barra-fondo:rgba(17,17,17,.96);
--vv-radio:14px;
--vv-fuente-titulos:Georgia,serif;
--vv-fuente-textos:system-ui,-apple-system,"Segoe UI",sans-serif;
}
html {
scroll-padding-top:calc(var(--vv-arriba-alto) + 12px);
-webkit-text-size-adjust:100%;
}
body.vv {
margin:0;
background:var(--vv-fondo);
color:var(--vv-texto);
font-family:var(--vv-fuente-textos);
overflow-x:clip;
}
body.vv *,
body.vv *::before,
body.vv *::after {
box-sizing:border-box;
}
body .vv-contenido img,
body .vv-pie img {
max-width:100%;
height:auto;
}
body.vv .vv-contenido :is([class*="foto"], [class*="imagen"], [class*="__principal"], [class*="__mini"], [class*="__media"], [class*="portada"]) > img {
width:100%;
height:100%;
max-width:none;
object-fit:cover;
}
body.vv :focus-visible {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
body.vv input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus-visible,
body.vv textarea:focus-visible,
body.vv select:focus-visible {
outline:none;
box-shadow:0 0 0 3px color-mix(in srgb, var(--vv-acento, #3d6b93) 22%, transparent);
}
body.vv [data-vv-sin-anillo] input:focus-visible {
box-shadow:none;
}
html.vv-accesible body.vv input:focus-visible,
html.vv-accesible body.vv textarea:focus-visible,
html.vv-accesible body.vv select:focus-visible {
outline:3px solid var(--vv-foco);
outline-offset:2px;
}
@media (prefers-reduced-motion:no-preference) {
html {
scroll-behavior:smooth;
}
}
body .vv-oculto {
position:absolute !important;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}
body .vv-saltar {
position:fixed;
top:10px;
left:10px;
z-index:100000;
padding:12px 18px;
border:0;
border-radius:8px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 15px/1.2 var(--vv-fuente-textos);
text-decoration:none;
cursor:pointer;
transform:translateY(-200%);
}
body .vv-saltar:focus,
body .vv-saltar:focus-visible {
transform:none;
}
body .vv-saltar--acc {
left:auto;
right:10px;
}
body .vv-contenido {
display:block;
outline:none;
}
body .vv-contenido:focus {
outline:none;
}

/* Cabecera */
body .vv-arriba {
position:fixed;
top:0;
left:0;
right:0;
z-index:9000;
}
body.admin-bar .vv-arriba {
top:32px;
}
body .vv-arriba-espacio {
height:var(--vv-arriba-alto);
}
body .vv-cabecera {
background:var(--vv-cab-fondo);
color:var(--vv-cab-texto);
transition:box-shadow .3s ease,background-color .3s ease;
}
html.vv-scroll body .vv-cabecera {
box-shadow:0 6px 24px rgba(0,0,0,.08);
}
body .vv-cabecera__caja {
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:14px 3%;
}
body .vv-cabecera__marca {
display:flex;
align-items:center;
flex-shrink:0;
color:inherit;
text-decoration:none;
}
body .vv-cabecera__logo {
display:block;
width:auto;
height:60px;
transition:height .3s ease;
}
html.vv-scroll body .vv-cabecera__logo {
height:50px;
}
body .vv-cabecera__logo--texto {
font:600 1.4rem/1 var(--vv-fuente-titulos);
}
body .vv-nav__lista {
display:flex;
align-items:center;
gap:6px;
margin:0;
padding:0;
list-style:none;
}
body .vv-nav__item {
margin:0;
}
body .vv-nav__enlace {
display:inline-flex;
align-items:center;
gap:7px;
min-height:44px;
padding:8px 12px;
color:inherit;
text-decoration:none;
}
body .vv-nav__ico {
display:inline-flex;
}
body .vv-nav__ico svg,
body .vv-menu-movil__ico svg,
body .vv-barra__ico svg {
display:block;
width:18px;
height:18px;
}
body .vv-cabecera__menu {
display:none;
align-items:center;
gap:10px;
min-height:44px;
padding:8px 18px;
border:1px solid currentColor;
border-radius:999px;
background:transparent;
color:inherit;
font:600 14px/1 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-cabecera__hamb {
position:relative;
display:block;
width:22px;
height:14px;
}
body .vv-cabecera__hamb::before,
body .vv-cabecera__hamb::after,
body .vv-cabecera__hamb span {
content:"";
position:absolute;
left:0;
right:0;
height:2px;
border-radius:2px;
background:currentColor;
}
body .vv-cabecera__hamb::before {
top:0;
}
body .vv-cabecera__hamb span {
top:6px;
}
body .vv-cabecera__hamb::after {
bottom:0;
}
@media only screen and (max-width:1100px) {
body .vv-nav {
display:none;
}
body .vv-cabecera__menu {
display:inline-flex;
}
}
@media only screen and (max-width:767px) {
body.admin-bar .vv-arriba {
top:0;
}
body .vv-cabecera__caja {
padding:10px 5%;
}
body .vv-cabecera__logo,
html.vv-scroll body .vv-cabecera__logo {
height:44px;
}
body .vv-cabecera__menu {
padding:0;
width:48px;
height:48px;
justify-content:center;
border:0;
}
body .vv-cabecera__menu-txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
}
}

/* Menú móvil */
body .vv-menu-movil {
position:fixed;
inset:0;
z-index:10050;
}
body .vv-menu-movil[hidden] {
display:none;
}
body .vv-menu-movil__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
opacity:0;
transition:opacity .3s ease;
}
body .vv-menu-movil__panel {
position:absolute;
top:0;
right:0;
bottom:0;
display:flex;
flex-direction:column;
width:min(88vw,400px);
overflow-y:auto;
overscroll-behavior:contain;
background:var(--vv-oscuro);
color:var(--vv-claro);
transform:translateX(100%);
transition:transform .35s cubic-bezier(.32,.72,.35,1);
}
body .vv-menu-movil.is-abierto .vv-menu-movil__fondo {
opacity:1;
}
body .vv-menu-movil.is-abierto .vv-menu-movil__panel {
transform:none;
}
body .vv-menu-movil__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:22px 24px;
}
body .vv-menu-movil__logo {
display:block;
width:auto;
height:52px;
}
body .vv-menu-movil__cerrar {
display:flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid rgba(255,255,255,.25);
border-radius:50%;
background:transparent;
color:inherit;
font-size:26px;
line-height:1;
cursor:pointer;
}
body .vv-menu-movil__lista {
margin:0;
padding:8px 24px;
list-style:none;
}
body .vv-menu-movil__enlace {
display:flex;
align-items:center;
gap:14px;
min-height:52px;
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.1);
color:inherit;
text-decoration:none;
}
body .vv-menu-movil__pie {
margin-top:auto;
padding:24px;
}
html.vv-menu-abierto,
html.vv-menu-abierto body {
overflow:hidden;
}

/* Barra inferior */
body .vv-barra {
position:fixed;
left:0;
right:0;
bottom:0;
z-index:8900;
padding-bottom:env(safe-area-inset-bottom);
background:var(--vv-barra-fondo);
color:var(--vv-claro);
}
body .vv-barra__caja {
display:flex;
align-items:center;
max-width:var(--vv-ancho);
margin:0 auto;
padding:8px 3%;
}
body .vv-barra__grupo {
display:flex;
align-items:center;
gap:12px;
flex:1 1 auto;
min-width:0;
}
body .vv-barra__grupo:last-child {
justify-content:flex-end;
}
body .vv-barra__grupo:only-child {
justify-content:center;
}
body .vv-barra__botones {
display:flex;
align-items:center;
gap:8px;
}
body .vv-barra__btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:40px;
padding:8px 14px;
border-radius:999px;
border:0;
background:transparent;
color:inherit;
font:inherit;
text-decoration:none;
white-space:nowrap;
cursor:pointer;
-webkit-appearance:none;
appearance:none;
}
body .vv-barra__etiqueta-movil {
display:none;
}
body .vv-barra__separador {
flex:0 0 1px;
align-self:stretch;
margin:4px 20px;
background:rgba(255,255,255,.2);
}
@media only screen and (max-width:767px) {
body .vv-barra__caja {
gap:0;
padding:4px 6px;
}
body .vv-barra__grupo,
body .vv-barra__grupo:last-child,
body .vv-barra__grupo:only-child {
flex:1 1 0;
justify-content:stretch;
gap:4px;
}
body .vv-barra__etiqueta {
display:none;
}
body .vv-barra__etiqueta-movil {
display:block;
flex:0 0 auto;
max-width:64px;
font-size:11px;
line-height:1.2;
}
body .vv-barra__botones {
flex:1 1 auto;
min-width:0;
gap:2px;
}
body .vv-barra__btn {
flex:1 1 0;
flex-direction:column;
gap:3px;
min-width:0;
width:auto;
height:auto;
min-height:54px;
padding:6px 2px;
border-radius:12px;
}
body .vv-barra__txt {
display:block;
max-width:100%;
overflow:hidden;
font-size:11px;
font-weight:600;
line-height:1.15;
text-overflow:ellipsis;
white-space:nowrap;
}
body .vv-barra__ico svg {
width:22px;
height:22px;
}
body .vv-barra__separador {
margin:6px 4px;
}
}

/* Pie */
body .vv-pie {
padding-bottom:var(--vv-barra-alto);
background:var(--vv-pie-fondo);
color:var(--vv-pie-texto);
}
body .vv-pie__caja {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:48px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:72px 3% 56px;
}
body .vv-pie a {
color:inherit;
}
body .vv-pie__legal-caja {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:10px 24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:20px 3%;
}
body .vv-pie__legales {
display:flex;
flex-wrap:wrap;
gap:6px 18px;
margin:0;
padding:0;
list-style:none;
}
body .vv-pie__boton {
padding:0;
border:0;
background:none;
color:inherit;
font:inherit;
text-decoration:underline;
text-underline-offset:3px;
cursor:pointer;
}
body .vv-pie__dato {
display:flex;
align-items:flex-start;
gap:12px;
margin:0 0 14px;
line-height:1.5;
}
body .vv-pie__ico {
flex:none;
width:1.2em;
height:1.2em;
margin-top:.15em;
}
body .vv-pie__dato a {
overflow-wrap:anywhere;
}
body .vv-horario--compacto,
body .vv-pie .vv-pie__dato .vv-horario--compacto {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:2px;
text-align:left;
}
:where(.vv-contenido,.vv-pie) a {
color:inherit;
text-decoration-color:var(--vv-acento,currentColor);
text-underline-offset:3px;
}
body .vv-pie__copy,
body .vv-pie__credito {
margin:0;
}
@media only screen and (max-width:959px) {
body .vv-pie__caja {
grid-template-columns:1fr;
gap:40px;
padding:56px 6% 40px;
text-align:center;
}
body .vv-pie__dato {
justify-content:center;
}
body .vv-pie__legal-caja {
flex-direction:column;
text-align:center;
}
body .vv-pie__legales {
justify-content:center;
}
}

/* Mapa */
body .vv-mapa {
position:relative;
width:100%;
height:var(--vv-mapa-alto,460px);
overflow:hidden;
border-radius:var(--vv-radio);
background:#e9e6e1;
}
body .vv-mapa iframe {
display:block;
width:100%;
height:100%;
border:0;
}
body .vv-mapa iframe[data-vv-src] {
visibility:hidden;
}
body .vv-mapa__aviso {
position:absolute;
inset:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
padding:24px;
text-align:center;
}
body .vv-mapa.is-cargado .vv-mapa__aviso {
display:none;
}
body .vv-mapa__botones {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
gap:10px 18px;
}
body .vv-mapa__btn {
min-height:44px;
padding:10px 22px;
border:0;
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}

/* Cookies */
body .vv-cookies {
position:fixed;
left:0;
right:0;
bottom:var(--vv-barra-alto);
z-index:9500;
padding:18px 3%;
background:#ffffff;
color:#222222;
box-shadow:0 -10px 40px rgba(0,0,0,.18);
visibility:hidden;
transform:translateY(calc(100% + var(--vv-barra-alto, 0px) + 40px));
transition:transform .35s ease,visibility 0s linear .35s;
}
body .vv-cookies.is-visible {
visibility:visible;
transform:none;
transition:transform .35s ease,visibility 0s linear 0s;
}
body .vv-cookies__caja {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:14px 28px;
max-width:var(--vv-ancho);
margin:0 auto;
}
body .vv-cookies__texto {
flex:1 1 420px;
margin:0;
font-size:14px;
line-height:1.55;
}
body .vv-cookies__titulo {
display:block;
margin-bottom:2px;
font-size:15px;
font-weight:700;
}
body .vv-cookies__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
}
body .vv-cookies__btn {
min-width:150px;
min-height:44px;
padding:10px 20px;
border:2px solid var(--vv-oscuro);
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:700 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-dialogo {
position:fixed;
inset:0;
z-index:10100;
display:flex;
align-items:center;
justify-content:center;
padding:16px;
}
body .vv-dialogo[hidden] {
display:none;
}
body .vv-dialogo__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}
body .vv-dialogo__caja {
position:relative;
width:min(620px,100%);
max-height:calc(100dvh - 32px);
overflow-y:auto;
padding:28px;
border-radius:var(--vv-radio);
background:#ffffff;
color:#222222;
}
body .vv-dialogo__titulo {
margin:0 0 8px;
font-size:22px;
}
body .vv-dialogo__cerrar {
position:absolute;
top:14px;
right:14px;
width:44px;
height:44px;
border:0;
border-radius:50%;
background:#f1f1f1;
font-size:24px;
cursor:pointer;
}
body .vv-cat {
padding:14px 0;
border-top:1px solid #e6e6e6;
}
body .vv-cat__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}
body .vv-cat__nombre {
font-weight:700;
}
body .vv-cat__texto {
margin:6px 0 0;
font-size:14px;
line-height:1.5;
}
body .vv-interruptor {
position:relative;
flex-shrink:0;
width:52px;
height:30px;
}
body .vv-interruptor input {
position:absolute;
inset:0;
width:100%;
height:100%;
margin:0;
opacity:0;
cursor:pointer;
}
body .vv-interruptor span {
position:absolute;
inset:0;
border-radius:30px;
background:#bdbdbd;
transition:background-color .2s ease;
pointer-events:none;
}
body .vv-interruptor span::after {
content:"";
position:absolute;
top:3px;
left:3px;
width:24px;
height:24px;
border-radius:50%;
background:#ffffff;
transition:transform .2s ease;
}
body .vv-interruptor input:checked + span {
background:var(--vv-oscuro);
}
body .vv-interruptor input:checked + span::after {
transform:translateX(22px);
}
body .vv-interruptor input:disabled + span {
opacity:.6;
}
body .vv-interruptor input:focus-visible + span {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
body .vv-dialogo__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}
body .vv-cookies-lista__tabla {
overflow-x:auto;
}
body .vv-cookies-lista table {
width:100%;
border-collapse:collapse;
font-size:14px;
}
body .vv-cookies-lista th,
body .vv-cookies-lista td {
padding:8px 10px;
border-bottom:1px solid rgba(0,0,0,.12);
text-align:left;
vertical-align:top;
}
@media only screen and (max-width:767px) {
body .vv-cookies__btn {
flex:1 1 100%;
}
body .vv-cookies-lista thead {
display:none;
}
body .vv-cookies-lista tr,
body .vv-cookies-lista td {
display:block;
}
body .vv-cookies-lista tr {
padding:8px 0;
border-bottom:1px solid rgba(0,0,0,.12);
}
body .vv-cookies-lista td {
border:0;
padding:3px 0;
}
body .vv-cookies-lista td::before {
content:attr(data-l) ": ";
font-weight:700;
}
}

/* 404 y título de página */
body .vv-404 {
padding:120px 6%;
text-align:center;
}
body .vv-404__caja {
max-width:640px;
margin:0 auto;
}
body .vv-titulo-pagina {
max-width:var(--vv-ancho);
margin:0 auto;
padding:56px 3% 8px;
}

/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com · Nupinsur */

/* ---------- Fuentes ---------- */
@font-face {
	font-family: "Bricolage Grotesque";
	src: url("https://www.nupinsur.com/wp-content/uploads/vv-cache/c011c812091b/comun/fuentes/bricolage-grotesque-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("https://www.nupinsur.com/wp-content/uploads/vv-cache/c011c812091b/comun/fuentes/manrope-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--vv-ancho: 1240px;
	--vv-fondo: #ffffff;
	--vv-texto: #18222e;
	--vv-acento: #3d6b93;
	--vv-oscuro: #17304a;
	--vv-claro: #f3f5f8;
	--vv-foco: #f0b400;
	--vv-cab-fondo: #ffffff;
	--vv-cab-texto: #17304a;
	--vv-pie-fondo: #0f2134;
	--vv-pie-texto: rgba(255, 255, 255, .84);
	--vv-barra-fondo: rgba(15, 33, 52, .97);
	--vv-radio: 14px;
	--vv-fuente-titulos: "Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
	--vv-fuente-textos: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--np-azul: #17304a;
	--np-azul-2: #3d6b93;
	--np-azul-3: #0f2134;
	--np-acero: #8aa2b8;
	--np-amarillo: #f0b400;
	--np-rojo: #d2452f;
	--np-verde: #2f8f6a;
	--np-niebla: #f3f5f8;
	--np-linea: rgba(23, 48, 74, .12);
	--np-sombra: 0 24px 50px -30px rgba(15, 33, 52, .6);
	--np-sombra-suave: 0 14px 34px -24px rgba(15, 33, 52, .5);
	--np-sep: clamp(64px, 9vw, 124px);
	--np-curva: cubic-bezier(.2, .7, .2, 1);
	--np-carta: linear-gradient(90deg, #d2452f 0 12.5%, #f07a1a 12.5% 25%, #f0b400 25% 37.5%, #8cbf3f 37.5% 50%, #2f8f6a 50% 62.5%, #2a9fc9 62.5% 75%, #3d6b93 75% 87.5%, #6b4fa1 87.5% 100%);
	--np-trazo: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 60%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 60V22c80-14 150 10 240 4s150-24 250-16 160 20 260 12 140-22 240-16 130 14 210 8V60z%22/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body.np {
	font-size: 17px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

body.np h1,
body.np h2,
body.np h3,
body.np h4 {
	font-family: var(--vv-fuente-titulos);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -.012em;
	color: var(--np-azul);
	text-wrap: balance;
}

body.np p,
body.np li {
	text-wrap: pretty;
}

body.np .vv-contenido a:not([class]) {
	color: var(--np-azul-2);
	text-decoration: underline;
	text-underline-offset: .18em;
}

body .np-caja {
	width: min(var(--vv-ancho), calc(100% - 32px));
	margin-inline: auto;
}

body .vv-contenido > .wp-block-group,
body .vv-contenido > .np-bloque {
	margin-block: 0;
}

body .np-sec {
	position: relative;
	padding-block: var(--np-sep);
}

body .np-sec--niebla {
	background: var(--np-niebla);
}

body .np-sec--oscura {
	background: radial-gradient(120% 90% at 85% 0%, #24496d 0%, var(--np-azul) 45%, var(--np-azul-3) 100%);
	color: rgba(255, 255, 255, .9);
}

body .np-sec--oscura h2,
body .np-sec--oscura h3 {
	color: #ffffff;
}

body .np-cab {
	max-width: 760px;
	margin: 0 0 clamp(32px, 5vw, 56px);
}

body .np-cab--centro {
	margin-inline: auto;
	text-align: center;
}

body .np-ante {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--np-azul-2);
}

body .np-ante::before {
	content: "";
	width: 34px;
	height: 6px;
	border-radius: 6px;
	background: var(--np-carta);
}

body .np-sec--oscura .np-ante {
	color: var(--np-amarillo);
}

body .np-cab h2 {
	margin: 0 0 16px;
	font-size: clamp(2rem, 4.2vw, 3.3rem);
}

body .np-cab p {
	margin: 0;
	font-size: 1.08rem;
	color: color-mix(in srgb, var(--vv-texto) 78%, transparent);
}

body .np-sec--oscura .np-cab p {
	color: rgba(255, 255, 255, .78);
}

body .np-trazo {
	position: absolute;
	left: 0;
	right: 0;
	height: clamp(28px, 4vw, 56px);
	background: currentColor;
	-webkit-mask: var(--np-trazo) center / 100% 100% no-repeat;
	mask: var(--np-trazo) center / 100% 100% no-repeat;
	pointer-events: none;
}

body .np-trazo--arriba {
	top: -1px;
	transform: scaleY(-1);
}

body .np-trazo--abajo {
	bottom: -1px;
}

/* ---------- Botones ---------- */
body .np-botones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0 0;
}

body .np-botones--centro {
	justify-content: center;
}

body .np-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 52px;
	padding: .8em 1.5em;
	border: 2px solid transparent;
	border-radius: 60px;
	font-family: var(--vv-fuente-textos);
	font-size: .96rem;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	transition: background .35s var(--np-curva), color .35s var(--np-curva), border-color .35s var(--np-curva), transform .35s var(--np-curva), box-shadow .35s var(--np-curva);
}

body .np-btn svg {
	width: 1.2em;
	height: 1.2em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .35s var(--np-curva);
}

body .np-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--np-sombra-suave);
}

body .np-btn:hover svg {
	transform: translateX(3px);
}

body .np-btn--amarillo {
	background: var(--np-amarillo);
	color: var(--np-azul-3);
}

body .np-btn--amarillo:hover {
	background: #ffcb2e;
	color: var(--np-azul-3);
}

body .np-btn--azul {
	background: var(--np-azul);
	color: #ffffff;
}

body .np-btn--azul:hover {
	background: var(--np-azul-2);
	color: #ffffff;
}

body .np-btn--linea {
	border-color: currentColor;
	background: transparent;
	color: var(--np-azul);
}

body .np-btn--linea:hover {
	background: var(--np-azul);
	border-color: var(--np-azul);
	color: #ffffff;
}

body .np-sec--oscura .np-btn--linea,
body .np-hero .np-btn--linea {
	color: #ffffff;
}

body .np-sec--oscura .np-btn--linea:hover,
body .np-hero .np-btn--linea:hover {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--np-azul);
}

/* ---------- Cabecera y menú ---------- */
body.np .vv-cabecera {
	box-shadow: 0 1px 0 var(--np-linea);
}

body.np .vv-cabecera::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--np-carta);
	opacity: .9;
}

body.np .vv-cabecera__marca img {
	max-height: 62px;
	width: auto;
}

body.np .vv-nav__item > a {
	font-weight: 600;
}

body.np .vv-nav__item--destacado > a {
	background: var(--np-amarillo);
	color: var(--np-azul-3);
}

body.np .vv-nav__item--destacado > a:hover {
	background: var(--np-azul);
	color: #ffffff;
}

body.np .vv-menu-movil__panel {
	overflow-x: hidden;
	background:
		radial-gradient(70% 45% at 100% 100%, rgba(240, 180, 0, .16), transparent 70%),
		radial-gradient(60% 40% at 0% 0%, rgba(61, 107, 147, .55), transparent 70%),
		var(--np-azul-3);
	color: #ffffff;
}

body.np .vv-menu-movil__panel::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: 90px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: conic-gradient(#d2452f, #f07a1a, #f0b400, #8cbf3f, #2f8f6a, #2a9fc9, #3d6b93, #6b4fa1, #d2452f);
	opacity: .16;
	filter: blur(2px);
	pointer-events: none;
}

body.np .vv-menu-movil__logo {
	height: 64px;
	width: auto;
}

body.np .vv-menu-movil__ico {
	color: var(--np-amarillo);
}

body.np .vv-menu-movil__item.is-actual .vv-menu-movil__enlace {
	color: var(--np-amarillo);
}

/* ---------- Portada: hero ---------- */
body .np-hero {
	position: relative;
	overflow: hidden;
	background: var(--np-azul-3);
	color: #ffffff;
}

body .np-hero .vvsl {
	min-height: clamp(560px, 86vh, 820px);
}

body .np-hero .vvsl__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(10, 24, 39, .88) 0%, rgba(10, 24, 39, .62) 42%, rgba(10, 24, 39, .1) 78%), linear-gradient(0deg, rgba(10, 24, 39, .55), transparent 40%);
}

body .np-hero .vvsl__tarjetas {
	z-index: 3;
}

body .np-hero .vvsl__tarjeta {
	max-width: 620px;
}

body .np-hero .vvsl__tarjeta h2,
body .np-hero .vvsl__tarjeta h3 {
	color: #ffffff;
	font-size: clamp(2.2rem, 5.2vw, 4.2rem);
	line-height: .98;
}

body .np-hero .vvsl__tarjeta p {
	color: rgba(255, 255, 255, .86);
	font-size: clamp(1rem, 1.5vw, 1.18rem);
}

body .np-hero__fijo {
	position: absolute;
	left: 0;
	right: 0;
	bottom: clamp(70px, 10vh, 110px);
	z-index: 4;
	pointer-events: none;
}

body .np-hero__fijo .np-botones {
	pointer-events: auto;
}

body .np-hero__carta {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	height: 10px;
	background: var(--np-carta);
	background-size: 200% 100%;
	animation: np-carta 18s linear infinite;
}

@keyframes np-carta {
	to {
		background-position: -200% 0;
	}
}

/* ---------- Portada: catálogo ---------- */
body .np-familias {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 26px);
	margin: 0;
	padding: 0;
	list-style: none;
}

body .np-familia {
	position: relative;
	min-width: 0;
}

body .np-familia a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--vv-radio);
	overflow: hidden;
	background: #ffffff;
	color: var(--vv-texto);
	text-decoration: none;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
	transition: transform .55s var(--np-curva), box-shadow .55s var(--np-curva);
}

body .np-familia a:hover {
	transform: translateY(-8px);
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra);
}

body .np-familia a:focus-visible {
	outline: 3px solid var(--vv-foco);
	outline-offset: 4px;
}

body .np-familia__foto {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--np-azul);
}

body .np-familia__foto img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	display: block;
	transition: transform 1.2s var(--np-curva), filter 1.2s var(--np-curva);
}

body .np-familia a:hover .np-familia__foto img {
	transform: scale(1.1);
	filter: saturate(1.15);
}

body .np-familia__foto::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 6px;
	background: var(--np-color, var(--np-azul-2));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .6s var(--np-curva);
}

body .np-familia a:hover .np-familia__foto::after {
	transform: scaleX(1);
}

body .np-familia__ico {
	position: absolute;
	left: 18px;
	top: calc(75% - 30px);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 18px;
	background: var(--np-color, var(--np-azul-2));
	color: #ffffff;
	box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .6);
	transition: transform .55s var(--np-curva);
}

body .np-familia a:hover .np-familia__ico {
	transform: rotate(-8deg) scale(1.06);
}

body .np-familia__ico svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .np-familia__texto {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	padding: 40px 20px 22px;
}

body .np-familia__nombre {
	margin: 0;
	font-family: var(--vv-fuente-titulos);
	font-size: 1.38rem;
	font-weight: 700;
	line-height: 1.08;
	color: var(--np-azul);
}

body .np-familia__desc {
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--vv-texto) 70%, transparent);
}

body .np-familia__ir {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 12px;
	font-size: .86rem;
	font-weight: 700;
	color: var(--np-color, var(--np-azul-2));
}

body .np-familia__ir svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .35s var(--np-curva);
}

body .np-familia a:hover .np-familia__ir svg {
	transform: translateX(4px);
}

body .np-familia--imprimaciones { --np-color: #7a5236; }
body .np-familia--acabados { --np-color: #3d6b93; }
body .np-familia--eccolux { --np-color: #2a9fc9; }
body .np-familia--oxidux { --np-color: #6b4fa1; }
body .np-familia--tintometrico { --np-color: #d2452f; }
body .np-familia--suelos { --np-color: #4f6272; }
body .np-familia--agua { --np-color: #2f8f6a; }
body .np-familia--otros { --np-color: #b07d00; }

body .np-buscador {
	display: flex;
	gap: 10px;
	max-width: 680px;
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: 8px;
	border: 1px solid var(--np-linea);
	border-radius: 60px;
	background: #ffffff;
	box-shadow: var(--np-sombra-suave);
}

body .np-buscador input {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	padding: 0 1em 0 2.8em;
	border: 0;
	border-radius: 60px;
	background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%233d6b93%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22M20 20l-4-4%22/%3E%3C/svg%3E") no-repeat 1em center / 20px;
	font: inherit;
	font-size: 1rem;
	color: var(--vv-texto);
}

body .np-buscador input:focus-visible {
	outline: 2px solid var(--np-azul-2);
	outline-offset: 0;
}

/* ---------- Portada: sistema tintométrico ---------- */
body .np-tinto {
	overflow: hidden;
}

body .np-tinto__fila {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(32px, 6vw, 88px);
	align-items: center;
}

body .np-tinto__abanico {
	position: relative;
	aspect-ratio: 1 / 1;
	max-width: 520px;
	width: 100%;
	margin-inline: auto;
}

body .np-tinto__lama {
	position: absolute;
	left: 50%;
	bottom: 10%;
	width: 15%;
	height: 78%;
	border-radius: 10px 10px 6px 6px;
	background: var(--c);
	box-shadow: 0 16px 30px -18px rgba(0, 0, 0, .8), inset 0 -36px 0 rgba(255, 255, 255, .16);
	transform-origin: 50% 92%;
	transform: translateX(-50%) rotate(0deg);
	transition: transform 1.4s var(--np-curva);
}

body .np-tinto__lama::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 7%;
	width: 18%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	transform: translateX(-50%);
}

body .np-tinto.is-visto .np-tinto__lama {
	transform: translateX(-50%) rotate(var(--g));
}

body .np-tinto__lista {
	display: grid;
	gap: 14px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

body .np-tinto__lista li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

body .np-tinto__lista svg {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	padding: 4px;
	border-radius: 8px;
	background: rgba(240, 180, 0, .16);
	fill: none;
	stroke: var(--np-amarillo);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ---------- Portada: por qué Nupinsur ---------- */
body .np-valores {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
}

body .np-valor {
	position: relative;
	padding: 30px 24px 26px;
	border-radius: var(--vv-radio);
	background: #ffffff;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
	overflow: hidden;
}

body .np-valor::before {
	content: "";
	position: absolute;
	right: -30px;
	top: -30px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: var(--np-color, var(--np-azul-2));
	opacity: .08;
}

body .np-valor__ico {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 0 18px;
	border-radius: 16px;
	background: color-mix(in srgb, var(--np-color, var(--np-azul-2)) 14%, #ffffff);
	color: var(--np-color, var(--np-azul-2));
}

body .np-valor__ico svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .np-valor h3 {
	margin: 0 0 8px;
	font-size: 1.3rem;
}

body .np-valor p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--vv-texto) 74%, transparent);
}

/* ---------- Calidad: sellos ISO ---------- */
body .np-calidad {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(26px, 4vw, 44px);
	border-radius: calc(var(--vv-radio) + 6px);
	background: #ffffff;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
}

body .np-calidad h2 {
	margin: 0 0 10px;
	font-size: clamp(1.6rem, 3vw, 2.3rem);
}

body .np-calidad p {
	margin: 0;
	color: color-mix(in srgb, var(--vv-texto) 74%, transparent);
}

body .np-calidad .vvmc,
body .np-calidad [class*="vvma"] {
	min-width: min(360px, 100%);
}

/* ---------- Boletín ---------- */
body .np-boletin {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: center;
}

body .np-boletin .mailpoet_form {
	padding: 0 !important;
}

body .np-boletin .mailpoet_text,
body .np-boletin .mailpoet_email {
	width: 100% !important;
	min-height: 50px;
	padding: .7em 1.1em !important;
	border: 1px solid rgba(255, 255, 255, .25) !important;
	border-radius: 60px !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #ffffff !important;
	font: inherit !important;
}

body .np-boletin .mailpoet_submit {
	min-height: 50px;
	padding: .7em 1.6em !important;
	border: 0 !important;
	border-radius: 60px !important;
	background: var(--np-amarillo) !important;
	color: var(--np-azul-3) !important;
	font: 700 .96rem var(--vv-fuente-textos) !important;
	cursor: pointer;
}

body .np-boletin label,
body .np-boletin .mailpoet_paragraph {
	color: rgba(255, 255, 255, .85);
	font-size: .9rem;
}

body .np-boletin a {
	color: #ffffff;
}

/* ---------- Franja final ---------- */
body .np-cta {
	position: relative;
	overflow: hidden;
	padding-block: clamp(64px, 8vw, 104px);
	background: var(--np-azul-2);
	color: #ffffff;
	text-align: center;
}

body .np-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 120% at 0% 100%, rgba(240, 180, 0, .3), transparent 60%), radial-gradient(50% 120% at 100% 0%, rgba(210, 69, 47, .25), transparent 60%);
}

body .np-cta .np-caja {
	position: relative;
}

body .np-cta h2 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: clamp(2rem, 4vw, 3rem);
}

body .np-cta p {
	max-width: 680px;
	margin: 0 auto;
	color: rgba(255, 255, 255, .86);
}

/* ---------- Páginas interiores ---------- */
body.np .vv-cabecera-pagina,
body.np .vvf-cabecera {
	background: radial-gradient(110% 120% at 90% 0%, #24496d, var(--np-azul) 55%, var(--np-azul-3));
}

body .np-texto {
	max-width: 820px;
}

body .np-texto h2 {
	margin: 1.6em 0 .5em;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}

body .np-texto h3 {
	margin: 1.4em 0 .4em;
	font-size: 1.35rem;
}

body .np-dos {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}

body .np-aviso {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 22px;
	border-radius: var(--vv-radio);
	background: color-mix(in srgb, var(--np-amarillo) 14%, #ffffff);
	border: 1px solid color-mix(in srgb, var(--np-amarillo) 45%, transparent);
}

body .np-aviso svg {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	fill: none;
	stroke: #8a6400;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .np-aviso p {
	margin: 0;
}

body .np-pictos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

body .np-pictos li {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
	font-size: .92rem;
	line-height: 1.4;
}

body .np-pictos img {
	flex: 0 0 auto;
	width: 58px;
	height: 58px;
	max-width: none;
}

body .np-pictos strong {
	display: block;
	color: var(--np-azul);
}

body .np-urgencia {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
	align-items: center;
	padding: 24px 26px;
	border-radius: var(--vv-radio);
	background: var(--np-azul);
	color: #ffffff;
}

body .np-urgencia strong {
	display: block;
	font-family: var(--vv-fuente-titulos);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	line-height: 1;
}

body .np-urgencia a {
	color: #ffffff;
	text-decoration: none;
}

/* ---------- Catálogo (vv-catalogo) ---------- */
body.np .vvcat-filtros button[aria-pressed="true"] {
	background: var(--np-azul);
	border-color: var(--np-azul);
}

body.np .vvcat-tarjeta {
	border-radius: var(--vv-radio);
	overflow: hidden;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
}

body.np .vvcat-foto {
	aspect-ratio: 1 / 1;
	background: linear-gradient(160deg, #ffffff, #e9eef3);
}

body.np .vvcat .vvcat-foto img {
	object-fit: contain;
	padding: 14px;
}

body.np .vvcat-tarjeta:hover .vvcat-foto img {
	transform: scale(1.06);
}

body.np .vvcat-tipo {
	border-radius: 30px;
	background: var(--np-azul);
	color: #ffffff;
}

body.np .vvcat-nuevo {
	background: var(--np-amarillo);
	color: var(--np-azul-3);
}

body.np .vvcat-titulo {
	font-size: 1.18rem;
	line-height: 1.12;
}

body.np .vvcat-boton {
	background: var(--np-azul);
}

body.np .vvcat-boton:hover {
	background: var(--np-amarillo);
	color: var(--np-azul-3);
}

body.np .vvcat-pagina__principal {
	border-radius: var(--vv-radio);
	background: linear-gradient(160deg, #ffffff, #e9eef3);
}

body.np .vvcat-pagina__seccion a {
	color: var(--np-azul-2);
}

body.np .vvcat-consulta {
	border-radius: calc(var(--vv-radio) + 6px);
	background: var(--np-niebla);
}

body.np .vvcat-secciones__enlace {
	border-radius: var(--vv-radio);
	overflow: hidden;
	box-shadow: 0 1px 0 var(--np-linea), var(--np-sombra-suave);
}

/* ---------- Pie ---------- */
body.np .vv-pie {
	position: relative;
}

body.np .vv-pie::before {
	content: "";
	display: block;
	height: 6px;
	background: var(--np-carta);
}

/* ---------- Aparecer ---------- */
body .np-aparece {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .9s var(--np-curva), transform .9s var(--np-curva);
}

body .np-aparece.is-visto {
	opacity: 1;
	transform: none;
}

html.vv-a11y-quieto body .np-aparece,
html.vv-accesible body .np-aparece {
	opacity: 1;
	transform: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	body .np-familias,
	body .np-valores {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 959px) {
	body .np-tinto__fila,
	body .np-boletin,
	body .np-dos,
	body .np-calidad {
		grid-template-columns: minmax(0, 1fr);
	}

	body .np-tinto__abanico {
		max-width: 380px;
	}

	body .np-pictos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.np {
		font-size: 16px;
	}

	body .np-cab,
	body .np-calidad,
	body .np-tinto__texto {
		text-align: center;
	}

	body .np-ante {
		justify-content: center;
	}

	body .np-botones {
		justify-content: center;
	}

	body .np-familia__ico {
		left: 12px;
		width: 48px;
		height: 48px;
		border-radius: 14px;
		top: calc(75% - 24px);
	}

	body .np-familia__ico svg {
		width: 24px;
		height: 24px;
	}

	body .np-familia__texto {
		padding: 32px 12px 16px;
	}

	body .np-familia__nombre {
		font-size: 1.08rem;
	}

	body .np-familia__desc {
		display: none;
	}

	body .np-valor {
		text-align: center;
		padding: 24px 16px 20px;
	}

	body .np-valor__ico {
		margin-inline: auto;
	}

	body .np-tinto__lista li {
		text-align: left;
	}

	body .np-hero .vvsl {
		min-height: 78svh;
	}

	body .np-hero .vvsl__tarjeta {
		text-align: center;
		margin-inline: auto;
	}

	body .np-hero .vvsl__foto::after {
		background: linear-gradient(0deg, rgba(10, 24, 39, .9) 0%, rgba(10, 24, 39, .55) 55%, rgba(10, 24, 39, .25) 100%);
	}

	body .np-buscador {
		border-radius: 18px;
	}

	body .np-pictos {
		grid-template-columns: minmax(0, 1fr);
	}

	body .np-urgencia {
		text-align: center;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .np-hero__carta {
		animation: none;
	}

	body .np-tinto__lama {
		transition: none;
	}
}

/* ---------- Portada: tarjeta del pase ---------- */
body .np-hero .vvsl__tarjetas-caja {
	width: min(100% - 40px, var(--vv-ancho));
	margin-inline: auto;
}

body .np-hero .vvsl__tarjeta {
	padding-block: clamp(90px, 14vh, 140px) clamp(120px, 18vh, 170px);
}

body .np-hero .vvsl__tarjeta .vvsl__titulo {
	max-width: 13ch;
	margin: 0 0 18px;
	color: #ffffff;
	font-family: var(--vv-fuente-titulos);
	font-size: clamp(2.3rem, 5.4vw, 4.5rem);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.02em;
	text-wrap: balance;
}

body .np-hero .vvsl__tarjeta .vvsl__texto {
	max-width: 520px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, .88);
	font-size: clamp(1.02rem, 1.4vw, 1.2rem);
	line-height: 1.55;
}

body .np-hero .vvsl__boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: .75em 1.6em;
	border-radius: 60px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .25s, color .25s, transform .25s var(--np-curva);
}

body .np-hero .vvsl__boton--1 {
	background: var(--np-amarillo);
	color: var(--np-azul-3);
}

body .np-hero .vvsl__boton--1:hover {
	background: #ffffff;
	color: var(--np-azul-3);
	transform: translateY(-2px);
}

body .np-hero .vvsl__boton--2 {
	border: 1.5px solid rgba(255, 255, 255, .6);
	color: #ffffff;
}

body .np-hero .vvsl__boton--2:hover {
	border-color: #ffffff;
	background: rgba(255, 255, 255, .12);
	color: #ffffff;
}

body .np-hero .vvsl__controles {
	bottom: 34px;
}

body .np-hero .vvsl--vacio {
	min-height: clamp(560px, 86vh, 820px);
	background: radial-gradient(80% 90% at 85% 20%, #24496d, var(--np-azul-3) 70%);
}

/* ---------- Interiores: piezas ---------- */
body .np-sec--corta {
	padding-block: clamp(44px, 6vw, 72px);
}

body .np-btn--linea-oscuro {
	border: 1.5px solid var(--np-linea);
	color: var(--np-azul);
}

body .np-btn--linea-oscuro:hover {
	border-color: var(--np-azul);
	background: var(--np-azul);
	color: #ffffff;
}

body .np-foto-lado {
	margin: 0;
	border-radius: calc(var(--vv-radio) + 6px);
	overflow: hidden;
	box-shadow: var(--np-sombra);
	aspect-ratio: 4 / 5;
}

body .np-foto-lado img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

body .np-pasos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2.4vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

body .np-paso {
	position: relative;
	padding: 30px 26px 28px;
	border: 1px solid var(--np-linea);
	border-radius: var(--vv-radio);
	background: #ffffff;
}

body .np-paso__n {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 0 18px;
	border-radius: 50%;
	background: var(--np-carta);
	background-size: 800% 100%;
	color: #ffffff;
	font-family: var(--vv-fuente-titulos);
	font-size: 1.4rem;
	font-weight: 800;
}

body .np-paso:nth-child(1) .np-paso__n { background: var(--np-rojo); }
body .np-paso:nth-child(2) .np-paso__n { background: var(--np-azul-2); }
body .np-paso:nth-child(3) .np-paso__n { background: var(--np-verde); }

body .np-paso h3 {
	margin: 0 0 8px;
}

body .np-paso p {
	margin: 0;
}

body .np-contacto {
	align-items: start;
}

body .np-datos {
	display: grid;
	gap: 16px;
	margin: 26px 0 30px;
	padding: 0;
	list-style: none;
}

body .np-datos li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

body .np-datos strong {
	display: block;
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--np-azul-2);
}

body .np-datos__ico {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--np-niebla);
	color: var(--np-azul);
}

body .np-datos__ico svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .np-contacto__form {
	padding: clamp(24px, 3.4vw, 40px);
	border-radius: calc(var(--vv-radio) + 6px);
	background: var(--np-niebla);
}

body .np-contacto__form > h2 {
	margin: 0 0 18px;
}

body .np-mapa {
	line-height: 0;
}

body .np-mapa iframe,
body .np-mapa .vv-mapa {
	width: 100%;
	min-height: 380px;
	border: 0;
}

body .np-pictos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px;
	margin: 20px 0 10px;
	padding: 0;
	list-style: none;
}

body .np-pictos li {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid var(--np-linea);
	border-radius: var(--vv-radio);
	background: #ffffff;
}

body .np-pictos li div {
	display: grid;
	gap: 2px;
}

body .np-pictos span {
	font-size: .92rem;
	line-height: 1.45;
}

@media (max-width: 959px) {
	body .np-pasos {
		grid-template-columns: minmax(0, 1fr);
	}

	body .np-foto-lado {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 767px) {
	body .np-hero .vvsl__tarjeta {
		padding-block: 70px 120px;
	}

	body .np-hero .vvsl__botones {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ---------- Ajustes de cabecera, pie y tarjetas ---------- */
body.np .vv-nav__item > a {
	gap: 6px;
	padding: 8px 10px;
	font-size: 15px;
	white-space: nowrap;
}

@media (max-width: 1320px) {
	body.np .vv-nav__item > a {
		padding: 7px 8px;
		font-size: 14px;
	}
}

@media (min-width: 1101px) {
	body .vv-barra {
		display: none;
	}
}

body .vv-acc-flota {
	display: none !important;
}

body .np-familia__texto {
	position: relative;
}

body .np-familia__ico {
	top: -30px;
}

body .np-familia a,
body .np-familia a:hover {
	text-decoration: none;
}

body.np .vv-pie__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.np .vv-pie__nav li {
	flex: 0 0 50%;
	min-width: 0;
	padding-right: 12px;
}

body.np .vv-pie__nav li:has(> a[hreflang]) {
	flex: 0 0 auto;
	padding-right: 0;
	font-weight: 700;
	letter-spacing: .06em;
}

body.np .vv-pie__nav li:not(:has(> a[hreflang])) + li:has(> a[hreflang]) {
	margin-top: 10px;
}

body.np .vv-pie__nav li:has(> a[hreflang]) + li:has(> a[hreflang]) {
	margin-top: 10px;
}

body.np .vv-pie__nav li:has(> a[hreflang]) + li:has(> a[hreflang])::before {
	content: "|";
	margin-inline: 12px;
	opacity: .4;
}

body.np .vv-pie__titulo {
	color: var(--np-amarillo);
}

body.np .vv-pie__nav a,
body.np .vv-pie__legales a {
	text-decoration: none;
}

body.np .vv-pie__nav a:hover,
body.np .vv-pie__legales a:hover {
	text-decoration: underline;
}

body .np-calidad .vvmc {
	min-width: 0;
}

body .np-calidad .vvmc__lista--rejilla {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

body .np-calidad .vvmc-item {
	margin: 0;
}

body .np-calidad .vvmc-logo {
	display: block;
	width: 190px;
	max-width: 100%;
	height: auto !important;
	max-height: none;
	padding: 14px;
	object-fit: contain;
	object-position: center;
	border: 1px solid var(--np-linea);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: var(--np-sombra-suave);
}

@media (max-width: 767px) {
	body .np-calidad .vvmc__lista--rejilla {
		justify-content: center;
	}

	body .np-calidad .vvmc-logo {
		width: 150px;
		padding: 10px;
	}
}

/* ---------- Cabecera de página interior ---------- */
body.np .vv-titulo-pagina {
	position: relative;
	margin: 0;
	max-width: none;
	width: 100%;
	padding: clamp(46px, 7vw, 92px) max(20px, calc((100% - var(--vv-ancho)) / 2)) clamp(40px, 6vw, 76px);
	background: radial-gradient(110% 140% at 90% 0%, #24496d, var(--np-azul) 55%, var(--np-azul-3));
	color: #ffffff;
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	line-height: 1.05;
	text-wrap: balance;
}

body.np .vv-titulo-pagina::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 6px;
	background: var(--np-carta);
}

@media (max-width: 767px) {
	body .np-hero .vvsl__tarjeta {
		align-self: end;
		padding-block: 0 104px;
	}

	body .np-hero .vvsl__foto::after {
		background: linear-gradient(0deg, rgba(10, 24, 39, .95) 0%, rgba(10, 24, 39, .78) 40%, rgba(10, 24, 39, .08) 72%);
	}

	body .np-hero .vvsl__tarjeta .vvsl__titulo {
		margin-inline: auto;
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	body .np-hero .vvsl__tarjeta .vvsl__texto {
		margin-inline: auto;
		margin-bottom: 22px;
		font-size: .98rem;
	}

	body .np-valores {
		grid-template-columns: minmax(0, 1fr);
	}

	body .np-valor {
		text-align: center;
	}

	body .vvcat-secciones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}

body .np-hero .vvsl__tarjetas {
	min-height: clamp(560px, 86vh, 820px);
}

body .np-hero .vvsl__tarjetas-caja {
	min-height: inherit;
}

/* ---------- Cabecera en dos filas ---------- */
body .np-cab-extra {
	display: none;
}

@media (min-width: 1101px) {
	body.np .vv-cabecera__caja {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas: "marca extra" "nav nav";
		gap: 6px 24px;
		padding-block: 16px 8px;
	}

	body.np .vv-cabecera__marca {
		grid-area: marca;
	}

	body.np .vv-cabecera__marca img,
	body.np .vv-cabecera__logo {
		height: 116px;
		max-height: none;
	}

	html.vv-scroll body.np .vv-cabecera__logo {
		height: 70px;
	}

	body.np .np-cab-extra {
		grid-area: extra;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 12px;
	}

	body.np .vv-nav {
		grid-area: nav;
		margin: 0 0 0 -10px;
	}

	body.np .vv-nav__lista {
		justify-content: flex-start;
	}

	body.np .vv-nav__item--destacado {
		margin-left: auto;
	}

	body.np .np-solo-movil {
		display: none;
	}
}

body .np-cab-buscar {
	position: relative;
	display: flex;
	align-items: center;
	width: min(380px, 34vw);
	border: 1px solid var(--np-linea);
	border-radius: 60px;
	background: var(--np-niebla);
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body .np-cab-buscar:focus-within {
	border-color: var(--np-azul-2);
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(61, 107, 147, .14);
}

body .np-cab-buscar input {
	flex: 1;
	min-width: 0;
	min-height: 46px;
	padding: 0 6px 0 20px;
	border: 0;
	background: transparent;
	color: var(--np-azul-3);
	font: inherit;
	font-size: .94rem;
	outline: none;
}

body .np-cab-buscar button {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-right: 3px;
	border: 0;
	border-radius: 50%;
	background: var(--np-azul);
	color: #ffffff;
	cursor: pointer;
}

body .np-cab-buscar button:hover {
	background: var(--np-azul-2);
}

body .np-cab-buscar svg,
body .np-cab-clientes svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .np-cab-clientes {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 18px;
	border: 1.5px solid var(--np-azul);
	border-radius: 60px;
	color: var(--np-azul);
	font-size: .92rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease;
}

body .np-cab-clientes:hover {
	background: var(--np-azul);
	color: #ffffff;
}

body .np-movil-buscar {
	padding: 6px 20px 14px;
}

body .np-movil-buscar .np-cab-buscar {
	width: 100%;
}

@media (max-width: 1100px) {
	body.np .vv-cabecera__caja {
		align-items: flex-start;
	}

	body.np .vv-cabecera__marca {
		position: relative;
		z-index: 3;
		display: block;
		align-self: flex-start;
		height: 52px;
		margin-top: 2px;
		overflow: visible;
		line-height: 0;
	}

	body.np .vv-cabecera__menu {
		align-self: center;
	}

	body.np .vv-cabecera__marca img,
	body.np .vv-cabecera__logo,
	html.vv-scroll body.np .vv-cabecera__logo {
		display: block;
		height: 88px;
		max-height: none;
		width: auto;
		filter: drop-shadow(0 8px 10px rgba(15, 33, 52, .28));
	}

	html.vv-scroll body.np .vv-cabecera__logo {
		height: 70px;
	}
}

/* ---------- Familias: color y piezas ---------- */
body .np-familia--eccolux { --np-color: #2f8f6a; }
body .np-familia--agua { --np-color: #2a9fc9; }

body.np .vvf-cabecera {
	position: relative;
	border-bottom: 6px solid var(--vvcat-color, transparent);
}

body.np .vvf-cabecera,
body.np .vvf-cabecera__titulo,
body.np .vvf-cabecera a {
	color: #ffffff;
}

body.np .vvf-cabecera__caja {
	display: flex;
	align-items: center;
	gap: 18px;
}

body.np .vvcat-seccion__ico {
	order: -1;
	display: grid;
	place-items: center;
	width: clamp(58px, 7vw, 76px);
	height: clamp(58px, 7vw, 76px);
	padding: 14px;
	border-radius: 22px;
	background: var(--vvcat-color, var(--np-azul-2));
	color: #ffffff;
	box-shadow: 0 16px 30px -16px rgba(0, 0, 0, .6);
}

body.np.vvcat-es-seccion .vvf-cabecera::before {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: var(--vvcat-color, transparent);
	opacity: .35;
	filter: blur(4px);
	pointer-events: none;
}

body.np .vvcat-seccion__caja {
	padding-top: clamp(26px, 4vw, 44px);
}

body.np .vvcat-seccion__nav {
	margin: 0 0 clamp(22px, 3vw, 34px);
}

body.np .vvcat-seccion__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.np .vvcat-seccion__nav a {
	min-height: 42px;
	padding: 6px 16px 6px 8px;
	border: 1px solid var(--np-linea);
	border-radius: 60px;
	background: #ffffff;
	color: var(--np-azul);
	font-size: .9rem;
	font-weight: 700;
	text-decoration: none;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

body.np .vvcat-seccion__nav .vvcat-ico {
	width: 28px;
	height: 28px;
	padding: 5px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--vvcat-color, var(--np-azul-2)) 14%, #ffffff);
}

body.np .vvcat-seccion__nav a:hover {
	border-color: var(--vvcat-color, var(--np-azul-2));
}

body.np .vvcat-seccion__nav a[aria-current="page"] {
	border-color: var(--vvcat-color, var(--np-azul-2));
	background: var(--vvcat-color, var(--np-azul-2));
	color: #ffffff;
}

body.np .vvcat-seccion__nav a[aria-current="page"] .vvcat-ico {
	background: rgba(255, 255, 255, .2);
	color: #ffffff;
}

body.np .vvcat-pagina__seccion a {
	padding: 4px 14px 4px 6px;
	border-radius: 60px;
	background: color-mix(in srgb, var(--vvcat-color, var(--np-azul-2)) 12%, #ffffff);
	color: var(--vvcat-color, var(--np-azul-2));
	font-weight: 800;
	text-decoration: none;
}

body.np .vvcat-pagina__seccion .vvcat-ico {
	width: 26px;
	height: 26px;
	padding: 4px;
	border-radius: 50%;
	background: var(--vvcat-color, var(--np-azul-2));
	color: #ffffff;
}

body.np.vvcat-es-ficha .vv-contenido {
	border-top: 6px solid var(--vvcat-color, transparent);
}

body.np[class*="vvcat-sec-"] .vvcat-tipo,
body.np[class*="vvcat-sec-"] .vvcat-boton {
	background: var(--vvcat-color);
}

body.np .vvcat-secciones__item .vvcat-ico {
	position: absolute;
	left: 14px;
	top: 14px;
	z-index: 2;
	width: 44px;
	height: 44px;
	padding: 9px;
	border-radius: 14px;
	background: var(--vvcat-color, var(--np-azul-2));
	color: #ffffff;
	box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .6);
}

body.np .vvcat-secciones__enlace {
	position: relative;
	box-shadow: inset 0 -4px 0 var(--vvcat-color, transparent);
}

body.np .vvcat-lateral .vvcat-filtros button {
	color: var(--np-azul-3);
}

@media (max-width: 767px) {
	body.np .vvcat-seccion__nav ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: -5%;
		padding: 2px 5% 8px;
		scrollbar-width: none;
	}

	body.np .vvcat-seccion__nav li {
		flex: 0 0 auto;
	}
}

body.np .vv-contenido .vvcat-seccion__nav a,
body.np .vv-contenido .vvcat-pagina__seccion a,
body.np .vv-contenido .vvcat-secciones__enlace {
	text-decoration: none;
}

body.np .vvcat-lateral .vvcat-filtros button[aria-pressed="true"] {
	border: 0;
	background: color-mix(in srgb, var(--vvcat-color, #3d6b93) 12%, #ffffff);
	color: var(--np-azul-3);
}

body.np .vvcat-lateral .vvcat-filtros button:hover {
	background: var(--np-niebla);
	color: var(--np-azul-3);
}

body.np .vvcat-lateral .vvcat-buscar input {
	width: 100%;
}

body.np .vvf-cabecera {
	overflow: hidden;
}

body.np .vvcat-nuevo {
	top: auto;
	right: 10px;
	bottom: 10px;
	left: auto;
}

body .np-cab-buscar input:focus-visible,
body .np-buscador input:focus-visible {
	outline: none;
	box-shadow: none;
}

body .np-buscador:focus-within {
	border-color: var(--np-azul-2);
	box-shadow: 0 0 0 4px rgba(61, 107, 147, .14);
}

/* ---------- Rejilla de tarjetas fija ---------- */
body.np .vvcat-rejilla {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
	body.np .vvcat-rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---------- Selector de idioma ---------- */
body.np .vv-nav__item.vvi-idioma .vv-nav__enlace {
	padding: 6px 7px;
	border-radius: 6px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--np-azul-3);
	opacity: .62;
	transition: opacity .2s, background-color .2s;
}

body.np .vv-nav__item.vvi-idioma .vv-nav__enlace:hover,
body.np .vv-nav__item.vvi-idioma .vv-nav__enlace:focus-visible {
	opacity: 1;
	background: rgba(23, 48, 74, .07);
}

body.np .vv-nav__item:not(.vvi-idioma) + .vvi-idioma {
	margin-left: 8px;
	padding-left: 10px;
	border-left: 1px solid rgba(23, 48, 74, .18);
}

body.np .vv-menu-movil__item.vvi-idioma {
	display: inline-block;
	margin: 18px 8px 0 0;
	vertical-align: top;
}

body.np .vv-menu-movil__item.vvi-idioma .vv-menu-movil__enlace {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff;
}

body.np .vv-menu-movil__item.vvi-idioma .vv-menu-movil__enlace:hover,
body.np .vv-menu-movil__item.vvi-idioma .vv-menu-movil__enlace:focus-visible {
	border-color: var(--np-amarillo);
	color: var(--np-amarillo);
}

/* ---------- Sellos de calidad ---------- */
body .np-calidad .vvmc-enlace {
	display: block;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: none;
	box-shadow: none;
	overflow: visible;
}

/* ---------- Boletín en móvil ---------- */
@media (max-width: 767px) {
	body .np-boletin {
		text-align: center;
	}

	body .np-boletin .mailpoet_paragraph {
		text-align: center;
	}

	body.np .vv-pie__nav {
		justify-content: center;
	}

	body.np .vv-pie__nav li {
		padding-inline: 6px;
	}

	body.np .vv-pie__nav li:has(> a[hreflang]) {
		padding-inline: 0;
	}
}


/* ---------- Ficha técnica en cuadrícula ---------- */
body.np .vvcat-pagina .vvf-datos__titulo {
	margin-top: 6px;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
}

body.np .vvcat-datos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

body.np .vvcat-dato {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 11v5.5M12 7.6v.1%22/%3E%3C/svg%3E");
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	gap: 4px;
	align-content: start;
	min-width: 0;
	padding: 16px 16px 18px;
	border: 1px solid var(--np-linea);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 1px 0 rgba(15, 33, 52, .03);
}

body.np .vvcat-dato.vvcat-dato--referencia {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3.5 12.2V4.5a1 1 0 0 1 1-1h7.7l8.3 8.3a1.4 1.4 0 0 1 0 2l-6.7 6.7a1.4 1.4 0 0 1-2 0z%22/%3E%3Ccircle cx=%228%22 cy=%228%22 r=%221.6%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--disolvente {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3.5h6M10 3.5v5.6L5.2 17.6A2 2 0 0 0 7 20.5h10a2 2 0 0 0 1.8-2.9L14 9.1V3.5%22/%3E%3Cpath d=%22M7.4 14.5h9.2%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--acabado {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M11 3.5l1.9 5.1 5.1 1.9-5.1 1.9L11 17.5l-1.9-5.1L4 10.5l5.1-1.9z%22/%3E%3Cpath d=%22M18 14.5l.9 2.1 2.1.9-2.1.9-.9 2.1-.9-2.1-2.1-.9 2.1-.9z%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--rendimiento {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%223.5%22 width=%2214%22 height=%226%22 rx=%221.5%22/%3E%3Cpath d=%22M17.5 6.5h3v5.5h-8.5v3%22/%3E%3Crect x=%2210.5%22 y=%2215%22 width=%223%22 height=%225.5%22 rx=%221%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--secado {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 7.5V12l3 2%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--repintado {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3.5l8.5 4.6L12 12.7 3.5 8.1z%22/%3E%3Cpath d=%22M3.5 12.1l8.5 4.6 8.5-4.6%22/%3E%3Cpath d=%22M3.5 16l8.5 4.5 8.5-4.5%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato.vvcat-dato--formato {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 7.5h14l-1.4 12.1a1 1 0 0 1-1 .9H7.4a1 1 0 0 1-1-.9z%22/%3E%3Cellipse cx=%2212%22 cy=%227.5%22 rx=%227%22 ry=%222.2%22/%3E%3Cpath d=%22M8.5 4.8c.4-1.6 6.6-1.6 7 0%22/%3E%3C/svg%3E");
}

body.np .vvcat-dato::before {
	content: "";
	width: 40px;
	height: 40px;
	margin-bottom: 8px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--np-azul-2) 12%, #ffffff);
}

body.np .vvcat-dato::after {
	content: "";
	position: absolute;
	top: 25px;
	left: 25px;
	width: 22px;
	height: 22px;
	background: var(--np-azul-2);
	-webkit-mask: var(--np-ico) center / contain no-repeat;
	mask: var(--np-ico) center / contain no-repeat;
}

body.np .vvcat-dato dt {
	color: var(--np-azul-2);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: 1;
}

body.np .vvcat-dato dd {
	color: var(--np-azul);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

body.np .vvcat-datos > .vvcat-dato--referencia {
	grid-column: 1 / -1;
	grid-template-columns: auto auto minmax(0, 1fr);
	grid-template-rows: auto;
	align-items: center;
	gap: 0 14px;
	padding: 12px 16px;
	border-color: transparent;
	background: var(--np-azul-3);
}

body.np .vvcat-dato--referencia::before {
	margin: 0;
	background: rgba(255, 255, 255, .1);
}

body.np .vvcat-dato--referencia::after {
	top: 21px;
	background: var(--np-amarillo);
}

body.np .vvcat-dato--referencia dt {
	color: rgba(255, 255, 255, .7);
}

body.np .vvcat-dato--referencia dd {
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: .04em;
}

@media (max-width: 600px) {
	body.np .vvcat-datos:has(> .vvcat-dato--referencia) > .vvcat-dato:last-child:nth-child(2n),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)) > .vvcat-dato:last-child:nth-child(2n + 1) {
		grid-column: 1 / -1;
	}

	body.np .vvcat-dato {
		padding: 14px 12px 16px;
	}

	body.np .vvcat-dato::after {
		top: 23px;
		left: 21px;
	}

	body.np .vvcat-dato--referencia::after {
		top: 21px;
		left: 25px;
	}

	body.np .vvcat-dato dd {
		font-size: .92rem;
	}
}

@media (min-width: 601px) {
	body.np .vvcat-datos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.np .vvcat-datos:has(> .vvcat-dato--referencia) > .vvcat-dato:last-child:nth-child(3n + 2),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)) > .vvcat-dato:last-child:nth-child(3n + 1) {
		grid-column: 1 / -1;
	}

	body.np .vvcat-datos:has(> .vvcat-dato--referencia) > .vvcat-dato:last-child:nth-child(3n),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)) > .vvcat-dato:last-child:nth-child(3n + 2) {
		grid-column: span 2;
	}

	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(3):last-child),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(5):last-child),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(9):last-child),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(2):last-child),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(4):last-child),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(8):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(3):last-child) > .vvcat-dato:not(.vvcat-dato--referencia),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(5):last-child) > .vvcat-dato:not(.vvcat-dato--referencia),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(9):last-child) > .vvcat-dato:not(.vvcat-dato--referencia),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(2):last-child) > .vvcat-dato:not(.vvcat-dato--referencia),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(4):last-child) > .vvcat-dato:not(.vvcat-dato--referencia),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(8):last-child) > .vvcat-dato:not(.vvcat-dato--referencia) {
		grid-column: auto;
	}

	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(3):last-child) > .vvcat-dato:last-child:nth-child(2n),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(5):last-child) > .vvcat-dato:last-child:nth-child(2n),
	body.np .vvcat-datos:has(> .vvcat-dato--referencia):has(> .vvcat-dato:nth-child(9):last-child) > .vvcat-dato:last-child:nth-child(2n),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(2):last-child) > .vvcat-dato:last-child:nth-child(2n + 1),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(4):last-child) > .vvcat-dato:last-child:nth-child(2n + 1),
	body.np .vvcat-datos:not(:has(> .vvcat-dato--referencia)):has(> .vvcat-dato:nth-child(8):last-child) > .vvcat-dato:last-child:nth-child(2n + 1) {
		grid-column: 1 / -1;
	}
}

/* ---------- Migas de pan ---------- */
body.np .vvcat-migas {
	color: color-mix(in srgb, var(--np-azul) 70%, transparent);
	font-size: .84rem;
}

body.np .vvcat-migas li a:not([class]) {
	color: var(--np-azul-2);
	text-decoration: none;
	opacity: 1;
}

body.np .vvcat-migas li a:not([class]):hover,
body.np .vvcat-migas li a:not([class]):focus-visible {
	text-decoration: underline;
}

body.np .vvcat-migas [aria-current] {
	color: var(--np-azul);
}


/* ---------- Banderas del selector de idioma ---------- */
body.np .vv-menu-movil__item.vvi-idioma .vv-menu-movil__enlace {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-width: 58px;
	padding-inline: 12px;
	text-shadow: 0 1px 2px rgba(10, 24, 39, .75);
}

body.np .vv-menu-movil__item.vvi-idioma {
	margin-right: 5px;
}

body.np .vv-menu-movil__item.vvi-idioma .vv-menu-movil__enlace::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--np-bandera) left center / 100% 100% no-repeat;
	opacity: .62;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 38%, transparent 82%);
	mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .55) 38%, transparent 82%);
	pointer-events: none;
}

body.np .vvi-idioma--es {
	--np-bandera: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 3 2%22 preserveAspectRatio=%22none%22%3E%3Crect width=%223%22 height=%222%22 fill=%22%23AA151B%22/%3E%3Crect y=%22.5%22 width=%223%22 height=%221%22 fill=%22%23F1BF00%22/%3E%3C/svg%3E");
}

body.np .vvi-idioma--en {
	--np-bandera: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 30%22 preserveAspectRatio=%22xMinYMid slice%22%3E%3CclipPath id=%22c%22%3E%3Cpath d=%22M30 15h30v15zv15H0zH0V0zV0h30z%22/%3E%3C/clipPath%3E%3Crect width=%2260%22 height=%2230%22 fill=%22%23012169%22/%3E%3Cpath d=%22M0 0l60 30M60 0L0 30%22 stroke=%22%23fff%22 stroke-width=%226%22/%3E%3Cpath d=%22M0 0l60 30M60 0L0 30%22 clip-path=%22url(%23c)%22 stroke=%22%23C8102E%22 stroke-width=%224%22/%3E%3Cpath d=%22M30 0v30M0 15h60%22 stroke=%22%23fff%22 stroke-width=%2210%22/%3E%3Cpath d=%22M30 0v30M0 15h60%22 stroke=%22%23C8102E%22 stroke-width=%226%22/%3E%3C/svg%3E");
}

body.np .vvi-idioma--fr {
	--np-bandera: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 3 2%22 preserveAspectRatio=%22none%22%3E%3Crect width=%221%22 height=%222%22 fill=%22%23002654%22/%3E%3Crect x=%221%22 width=%221%22 height=%222%22 fill=%22%23fff%22/%3E%3Crect x=%222%22 width=%221%22 height=%222%22 fill=%22%23CE1126%22/%3E%3C/svg%3E");
}

body.np .vvi-idioma--ca {
	--np-bandera: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 9%22 preserveAspectRatio=%22none%22%3E%3Crect width=%229%22 height=%229%22 fill=%22%23FCDD09%22/%3E%3Cpath d=%22M0 1.5h9M0 3.5h9M0 5.5h9M0 7.5h9%22 stroke=%22%23DA121A%22/%3E%3C/svg%3E");
}

body.np .vvi-idioma--gl {
	--np-bandera: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 30 20%22 preserveAspectRatio=%22none%22%3E%3Crect width=%2230%22 height=%2220%22 fill=%22%23fff%22/%3E%3Cpath d=%22M0 0h6l24 16v4h-6L0 4z%22 fill=%22%230099D9%22/%3E%3C/svg%3E");
}


/* ---------- Superficie y carrusel de relacionados ---------- */
body.np .vvcat-dato.vvcat-dato--soporte {
	--np-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%223.5%22 width=%2217%22 height=%2217%22 rx=%221.5%22/%3E%3Cpath d=%22M3.5 9.2h17M3.5 14.8h17M9 3.5v5.7M15 9.2v5.6M9 14.8v5.7%22/%3E%3C/svg%3E");
}

body.np .vvcat-relacionados--carrusel .vvcat-car__flecha {
	border-color: var(--np-linea);
	background: #ffffff;
	color: var(--np-azul);
}

body.np .vvcat-relacionados--carrusel .vvcat-car__flecha:hover,
body.np .vvcat-relacionados--carrusel .vvcat-car__flecha:focus-visible {
	border-color: var(--np-azul);
	background: var(--np-azul);
	color: #ffffff;
}

body.np .vvcat-relacionados--carrusel .vvcat-car__puntos button {
	color: var(--np-azul-2);
}

body.np .vvcat-relacionados--carrusel .vvcat-car__puntos button[aria-current="true"] {
	color: var(--np-amarillo);
	opacity: 1;
}

body.np .vvcat-lateral__grupo .vvcat-filtro-sel select {
	width: 100%;
}

/* ---------- Familias en una línea y aviso de fichas ---------- */
@media (min-width: 1024px) {
	body.np .vvcat-seccion__nav ul {
		flex-wrap: nowrap;
		gap: 6px;
	}

	body.np .vvcat-seccion__nav li {
		flex: 1 1 auto;
		min-width: 0;
	}

	body.np .vvcat-seccion__nav a {
		justify-content: center;
		width: 100%;
		gap: 6px;
		padding: 6px 12px 6px 7px;
		font-size: clamp(.8rem, .95vw, .9rem);
		white-space: nowrap;
	}
}

body.np .np-aviso + .vvcat-docs {
	margin-top: clamp(24px, 3vw, 34px);
}
