/* ============================================================
   BASE
============================================================ */
html{
  scroll-behavior: smooth;
}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background:#fdfbf8;
  color:#333;
}

/* Evitar subrayados y líneas raras en todos los enlaces */
a, a:hover, a:focus, a:active{
  text-decoration:none !important;
  outline:none !important;
  box-shadow:none !important;
}

/* ============================================================
   BARRA SUPERIOR
============================================================ */
#BARRA{
    background-color: #805415;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    padding: 10px 40px;
    position: fixed;
    width: 100%;
    z-index: 100000000000000000;
}

.barra-derecha{
    color: #ffffff;
    transition: 0.3s;
}
.barra-derecha:hover{
    color: #dd9933;
}

#BARRA span{
    padding-right: 30px;
}

#BARRA .barra-red{
    position: absolute;
    top: 7px;
    right:220px;
}
#BARRA .barra-red .barra-red-redes i {
    background-color: #dd9933;
    padding: 7px;
    color: #ffffff;
    border-radius: 20px;
    font-size: 14px;
    width: 27px;
    height: 27px;
    text-align: center;
    vertical-align: middle;
    transition: background .3s ease, color .3s ease;
}
#BARRA .barra-red .barra-red-redes i:hover{
    background-color: #ffffff;
    color:#dd9933;
}

/* Botón HABLEMOS */
#BARRA .barra-cont {
    position: absolute;
    right: 40px;
    top: 0;
    z-index: 10000;
}
#BARRA .barra-cont .barra-cont-bot{
    background-color: #dd9933;
    text-transform: uppercase;
    color: #ffffff;
    padding: 13px 30px;
    display: inline-block;
    font-weight: 600;
    font-size: 18px;
    border-radius: 0;
    transition: background .3s ease, color .3s ease;
}
#BARRA .barra-cont .barra-cont-bot:hover{
    background-color: #ffffff;
    color:#dd9933;
}

/* Móvil y Tablet */
@media (max-width: 991px){
  #BARRA{
    position: static !important;
    text-align: center;
    padding: 10px 16px;
  }
  #BARRA > span{
    display: block;
    margin: 4px 0;
    padding: 0;
  }
  #BARRA .barra-red,
  #BARRA .barra-cont{
    position: static !important;
    width: 100%;
    margin: 6px 0;
    text-align: center;
  }
  #BARRA .barra-red .barra-red-redes{
    display: inline-block;
  }
  #BARRA .barra-red .barra-red-redes i{
    margin: 0 4px;
  }
  #BARRA .barra-cont .barra-cont-bot{
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    padding: 7px 15px;
    margin-bottom: 7px;
  }
}

/* ============================================================
   NAVEGACIÓN
============================================================ */
.navg{
  background:#fff;
  border-bottom:1px solid #eee;
}
.navg-izq{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:64px;
  flex-wrap:wrap;
}
.navg-logo img{
  height:100px;
  width:auto;
  display:block;
  margin:15px 0;
}
.navg-toggle{
  display:none;
  background:none;
  border:0;
  padding:10px 8px;
  margin-left:auto;
}
.navg-toggle .icon-bar{
  display:block;
  width:22px;
  height:2px;
  margin:4px 0;
  background:#dd9933;
}
.navg-menu{
  display:flex;
  align-items:center;
  gap:18px;
}
.navg-link{
  display:inline-flex;
  align-items:center;
  font-size:17px;
  padding:10px 4px;
  color:#dd9933;
  font-weight:600;
  transition: color .3s ease;
}
.navg-link:hover, .navg-link:focus{
  color:#805415;
}
.navg-home i{ font-size:16px; }

@media (min-width:992px){
  .navg-toggle{ display:none; }
  #menuColapso{
    display:block !important;
    height:auto !important;
    visibility:visible !important;
  }
  .navg-collapse{ margin-left:auto; }
}

@media (max-width:991px){
  .navg-toggle{ display:inline-block; }
  .navg-collapse{ flex-basis:100%; }
  .navg-menu{ display:block; }
  .navg-link{
    display:block;
    padding:10px 0;
    border-top:1px solid #f3f3f3;
  }
  .navg-link:first-child{ border-top:none; }
  .navg-logo img{
    height:60px;
    margin:8px 0;
  }
}

#NAVEGACION{ padding-top:0; }
@media (min-width:768px){
  .no-js-nav-offset #NAVEGACION{ padding-top:48px; }
}

/* ============================================================
   BANNER / HERO
============================================================ */
.banner-carrusel{
  position:relative;
  width:100%;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.banner-carrusel .lightSlider{
  margin:0;
  padding:0;
  list-style:none;
}
.bn-item{
  position:relative;
  min-height:56vh;
  overflow:hidden;
}
.bn-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  z-index:1;
}
.bn-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.40);
  z-index:2;
}
.bn-content{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:64px 0;
}
.bn-box{
  max-width:820px;
  text-align:left;
  padding:0 15px;
}
.bn-title{
  font-size:42px;
  line-height:1.2;
  margin:0 0 10px;
  font-weight:700;
}
.bn-sub{
  font-size:18px;
  margin:0 0 16px;
  opacity:.95;
}
.bn-cta{
  background:#dd9933;
  color:#fff !important;
  border:none;
  border-radius:24px;
  padding:10px 18px;
  font-weight:600;
  transition: background .3s ease, color .3s ease;
}
.bn-cta:hover, .bn-cta:focus{
  background:#fff;
  color:#dd9933 !important;
}
@media (min-width:1200px){
  .bn-item{ min-height:62vh; }
}
@media (max-width:991px){
  .bn-item{ min-height:52vh; }
}
@media (max-width:767px){
  .bn-item{ min-height:44vh; }
  .bn-content{
    justify-content:center;
    padding:40px 0;
  }
  .bn-box{
    text-align:center;
    max-width:90%;
  }
  .bn-title{ font-size:28px; }
  .bn-sub{
    font-size:15px;
    margin-bottom:14px;
  }
}
.lSSlideOuter, .lSSlideWrapper{ height:100%; }
.lSSlideOuter .lightSlider{ overflow:visible; }

/* ============================================================
   QUIÉNES SOMOS / PROPUESTA
============================================================ */
.prop-section{
  background:#fff;
  padding:50px 0;
  border-top:1px solid #f1f1f1;
  border-bottom:1px solid #f1f1f1;
}
.prop-text{ color:#333; }
.prop-title{
  font-size:30px;
  font-weight:700;
  margin:0 0 10px;
  color:#805415;
}
.prop-sub{
  font-size:17px;
  color:#555;
  margin:0 0 14px;
}
.prop-video .embed-responsive{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  background:#000;
}
@media (max-width:767px){
  .prop-section{ padding:36px 0; }
  .prop-text{ text-align:center; }
  .prop-title{ font-size:24px; }
  .prop-sub{ font-size:16px; }
  .prop-video{ margin-top:14px; }
}

/* ============================================================
   MISIÓN
============================================================ */
.mision-section{
  background:#fdf7f0;
  padding:50px 0;
}
.mision-title{
  font-size:30px;
  font-weight:700;
  margin:0 0 14px;
  color:#805415;
}
.mision-text{
  font-size:17px;
  color:#444;
  line-height:1.6;
}
.mision-card{
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
  border:1px solid #f1e2cc;
}
.mision-icon{
  font-size:30px;
  color:#dd9933;
  margin-bottom:8px;
}
.mision-card p{
  margin:0;
  font-size:15px;
  color:#555;
}
@media (max-width:767px){
  .mision-section{ padding:40px 0; }
  .mision-title{
    text-align:center;
  }
  .mision-text{
    text-align:center;
    margin-bottom:16px;
  }
  .mision-card{ margin-top:10px; }
}

/* ============================================================
   SERVICIOS
============================================================ */
.servicios-section{
  background:#fff;
  padding:50px 0 60px;
}
.servicios-title{
  font-size:30px;
  font-weight:700;
  margin-bottom:6px;
  color:#805415;
}
.servicios-intro{
  max-width:620px;
  margin:0 auto 30px;
  color:#555;
  font-size:16px;
}
.serv-card{
  background:#ffffff;
  border-radius:18px;
  padding:20px 18px 22px;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
  border:1px solid #f3e3cf;
  margin-bottom:20px;
  text-align:center;
  transition:transform .15s ease, box-shadow .15s ease;
}
.serv-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}
.serv-icon-wrap{
  width:54px;
  height:54px;
  border-radius:50%;
  margin:0 auto 10px;
  background:rgba(221,153,51,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.serv-icon{
  font-size:24px;
  color:#dd9933;
}
.serv-card-title{
  font-size:18px;
  font-weight:700;
  margin-bottom:6px;
  color:#805415;
}
.serv-card-text{
  font-size:14px;
  color:#555;
  margin:0;
}

/* ============================================================
   INFORMATICO PDF
============================================================ */
.informativo-section{
  background:#fdfbf8;
  padding:40px 0 50px;
  border-top:1px solid #f3f3f3;
}
.informativo-title{
  font-size:26px;
  font-weight:700;
  margin-bottom:8px;
  color:#805415;
}
.informativo-text{
  max-width:640px;
  margin:0 auto 16px;
  font-size:15px;
  color:#555;
}
.informativo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 20px;
  border-radius:24px;
  background:#dd9933;
  color:#fff;
  font-weight:600;
  font-size:15px;
  transition:background .3s ease, transform .15s ease;
}
.informativo-btn i{
  font-size:17px;
}
.informativo-btn:hover{
  background:#c78429;
  color:#fff;
  transform:translateY(-1px);
}

/* ============================================================
   CONTACTO MINI
============================================================ */
.contacto-mini{
  background:#fdfbf8;
  padding:40px 0;
  border-top:1px solid #f3f3f3;
  border-bottom:1px solid #f3f3f3;
}
.contacto-title{
  font-size:24px;
  font-weight:700;
  color:#805415;
  margin:0 0 10px;
}
.contacto-text{
  font-size:16px;
  color:#555;
  margin:0;
}
.contacto-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.contacto-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:9px 16px;
  border-radius:24px;
  font-weight:600;
  text-decoration:none;
  font-size:14px;
  transition: background .3s ease, color .3s ease, transform .15s ease;
}
.contacto-btn i{ font-size:15px; }
.contacto-btn-primary{
  background:#dd9933;
  color:#fff;
}
.contacto-btn-primary:hover{
  background:#c78429;
  color:#fff;
  transform:translateY(-1px);
}
.contacto-btn-secondary{
  background:#25d366;
  color:#fff;
}
.contacto-btn-secondary:hover{
  background:#1fb058;
  color:#fff;
  transform:translateY(-1px);
}
@media (max-width:767px){
  .contacto-row{
    text-align:center;
  }
  .contacto-actions{
    align-items:center;
    margin-top:14px;
  }
}

/* ============================================================
   FOOTER
============================================================ */
.site-footer{
  background:#fafafa;
  border-top:2px solid #eee;
  color:#333;
  padding:50px 0 0;
  font-size:15px;
}
.footer-top{ margin-bottom:20px; }
.footer-title{
  font-weight:700;
  color:#805415;
  margin:0 0 14px;
  text-transform:uppercase;
  font-size:17px;
}

/* Mapa */
.footer-map{
  position:relative;
  width:100%;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,.1);
  background:#e9ecef;
  margin-bottom:12px;
}
.footer-map iframe{
  width:100%;
  height:280px;
  border:0;
  display:block;
}

/* Botones mapa */
.footer-map-actions{ text-align:center; }
.btn-map{
  display:inline-block;
  padding:9px 16px;
  border-radius:22px;
  font-weight:600;
  text-decoration:none;
  margin:0 6px 6px;
  transition:background .2s ease, color .2s ease, transform .15s ease;
}
.btn-map-primary{
  background:#dd9933;
  color:#fff;
}
.btn-map-primary:hover{
  background:#c78429;
  color:#fff;
  transform:translateY(-1px);
}
.btn-map-secondary{
  background:#805415;
  color:#fff;
}
.btn-map-secondary:hover{
  background:#6c4512;
  color:#fff;
  transform:translateY(-1px);
}

/* Contacto footer */
.footer-info{
  list-style:none;
  padding:0;
  margin:0;
}
.footer-info li{
  margin-bottom:8px;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.footer-info i{
  color:#dd9933;
  margin-top:2px;
}
.footer-mail-sec{
  margin-left:23px;
  display:inline-block;
}

/* Redes */
.footer-social-box{
  background:#fff;
  border-radius:16px;
  padding:16px 14px 18px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border:1px solid #f1e2cc;
}
.footer-social-text{
  font-size:14px;
  color:#555;
  margin:0 0 12px;
}
.footer-redes{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom:12px;
}
.footer-redes a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#dd9933;
  color:#fff;
  font-size:17px;
  transition:background .2s ease, transform .15s ease;
}
.footer-redes a:hover{
  background:#805415;
  transform:translateY(-1px);
}
.footer-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:10px;
}
.footer-logo img{
  max-width:90px;
  opacity:.95;
  display:block;
}

/* Franja inferior */
.footer-bottom{
  background:#eee;
  margin-top:30px;
  padding:12px 0;
  font-size:14px;
  color:#555;
}

/* Responsive footer */
.text-center-sm{ text-align:left; }
@media (max-width:767px){
  .site-footer{ padding:36px 0 0; }
  .footer-title, .text-center-sm{ text-align:center; }
  .footer-info li{
    justify-content:center;
    text-align:left;
  }
  .footer-info li i{
    margin-top:3px;
  }
  .footer-map iframe{ height:240px; }
  .btn-map{ display:block; margin:6px auto; max-width:260px; }
  .footer-social-box{ margin-top:16px; }
}
