/*
Theme Name: Nicolás Alonso
Description: Tema personalizado por él mismo
Author: Nicolás Alonso
Author URI: https://www.nicolasalonso.com.ar
Version: 1.0
Template: astra
Text Domain: nalonso
*/

/* General */
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/caveat-latin-500.woff2') format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/caveat-latin-700.woff2') format('woff2')}
/* Identidad "lapicera": acentos manuscritos y trazos a mano, el mismo lenguaje del boceto del hero. Los trazos son SVG con temblor. */
:root{--penFont:'Caveat',cursive}
:root{--trazoElipse:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%20100%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%20stroke%3D%22%232A49AC%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20vector-effect%3D%22non-scaling-stroke%22%3E%3Cpath%20d%3D%22M279.7%2034.6%20L287.0%2038.6%20L289.9%2042.2%20L288.8%2046.4%20L289.2%2050.8%20L288.5%2054.8%20L288.5%2060.0%20L282.5%2063.1%20L280.4%2069.1%20L273.2%2071.3%20L267.1%2073.4%20L256.9%2077.7%20L242.8%2079.7%20L232.1%2086.3%20L219.3%2087.3%20L207.5%2087.9%20L193.3%2087.3%20L178.4%2089.2%20L164.4%2091.3%20L149.6%2092.6%20L134.9%2090.3%20L119.9%2092.3%20L106.8%2090.2%20L92.5%2090.4%20L78.7%2084.7%20L65.4%2081.4%20L56.5%2082.0%20L47.8%2077.5%20L39.6%2074.7%20L27.6%2070.6%20L20.4%2065.8%20L16.6%2062.4%20L13.9%2057.9%20L10.1%2053.9%20L12.3%2049.2%20L16.3%2044.6%20L15.0%2039.7%20L18.1%2036.8%20L26.7%2031.7%20L35.9%2028.5%20L43.4%2026.3%20L53.5%2020.0%20L63.7%2019.6%20L74.3%2013.4%20L88.0%2013.5%20L100.0%208.8%20L113.5%207.4%20L129.0%209.3%20L143.7%205.5%20L158.6%2010.5%20L173.2%2010.2%20L187.8%209.2%20L202.9%2011.9%20L215.1%2012.5%20L229.3%2013.6%20L244.1%2015.4%20L253.8%2018.7%20L265.1%2024.5%20L275.7%2024.8%20L283.7%2028.7%20L287.3%2033.9%20L290.5%2037.5%20L293.9%2042.6%20L297.0%2046.6%20L298.5%2050.7%22/%3E%3C/svg%3E");--trazoOnda:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20200%2016%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%20stroke%3D%22%232A49AC%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M2%209%20Q14%205.0%2026%208.2%20Q38%2011.2%2050%208.7%20Q62%205.1%2074%209.9%20Q86%2012.2%2098%208.2%20Q110%205.5%20122%208.6%20Q134%2011.7%20146%208.1%20Q158%206.7%20170%2010.2%20Q182%2011.9%20194%209.0%22/%3E%3C/svg%3E");--trazoLinea:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%2012%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%20stroke%3D%22%232A49AC%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M0%206%20L20%204.7%20L40%204.7%20L60%205.5%20L80%205.2%20L100%207.1%20L120%204.9%20L140%204.5%20L160%207.4%20L180%206.1%20L200%204.9%20L220%206.1%20L240%204.5%20L260%206.1%20L280%207.5%20L300%207.2%20L320%206.6%20L340%205.2%20L360%205.6%20L380%204.9%20L400%206.9%22/%3E%3C/svg%3E");--trazoNodo:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%20stroke%3D%22%232A49AC%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M30.3%2015.3%20L31.2%2016.4%20L32.4%2018.0%20L30.8%2018.9%20L31.7%2020.2%20L34.1%2021.5%20L33.5%2022.7%20L32.6%2023.6%20L32.2%2025.6%20L31.4%2026.6%20L31.2%2026.4%20L30.7%2028.4%20L28.9%2027.9%20L29.1%2029.8%20L27.8%2031.6%20L26.7%2032.3%20L25.3%2032.4%20L24.3%2033.2%20L23.3%2030.7%20L22.1%2031.1%20L20.7%2031.7%20L19.7%2031.1%20L18.7%2031.0%20L17.9%2031.1%20L16.5%2031.4%20L15.4%2030.7%20L14.1%2029.9%20L13.8%2027.2%20L12.6%2027.7%20L11.8%2025.9%20L11.9%2024.3%20L11.2%2023.6%20L12.7%2022.0%20L10.9%2021.2%20L13.4%2019.8%20L12.6%2018.7%20L13.3%2017.1%20L12.0%2016.6%20L13.4%2015.5%20L13.8%2014.1%20L14.3%2011.8%20L16.1%2010.7%20L17.6%2012.0%20L18.1%2011.4%20L19.9%209.8%20L20.6%2010.0%20L22.5%207.4%20L23.5%206.8%20L24.6%208.4%20L26.1%207.9%20L27.5%207.8%20L28.9%207.9%20L30.6%208.6%20L31.4%208.5%20L32.2%2010.3%20L34.8%2010.4%20L35.0%2012.4%20L35.7%2012.0%20L35.5%2012.9%20L38.0%2014.9%20L38.6%2015.4%20L39.3%2016.6%20L39.9%2017.6%20L38.0%2019.1%20L40.2%2020.3%20L38.9%2021.5%20L39.9%2022.6%20L39.0%2023.7%20L38.6%2025.2%20L38.0%2026.0%22/%3E%3C/svg%3E");--trazoNodoLleno:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22%232A49AC%22%20stroke%3D%22%232A49AC%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M30.3%2015.3%20L31.2%2016.4%20L32.4%2018.0%20L30.8%2018.9%20L31.7%2020.2%20L34.1%2021.5%20L33.5%2022.7%20L32.6%2023.6%20L32.2%2025.6%20L31.4%2026.6%20L31.2%2026.4%20L30.7%2028.4%20L28.9%2027.9%20L29.1%2029.8%20L27.8%2031.6%20L26.7%2032.3%20L25.3%2032.4%20L24.3%2033.2%20L23.3%2030.7%20L22.1%2031.1%20L20.7%2031.7%20L19.7%2031.1%20L18.7%2031.0%20L17.9%2031.1%20L16.5%2031.4%20L15.4%2030.7%20L14.1%2029.9%20L13.8%2027.2%20L12.6%2027.7%20L11.8%2025.9%20L11.9%2024.3%20L11.2%2023.6%20L12.7%2022.0%20L10.9%2021.2%20L13.4%2019.8%20L12.6%2018.7%20L13.3%2017.1%20L12.0%2016.6%20L13.4%2015.5%20L13.8%2014.1%20L14.3%2011.8%20L16.1%2010.7%20L17.6%2012.0%20L18.1%2011.4%20L19.9%209.8%20L20.6%2010.0%20L22.5%207.4%20L23.5%206.8%20L24.6%208.4%20L26.1%207.9%20L27.5%207.8%20L28.9%207.9%20L30.6%208.6%20L31.4%208.5%20L32.2%2010.3%20L34.8%2010.4%20L35.0%2012.4%20L35.7%2012.0%20L35.5%2012.9%20L38.0%2014.9%20L38.6%2015.4%20L39.3%2016.6%20L39.9%2017.6%20L38.0%2019.1%20L40.2%2020.3%20L38.9%2021.5%20L39.9%2022.6%20L39.0%2023.7%20L38.6%2025.2%20L38.0%2026.0%22/%3E%3C/svg%3E")}
/* Colores: la fuente de verdad es el kit de Elementor (Sitio → Colores globales); acá solo se leen, con respaldo. */
:root,body{--mainColor:var(--e-global-color-primary,#02070C);--subColor:var(--e-global-color-secondary,#0A1F33);--whiteColor:var(--e-global-color-53c60e4,#FFFFFF);--textColor:var(--e-global-color-text,#333333);--grayColor:var(--e-global-color-dbbc68d,#666666);--lightgrayColor:#D9D9D9;--highlightColor:var(--e-global-color-accent,#2A49AC)}
body{color:var(--textColor)s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}
/* Foco visible solo al navegar con teclado (antes: outline:none en todo el sitio) */
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--highlightColor)!important;outline-offset:3px;box-shadow:0 0 0 6px var(--whiteColor);border-radius:2px}
.entry-content .elementor-button-wrapper a:hover,.entry-content button:hover,footer .elementor-button-wrapper a:hover,footer button:hover,.projects .elementor-element > .elementor-element-populated .elementor-widget-wrap,.ast-header-break-point .ast-mobile-menu-buttons-minimal.menu-toggle,#masthead .site-logo-img,#masthead .ast-mobile-menu-buttons,.main-header-bar-navigation,.projects .elementor-element .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute),.projects .elementor-element:hover > .elementor-element-populated h3,.projects .elementor-element:hover > .elementor-element-populated h5,.elementor-widget-container .menu li a,.icon-hover{transition:all .2s ease-in-out}
.work p.elementor-heading-title a:before,.work img{transition:all .4s ease-in-out}
.white a{color:var(--whiteColor)}
.elementor-text-editor a:hover{text-decoration:underline!important}
body:not(.customize-support) .admin,#wp-admin-bar-elementor_inspector,#wp-admin-bar-elementor_beta_secondary_report_issue,.elementor-slideshow__title{display:none!important}
.font-heading{font-family:'Rubik',sans-serif}
a{color:var(--highlightColor)}
a:focus, a:hover,.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a:hover{color:var(--subColor)}
.elementor a:not(.elementor-button-link):hover{text-decoration:underline}

/* Botones */
body .elementor-button.elementor-size-sm, body .elementor-button.elementor-size-xs, body .elementor-button.elementor-size-md, body .elementor-button.elementor-size-lg, body .elementor-button.elementor-size-xl, body .elementor-button{padding:.6rem 1rem;border-radius:.2rem}
.elementor-button.elementor-size-xl{font-size:1.3em}
.elementor-button.elementor-size-lg{font-size:1.1em}
.elementor-button.elementor-size-md{font-size:1.05em}
.wp-block-button .wp-block-button__link, .elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited,.elementor-button-wrapper .elementor-button:hover, .elementor-button-wrapper .elementor-button:focus{color:var(--whiteColor)}

/* Header */
header .custom-logo-link img{max-width:104px!important}
#wpadminbar{position:fixed;top:0;left:0}

/* Encabezados */
.menu li a:hover,h2 a:hover{text-decoration:underline}
h1 span{display:inline-block;position:relative;font-family:var(--penFont);font-weight:700;font-size:1.22em;line-height:1;transform:rotate(-2deg);top:.02em;padding:.05em .3em .12em;background:var(--trazoElipse) center/100% 100% no-repeat}
h1 u{text-decoration:none;background:var(--trazoOnda) left bottom/100% .24em no-repeat;padding-bottom:.14em}

/* Footer */
footer #copying{max-width:380px}
footer #copying.elementor-button-link a{color:var(--highlightColor)}
footer #copying.elementor-button-link:hover a{color:var(--whiteColor)}
footer .elementor-size-md svg{max-height:22px}
footer .elementor-button-link svg{position:relative;top:.05em}
footer .elementor-size-sm svg{width:.6em}
footer .elementor-size-md svg{width:.8em}
footer .elementor-button-icon.elementor-align-icon-left svg{right:.1em}
footer .elementor-button-icon.elementor-align-icon-right svg{left:.1em}
footer .elementor-button-icon svg .st0{fill:var(--highlightColor)}
footer .elementor-button-link:hover .elementor-button-icon svg .st0{fill:var(--whiteColor)}

/* Contenido */
.elementor-lightbox .elementor-lightbox-image{border-radius:1rem}
.work .elementor-widget:not(:last-child){margin-block-end:0}
.work img,.work iframe{border:1px solid var(--lightgrayColor)!important;border-radius:.6rem!important}
.work h3,.work h2{margin-bottom:.2em!important;font-size:1.6em!important}
/* Títulos de sección: son h2 (estructura para lectores de pantalla) pero conservan el color que tenían como h3 */
.elementor-element-c43f0b5 .elementor-heading-title,.elementor-element-pr0c3h1 .elementor-heading-title,.elementor-element-02d86c8 .elementor-heading-title{color:var(--e-global-color-secondary)}
.work p.elementor-heading-title{margin:0 0 .4em!important;font-family:'Rubik',sans-serif;font-size:1.0625rem;line-height:1.25;font-weight:400}
.work p.elementor-heading-title a:hover{text-decoration:none!important}
.work p.elementor-heading-title a:before{display:inline-block;margin-right:.4em;content:'🔗';line-height:1;font-size:.9rem;transform-origin:center center;transform:rotate(0deg)}
.work:hover p.elementor-heading-title a:before{transform:rotate(360deg)}
.work:hover img{opacity:.8}
.work a[data-elementor-open-lightbox="yes"]{cursor:zoom-in}

/* Mobile */
@media (max-width:767px) {
	p,.entry-content p{font-size:1.2em}
}
/* Servicios (consultor Salesforce): tarjetas con número pixelado, mismo recurso que h1 span */
.services{counter-reset:svc}
.service > .elementor-widget-wrap{border:1px solid var(--lightgrayColor);border-radius:.6rem;padding:2rem!important;margin:.6rem;background:var(--whiteColor);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service:hover > .elementor-widget-wrap{transform:translate(-4px,-4px);border-color:var(--highlightColor);box-shadow:6px 6px 0 var(--highlightColor)}
.service .elementor-heading-title::before{counter-increment:svc;content:"0" counter(svc);display:block;width:fit-content;margin-bottom:.4rem;font-family:var(--penFont);font-weight:700;font-size:2.6rem;line-height:1;color:var(--highlightColor);transform:rotate(-4deg);transform-origin:left bottom}
.before-sf{margin-top:2.5rem}
.hero-kicker p{color:var(--whiteColor);opacity:.75;letter-spacing:.04em;margin:0}
@media (prefers-reduced-motion:reduce){.service > .elementor-widget-wrap{transition:none}.service:hover > .elementor-widget-wrap{transform:none}}
.svc-more{margin-top:1rem;border-top:1px solid var(--lightgrayColor);padding-top:.75rem}
.svc-more summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:'Rubik',sans-serif;font-weight:500;color:var(--highlightColor)}
.svc-more summary::-webkit-details-marker{display:none}
.svc-more summary::after{content:"+";font-family:var(--penFont);font-weight:700;font-size:1.9rem;line-height:1;transition:transform .2s ease}
.svc-more[open] summary::after{transform:rotate(45deg)}
.svc-more summary:focus-visible{outline:2px solid var(--highlightColor);outline-offset:4px;border-radius:2px}
.svc-more ul{margin:.75rem 0 0 1.1rem;padding:0}
.svc-more li{margin-bottom:.4rem}
.svc-more li::marker{color:var(--highlightColor)}
.timeline{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative}
.timeline::before{content:"";position:absolute;top:.6rem;left:0;right:0;height:10px;background:var(--trazoLinea) center/100% 100% no-repeat}
.timeline li{position:relative;padding-top:2.75rem}
.timeline li::before{content:"";position:absolute;top:.25rem;left:0;width:1.35rem;height:1.35rem;background:var(--trazoNodo) center/contain no-repeat}
.timeline li:last-child::before{background-image:var(--trazoNodoLleno)}
.tl-when{display:block;font-family:var(--penFont);font-weight:700;font-size:1.65rem;line-height:1.1;color:var(--highlightColor);margin-bottom:.35rem}
.timeline strong{display:block;font-family:'Rubik',sans-serif;font-weight:500;color:var(--mainColor);margin-bottom:.35rem}
.timeline p{margin:0}
@media (max-width:767px){
	.timeline{grid-template-columns:1fr;gap:1.75rem;padding-left:2rem}
	.timeline::before{top:0;bottom:0;left:.6rem;right:auto;width:2px;height:auto;background:var(--highlightColor)}
	.timeline li{padding-top:0}
	.timeline li::before{top:.3rem;left:-2rem}
}
.process-steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:step}
.process-steps li{counter-increment:step;background:var(--trazoLinea) left top/100% 10px no-repeat;padding-top:1.1rem}
.process-steps li::before{content:counter(step);display:block;width:fit-content;font-family:var(--penFont);font-weight:700;font-size:3.6rem;line-height:1;color:var(--highlightColor);transform:rotate(-3deg);transform-origin:left bottom;margin-bottom:.5rem}
.process-steps strong{display:block;font-family:'Rubik',sans-serif;font-weight:500;color:var(--mainColor);margin-bottom:.35rem}
.process-steps p{margin:0}
@media (max-width:767px){
	.process-steps{grid-template-columns:1fr}
}
.svc-link{font-family:'Rubik',sans-serif;font-weight:500;white-space:nowrap}
.footer-roles{color:var(--whiteColor);opacity:.85}
.footer-roles a{color:var(--whiteColor);text-decoration:underline;text-decoration-color:var(--highlightColor);text-decoration-thickness:2px;text-underline-offset:.3em}
.footer-roles a:hover{color:var(--whiteColor);opacity:.8}
/* Accesibilidad: contraste mínimo 4.5:1 en etiquetas grises (antes #999 = 2.8:1) */
.elementor-divider__text,.work p.elementor-heading-title,.work p.elementor-heading-title a{color:var(--grayColor)!important}
/* ===== Artículos (plantillas del Theme Builder: "Artículo" y "Artículos – listado") =====
   Fondo, colores y tamaños de títulos se configuran en las plantillas de Elementor; acá solo lo que no tiene control nativo. */
/* Herramientas de lectura: shortcode [lectura] */
.listen{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem}
.listen[hidden]{display:none}
.listen-btn,.listen-stop{font-family:'Rubik',sans-serif;font-weight:500;font-size:1rem;line-height:1;border-radius:3.4px;cursor:pointer;min-height:44px}
.listen-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--highlightColor);color:var(--whiteColor);border:0;padding:.75rem 1.25rem;border-radius:3.4px;box-shadow:4px 4px 0 var(--mainColor)}
.listen-icon{width:0;height:0;border-left:.7rem solid currentColor;border-top:.45rem solid transparent;border-bottom:.45rem solid transparent}
.listen-btn[data-state="playing"] .listen-icon{width:.7rem;height:.8rem;border:0;border-left:.22rem solid currentColor;border-right:.22rem solid currentColor}
.listen-stop{background:transparent;color:var(--whiteColor);border:1px solid rgba(255,255,255,.5);padding:.7rem 1.1rem}
.listen-status{font-size:.9rem;color:rgba(255,255,255,.8)}
.read-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1001;pointer-events:none}
.read-progress span{display:block;height:100%;background:var(--highlightColor);transform-origin:0 50%;transform:scaleX(0)}
/* Contenido del artículo (HTML generado desde Markdown): lectura cómoda */
.article-body{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.75}
.article-body>.elementor-widget-container>*+*,.article-body>*+*{margin-top:1.15em}
.article-body p,.article-body li{margin-bottom:0}
.article-body h2{font-weight:600;font-size:1.6em;line-height:1.25;color:var(--mainColor);margin:2.2em 0 .2em}
.article-body h3{font-weight:500;font-size:1.25em;line-height:1.3;color:var(--mainColor);margin:1.8em 0 .1em}
.article-body a{text-decoration:underline;text-underline-offset:.2em}
.article-body ul,.article-body ol{padding-left:1.4em;margin-left:0}
.article-body li+li{margin-top:.45em}
.article-body li::marker{color:var(--highlightColor)}
.article-body code{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-size:.88em;background:#eef1f8;color:#16213a;padding:.12em .38em;border-radius:.3em}
.article-body pre{background:var(--mainColor);color:#e8edf7;padding:1.1rem 1.25rem;border-radius:.6rem;overflow-x:auto;font-size:.9rem;line-height:1.6;tab-size:4;box-shadow:4px 4px 0 var(--highlightColor)}
.article-body pre code{background:none;color:inherit;padding:0;font-size:inherit}
.article-body blockquote{border-left:4px solid var(--highlightColor);margin-left:0;padding:.25em 0 .25em 1.1em;font-style:normal}
.article-body table{border-collapse:collapse;width:100%;font-size:.95em}
.article-body th,.article-body td{border:1px solid var(--lightgrayColor);padding:.5em .7em;text-align:left}
.is-reading{background:#fff4c2;box-shadow:0 0 0 .35em #fff4c2;border-radius:.2em;color:#1d2530}
.tldr p{margin:0}
.tldr{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.7}
.author-card>.elementor-widget-container{border-color:var(--lightgrayColor)!important}
.author-card .elementor-author-box__avatar img{border-radius:.6rem;box-shadow:4px 4px 0 var(--highlightColor)}
.author-card .elementor-author-box__name{font-family:'Rubik',sans-serif;font-weight:600;font-size:1.15rem;margin-bottom:.35rem}
.article-back{margin-top:2.5rem;font-family:'Rubik',sans-serif}
/* Listado: filtros por tema (widget Menú de navegación con el menú "Temas") y tarjetas (widget Entradas del archivo) */
.blog-chips .elementor-nav-menu{gap:.6rem;flex-wrap:wrap}
.blog-chips .elementor-nav-menu .elementor-item{font-family:'Rubik',sans-serif;font-weight:500;padding:.55rem 1.1rem!important;border:1px solid var(--lightgrayColor);border-radius:999px;color:var(--mainColor);min-height:44px;display:inline-flex;align-items:center}
.blog-chips .elementor-nav-menu .elementor-item-active,.blog-chips .elementor-nav-menu .current-menu-item>.elementor-item{background:var(--mainColor);border-color:var(--mainColor);color:var(--whiteColor)}
.blog-chips .elementor-nav-menu .elementor-item:hover{border-color:var(--highlightColor)}
.blog-cards .elementor-post__card{border:1px solid var(--lightgrayColor);border-radius:.6rem!important;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.blog-cards .elementor-post__card:hover,.blog-cards .elementor-post__card:focus-within{transform:translate(-4px,-4px);border-color:var(--highlightColor);box-shadow:6px 6px 0 var(--highlightColor)!important}
.blog-cards .elementor-post__title{font-family:'Rubik',sans-serif;font-weight:600;line-height:1.3}
.blog-cards .elementor-post__excerpt p{color:var(--textColor);font-size:1rem;line-height:1.6}
.blog-cards .elementor-post__meta-data{color:var(--grayColor);font-size:.9rem}
@media (prefers-reduced-motion:reduce){.blog-cards .elementor-post__card{transition:none}.blog-cards .elementor-post__card:hover{transform:none}}

/* ===== Encabezado nativo de Astra (logo + menú de Apariencia → Menús) =====
   Transparente sobre el hero; al bajar (body.past-hero, custom.js) queda fijo con fondo oscuro y el logo más chico. */
.ast-theme-transparent-header #masthead .main-header-bar,.ast-theme-transparent-header #masthead .ast-primary-header-bar{background:transparent;border-bottom:0}
#masthead .main-header-menu>.menu-item>.menu-link{font-family:'Rubik',sans-serif;font-weight:500;font-size:1rem}
#masthead .main-header-menu>.menu-item>.menu-link:hover,#masthead .main-header-menu>.current-menu-item>.menu-link{text-decoration:underline;text-decoration-color:var(--highlightColor);text-decoration-thickness:3px;text-underline-offset:.45em}
#masthead .main-header-menu>.menu-item-lang{display:flex;align-items:center}
#masthead .main-header-menu>.menu-item-lang>.menu-link{height:auto;min-height:0;border:1px solid rgba(255,255,255,.45);border-radius:999px;line-height:1;padding:.55rem .95rem;margin-left:.5rem}
#masthead .main-header-menu>.menu-item-lang>.menu-link:hover{background:rgba(255,255,255,.14);text-decoration:none}
header .custom-logo-link img{transition:max-width .25s ease}
@keyframes masthead-in{from{transform:translateY(-100%)}to{transform:none}}
/* Barra fija: mismo degradado leve (principal → secundario) que el hero y el pie */
:root{--headerGradient:linear-gradient(100deg,var(--mainColor) 30%,var(--subColor))}
body.past-hero #masthead{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--mainColor) var(--headerGradient);box-shadow:0 2px 14px rgba(0,0,0,.3);animation:masthead-in .25s ease}
body.past-hero #masthead .custom-logo-link img{max-width:51px!important}
@media (prefers-reduced-motion:reduce){header .custom-logo-link img{transition:none}body.past-hero #masthead{animation:none}}
/* Logo a lapicera (SVG en línea, functions.php): al cargar y cada 10 s el contorno se traza en azul y se rellena de blanco;
   al pasar el mouse (clase .retrazo, custom.js) se vuelve a dibujar una vez. "retrazo" se suma a la lista sin sacar
   "trazo", así el ciclo de 10 s sigue corriendo y no se reinicia. Fuente del dibujo: tools/nalonso-logo-trazo.svg */
header svg.custom-logo{display:block;width:104px;height:auto;transition:width .25s ease}
body.past-hero #masthead svg.custom-logo{width:51px}
header .custom-logo path{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0;stroke-linejoin:round;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){header svg.custom-logo{transition:none}}
@media (prefers-reduced-motion:no-preference){
	header .custom-logo path{stroke-dasharray:1;animation:trazo 10s cubic-bezier(.5,0,.3,1) .3s infinite both}
	header .custom-logo .b{animation-delay:.6s}
	header .custom-logo.retrazo path{animation:trazo 10s cubic-bezier(.5,0,.3,1) .3s infinite both,retrazo 1.3s cubic-bezier(.5,0,.3,1)}
	header .custom-logo.retrazo .b{animation-delay:.6s,.15s}
	@keyframes trazo{
		0%{stroke-dashoffset:1;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
		14%{stroke-dashoffset:0;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
		20%{stroke-dashoffset:0;stroke-width:0;stroke:#FFFFFF;fill-opacity:1}
		88%{stroke-dashoffset:0;stroke-width:0;fill-opacity:1}
		94%{stroke-dashoffset:0;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
		100%{stroke-dashoffset:-1;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
	}
	@keyframes retrazo{
		0%{stroke-dashoffset:1;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
		70%{stroke-dashoffset:0;stroke-width:7;stroke:#4F6FD6;fill-opacity:0}
		100%{stroke-dashoffset:0;stroke-width:0;stroke:#FFFFFF;fill-opacity:1}
	}
}
/* Menú desplegable en mobile (nativo de Astra; fondo y colores en Apariencia → Personalizar → Encabezado → Menú): separadores e idioma */
#masthead .ast-mobile-header-content .main-header-menu>.menu-item{border-color:rgba(255,255,255,.12)}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item>.menu-link{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-lang{display:block;padding:1rem 1.25rem}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-lang>.menu-link{display:inline-flex;width:auto;margin:0;padding:.55rem .95rem;border:1px solid rgba(255,255,255,.45)}

/* Usuarios logueados: el encabezado fijo baja lo que mide la barra de administración de WordPress */
body.admin-bar.past-hero #masthead{top:32px}
@media (max-width:782px){body.admin-bar.past-hero #masthead{top:46px}}

/* ===== Movimiento de marca =====
   Criterio: saltos pixelados (steps) SOLO en detalles decorativos (sombra de la palabra del título, + → ×, cuadraditos
   de la línea de tiempo). Todo lo que mueve interfaz o contenido (menú, cajas, revelados, botones) va con curva suave.
   Todo dentro de "no-preference": con "reducir movimiento" activado no se anima nada. Nada arranca oculto
   por JavaScript; lo ligado al scroll usa animation-timeline nativo y solo corre donde hay soporte. */
:root{--ease-ui:cubic-bezier(.2,.8,.2,1)}
a{transition:color .15s var(--ease-ui),text-decoration-color .15s var(--ease-ui)}
@media (prefers-reduced-motion:no-preference){
	/* Palabra pixelada del título: la sombra se "imprime" en saltos; después se enciende el subrayado */
	/* la palabra destacada y el subrayado se "escriben" de izquierda a derecha */
	@keyframes escribir{from{clip-path:inset(-20% 100% -20% 0)}to{clip-path:inset(-20% -5% -20% 0)}}

	h1 span{animation:escribir .8s cubic-bezier(.5,0,.3,1) .5s both}
	h1 u{animation:escribir .5s ease-out 1.3s both}

	/* Botones: se levantan con sombra pixelada y se hunden al click, como una tecla */
	.elementor-button,.listen-btn,.article-cta-btn{transition:transform .18s var(--ease-ui),box-shadow .18s var(--ease-ui),background-color .18s var(--ease-ui)}
	.elementor-button:hover,.listen-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--mainColor)}
	.elementor-location-footer .elementor-button:hover{box-shadow:4px 4px 0 var(--highlightColor)}
	.elementor-button:active,.listen-btn:active{transform:translate(0,0);box-shadow:0 0 0 transparent}

	/* Menú: el subrayado azul baja y se acomoda bajo el texto */
	#masthead .main-header-menu>.menu-item>.menu-link{transition:text-underline-offset .22s var(--ease-ui),text-decoration-color .22s var(--ease-ui),background-color .22s var(--ease-ui)}
	#masthead .main-header-menu>.menu-item:not(.current-menu-item)>.menu-link{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:.9em}
	#masthead .main-header-menu>.menu-item:not(.current-menu-item)>.menu-link:hover{text-decoration-color:var(--highlightColor);text-underline-offset:.45em}
	/* Menú mobile: el panel baja con fundido y los ítems entran en cascada; la barra se oscurece junto con el panel */
	@keyframes menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content{animation:menu-in .26s var(--ease-ui) both}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content .main-header-menu>li{animation:menu-in .3s var(--ease-ui) both}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content .main-header-menu>li:nth-child(2){animation-delay:.04s}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content .main-header-menu>li:nth-child(3){animation-delay:.08s}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content .main-header-menu>li:nth-child(4){animation-delay:.12s}
	.ast-main-header-nav-open #masthead .ast-mobile-header-content .main-header-menu>li:nth-child(5){animation-delay:.16s}
	#masthead .ast-mobile-header-wrap .ast-primary-header-bar{transition:background-color .26s var(--ease-ui)}

	/* "Qué incluye": la caja se despliega en saltos y los ítems aparecen uno tras otro */
	:root{interpolate-size:allow-keywords}
	.svc-more::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease-ui),content-visibility .35s allow-discrete}
	.svc-more[open]::details-content{block-size:auto}
	@keyframes px-item{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
	.svc-more[open] li{animation:px-item .3s var(--ease-ui) .12s both}
	.svc-more[open] li:nth-child(2){animation-delay:.22s}
	.svc-more[open] li:nth-child(3){animation-delay:.32s}
	.svc-more[open] li:nth-child(4){animation-delay:.42s}
	.svc-more summary::after{transition:transform .2s var(--ease-ui)}

	/* Al entrar en pantalla: revelado de arriba hacia abajo en saltos pixelados (solo con soporte nativo) */
	@supports (animation-timeline:view()){
		/* translate (propiedad independiente) + opacidad en saltos: no pisa el transform ni recorta la sombra del hover */
		@keyframes px-reveal{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
		.service>.elementor-widget-wrap,.process-steps li,.timeline li,.work,.blog-cards .elementor-post__card,.about-photo img{
			animation:px-reveal linear both;animation-timeline:view();animation-range:entry 20% cover 30%;animation-timing-function:var(--ease-ui)}
		/* "Retraso" escalonado: con scroll no hay tiempo, así que cada ítem arranca un poco más tarde en el recorrido.
		   Todo rango termina antes de "cover 50%" (= elemento centrado en pantalla), si no queda a medio revelar. */
		.service:nth-child(2)>.elementor-widget-wrap,.process-steps li:nth-child(2),.timeline li:nth-child(2),.work:nth-child(2),.blog-cards .elementor-post:nth-child(3n+2) .elementor-post__card{animation-range:entry 30% cover 36%}
		.process-steps li:nth-child(3),.timeline li:nth-child(3),.blog-cards .elementor-post:nth-child(3n) .elementor-post__card{animation-range:entry 40% cover 42%}
		.process-steps li:nth-child(4),.timeline li:nth-child(4){animation-range:entry 50% cover 46%}
		@keyframes nodo{from{scale:.4;opacity:0}to{scale:1;opacity:1}}
		.timeline li::before{animation:nodo var(--ease-ui) both;animation-timeline:view();animation-range:entry 20% entry 50%}
	}
}

/* Menú: "Contacto" lleva al formulario del pie (#contacto, presente en todas las páginas) como botón de la marca */
#masthead .main-header-menu>.menu-item-cta{display:flex;align-items:center}
#masthead .main-header-menu>.menu-item-cta>.menu-link{height:auto;min-height:0;line-height:1;padding:.6rem 1rem;margin-left:.25rem;border-radius:.4rem;background:var(--highlightColor);color:var(--whiteColor);text-decoration:none!important;transition:transform .2s var(--ease-ui),box-shadow .2s var(--ease-ui)}
#masthead .main-header-menu>.menu-item-cta>.menu-link:hover,#masthead .main-header-menu>.menu-item-cta>.menu-link:focus-visible{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--whiteColor)}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-cta{display:block;padding:1rem 1.25rem 0;border:0}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-cta>.menu-link{display:inline-flex;width:auto;margin:0;padding:.75rem 1.25rem;border:0}
/* Scroll suave a los anclas, frenando antes para que la barra fija no tape el título */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
#contacto{scroll-margin-top:70px}
.menu-item-mail{--menu-icon:url('/wp-content/uploads/ico-mail-lapicera.svg')}
@media (min-width:922px){#masthead .main-header-menu>.menu-item-mail{margin-left:.6rem}}
#masthead .main-header-menu>.menu-item-icon{display:flex;align-items:center}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-icon{display:block}
#masthead .main-header-menu>.menu-item-icon>.menu-link{font-size:0;width:44px;height:44px;min-height:0;padding:0!important;justify-content:center;border-radius:.4rem}
#masthead .main-header-menu>.menu-item-icon>.menu-link::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:var(--menu-icon) center/contain no-repeat;mask:var(--menu-icon) center/contain no-repeat}
#masthead .main-header-menu>.menu-item-icon>.menu-link:hover{background:rgba(255,255,255,.14);text-decoration:none}
#masthead .ast-mobile-header-content .main-header-menu>.menu-item-icon>.menu-link{display:flex;align-items:center;font-size:1rem;width:auto;height:auto;justify-content:flex-start;gap:.75rem;padding:1rem 1.25rem!important;border-radius:0}
/* Íconos propios de trazo a mano (SVG en uploads: ico-mail-lapicera, ico-in-lapicera) */
.footer-roles{margin:0}
.elementor-widget-text-editor:has(.footer-icons) .elementor-widget-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}
.footer-icons{display:flex;gap:.25rem;margin:0 -10px 0 0}
.footer-icons .ico{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:.4rem;color:var(--whiteColor);transition:background-color .2s var(--ease-ui),transform .2s var(--ease-ui)}
.footer-icons .ico::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.footer-icons .ico:hover{background:rgba(255,255,255,.14);transform:translate(-2px,-2px)}
.ico-mail{--ico:url('/wp-content/uploads/ico-mail-lapicera.svg')}
.ico-linkedin{--ico:url('/wp-content/uploads/ico-in-lapicera.svg')}
.ast-main-header-nav-open #masthead .ast-mobile-header-wrap .ast-primary-header-bar{background:var(--mainColor) var(--headerGradient)}
/* Botones sobre fondos oscuros (hero y pie): la sombra pixelada cambia de color para verse */
@media (prefers-reduced-motion:no-preference){
	#inicio .elementor-button:hover,.blog-hero .elementor-button:hover,.listen-btn:hover{box-shadow:4px 4px 0 var(--whiteColor)}
	.listen-stop{transition:background-color .18s var(--ease-ui),transform .18s var(--ease-ui)}
	.listen-stop:hover{background:rgba(255,255,255,.14);transform:translate(-2px,-2px)}
}
@media (prefers-reduced-motion:reduce){#inicio .elementor-button:hover,.listen-btn:hover{box-shadow:4px 4px 0 var(--whiteColor)}}

/* Foto en "Sobre mí": mismas esquinas que las tarjetas y sombra pixelada de la marca */
.about-photo img{width:100%;max-width:220px;border-radius:.6rem;box-shadow:6px 6px 0 var(--highlightColor)}
@media (max-width:767px){
	.about-photo img{max-width:150px}.about-photo{margin-bottom:1rem}
	.about-row>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
	.about-row h2{font-size:clamp(1.6rem,1.2rem + 3vw,2rem);hyphens:auto;overflow-wrap:break-word}
}

/* Botones de solo ícono del hero (email, LinkedIn): área táctil mínima de 44px */
#inicio .elementor-widget-button .elementor-button:not(:has(.elementor-button-text:not(:empty))){min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* "Qué incluye" en escritorio: panel superpuesto debajo de la caja (no estira la vecina ni empuja la fila de abajo) */
@media (min-width:768px){
	.service>.elementor-widget-wrap{position:relative}
	.service .elementor-widget,.service .elementor-widget-container,.service .svc-more{position:static} /* el panel se ubica respecto de la tarjeta, no del bloque de texto */
	.elementor-section:has(.svc-more[open]),.service:has(.svc-more[open]){position:relative;z-index:20}
	.service:has(.svc-more[open])>.elementor-widget-wrap{border-color:var(--highlightColor);border-bottom-left-radius:0;border-bottom-right-radius:0}
	.svc-more::details-content{block-size:auto;overflow:visible;transition:none}
	.svc-more ul{position:absolute;left:-1px;right:-1px;top:100%;margin:0!important;padding:.25rem 2rem 1.5rem 3.1rem!important;background:var(--whiteColor);border:1px solid var(--highlightColor);border-top:0;border-radius:0 0 .6rem .6rem;box-shadow:6px 6px 0 var(--highlightColor)}
	.service:has(.svc-more[open])>.elementor-widget-wrap{box-shadow:6px 6px 0 var(--highlightColor)} /* el panel tapa la sombra inferior: tarjeta + panel se leen como una pieza */
}
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
	@keyframes panel-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
	.svc-more[open] ul{animation:panel-in .22s var(--ease-ui) both}
}

/* Formulario de contacto del pie */
.contact-form .elementor-field-textual,.contact-form select{transition:box-shadow .2s var(--ease-ui),border-color .2s var(--ease-ui)}
.contact-form .elementor-field-textual:focus,.contact-form select:focus{outline:none;border-color:var(--highlightColor)!important;box-shadow:4px 4px 0 var(--highlightColor)}
.contact-form .elementor-button{transition:background-color .2s var(--ease-ui),color .2s var(--ease-ui),box-shadow .2s var(--ease-ui)}
.contact-form .elementor-button:hover,.contact-form .elementor-button:focus-visible{box-shadow:4px 4px 0 var(--highlightColor)}
.contact-form .elementor-field-group label{transition:color .2s var(--ease-ui)}
.contact-form .elementor-field-group:focus-within label{color:#9DB1F0}
/* Botón: se "aprieta" contra su sombra pixelada al hacer click */
.contact-form .elementor-button:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--highlightColor)}
/* Enviando: Elementor baja la opacidad de todo el form y agrega un ícono de fuente que el sitio no carga;
   en su lugar se atenúan solo los campos y el botón muestra una barra que avanza en saltos */
.contact-form form.elementor-form-waiting{opacity:1!important}
.contact-form form.elementor-form-waiting .elementor-field-group:not(.elementor-field-type-submit){opacity:.5;transition:opacity .2s}
.contact-form .elementor-form-spinner{display:none}
.contact-form .elementor-button{position:relative;overflow:hidden}
.contact-form form.elementor-form-waiting .elementor-button{cursor:progress}
.contact-form form.elementor-form-waiting .elementor-button::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--whiteColor);transform-origin:0 50%;animation:form-cargando 1.2s ease-in-out infinite}
@keyframes form-cargando{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Mensajes: tarjeta con la sombra pixelada de la marca; error con el mismo lenguaje en rojo suave */
.contact-form .elementor-message{margin-top:1.25rem;padding:1rem 1.25rem 1rem 3.25rem;position:relative;font-weight:500;line-height:1.5;border:1px solid var(--whiteColor);border-radius:.4rem;background:rgba(255,255,255,.06)}
.contact-form .elementor-message::before{position:absolute;left:1.1rem;top:.6rem;font-family:var(--penFont);font-weight:700;font-size:1.8rem;line-height:1}
.contact-form .elementor-message-success{box-shadow:6px 6px 0 var(--highlightColor)}
.contact-form .elementor-message-success::before{content:"✓"}
.contact-form .elementor-message-danger:not(.elementor-help-inline){border-color:#FF9C9C;box-shadow:6px 6px 0 #B03A3A}
.contact-form .elementor-message-danger:not(.elementor-help-inline)::before{content:"!";color:#FF9C9C}
.contact-form .elementor-message.elementor-help-inline{margin:.4rem 0 0;padding:0;border:0;background:none;box-shadow:none;font-size:.85rem;color:#FFB4B4}
.contact-form .elementor-message.elementor-help-inline::before{content:none}
.contact-form .elementor-error .elementor-field-textual,.contact-form .elementor-error select{border-color:#FF9C9C!important}
/* Enviado: los campos se pliegan y queda solo la confirmación */
.contact-form.is-sent .elementor-form-fields-wrapper{display:none}
.contact-form.is-sent .elementor-message{margin-top:0}
@media (prefers-reduced-motion:no-preference){
	@keyframes sello{0%{opacity:0;transform:scale(1.15)}50%{opacity:1;transform:scale(.97)}100%{opacity:1;transform:none}}
	.contact-form .elementor-message:not(.elementor-help-inline){animation:sello .4s var(--ease-ui) both}
}
.about-contact{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--lightgrayColor)}
.author-contact{margin:1rem 0 0;font-size:.95rem}
.contact-form .elementor-form-fields-wrapper{align-items:flex-start}

/* Texto seleccionado con los colores de la marca */
::selection{background:var(--highlightColor);color:var(--whiteColor)}
.elementor-button-icon svg[viewBox="0 0 24 24"]{width:24px!important;height:24px!important}
.err-en a{color:var(--whiteColor);text-decoration:underline;text-decoration-color:var(--highlightColor);text-decoration-thickness:2px;text-underline-offset:.25em}

/* Flecha del desplegable del formulario: trazo propio en lugar de la fuente de íconos de Elementor (eicons no se carga) */
.contact-form .select-caret-down-wrapper i{display:none}
.contact-form .select-caret-down-wrapper::after{content:"";display:block;width:12px;height:8px;background:var(--subColor);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5l4.5 4.6 4.5-4.6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5l4.5 4.6 4.5-4.6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* Links dentro de un párrafo: subrayados, no solo de otro color (accesibilidad: se distinguen sin depender del color) */
.entry-content .elementor-widget-text-editor p a:not(.elementor-button):not(.svc-link){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:currentColor}
.entry-content .elementor-widget-text-editor p a:not(.elementor-button):not(.svc-link):hover{text-decoration-thickness:2px}
