
/*
Theme Name: Liseven Corporate Pro V13
Theme URI: https://grupoliseven.cl
Author: SocialByte
Description: Tema corporativo profesional para Grupo Liseven. Base limpia para Elementor Pro con header, footer, loader, botón flotante y estilos corporativos.
Version: 13.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: liseven-corporate-pro-v13
*/

:root{
  --lsv-blue:#083B66;
  --lsv-blue-dark:#041F33;
  --lsv-teal:#35B6BE;
  --lsv-teal-light:#56DCE4;
  --lsv-pink:#E73573;
  --lsv-pink-light:#FF5B94;
  --lsv-gray:#F5F8FA;
  --lsv-text:#1F2D3D;
  --lsv-muted:#607084;
  --lsv-white:#FFFFFF;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--lsv-text);
  background:#fff;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
a{text-decoration:none}

.lsv-container{
  max-width:1400px;
  margin:0 auto;
  padding:0 24px;
}

/* Loader */
.lsv-loader{
  position:fixed;
  inset:0;
  background:#fff;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.45s ease;
}
.lsv-loader.hide{opacity:0;visibility:hidden}
.lsv-loader-box{text-align:center}
.lsv-loader img{
  height:58px;
  width:auto;
  max-width:230px;
  object-fit:contain;
}
.lsv-loader-spinner{
  width:48px;
  height:48px;
  border-radius:50%;
  border:4px solid rgba(53,182,190,.16);
  border-top-color:var(--lsv-teal);
  border-right-color:var(--lsv-pink);
  margin:20px auto 0;
  animation:lsvSpin 1s linear infinite;
}
@keyframes lsvSpin{to{transform:rotate(360deg)}}

/* Header */
.lsv-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(8,59,102,.08);
  box-shadow:0 8px 26px rgba(8,59,102,.06);
}
body.admin-bar .lsv-header{top:32px}

.lsv-header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.lsv-brand{
  display:flex;
  align-items:center;
  width:170px;
  min-width:170px;
  overflow:hidden;
}
.lsv-brand img{
  width:auto!important;
  height:42px!important;
  max-height:42px!important;
  max-width:165px!important;
  object-fit:contain!important;
  display:block!important;
}

.lsv-menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}
.lsv-menu a{
  color:var(--lsv-blue);
  font-weight:800;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
  position:relative;
}
.lsv-menu a:not(.lsv-quote-btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:3px;
  background:linear-gradient(90deg,var(--lsv-teal),var(--lsv-pink));
  border-radius:99px;
  transform:scaleX(0);
  transform-origin:left;
  transition:.25s ease;
}
.lsv-menu a:hover::after{transform:scaleX(1)}

.lsv-quote-btn,
.lsv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  cursor:pointer;
  padding:14px 24px;
  border-radius:999px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--lsv-pink),var(--lsv-pink-light));
  font-weight:900!important;
  box-shadow:0 16px 36px rgba(231,53,115,.28);
  transition:.25s ease;
}
.lsv-quote-btn:hover,
.lsv-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(231,53,115,.38);
}

/* Floating CTA (not rotated) */
.lsv-floating-cta{
  position:fixed;
  right:22px;
  bottom:24px;
  z-index:99999;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  cursor:pointer;
  color:#fff;
  font-weight:900;
  padding:15px 20px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--lsv-teal),var(--lsv-pink));
  box-shadow:0 18px 50px rgba(8,59,102,.28);
  transition:.25s ease;
}
.lsv-floating-cta:hover{transform:translateY(-3px)}
.lsv-floating-cta span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 7px rgba(255,255,255,.18);
}

/* Drawer */
.lsv-drawer-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  background:rgba(4,31,51,.65);
  opacity:0;
  visibility:hidden;
  transition:.3s ease;
}
.lsv-drawer-overlay.open{opacity:1;visibility:visible}

.lsv-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(470px,92vw);
  height:100vh;
  z-index:100001;
  background:#fff;
  transform:translateX(110%);
  transition:.38s cubic-bezier(.2,.8,.2,1);
  box-shadow:-30px 0 80px rgba(0,0,0,.28);
  padding:30px;
  overflow:auto;
}
body.admin-bar .lsv-drawer{top:32px;height:calc(100vh - 32px)}
.lsv-drawer.open{transform:translateX(0)}

.lsv-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.lsv-drawer-head img{
  height:42px;
  width:auto;
  max-width:170px;
  object-fit:contain;
}
.lsv-close{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:var(--lsv-gray);
  color:var(--lsv-blue);
  cursor:pointer;
  font-size:26px;
  line-height:1;
}
.lsv-drawer h3{
  margin:0 0 8px;
  color:var(--lsv-blue);
  font-size:30px;
  letter-spacing:-.6px;
}
.lsv-drawer p{
  color:var(--lsv-muted);
  line-height:1.55;
  margin:0 0 20px;
}
.lsv-field input,
.lsv-field select,
.lsv-field textarea{
  width:100%;
  display:block;
  margin-bottom:12px;
  padding:15px 16px;
  border-radius:14px;
  border:1px solid #d8e6ec;
  background:#f8fbfc;
  outline:none;
  color:#17324c;
  font-size:15px;
}
.lsv-field input:focus,
.lsv-field select:focus,
.lsv-field textarea:focus{
  border-color:var(--lsv-teal);
  box-shadow:0 0 0 4px rgba(53,182,190,.14);
}
.lsv-drawer .lsv-btn{width:100%}

/* Footer */
.lsv-footer{
  background:var(--lsv-blue-dark);
  color:#d9eef3;
  padding:70px 0 26px;
}
.lsv-footer-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:36px;
}
.lsv-footer img{
  height:48px;
  width:auto;
  background:#fff;
  border-radius:12px;
  padding:6px;
}
.lsv-footer h4{color:#fff;margin:0 0 16px;font-size:18px}
.lsv-footer p{line-height:1.65;color:#c5dce5}
.lsv-footer a{display:block;color:#d9eef3;margin:9px 0}
.lsv-copy{
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#9fb9c6;
}

/* Elementor helper classes */
.lsv-hero-pro{
  position:relative;
  overflow:hidden;
}
.lsv-hero-pro::before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-210px;
  top:-160px;
  background:radial-gradient(circle, rgba(53,182,190,.42), transparent 65%);
  z-index:2;
  pointer-events:none;
}
.lsv-hero-pro::after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-110px;
  height:235px;
  background:linear-gradient(135deg, rgba(53,182,190,.97), rgba(231,53,115,.95));
  transform:skewY(-4deg);
  z-index:2;
  pointer-events:none;
}
.lsv-hero-pro > .elementor-container{position:relative;z-index:3}

.lsv-form-glass{
  animation:lsvFloat 5s ease-in-out infinite;
}
@keyframes lsvFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

.lsv-gradient-button .elementor-button{
  background:linear-gradient(135deg,#E73573,#FF5B94)!important;
  border-radius:999px!important;
  box-shadow:0 18px 42px rgba(231,53,115,.34)!important;
  font-weight:900!important;
  transition:.25s ease!important;
}
.lsv-gradient-button .elementor-button:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 24px 54px rgba(231,53,115,.44)!important;
}
.lsv-outline-button .elementor-button{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(86,220,228,.55)!important;
  color:#fff!important;
  border-radius:999px!important;
  font-weight:900!important;
}
.lsv-card-hover{
  transition:.3s ease!important;
}
.lsv-card-hover:hover{
  transform:translateY(-8px)!important;
  box-shadow:0 34px 90px rgba(8,59,102,.22)!important;
}
.lsv-badges{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}
.lsv-badges span{
  padding:10px 14px;
  border-radius:14px;
  background:rgba(53,182,190,.16);
  border:1px solid rgba(86,220,228,.35);
  color:#e9fbff;
  font-weight:800;
}
.lsv-process-row{
  position:relative;
}
.lsv-process-row::before{
  content:"";
  position:absolute;
  top:50%;
  left:8%;
  right:8%;
  height:4px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--lsv-teal),var(--lsv-pink),var(--lsv-teal));
  z-index:0;
}
.lsv-process-card{
  position:relative;
  z-index:2;
}
.lsv-process-card::before{
  content:"";
  position:absolute;
  top:-14px;
  left:50%;
  width:24px;
  height:24px;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(135deg,var(--lsv-teal),var(--lsv-pink));
  box-shadow:0 0 0 8px rgba(53,182,190,.14);
}
.elementor-field{
  border-radius:14px!important;
}
.elementor-widget-form .elementor-button{
  background:linear-gradient(135deg,#E73573,#FF5B94)!important;
  border-radius:999px!important;
  font-weight:900!important;
}

@media(max-width:1180px){
  .lsv-menu{display:none}
  .lsv-footer-grid{grid-template-columns:1fr 1fr}
  .lsv-process-row::before{display:none}
}
@media(max-width:782px){
  body.admin-bar .lsv-header{top:46px}
  body.admin-bar .lsv-drawer{top:46px;height:calc(100vh - 46px)}
}
@media(max-width:700px){
  .lsv-header-inner{min-height:68px}
  .lsv-brand{width:135px;min-width:135px}
  .lsv-brand img{height:34px!important;max-width:130px!important}
  .lsv-floating-cta{right:14px;bottom:16px;padding:13px 16px;font-size:13px}
  .lsv-footer-grid{grid-template-columns:1fr}
  .lsv-hero-pro::after{height:150px;bottom:-80px}
}
