/* Vega Guerrero · Contacto directo y accesibilidad (Artmony Studio) */
@font-face{font-family:"VegaGuerrero Serif";src:url(../fonts/noto-serif-display-latin-300-normal.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"VegaGuerrero Serif";src:url(../fonts/noto-serif-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"VegaGuerrero Sans";src:url(../fonts/nunito-sans-latin-wdth-normal.woff2) format("woff2");font-weight:200 1000;font-stretch:75% 125%;font-display:swap}

.vgd{--d-fig:#54445A;--d-aub:#28182B;--d-graph:#2A2A30;--d-slate:#9C8992;--d-ash:#B5AAA9;--d-lime:#C8C5BD;--d-canvas:#EFEBDE;
  --d-plum:var(--d-fig);--d-deep:var(--d-aub);--d-mauve:var(--d-slate);--d-cream:var(--d-canvas);--d-sand:var(--d-lime);--d-line:rgba(181,170,169,.45);
  --d-size:60px;--d-gap:clamp(16px,1.6vw,26px);
  font-family:"VegaGuerrero Sans",system-ui,sans-serif;font-stretch:97%;color:var(--d-cream);-webkit-font-smoothing:antialiased;line-height:1.5;letter-spacing:normal;text-transform:none}
.vgd *,.vgd *::before,.vgd *::after{box-sizing:border-box}
.vgd [hidden]{display:none!important}
.vgd button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:inherit;min-height:0;line-height:inherit}
.vgd button:hover,.vgd button:focus{background:none;color:inherit}
.vgd :focus-visible{outline:1px solid var(--d-slate);outline-offset:3px}
.vgd .vgd__f input:focus-visible{outline:none}

/* ---------- Barra: una sola pieza vertical (paleta oficial) ---------- */
.vgd__bar{position:fixed;right:calc(var(--d-gap) + env(safe-area-inset-right,0px));bottom:calc(var(--d-gap) + env(safe-area-inset-bottom,0px));z-index:9990;display:flex;flex-direction:column;
  background:rgba(40,24,43,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 50px -22px rgba(20,10,22,.85)}
.vgd__cap{position:absolute;right:100%;bottom:0;margin-right:12px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:700;letter-spacing:.42em;color:var(--d-slate);white-space:nowrap;pointer-events:none}
.vgd__cap::after{content:"";display:inline-block;width:1px;height:26px;margin-top:12px;background:rgba(156,137,146,.6);vertical-align:middle}
.vgd__btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:var(--d-size);height:var(--d-size);color:var(--d-canvas);transition:background .35s ease,color .35s ease}
.vgd__btn+.vgd__btn::before{content:"";position:absolute;top:0;left:18px;right:18px;height:1px;background:rgba(156,137,146,.22)}
.vgd__btn svg{width:23px;height:23px;flex:none;stroke-width:1.3}
.vgd__btn em{font-style:normal;font-size:8px;font-weight:700;letter-spacing:.2em;line-height:1;text-transform:uppercase;color:var(--d-slate);transition:color .35s}
.vgd__btn:hover,.vgd__btn[aria-expanded="true"]{background:var(--d-fig)!important;color:var(--d-canvas)!important}
.vgd__btn:hover em,.vgd__btn[aria-expanded="true"] em{color:var(--d-canvas)}
.vgd__btn[aria-expanded="true"]::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--d-canvas)}
/* WhatsApp: acento de luz y punto de atención */
.vgd__btn--wa em{color:var(--d-canvas)}
.vgd__btn--wa .vgd__dot{position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--d-canvas)}
.vgd__btn--wa .vgd__dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--d-canvas);opacity:0;animation:vgd-dot 3.2s ease-out 2s infinite}
@keyframes vgd-dot{0%{opacity:.8;transform:scale(.6)}60%,100%{opacity:0;transform:scale(1.6)}}
/* Ícono oficial de WhatsApp subido en el panel (se pinta en el color de la marca) */
.vgd__ico{display:block;width:24px;height:24px;background:currentColor;-webkit-mask:var(--vgd-ico) center/contain no-repeat;mask:var(--vgd-ico) center/contain no-repeat}
/* Etiqueta al pasar el cursor */
.vgd__tip{position:absolute;right:calc(100% + 14px);top:50%;transform:translate(8px,-50%);opacity:0;pointer-events:none;white-space:nowrap;padding:10px 16px 11px;background:var(--d-aub);box-shadow:0 12px 28px -14px rgba(20,10,22,.8);font:italic 400 17px/1 "VegaGuerrero Serif",Georgia,serif;color:var(--d-canvas);transition:opacity .3s ease,transform .3s ease}
.vgd__btn:hover .vgd__tip{opacity:1;transform:translate(0,-50%)}
.vgd__btn[aria-expanded="true"] .vgd__tip{display:none}
/* Invitación inicial (una vez por visita) */
.vgd__hello{position:absolute;right:calc(100% + 16px);top:0;width:264px;padding:20px 40px 20px 22px;background:var(--d-aub);color:var(--d-canvas);box-shadow:0 26px 50px -22px rgba(20,10,22,.85);opacity:0;transform:translateX(10px);pointer-events:none;transition:opacity .45s ease,transform .45s ease}
.vgd__hello.on{opacity:1;transform:none;pointer-events:auto}
.vgd__hello b{display:block;font:italic 400 23px/1.1 "VegaGuerrero Serif",Georgia,serif;color:var(--d-canvas);margin-bottom:8px}
.vgd__hello span{display:block;font-size:12.5px;line-height:1.55;color:var(--d-lime)}
.vgd__hello button{position:absolute;top:10px;right:10px;width:24px;height:24px;display:grid;place-items:center;color:var(--d-slate)}
.vgd__hello button:hover{color:var(--d-canvas)}
.vgd__hello button svg{width:13px;height:13px}
.vgd__hello::before{content:"";position:absolute;left:22px;top:0;width:28px;height:2px;background:var(--d-canvas)}
.vgd__hello::after{content:"";position:absolute;right:-6px;top:26px;width:10px;height:10px;background:var(--d-aub);transform:rotate(45deg)}
.vgd__hello-open{cursor:pointer}

/* ---------- Paneles ---------- */
.vgd__panel{position:fixed;z-index:9991;right:calc(var(--d-size) + var(--d-gap) + 14px);bottom:calc(var(--d-gap) + env(safe-area-inset-bottom,0px));width:min(392px,calc(100vw - var(--d-size) - 28px));max-height:calc(100vh - 2*var(--d-gap));overflow:auto;overscroll-behavior:contain;
  background:var(--d-aub);border:0;box-shadow:0 40px 80px -30px rgba(10,6,12,.7);padding:34px 32px 30px;animation:vgd-in .38s cubic-bezier(.2,.7,.2,1)}
@keyframes vgd-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.vgd__x{position:absolute;top:16px;right:16px;width:32px;height:32px;display:grid;place-items:center;color:var(--d-mauve)}
.vgd__x svg{width:18px;height:18px}
.vgd__x:hover{color:var(--d-cream)}
.vgd__k{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--d-mauve)}
.vgd__h{margin:0 0 14px;font:300 30px/1.12 "VegaGuerrero Serif",Georgia,serif;letter-spacing:-.01em;color:var(--d-sand);text-wrap:balance}
.vgd__p{margin:0 0 22px;font-size:14px;line-height:1.6;color:rgba(234,225,214,.86)}
.vgd__form{display:grid;gap:4px}
.vgd__f{display:block;position:relative;border-bottom:1px solid var(--d-line);padding-top:12px}
.vgd__f span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--d-mauve)}
.vgd__f input{display:block;width:100%;height:36px;border:0;border-radius:0;background:transparent;outline:0;padding:0;margin:0;box-shadow:none;font:400 16px/36px "VegaGuerrero Sans",system-ui,sans-serif;color:var(--d-cream)}
.vgd__f::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--d-mauve);transition:width .45s ease}
.vgd__f:focus-within::after{width:100%}
.vgd__f.is-bad span{color:#e7a9a9}
.vgd__go{justify-self:start;display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding:0 0 9px;border-bottom:1px solid currentColor!important;font-size:12.5px!important;font-weight:700;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--d-cream)!important;transition:gap .35s ease}
.vgd__go svg{width:28px;height:16px;stroke-width:1.2}
.vgd__go:hover{gap:22px}
.vgd__go[disabled]{opacity:.5;cursor:wait}
.vgd__chk{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:12.5px;line-height:1.5;color:rgba(234,225,214,.86);cursor:pointer}
.vgd__chk input{appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:2px 0 0;border:1px solid var(--d-line);background:transparent;display:grid;place-content:center;cursor:pointer}
.vgd__chk input:checked::before{content:"";width:8px;height:8px;background:var(--d-mauve)}
.vgd__chk.is-bad{color:#e7a9a9}
.vgd__chk a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.vgd__msg{min-height:20px;margin:12px 0 0;font-size:12.5px;color:var(--d-sand)}
.vgd__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.vgd .vgd__link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;letter-spacing:.08em;color:var(--d-mauve)}
.vgd .vgd__link svg{width:15px;height:15px}
.vgd .vgd__link:hover{color:var(--d-cream)}

/* ---------- Grabadora ---------- */
.vgd__rec{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:18px;align-items:center;padding:18px 0 20px;border-top:1px solid rgba(161,140,149,.22);border-bottom:1px solid rgba(161,140,149,.22);margin-bottom:6px}
.vgd__mic{grid-row:1/3;position:relative;width:70px;height:70px;border-radius:50%!important;border:1px solid var(--d-mauve)!important;display:grid;place-items:center;transition:border-color .3s}
.vgd__mic span{width:24px;height:24px;border-radius:50%;background:#c4566a;transition:border-radius .3s,width .3s,height .3s,background .3s}
.vgd__mic:hover{border-color:var(--d-cream)!important}
.vgd.is-rec .vgd__mic span{width:20px;height:20px;border-radius:3px;background:var(--d-cream)}
.vgd.is-rec .vgd__mic::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(196,86,106,.6);animation:vgd-pulse 1.6s ease-out infinite}
@keyframes vgd-pulse{from{transform:scale(.92);opacity:1}to{transform:scale(1.18);opacity:0}}
.vgd__meter{display:flex;align-items:center;gap:3px;height:30px}
.vgd__meter i{flex:1;height:3px;background:rgba(161,140,149,.45);transition:height .08s linear}
.vgd.is-rec .vgd__meter i{background:var(--d-sand)}
.vgd__time{margin:6px 0 0;font-size:12px;letter-spacing:.06em;color:var(--d-mauve);font-variant-numeric:tabular-nums}
.vgd__time b{font-weight:700;color:var(--d-cream)}
.vgd__hint{grid-column:1/-1;margin:14px 0 0;font-size:12.5px;color:rgba(234,225,214,.7)}
.vgd__review{margin:14px 0 4px}
.vgd__review audio{width:100%;height:36px;display:block;filter:invert(1) hue-rotate(180deg) saturate(.4) brightness(.9)}

/* ---------- Accesibilidad ---------- */
.vgd__opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.vgd__opt{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:64px;padding:12px 14px!important;text-align:left;border:1px solid rgba(161,140,149,.3)!important;transition:border-color .3s,background .3s}
.vgd__opt b{font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.3}
.vgd__opt:hover{border-color:var(--d-mauve)!important}
.vgd__opt[aria-pressed="true"]{background:var(--d-fig)!important;border-color:var(--d-mauve)!important}
.vgd__opt--wide{grid-column:1/-1;flex-direction:row;align-items:center;min-height:52px}
.vgd__steps{display:flex;gap:4px}
.vgd__steps i{width:22px;height:3px;background:rgba(161,140,149,.35)}
.vgd__steps i.on{background:var(--d-cream)}
.vgd__guide{position:fixed;left:0;right:0;top:0;height:0;z-index:9989;pointer-events:none;display:none;box-shadow:0 0 0 100vmax rgba(20,12,22,.55)}
html.vga-guide .vgd__guide{display:block;height:var(--vga-gh,64px);transform:translateY(var(--vga-gy,40vh))}

/* Efectos de accesibilidad sobre el sitio (no se aplican a la barra ni a los paneles) */
html.vga-text body{font-size:calc(100% * var(--vg-ts,1.15))}
html.vga-spacing body :is(p,li,label,span,a,h1,h2,h3,h4){line-height:1.9!important;letter-spacing:.012em}
html.vga-readable body :is(p,li,label,span,a,h1,h2,h3,h4,em,b,strong,small):not(.vgd *){font-family:Verdana,"Atkinson Hyperlegible",Arial,sans-serif!important;font-style:normal!important}
html.vga-links body a:not(.vgd a){outline:2px solid #f2c94c!important;outline-offset:2px;text-decoration:underline!important}
html.vga-motion *,html.vga-motion *::before,html.vga-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.vga-noimg body :is(img,video,picture,.vg-hero__bg,.vg-exp__bg):not(.vgd *){visibility:hidden!important}
html.vga-noimg .vg-reco{background-image:none!important;background-color:#2c1f2e!important}
html.vga-contrast body > :not(.vgd):not(script):not(style),html.vga-contrast .vg-portal > *{filter:contrast(1.35)}
html.vga-gray body > :not(.vgd):not(script):not(style),html.vga-gray .vg-portal > *{filter:grayscale(1)}
html.vga-contrast.vga-gray body > :not(.vgd):not(script):not(style),html.vga-contrast.vga-gray .vg-portal > *{filter:grayscale(1) contrast(1.35)}

/* ---------- Móvil ---------- */
@media (max-width:700px){
  .vgd{--d-size:56px;--d-gap:14px}
  .vgd__bar{flex-direction:row;z-index:9993}
  .vgd__cap,.vgd__tip{display:none}
  .vgd__btn+.vgd__btn::before{top:12px;bottom:12px;left:0;right:auto;width:1px;height:auto}
  .vgd__btn[aria-expanded="true"]::after{left:-1px;right:-1px;top:-1px;bottom:auto;width:auto;height:2px}
  .vgd__btn svg,.vgd__ico{width:20px;height:20px}
  .vgd__btn em{font-size:7px}
  .vgd__btn--wa .vgd__dot{top:7px;right:7px}
  .vgd__hello{right:0;top:auto;bottom:calc(100% + 12px);width:min(272px,calc(100vw - 28px))}
  .vgd__hello::after{right:24px;top:auto;bottom:-6px;transform:rotate(135deg)}
  .vgd__panel{left:0;right:0;bottom:0;width:auto;max-height:86vh;padding:30px max(22px,env(safe-area-inset-right,0px)) calc(30px + var(--d-size) + 14px + env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));border-width:1px 0 0;animation-name:vgd-up}
  @keyframes vgd-up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
  .vgd__h{font-size:27px}
}
@media print{.vgd{display:none}}
@media (prefers-reduced-motion:reduce){.vgd *,.vgd *::before,.vgd *::after{animation:none!important;transition:none!important}}
html.vga-motion .vgd__dot::after{animation:none}

/* Etiqueta solo al tocar en pantallas táctiles */
@media (hover:none){.vgd__btn.is-touch .vgd__tip{display:block;opacity:1;transform:translate(0,-50%)}}
@media (max-width:700px){.vgd__btn.is-touch .vgd__tip{right:auto;left:50%;top:auto;bottom:calc(100% + 12px);transform:translateX(-50%)}}

/* Mientras corre la entrada, los botones flotantes esperan */
html.fxintro .vgd,html.vg-fxintro .vgd{opacity:0;visibility:hidden}
.vgd{transition:opacity .8s ease}
/* Nota de voz: datos → grabación → envío */
.vgd .vgd__who{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(234,225,214,.14);font-size:13px;line-height:1.5;color:rgba(234,225,214,.86)}
.vgd .vgd__who .vgd__link{margin-top:0;text-decoration:underline;text-underline-offset:3px}
.vgd .vgd__rec + .vgd__review + .vgd__form .vgd__who{margin-top:6px}
