/** UTILIDADES **/
:root {
    /* Paleta Champagne Elegante */
    --color-champagne-claro: #E8DCC4;
    --color-champagne: #D4C4A8;
    --color-bronce: #B8956C;
    --color-cafe-dorado: #8B7355;
    --color-caoba: #3D2319;
    --color-caoba-claro: #5C3D2E;

    /* Colores de acento */
    --color-crema: #FAF6F0;
    --color-negro-suave: #1A1512;

    /* Variables legacy (mantener compatibilidad) */
    --bg-color: #8B7355;
    --boton-up: #B8956C;
  }
  
  .centrar-flex-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 15px;
  }
  
  html {
    background-color: var(--color-cafe-dorado);
  }
  
  img {
    /* display: block; */
    height: auto;
    max-width: 100%;
    width: 100%;
  }
  
  .img {
    margin: 0 auto;
    max-width: 23rem;
  }

  
  .arabesco {
    max-width: 30%;

  }
  
  section {
    outline: var(--marco);
    background-position: center;
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: center;
  }
  
  .divider {
    height: 95px;
  }
  
  .container {
    outline: var(--marco2);
    max-width: 1140px;
  }
  
  @media (max-width: 576px) {
    .container {
      width: 100%;
    }
  }
  .contenedor {
    outline: var(--marco3);
  }
  
  /*** BOTON LLAMADA Ocultar para todas las pantallas excepto moviles ***/
  @media (min-width: 769px) {
    .pulse-wr {
      display: none;
    }
    .bton.btn-lg.llamar {
      display: none;
    }
    .bton.btn-lg {
      display: block;
    }
    .bton.btn-lg i {
      font-size: 25px;
    }
  }
  /* Mostrar solo en pantallas moviles */
  @media (max-width: 768px) {
    .pulse-wr {
      display: block;
      position: fixed;
      bottom: 40px;
      left: 13px;
      width: 4.8rem;
      z-index: 1000;
      background: transparent;
    }
    .bton.btn-lg.llamar {
      display: block;
    }
    .bton.btn-lg {
      display: none;
    }
  }
  /** FIN BOTON LLAMADA ***/
  .barra-superior {
    /* Paleta Champagne Elegante */
    background: linear-gradient(to right,
      var(--color-caoba) 0%,
      var(--color-bronce) 19%,
      var(--color-champagne) 37%,
      var(--color-champagne-claro) 50%,
      var(--color-champagne) 64%,
      var(--color-bronce) 82%,
      var(--color-caoba) 100%
    );
  }
  
  .info-superior {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 1.1rem;
    font-size: 20px;
    gap: 10px;
  }
  
  @media (max-width: 992px) {
    .info-superior {
      grid-template-columns: unset;
    }
  }
  @media (max-width: 900px) {
    .menuzord-responsive .menuzord-brand {
      margin: 16px 0 10px 20px;
    }
  }
  @media (max-width: 576px) {
    .info-superior {
      font-size: 18px;
    }
  }
  .reloj {
    grid-column: 1/2;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  @media (max-width: 992px) {
    .reloj {
      margin-bottom: 8px;
    }
  }
  .reloj i {
    margin-right: 5px;
  }
  
  .info-barra {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
  }
  
  .info-barra a {
    color: rgb(0, 0, 0);
    padding: 8px;
    transition-duration: 0.3s;
    outline: var(--marco3);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  .info-barra a:hover {
    color: var(--fondo-naranja, white);
    background-color: var(--fondo-verde, rgb(0, 0, 0));
    opacity: 0.6;
    padding: 8px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
  }
  
  @media (max-width: 576px) {
    .info-barra a,
    .info-barra a:hover {
      padding: 0;
    }
    .info-barra a:hover {
      background-color: unset;
      opacity: unset;
    }
  }
  .redes a {
    display: flex;
    align-items: center;
    transition-duration: 0.2s;
    color: rgb(6, 7, 0);
  }
  
  @media (max-width: 576px) {
    .redes a {
      flex-direction: column;
    }
  }
  .redes i {
    margin-right: 5px;
    font-size: 25px;
  }
  
  @media (max-width: 576px) {
    .redes i {
      margin-right: 0;
    }
  }
  /************* MENU *****************/
  nav ul li.active {
    background-color: unset;
  }
  
  .header-nav .contenedor-nav nav {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
  }
  
  @media (max-width: 900px) {
    .header-nav .contenedor-nav nav {
      display: block;
    }
  }
  .header-nav a {
    text-transform: uppercase;
  }
  
  .menuzord a {
    transition: color 0.2s linear, background 0.2s linear;
    -webkit-transition: color 0.2s linear, background 0.2s linear;
    -moz-transition: color 0.2s linear, background 0.2s linear;
    -ms-transition: color 0.2s linear, background 0.2s linear;
    -o-transition: color 0.2s linear, background 0.2s linear;
  }
  
  .menuzord.blue .menuzord-menu > li.active > a, .container .contenedor-info .bton.btn-lg {
    background: linear-gradient(to bottom, var(--color-caoba) 0%, var(--color-bronce) 19%, var(--color-champagne) 37%, var(--color-champagne-claro) 50%, var(--color-champagne) 64%, var(--color-bronce) 82%, var(--color-caoba) 100%);
    color: var(--color-negro-suave);
    border-radius: 5px;
  }

  .menuzord.blue .menuzord-menu > li.active > a:hover {
    color: var(--color-crema);
  }

  .menuzord.blue .menuzord-menu > li:hover > a {
    background: linear-gradient(135deg, var(--color-caoba) 0%, var(--color-cafe-dorado) 100%);
    border-radius: 5px;
  }
  
  .header-nav-wrapper {
    border-bottom: 3px inset rgba(152, 149, 139, 0.61);
    box-shadow: rgba(0, 0, 0, 0.85) 0px 8px 20px 0px;
    z-index: 1 !important;
  }
  
  .header-nav .header-nav-wrapper .menuzord {
    height: 80px;
  }

  @media (max-width: 900px) {
    .header-nav .header-nav-wrapper .menuzord {
      height: auto;
      min-height: 70px;
    }
  }
  
  ul .li {
    text-align: center;
  }
  
  @media (min-width: 768px) {
    ul .li {
      text-align: right;
      margin-right: 20px;
    }
  }
  @media (min-width: 901px) {
    .menuzord .showhide {
      display: none !important;
    }
  }
  @media (max-width: 900px) {
    .menuzord .showhide {
      display: block !important;
      padding: 30px 20px 0 0;
    }

    /* Estilos del menú desplegable en móvil */
    .menuzord-menu {
      background-color: var(--color-negro-suave);
    }

    .menuzord-menu > li > a {
      color: var(--color-champagne) !important;
      border-bottom: 1px solid rgba(212, 196, 168, 0.2) !important;
      padding: 15px 20px !important;
    }

    .menuzord-menu > li > a:hover,
    .menuzord-menu > li.active > a {
      background: linear-gradient(to right, var(--color-caoba), var(--color-cafe-dorado)) !important;
      color: var(--color-crema) !important;
    }

    /* Logo centrado en móvil */
    .menuzord-brand {
      display: block;
      text-align: center;
      float: none !important;
      margin: 10px auto !important;
    }

    .menuzord-brand img {
      max-width: 180px;
      height: auto;
    }
  }
  /******* FIN MENU ***********/

  /************** hero HEADER ***********/
  .hero-header {
    background-image: url(../images/bg/trompeta.webp);
    background-position-x: center;
    background-position-y: center;
    background-repeat: no-repeat;
  }
  
  .header-nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
  
  .contenedor-info {
    background-color: rgba(0, 0, 0, 0.838);
    color: rgb(255, 248, 240);
    border-radius: 22px;
    padding: 42px;
    outline: var(--marco3);
  }
  
  .contenedor-info .col {
    outline: var(--marco4);
  }
  
  @media (max-width: 650px) {
    .contenedor-info {
      width: 90%;
      padding: 40px 30px;
    }
  }
  .hero-header .enlace-wp {
    background-color: var(--color-caoba);
    color: var(--color-champagne-claro);
    padding: 10px;
    border-radius: 6px;
    transition: background-color 0.3s ease;
  }

  .hero-header .enlace-wp:hover {
    background-color: var(--color-cafe-dorado);
  }

  .hero-header h2 {
    color: var(--color-crema);
    padding: 10px 0;
  }

  .container .bton.btn-lg {
    margin-top: 10px;
    transition: 0.2s;
    font-weight: bold;
  }

  .container .bton.btn-lg:hover {
    color: var(--color-caoba);
  }
  
  .hero-header .fa-lg {
    font-size: 25px;
    vertical-align: -22%;
  }
  
  /***    FIN hero-header  ****/

  
  /********************  VIDEO   ********************/


  .row.videos {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.linea_video {
  background: var(--bg-color);
  width: 80%;
  margin: 0 auto;
  margin-bottom: 2.5rem;
  height: .2rem;
}
.row.videos h2{
  text-align: center;
  font-size: 2.5rem;
}

@media (min-width: 357px) { 
  .row.videos h2 {
      
      font-size: 2.8rem;
  }
}
@media (min-width: 480px) { 
  .row.videos h2 {
      
      font-size: 3.2rem;
  }
}

@media (min-width: 576px) { 
  .row.videos {
      margin: 0;
  }
}

.linea_video {
  width: 80%;
  margin: 0 auto;
  margin-bottom: 2.5rem;
}

.contenido_videos {
 background-image: url('../images/white-waves.webp');
 box-shadow: 0px 14px 13px 0px rgba(0, 0, 0, 0.72);
 border-radius:1rem ;
 -webkit-border-radius:1rem ;
 -moz-border-radius:1rem ;
 -ms-border-radius:1rem ;
 -o-border-radius:1rem ;
}


.contenedor_video {
  aspect-ratio: 16/9;
  position: relative;
  /* outline: var(--marco); */
  margin: 60px 0;
}


@media (max-width: 768px) {
    .contenedor_video {
        margin: 35px 0;
      }
  }

  @media (min-width: 820px) {
      .contenedor_video {
          margin: 0;
      }

      .texto_video {
      display: flex;
      flex-direction: column;
      justify-content: center;
      }

      .texto_video h3 {
          margin: 0;
      }
  }
  .contenedor_video:last-child {
  margin-bottom: 0;
}

iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  overflow: hidden;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  -ms-border-radius: 25px;
  -o-border-radius: 25px;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.72);
}

@media (min-width: 820px) {

  .contenido_videos {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 2rem;
      align-items: center;
    }

    .video2 {
      grid-column: 2 / 3;
    }
    .tex2 {
      grid-row: 1/2;
    }

   
}

@media (min-width: 991px) { 
  .col-md-6 {
      width: unset;
  }
}

.texto_video .texto_titulo {
  margin: 2rem 0;
}


  
  /******* FIN VIDEOS ********/


  /********* STATS SECTION *********/

.stats-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 60px 0;
}

.stats-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(26, 21, 18, 0.9) 0%,
    rgba(61, 35, 25, 0.85) 50%,
    rgba(26, 21, 18, 0.9) 100%
  );
}

.stats-container {
  position: relative;
  z-index: 1;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.stat-card {
  text-align: center;
  padding: 30px 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 196, 168, 0.2);
  transition: transform 0.3s ease, background 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-8px);
  background: rgba(255, 255, 255, 0.1);
}

.stat-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    var(--color-champagne) 0%,
    var(--color-bronce) 100%
  );
  box-shadow: 0 8px 25px rgba(184, 149, 108, 0.3);
}

.stat-icon i {
  font-size: 28px;
  color: var(--color-caoba);
}

.stat-number {
  display: block;
  font-size: 42px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  font-family: 'Droid Serif', serif;
}

.stat-title {
  color: var(--color-champagne);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}

@media (max-width: 992px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .stats-section {
    padding: 40px 0;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .stat-card {
    padding: 25px 20px;
  }

  .stat-icon {
    width: 60px;
    height: 60px;
  }

  .stat-icon i {
    font-size: 24px;
  }

  .stat-number {
    font-size: 36px;
  }
}

/********* FIN STATS SECTION *********/
  /********* PRECIOS *********/
  .contenedor-precios {
    display: flex;
    flex-direction: column;
    gap: 32px;
    outline: var(--marco3);
  }
  
  .contenedor-precios .descripcion {
    outline: var(--marco4);
  }
  
  .contenedor-precios span {
    color: red;
    font-weight: 800;
  }
  
  .contenedor-precios .servicios {
    display: flex;
    justify-content: space-evenly;
  }
  
  .precio {
    border: 3px solid var(--color-champagne);
    border-radius: 10px;
    box-shadow: 0px 11px 12px 2px rgba(61, 35, 25, 0.15);
    overflow: hidden;
    width: 28%;
  }
  
  @media (max-width: 1000px) {
    .precio {
      width: 31%;
    }
  }
  @media (max-width: 820px) {
    .contenedor-precios .servicios {
      flex-wrap: wrap;
      row-gap: 30px;
    }
    .precio {
      width: 43%;
    }
  }
  @media (max-width: 576px) {
    .precio {
      width: 72%;
    }
  }
  @media (max-width: 480px) {
    .precio {
      width: 85%;
    }
  }
  @media (max-width: 393px) {
    .precio {
      width: 96%;
    }
  }
  .mariachis-precio {
    margin: 0 0 20px 0;
    padding: 20px;
    background: linear-gradient(to right, rgba(74, 34, 32, 0.9) 0%, rgba(207, 156, 79, 0.9) 19%, rgba(247, 226, 121, 0.9) 37%, rgba(247, 243, 191, 0.9) 50%, rgba(247, 226, 121, 0.9) 64%, rgba(207, 156, 79, 0.9) 82%, rgba(80, 41, 34, 0.9) 100%);
  }
  
  .mariachis-precio p:nth-child(1) {
    margin-bottom: 15px;
  }
  
  .mariachis-precio p:nth-child(2) {
    font-size: 2.5rem;
  }
  
  .mariachis-precio p {
    font-family: "Droid Serif";
    padding: 0;
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
  }
  

  
  .listado-precio {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
    margin: 25px 0 20px 0;
  }
  
  .tabla {
    text-align: center;
  }
  
  /********* FIN PRECIOS *********/
  /********* MEDIOS DE PAGO - SWIPER *********/
  #medios-pago {
    background: linear-gradient(to bottom,
      var(--color-crema) 0%,
      var(--color-champagne-claro) 25%,
      var(--color-cafe-dorado) 60%,
      var(--color-caoba) 100%
    );
    padding: 25px 0 40px;
  }

  .medios-pago__titulo {
    text-align: center;
    color: var(--color-caoba);
    margin-bottom: 20px;
    font-size: 2rem;
  }

  .medios-pago-swiper {
    width: 100%;
    padding: 10px 50px 40px;
  }

  .pago-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .pago-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  }

  .pago-card img {
    max-height: 60px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin-bottom: 10px;
  }

  .pago-card__divider {
    width: 80%;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--color-bronce), transparent);
    margin: 10px 0;
  }

  .pago-card__cuenta {
    margin: 0;
    color: var(--color-caoba);
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  /* Swiper navigation */
  .medios-pago-swiper .swiper-button-prev,
  .medios-pago-swiper .swiper-button-next {
    color: var(--color-champagne-claro);
    background: var(--color-caoba);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: background 0.3s ease;
  }

  .medios-pago-swiper .swiper-button-prev:hover,
  .medios-pago-swiper .swiper-button-next:hover {
    background: var(--color-cafe-dorado);
  }

  .medios-pago-swiper .swiper-button-prev::after,
  .medios-pago-swiper .swiper-button-next::after {
    font-size: 18px;
    font-weight: bold;
  }

  /* Swiper pagination */
  .medios-pago-swiper .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
    transition: all 0.3s ease;
  }

  .medios-pago-swiper .swiper-pagination-bullet-active {
    background: var(--color-champagne);
    transform: scale(1.2);
  }

  @media (max-width: 768px) {
    .medios-pago-swiper {
      padding: 20px 10px 50px;
    }

    .medios-pago-swiper .swiper-button-prev,
    .medios-pago-swiper .swiper-button-next {
      display: none;
    }

    .pago-card {
      height: 160px;
    }

    .pago-card__cuenta {
      font-size: 1.2rem;
    }
  }

  @media (max-width: 480px) {
    .pago-card__cuenta {
      font-size: 1rem;
    }
  }
  /********* FIN MEDIOS DE PAGO *********/
  /************** REPERTORIO ***************/
  .descripcion {
    padding: 25px;
  }
  
  .bloques-reper {
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
    outline: var(--marco2);
    margin-top: 30px;
  }
  
  .tablas-reper {
    font-family: "Droid Serif";
    font-size: 35px;
    font-weight: bold;
    color: var(--color-caoba);
    margin-top: 10px;
  }
  
  .canciones {
    border: 3px solid var(--color-champagne);
    max-width: 320px;
    width: 90%;
    text-align: center;
    border-radius: 25px;
    box-shadow: 0px 8px 15px rgba(61, 35, 25, 0.2);
    background: linear-gradient(to right,
      rgba(61, 35, 25, 0.95) 0%,
      rgba(184, 149, 108, 0.9) 19%,
      rgba(212, 196, 168, 0.9) 37%,
      rgba(232, 220, 196, 0.95) 50%,
      rgba(212, 196, 168, 0.9) 64%,
      rgba(184, 149, 108, 0.9) 82%,
      rgba(61, 35, 25, 0.95) 100%
    );
  }
  
  /* 2 */
 

  .btn-2 {
    background: linear-gradient(0deg, rgb(138, 137, 137) 0%, rgb(255, 255, 255) 100%);
    border: none;
    padding: 16px;
    margin: 20px 0;
    border-radius: 5px;
    text-transform: uppercase;
    color: black;
    font-weight: bold;
    letter-spacing: 0.5px;
  }
  
  .btn-2:before {
    height: 0%;
    width: 2px;
  }
  
  .btn-2:hover {
    box-shadow: 4px 4px 6px 0 rgba(255, 255, 255, 0.5), -4px -4px 6px 0 rgba(116, 125, 136, 0.5), inset -4px -4px 6px 0 rgba(255, 255, 255, 0.2), inset 4px 4px 6px 0 rgba(0, 0, 0, 0.4);
  }

  .btn-precios{
    margin: 0;
    letter-spacing: 2px;
    font-size: 18px;

  }
  
  /************** FIN REPERTORIO ***************/
  
  /************ GALERIA - Estilos movidos a claude.css *************/
  /************ GARANTIA *************/
  section .padre-contacto {
    background-color: var(--fondo-verde);
  }
  
  .padre-contacto .descripcion {
    outline: var(--marco3);
  }
  
  .padre-contacto .llamado-accion {
    outline: var(--marco4);
  }
  
  #garantia .descripcion {
    gap: 20px;
  }
  
  .padre-contacto .ventajas {
    display: flex;
    justify-content: center;
    gap: 15px;
    outline: var(--marco3);
  }
  
  @media (max-width: 950px) {
    .padre-contacto .ventajas {
      gap: 0;
      flex-wrap: wrap;
    }
  }
  .garantias {
    background-color: var(--fondo-naranja);
    outline: var(--marco5);
    flex-grow: 1;
    width: 50%;
  }
  
  @media (max-width: 576px) {
    .padre-contacto .ventajas {
      gap: 0;
      flex-direction: column;
    }
    .garantias {
      width: 100%;
    }
  }
  .ventajas .garantias img {
    width: 345px;
    margin: 0 auto;
    background-color: var(--fondo-png);
  }
  
  .thumb {
    display: flex;
  }
  
  .llamado-accion .botones-centro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 40px 20px;
  }

  .llamado-accion .cta-badge {
    background: rgba(255, 255, 255, 0.15);
    color: var(--color-champagne);
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    backdrop-filter: blur(10px);
  }

  .llamado-accion .botones-centro h3 {
    color: #fff;
    margin: 0;
    font-size: 24px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  }

  .llamado-accion .botones {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }

  .cta-btn i {
    font-size: 18px;
  }

  .cta-btn--call {
    background: linear-gradient(135deg, var(--color-champagne) 0%, var(--color-bronce) 100%);
    color: var(--color-caoba);
  }

  .cta-btn--call:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(184, 149, 108, 0.4);
    color: var(--color-caoba);
  }

  .cta-btn--whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #fff;
  }

  .cta-btn--whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
    color: #fff;
  }

  @media (max-width: 480px) {
    .llamado-accion .botones-centro h3 {
      font-size: 20px;
      text-align: center;
    }

    .cta-btn {
      padding: 12px 24px;
      font-size: 15px;
    }
  }
  
  /************ FIN GARANTIA *************/
  /************ FOOTER *************/
  
  
  /* .footer {
    position: relative;
  } */
  
  footer h3 {
    color: black;
  }
  
  footer .image {
    margin: 0 auto;
    width: 265px;
    object-fit: cover;
  }
  
  .contacto-redes .instagram {
    padding: 40px;
  }
  
  .contacto-redes img {
    width: 80px;
    margin: 0 auto;
  }
  
  .enlace-redes {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    position: relative;
    flex-wrap: wrap;
    gap: 4rem;
    outline: var(--marco);
    padding: 20px;
  }
  
  .red-social h3, .red-social span {
    color: rgb(0, 0, 0);
  }
  
  .creditos .diseno img {
    width: 200px;
  }
  
  .contenedor-creditos {
    display: flex;
    justify-content: space-around;
    align-items: center;
    column-gap: 20px;
  }
  
  @media (max-width: 768px) {
    .contenedor-creditos {
      flex-direction: column;
      row-gap: 20px;
    }
  }
  .diseno {
    text-align: center;
  }

  .diseno p,
  .contenedor-creditos p {
    color: #fff;
  }
  
  @media (max-width: 768px) {
    .diseno:nth-child(2) {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      background-color: var(--fondo-png);
    }
  }
  @media (max-width: 550px) {
    .diseno:nth-child(1) {
      border-bottom: 3px solid var(--color-bronce);
      width: 85%;
      padding-bottom: 13px;
    }
    .diseno a {
      display: block;
      width: 100%;
    }
  }
  .division {
    text-align: center;
    color: white;
    font-size: 24px;
    padding: 30px;
  }
  
  .division.uno {
    padding: 0 0 30px 0;
  }
  
  .division p {
    margin: 0;
    font-family: "Droid Serif";
    font-size: 30px;
    font-weight: bold;
  }
  
  .bg-black-333, .division {
      background: radial-gradient(ellipse at center, var(--color-caoba-claro) 1%, var(--color-negro-suave) 100%);
  }
  
  /************ FIN FOOTER ************/

    /***  BOTON UP ***/
  
    #button-up {
      width: 3rem;
      height: 3rem;
      background: radial-gradient(ellipse at center, var(--color-caoba-claro) 1%, var(--color-negro-suave) 100%);
      color: var(--color-champagne-claro);
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 50%;
      font-size: 2.2rem;
      cursor: pointer;
      position: fixed;
      bottom: 11rem;
      right: 2rem;
      z-index: 200;
      border: 0.4rem solid transparent;
      transition: transform 300ms ease, border-color 300ms ease;
      transform: scale(0);
      will-change: transform;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
  }
  
  #button-up:hover {
      transform: scale(1.1);
      border-color: rgba(0, 1, 2, 0.5);
  }
  
    /***  FIN BOTON UP ***/

/*** WHATSAPP WIDGET ***/

#wa-widget {
  --wa-green: #25D366;
  --wa-dark: var(--color-caoba);
  --wa-header: var(--color-caoba);
  --wa-bubble-bg: #fff;
  --wa-body-bg: #E8DCC4;
}

.wa-trigger {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--wa-green);
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
  z-index: 9998;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wa-trigger:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
}

.wa-trigger.wa-hidden {
  transform: scale(0);
  pointer-events: none;
}

.wa-chat {
  position: fixed;
  bottom: 90px;
  right: 20px;
  width: 340px;
  max-width: calc(100vw - 40px);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.95);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.wa-chat.wa-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.wa-header {
  background: var(--wa-header);
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.wa-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--color-champagne);
}

.wa-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.wa-name {
  color: var(--color-champagne);
  font-weight: 600;
  font-size: 15px;
}

.wa-status {
  color: var(--color-champagne-claro);
  font-size: 12px;
  opacity: 0.9;
}

.wa-close {
  background: none;
  border: none;
  color: var(--color-champagne);
  font-size: 28px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.wa-close:hover {
  opacity: 1;
}

.wa-body {
  background: var(--wa-body-bg);
  padding: 20px 15px;
  min-height: 120px;
}

.wa-bubble {
  background: var(--wa-bubble-bg);
  padding: 10px 14px;
  border-radius: 0 12px 12px 12px;
  max-width: 85%;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.wa-bubble::before {
  content: '';
  position: absolute;
  top: 0;
  left: -8px;
  border-width: 0 8px 8px 0;
  border-style: solid;
  border-color: transparent var(--wa-bubble-bg) transparent transparent;
}

.wa-bubble-name {
  display: block;
  color: var(--color-caoba);
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 4px;
}

.wa-bubble-text {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.wa-bubble-time {
  display: block;
  text-align: right;
  color: #999;
  font-size: 11px;
  margin-top: 6px;
}

.wa-footer {
  display: flex;
  align-items: flex-end;
  padding: 10px;
  background: #fff;
  border-top: 1px solid #eee;
  gap: 8px;
}

.wa-input {
  flex: 1;
  border: 1px solid #ddd;
  border-radius: 20px;
  padding: 10px 15px;
  font-size: 14px;
  resize: none;
  outline: none;
  max-height: 80px;
  line-height: 1.4;
  font-family: inherit;
}

.wa-input:focus {
  border-color: var(--color-bronce);
}

.wa-send {
  background: var(--wa-green);
  border: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background 0.2s;
  flex-shrink: 0;
}

.wa-send:hover {
  background: #20bd5a;
}

@media (max-width: 768px) {
  .wa-chat {
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 16px 16px 0 0;
  }

  .wa-chat.wa-open {
    transform: translateY(0);
  }

  .wa-trigger {
    bottom: 40px;
    right: 13px;
    width: 60px;
    height: 60px;
  }
}

/*** FIN WHATSAPP WIDGET ***/