/* QKStudio — acento lavanda eléctrico (v2). Todo el sitio. Prefijo body.qk-accent / .ax-.
   Idea: sitio oscuro y casi monocromático; el color aparece en toques puntuales (números, hovers, foco, botones clave).
   Único trazo decorativo: la onda dibujada en el hero de /proyectos (assets/js/accent.js).
   Apagar: QKStudio → Configuración → Estilo. */
body.qk-accent{ --ax:#8D8CFF; --ax-hi:#a9a8ff; --ax-ink:#261e25; --ax-soft:rgba(141,140,255,.16); }
body.qk-accent.qk-light{ --ax-l:#5856E0; }  /* lavanda más profundo para texto sobre fondo claro (contraste AA) */
body.qk-accent.qk-native ::selection{ background:var(--ax); color:var(--ax-ink); }

/* ---- Chrome (header, progreso, menú, footer) ---- */
body.qk-accent .scroll-progress{ background:var(--ax); }
html body.qk-accent .site-header.site-header .header-cta .nav-link.pill{ background:var(--ax); color:var(--ax-ink); }
html body.qk-accent .site-header.site-header .header-cta .nav-link.pill:is(:hover,:focus-visible){ background:var(--ax-hi); }
body.qk-accent .menu-overlay-list a:hover{ color:var(--ax); }
body.qk-accent .footer-links a:hover, body.qk-accent .footer-contact a:hover{ color:var(--ax); }
body.qk-accent .footer-social a:hover{ border-color:var(--ax); }
body.qk-accent :is(.site-header,.site-footer,.menu-overlay) :focus-visible{ outline-color:var(--ax); }

/* ---- Off-canvas (más lavanda): links, datos de contacto y brillo de fondo ---- */
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-list a{ color:var(--ax); }
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-list a:is(:hover,:focus-visible),
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-list a[aria-current="page"]{ color:var(--white); }
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-foot,
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-foot a{ color:var(--ax); }
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-foot a:is(:hover,:focus-visible){ color:var(--white); }
html body.qk-accent .menu-overlay.menu-overlay .menu-overlay-close:hover span{ background:var(--ax); }
body.qk-accent .menu-overlay::before{ content:""; position:absolute; right:-14vw; bottom:-26vh; width:min(70vw,900px); aspect-ratio:1; background:radial-gradient(circle closest-side at 50% 50%, rgba(141,140,255,.38), rgba(141,140,255,0)); pointer-events:none; z-index:-1; }

/* ---- Botones ---- */
body.qk-accent .btn-primary:is(:hover,:focus-visible){ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .btn-primary-inverse:is(:hover,:focus-visible){ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .cta-big .btn-primary{ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .cta-big .btn-primary:is(:hover,:focus-visible){ background:var(--ax-hi); }
body.qk-accent .faq-a__cta .btn-primary{ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .btn-ghost:hover, body.qk-accent .btn-text:hover{ border-color:var(--ax); }
body.qk-accent.qk-light .btn-ghost:hover, body.qk-accent.qk-light .btn-text:hover{ border-color:var(--ax-l); }

/* ---- Textos de acento ---- */
body.qk-accent .eyebrow{ color:var(--ax); }
body.qk-accent.qk-light .eyebrow{ color:var(--ax-l); }
body.qk-accent .hero-h1 .handwritten, body.qk-accent .ns-hand, body.qk-accent .pg-hand{ color:var(--ax); }
body.qk-accent:not(.qk-light) :is(h1,h2) .muted{ color:var(--ax); }
body.qk-accent .hero-h2-swap span{ color:var(--ax); }
body.qk-accent .project-info .project-service, body.qk-accent .press-cat{ color:var(--ax); }
body.qk-accent .svc-row .svc-index, body.qk-accent .pg-pillar__n, body.qk-accent .pg-offer__tag,
body.qk-accent .pg-panel__list li::before, body.qk-accent .ns-step__year, body.qk-accent .ns-val__n,
body.qk-accent .ns-loc__code, body.qk-accent .ns-aw__year{ color:var(--ax); }
body.qk-accent .ns-val.is-open .ns-val__n{ color:rgba(38,30,37,.6); }
body.qk-accent .ns-pstep.is-on .ns-pstep__n{ color:var(--ax); }
body.qk-accent .pg-proof li::before, body.qk-accent .pg-panel__main .pg-panel__proof, body.qk-accent .qk-content blockquote{ border-color:var(--ax); }
body.qk-accent .pg-badge__dot{ background:var(--ax); }
body.qk-accent .qk-content a:hover, body.qk-accent .ct-socials a:hover, body.qk-accent .ct-loc .links a:hover, body.qk-accent .qk-copy:hover{ color:var(--ax); }
body.qk-accent .industry-tag:hover, body.qk-accent .pg-tab:hover, body.qk-accent .nf-links a:hover{ border-color:var(--ax); }
body.qk-accent .ct-book-pill .avatar{ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .ct-book-pill{ background:var(--ax-soft); }
body.qk-accent .nf-num{ -webkit-text-stroke-color:rgba(141,140,255,.32); }
body.qk-accent .th-ring{ stroke:var(--ax); }
body.qk-accent .th-check svg{ stroke:var(--ax); }
body.qk-accent .pg-orb--a{ background:radial-gradient(circle at 40% 40%, rgba(141,140,255,.85), rgba(141,140,255,0) 68%); }

/* ---- Formularios y wizard de presupuesto ---- */
body.qk-accent .qk-field :is(input,textarea,select):focus{ border-color:var(--ax); }
body.qk-accent input[type=checkbox], body.qk-accent input[type=radio]{ accent-color:var(--ax); }
body.qk-accent .wz-progress__seg::after{ background:var(--ax); }
body.qk-accent .wz-progress__label{ color:var(--ax); }
body.qk-accent .wz-opt:hover{ border-color:var(--ax); }
body.qk-accent .wz-opt:has(input:checked){ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .wz-opt:has(input:focus-visible), body.qk-accent .wz-chip:focus-visible{ outline-color:var(--ax); }
body.qk-accent .wz-form .qk-field :is(input,textarea):focus{ border-color:var(--ax); }
body.qk-accent .wz-chip:hover{ background:var(--ax); border-color:var(--ax); color:var(--ax-ink); }

/* ---- Proyectos (archivo) ---- */
body.qk-accent .pj-hero .qk-bigt .muted{ color:var(--ax); }
body.qk-accent .pj-cursor__dot{ background:var(--ax); color:var(--ax-ink); }
body.qk-accent .pj-dd__btn:is(:hover,:focus-visible), body.qk-accent .pj-dd.is-open .pj-dd__btn{ border-color:var(--ax); }
body.qk-accent .pj-dd__btn:focus-visible, body.qk-accent .pj-select select:focus-visible{ outline-color:var(--ax); }
body.qk-accent .pj-dd.has-value .pj-dd__btn{ background:var(--ax); border-color:var(--ax); color:var(--ax-ink); }
body.qk-accent .pj-dd.has-value .pj-dd__btn:hover{ background:var(--ax-hi); border-color:var(--ax-hi); }

/* ---- Blog (fondo claro) ---- */
body.qk-accent.qk-light .bl-tab::after{ background:var(--ax-l); }
body.qk-accent .qk-prose{ --qp-accent:var(--ax); --qp-link-hover:var(--ax-hi); --qp-mark:rgba(141,140,255,.28); }
body.qk-accent.qk-light .qk-prose{ --qp-accent:#6967F0; --qp-link-hover:var(--ax-l); --qp-mark:rgba(141,140,255,.26); }

/* ---- Única forma decorativa: onda dibujada en /proyectos (la inserta accent.js; decorativa, aria-hidden) ---- */
body.qk-accent .pj-hero{ position:relative; overflow:clip; }
body.qk-accent .pj-hero .container{ position:relative; z-index:2; }
.ax-art{ position:absolute; pointer-events:none; z-index:1; color:var(--ax,#8D8CFF); right:5vw; bottom:3%; width:min(22vw,340px); aspect-ratio:3/1; opacity:.85; transform:translate3d(calc(var(--ax-p,0) * 5vw),0,0); will-change:transform; }
.ax-art svg{ display:block; width:100%; height:100%; overflow:visible; }
.ax-line{ fill:none; stroke:currentColor; stroke-width:26; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 2.4s cubic-bezier(.65,0,.25,1) .25s; }
.ax-art.is-in .ax-line{ stroke-dashoffset:0; }
@media (max-width:980px){ .ax-art{ width:30vw; right:5vw; bottom:0; opacity:.6; } }
@media (prefers-reduced-motion:reduce){ .ax-line{ stroke-dashoffset:0; transition:none; } .ax-art{ transform:none; } }
