
/* Mejoras globales LORTU - 2026-06-18 */
:root{scroll-behavior:smooth}
.skip-link{position:absolute;left:-999px;top:10px;background:#101510;color:#fff;padding:10px 14px;border-radius:10px;z-index:99999;text-decoration:none;font-weight:800}
.skip-link:focus{left:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,122,77,.35);outline-offset:3px}
nav a[aria-current="page"]{font-weight:900;text-decoration:underline;text-underline-offset:4px}
img{max-width:100%;height:auto}
.btn,.cta,button,a.whatsapp,.wa-btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover,.cta:hover,button:hover,a.whatsapp:hover,.wa-btn:hover{transform:translateY(-1px)}
.card,.article,.prop-card,.op-card,.team-card,.serv-card{transition:transform .18s ease,box-shadow .18s ease}
.card:hover,.article:hover,.prop-card:hover,.op-card:hover,.team-card:hover,.serv-card:hover{transform:translateY(-2px)}
input::placeholder,textarea::placeholder{color:#6a736c}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* LORTU Captador público unificado v116 */
.lortu-captador-launcher{position:fixed;right:20px;bottom:20px;z-index:99980;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:linear-gradient(145deg,#176a43,#0b3d28);color:#fff;padding:12px 15px;box-shadow:0 20px 52px rgba(13,67,44,.34);font:inherit;text-align:left;cursor:pointer;max-width:380px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.lortu-captador-launcher:hover{transform:translateY(-2px);box-shadow:0 25px 60px rgba(13,67,44,.42)}.lortu-captador-launcher.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.lortu-captador-icon{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.15);display:grid;place-items:center;font-weight:900;font-size:19px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}.lortu-captador-launcher>span:nth-child(2){display:grid;gap:3px}.lortu-captador-launcher b{font-size:14px;line-height:1.2}.lortu-captador-launcher small{font-size:11px;opacity:.84;line-height:1.25}.lortu-captador-launcher>i{font-style:normal;font-size:27px;opacity:.8}.lortu-captador-backdrop{position:fixed;inset:0;z-index:99988;background:rgba(7,22,14,.52);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.22s}.lortu-captador-backdrop.is-open{opacity:1;visibility:visible}.lortu-captador-panel{position:fixed;right:22px;bottom:22px;width:min(480px,calc(100vw - 44px));height:min(820px,calc(100dvh - 44px));z-index:99990;background:#fff;border:1px solid rgba(255,255,255,.72);border-radius:30px;box-shadow:0 38px 120px rgba(7,35,21,.46);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.975);transition:opacity .22s ease,transform .22s ease,visibility .22s}.lortu-captador-panel.is-open{opacity:1;visibility:visible;transform:none}.lortu-captador-panel iframe{display:block;width:100%;height:100%;border:0;background:#f4f7f5}.lortu-captador-close{position:absolute;right:14px;top:14px;z-index:5;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(8,45,28,.8);backdrop-filter:blur(10px);color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)}.lortu-chat-open{overflow:hidden;touch-action:none}
@media(max-width:900px){
  .lortu-captador-launcher{right:12px;bottom:12px;max-width:calc(100vw - 24px);padding:11px 13px;border-radius:19px}
  .lortu-captador-launcher small{display:none}
  .lortu-captador-panel{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none}
  .lortu-captador-close{top:max(10px,env(safe-area-inset-top));right:10px;width:44px;height:44px;border-radius:14px}
  .lortu-captador-backdrop{display:none}
}
@media(max-width:420px){.lortu-captador-launcher>i{display:none}.lortu-captador-launcher{grid-template-columns:auto 1fr}.lortu-captador-icon{width:38px;height:38px}}

/* v116 consistencia global */
.lortu-captador-panel,.lortu-captador-launcher{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.lortu-captador-panel iframe{color-scheme:light}

/* =========================================================
   LORTU v120 · sistema visual público unificado
   Capa exclusivamente visual. No altera lógica ni formularios.
   ========================================================= */
:root{
  --lortu-green:#1f7a4d;
  --lortu-green-deep:#145835;
  --lortu-forest:#123322;
  --lortu-ink:#101510;
  --lortu-bg:#f4f6f5;
  --lortu-soft:#eef8f2;
  --lortu-line:#dce9e1;
  --lortu-muted:#58675e;
  --lortu-radius:24px;
  --lortu-shadow:0 14px 38px rgba(12,46,29,.10);
  --lortu-shadow-strong:0 22px 58px rgba(8,37,23,.15);
}

html{background:var(--lortu-bg)}
body{
  min-height:100%;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 92% 14%,rgba(31,122,77,.055),transparent 25rem),
    var(--lortu-bg);
  color:var(--lortu-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

header,
header.topbar,
.topbar{
  min-height:78px;
  padding:10px clamp(20px,7vw,110px)!important;
  border-bottom:1px solid rgba(31,122,77,.09);
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 6px 24px rgba(9,42,25,.07)!important;
  backdrop-filter:blur(14px);
}

header .logo img,
header .logo-top img,
.topbar .logo img,
.topbar .logo-top img{
  height:54px!important;
  width:auto;
}

.menu-btn{
  width:46px!important;
  height:46px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #dce9e1!important;
  border-radius:15px!important;
  background:#f7fbf8!important;
  color:var(--lortu-green-deep)!important;
  box-shadow:none!important;
  line-height:1!important;
}
.menu-btn:hover{
  transform:none!important;
  border-color:#b9d9c5!important;
  background:var(--lortu-soft)!important;
}

nav{
  border:1px solid rgba(31,122,77,.12)!important;
  border-radius:20px!important;
  background:white!important;
  box-shadow:0 20px 55px rgba(8,37,23,.20)!important;
}
nav a{
  transition:background .16s ease,color .16s ease,padding .16s ease;
}
nav a:hover{
  padding-left:24px;
  background:var(--lortu-soft)!important;
  color:var(--lortu-green-deep)!important;
}

h1,h2,h3{
  text-wrap:balance;
}
h1{
  letter-spacing:-.045em;
}
h2{
  letter-spacing:-.035em;
}
h3{
  letter-spacing:-.02em;
}
p{
  text-wrap:pretty;
}

main > .hero,
body > .hero,
.article-hero{
  position:relative;
  isolation:isolate;
}
main > .hero:after,
body > .hero:after,
.article-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:rgba(255,255,255,.18);
  pointer-events:none;
}
main > .hero h1,
body > .hero h1,
.article-hero h1{
  line-height:1.04!important;
}

.card,
.form-box,
.legal-box,
.article-card,
.intro-box,
.box,
.filtros-box,
.table-box,
.info-box,
.data-box,
.factor,
.service-card,
.situacion,
.commitment,
.faq,
.owner-card{
  border:1px solid rgba(31,122,77,.11);
  border-radius:var(--lortu-radius);
  box-shadow:var(--lortu-shadow);
}

.card,
.article-card,
.service-card,
.situacion,
.commitment,
.factor,
.value,
.owner-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover,
.article-card:hover,
.service-card:hover,
.situacion:hover,
.commitment:hover,
.factor:hover,
.value:hover,
.owner-card:hover{
  transform:translateY(-3px);
  border-color:rgba(31,122,77,.28);
  box-shadow:var(--lortu-shadow-strong);
}

input,
select,
textarea{
  min-height:52px;
  border:1px solid #d5e2da!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--lortu-ink);
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
textarea{min-height:110px}
input:hover,
select:hover,
textarea:hover{
  border-color:#a8cdb6!important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:var(--lortu-green)!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(31,122,77,.12)!important;
}
input:disabled,
select:disabled,
textarea:disabled{
  background:#eef3f0!important;
  color:#536158!important;
  opacity:1;
}

.btn,
.main-btn,
button[type="submit"],
button[id*="Enviar"],
button[id*="Calcular"]{
  border-radius:14px!important;
  font-weight:800!important;
}
.btn:not(.light):not(.dark),
.main-btn,
button[type="submit"],
button[id*="Enviar"],
button[id*="Calcular"]{
  background:linear-gradient(135deg,var(--lortu-green),var(--lortu-green-deep),var(--lortu-forest))!important;
  box-shadow:0 12px 26px rgba(31,122,77,.20);
}
.btn:hover,
.main-btn:hover,
button[type="submit"]:hover{
  box-shadow:0 17px 34px rgba(31,122,77,.26);
}
.btn.light{
  border:1px solid rgba(31,122,77,.16);
  background:#fff!important;
  color:var(--lortu-green-deep)!important;
}

.cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--lortu-ink),var(--lortu-forest))!important;
}
.cta:before{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:310px;
  height:310px;
  border-radius:50%;
  background:rgba(127,195,152,.09);
  pointer-events:none;
}
.cta > *{position:relative;z-index:1}

.seo-local .inner,
.local-box,
.editorial-intro{
  border:1px solid var(--lortu-line);
  border-radius:var(--lortu-radius);
  box-shadow:0 10px 30px rgba(8,37,23,.06);
}

.legal-box,
.article-card{
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:white;
}
.legal-box h2,
.article-card h2{
  color:var(--lortu-green-deep);
}
.data-box,
.note{
  border-radius:16px!important;
}
.back-link,
.breadcrumb a,
.back{
  color:var(--lortu-green-deep)!important;
  font-weight:800;
}

.whatsapp-float{
  border:2px solid rgba(255,255,255,.88);
  box-shadow:0 12px 30px rgba(12,80,44,.30)!important;
}

footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,var(--lortu-green-deep),var(--lortu-green),var(--lortu-forest))!important;
}
footer a{
  text-underline-offset:3px;
}

.loading,
.empty,
.error-box{
  border:1px solid var(--lortu-line);
  border-radius:18px!important;
  background:white;
  box-shadow:0 10px 28px rgba(8,37,23,.07);
}

@media(max-width:760px){
  header,
  header.topbar,
  .topbar{
    min-height:72px;
    padding:9px 5%!important;
  }
  header .logo img,
  header .logo-top img,
  .topbar .logo img,
  .topbar .logo-top img{
    height:49px!important;
  }
  .menu-btn{
    width:43px!important;
    height:43px!important;
    border-radius:14px!important;
  }
  main > .hero h1,
  body > .hero h1,
  .article-hero h1{
    font-size:clamp(32px,9vw,40px)!important;
  }
  .card,
  .form-box,
  .legal-box,
  .article-card,
  .intro-box,
  .box,
  .filtros-box{
    border-radius:20px;
  }
}
