/* © 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 :focus-visible {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
@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__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;
color:inherit;
text-decoration:none;
white-space:nowrap;
}
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 {
padding:6px 3%;
}
body .vv-barra__etiqueta {
display:none;
}
body .vv-barra__etiqueta-movil {
display:block;
}
body .vv-barra__txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
}
body .vv-barra__btn {
width:44px;
height:44px;
min-height:44px;
padding:0;
}
body .vv-barra__separador {
margin:4px 8px;
}
body .vv-barra__grupo {
gap:6px;
}
body .vv-barra__botones {
gap: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 · Transportes Ceacero */

/* ---------- Fuentes ---------- */
@font-face {
font-family:"Manrope";
src:url("https://recursos.veovirtual.net/c/transportesceacero/fuentes/manrope-latin-400-normal.woff2") format("woff2");
font-weight:400;
font-display:swap;
}
@font-face {
font-family:"Manrope";
src:url("https://recursos.veovirtual.net/c/transportesceacero/fuentes/manrope-latin-500-normal.woff2") format("woff2");
font-weight:500;
font-display:swap;
}
@font-face {
font-family:"Manrope";
src:url("https://recursos.veovirtual.net/c/transportesceacero/fuentes/manrope-latin-600-normal.woff2") format("woff2");
font-weight:600;
font-display:swap;
}
@font-face {
font-family:"Manrope";
src:url("https://recursos.veovirtual.net/c/transportesceacero/fuentes/manrope-latin-700-normal.woff2") format("woff2");
font-weight:700;
font-display:swap;
}
@font-face {
font-family:"Manrope";
src:url("https://recursos.veovirtual.net/c/transportesceacero/fuentes/manrope-latin-800-normal.woff2") format("woff2");
font-weight:800;
font-display:swap;
}

/* ---------- Tokens ---------- */
:root {
--vv-ancho:1240px;
--vv-fondo:#ffffff;
--vv-texto:#1c2430;
--vv-acento:#14336b;
--vv-oscuro:#14336b;
--vv-claro:#f4f6f9;
--vv-foco:#1f6feb;
--vv-cab-fondo:#ffffff;
--vv-cab-texto:#14336b;
--vv-pie-fondo:#0e2548;
--vv-pie-texto:rgba(255,255,255,.82);
--vv-barra-fondo:rgba(14,37,72,.97);
--vv-radio:14px;
--vv-fuente-titulos:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
--vv-fuente-textos:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
--tc-azul:#14336b;
--tc-azul-2:#23497f;
--tc-azul-osc:#0e2548;
--tc-azul-noche:#0a1a35;
--tc-amarillo:#fefb3a;
--tc-amarillo-osc:#e0dd1f;
--tc-texto:#1c2430;
--tc-suave:#5a6678;
--tc-gris:#f4f6f9;
--tc-borde:#e3e8ef;
--tc-sombra:0 18px 40px -26px rgba(14,37,72,.45);
--tc-sombra-alta:0 30px 60px -30px rgba(14,37,72,.55);
--tc-sep:clamp(64px,8vw,112px);
--tc-curva:cubic-bezier(.2,.7,.2,1);
--tc-sesgo:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);
}

/* ---------- Base ---------- */
body.tc {
font-size:17px;
line-height:1.65;
-webkit-font-smoothing:antialiased;
}
body.tc h1,
body.tc h2,
body.tc h3,
body.tc h4 {
font-family:var(--vv-fuente-titulos);
font-weight:800;
line-height:1.15;
letter-spacing:-.01em;
color:var(--tc-azul);
text-wrap:balance;
}
body.tc p,
body.tc li {
text-wrap:pretty;
}
body .tc-caja {
width:min(var(--vv-ancho),calc(100% - 32px));
margin-inline:auto;
}
body .vv-contenido > .wp-block-group,
body .vv-contenido > .tc-sec {
margin-block:0;
}
body .tc-sec {
padding-block:var(--tc-sep);
}
body .tc-sec--gris {
background:var(--tc-gris);
}
body .vv-contenido :where(p,li) a:not([class]) {
color:inherit;
text-decoration:underline;
text-decoration-color:var(--tc-azul);
text-decoration-thickness:1.5px;
text-underline-offset:3px;
}
body .vv-titulo-pagina {
font-size:clamp(2rem,4.5vw,3.2rem);
}
body .tc-oculto-vacio:not(:has(img)) {
display:none;
}

/* ---------- Botones ---------- */
body .tc-btn,
body .vvsl__boton {
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:54px;
padding:12px 28px;
border:2px solid transparent;
border-radius:999px;
font-family:var(--vv-fuente-textos);
font-size:1rem;
font-weight:800;
letter-spacing:.01em;
line-height:1.2;
text-decoration:none !important;
white-space:nowrap;
overflow:hidden;
isolation:isolate;
cursor:pointer;
transition:color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s var(--tc-curva);
}
body .tc-btn::before,
body .vvsl__boton::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
border-radius:inherit;
transform:translateX(-101%) skewX(-12deg);
transform-origin:left;
transition:transform .4s var(--tc-curva);
}
body .tc-btn:hover::before,
body .tc-btn:focus-visible::before,
body .vvsl__boton:hover::before,
body .vvsl__boton:focus-visible::before {
transform:translateX(0) skewX(0);
}
body .tc-btn:hover,
body .vvsl__boton:hover {
transform:translateY(-2px);
}
body .tc-btn svg {
width:20px;
height:20px;
flex:none;
transition:transform .3s ease;
}
body .tc-btn:hover svg {
transform:translateX(3px);
}
body .tc-btn--amarillo,
body .vvsl__boton--1 {
background:var(--tc-amarillo);
color:var(--tc-azul-osc) !important;
box-shadow:0 14px 28px -16px rgba(224,221,31,.9);
}
body .tc-btn--amarillo::before,
body .vvsl__boton--1::before {
background:#ffffff;
}
body .tc-btn--azul {
background:var(--tc-azul);
color:#ffffff !important;
box-shadow:0 14px 28px -16px rgba(20,51,107,.9);
}
body .tc-btn--azul::before {
background:var(--tc-azul-osc);
}
body .tc-btn--linea,
body .vvsl__boton--2 {
border-color:rgba(255,255,255,.6);
background:transparent;
color:#ffffff !important;
}
body .tc-btn--linea::before,
body .vvsl__boton--2::before {
background:#ffffff;
}
body .tc-btn--linea:hover,
body .tc-btn--linea:focus-visible,
body .vvsl__boton--2:hover,
body .vvsl__boton--2:focus-visible {
border-color:#ffffff;
color:var(--tc-azul-osc) !important;
}
body .tc-btn--linea-azul {
border-color:var(--tc-azul);
background:transparent;
color:var(--tc-azul) !important;
}
body .tc-btn--linea-azul::before {
background:var(--tc-azul);
}
body .tc-btn--linea-azul:hover,
body .tc-btn--linea-azul:focus-visible {
color:#ffffff !important;
}
body .tc-botones {
display:flex;
flex-wrap:wrap;
gap:14px;
}
body .tc-botones--centro {
justify-content:center;
}
@media only screen and (max-width:767px) {
body .tc-botones {
flex-direction:column;
align-items:stretch;
}
body .tc-btn,
body .vvsl__boton {
white-space:normal;
}
}

/* ---------- Cabeceras de sección ---------- */
body .tc-cab {
max-width:780px;
margin:0 auto clamp(36px,4vw,56px);
text-align:center;
}
body .tc-cab--izq {
margin-left:0;
text-align:left;
}
body .tc-ante {
display:inline-flex;
align-items:center;
gap:10px;
margin:0 0 14px;
color:var(--tc-azul-2);
font-size:.78rem;
font-weight:800;
letter-spacing:.18em;
text-transform:uppercase;
}
body .tc-ante:empty {
display:none;
}
body .tc-ante::before {
content:"";
width:28px;
height:10px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
}
body .tc-cab h2 {
margin:0 0 16px;
font-size:clamp(1.85rem,3.6vw,2.7rem);
}
body .tc-cab p {
margin:0;
color:var(--tc-suave);
font-size:1.08rem;
}
body .tc-oscuro .tc-ante {
color:var(--tc-amarillo);
}
body .tc-oscuro .tc-cab h2,
body .tc-oscuro h2,
body .tc-oscuro h3 {
color:#ffffff;
}
body .tc-oscuro .tc-cab p {
color:rgba(255,255,255,.78);
}

/* ---------- Cabecera ---------- */
body.tc .vv-cabecera {
border-bottom:1px solid var(--tc-borde);
}
body.tc .vv-cabecera__caja {
padding-top:22px;
padding-bottom:22px;
transition:padding .3s ease;
}
html.vv-scroll body.tc .vv-cabecera__caja {
padding-top:12px;
padding-bottom:12px;
}
body.tc .vv-cabecera__logo {
width:auto;
height:58px;
}
html.vv-scroll body.tc .vv-cabecera__logo {
height:46px;
}
body.tc .vv-nav__lista {
gap:2px;
}
body.tc .vv-nav__enlace {
position:relative;
padding:9px 11px;
white-space:nowrap;
color:var(--tc-azul);
font-size:.86rem;
font-weight:700;
letter-spacing:.01em;
}
body.tc .vv-nav__enlace::after {
content:"";
position:absolute;
left:11px;
right:11px;
bottom:2px;
height:4px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
transform:scaleX(0);
transform-origin:left;
transition:transform .3s var(--tc-curva);
}
body.tc .vv-nav__enlace:hover::after,
body.tc .vv-nav__item.is-actual .vv-nav__enlace::after {
transform:scaleX(1);
}
body.tc .vv-nav__ico svg {
width:18px;
height:18px;
color:var(--tc-azul-2);
}
body.tc .vv-nav__item--destacado .vv-nav__enlace {
margin-left:6px;
padding:10px 18px;
border-radius:999px;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
box-shadow:0 12px 24px -16px rgba(224,221,31,.95);
transition:background-color .3s ease,color .3s ease;
}
body.tc .vv-nav__item--destacado .vv-nav__enlace::after {
display:none;
}
body.tc .vv-nav__item--destacado .vv-nav__ico svg {
color:var(--tc-azul-osc);
}
body.tc .vv-nav__item--destacado .vv-nav__enlace:hover,
body.tc .vv-nav__item--destacado .vv-nav__enlace:focus-visible {
background:var(--tc-azul);
color:#ffffff;
}
body.tc .vv-nav__item--destacado .vv-nav__enlace:hover .vv-nav__ico svg {
color:var(--tc-amarillo);
}
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace {
margin-left:6px;
padding:8px 16px;
border:2px solid var(--tc-azul);
border-radius:999px;
transition:background-color .3s ease,color .3s ease;
}
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace::after {
display:none;
}
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace:hover,
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace:focus-visible {
background:var(--tc-azul);
color:#ffffff;
}
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace:hover .vv-nav__ico svg {
color:var(--tc-amarillo);
}
body.tc .vv-cabecera__menu {
border-color:rgba(20,51,107,.3);
color:var(--tc-azul);
}
@media only screen and (max-width:1599px) {
body.tc .vv-nav__ico {
display:none;
}
}
@media only screen and (max-width:1500px) {
body.tc .vv-cabecera__logo {
height:48px;
}
body.tc .vv-nav__enlace {
padding:9px 8px;
font-size:.82rem;
}
body.tc .vv-nav__item--destacado .vv-nav__enlace,
body.tc .vv-nav__item.tc-menu-cliente .vv-nav__enlace {
padding-inline:14px;
}
}
@media only screen and (max-width:1280px) {
body.tc .vv-nav {
display:none;
}
body.tc .vv-cabecera__menu {
display:flex;
}
}
@media only screen and (max-width:1280px) {
body.tc .vv-cabecera__menu {
background:var(--tc-azul);
border-color:var(--tc-azul);
color:#ffffff;
}
}
@media only screen and (max-width:767px) {
body.tc .vv-cabecera__logo,
html.vv-scroll body.tc .vv-cabecera__logo {
height:40px;
}
body.tc .vv-cabecera__caja,
html.vv-scroll body.tc .vv-cabecera__caja {
padding:14px 16px;
}
}

/* ---------- Menú móvil ---------- */
body.tc .vv-menu-movil__panel {
background:linear-gradient(160deg,var(--tc-azul) 0%,var(--tc-azul-osc) 70%);
color:#ffffff;
overflow:hidden;
}
body.tc .vv-menu-movil__panel::after {
content:"";
position:absolute;
right:-90px;
bottom:-10px;
width:340px;
height:160px;
background:url("https://recursos.veovirtual.net/c/transportesceacero/furgoneta-ceacero.svg") no-repeat center/contain;
opacity:.16;
filter:blur(1.5px);
pointer-events:none;
}
body.tc .vv-menu-movil__cab {
background:#ffffff;
border-bottom:4px solid var(--tc-amarillo);
}
body.tc .vv-menu-movil__logo {
width:auto;
height:38px;
}
body.tc .vv-menu-movil__cerrar {
color:var(--tc-azul);
}
body.tc .vv-menu-movil__nav {
position:relative;
z-index:1;
}
body.tc .vv-menu-movil__enlace {
display:flex;
align-items:center;
gap:12px;
padding:12px 22px;
color:#ffffff;
font-size:.8rem;
font-weight:700;
letter-spacing:.12em;
text-transform:uppercase;
border-bottom:1px solid rgba(255,255,255,.08);
transition:background-color .25s ease,padding-left .25s ease;
}
body.tc .vv-menu-movil__enlace:hover,
body.tc .vv-menu-movil__item.is-actual .vv-menu-movil__enlace {
padding-left:28px;
background:rgba(255,255,255,.06);
}
body.tc .vv-menu-movil__ico svg {
width:20px;
height:20px;
color:var(--tc-amarillo);
}
body.tc .vv-menu-movil__item--destacado .vv-menu-movil__enlace {
margin:12px 22px 6px;
padding:12px 18px;
border-radius:999px;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
border-bottom:0;
}
body.tc .vv-menu-movil__item--destacado .vv-menu-movil__ico svg {
color:var(--tc-azul-osc);
}
body.tc .vv-menu-movil__pie {
position:relative;
z-index:1;
}
body.tc .vv-menu-movil__pie a {
color:#ffffff;
}

/* ---------- Hero de portada ---------- */
body .tc-hero {
position:relative;
}
body .tc-hero .vvsl {
min-height:clamp(560px,84vh,780px);
background:var(--tc-azul-noche);
}
body .tc-hero .vvsl__pista::after {
content:"";
position:absolute;
inset:0;
z-index:3;
background:linear-gradient(90deg,rgba(10,26,53,.78) 0%,rgba(10,26,53,.45) 45%,rgba(10,26,53,.05) 80%),linear-gradient(0deg,rgba(10,26,53,.55) 0%,rgba(10,26,53,0) 35%);
pointer-events:none;
}
body .tc-hero .vvsl--vacio {
background:radial-gradient(circle at 80% 30%,var(--tc-azul-2) 0%,var(--tc-azul-osc) 55%,var(--tc-azul-noche) 100%);
}
body .tc-hero .vvsl__tarjetas {
position:absolute;
inset:0;
}
body .tc-hero .vvsl__tarjetas-caja {
width:min(var(--vv-ancho),calc(100% - 32px));
margin-inline:auto;
}
body .tc-hero .vvsl__tarjeta {
max-width:620px;
padding:clamp(28px,4vw,46px);
border:1px solid rgba(255,255,255,.18);
border-radius:22px;
background:rgba(14,37,72,.48);
-webkit-backdrop-filter:blur(10px);
backdrop-filter:blur(10px);
box-shadow:0 40px 80px -40px rgba(0,0,0,.6);
color:#ffffff;
}
body .tc-hero .vvsl__tarjeta::before {
content:"";
display:block;
width:64px;
height:12px;
margin-bottom:22px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
}
body .tc-hero .vvsl__titulo {
margin:0 0 16px;
color:#ffffff;
font-size:clamp(2rem,4.4vw,3.35rem);
font-weight:800;
line-height:1.08;
letter-spacing:-.015em;
}
body .tc-hero .vvsl__texto {
margin:0 0 28px;
color:rgba(255,255,255,.88);
font-size:clamp(1.02rem,1.5vw,1.2rem);
}
body .tc-hero .vvsl__pausa {
right:max(16px,calc((100% - var(--vv-ancho)) / 2));
bottom:24px;
}
@media only screen and (max-width:767px) {
body .tc-hero .vvsl {
min-height:calc(100svh - 120px);
max-height:760px;
}
body .tc-hero .vvsl__pista::after {
background:linear-gradient(0deg,rgba(10,26,53,.88) 0%,rgba(10,26,53,.55) 55%,rgba(10,26,53,.15) 100%);
}
body .tc-hero .vvsl__tarjeta {
align-self:end;
margin-bottom:24px;
padding:24px 22px;
text-align:center;
}
body .tc-hero .vvsl__tarjeta::before {
margin-inline:auto;
}
body .tc-hero .vvsl__botones {
flex-direction:column;
}
}

/* ---------- Furgoneta con el scroll ---------- */
body .tc-ruta {
position:relative;
height:64px;
overflow:hidden;
pointer-events:none;
}
body .tc-ruta::before {
content:"";
position:absolute;
left:0;
right:0;
bottom:11px;
border-top:2px dashed rgba(20,51,107,.2);
}
body .tc-ruta--oscura::before {
border-top-color:rgba(255,255,255,.22);
}
body .tc-ruta--gris {
background:var(--tc-gris);
}
body .tc-ruta--azul {
background:var(--tc-azul);
}
body .tc-furgo {
position:absolute;
left:0;
bottom:6px;
width:clamp(84px,8vw,108px);
translate:var(--tc-x,0px) 0;
transition:translate .18s linear;
will-change:translate;
}
body .tc-furgo img {
display:block;
width:100%;
height:auto;
transform:scaleX(var(--tc-giro,1));
transition:transform .45s cubic-bezier(.6,0,.3,1);
}
html.vv-accesible body .tc-ruta,
html.vv-a11y-quieto body .tc-ruta {
display:none;
}
@media (prefers-reduced-motion:reduce) {
body .tc-ruta {
display:none;
}
}

/* ---------- Tarjetas ---------- */
body .tc-rejilla {
display:grid;
gap:22px;
}
body .tc-rejilla--4 {
grid-template-columns:repeat(4,minmax(0,1fr));
}
body .tc-rejilla--3 {
grid-template-columns:repeat(3,minmax(0,1fr));
}
body .tc-tarjeta {
position:relative;
display:flex;
flex-direction:column;
gap:10px;
padding:30px 26px;
border:1px solid var(--tc-borde);
border-radius:var(--vv-radio);
background:#ffffff;
overflow:hidden;
transition:transform .35s var(--tc-curva),box-shadow .35s ease,border-color .35s ease;
}
body .tc-tarjeta::after {
content:"";
position:absolute;
top:0;
right:0;
width:90px;
height:8px;
background:var(--tc-amarillo);
clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);
transform:translateX(100%);
transition:transform .4s var(--tc-curva);
}
body .tc-tarjeta:hover {
transform:translateY(-6px);
border-color:rgba(20,51,107,.25);
box-shadow:var(--tc-sombra-alta);
}
body .tc-tarjeta:hover::after {
transform:none;
}
body .tc-tarjeta h3 {
margin:6px 0 0;
font-size:1.2rem;
}
body .tc-tarjeta p {
margin:0;
color:var(--tc-suave);
font-size:.98rem;
}
body .tc-ico {
position:relative;
display:grid;
place-items:center;
width:62px;
height:62px;
border-radius:16px;
background:var(--tc-azul);
color:#ffffff;
transition:background-color .35s ease,color .35s ease,transform .45s var(--tc-curva);
}
body .tc-ico::before {
content:"";
position:absolute;
right:-7px;
bottom:-7px;
width:26px;
height:10px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
transition:transform .35s var(--tc-curva);
}
body .tc-ico svg {
width:32px;
height:32px;
fill:none;
stroke:currentColor;
stroke-width:1.6;
stroke-linecap:round;
stroke-linejoin:round;
}
body .tc-tarjeta:hover .tc-ico {
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
transform:rotate(-4deg) scale(1.04);
}
body .tc-tarjeta:hover .tc-ico::before {
transform:translateX(6px);
background:var(--tc-azul);
}
@media only screen and (max-width:959px) {
body .tc-rejilla--4,
body .tc-rejilla--3 {
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media only screen and (max-width:767px) {
body .tc-rejilla {
gap:12px;
}
body .tc-tarjeta {
align-items:center;
padding:22px 14px;
text-align:center;
}
body .tc-ico {
width:54px;
height:54px;
}
body .tc-ico svg {
width:28px;
height:28px;
}
body .tc-tarjeta h3 {
font-size:1.02rem;
}
body .tc-tarjeta p {
font-size:.9rem;
}
}

/* ---------- Servicios ---------- */
body .tc-serv {
padding:34px 30px;
}
body .tc-serv ul,
body .tc-lineas {
display:grid;
gap:8px;
margin:12px 0 0;
padding:0;
list-style:none;
}
body .tc-serv li,
body .tc-lineas li {
position:relative;
padding-left:28px;
color:var(--tc-texto);
font-size:.95rem;
font-weight:600;
line-height:1.45;
text-align:left;
}
body .tc-serv li::before,
body .tc-lineas li::before {
content:"";
position:absolute;
left:0;
top:2px;
width:18px;
height:18px;
border-radius:50%;
background:var(--tc-amarillo) 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%2314336b%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12.5l4 4L18 8%22/%3E%3C/svg%3E") no-repeat center/12px;
}
@media only screen and (max-width:959px) {
body .tc-rejilla--3.tc-rejilla--serv {
grid-template-columns:1fr;
max-width:640px;
margin-inline:auto;
}
}
@media only screen and (max-width:767px) {
body .tc-serv {
align-items:flex-start;
text-align:left;
padding:24px 20px;
}
}

/* ---------- Paletería exprés ---------- */
body .tc-palibex {
position:relative;
overflow:hidden;
background:var(--tc-azul);
color:#ffffff;
isolation:isolate;
}
body .tc-palibex__fondo {
position:absolute;
inset:0;
z-index:-2;
margin:0;
}
body .tc-palibex__fondo img {
width:100%;
height:100%;
object-fit:cover;
object-position:75% 50%;
filter:blur(3px) saturate(.9);
transform:scale(1.06);
}
body .tc-palibex::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(90deg,rgba(20,51,107,.97) 0%,rgba(20,51,107,.9) 45%,rgba(20,51,107,.6) 100%);
}
body .tc-palibex__caja {
display:grid;
grid-template-columns:1.05fr .95fr;
gap:clamp(32px,5vw,72px);
align-items:center;
}
body .tc-palibex h2 {
margin:0 0 18px;
color:#ffffff;
font-size:clamp(2rem,3.8vw,2.9rem);
}
body .tc-palibex p {
color:rgba(255,255,255,.86);
}
body .tc-sello {
display:inline-flex;
align-items:center;
gap:8px;
margin-bottom:18px;
padding:8px 16px;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
font-size:.78rem;
font-weight:800;
letter-spacing:.14em;
text-transform:uppercase;
clip-path:var(--tc-sesgo);
}
body .tc-puntos {
display:grid;
gap:14px;
margin:0;
padding:0;
list-style:none;
}
body .tc-punto {
display:flex;
align-items:flex-start;
gap:18px;
padding:22px;
border:1px solid rgba(255,255,255,.16);
border-radius:var(--vv-radio);
background:rgba(255,255,255,.07);
-webkit-backdrop-filter:blur(6px);
backdrop-filter:blur(6px);
transition:transform .35s var(--tc-curva),background-color .35s ease,border-color .35s ease;
}
body .tc-punto:hover {
transform:translateX(6px);
border-color:rgba(254,251,58,.55);
background:rgba(255,255,255,.12);
}
body .tc-punto .tc-ico {
flex:none;
width:52px;
height:52px;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
}
body .tc-punto .tc-ico::before {
background:#ffffff;
}
body .tc-punto .tc-ico svg {
width:28px;
height:28px;
}
body .tc-punto strong {
display:block;
margin-bottom:4px;
color:#ffffff;
font-size:1.06rem;
}
body .tc-punto div > span {
color:rgba(255,255,255,.8);
font-size:.96rem;
}
@media only screen and (max-width:959px) {
body .tc-palibex__caja {
grid-template-columns:1fr;
}
body .tc-palibex::before {
background:linear-gradient(180deg,rgba(20,51,107,.96) 0%,rgba(20,51,107,.86) 100%);
}
}
@media only screen and (max-width:767px) {
body .tc-palibex__texto {
text-align:center;
}
body .tc-punto {
padding:18px;
}
}

/* ---------- Así trabajamos contigo ---------- */
body .tc-pasos {
background:linear-gradient(170deg,var(--tc-azul) 0%,var(--tc-azul-osc) 100%);
}
body .tc-pasos__lista {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
margin:0;
padding:0;
list-style:none;
}
body .tc-paso {
position:relative;
padding:28px 24px 30px;
border:1px solid rgba(255,255,255,.16);
border-radius:var(--vv-radio);
background:rgba(255,255,255,.06);
overflow:hidden;
transition:transform .35s var(--tc-curva),background-color .35s ease,border-color .35s ease;
}
body .tc-paso:hover {
transform:translateY(-6px);
border-color:rgba(254,251,58,.6);
background:rgba(255,255,255,.1);
}
body .tc-paso__num {
display:flex;
align-items:center;
gap:12px;
margin-bottom:18px;
}
body .tc-paso__num b {
display:grid;
place-items:center;
width:48px;
height:48px;
border-radius:50%;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
font-size:1.25rem;
font-weight:800;
transition:transform .35s var(--tc-curva);
}
body .tc-paso:hover .tc-paso__num b {
transform:scale(1.08) rotate(-6deg);
}
body .tc-paso__num i {
flex:1;
height:2px;
background:linear-gradient(90deg,rgba(254,251,58,.75),rgba(254,251,58,0));
}
body .tc-paso h3 {
margin:0 0 10px;
color:#ffffff;
font-size:1.14rem;
}
body .tc-paso p {
margin:0;
color:rgba(255,255,255,.78);
font-size:.97rem;
}
body .tc-paso::after {
content:attr(data-n);
content:attr(data-n) / "";
position:absolute;
right:-4px;
bottom:-38px;
color:rgba(255,255,255,.05);
font-size:150px;
font-weight:800;
line-height:1;
pointer-events:none;
}
@media only screen and (max-width:959px) {
body .tc-pasos__lista {
grid-template-columns:repeat(2,minmax(0,1fr));
}
}
@media only screen and (max-width:767px) {
body .tc-pasos__lista {
gap:12px;
}
body .tc-paso {
padding:20px 14px 22px;
text-align:center;
}
body .tc-paso__num {
justify-content:center;
}
body .tc-paso__num i {
display:none;
}
body .tc-paso h3 {
font-size:1rem;
}
body .tc-paso p {
font-size:.9rem;
}
}

/* ---------- Mitad foto / mitad texto ---------- */
body .tc-mitad {
display:grid;
grid-template-columns:1fr 1fr;
gap:clamp(32px,5vw,72px);
align-items:center;
}
body .tc-mitad--foto-izq .tc-mitad__foto {
order:-1;
}
body .tc-mitad__texto h2 {
margin:0 0 18px;
font-size:clamp(1.85rem,3.4vw,2.6rem);
}
body .tc-mitad__texto p {
color:var(--tc-suave);
}
body .tc-mitad__foto {
position:relative;
margin:0;
}
body .tc-mitad__foto img {
display:block;
width:100%;
height:clamp(320px,38vw,480px);
object-fit:cover;
border-radius:18px;
box-shadow:var(--tc-sombra-alta);
}
body .tc-mitad__foto::before {
content:"";
position:absolute;
left:-16px;
bottom:-16px;
z-index:-1;
width:46%;
height:46%;
background:var(--tc-amarillo);
clip-path:polygon(0 0,100% 0,calc(100% - 22px) 100%,0 100%);
}
body .tc-mitad__foto figcaption {
position:absolute;
right:16px;
bottom:16px;
padding:8px 14px;
border-radius:999px;
background:rgba(14,37,72,.82);
color:#ffffff;
font-size:.8rem;
font-weight:700;
}
@media only screen and (max-width:959px) {
body .tc-mitad {
grid-template-columns:1fr;
}
body .tc-mitad__foto {
order:-1;
}
body .tc-mitad__foto::before {
left:-8px;
bottom:-8px;
}
}
@media only screen and (max-width:767px) {
body .tc-mitad__texto {
text-align:center;
}
body .tc-mitad__foto img {
height:260px;
}
}

/* ---------- Nuestra cultura ---------- */
body .tc-cultura {
position:relative;
background:var(--tc-gris);
overflow:hidden;
}
body .tc-cultura::before {
content:"";
position:absolute;
top:0;
left:50%;
width:min(1400px,140%);
height:100%;
translate:-50% 0;
background:radial-gradient(circle at 15% 20%,rgba(254,251,58,.22) 0,rgba(254,251,58,0) 32%),radial-gradient(circle at 85% 85%,rgba(20,51,107,.12) 0,rgba(20,51,107,0) 38%);
pointer-events:none;
}
body .tc-cultura .tc-caja {
position:relative;
}
body .tc-cultura .tc-tarjeta {
align-items:center;
padding:38px 28px 34px;
text-align:center;
}
body .tc-cultura .tc-ico {
width:76px;
height:76px;
border-radius:50%;
}
body .tc-cultura .tc-ico svg {
width:38px;
height:38px;
}
body .tc-cultura .tc-ico::before {
right:-4px;
bottom:4px;
}
body .tc-cultura .tc-tarjeta h3 {
font-size:1.25rem;
}

/* ---------- Página interior: cabecera ---------- */
body .tc-phero {
position:relative;
display:flex;
align-items:flex-end;
min-height:clamp(300px,42vh,440px);
padding-block:clamp(48px,7vw,84px);
overflow:hidden;
background:var(--tc-azul-osc);
color:#ffffff;
isolation:isolate;
}
body .tc-phero__foto {
position:absolute;
inset:0;
z-index:-2;
margin:0;
}
body .tc-phero__foto img {
width:100%;
height:100%;
object-fit:cover;
}
body .tc-phero::before {
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(90deg,rgba(10,26,53,.9) 0%,rgba(10,26,53,.62) 50%,rgba(10,26,53,.2) 100%);
}
body .tc-phero__caja {
width:min(var(--vv-ancho),calc(100% - 32px));
margin-inline:auto;
}
body .tc-phero h1 {
max-width:760px;
margin:0 0 12px;
color:#ffffff;
font-size:clamp(2.1rem,4.6vw,3.4rem);
}
body .tc-phero p {
max-width:620px;
margin:0;
color:rgba(255,255,255,.88);
font-size:1.12rem;
}
body .tc-phero .tc-ante {
color:var(--tc-amarillo);
}
@media only screen and (max-width:767px) {
body .tc-phero {
align-items:center;
min-height:260px;
text-align:center;
}
body .tc-phero::before {
background:linear-gradient(0deg,rgba(10,26,53,.9) 0%,rgba(10,26,53,.6) 100%);
}
body .tc-phero p {
margin-inline:auto;
}
}

/* ---------- Página interior: foto a la derecha ---------- */
body .tc-phero--derecha {
min-height:clamp(380px,50vh,540px);
}
body .tc-phero--derecha::before {
display:none;
}
body .tc-phero--derecha .tc-phero__foto {
top:0;
right:0;
bottom:0;
left:auto;
width:auto;
height:100%;
aspect-ratio:3/2;
max-width:72%;
}
body .tc-phero--derecha .tc-phero__foto::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,var(--tc-azul-osc) 0%,rgba(14,37,72,.75) 18%,rgba(14,37,72,.25) 45%,rgba(14,37,72,0) 65%);
}
body .tc-phero--derecha .tc-phero__foto img {
object-position:center;
}
@media only screen and (max-width:959px) {
body .tc-phero--derecha {
display:block;
min-height:0;
padding-top:0;
}
body .tc-phero--derecha .tc-phero__foto {
position:relative;
z-index:0;
width:100%;
max-width:none;
height:auto;
}
body .tc-phero--derecha .tc-phero__foto::after {
background:linear-gradient(0deg,var(--tc-azul-osc) 0%,rgba(14,37,72,0) 45%);
}
body .tc-phero--derecha .tc-phero__caja {
position:relative;
margin-top:-28px;
}
}

/* ---------- Cabecera de listados (blog) ---------- */
body.tc .vvf-cabecera:not(.vvf-cabecera--foto) {
display:flex;
align-items:flex-end;
min-height:clamp(300px,42vh,440px);
padding-block:clamp(56px,7vw,92px);
background:linear-gradient(90deg,rgba(10,26,53,.92) 0%,rgba(10,26,53,.66) 50%,rgba(10,26,53,.2) 100%),var(--tc-cabecera-fondo,none) right center/cover no-repeat var(--tc-azul-osc);
color:#ffffff;
}
body.tc .vvf-cabecera:not(.vvf-cabecera--foto) .vvf-cabecera__titulo,
body.tc .vvf-cabecera:not(.vvf-cabecera--foto) .vvf-migas__enlace,
body.tc .vvf-cabecera:not(.vvf-cabecera--foto) .vvf-migas__actual {
color:#ffffff;
}
body.tc .vvf-cabecera__titulo::before {
content:"";
display:block;
width:64px;
height:12px;
margin-bottom:18px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
}
@media only screen and (max-width:767px) {
body.tc .vvf-cabecera:not(.vvf-cabecera--foto) {
min-height:260px;
background:linear-gradient(0deg,rgba(10,26,53,.92) 0%,rgba(10,26,53,.6) 100%),var(--tc-cabecera-fondo,none) 70% center/cover no-repeat var(--tc-azul-osc);
}
}

/* ---------- Textos legales ---------- */
body.tc .vvlg-menu__titulo {
color:var(--tc-azul);
font-weight:800;
opacity:1;
}
body.tc .vvlg-marco nav.vvlg-menu a,
body.tc .vvlg-marco nav.vvlg-menu button {
color:var(--tc-azul);
font-weight:600;
}
body.tc .vvlg-marco nav.vvlg-menu a[aria-current="page"] {
border-left-color:var(--tc-amarillo-osc);
background:linear-gradient(90deg,rgba(254,251,58,.35),rgba(254,251,58,0));
font-weight:800;
}
body.tc .vvlg-marco nav.vvlg-menu a:hover,
body.tc .vvlg-marco nav.vvlg-menu button:hover {
border-left-color:var(--tc-amarillo-osc);
}
body.tc .vvlg__titulo {
color:var(--tc-azul);
}

/* ---------- Llamada final ---------- */
body .tc-cta {
position:relative;
padding-block:clamp(56px,7vw,96px);
background:var(--tc-azul-osc);
color:#ffffff;
text-align:center;
overflow:hidden;
isolation:isolate;
}
body .tc-cta::before {
content:"";
position:absolute;
top:-40%;
right:-10%;
z-index:-1;
width:520px;
height:520px;
border-radius:50%;
background:radial-gradient(circle,rgba(254,251,58,.18) 0,rgba(254,251,58,0) 65%);
}
body .tc-cta h2 {
margin:0 0 14px;
color:#ffffff;
font-size:clamp(1.9rem,3.8vw,2.8rem);
}
body .tc-cta p {
max-width:640px;
margin:0 auto 30px;
color:rgba(255,255,255,.82);
font-size:1.1rem;
}

/* ---------- Galería ---------- */
body .tc-galeria:not(:has(.vv-gal-foto, img)) {
display:none;
}
body .tc-galeria .vv-gal-foto img {
border-radius:12px;
transition:transform .5s var(--tc-curva);
}
body .tc-galeria .vv-gal-foto:hover img {
transform:scale(1.04);
}
body .vv-lb-pie {
position:absolute;
left:50%;
bottom:18px;
max-width:min(760px,calc(100vw - 32px));
padding:10px 18px;
border-radius:12px;
background:rgba(14,37,72,.88);
color:#ffffff;
font-size:.95rem;
line-height:1.45;
text-align:center;
translate:-50% 0;
}
body .vv-lb-pie:empty {
display:none;
}

/* ---------- Formularios y contacto ---------- */
body .tc-form-cols {
display:grid;
grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
gap:clamp(28px,4vw,56px);
align-items:start;
}
body .tc-form-caja {
padding:clamp(24px,3.5vw,44px);
border:1px solid var(--tc-borde);
border-radius:20px;
background:#ffffff;
box-shadow:var(--tc-sombra);
}
body .tc-form-caja h2 {
margin:0 0 8px;
font-size:clamp(1.5rem,2.6vw,2rem);
}
body .tc-form-caja > p {
margin:0 0 24px;
color:var(--tc-suave);
}
body .tc-aside {
display:grid;
gap:14px;
}
body .tc-dato {
display:flex;
align-items:flex-start;
gap:16px;
padding:20px;
border:1px solid var(--tc-borde);
border-radius:var(--vv-radio);
background:#ffffff;
transition:transform .3s var(--tc-curva),box-shadow .3s ease;
}
body .tc-dato:hover {
transform:translateY(-3px);
box-shadow:var(--tc-sombra);
}
body .tc-dato .tc-ico {
flex:none;
width:48px;
height:48px;
border-radius:14px;
}
body .tc-dato .tc-ico svg {
width:24px;
height:24px;
}
body .tc-dato strong {
display:block;
margin-bottom:2px;
color:var(--tc-azul);
}
body .tc-dato div > span,
body .tc-dato a {
color:var(--tc-texto);
}
body .tc-dato a {
overflow-wrap:anywhere;
text-decoration:underline;
text-decoration-color:var(--tc-amarillo-osc);
text-decoration-thickness:2px;
text-underline-offset:3px;
}
body .tc-horario p,
body .tc-horario ul {
margin:0;
}
body .tc-aside__foto {
margin:0;
}
body .tc-aside__foto img {
display:block;
width:100%;
height:240px;
object-fit:cover;
border-radius:var(--vv-radio);
}
body.tc .vvf-form__boton {
min-height:56px;
padding:12px 30px;
border:0;
border-radius:999px;
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
font-family:inherit;
font-size:1.02rem;
font-weight:800;
cursor:pointer;
box-shadow:0 14px 28px -16px rgba(224,221,31,.9);
transition:background-color .3s ease,color .3s ease,transform .3s var(--tc-curva);
}
body.tc .vvf-form__boton:hover,
body.tc .vvf-form__boton:focus-visible {
background:var(--tc-azul);
color:#ffffff;
transform:translateY(-2px);
}
body.tc .vvf-form__legal {
color:var(--tc-suave);
font-size:.85rem;
}
body .tc-mapa {
margin-top:var(--tc-sep);
}
body .tc-mapa .vv-mapa,
body .tc-mapa iframe {
border-radius:0;
}
@media only screen and (max-width:959px) {
body .tc-form-cols {
grid-template-columns:minmax(0,1fr);
}
}
@media only screen and (max-width:767px) {
body.tc .vvf-form__rejilla {
grid-template-columns:1fr;
}
body.tc .vvf-form__boton {
width:100%;
}
}

/* ---------- Preguntas frecuentes ---------- */
body .tc-faq .vvfaq {
max-width:880px;
margin-inline:auto;
}
body.tc .vvfaq__item {
border-color:var(--tc-borde);
}
body.tc .vvfaq__item[open] {
border-color:var(--tc-azul);
}
body.tc .vvfaq__pregunta {
color:var(--tc-azul);
font-size:1.06rem;
}
body.tc .vvfaq__pregunta:hover .vvfaq__signo {
background:var(--tc-amarillo);
}
body.tc .vvfaq__signo {
background:rgba(20,51,107,.08);
color:var(--tc-azul);
}
body.tc .vvfaq__item[open] .vvfaq__signo {
background:var(--tc-amarillo);
}
body.tc .vvfaq__caja {
color:var(--tc-suave);
}

/* ---------- Textos sencillos y legales ---------- */
body .tc-texto {
max-width:860px;
margin-inline:auto;
}
body .tc-texto h2 {
margin:2em 0 .6em;
font-size:1.5rem;
}
body .tc-texto ul {
padding-left:1.2em;
}
body .tc-texto li {
margin-bottom:.5em;
}

/* ---------- Blog ---------- */
body.tc .vve-tarjeta,
body.tc .vvf-tarjeta {
border-radius:var(--vv-radio);
}
body.tc .vve-tarjeta .vvf-tarjeta__foto {
aspect-ratio:2/1;
}
body.tc .vve-tarjeta .vvf-tarjeta__img {
width:100%;
height:100%;
object-fit:cover;
}
body.tc .vvf-cabecera--foto .vvf-cabecera__titulo {
color:#ffffff;
}

/* ---------- Pie ---------- */
body.tc .vv-pie {
background:var(--tc-azul-osc);
border-top:6px solid var(--tc-amarillo);
}
body.tc .vv-pie__logo {
width:auto;
max-width:260px;
height:auto;
padding:14px 18px;
border-radius:12px;
background:#ffffff;
}
body.tc .vv-pie__titulo {
position:relative;
margin:0 0 18px;
padding-bottom:12px;
color:#ffffff;
font-size:.85rem;
letter-spacing:.16em;
text-transform:uppercase;
}
body.tc .vv-pie__titulo::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:34px;
height:6px;
background:var(--tc-amarillo);
clip-path:var(--tc-sesgo);
}
body.tc .vv-pie__nav {
margin:0;
padding:0;
list-style:none;
}
body.tc .vv-pie__nav li {
margin-bottom:6px;
}
body.tc .vv-pie__ico {
color:var(--tc-amarillo);
}
body.tc .vv-pie a:hover {
color:var(--tc-amarillo);
}
body.tc .vv-pie__legal {
background:var(--tc-azul-noche);
}
@media only screen and (max-width:767px) {
body.tc .vv-pie__logo {
margin-inline:auto;
}
body.tc .vv-pie__titulo::after {
left:50%;
translate:-50% 0;
}
}

/* ---------- Barra móvil ---------- */
@media only screen and (min-width:1281px) {
body.tc .vv-barra {
display:none;
}
}
body.tc .vv-barra {
background:var(--vv-barra-fondo);
border-top:3px solid var(--tc-amarillo);
}
body.tc .vv-barra__btn {
color:#ffffff;
}
body.tc .vv-barra__ico svg {
color:var(--tc-amarillo);
}
body.tc .vv-barra__btn.tc-barra-presupuesto {
background:var(--tc-amarillo);
color:var(--tc-azul-osc);
}
body.tc .vv-barra__btn.tc-barra-presupuesto .vv-barra__ico svg {
color:var(--tc-azul-osc);
}

/* ---------- Animaciones de entrada ---------- */
@media (prefers-reduced-motion:no-preference) {
html.tc-anima body .tc-aparece {
opacity:0;
transform:translateY(26px);
transition:opacity .7s ease,transform .7s var(--tc-curva);
transition-delay:var(--tc-retraso,0s);
}
html.tc-anima body .tc-aparece.is-visto {
opacity:1;
transform:none;
}
}
html.vv-accesible body .tc-aparece,
html.vv-a11y-quieto body .tc-aparece {
opacity:1 !important;
transform:none !important;
}
