/* Víctor SEO WEB Widgets 2.0 · vs2-global.css · generado por tools/css2.py a partir de web/assets/css/site.css. No editar a mano. */

.vs2 .vs-skip:not(:focus){position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.vs2 .vs-skip:focus{position: fixed; top: 12px; left: 12px; z-index: 100; background: var(--vs-ink); color: #fff; padding: 10px 16px; border-radius: var(--vs-r-sm);}
.vs2 .vs-header{position: fixed; inset: 0 0 auto; z-index: 50; isolation: isolate; color: #fff; transition: color .3s, box-shadow .3s;}
.vs2 .vs-header::before{content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .3s; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);}
.vs2 .vs-header.is-solid{color: var(--vs-ink); box-shadow: 0 1px 0 var(--vs-line), 0 10px 30px -20px rgba(14, 27, 51, .25);}
.vs2 .vs-header.is-solid::before{opacity: 1;}
.vs2 .vs-header__bar{display: flex; align-items: center; gap: 16px; height: var(--vs-header);}
.vs2 .vs-header__logo{display: block; line-height: 0; flex: none; position: relative; z-index: 2;}
.vs2 .vs-header__logo img{height: 21px; width: auto; transition: filter .3s;}
.vs2 .vs-header.is-solid .vs-header__logo img{filter: brightness(0);}
.vs2 .vs-nav{margin-left: auto;}
.vs2 .vs-nav__list{display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0;}
.vs2 .vs-nav__item{position: relative;}
.vs2 .vs-nav__link, .vs2 .vs-nav__trigger{display: inline-flex; align-items: center; gap: 6px; padding: 10px 11px; border: 0; border-radius: var(--vs-r-sm); background: none; font: inherit; font-size: .9375rem; font-weight: 500; color: inherit; text-decoration: none; cursor: pointer; transition: color .2s, background-color .2s;}
.vs2.vs2 .vs-nav__trigger{text-decoration: none;}
.vs2 .vs-nav__link:hover, .vs2 .vs-nav__trigger:hover, .vs2 .vs-nav__trigger[aria-expanded="true"]{color: #fff; background: rgba(255, 255, 255, .1);}
.vs2 .vs-header.is-solid .vs-nav__link:hover, .vs2 .vs-header.is-solid .vs-nav__trigger:hover, .vs2 .vs-header.is-solid .vs-nav__trigger[aria-expanded="true"]{color: var(--vs-brand); background: var(--vs-soft);}
.vs2 .vs-nav__trigger[aria-expanded="true"] .vs-chev{transform: rotate(180deg);}
.vs2 .vs-panel{position: absolute; top: calc(100% + 12px); left: -12px; z-index: 5; min-width: 280px; padding: 20px 22px 16px; background: #fff; color: var(--vs-ink); border: 1px solid var(--vs-line); border-radius: var(--vs-r); box-shadow: var(--vs-shadow); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .25s var(--vs-ease), visibility 0s .25s;}
.vs2 .vs-nav__trigger[aria-expanded="true"] + .vs-panel{opacity: 1; visibility: visible; transform: none; transition-delay: 0s;}
.vs2 .vs-panel--wide{display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px; width: 620px;}
.vs2 .vs-panel__title{margin: 2px 0 8px; font-size: .8125rem; color: var(--vs-slate);}
.vs2 .vs-panel ul{list-style: none; margin: 0; padding: 0;}
.vs2 .vs-panel a{display: block; margin: 0 -10px; padding: 9px 10px; border-radius: var(--vs-r-sm); color: var(--vs-ink); text-decoration: none;}
.vs2 .vs-panel a strong{display: block; font-weight: 600; font-size: .9375rem; line-height: 1.3;}
.vs2 .vs-panel a span{display: block; font-size: .8125rem; line-height: 1.4; color: var(--vs-slate);}
.vs2 .vs-panel a:hover{background: var(--vs-soft);}
.vs2 .vs-panel a:hover strong{color: var(--vs-brand);}
.vs2 .vs-panel__cols{display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; width: 420px;}
.vs2 .vs-panel__cols a{font-size: .9375rem; font-weight: 500;}
.vs2 .vs-panel .vs-panel__foot{margin-top: 10px; font-size: .8125rem; color: var(--vs-slate);}
.vs2 .vs-panel__foot u{color: var(--vs-brand); text-underline-offset: .2em;}
.vs2 .vs-header__cta{min-height: 44px; padding: 0 18px; font-size: .9375rem; position: relative; z-index: 2;}
.vs2 .vs-burger{display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 4px 0 10px; border: 0; background: none; color: inherit; font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; position: relative; z-index: 2;}
.vs2.vs2 .vs-burger{min-height: 44px;}
.vs2 .vs-burger__lines{display: grid; gap: 5px; width: 20px;}
.vs2 .vs-burger__lines i{display: block; height: 2px; background: currentColor; transition: transform .3s var(--vs-ease);}
.vs2 .vs-burger[aria-expanded="true"] .vs-burger__lines i:first-child{transform: translateY(3.5px) rotate(45deg);}
.vs2 .vs-burger[aria-expanded="true"] .vs-burger__lines i:last-child{transform: translateY(-3.5px) rotate(-45deg);}
.vs2 .vs-nav__mobile-foot{display: none;}
@media (max-width: 1179px){.vs2 .vs-burger{display: inline-flex;}.vs2 .vs-header__cta{margin-left: auto;}.vs2 .vs-nav{position: fixed; inset: 0; z-index: 1; display: flex; flex-direction: column; padding: calc(var(--vs-header) + 12px) var(--vs-gutter) 28px; background: #fff; overflow-y: auto; overscroll-behavior: contain; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s, transform .35s var(--vs-ease), visibility 0s .35s;}.vs2 .vs-nav.is-open{opacity: 1; visibility: visible; transform: none; transition-delay: 0s;}.vs2 .vs-nav__list{flex-direction: column; align-items: stretch; gap: 0;}.vs2 .vs-nav__link, .vs2 .vs-nav__trigger{width: 100%; justify-content: space-between; padding: 13px 0; border-radius: 0; border-bottom: 1px solid var(--vs-line); font-size: 1rem; font-weight: 600;}.vs2 .vs-nav__link:hover, .vs2 .vs-nav__trigger:hover, .vs2 .vs-nav__trigger[aria-expanded="true"], .vs2 .vs-header.is-solid .vs-nav__link:hover, .vs2 .vs-header.is-solid .vs-nav__trigger:hover, .vs2 .vs-header.is-solid .vs-nav__trigger[aria-expanded="true"]{background: none; color: var(--vs-brand);}.vs2 .vs-panel, .vs2 .vs-panel--wide, .vs2 .vs-panel__cols{position: static; width: auto; min-width: 0; padding: 6px 0 14px; border: 0; box-shadow: none; transform: none; opacity: 1; visibility: visible; display: none; transition: none;}.vs2 .vs-nav__trigger[aria-expanded="true"] + .vs-panel{display: block;}.vs2 .vs-panel--wide .vs-panel__group + .vs-panel__group{margin-top: 10px;}.vs2 .vs-panel__cols{display: grid; grid-template-columns: 1fr 1fr;}.vs2 .vs-nav__mobile-foot{display: grid; gap: 12px; margin-top: auto; padding-top: 32px;}.vs2 .vs-nav__mobile-foot p{margin: 6px 0 0; color: var(--vs-slate); font-size: .9375rem;}}
@media (max-width: 639px){.vs2 .vs-header__cta{display: none;}.vs2 .vs-burger{margin-left: auto;}.vs2 .vs-panel__cols{grid-template-columns: 1fr;}}
.vs2 .vs-panel-chart{margin: 0; padding: 24px; background: #fff; color: var(--vs-ink); border-radius: var(--vs-r);}
.vs2 .vs-panel-chart__head{display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; padding-bottom: 16px; border-bottom: 1px solid var(--vs-line); font-size: .875rem; font-weight: 600;}
.vs2 .vs-panel-chart__site{font-weight: 400; color: var(--vs-slate);}
.vs2 .vs-panel-chart__kpis{display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0 24px;}
.vs2 .vs-panel-chart__kpis p{margin: 0; padding: 14px 16px; border-radius: var(--vs-r-sm); background: var(--vs-soft); box-shadow: inset 0 3px 0 var(--vs-brand);}
.vs2 .vs-panel-chart__kpis p + p{box-shadow: inset 0 3px 0 #2BA36B;}
.vs2 .vs-panel-chart__kpis span{display: block; font-size: .8125rem; color: var(--vs-slate);}
.vs2 .vs-panel-chart__kpis strong{display: block; margin-top: 4px; font-size: 1.5rem; line-height: 1.1; font-weight: 600; letter-spacing: -.02em;}
.vs2 .vs-panel-chart__note{margin: 16px 0 0; font-size: .75rem; line-height: 1.5; color: var(--vs-slate);}
.vs2 .vs-footer{padding: clamp(56px, 7vw, 88px) 0 calc(32px + env(safe-area-inset-bottom)); background: var(--vs-deep); color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);}
.vs2 .vs-footer__top{display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255, 255, 255, .12);}
.vs2 .vs-footer__brand{display: grid; gap: 18px; justify-items: start; align-content: start;}
.vs2 .vs-footer__logo{display: block; height: 22px; width: auto;}
.vs2 .vs-footer__brand p{margin: 0; color: #AEB6C7; max-width: 34ch;}
.vs2 .vs-footer__cols{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px;}
.vs2 .vs-fcol summary{margin-bottom: 14px; list-style: none; font-weight: 600;}
.vs2 .vs-fcol summary::-webkit-details-marker{display: none;}
.vs2 .vs-fcol ul{display: grid; gap: 10px; list-style: none; margin: 0; padding: 0;}
.vs2 .vs-fcol a, .vs2 .vs-footer__cookies{padding: 0; border: 0; background: none; color: #AEB6C7; font: inherit; font-size: .9375rem; text-decoration: none; cursor: pointer; transition: color .2s;}
.vs2.vs2 .vs-footer__cookies{text-decoration: none;}
.vs2 .vs-fcol a:hover, .vs2 .vs-footer__cookies:hover{color: #fff;}
.vs2 .vs-footer__legal{display: flex; flex-wrap: wrap; gap: 8px 32px; padding-top: 24px; font-size: .875rem; color: #AEB6C7;}
.vs2 .vs-footer__legal p{margin: 0;}
.vs2 .vs-footer__legal a{color: inherit; text-decoration: none;}
.vs2 .vs-footer__legal a:hover{color: #fff;}
.vs2 .vs-dock{position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 40; display: none; gap: 8px; padding: 8px; border-radius: var(--vs-r); background: #fff; border: 1px solid var(--vs-line); box-shadow: 0 20px 40px -12px rgba(14, 27, 51, .35); transform: translateY(160%); transition: transform .4s var(--vs-ease);}
.vs2 .vs-dock.is-visible{transform: none;}
@media (min-width: 640px){.vs2 .vs-dock{max-width: 520px; margin-inline: auto;}}
.vs2 .vs-dock .vs-btn{flex: 1;}
.vs2 .vs-dock__wa{display: grid; place-items: center; flex: none; width: 48px; height: 48px; border: 1.5px solid var(--vs-line); border-radius: var(--vs-r-sm); background: #fff; color: var(--vs-ink);}
.vs2 .vs-dock__wa svg{width: 22px; height: 22px; fill: currentColor;}
@media (max-width: 899px){.vs2 .vs-footer__top{grid-template-columns: 1fr;}.vs2 .vs-dock{display: flex;}.vs2 .vs-footer{padding-bottom: calc(100px + env(safe-area-inset-bottom));}}
@media (max-width: 639px){.vs2 .vs-panel-chart{padding: 18px;}.vs2 .vs-panel-chart__kpis strong{font-size: 1.25rem;}.vs2 .vs-footer__cols{grid-template-columns: 1fr; gap: 0;}.vs2 .vs-fcol{border-bottom: 1px solid rgba(255, 255, 255, .12);}.vs2 .vs-fcol summary{display: flex; justify-content: space-between; margin: 0; padding: 16px 0; cursor: pointer;}.vs2 .vs-fcol summary::after{content: "+"; color: #AEB6C7;}.vs2 .vs-fcol[open] summary::after{content: "–";}.vs2 .vs-fcol ul{padding-bottom: 16px;}.vs2 .vs-footer__legal{flex-direction: column;}}
.vs2 .vs-nav__trigger--current{color: inherit; box-shadow: inset 0 -2px 0 var(--vs-brand-lit); border-radius: 0;}
.vs2.vs2 .vs-nav__trigger--current{box-shadow: inset 0 -2px 0 var(--vs-brand-lit);}
.vs2 .vs-header.is-solid .vs-nav__trigger--current{box-shadow: inset 0 -2px 0 var(--vs-brand);}
.vs2.vs2 .vs-header.is-solid .vs-nav__trigger--current{box-shadow: inset 0 -2px 0 var(--vs-brand);}
.vs2 .vs-nav__link[aria-current="page"]{box-shadow: inset 0 -2px 0 var(--vs-brand-lit); border-radius: 0;}
.vs2 .vs-header.is-solid .vs-nav__link[aria-current="page"]{box-shadow: inset 0 -2px 0 var(--vs-brand);}
.vs2 .vs-panel a[aria-current="page"] strong{color: var(--vs-brand);}
.vs2 .vs-footer__brand .vs-btn--wa{box-shadow: 0 10px 24px -12px rgba(91, 61, 245, .8);}
.vs2 .vs-dock__wa{background: var(--vs-brand); border-color: var(--vs-brand); color: #fff; box-shadow: 0 8px 20px -10px rgba(91, 61, 245, .7);}
.vs2 .vs-dock__wa:hover{background: var(--vs-brand-dark);}
/* ---------- Aviso de cookies (no está en el diseño: panel blanco con el lenguaje de las tarjetas del diseño) ---------- */
.vs2 .vs-cookies{position: fixed; left: max(16px, env(safe-area-inset-left)); bottom: 16px; z-index: 60; display: grid; gap: 12px; width: min(440px, calc(100vw - 32px)); padding: 22px 22px 20px; border: 1px solid var(--vs-line); border-radius: var(--vs-r); background: var(--vs-white); color: var(--vs-ink); box-shadow: var(--vs-shadow); font-size: .9375rem; line-height: 1.55;}
.vs2 .vs-cookies[hidden]{display: none;}
.vs2 .vs-cookies__title{display: flex; align-items: center; gap: 10px; margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: -.01em;}
.vs2 .vs-cookies__title .vs-ico{display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: var(--vs-r-sm); background: var(--vs-brand-soft); color: var(--vs-brand);}
.vs2 .vs-cookies__title .vs-ico svg{width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.vs2 .vs-cookies__text{margin: 0; color: var(--vs-slate);}
.vs2 .vs-cookies__text a{color: var(--vs-brand); text-decoration: underline; text-underline-offset: 2px;}
.vs2 .vs-cookies__actions{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px;}
.vs2 .vs-cookies__actions .vs-btn{flex: 1 1 0; min-height: 44px;}
@media (max-width: 639px){.vs2 .vs-cookies{left: 12px; right: 12px; bottom: 12px; width: auto;}}
/* Con el aviso abierto, la barra móvil espera. */
body:has(.vs-cookies:not([hidden])) .vs2 .vs-dock{transform: translateY(150%);}
/* El aviso en el editor de Elementor: visible para poder editarlo, sin tapar el panel. */
.elementor-editor-active .vs2 .vs-cookies[data-cookie-preview]{position: relative; left: auto; bottom: auto; margin: 24px auto; display: grid;}

