/*
Theme Name: Hello Elementor Child
Description: Child Theme de Hello Elementor
Author: Wynges
Template: hello-elementor
Version: 1.0
*/

/* =========================
   NAV FIJO + OFFSET UNIVERSAL
   ========================= */

:root{
  --lg-header-h: 72px;
  --lg-adminbar: 0px;
  --lg-top-offset: calc(var(--lg-adminbar) + var(--lg-header-h));
  --lg-blue: #0763E7;
  --lg-ink: #0D325D;
  --lg-border: rgba(15,23,42,.10);
  --lg-shadow: 0 18px 44px rgba(2,6,23,.14);
  --lg-radius: 16px;
}

/* WP Admin Bar */
body.admin-bar { --lg-adminbar: 32px; }
@media (max-width: 782px){
  body.admin-bar { --lg-adminbar: 46px; }
}

/* Compensación para que el contenido no quede debajo del header fijo */
body{ padding-top: var(--lg-top-offset); }

/* En el editor de Elementor evitamos doble padding */
body.elementor-editor-active { padding-top: 0; }

/* Para anclas */
html { scroll-padding-top: var(--lg-top-offset); }
[id] { scroll-margin-top: var(--lg-top-offset); }

/* =========================
   HEADER
   ========================= */
.lg-header{
  position: fixed;
  top: var(--lg-adminbar);
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid rgba(15,23,42,.08);
  font-family: inherit;
}

.lg-header *{
  box-sizing: border-box;
  font-family: inherit;
}

.lg-header__wrap{
  margin-left: 20px;
  margin-right: 20px;
  padding: 0 16px;
}

.lg-header__row{
  height: var(--lg-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.lg-brand{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.lg-brand img{
  width: 160px;
  height: auto;
  display: block;
  object-fit: contain;
}

/* NAV LINKS */
.lg-nav{
  display: none;
  align-items: center;
  gap: 18px;
  flex: 1;
  margin-left: 10px;
}

.lg-nav__list{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.lg-link,
.lg-trigger{
  font-size: 16px;
  font-weight: 500;
  color: var(--lg-ink);
  text-decoration: none;
  background: transparent;
  border: 0;
  padding: 10px 10px;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
  transition: background-color .15s ease, color .15s ease;
  white-space: nowrap;
  outline: none;
}

.lg-link:hover,
.lg-trigger:hover{
  color: var(--lg-blue);
  background: rgba(7,99,231,.06);
}

.lg-trigger:focus-visible,
.lg-link:focus-visible{
  box-shadow: 0 0 0 3px rgba(7,99,231,.25);
}

.lg-chev{
  width: 16px;
  height: 16px;
  transition: transform .18s ease;
}

/* DROPDOWNS */
.lg-dd{ position: relative; }

.lg-dd::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;
}

.lg-panel{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background: #fff;
  border: 1px solid var(--lg-border);
  border-radius: var(--lg-radius);
  box-shadow: var(--lg-shadow);
  padding: 16px;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.lg-dd:hover .lg-panel,
.lg-dd:focus-within .lg-panel{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.lg-dd:hover .lg-chev,
.lg-dd:focus-within .lg-chev{
  transform: rotate(180deg);
}

/* Mega menú soluciones */
.lg-panel--mega{
  width: 950px;
}

.lg-mega{
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 18px;
}

.lg-colTitle{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(13,50,93,.55);
  font-weight: 700;
  margin: 2px 0 10px;
}

.lg-featGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 5px;
}

.lg-item{
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  text-decoration: none;
  border-radius: 12px;
  padding: 10px 10px;
  transition: background-color .15s ease, transform .15s ease;
  color: var(--lg-ink);
}

.lg-item:hover{
  background: rgba(7,99,231,.06);
  transform: translateY(-1px);
}

.lg-ico{
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lg-blue);
  flex: 0 0 22px;
}

.lg-ico svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
}

.lg-item strong{
  font-size: 15px;
  line-height: 1.1;
  display: block;
  margin-bottom: 2px;
  color: var(--lg-ink);
}

.lg-item span{
  font-size: 13px;
  line-height: 1.25;
  color: rgba(13,50,93,.65);
  display: block;
}

.lg-intList{
  display: grid;
  gap: 2px;
}

.lg-intLink{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration: none;
  color: var(--lg-ink);
  transition: background-color .15s ease, color .15s ease;
}

.lg-intLink:hover{
  background: rgba(7,99,231,.06);
  color: var(--lg-blue);
}

.lg-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(7,99,231,.35);
}

/* Lista recursos / nosotros */
.lg-panel--list{
  width: 260px;
  max-width: min(260px, calc(100vw - 32px));
  padding: 12px;
}

.lg-list{
  display: grid;
  gap: 6px;
  margin-top: 2px;
}

.lg-list a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  color: var(--lg-ink);
  transition: background-color .15s ease, color .15s ease;
}

.lg-list a:hover{
  background: rgba(7,99,231,.06);
  color: var(--lg-blue);
}

/* ACCIONES */
.lg-actions{
  display: none;
  align-items: center;
  gap: 10px;
}

.lg-btn{
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: #fff;
  color: var(--lg-ink);
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
  white-space: nowrap;
}

.lg-btn:hover{
  background: rgba(15,23,42,.04);
  color: var(--lg-blue);
}

.lg-btn--outline{
  border-color: var(--lg-blue);
  color: var(--lg-blue);
  background: #fff;
}

.lg-btn--outline:hover{
  border-color: #12385B;
  color: #12385B;
  background: #fff;
}

/* MOBILE BASE */
.lg-mobile{ display: inline-flex; }

.lg-toggle{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lg-burger{
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 0;
  background: transparent;
  color: var(--lg-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .15s ease;
}

.lg-burger:hover{
  background: rgba(13,50,93,.06);
}

.lg-burger svg{
  width: 24px;
  height: 24px;
}

.lg-mobilePanel{
  display: none;
}

.lg-toggle:checked ~ .lg-mobilePanel{
  display: block;
}

/* RUBROS MEGA */
.lg-panel--rubros{
  width: min(1080px, calc(100vw - 32px));
  min-width: 940px;
  padding: 0;
  overflow: hidden;
}

@media (max-width: 1080px){
  .lg-panel--rubros{ min-width: 0; }
}

.lg-rubros{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px){
  .lg-rubros{ grid-template-columns: 1fr; }
}

.lg-rcol{
  padding: 16px 18px;
  border-right: 1px solid rgba(241,245,249,1);
}

.lg-rcol:last-child{
  border-right: 0;
}

@media (max-width: 900px){
  .lg-rcol{
    border-right: 0;
    border-bottom: 1px solid rgba(241,245,249,1);
  }

  .lg-rcol:last-child{
    border-bottom: 0;
  }
}

.lg-rtitle{
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #94A3B8;
  font-weight: 800;
  margin: 0 0 12px 0;
  padding: 0 6px;
  white-space: nowrap;
}

.lg-rlist{
  list-style: none;
  padding: 0;
  margin: 0;
}

.lg-rlist li{
  margin: 4px 0;
}

.lg-rlink{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  color: var(--lg-ink);
  transition: background .18s ease, color .18s ease, transform .18s ease;
  white-space: nowrap;
  overflow: hidden;
}

/* icono de cada industria (mismo tratamiento que Soluciones) */
.lg-rlink .lg-ico{
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lg-blue);
}

.lg-rlink .lg-ico svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
}

.lg-rtext{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lg-rlink:hover{
  background: #EFF6FF;
  color: #1D4ED8;
  transform: translateY(-1px);
}

.lg-rcta{
  background: linear-gradient(180deg, rgba(59,130,246,.08), rgba(59,130,246,.03));
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.lg-ricon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #2563EB;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 18px rgba(37,99,235,.25);
  color: #fff;
}

.lg-ricon svg{
  width: 18px;
  height: 18px;
}

.lg-rctatxt h4{
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #0F172A;
}

.lg-rctatxt p{
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #64748B;
  max-width: 260px;
}

.lg-rbtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #2563EB;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 14px 25px rgba(37,99,235,.20);
  transition: transform .18s ease, filter .18s ease;
  width: 100%;
  max-width: 260px;
}

.lg-rbtn svg{
  width: 14px;
  height: 14px;
}

.lg-rbtn:hover{
  transform: translateY(-1px);
  filter: brightness(.95);
}

.lg-rfoot{
  font-size: 10px;
  color: #94A3B8;
  margin-top: 6px;
  text-align: left;
  white-space: nowrap;
}

/* Iconos de integraciones */
.lg-intLogo{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
}

.lg-intLogo img{
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}

/* MOBILE REDISEÑADO */
@media (max-width: 1023px){

  .lg-header__wrap{
    margin-left: 0;
    margin-right: 0;
    padding: 0 14px;
  }

  .lg-header__row{
    height: var(--lg-header-h);
  }

  .lg-brand img{
    width: 150px;
  }

  .lg-burger{
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 12px;
  }

  .lg-mobilePanel{
    display: none;
    position: fixed;
    top: calc(var(--lg-adminbar) + var(--lg-header-h));
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99998;
    background: #fff;
    border-top: 1px solid rgba(15,23,42,.08);
    padding: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lg-toggle:checked ~ .lg-mobilePanel{
    display: block;
  }

  .lg-mobilePanel__inner{
    padding: 14px 16px 24px;
  }

  .lg-mobileTop{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(15,23,42,.08);
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
  }

  .lg-mobileBrand img{
    width: 150px;
    height: auto;
    display: block;
  }

  .lg-mobileClose{
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--lg-ink);
    background: transparent;
    transition: background-color .15s ease, color .15s ease;
  }

  .lg-mobileClose:hover{
    background: rgba(7,99,231,.06);
    color: var(--lg-blue);
  }

  .lg-mobileClose svg{
    width: 22px;
    height: 22px;
    stroke: currentColor;
  }

  .lg-acc{
    border-bottom: 1px solid rgba(15,23,42,.08);
  }

  .lg-acc:last-of-type{
    border-bottom: 0;
  }

  .lg-acc summary{
    list-style: none;
    cursor: pointer;
    padding: 16px 0;
    border-radius: 0;
    color: var(--lg-ink);
    font-weight: 500;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    transition: color .15s ease;
  }

  .lg-acc summary::-webkit-details-marker{
    display: none;
  }

  .lg-acc summary:hover{
    background: transparent;
    color: var(--lg-blue);
  }

  .lg-mobileChev{
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    transition: transform .18s ease;
    color: var(--lg-blue);
  }

  .lg-acc[open] .lg-mobileChev{
    transform: rotate(180deg);
  }

  .lg-acc__inner{
    display: grid;
    gap: 10px;
    padding: 0 0 18px 0;
  }

  .lg-mobileGroup{
    display: grid;
    gap: 10px;
  }

  .lg-mobileLabel{
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(13,50,93,.55);
    font-weight: 700;
    padding: 2px 0 0;
  }

  .lg-mobileCard{
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    text-decoration: none;
    color: var(--lg-ink);
    padding: 4px 0;
    border-radius: 0;
    transition: color .15s ease, transform .15s ease;
  }

  .lg-mobileCard:hover{
    background: transparent;
    color: var(--lg-blue);
    transform: translateX(2px);
  }

  .lg-mobileCard .lg-ico{
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-top: 2px;
  }

  .lg-mobileCard strong{
    display: block;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
    color: inherit;
    margin: 0 0 3px;
  }

  .lg-mobileCard span{
    display: block;
    font-size: 13px;
    line-height: 1.35;
    color: rgba(13,50,93,.68);
  }

  .lg-mobilePlain{
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--lg-ink);
    padding: 4px 0;
    font-size: 15px;
    font-weight: 500;
    transition: color .15s ease, transform .15s ease;
  }

  .lg-mobilePlain:hover{
    color: var(--lg-blue);
    transform: translateX(2px);
    background: transparent;
  }

  .lg-mobilePlain .lg-intLogo,
  .lg-mobilePlain .lg-ico{
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

  .lg-mobilePlain .lg-intLogo img{
    width: 20px;
    height: 20px;
    object-fit: contain;
    display: block;
  }

  .lg-mobileActions{
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(15,23,42,.08);
  }

  .lg-mobileActions .lg-btn{
    width: 100%;
    text-align: center;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    min-height: 46px;
  }
}

/* Desktop */
@media (min-width: 1024px){
  .lg-nav{ display: flex; }
  .lg-actions{ display: flex; }
  .lg-mobile{ display: none; }
  .lg-mobilePanel{ display: none !important; }
}

@media (max-width: 1023px){
  .lg-acc--soluciones .lg-acc__inner{
    max-height: 62vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 6px;
  }

  .lg-acc--soluciones .lg-acc__inner::-webkit-scrollbar{
    width: 6px;
  }

  .lg-acc--soluciones .lg-acc__inner::-webkit-scrollbar-thumb{
    background: rgba(13,50,93,.22);
    border-radius: 999px;
  }

  .lg-acc--soluciones .lg-acc__inner::-webkit-scrollbar-track{
    background: transparent;
  }
}


/* =========================
   FOOTER
   ========================= */
#lg-footer-mini.lg-footer-mini{
  background:#fff;
  padding:28px 20px;
  font-family: Arial, sans-serif;
  color:#000;
  background-color:#fafafa;
}

#lg-footer-mini .lg-container{
  max-width:1200px;
  margin:0 auto;
  background-color:#fafafa;
}

#lg-footer-mini .lg-top{
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap:40px;
  align-items:start;
  margin-bottom:18px;
}

#lg-footer-mini .lg-logos{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

#lg-footer-mini .lg-main-logo{
  height:44px;
  width:auto;
  max-width:230px;
  object-fit:contain;
  display:block;
}

#lg-footer-mini .lg-iso-logo{
  height:42px;
  width:auto;
  max-width:110px;
  object-fit:contain;
  display:block;
}

#lg-footer-mini .lg-cols{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:32px;
}

#lg-footer-mini .contact-col h3{
  margin:0 0 6px 0;
  font-size:14px;
  font-weight:700;
}

#lg-footer-mini .contact-list,
#lg-footer-mini .contact-links{
  list-style:disc;
  margin:0 0 8px 14px;
  padding:0;
  font-size:12px;
  line-height:1.3;
}

#lg-footer-mini .contact-list li,
#lg-footer-mini .contact-links li{
  margin-bottom:3px;
}

#lg-footer-mini .schedule-title{
  margin:8px 0 4px 0;
  font-size:12px;
  font-weight:700;
}

#lg-footer-mini .contact-links a,
#lg-footer-mini .contact-list a{
  color:#000;
  text-decoration:none;
}

#lg-footer-mini .contact-links a:hover,
#lg-footer-mini .contact-list a:hover{
  text-decoration:underline;
}

#lg-footer-mini .lg-fiscal{
  text-align:left;
  min-width:120px;
}
#lg-footer-mini .lg-fiscal h3{
  margin:0 0 6px 0;
  font-size:14px;
  font-weight:700;
}

#lg-footer-mini .qr-link{
  display:inline-block;
  margin-top:6px;
}

#lg-footer-mini .qr-img{
  width:110px;
  height:auto;
  display:block;
  border:1px solid #e5e5e5;
}

#lg-footer-mini .lg-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  border-top:1px solid #e5e5e5;
  padding-top:14px;
}

#lg-footer-mini .lg-links{
  font-size:13px;
}

#lg-footer-mini .lg-links a{
  color:#000;
  text-decoration:none;
}

#lg-footer-mini .lg-links a:hover{
  text-decoration:underline;
}

#lg-footer-mini .lg-social{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

#lg-footer-mini .lg-social a.lg-icon{
  width:20px !important;
  height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  font-size:0 !important;
  line-height:0 !important;
}

#lg-footer-mini .lg-social a.lg-icon svg{
  all: unset !important;
  width:20px !important;
  height:20px !important;
  display:block !important;
}

#lg-footer-mini .lg-social a.lg-icon svg path{
  fill:#000 !important;
}

@media (max-width: 1100px){
  #lg-footer-mini .lg-top{
    grid-template-columns: 1fr;
    gap:26px;
  }
  #lg-footer-mini .lg-cols{
    grid-template-columns: 1fr 1fr;
    gap:22px;
  }
}

@media (max-width: 980px){
  #lg-footer-mini .lg-top{
    grid-template-columns: 1fr;
    gap:18px;
  }
  #lg-footer-mini .lg-cols{
    grid-template-columns: 1fr 1fr;
    gap:20px;
  }
}

@media (max-width: 768px){
  #lg-footer-mini .lg-cols{
    grid-template-columns: 1fr;
  }

  #lg-footer-mini .lg-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}