/* =====================================================================
   Llamaradas · Base común a todos los sistemas
   Reset mínimo, contenedor, botones, iconos y páginas sin Elementor.
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:var(--fs-body)/1.6 var(--font-text);color:var(--ink);background:var(--paper);overflow-x:clip}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:inherit}
button{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.lmr-main{display:block}
.lmr-main:focus{outline:none}

/* Accesibilidad */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;top:calc(var(--admin-bar) + 12px);left:12px;z-index:1000;width:auto;height:auto;clip:auto;margin:0;padding:12px 18px;background:var(--paper);color:var(--primary);font-weight:600;box-shadow:var(--shadow);border-radius:var(--r);white-space:normal}

/* Iconos (Phosphor, relleno con currentColor) */
.ico{width:48px;height:48px;border-radius:var(--r);display:inline-grid;place-items:center;flex:none;background:var(--primary-soft);color:var(--primary)}
.ico svg{width:24px;height:24px;fill:currentColor}
.ico--accent{background:var(--accent-soft);color:var(--accent)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:var(--r);border:1px solid var(--primary);text-decoration:none;font-weight:600;font-size:14.5px;line-height:1.2;background:transparent;color:var(--primary);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .25s,border-color .25s,transform .2s,box-shadow .25s}
.btn svg{width:22px;height:22px;fill:currentColor;flex:none}
.btn::before{content:"";position:absolute;inset:0;background:var(--primary);transform:translateX(-101%);transition:transform .3s cubic-bezier(.2,.8,.2,1);z-index:-1}
.btn:hover{color:var(--on-primary);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:hover::before{transform:translateX(0)}
.btn--primary{background:var(--primary);color:var(--on-primary)}
.btn--primary::before{background:var(--accent)}
.btn--primary:hover{border-color:var(--accent);color:var(--on-accent)}
.btn--light{background:#fff;border-color:#fff;color:var(--ink)}
.btn--light::before{background:var(--accent)}
.btn--light:hover{border-color:var(--accent);color:var(--on-accent)}
.btn--on-accent{border-color:currentColor;color:var(--on-accent)}
.btn--on-accent::before{background:#fff}
.btn--on-accent:hover{color:var(--accent-text);border-color:#fff}
.btn--wa{background:var(--wa);border-color:var(--wa);color:#fff;font-size:15px;gap:12px}
.btn--wa::before{background:var(--wa-hover)}
.btn--wa:hover{color:#fff;border-color:var(--wa-hover);box-shadow:0 14px 30px rgb(37 211 102 / .4)}

/* Módulo de flecha: oculto en el estilo «relleno». */
.btn__ico{display:none}

/* Estilo «flecha»: mayúsculas, alto fijo y bloque de icono a la derecha. */
[data-btn="arrow"] .btn{height:54px;padding:0 0 0 24px;gap:0;font:600 13.5px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase}
[data-btn="arrow"] .btn::before{display:none}
[data-btn="arrow"] .btn:hover{transform:none;box-shadow:none}
[data-btn="arrow"] .btn__ico{display:grid;place-items:center;align-self:stretch;width:54px;margin-left:24px;background:var(--primary);color:var(--on-primary);transition:background-color .25s}
[data-btn="arrow"] .btn__ico svg{width:20px;height:20px;transition:transform .25s}
[data-btn="arrow"] .btn:hover .btn__ico svg{transform:translate(2px,-2px)}
[data-btn="arrow"] .btn:hover .btn__ico{background:var(--accent);color:var(--on-accent)}
[data-btn="arrow"] .btn--primary .btn__ico{background:var(--accent);color:var(--on-accent)}
[data-btn="arrow"] .btn--primary:hover{color:var(--on-primary);border-color:var(--primary)}
[data-btn="arrow"] .btn--primary:hover .btn__ico{background:var(--primary-2);color:var(--on-primary)}
[data-btn="arrow"] .btn--light .btn__ico{background:var(--accent);color:var(--on-accent)}
[data-btn="arrow"] .btn--light:hover{color:var(--ink);border-color:#fff}
[data-btn="arrow"] .btn--light:hover .btn__ico{background:var(--dark);color:#fff}
[data-btn="arrow"] .btn--on-accent .btn__ico{background:#fff;color:var(--accent-text)}
[data-btn="arrow"] .btn--on-accent:hover{color:var(--on-accent);border-color:currentColor}
[data-btn="arrow"] .btn--on-accent:hover .btn__ico{background:var(--primary);color:var(--on-primary)}
[data-btn="arrow"] .btn--wa{padding:0 22px;gap:12px;justify-content:center}
[data-btn="arrow"] .btn--wa:hover{background:var(--wa-hover)}

/* Chips de certificaciones (fondos oscuros) */
.lmr-chips{display:flex;gap:8px;flex-wrap:wrap}
.lmr-chips span{font:700 12px/1 var(--font-display);letter-spacing:.06em;color:#fff;border:1px solid rgb(255 255 255 / .25);border-radius:var(--r);padding:7px 10px}

.badge{display:inline-block;font-size:10.5px;line-height:1.4;background:var(--accent);color:var(--on-accent);border-radius:3px;padding:2px 6px;margin-left:8px;letter-spacing:.04em;vertical-align:middle}
[data-shape="square"] .badge{border-radius:0}

/* ---------- Logo ---------- */
.lmr-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.lmr-logo__mark{width:42px;height:42px;border-radius:var(--r);display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--accent),var(--accent-grad));color:var(--on-accent);box-shadow:0 6px 14px rgb(var(--accent-rgb) / .3)}
.lmr-logo__mark svg{width:24px;height:24px;fill:currentColor}
.lmr-logo__text{display:grid;line-height:1}
.lmr-logo__name{font:700 22px/1 var(--font-display);letter-spacing:-.01em}
.lmr-logo__tagline{font:500 11px/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}
.lmr-logo__img{display:block;max-width:240px;object-fit:contain}

/* ---------- Footer: barra legal común ---------- */
.lmr-legal__inner{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding-block:22px;font-size:13.5px;color:var(--on-dark-2)}
.lmr-legal__menu{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0}
.lmr-legal__menu a{text-decoration:none;color:var(--on-dark-2);transition:color .2s}
.lmr-legal__menu a:hover{color:#fff}
.lmr-totop{width:44px;height:44px;flex:none;border:1px solid rgb(255 255 255 / .2);border-radius:var(--r);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background-color .25s,border-color .25s}
.lmr-totop svg{width:20px;height:20px;fill:currentColor}
.lmr-totop:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* ---------- Páginas sin Elementor (entradas, búsqueda, 404) ---------- */
.lmr-page{padding-block:72px 96px}
.lmr-entry__head{display:grid;gap:14px;margin-bottom:36px;max-width:820px}
.lmr-entry__title{margin:0;font:700 clamp(min(30px,var(--fs-h2)),3.4vw,var(--fs-h2))/1.08 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.lmr-entry__meta,.lmr-entry__desc{color:var(--ink-2)}
.lmr-entry__media{margin:0 0 36px}
.lmr-entry__media img{border-radius:var(--r-lg)}
.lmr-prose{max-width:820px;font-size:calc(var(--fs-body) + 1px);color:var(--ink-2)}
.lmr-prose h2,.lmr-prose h3,.lmr-prose h4{font-family:var(--font-display);color:var(--ink);line-height:1.2;margin:1.6em 0 .5em}
.lmr-prose a{color:var(--accent-text)}
.lmr-prose img{border-radius:var(--r)}
.lmr-list{display:grid;gap:28px;max-width:820px}
.lmr-list__item{padding-bottom:28px;border-bottom:1px solid var(--line)}
.lmr-list__title{margin:0 0 8px;font:600 calc(var(--fs-h3) + 1px)/1.25 var(--font-display)}
.lmr-list__title a{text-decoration:none}
.lmr-list__title a:hover{color:var(--accent-text)}
.lmr-list__excerpt{color:var(--ink-2)}
.lmr-searchform{display:flex;gap:10px;max-width:560px}
.lmr-searchform input{flex:1;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);font:inherit;color:var(--ink);background:var(--paper)}
.lmr-searchform input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgb(var(--primary-rgb) / .12)}
.lmr-404 .lmr-searchform{margin-bottom:28px}
.lmr-searchform .btn,[data-btn="arrow"] .lmr-searchform .btn{height:auto;min-height:48px;padding:0 22px}
.nav-links{display:flex;gap:8px;margin-top:40px}
.nav-links .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none}
.nav-links .current{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.alignwide{max-width:1000px}
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.aligncenter{display:block;margin-inline:auto}
.alignfull{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.wp-caption-text,.gallery-caption{font-size:13.5px;color:var(--ink-3)}
.sticky,.bypostauthor{display:block}

/* Elementor: reserva el espacio del Header 03 superpuesto. Añade la clase a la primera sección. */
.lmr-header-overlay .lmr-offset-header{padding-top:calc(var(--lmr-overlay-offset) + 48px)!important}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
