/* ZDV NOVIEMBRE 2026 · Identidad permanente · cargado al final */
:root { --zdv-canvas:#050b17; --zdv-surface:#0a1830; --zdv-ice:#8bcfff; --zdv-electric:#1caaff; --zdv-amber:#ff9c2f; }
.zdv-site { background:#050b17; color:#f4f8ff; }
.zdv-site .zdv-nav { border:1px solid rgba(84,175,255,.48)!important; background:linear-gradient(110deg,rgba(4,13,30,.96),rgba(9,24,48,.92))!important; box-shadow:0 16px 60px #010712aa, inset 0 1px 0 #a1d8ff14!important; }
.zdv-site .zdv-menu .nav-link { border-radius:12px; padding:11px 10px!important; position:relative; }
.zdv-site .zdv-menu .nav-link svg { width:17px; height:17px; filter:drop-shadow(0 0 5px currentColor); }
.zdv-site .zdv-menu .nav-link:hover,.zdv-site .zdv-menu .nav-link:focus-visible { background:linear-gradient(120deg,#15518b83,#0b2b5170)!important; box-shadow:inset 0 0 0 1px #53b9ff6e,0 0 19px #1786e83a!important; }
/* Dropdown menus match the floating navigation; no default Bootstrap black box */
.zdv-site .zdv-nav .dropdown-menu.zdv-dropdown { background:linear-gradient(145deg,rgba(10,27,54,.985),rgba(5,13,31,.985))!important; border:1px solid #4a8fca8c!important; border-radius:17px!important; padding:9px!important; min-width:255px; margin-top:9px; box-shadow:0 25px 65px #000a,0 0 28px #008aff1a!important; backdrop-filter:blur(22px); }
.zdv-site .zdv-nav .dropdown-item { display:block; border-radius:10px!important; padding:11px 13px!important; color:#d3e8ff!important; font-size:.86rem; line-height:1.4; white-space:normal; transition:background .16s,color .16s; }
.zdv-site .zdv-nav .dropdown-item:hover,.zdv-site .zdv-nav .dropdown-item:focus { background:#183b65!important; color:#fff!important; text-decoration:none!important; }
.zdv-site .zdv-nav .dropdown-item:focus-visible,.zdv-site a:focus-visible,.zdv-site button:focus-visible { outline:2px solid #7edbff!important; outline-offset:3px; }
/* Permanent virtual hero; SVG is a resource, not a screenshot of clickable UI */
.zdv-home-page .zf-hero { min-height:640px!important; background-image:linear-gradient(90deg,#061124ec 0%,#071a35d0 50%,#06172f70 100%),url('/recursos/virtual2026/hero.webp')!important; }
.zdv-home-page .zf-hero::before { background:linear-gradient(180deg,transparent 54%,#060e1fbb)!important; }
.zdv-home-page .zf-hero-content { min-height:640px!important; padding-top:120px!important; padding-bottom:68px!important; }
.zdv-home-page .zf-hero-copy { width:min(720px,56%)!important; }
.zdv-home-page .zf-hero h1 { font-size:clamp(3.3rem,5.8vw,6.6rem)!important; line-height:1.04!important; letter-spacing:-.045em!important; max-width:670px; }
.zdv-home-page .zf-hero h1 span { color:#ffa43c; text-shadow:0 0 28px #ff8a1738; }
.zdv-hero-nucleus { position:absolute; width:min(48%,620px); height:auto; right:0; top:50%; transform:translateY(-47%); object-fit:contain; filter:drop-shadow(0 0 30px #277fdf46); pointer-events:none; animation:zdv-core-float 8s ease-in-out infinite; }
@keyframes zdv-core-float { 0%,100%{transform:translateY(-47%)} 50%{transform:translateY(-49.5%)} }
/* Section surfaces: generic technological structure, no forests, candles or holiday patterns. */
.zdv-home-page .zf-specialties { background:linear-gradient(125deg,#061123e9,#0e2645dc),url('/recursos/home-final/specialties-bg.webp') center/cover!important; }
.zdv-home-page .zf-projects { background:linear-gradient(120deg,#061225ee,#0b203cdf),url('/recursos/home-final/projects-bg.webp') center/cover!important; }
.zdv-home-page .zf-about { background:linear-gradient(110deg,#061324f0,#0c2241e6),url('/recursos/home-final/about-bg.webp') center/cover!important; }
.zdv-home-page .zf-about-spacer:after { display:none!important; content:none!important; }
.zdv-home-page .zf-about-spacer { display:flex; align-items:center; justify-content:center; }
.zdv-home-page .zf-about-spacer img { display:block; width:min(100%,390px); height:auto; filter:drop-shadow(0 0 24px #178bff55); }
.wc-home-feature { background:linear-gradient(110deg,#061222e8,#102b4ee1),url('/recursos/comercial/commercial-bg.webp') center/cover!important; }
.wc-home-feature .wc-price small { font-size:clamp(.8rem,1.1vw,1rem)!important; }
/* Project carousel is actual overflow scrolling and ready for a larger list. */
.zdv-home-page .zf-project-grid { display:flex!important; gap:20px!important; overflow-x:auto!important; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#398ed1 #091a33; padding:12px 4px 22px; }
.zdv-home-page .zf-project-grid .zf-project { flex:0 0 clamp(275px,24vw,365px)!important; width:clamp(275px,24vw,365px)!important; min-width:0; scroll-snap-align:start; transition:transform .2s,box-shadow .2s; border:1px solid #3578b17a!important; background:linear-gradient(160deg,#0c2445,#081325)!important; }
.zdv-home-page .zf-project-grid .zf-project:hover { transform:translateY(-4px); box-shadow:0 16px 50px #020815a0,0 0 25px #2089fd25; }
.zdv-home-page .zf-project-media img { aspect-ratio:16/10; object-fit:cover; }
.zdv-carousel-controls { display:flex; justify-content:flex-end; gap:9px; margin:-18px 0 8px; }
.zdv-carousel-controls button { border:1px solid #67b8f48a; background:linear-gradient(135deg,#0f315b,#08172d); border-radius:13px; color:#b6e6ff; width:45px;height:45px;display:grid;place-items:center; box-shadow:inset 0 1px 0 #bff3ff17; }
.zdv-carousel-controls button:hover { box-shadow:0 0 17px #238ce45d; background:#17568d; }
.zdv-carousel-controls svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2; }
/* Button family with visual depth and no ornamental arrows */
.zdv-site .zf-btn,.zdv-site .wc-btn,.zdv-site .zdv-btn,.zdv-site .zf-about-link,.zdv-site .wc-example>div>span,.zdv-site .vz-detail a,.zdv-site .vz-cta button { border-radius:13px!important; border:1px solid #518cc58a; padding:12px 20px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:9px; text-decoration:none; transition:transform .18s,box-shadow .18s,background .18s!important; box-shadow:inset 0 1px 0 #dbf2ff21; }
.zdv-site .zf-btn-primary,.zdv-site .wc-btn-primary,.zdv-site .zdv-btn-primary,.zdv-site .vz-cta button { background:linear-gradient(140deg,#ffc050,#f58a22)!important;color:#07162a!important;border:1px solid #ffd48e!important; box-shadow:0 8px 28px #ff962c31,inset 0 1px 0 #fff8!important; }
.zdv-site .zf-btn:hover,.zdv-site .wc-btn:hover,.zdv-site .zdv-btn:hover,.zdv-site .zf-about-link:hover { transform:translateY(-2px); box-shadow:0 11px 29px #1579da3c; }
/* Distinct independently positioned launchers; never overlap on desktops or phones. */
.zdv-site .zdv-radio-launcher { right:115px!important; bottom:22px!important; min-width:94px!important; border:1px solid #48c6ffb8!important; border-radius:15px!important; background:linear-gradient(145deg,#082441,#0c1730)!important; box-shadow:0 0 19px #1aaaff2c,0 11px 31px #0009!important; }
.zdv-site .zdv-ai-launcher { right:18px!important; bottom:22px!important; min-width:84px!important; border-radius:15px!important; border:1px solid #ab8affaf!important; background:linear-gradient(135deg,#271347,#0a1d38)!important; box-shadow:0 0 20px #8c5bff31,0 11px 31px #0009!important; }
.zdv-site .zdv-ai-launcher::after { content:'Pronto'; font-size:9px; display:block; color:#d6c5ff; position:absolute; bottom:1px; right:9px; }
.zdv-site .zdv-radio-launcher:hover,.zdv-site .zdv-ai-launcher:hover { filter:brightness(1.16); }
.zdv-site .zdv-radio-panel { bottom:88px; right:115px; }
.zdv-site .zdv-ai-panel { bottom:88px; right:18px; }
/* Internal navigation and information architecture */
.zdv-site .wc-subnav,.zdv-site .zs-tabs,.zdv-site .zl-tabs,.zdv-site .zgame-nav,.zdv-site .zdv-dropdown { border:1px solid #3678b26f!important; background:linear-gradient(145deg,#0d203bfa,#07152af0)!important; box-shadow:0 12px 37px #02081654; }
.zdv-site .wc-hero,.zdv-site .wc-hero-education,.zdv-site .wc-marketing-hero,.zdv-site .zs-hero,.zdv-site .zgame-home-hero,.zdv-site .vz-portfolio { background-color:#08182e!important; }
.zdv-site .zl-clause,.zdv-site .zl-summary,.zdv-site .zs-card { border:1px solid #3e7eac70!important; border-radius:20px!important; background:linear-gradient(145deg,#101f39f0,#081427f0)!important; box-shadow:inset 0 1px #c1eaff0b,0 14px 30px #01071433!important; }
.zdv-site .zl-clause { margin-bottom:12px; }
.zdv-site .zl-document p { line-height:1.8; }
.zdv-site .vz-art { background-image:radial-gradient(circle at 80% 12%,#176dc78a,transparent 65%),linear-gradient(135deg,#06182f,#0d2547)!important; }
.zdv-site .zdv-footer-2026-col a { padding:3px 0!important; }
@media(max-width:960px){.zdv-home-page .zf-hero-copy{width:min(680px,66%)!important}.zdv-hero-nucleus{opacity:.45;right:-11%;width:60%}.zdv-home-page .zf-project-grid .zf-project{flex-basis:300px!important;width:300px!important}}
@media(max-width:700px){.zdv-home-page .zf-hero-content{min-height:580px!important;padding-top:105px!important}.zdv-home-page .zf-hero-copy{width:100%!important}.zdv-home-page .zf-hero h1{font-size:clamp(2.9rem,10vw,4.4rem)!important}.zdv-hero-nucleus{opacity:.14;right:-35%;width:95%}.zdv-carousel-controls{margin:0 0 8px}.zdv-site .zdv-radio-launcher{right:111px!important;bottom:14px!important;min-width:85px!important}.zdv-site .zdv-ai-launcher{right:12px!important;bottom:14px!important;min-width:84px!important}.zdv-site .zdv-radio-panel,.zdv-site .zdv-ai-panel{right:12px!important;bottom:80px!important;width:min(390px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.zdv-hero-nucleus{animation:none!important}.zdv-home-page .zf-project-grid{scroll-behavior:auto}}
/* Editable SQL catalog presentation */
.zdv-catalog-header{padding:clamp(135px,13vw,185px) 0 80px;background:linear-gradient(115deg,#051023ed,#0d2949d9),url('/recursos/virtual2026/hero.webp') center/cover;border-bottom:1px solid #298cd055}
.zdv-catalog-head-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:26px}
.zdv-catalog-header h1{font-size:clamp(2.5rem,5vw,5.1rem);font-weight:850;max-width:800px;line-height:1.08;letter-spacing:-.045em}
.zdv-catalog-header h1 span{color:#ffad4a}
.zdv-catalog-header p:not(.zdv-kicker){color:#bcd1ea;line-height:1.7;font-size:1.07rem;max-width:680px}
.zdv-catalog-head-grid img{width:min(100%,490px);height:auto;justify-self:center;filter:drop-shadow(0 0 24px #238ae44d)}
.zdv-catalog-body{padding:80px 0 110px;background:linear-gradient(135deg,#050c19,#0c1e36)}
.zdv-catalog-intro{margin-bottom:35px}.zdv-catalog-intro h2{font-size:clamp(1.8rem,3vw,2.6rem)}.zdv-catalog-intro p{color:#b5c7df}
.zdv-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:22px}
.zdv-catalog-card{display:flex;flex-direction:column;align-items:flex-start;gap:13px;border:1px solid #3c86ba91;border-radius:22px;padding:28px;background:radial-gradient(circle at 100% 0,#1d5c9924,transparent 55%),linear-gradient(145deg,#0e2441,#09182c);box-shadow:0 20px 50px #01071360}
.zdv-catalog-category{display:inline-flex;border:1px solid #5ecaff73;border-radius:10px;padding:7px 11px;color:#81d8ff;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;font-weight:750}
.zdv-catalog-card h3{font-size:1.42rem;color:#fff;margin:0}.zdv-catalog-card>p{color:#b8cbe4;line-height:1.55;margin:0}.zdv-catalog-price{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;border-top:1px solid #82b5d829;width:100%;padding-top:16px}.zdv-catalog-price strong{font-size:1.48rem;color:#ffb55c}.zdv-catalog-price small{color:#b6c9e4}.zdv-catalog-card .zdv-catalog-note{font-size:.83rem}.zdv-catalog-card button{margin-top:auto}
.zdv-catalog-notice{border:1px solid #c28c4b75;padding:26px;border-radius:20px;background:#14223c}.zdv-catalog-disclaimer{color:#97b5d4;font-size:.86rem;line-height:1.6;margin-top:30px}
@media(max-width:760px){.zdv-catalog-head-grid{grid-template-columns:1fr}.zdv-catalog-head-grid img{max-width:280px;opacity:.85}.zdv-catalog-header{padding-top:120px}.zdv-catalog-body{padding:55px 0}}
