.section1 .tit1,.section1 a {
  text-transform:uppercase;
  text-align:center
}
*,.parrafo12,.section1 a {
  box-sizing:border-box
}
.bloque-pasos,.cabecera,.empresa,.modal-ok,.typewriter {
  overflow:hidden
}
*,body {
  font-family:var(--font-title)
}
* {
  margin:0
}
.naranja {
  color:var(--color-accent)
}
.azul {
  color:var(--color-primary)
}
.nover {
  display:inline
}
.cabecera {
  position:relative;
  width:100%;
  height:100vh;
  background-image:url('../img/cabecera-home.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat
}
.cabecera .overlay {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.45);
  z-index:2
}
.cabecera .contenido-cabecera {
  position:relative;
  z-index:3;
  color:#fff;
  text-align:center;
  top:50%;
  transform:translateY(-50%)
}
.titular-cabecera {
  font-size:40px;
  color:#fff;
  font-weight:700;
  width:60%;
  margin:auto
}
.subtitular-cabecera {
  font-size:20px;
  color:#fff;
  font-weight:400;
  width:50%;
  margin-top:17px!important;
  margin:auto;
  line-height:28px
}
.modal-ok-backdrop {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding:20px
}
.modal-ok {
  width:min(520px,100%);
  background:#fff;
  border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  transform:translateY(0)
}
.modal-ok__head {
  padding:16px 18px;
  font-weight:700;
  border-bottom:1px solid rgba(0,0,0,.08)
}
.modal-ok__body {
  padding:18px;
  line-height:1.45
}
.modal-ok__actions {
  padding:14px 18px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  border-top:1px solid rgba(0,0,0,.08)
}
.modal-ok__btn {
  appearance:none;
  border:0;
  border-radius:10px;
  padding:10px 14px;
  cursor:pointer
}
.modal-ok__btn--primary {
  background:#111;
  color:#fff
}
.modal-ok__btn--ghost {
  background:rgba(0,0,0,.06);
  color:#111
}
.boton-comenzamos-servicios:hover,.boton-comenzamos:hover,.top-section,.ventana-comenzamos .btn-llamame:hover {
  background:var(--color-primary)
}
.empresa {
  width:100%;
  height:auto;
  position:relative;
  padding-bottom:80px
}
.section1,.section2 {
  min-height:480px;
  height:auto;
  position:relative;
  font-family:Raleway,sans-serif;
  padding-top:60px;
  padding-bottom:60px;
  box-sizing:border-box
}
.bloque-fenie-energia,.mi-noticias {
  font-family:Arial,Helvetica,sans-serif
}
.content-container {
  position:relative;
  clip:auto;
  pointer-events:auto
}
.content-inner {
  position:relative;
  top:0;
  left:0;
  right:0;
  height:auto;
  padding:0 0 40px;
  z-index:99;
  transform:none;
  backface-visibility:visible;
  perspective:none
}
.content-center {
  position:relative;
  width:90%;
  max-width:1200px;
  margin:0 auto;
  text-align:center;
  padding-top:20px;
  box-sizing:border-box
}
.content-center img {
  width:300px;
  margin-bottom:30px;
  margin-top:0
}
.top-section {
  padding-bottom:80px
}
.bottom-section {
  background:#f2f2f2;
  padding-bottom:80px
}
.logo-blanco-bottom-section {
  display:inherit;
  margin:20px auto 30px;
  max-width:100%;
  height:auto!important
}
.titular-empresa-dark,.titular-empresa-light {
  font-size:20px!important;
  margin-top:9px!important;
  margin-bottom:40px
}
.section1 .tit1 {
  font-size:50px;
  font-weight:700;
  line-height:55px
}
.section1 a {
  font-weight:700;
  letter-spacing:1px;
  padding-left:20px;
  padding-right:20px
}
.titular-empresa-light {
  color:var(--color-accent)
}
.titular-empresa-dark {
  color:#000
}
.parrafo12 {
  padding-left:50px;
  padding-right:50px;
  line-height:30px;
  text-align:justify
}
.dark,.light {
  max-width:850px;
  margin:0 auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
  line-height:35px;
  text-align:center;
  font-weight:lighter!important;
  font-size:18px;
  box-sizing:border-box
}
.light {
  color:#fff!important
}
.dark {
  color:#000!important
}
.content-theme-dark .tit1,.content-theme-light a,.content-theme-light p {
  color:#fff
}
.content-theme-dark a,.content-theme-dark p {
  color:#000
}
.content-theme-light .tit1 {
  color:#000;
  text-shadow:0 20px 40px rgba(0,0,0,.5)
}
.typewriter {
  font-weight:700;
  border-right:2px solid #fff;
  white-space:nowrap;
  font-size:15px;
  animation:.7s steps(1) infinite blink-cursor
}
@keyframes blink-cursor {
  0%,100% {
    border-color:#fff
  }
  50% {
    border-color:transparent
  }
}
.bloque-pasos {
  height:auto;
  width:80%;
  max-width:1000px;
  margin:auto;
  padding:40px 0 30px;
  box-sizing:border-box
}
.caja-pasos {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  text-align:center;
  gap:40px;
  margin-bottom:30px
}
.card-pasos {
  width:60px;
  height:60px;
  background:var(--color-accent);
  color:#fff;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 15px
}
.boton-comenzamos,.boton-comenzamos-servicios {
  display:inline-block;
  background:var(--color-accent);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  padding:12px 30px;
  border-radius:30px;
  font-size:16px;
  transition:.7s,_ .7s;
  margin-top:40px
}
.ventana-comenzamos {
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:400px;
  height:100vh!important;
  background:#fff;
  border-radius:0 0 12px 12px;
  box-shadow:0 6px 25px rgba(0,0,0,.25);
  z-index:9999999999999999999999999999999999999999999999!important;
  display:none;
  opacity:0;
  transition:opacity .3s;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch
}
.marcas,.mi-noticias,.mi-slider-viewport,.noticias,.servicios {
  position:relative
}
.marcas,.mi-img,.noticias,.servicios {
  overflow:hidden
}
.ventana-comenzamos.mostrar {
  display:block;
  opacity:1;
  transform:translate(-50%,-10px)
}
.ventana-comenzamos .ventana-header {
  background:var(--color-primary);
  color:#fff;
  font-weight:700;
  padding:12px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:16px
}
.ventana-comenzamos .ventana-header button {
  background:0 0;
  border:none;
  color:#fff;
  font-size:20px;
  cursor:pointer;
  line-height:1
}
.ventana-comenzamos .ventana-contenido {
  padding:20px;
  font-size:14px;
  color:#333
}
.ventana-comenzamos .titulo {
  font-weight:700;
  color:var(--color-primary);
  margin-bottom:6px;
  text-align:center
}
.ventana-comenzamos .telefono-principal {
  font-size:20px;
  font-weight:700;
  color:var(--color-primary);
  margin-bottom:15px;
  text-align:center
}
.ventana-comenzamos form input,.ventana-comenzamos form textarea {
  width:100%;
  padding:10px;
  border:1px solid #ccc;
  border-radius:6px;
  margin-bottom:12px;
  font-family:var(--font-title);
  resize:none
}
.ventana-comenzamos .btn-llamame {
  width:100%;
  background:var(--color-accent);
  color:#fff;
  border:none;
  border-radius:6px;
  padding:10px 0;
  font-weight:700;
  cursor:pointer;
  transition:background .25s
}
.punto.activo,.slide .avatar {
  background:var(--color-accent)
}
.servicios {
  width:100%;
  height:auto;
  padding-top:100px
}
.titular-servicios {
  font-size:40px;
  font-weight:700;
  color:var(--color-primary);
  text-align:center;
  width:34%!important;
  margin:auto
}
.titular-servicios-servicios {
  font-size:34px;
  font-weight:700;
  color:var(--color-primary);
  text-align:center;
  width:64%!important;
  margin:auto
}
.subtitular-servicios-servicios {
  font-size:16px;
  font-weight:400;
  color:var(--color-primary);
  text-align:center;
  width:64%!important;
  margin:20px auto;
  line-height:26px
}
.contenedor-cards {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:40px;
  width:98%;
  margin:40px auto 0
}
.card-servicio {
  background:#f7f7f7;
  border-radius:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
  text-align:center;
  padding:25px 20px 40px;
  transition:transform .3s,box-shadow .3s
}
.mi-card,.slide .contenido {
  text-align:left
}
.card-servicio:hover {
  transform:translateY(-5px);
  box-shadow:0 6px 20px rgba(0,0,0,.15)
}
.img-servicio {
  width:100%;
  height:200px;
  background-color:#ddd;
  border-radius:10px;
  margin-bottom:20px;
  background-size:cover;
  background-position:center
}
.img-servicio img {
  width:100%;
  height:200px;
  object-fit:cover
}
.card-servicio h3 {
  font-size:18px;
  font-weight:700;
  color:var(--color-primary);
  margin-bottom:10px;
  height:45px;
  line-height:22px;
  margin-top:35px
}
.card-servicio p {
  font-size:15px;
  color:#444;
  line-height:1.6;
  height:70px
}
.marcas {
  width:100%;
  height:auto;
  margin-top:120px;
  background-color:#f2f2f2;
  padding-top:60px;
  padding-bottom:90px
}
.logos-marcas {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:40px;
  margin-top:80px
}
.logos-marcas .fila {
  display:flex;
  justify-content:center;
  gap:60px;
  flex-wrap:wrap
}
.logos-marcas img {
  width:230px;
  height:auto;
  max-height:100px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 8px rgba(0,0,0,.1);
  padding:15px;
  transition:transform .3s;
  object-fit:contain
}
.logos-marcas img:hover {
  transform:scale(1.05)
}
.noticias {
  width:100%;
  height:auto;
  padding-top:120px;
  padding-bottom:0;
  box-sizing:border-box
}
.mi-noticias {
  width:90%;
  margin:0 auto!important;
  padding-bottom:100px
}
.mi-slider-viewport {
  width:100%;
  overflow:hidden
}
.mi-slider-track {
  display:flex;
  gap:30px;
  align-items:stretch;
  transition:transform .7s cubic-bezier(.22,.9,.3,1);
  will-change:transform;
  padding:0 15px
}
.mi-card {
  background:#f2f2f2;
  border-radius:12px;
  padding:16px;
  flex:0 0 auto;
  display:flex;
  flex-direction:column
}
.mi-card h3 {
  font-size:20px;
  color:var(--color-primary);
  margin:0 0 6px;
  font-weight:800;
  line-height:1.2
}
.mi-card h4 {
  font-size:15px;
  color:var(--color-accent);
  margin:0 0 10px;
  font-weight:700
}
.mi-card p {
  font-size:15px;
  color:#333;
  margin:0 0 12px;
  line-height:1.4;
  flex:1 0 auto
}
.mi-leer {
  background:var(--color-primary);
  color:#fff;
  padding:7px 12px;
  border-radius:22px;
  text-decoration:none;
  display:inline-block;
  width:120px;
  text-align:center
}
.mi-img,.mi-img img {
  height:290px;
  border-radius:10px
}
.mi-img {
  width:100%;
  margin-bottom:12px
}
.mi-img img {
  width:100%
}
.bloque-fenie-energia {
  width:100%;
  padding:60px 0;
  background:linear-gradient(135deg,#fff 0,#eaf6ec 100%)
}
.fenie-energia {
  width:90%;
  max-width:1300px;
  margin:auto;
  display:flex;
  gap:50px;
  align-items:flex-start
}
.fenie-energia-left,.fenie-energia-right {
  width:50%
}
.fenie-logo {
  width:280px;
  height:auto!important;
  margin-bottom:40px
}
.fenie-title {
  font-size:22px;
  color:#008f3a;
  margin-bottom:15px;
  font-weight:700
}
.fenie-features ul {
  list-style:none;
  padding:0
}
.fenie-features ul li {
  font-size:17px;
  padding:8px 0 8px 25px;
  position:relative
}
.fenie-features ul li::before {
  content:"";
  width:9px;
  height:9px;
  background:#008f3a;
  border-radius:50%;
  position:absolute;
  left:0;
  top:14px
}
.imagen-factura {
  width:100%;
  height:210px
}
.imagen-factura img {
  width: 80%;
  max-width: 320px;
  height: auto;
  max-height: 210px;
  object-fit: contain;
}
.fenie-energia-right h2 {
  font-size:28px;
  margin-bottom:20px;
  color:#003d1e
}
.fenie-energia-right p {
  font-size:16px;
  line-height:1.6;
  margin-bottom:20px
}
.fenie-box {
  background:#fff;
  border:1px solid #d6e8da;
  padding:25px;
  border-radius:12px;
  box-shadow:0 4px 20px rgba(0,0,0,.06)
}
.fenie-box h4 {
  font-size:22px;
  color:#008f3a;
  margin-bottom:10px
}
.boton-fenie {
  width:180px;
  height:40px;
  background-color:#327326;
  color:#fff;
  text-align:center;
  line-height:39px;
  border-radius:9px;
  margin-top:10px
}
.resenas,.slider-resenas {
  position:relative;
  width:100%;
  height:auto;
  overflow:hidden
}
.resenas {
  padding-top:100px;
  padding-bottom:60px;
  background: var(--bg-primary);
}
.slider-resenas {
  margin:0 auto;
  min-height:400px;
  padding-bottom:12px
}
.controles,.slide {
  position:absolute;
  left:50%;
  display:flex
}
.slide {
  top:0;
  width:70%;
  margin-left:-35%;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s,transform .6s;
  align-items:flex-start;
  justify-content:center;
  gap:25px;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(15, 23, 42, 0.08);
  padding:30px 40px;
  border-radius:16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  position: relative;
}
.google-badge-container {
  position: absolute;
  top: 25px;
  right: 30px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.google-logo {
  display: flex;
  align-items: center;
  font-family: 'Outfit', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 13.5px;
  line-height: 1;
}

.google-logo .g-text-g { color: #4285F4; }
.google-logo .g-text-o1 { color: #EA4335; }
.google-logo .g-text-o2 { color: #FBBC05; }
.google-logo .g-text-g2 { color: #4285F4; }
.google-logo .g-text-l { color: #34A853; }
.google-logo .g-text-e { color: #EA4335; }

.verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 10px;
  color: #10B981;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(16, 185, 129, 0.06);
  padding: 3px 8px;
  border-radius: 20px;
  border: 1px solid rgba(16, 185, 129, 0.15);
  line-height: 1;
}
.slide.activo {
  opacity:1;
  transform:translateY(0);
  z-index:2
}
.slide .avatar {
  width:70px;
  height:70px;
  border-radius:50%;
  background: #EFF6FF;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color: #1D4ED8;
  font-weight:700;
  flex-shrink:0;
  border: 1px solid rgba(29, 78, 216, 0.1);
}
.slide .contenido h3 {
  margin:0 0 10px;
  font-size:20px;
  color: var(--color-primary);
  font-family: var(--font-title);
  font-weight: 700;
  padding-right: 160px;
}
.slide .contenido p {
  font-size:15px;
  line-height:1.6;
  color: var(--text-main);
  font-family: var(--font-body);
}
.controles {
  bottom:80px;
  transform:translateX(-50%);
  gap:12px
}
.punto {
  width:12px;
  height:12px;
  border-radius:50%;
  background: rgba(15, 23, 42, 0.15);
  cursor:pointer;
  transition:background .3s
}
.punto.activo {
  background: var(--color-accent) !important;
}
.titular-resenas {
  font-size:40px;
  font-weight:700;
  color: var(--color-primary);
  text-align:center;
  font-family: var(--font-title);
}
.localidad {
  font-size: 12px;
  color: var(--text-muted);
  margin:-7px 0 8px;
  font-family: var(--font-body);
  padding-right: 160px;
}
.estrellas {
  color: #F59E0B;
  font-size:16px;
  margin-bottom:10px;
  margin-top:-7px
}
.estrellas span {
  margin-right:2px
}
.contacto {
  width:100%;
  height:400px;
  background:url('../img/fondo-salon.webp') center center/cover no-repeat;
  display:block
}
.caja-contacto {
  width:80%;
  height:auto;
  margin:auto
}
.contacto-left,.contacto-medio,.contacto-right {
  height:350px;
  float:left;
  display:flex;
  align-content:center
}
.contacto-left {
  width:30%;
  align-items:center;
  flex-direction:column
}
.titulo-contacto-left {
  font-size:30px;
  font-weight:700;
  line-height:37px;
  color:var(--color-accent);
  text-align:center
}
.contacto-medio {
  width:50%;
  align-items:center;
  flex-direction:column;
  font-size:19px;
  line-height:27px
}
.contacto-right {
  width:20%;
  justify-content:center;
  align-items:center
}
.mensaje-ok {
  background:#e6f6ee;
  color:#0a5c3a;
  padding:12px;
  border-radius:6px;
  margin-bottom:15px!important;
  font-weight:600;
  width:460px;
  margin:auto
}
@media (min-width:300px) and (max-width:1024px) {
  .section1,.section2 {
    font-family:Raleway,sans-serif
  }
  .boton-banner1,.btn-hablamos-contacto a {
    background-color:var(--color-accent);
    text-decoration:none
  }
  .nover {
    display:none
  }
  .cabecera {
    width:100%;
    height:100vh;
    position:relative;
    overflow:hidden;
    background-image:url('../img/cabecera-home-movil.webp');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat
  }
  .titular-cabecera {
    font-size:33px;
    color:#fff;
    font-weight:700;
    width:60%;
    margin:auto
  }
  .subtitular-cabecera {
    font-size:17px;
    color:#fff;
    font-weight:400;
    width:80%;
    margin-top:17px!important;
    margin:auto;
    line-height:29px
  }
  .boton-banner1,.section1 .tit1,.section1 a {
    font-weight:700;
    text-align:center
  }
  .boton-banner1 {
    display:inline-block;
    color:#fff;
    font-size:16px;
    padding:12px 25px;
    border-radius:25px;
    cursor:pointer;
    transition:.7s,_ .7s;
    margin-top:10px
  }
  .boton-banner1:hover,.btn-hablamos-contacto a:hover {
    background-color:var(--color-primary);
    transform:translateY(-2px)
  }
  .slide-controles {
    position:absolute;
    top:50%;
    width:100%;
    display:flex;
    justify-content:space-between;
    transform:translateY(-50%);
    z-index:10;
    pointer-events:none;
    padding:0 20px
  }
  .content-inner,.empresa,.section1,.section2 {
    position:relative
  }
  .slide-controles .flecha {
    color:var(--color-accent);
    font-size:48px;
    cursor:pointer;
    pointer-events:auto;
    transition:transform .2s
  }
  .slide-controles .flecha:hover {
    transform:scale(1.2)
  }
  .empresa {
    width:100%;
    height:auto;
    overflow:hidden
  }
  .section1 {
    height:auto;
    min-height:400px;
    padding-top:40px;
    padding-bottom:40px
  }
  .section2 {
    height:auto;
    min-height:400px;
    padding-top:40px;
    padding-bottom:40px
  }
  .content-container {
    position:relative;
    clip:auto;
    pointer-events:auto
  }
  .content-inner {
    top:0;
    left:0;
    right:0;
    height:auto;
    padding:0 0 40px;
    z-index:99;
    transform:none;
    backface-visibility:visible;
    perspective:none
  }
  .content-center,.servicios {
    left:50%;
    transform:translateX(-50%)
  }
  .content-center {
    position:relative !important;
    top:0 !important;
    left:0 !important;
    transform:none !important;
    width:95% !important;
    text-align:center;
    padding-top:20px !important;
    margin:0 auto !important
  }
  .content-center img {
    width:300px;
    margin-bottom:30px;
    margin-top:0
  }
  .top-section {
    background:var(--color-primary)
  }
  .bottom-section {
    background:#f2f2f2
  }
  .marcas,.servicios {
    background-color:#fff;
    position:relative;
    overflow:hidden
  }
  .logo-blanco-bottom-section {
    display:inherit;
    margin:20px auto 30px;
    max-width:280px !important;
    width:100% !important;
    height:auto!important
  }
  .section1 .tit1 {
    font-size:50px;
    text-transform:uppercase;
    line-height:55px
  }
  .section1 a {
    letter-spacing:1px;
    text-transform:uppercase;
    padding-left:20px;
    padding-right:20px;
    box-sizing:border-box
  }
  .titular-empresa-light {
    font-size:18px!important;
    margin-top:-15px!important;
    margin-bottom:40px;
    color:var(--color-accent);
    font-family:fuente;
    line-height:25px
  }
  .titular-empresa-dark {
    font-size:20px!important;
    margin-top:9px!important;
    margin-bottom:40px;
    color:#333
  }
  .dark,.light {
    font-size:18px;
    box-sizing:border-box;
    font-weight:lighter!important
  }
  .parrafo12 {
    padding-left:50px;
    padding-right:50px;
    box-sizing:border-box;
    line-height:30px;
    text-align:justify
  }
  .light {
    padding-left:10px !important;
    padding-right:10px !important;
    color:#fff!important;
    line-height:30px;
    text-align:center
  }
  .dark {
    padding-left:10px !important;
    padding-right:10px !important;
    color:#000!important;
    line-height:35px;
    text-align:center
  }
  .typewriter {
    font-weight:700;
    border-right:2px solid #fff;
    white-space:normal;
    overflow:hidden;
    font-size:15px;
    animation:.7s steps(1) infinite blink-cursor;
    padding-right:8px;
    width:98%;
    float:left
  }
  .content-theme-dark .tit1,.content-theme-light a,.content-theme-light p {
    color:#fff
  }
  .content-theme-dark a,.content-theme-dark p {
    color:#000
  }
  .content-theme-light .tit1 {
    color:#000;
    text-shadow:0 20px 40px rgba(0,0,0,.5)
  }
  @keyframes blink-cursor {
    0%,100%,50% {
      border-color:transparent
    }
  }
  .bloque-pasos {
    width:100%;
    padding:10px 0;
    margin-top:-20px!important;
    overflow:hidden
  }
  .caja-pasos {
    flex-direction:column;
    gap:10px;
    margin-bottom:19px
  }
  .caja-pasos>div {
    flex:none;
    width:100%;
    margin-bottom:5px
  }
  .card-pasos {
    width:35px;
    height:35px
  }
  .boton-comenzamos {
    font-size:15px;
    padding:10px 25px;
    margin-top:-50px!important
  }
  .altura-boton-comenzamos-empresa {
    margin-top:60px
  }
  .boton-comenzamos-servicios {
    font-size:15px;
    padding:10px 25px;
    margin-top:40px!important
  }
  .servicios {
    width:98%;
    height:auto;
    padding-bottom:70px;
    margin-top:50px!important;
    padding-top:5px
  }
  .titular-servicios,.titular-servicios-servicios {
    font-size:28px;
    font-weight:700;
    margin:auto
  }
  .titular-servicios {
    color:var(--color-primary);
    text-align:center;
    width:70%!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box
  }
  .subtitular-servicios-servicios,.titular-servicios-servicios {
    width:90%!important;
    padding-left:0!important;
    padding-right:0!important;
    color:var(--color-primary);
    box-sizing:border-box;
    text-align:center
  }
  .subtitular-servicios-servicios {
    font-size:16px;
    font-weight:400;
    margin:20px auto
  }
  .card-servicio h3 {
    font-size:20px;
    font-weight:700;
    color:var(--color-primary);
    margin-bottom:10px;
    height:auto;
    line-height:22px
  }
  .card-servicio p {
    font-size:16px;
    color:#444;
    line-height:1.6
  }
  .contenedor-cards {
    grid-template-columns:1fr;
    width:100%
  }
  .marcas {
    width:100%;
    height:auto;
    padding-bottom:50px;
    margin-top:0!important;
    padding-top:10px
  }
  .logos-marcas .fila {
    display: contents !important;
  }
  .logos-marcas {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px 10px !important;
    justify-items: center !important;
    align-items: center !important;
    margin-top: 40px !important;
  }
  .logos-marcas img {
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    padding: 8px !important;
    width: 100% !important;
    max-width: 95px !important;
    height: 50px !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
    transition: transform 0.25s ease !important;
  }
  .logos-marcas img[src*="marca-saunier-duval"] {
    padding: 4px !important;
  }
  .logos-marcas img[src*="bosh"] {
    padding: 4px !important;
  }
  .logos-marcas img[src*="baxi"] {
    padding: 12px 6px !important;
  }
  .logos-marcas img[src*="ariston"] {
    padding: 12px 6px !important;
  }
  .logos-marcas img[src*="fondital"] {
    padding: 11px 6px !important;
  }
  .noticias {
    width:100%;
    height:auto;
    overflow:hidden;
    position:relative;
    padding-top:40px;
    padding-bottom:0;
    box-sizing:border-box;
    margin-top:0;
    background-color:#f2f2f2;
    padding-left:4.5%;
    box-sizing:border-box
  }
  .mi-noticias {
    width:100%;
    margin:0 auto!important
  }
  .mi-slider-track {
    justify-content:flex-start
  }
  .mi-card {
    flex:0 0 100%;
    width:100%;
    margin:0
  }
  .mi-img {
    width:100%;
    height:200px;
    overflow:hidden;
    border-radius:10px;
    margin-bottom:10px
  }
  .resenas,.slider-resenas {
    width:100%;
    height:auto;
    position:relative
  }
  .mi-img img {
    width:100%;
    height:200px;
    object-fit:cover
  }
  .mi-card h3 {
    font-size:18px;
    line-height:1.3;
    margin-bottom:6px
  }
  .mi-card h4 {
    font-size:14px;
    margin-bottom:8px
  }
  .mi-card p {
    flex:0 0 auto
  }
  .mi-leer {
    margin-top:12px;
    align-self:flex-start
  }
  .fenie-energia {
    flex-direction:column
  }
  .fenie-energia-left,.fenie-energia-right {
    width:100%
  }
  .fenie-logo {
    margin:auto;
    display:block
  }
  .fenie-title {
    font-size:19px;
    color:#008f3a;
    margin-bottom:25px;
    font-weight:700;
    text-align:center
  }
  .resenas {
    margin-top:0!important;
    background: var(--bg-primary) !important;
    padding-top:50px;
    padding-bottom:100px;
    overflow:hidden;
    text-align:center;
    color: var(--text-main) !important;
    box-sizing:border-box
  }
  .titular-resenas {
    font-size:25px!important;
    font-weight:700;
    color: var(--color-primary) !important;
    text-align:center;
    width:100%;
    padding-left:30px!important;
    padding-right:30px!important;
    box-sizing:border-box
  }
  .slider-resenas {
    margin:0 auto
  }
  .slide {
    position:absolute;
    top:0;
    left:3%;
    width:94%;
    box-sizing:border-box;
    margin:0;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s,transform .6s;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:15px;
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    padding:25px 20px;
    border-radius:16px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
  }
  .google-badge-container {
    top: 20px !important;
    right: 20px !important;
    gap: 6px !important;
    position: absolute;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
  }
  .google-logo {
    font-size: 11px !important;
  }
  .google-logo svg {
    width: 12px !important;
    height: 12px !important;
  }
  .verified-badge {
    font-size: 9px !important;
    padding: 2px 6px !important;
  }
  .slide .contenido h3 {
    padding-right: 140px !important;
  }
  .localidad {
    padding-right: 140px !important;
  }
  .slide.activo {
    opacity:1;
    transform:translateY(0);
    position:relative
  }
  .slide .avatar {
    width:50px;
    height:50px;
    border-radius:50%;
    background: #EFF6FF !important;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color: #1D4ED8 !important;
    font-weight:700;
    flex-shrink:0;
    border: 1px solid rgba(29, 78, 216, 0.1) !important;
  }
  .contacto {
    width:100%;
    height:620px;
    overflow:hidden;
    background:url('../img/fondo-salon.webp') center center/cover no-repeat;
    display:block
  }
  .caja-contacto {
    width:96%;
    height:auto;
    margin:auto;
    padding-top:50px
  }
  .contacto-left,.contacto-medio,.contacto-right {
    width:100%;
    height:auto;
    align-content:center;
    display:flex
  }
  .contacto-left {
    justify-content:center;
    align-items:center;
    flex-direction:column;
    padding:15px
  }
  .titulo-contacto-left {
    font-size:24px;
    font-weight:700;
    line-height:31px;
    color:var(--color-accent);
    text-align:center;
    padding-bottom:20px;
    padding-left:30px;
    padding-right:30px;
    box-sizing:border-box
  }
  .contacto-medio {
    overflow:hidden;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    padding:20px 20px 40px;
    font-size:19px;
    line-height:27px;
    text-align:center
  }
  .contacto-right {
    overflow:hidden;
    justify-content:center;
    align-items:center
  }
  .btn-hablamos-contacto {
    margin-left:inherit
  }
  .btn-hablamos-contacto a {
    color:#fff;
    font-weight:700;
    padding:13px 22px;
    border-radius:30px;
    font-size:14px;
    display:flex;
    align-items:center;
    gap:8px;
    transition:background-color .25s,transform .2s;
    margin-top:40px
  }
  .btn-hablamos-contacto i {
    font-size:15px
  }
  .mensaje-ok {
    background:#e6f6ee;
    color:#0a5c3a;
    padding:12px;
    border-radius:6px;
    margin-bottom:15px!important;
    font-weight:600;
    width:98%;
    margin:auto
  }
}
@media (min-width:1024px) and (max-width:1600px) {
  .servicios {
    width:100%;
    height:auto;
    overflow:hidden;
    padding-top:100px;
    position:relative;
    padding-bottom:50px
  }
  .titular-servicios-servicios {
    font-size:34px;
    font-weight:700;
    color:var(--color-primary);
    text-align:center;
    width:70%!important;
    margin:auto
  }
  .subtitular-servicios-servicios {
    font-size:16px;
    font-weight:400;
    color:var(--color-primary);
    text-align:center;
    width:70%!important;
    margin:20px auto
  }
  .contenedor-cards {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:40px;
    width:98%;
    margin:40px auto 0
  }
  .img-servicio {
    width:100%;
    height:150px
  }
  .img-servicio img {
    width:100%;
    height:150px;
    object-fit:cover
  }
  .card-servicio {
    background:#f7f7f7;
    border-radius:12px;
    box-shadow:0 4px 10px rgba(0,0,0,.1);
    text-align:center;
    padding:25px 20px 40px;
    transition:transform .3s,box-shadow .3s
  }
  .card-servicio:hover {
    transform:translateY(-5px);
    box-shadow:0 6px 20px rgba(0,0,0,.15)
  }
  .img-servicio {
    background-color:#ddd;
    border-radius:10px;
    margin-bottom:20px;
    background-size:cover;
    background-position:center
  }
  .card-servicio h3 {
    font-size:16px;
    font-weight:700;
    color:var(--color-primary);
    margin-bottom:0;
    height:45px;
    line-height:22px;
    margin-top:15px
  }
  .card-servicio p {
    font-size:15px;
    color:#444;
    line-height:1.6;
    margin-top:-10px;
    height:100px
  }
  .boton-comenzamos-servicios {
    display:inline-block;
    background:var(--color-accent);
    color:#fff;
    font-weight:700;
    text-decoration:none;
    padding:12px 30px;
    border-radius:30px;
    font-size:16px;
    transition:.7s,_ .7s;
    margin-top:20px
  }
}


/* ==========================================
   REDiseño SECCIÓN DE NOTICIAS (PREMIUM)
   ========================================== */

/* Fondo de sección y espaciado general */
.noticias {
  background-color: #f8fafc !important;
  padding-top: 100px !important;
  padding-bottom: 90px !important;
  overflow: visible !important;
}

.mi-noticias {
  width: 90% !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
  position: relative !important;
  padding-bottom: 40px !important;
}

/* Contenedor del Carrusel */
.mi-slider-container {
  position: relative !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.mi-slider-viewport {
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 10px 0 !important; /* Espacio para que la sombra hover de la tarjeta no se recorte */
  cursor: grab !important;
}

.mi-slider-viewport:active {
  cursor: grabbing !important;
}

.mi-slider-track {
  display: flex !important;
  gap: 30px !important;
  align-items: stretch !important;
  padding: 0 15px !important;
  will-change: transform !important;
}

/* Tarjeta de Noticia (Premium) */
.mi-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02), 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  padding: 24px !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
              border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
}

.mi-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(0, 68, 113, 0.15) !important;
  box-shadow: 0 20px 40px rgba(0, 68, 113, 0.08) !important;
}

/* Contenedor de Imagen de Noticia (16:10 Cinematic) */
.mi-img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  margin-bottom: 18px !important;
  position: relative !important;
}

.mi-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important; /* Evita que el navegador intente arrastrar la imagen */
}

.mi-card:hover .mi-img img {
  transform: scale(1.04) !important;
}

/* Tipografía de las Tarjetas */
.mi-card h3 {
  font-size: 19px !important;
  color: var(--color-primary) !important;
  font-weight: 700 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: 52px !important; /* Forzar misma altura en títulos */
}

.mi-card h4 {
  font-size: 13px !important;
  color: var(--color-accent) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 12px 0 !important;
}

.mi-card p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.6 !important;
  margin: 0 0 20px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: 68px !important; /* Forzar misma altura en extracto */
  flex: none !important;
}

/* Botón "Leer más" Premium (Texto con flecha deslizable) */
.mi-leer {
  background: transparent !important;
  color: var(--color-primary) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  width: auto !important;
  margin-top: auto !important; /* Pushes button to bottom */
  align-self: flex-start !important;
  transition: color 0.3s ease !important;
}

.mi-leer::after {
  content: "→" !important;
  font-family: inherit !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-block !important;
  font-weight: bold !important;
}

.mi-card:hover .mi-leer {
  color: var(--color-accent) !important;
}

.mi-card:hover .mi-leer::after {
  transform: translateX(6px) !important;
}

/* Controles de Navegación Lateral (Escritorio) */
.noticias-control {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06) !important;
  color: var(--color-primary) !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.noticias-control:hover {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(0, 68, 113, 0.15) !important;
  transform: translateY(-50%) scale(1.05) !important;
  border-color: var(--color-primary) !important;
}

.noticias-control.prev {
  left: -24px !important;
}

.noticias-control.next {
  right: -24px !important;
}

/* Puntos de Paginación (Móvil y Tablet) */
.mi-slider-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 30px !important;
}

.mi-slider-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(0, 68, 113, 0.15) !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mi-slider-dot.active {
  background: var(--color-accent) !important;
  width: 22px !important;
  border-radius: 4px !important;
}

/* ==========================================
   DISEÑO RESPONSIVO (MÓVIL Y TABLET)
   ========================================== */
@media (min-width:300px) and (max-width:1024px) {
  .noticias {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    background-color: #f8fafc !important;
  }

  .mi-noticias {
    width: 100% !important;
    padding-bottom: 30px !important;
  }

  /* Ocultar flechas laterales en pantallas táctiles */
  .noticias-control {
    display: none !important;
  }

  .mi-slider-track {
    padding: 0 15px !important;
  }

  .mi-card {
    padding: 20px !important;
  }

  .mi-card h3 {
    font-size: 17px !important;
    height: 46px !important;
  }

  .mi-card p {
    font-size: 13px !important;
    height: 60px !important;
  }

  .mi-img {
    aspect-ratio: 16 / 10 !important;
    margin-bottom: 15px !important;
  }
}

/* Color contrast fix for dark theme title */
.content-theme-dark .titular-empresa-light {
  color: var(--color-accent-hover) !important;
}