/* ==========================================================
   Capa editorial — menos "efecto", más oficio.
   Tipografía en caja normal, acentos dorados solo donde importan,
   sin brillos, pulsos ni partículas. Se carga al final.
   ========================================================== */
:root{--gold:#A9803A;--gold-l:#C9A464;--gold-d:#7A5A22;--paper:#F1ECE2;--ink:#14212A;--navy:#14212A;--rule:rgba(20,33,42,.16)}

/* --- Fuera adornos típicos --- */
html body canvas.vs-fx,html body .vs-grain,html body .vsf-grain{display:none!important}
html body .vsf-cursor{display:none!important}
html body .vst-item:first-child .vst-dot:after,html body .vsh-cue b:before,html body .vsh-cue b:after{display:none!important}
html body .vsx-frame{display:none!important}
html body .vsh-num{display:none!important}
html body .vsf-progress{height:1px;background:var(--ink)}
html body .vsh-edge{display:none!important}
html body .vsx-scroll i:after,html body .vsh-hint i:after{animation:none!important}
html body *{text-shadow:none!important}
html body .vs-btn .elementor-button,html body .vsf-btn,html body .vsx-post-img,html body .vsx-grid-img,html body .vsf-post-cover img,html body .vs-about .vs-img,html body .vsh-fig,html body .vsh-intro-img,html body .vs-hero-card{box-shadow:none!important}

/* --- Rótulos: sin líneas decorativas ni dorado, discretos --- */
html body .vs-kicker .elementor-heading-title:before,html body .vs-kicker .elementor-heading-title:after,html body .vsf-kicker:before,html body .vsf-kicker:after,html body .vsx-kicker:before,html body .vst-kicker:before{display:none!important;content:none!important}
html body .vs-kicker .elementor-heading-title,html body .vs-kicker p,html body .vsf-kicker,html body .vsx-kicker,html body .vst-kicker,html body .vsh-kicker{letter-spacing:.06em!important;text-transform:none!important;font-size:14px!important;font-style:italic!important;color:inherit!important;opacity:.7}

/* --- Títulos en caja normal, tracking ajustado, sin dorado en itálicas --- */
html body .vs-h1 .elementor-heading-title,html body .vs-h2 .elementor-heading-title,html body .vsf-h1,html body .vsf-h2,html body .vst-title,html body .vsh-outro-title,html body .vsf-foot-title,html body .vsx-name{text-transform:none!important;letter-spacing:-.015em!important;font-weight:400!important}
html body .vs-h2 .elementor-heading-title,html body .vsf-h2,html body .vst-title{line-height:1.02!important}
html body .vs-h2 em,html body .vs-h1 em,html body .vsf-h2 em,html body .vsf-h1 em,html body .vst-title em,html body .vsf-foot-title em,html body .vs-mega em{color:inherit!important;-webkit-text-stroke:0!important}
html body .vs-script .elementor-heading-title{color:inherit!important;opacity:.8}
html body .vsh-giant{text-transform:none!important;letter-spacing:-.03em!important;color:var(--ink)!important;opacity:.9}
html body .vs-center,html body .vs-center .elementor-heading-title,html body .vs-center p{text-align:left!important;margin-left:0!important}
html body .vs-intro,html body .vs-gal,html body .vs-tl,html body .vs-contact{align-items:flex-start!important}

/* --- Botones: sobrios. Primario tinta, secundario subrayado --- */
html body .vs-btn .elementor-button,html body .vsf-btn,html body .vsh-btn{background:var(--ink)!important;color:var(--paper)!important;padding:16px 26px!important;letter-spacing:.04em!important;text-transform:none!important;font-size:15px!important;border-radius:0!important}
html body .vs-btn .elementor-button:before,html body .vsf-btn:before{display:none!important}
html body .vs-btn .elementor-button:hover,html body .vsf-btn:hover,html body .vsh-btn:hover{background:var(--gold-d)!important;color:#fff!important;transform:none!important}
html body .vs-btn-o .elementor-button,html body .vs-link .elementor-button{background:none!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid currentColor!important;padding:0 0 4px!important}
html body .vs-btn-o .elementor-button:hover,html body .vs-link .elementor-button:hover{color:var(--gold-d)!important;background:none!important}
html body .vsf-more{letter-spacing:.02em;text-transform:none;font-size:15px;font-style:italic}
html body .vsf-cta{background:none!important;color:inherit!important;padding:6px 0!important;border-bottom:1px solid currentColor}

/* --- Navegación: minúsculas, sin subrayado animado --- */
html body .vsf-links a,html body .vs-nav a{text-transform:none!important;letter-spacing:.02em!important;font-size:15px!important}
html body .vsf-top{letter-spacing:.04em;text-transform:none;font-size:12px;font-style:italic}

/* --- Etiquetas/metadatos: menos espaciado y sin mayúsculas forzadas --- */
html body .vs-meta,html body .vs-meta p,html body .vsx-post-meta,html body .vsf-card-meta,html body .vsh-meta,html body .vsx-grid-cap small,html body .vst-place,html body .vsx-cap small,html body .vsf-obra-data dt,html body .vsf-postnav span,html body .vsf-share span{letter-spacing:.03em!important;text-transform:none!important;font-size:13px!important;color:var(--mute)!important}

/* --- Filtros: texto con subrayado, no "pills" --- */
html body .vsx-filters{justify-content:flex-start;gap:22px}
html body .vsx-filters button,html body .vsx-filters a{border:0!important;border-radius:0!important;padding:4px 0!important;background:none!important;color:var(--mute)!important;text-transform:none!important;letter-spacing:.02em!important;font-size:15px!important}
html body .vsx-filters .is-active,html body .vsx-filters button:hover,html body .vsx-filters a:hover{color:var(--ink)!important;border-bottom:1px solid var(--ink)!important}
html body .vsx-filters sup{display:none}

/* --- Distinciones: texto, no cápsulas --- */
html body .vst-badge,html body .vs-badge .elementor-heading-title{border:0!important;background:none!important;padding:0!important;border-radius:0!important;color:var(--gold-l)!important;font-style:italic!important}
html body .vst-light .vst-badge{color:var(--gold-d)!important}
html body .vst-badge.is-solid:before{content:"★ ";font-style:normal}

/* --- Imágenes: marco fino tipo museo, sin inclinaciones exageradas --- */
html body .vsh-fig{transform:rotate(calc(var(--tilt,0deg) * .35))!important}
html body .vs-hero-card:before{display:none}
html body .vs-hero-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* --- Ritmo: menos animación en cascada --- */
html.vsf-js body .vsf-rv{transform:translateY(14px)!important;transition-duration:.9s!important}
html body .vsf-js .vst-item,html.vsf-js body .vst-item{transform:none!important;transition:opacity .8s!important}

/* --- Galería horizontal: indicador discreto --- */
html body .vsh-cue b{width:auto!important;height:auto!important;background:none!important;color:var(--ink)!important;font-size:22px!important;border-radius:0!important}
html body .vsh-cue span{text-transform:none!important;letter-spacing:.02em!important;font-style:italic;font-size:14px!important}

/* --- Footer: firma grande menos protagonista --- */
html body .vsf-foot-sign{opacity:.04}
html body .vsf-foot-soc a{border-radius:0}

/* --- Maquetación de páginas internas --- */
html body .e-con.vsp-head{display:flex!important;flex-direction:column;gap:22px!important;max-width:1440px;margin:0 auto;padding:clamp(56px,8vw,130px) var(--pad) clamp(40px,5vw,72px)!important}
html body .e-con.vsp-section{display:block!important;max-width:1440px;margin:0 auto;padding:0 var(--pad) clamp(80px,10vw,140px)!important}
html body .e-con.vsp-split{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,110px)!important;align-items:start}
html body .e-con.vsp-col{display:flex!important;flex-direction:column;gap:22px!important}
html body .vsp-head .vs-body p{max-width:58ch}
html body .e-con.vsp-facts{display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;border-top:1px solid var(--rule)}
html body .vsp-fact .elementor-heading-title{padding:28px 28px 0 0;font:400 clamp(28px,2.6vw,40px)/1.1 var(--serif)!important;color:var(--ink)!important}
html body .vsp-fact span{display:block;margin-top:10px;font-size:15px;line-height:1.5;color:var(--mute);font-style:italic}
html body .vsp-contact-info a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
html body .vsp-contact-info a:hover{color:var(--gold-d)}
html body .e-con.vs-herox,html body .e-con.vs-trayx,html body .e-con.vs-blogh{padding:0!important;display:block!important}
html body .vsp-section .vst-light{padding-top:0}
@media(max-width:900px){html body .e-con.vsp-split{grid-template-columns:1fr}html body .e-con.vsp-facts{grid-template-columns:1fr}}

html body .vsx-cap .t{display:flex;flex-direction:column;gap:6px}
html body .vsx-cap b{font-style:italic}

/* --- Footer: cuatro columnas, redes con presencia --- */
html body .vsf-foot-grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr}
html body .vsf-foot-sign{display:none!important}
html body .vsf-footer .vsf-foot-grid .vsf-social{display:flex;flex-direction:column}
html body .vsf-footer .vsf-foot-grid .vsf-social a{display:flex;align-items:center;gap:18px;padding:14px 0;line-height:1.25;border-bottom:1px solid rgba(243,237,227,.09);color:#EDE4D2}
html body .vsf-footer .vsf-foot-grid .vsf-social a:first-child{padding-top:4px}
html body .vsf-social svg{width:26px!important;height:26px!important;flex:none;color:var(--gold-l);transition:color .3s,transform .5s var(--ease)}
html body .vsf-social span{display:flex;flex-direction:column;font-size:18px}
html body .vsf-social small{font-size:13px;font-style:italic;color:rgba(217,207,189,.55);margin-top:3px}
html body .vsf-footer .vsf-foot-grid .vsf-social a:hover{padding-left:0;color:#fff}
html body .vsf-social a:hover svg{color:#fff;transform:translateX(4px)}
html body .vsf-soc{gap:18px}
html body .vsf-soc svg{width:17px;height:17px}
@media(max-width:1024px){html body .vsf-foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html body .vsf-foot-grid{grid-template-columns:1fr}}

/* --- Footer: lienzo de gis (Madonnari) --- */
html body .vsf-chalk{position:relative;margin:clamp(56px,7vw,100px) calc(var(--pad) * -1) 0;height:clamp(220px,24vw,330px);border-top:1px solid rgba(243,237,227,.08);border-bottom:1px solid rgba(243,237,227,.08);overflow:hidden}
html body .vsf-chalk canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:pan-y}
html body .vsf-chalk-tx{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:0 var(--pad);pointer-events:none;transition:opacity .9s ease}
html body .vsf-chalk-tx span{font:italic 400 clamp(20px,2.2vw,30px)/1.3 var(--serif);color:rgba(237,228,210,.55)}
html body .vsf-chalk-tx small{font-size:13px;font-style:italic;color:rgba(217,207,189,.35)}
html body .vsf-chalk-tx .m{display:none}
@media(hover:none){html body .vsf-chalk-tx .d{display:none}html body .vsf-chalk-tx .m{display:block}}
html body .vsf-chalk.is-drawing .vsf-chalk-tx{opacity:.12}
html body .vsf-bot{margin-top:28px}

/* --- Botón "Buy me a coffee" discreto --- */
html body #bmc-wbtn{width:46px!important;height:46px!important;right:20px!important;bottom:20px!important;background:rgba(20,33,42,.78)!important;border:1px solid rgba(201,164,100,.35)!important;box-shadow:none!important;opacity:.55;transition:opacity .3s ease,transform .3s ease!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html body #bmc-wbtn:hover{opacity:1;transform:translateY(-2px)}
html body #bmc-wbtn img{width:20px!important;height:auto!important;filter:grayscale(1) brightness(1.7)}
html body #bmc-wbtn + div{display:none!important}
@media(max-width:767px){html body #bmc-wbtn{width:40px!important;height:40px!important;right:14px!important;bottom:14px!important}}

/* --- Lienzo de gis en táctil: alternar dibujo / scroll --- */
html body .vsf-chalk canvas{touch-action:pan-y}
html body .vsf-chalk.is-draw canvas{touch-action:none}
html body .vsf-chalk-toggle{position:absolute;z-index:3;right:var(--pad);bottom:16px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(201,164,100,.45);background:rgba(9,20,28,.72);color:#EDE4D2;font:400 14px/1.15 var(--serif);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html body .vsf-chalk-toggle svg{color:var(--gold-l);flex:none}
html body .vsf-chalk-toggle span{display:flex;flex-direction:column}
html body .vsf-chalk-toggle small{font-size:11.5px;font-style:italic;color:rgba(217,207,189,.6);margin-top:2px}
html body .vsf-chalk.is-draw .vsf-chalk-toggle{border-color:var(--gold-l)}
html body .vsf-chalk:not(.is-draw) canvas{cursor:default}
html body .vsf-chalk:not(.is-draw) .vsf-chalk-tx{opacity:.5}
