
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
  scroll-behavior:smooth;
}

:root{
  --beige:#f8eee6;
  --beige-claro:#fff7f1;
  --cafe:#b08a70;
  --cafe-2:#d0ab8d;
  --cafe-oscuro:#6b5647;
  --cafe-transparente:rgba(176,138,112,.55);
  --dorado:#d7a45f;
  --coral:#e98f84;
  --rosa-vivo:#e7a0b0;
  --durazno:#f3b27d;
  --blanco:#fffdf9;
  --texto:#3a302a;
  --sombra:rgba(95,75,63,.15);
}

body{
  background:var(--beige);
  color:var(--texto);
  line-height:1.6;
}

header{
  position:sticky;
  top:14px;
  z-index:1000;
  width:min(1180px,92%);
  margin:14px auto 0;
  background:linear-gradient(135deg,rgba(255,253,249,.72),rgba(255,240,232,.58));
  backdrop-filter:blur(20px);
  box-shadow:0 12px 34px rgba(95,75,63,.18);
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
}

nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--cafe-oscuro);
  font-weight:bold;
  font-size:20px;
}

.logo img{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:50%;
  border:2px solid var(--dorado);
  background:white;
}

.menu{
  list-style:none;
  display:flex;
  gap:24px;
  flex-wrap:wrap;
}

.menu a{
  text-decoration:none;
  color:var(--cafe-oscuro);
  font-weight:bold;
  transition:.25s;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,253,249,.35);
  border:1px solid rgba(255,255,255,.35);
}

.menu a:hover{
  color:white;
  background:linear-gradient(135deg,var(--coral),var(--dorado));
  box-shadow:0 8px 22px rgba(233,143,132,.30);
  transform:translateY(-2px);
}

section{
  padding:90px 8%;
}

.hero{
  min-height:92vh;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:38px;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(245,239,231,.78),rgba(245,239,231,.55)),
    url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?q=80&w=1600&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

.hero h1{
  font-size:52px;
  line-height:1.08;
  color:var(--cafe-oscuro);
  margin-bottom:18px;
}

.hero p{
  font-size:18px;
  margin-bottom:26px;
  color:#5d4a4a;
}

.badge{
  display:inline-block;
  background:rgba(176,138,112,.24);
  color:var(--cafe-oscuro);
  padding:8px 18px;
  border-radius:999px;
  font-weight:bold;
  margin-bottom:18px;
  border:1px solid rgba(184,154,122,.38);
  backdrop-filter:blur(10px);
}

.btn{
  display:inline-block;
  background:linear-gradient(135deg,var(--coral),var(--dorado));
  color:white;
  padding:14px 26px;
  border-radius:999px;
  text-decoration:none;
  font-weight:bold;
  border:none;
  cursor:pointer;
  transition:.25s;
  box-shadow:0 10px 24px rgba(155,128,104,.30);
  margin:4px;
}

.btn:hover{
  transform:translateY(-3px);
}

.btn-secundario{
  background:var(--cafe-oscuro);
}

.hero-card,
.mini-section,
.tienda-box,
.contacto-box,
.servicio-categoria{
  background:rgba(255,253,249,.30);
  backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 16px 40px var(--sombra);
}

.hero-card{
  border-radius:34px;
  padding:30px;
  text-align:center;
}

.hero-card img{
  width:190px;
  height:190px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid var(--dorado);
  margin-bottom:18px;
  background:white;
}

.hero-card h2{
  color:var(--cafe-oscuro);
}

.social-links{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:22px;
}

.social-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,253,249,.55);
  color:var(--cafe-oscuro);
  text-decoration:none;
  box-shadow:0 8px 20px rgba(95,75,63,.16);
  transition:.25s ease;
  border:1px solid rgba(255,255,255,.45);
  backdrop-filter:blur(12px);
}

.social-icon svg{
  width:25px;
  height:25px;
  fill:currentColor;
}

.social-icon:hover{
  transform:translateY(-5px) scale(1.08);
  color:white;
}

.social-icon.instagram:hover{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.social-icon.facebook:hover{background:#1877f2;}
.social-icon.whatsapp-link:hover{background:#25d366;}

.inicio-extra{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:18px;
}

.mini-section{
  border-radius:28px;
  padding:26px;
}

.mini-section h3{
  color:var(--cafe-oscuro);
  margin-bottom:14px;
  font-size:24px;
}

.recent-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.recent-list div{
  background:rgba(240,225,215,.35);
  padding:16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  text-align:center;
  backdrop-filter:blur(12px);
}

iframe{
  width:100%;
  height:260px;
  border:0;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(95,75,63,.16);
}

.seccion-fondo{
  position:relative;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

.seccion-fondo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(248,218,204,.55),rgba(231,160,176,.24),rgba(255,239,214,.42));
  pointer-events:none;
}

.seccion-fondo > *{
  position:relative;
  z-index:1;
}

.servicios-bg{background-image:url('https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?q=80&w=1600&auto=format&fit=crop');}
.galeria-bg{background-image:url('https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?q=80&w=1600&auto=format&fit=crop');}
.tienda-bg{background-image:url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?q=80&w=1600&auto=format&fit=crop');}
.contacto-bg{background-image:url('https://images.unsplash.com/photo-1629909613654-28e377c37b09?q=80&w=1600&auto=format&fit=crop');}

.title{
  text-align:center;
  margin-bottom:42px;
}

.title h2{
  font-size:42px;
  color:var(--cafe-oscuro);
}

.servicios-categorias{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.servicio-categoria{
  border-radius:32px;
  padding:12px;
}

.servicio-header{
  width:100%;
  border:none;
  background:linear-gradient(135deg,rgba(233,143,132,.95),rgba(215,164,95,.90));
  color:white;
  box-shadow:0 10px 25px rgba(176,138,112,.30);
  backdrop-filter:blur(12px);
  padding:24px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  font-size:20px;
  font-weight:bold;
  letter-spacing:.5px;
  transition:.25s;
  border-radius:999px;
}

.servicio-header:hover{
  background:linear-gradient(135deg,var(--cafe-oscuro),var(--dorado));
  transform:translateY(-2px);
}

.servicio-toggle{
  font-size:28px;
  transition:.25s;
}

.servicio-categoria.activo .servicio-toggle{
  transform:rotate(45deg);
}

.servicio-lista{
  display:none;
  padding:16px 10px 4px;
}

.servicio-categoria.activo .servicio-lista{
  display:block;
}

.tratamiento{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 16px;
  margin:10px 0;
  border-radius:999px;
  background:rgba(240,225,215,.35);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 20px rgba(95,75,63,.08);
}

.tratamiento strong{
  color:var(--cafe-oscuro);
  font-size:16px;
}

.tratamiento a{
  background:var(--cafe-transparente);
  color:white;
  text-decoration:none;
  padding:9px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:bold;
  white-space:nowrap;
}

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

.gallery-grid img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:26px;
  box-shadow:0 12px 28px rgba(95,75,63,.18);
}

.tienda-box,
.contacto-box{
  max-width:1050px;
  margin:auto;
  border-radius:34px;
  padding:38px;
}

.tienda-box{
  text-align:center;
}

.tienda-box img{
  width:130px;
  height:130px;
  object-fit:cover;
  border-radius:50%;
  border:3px solid var(--dorado);
  margin-bottom:18px;
  background:white;
}

.contacto-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.contacto-info h3{
  color:var(--cafe-oscuro);
  font-size:26px;
  margin-bottom:10px;
}

.contacto-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.contacto-form input,
.contacto-form select,
.contacto-form textarea{
  width:100%;
  padding:15px;
  border:1px solid rgba(184,154,122,.45);
  border-radius:16px;
  font-size:15px;
  outline:none;
  background:rgba(255,253,249,.55);
  backdrop-filter:blur(10px);
}

footer{
  background:var(--cafe-oscuro);
  color:white;
  text-align:center;
  padding:28px;
}

.whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  background:#25d366;
  color:white;
  width:64px;
  height:64px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  z-index:200;
  animation:pulse-whatsapp 1.8s infinite;
}

.whatsapp svg{
  width:33px;
  height:33px;
  fill:currentColor;
}

@keyframes pulse-whatsapp{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}
  70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

@media(max-width:900px){
  nav{flex-direction:column;}
  .menu{justify-content:center;gap:14px;}
  .hero,.inicio-extra,.contacto-box{grid-template-columns:1fr;}
  .hero{text-align:center;background-attachment:scroll;}
  .hero h1{font-size:38px;}
  .servicios-categorias{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .recent-list{grid-template-columns:1fr;}
  .seccion-fondo{background-attachment:scroll;}
  .tratamiento{border-radius:22px;align-items:flex-start;flex-direction:column;}
}


/* Menú principal más redondeado y con color vivo */
.logo{
  background:rgba(255,253,249,.42);
  padding:7px 16px 7px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
}

.logo img{
  box-shadow:0 0 0 4px rgba(233,143,132,.15);
}

.badge{
  background:linear-gradient(135deg,rgba(233,143,132,.22),rgba(215,164,95,.20));
  border-color:rgba(233,143,132,.30);
}

.social-icon:hover{
  box-shadow:0 10px 26px rgba(233,143,132,.28);
}

@media(max-width:900px){
  header{
    border-radius:30px;
    top:8px;
  }

  .menu{
    gap:10px;
  }

  .menu a{
    display:block;
    padding:9px 13px;
  }
}

.slider-box{max-width:1050px;margin:auto;position:relative;display:flex;align-items:center;gap:16px}
.slider-track{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:12px 4px 22px}
.slider-track::-webkit-scrollbar{display:none}
.slide-card{min-width:330px;max-width:330px;background:rgba(255,253,249,.30);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.35);border-radius:32px;overflow:hidden;box-shadow:0 16px 40px var(--sombra)}
.slide-card img{width:100%;height:260px;object-fit:cover}
.slide-info{padding:22px}
.slide-info h3{color:var(--cafe-oscuro);margin-bottom:8px}
.slider-btn{width:54px;height:54px;min-width:54px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--dorado));color:white;font-size:34px;cursor:pointer;box-shadow:0 10px 24px rgba(155,128,104,.30);transition:.25s;z-index:5}
.slider-btn:hover{transform:scale(1.08);background:linear-gradient(135deg,var(--cafe-oscuro),var(--dorado))}
.instagram-bg{background-image:url('https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?q=80&w=1600&auto=format&fit=crop')}
.instagram-box{max-width:1050px;margin:auto;background:rgba(255,253,249,.30);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.35);box-shadow:0 16px 40px var(--sombra);border-radius:34px;padding:32px}
.instagram-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px;flex-wrap:wrap}
.instagram-header img{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--dorado);background:white}
.instagram-header h3{color:var(--cafe-oscuro);font-size:24px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.instagram-grid a{position:relative;min-height:230px;border-radius:26px;overflow:hidden;text-decoration:none;box-shadow:0 12px 28px rgba(95,75,63,.18)}
.instagram-grid img{width:100%;height:100%;object-fit:cover;transition:.35s}
.instagram-grid span{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(0,0,0,.42);color:white;padding:10px 14px;border-radius:999px;text-align:center;font-weight:bold;backdrop-filter:blur(10px)}
.instagram-grid a:hover img{transform:scale(1.08)}
.instagram-note{margin-top:18px;font-size:14px;color:#6d5c5c;text-align:center}
@media(max-width:900px){.slide-card{min-width:270px;max-width:270px}.slider-btn{width:44px;height:44px;min-width:44px;font-size:28px}.instagram-grid{grid-template-columns:repeat(2,1fr)}.instagram-grid a{min-height:180px}}
@media(max-width:520px){.instagram-grid{grid-template-columns:1fr}}


/* Galería Resultados a lo ancho de toda la página */
#galeria{
  padding-left:0;
  padding-right:0;
  overflow:hidden;
}

#galeria .title{
  padding-left:8%;
  padding-right:8%;
}

.slider-box{
  max-width:none !important;
  width:100vw;
  margin:0;
  padding:0 0 20px;
  gap:10px;
}

.slider-track{
  width:100%;
  padding:16px 8vw 32px;
  gap:26px;
  scroll-snap-type:x mandatory;
}

.slide-card{
  min-width:clamp(310px, 38vw, 520px) !important;
  max-width:clamp(310px, 38vw, 520px) !important;
  scroll-snap-align:center;
}

.slide-card img{
  height:clamp(380px, 55vw, 620px) !important;
  object-fit:cover;
  object-position:center;
}

.slider-btn{
  position:sticky;
  top:50%;
  z-index:20;
}

.slider-btn:first-child{
  left:18px;
}

.slider-btn:last-child{
  right:18px;
}

@media(max-width:900px){
  .slider-track{
    padding:14px 6vw 28px;
    gap:18px;
  }

  .slide-card{
    min-width:82vw !important;
    max-width:82vw !important;
  }

  .slide-card img{
    height:430px !important;
  }
}

@media(max-width:520px){
  .slide-card{
    min-width:86vw !important;
    max-width:86vw !important;
  }

  .slide-card img{
    height:380px !important;
  }
}


/* ===== CORRECCIÓN GALERÍA FULL WIDTH ===== */

#galeria{
    width:100%;
    max-width:100%;
    padding:90px 0 !important;
}

#galeria .title{
    width:100%;
    max-width:100%;
    padding:0 6vw;
    margin-bottom:40px;
}

#galeria .slider-box{
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:0 !important;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
}

#galeria .slider-track{
    width:100vw !important;
    max-width:none !important;
    padding:10px 6vw 30px !important;
    margin:0 !important;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    gap:28px;
    scroll-behavior:smooth;
}

#galeria .slide-card{
    flex:0 0 auto;
    width:520px !important;
    max-width:520px !important;
    min-width:520px !important;
    border-radius:36px;
    overflow:hidden;
}

#galeria .slide-card img{
    width:100%;
    height:720px !important;
    object-fit:cover;
    display:block;
}

#galeria .slide-info{
    padding:20px;
}

#galeria .slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:50;
}

#galeria .slider-btn:first-child{
    left:20px;
}

#galeria .slider-btn:last-child{
    right:20px;
}

@media(max-width:900px){

    #galeria .slide-card{
        width:82vw !important;
        min-width:82vw !important;
        max-width:82vw !important;
    }

    #galeria .slide-card img{
        height:520px !important;
    }
}

@media(max-width:600px){

    #galeria .slide-card{
        width:88vw !important;
        min-width:88vw !important;
        max-width:88vw !important;
    }

    #galeria .slide-card img{
        height:430px !important;
    }
}


/* ===== GALERÍA RESULTADOS FULL WIDTH REAL ===== */

section#galeria.galeria,
#galeria{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:90px 0 !important;
  overflow:hidden !important;
  display:block !important;
}

#galeria .title{
  width:100% !important;
  max-width:100% !important;
  padding:0 6vw !important;
  margin:0 0 35px !important;
  text-align:center !important;
}

#galeria .slider-box{
  position:relative !important;
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}

#galeria .slider-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:20px 6vw 40px !important;
  gap:30px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
}

#galeria .slider-track::-webkit-scrollbar{
  display:none !important;
}

#galeria .slide-card{
  flex:0 0 520px !important;
  width:520px !important;
  min-width:520px !important;
  max-width:520px !important;
  scroll-snap-align:center !important;
  border-radius:36px !important;
  overflow:hidden !important;
  background:rgba(255,253,249,.35) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 16px 40px rgba(95,75,63,.20) !important;
}

#galeria .slide-card img{
  display:block !important;
  width:100% !important;
  height:720px !important;
  object-fit:cover !important;
  object-position:center !important;
}

#galeria .slide-info{
  padding:18px 22px !important;
  background:rgba(255,253,249,.45) !important;
}

#galeria .slider-btn{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:100 !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:50% !important;
}

#galeria .slider-prev{
  left:24px !important;
}

#galeria .slider-next{
  right:24px !important;
}

@media(max-width:900px){
  #galeria .slider-track{
    padding:16px 6vw 34px !important;
    gap:20px !important;
  }

  #galeria .slide-card{
    flex-basis:84vw !important;
    width:84vw !important;
    min-width:84vw !important;
    max-width:84vw !important;
  }

  #galeria .slide-card img{
    height:520px !important;
  }
}

@media(max-width:600px){
  #galeria .slide-card{
    flex-basis:88vw !important;
    width:88vw !important;
    min-width:88vw !important;
    max-width:88vw !important;
  }

  #galeria .slide-card img{
    height:430px !important;
  }
}


/* ===== CENTRAR GALERÍA ===== */

#galeria{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
}

#galeria .slider-box{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    position:relative !important;
}

#galeria .slider-track{
    width:100% !important;
    max-width:1600px !important;
    margin:0 auto !important;
    justify-content:flex-start !important;
}

#galeria .title{
    text-align:center !important;
    width:100% !important;
    margin-bottom:40px !important;
}

#galeria .slide-card{
    margin:0 auto !important;
}

@media(max-width:900px){

    #galeria .slider-track{
        max-width:100% !important;
    }
}


/* ===== AJUSTE FINAL: GALERÍA CENTRADA Y HORIZONTAL ===== */

section#galeria,
#galeria{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:90px 0 !important;
  overflow:hidden !important;
  display:block !important;
}

#galeria .title{
  width:min(1280px,92vw) !important;
  max-width:1280px !important;
  margin:0 auto 40px !important;
  padding:0 !important;
  text-align:center !important;
}

#galeria .slider-box{
  width:min(1280px,92vw) !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:0 !important;
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
}

#galeria .slider-track{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:18px 0 36px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:28px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
}

#galeria .slider-track::-webkit-scrollbar{
  display:none !important;
}

#galeria .slide-card{
  flex:0 0 calc((100% - 56px) / 3) !important;
  width:calc((100% - 56px) / 3) !important;
  min-width:calc((100% - 56px) / 3) !important;
  max-width:calc((100% - 56px) / 3) !important;
  margin:0 !important;
  scroll-snap-align:start !important;
  border-radius:32px !important;
  overflow:hidden !important;
  background:rgba(255,253,249,.35) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 16px 40px rgba(95,75,63,.18) !important;
}

#galeria .slide-card img{
  width:100% !important;
  height:560px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

#galeria .slide-info{
  padding:18px 22px !important;
  background:rgba(255,253,249,.45) !important;
}

#galeria .slider-btn{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:50 !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  border-radius:50% !important;
}

#galeria .slider-btn:first-child,
#galeria .slider-prev{
  left:14px !important;
}

#galeria .slider-btn:last-child,
#galeria .slider-next{
  right:14px !important;
}

@media(max-width:1100px){
  #galeria .slide-card{
    flex-basis:calc((100% - 28px) / 2) !important;
    width:calc((100% - 28px) / 2) !important;
    min-width:calc((100% - 28px) / 2) !important;
    max-width:calc((100% - 28px) / 2) !important;
  }

  #galeria .slide-card img{
    height:500px !important;
  }
}

@media(max-width:700px){
  #galeria .slider-box,
  #galeria .title{
    width:92vw !important;
  }

  #galeria .slide-card{
    flex-basis:100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
  }

  #galeria .slide-card img{
    height:430px !important;
  }
}


/* ===== GALERÍA ORIGINAL CON IMÁGENES ===== */

.galeria-section{
    width:100%;
    padding:80px 0;
}

.galeria-container{
    width:92%;
    max-width:1400px;
    margin:auto;
    text-align:center;
}

.galeria-container h2{
    font-size:3rem;
    margin-bottom:10px;
}

.galeria-container p{
    margin-bottom:40px;
}

.galeria-slider{
    display:flex;
    gap:25px;
    overflow-x:auto;
    padding-bottom:20px;
    scroll-behavior:smooth;
}

.galeria-slider::-webkit-scrollbar{
    height:10px;
}

.galeria-slider::-webkit-scrollbar-thumb{
    background:#c9a27e;
    border-radius:20px;
}

.gallery-item{
    min-width:340px;
    max-width:340px;
    border-radius:28px;
    overflow:hidden;
    flex-shrink:0;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.gallery-item img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
}

@media(max-width:768px){
    .gallery-item{
        min-width:85vw;
        max-width:85vw;
    }

    .gallery-item img{
        height:420px;
    }
}


/* ===== AJUSTES FINALES: GALERÍA FULL WIDTH Y SIN WHATSAPP FLOTANTE ===== */

/* Ocultar botón flotante de WhatsApp si existe */
.whatsapp,
.whatsapp-float,
.float-whatsapp,
.boton-whatsapp,
a.whatsapp{
  display:none !important;
}

/* Subir visualmente la galería un poco hacia el inicio */
#galeria{
  margin-top:-25px !important;
}

/* Galería a todo el ancho de la página */
.galeria-section,
section#galeria{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:60px 0 80px !important;
  overflow:hidden !important;
}

.galeria-container{
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
}

.galeria-container h2,
.galeria-container p{
  padding-left:6vw !important;
  padding-right:6vw !important;
}

.galeria-slider{
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:20px 4vw 35px !important;
  display:flex !important;
  gap:24px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scrollbar-width:thin !important;
}

.gallery-item{
  flex:0 0 30vw !important;
  min-width:30vw !important;
  max-width:30vw !important;
  width:30vw !important;
  height:520px !important;
  border-radius:28px !important;
  overflow:hidden !important;
}

.gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

@media(max-width:1100px){
  .gallery-item{
    flex-basis:42vw !important;
    min-width:42vw !important;
    max-width:42vw !important;
    width:42vw !important;
    height:480px !important;
  }
}

@media(max-width:700px){
  .gallery-item{
    flex-basis:82vw !important;
    min-width:82vw !important;
    max-width:82vw !important;
    width:82vw !important;
    height:410px !important;
  }
}


/* ===== GALERÍA DEBAJO DE UBICACIÓN ===== */
#galeria{
  margin-top:50px !important;
}

/* Acordeón cerrado */
.accordion-content,
.faq-content,
.service-content{
  display:none;
  max-height:0;
  overflow:hidden;
}


/* ===== GALERÍA PEQUEÑA AUTOMÁTICA ARRIBA DE SERVICIOS ===== */

.galeria-auto-section{
  padding:55px 8% 35px !important;
  position:relative !important;
  overflow:hidden !important;
}

.galeria-auto-container{
  width:min(760px, 92vw) !important;
  margin:0 auto !important;
  text-align:center !important;
}

.galeria-auto-section .title{
  margin-bottom:22px !important;
}

.galeria-auto-section .title h2{
  font-size:34px !important;
}

.galeria-auto-section .title p{
  font-size:15px !important;
}

.auto-gallery{
  width:100% !important;
  height:360px !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:30px !important;
  box-shadow:0 16px 40px rgba(95,75,63,.18) !important;
  background:rgba(255,253,249,.25) !important;
  backdrop-filter:blur(18px) !important;
  border:1px solid rgba(255,255,255,.35) !important;
}

.auto-slide{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  transform:scale(1.04) !important;
  transition:opacity .8s ease, transform 1.1s ease !important;
}

.auto-slide.active{
  opacity:1 !important;
  transform:scale(1) !important;
}

.auto-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.auto-dots{
  display:flex !important;
  justify-content:center !important;
  gap:8px !important;
  margin-top:16px !important;
}

.auto-dot{
  width:9px !important;
  height:9px !important;
  border-radius:999px !important;
  background:rgba(107,86,71,.28) !important;
  border:none !important;
  cursor:pointer !important;
  transition:.25s !important;
}

.auto-dot.active{
  width:28px !important;
  background:linear-gradient(135deg,var(--coral),var(--dorado)) !important;
}

/* Ocultar versiones anteriores de galería si quedaron clases antiguas */
.galeria-section .galeria-slider,
.gallery-clean-wrap,
.gallery-full-wrap,
.slider-box{
  /* solo aplica si no están dentro de secciones antiguas; la nueva usa auto-gallery */
}

/* ===== SERVICIOS CERRADOS POR DEFECTO ===== */

.servicio-categoria .servicio-lista,
.servicio-lista{
  display:none !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transition:max-height .3s ease !important;
}

.servicio-categoria.activo .servicio-lista,
.servicio-categoria.active .servicio-lista,
.servicio-categoria.open .servicio-lista{
  display:block !important;
  max-height:1200px !important;
  padding:16px 10px 4px !important;
}

@media(max-width:700px){
  .galeria-auto-section{
    padding:45px 6% 30px !important;
  }

  .auto-gallery{
    height:300px !important;
  }

  .galeria-auto-section .title h2{
    font-size:28px !important;
  }
}


/* ===== CARRUSEL RESULTADOS - 3 / 2 / 1 IMÁGENES Y SIN RECORTAR ===== */

.galeria-auto-section,
.galeria-section{
  display:none !important;
}

.galeria-carousel-section{
  padding:55px 8% 35px !important;
  position:relative !important;
  overflow:hidden !important;
}

.galeria-carousel-container{
  width:min(1180px, 94vw) !important;
  margin:0 auto !important;
  text-align:center !important;
}

.galeria-carousel-section .title{
  margin-bottom:24px !important;
}

.galeria-carousel-section .title h2{
  font-size:34px !important;
}

.galeria-carousel-section .title p{
  font-size:15px !important;
}

.carousel-wrapper{
  position:relative !important;
  width:100% !important;
  overflow:hidden !important;
  border-radius:30px !important;
}

.carousel-track{
  display:flex !important;
  gap:20px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
  padding:8px 2px 18px !important;
}

.carousel-track::-webkit-scrollbar{
  display:none !important;
}

.carousel-card{
  flex:0 0 calc((100% - 40px) / 3) !important;
  min-width:calc((100% - 40px) / 3) !important;
  max-width:calc((100% - 40px) / 3) !important;
  height:390px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  scroll-snap-align:start !important;
  background:rgba(255,253,249,.42) !important;
  backdrop-filter:blur(18px) !important;
  border:1px solid rgba(255,255,255,.45) !important;
  box-shadow:0 14px 34px rgba(95,75,63,.16) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.carousel-card img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  background:rgba(255,253,249,.35) !important;
}

.carousel-btn{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:20 !important;
  width:46px !important;
  height:46px !important;
  border:none !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,var(--coral),var(--dorado)) !important;
  color:white !important;
  font-size:30px !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(155,128,104,.30) !important;
  transition:.25s !important;
}

.carousel-btn:hover{
  transform:translateY(-50%) scale(1.08) !important;
}

.carousel-prev{
  left:12px !important;
}

.carousel-next{
  right:12px !important;
}

@media(max-width:1000px){
  .carousel-card{
    flex-basis:calc((100% - 20px) / 2) !important;
    min-width:calc((100% - 20px) / 2) !important;
    max-width:calc((100% - 20px) / 2) !important;
    height:360px !important;
  }
}

@media(max-width:650px){
  .galeria-carousel-section{
    padding:45px 6% 30px !important;
  }

  .carousel-card{
    flex-basis:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:340px !important;
  }

  .galeria-carousel-section .title h2{
    font-size:28px !important;
  }
}


/* =====================================================
   ESTILO FINAL: GRISES CLAROS/OSCUROS + TRANSPARENCIAS
   ===================================================== */

:root{
  --bg:#f5f5f5;
  --bg-soft:#fafafa;
  --card:rgba(255,255,255,.62);
  --card-strong:rgba(255,255,255,.82);
  --glass:rgba(255,255,255,.48);
  --line:rgba(80,80,80,.12);
  --gray-900:#242424;
  --gray-800:#333333;
  --gray-700:#4a4a4a;
  --gray-600:#696969;
  --gray-500:#8a8a8a;
  --gray-300:#d9d9d9;
  --gray-200:#ececec;
  --gray-100:#f7f7f7;

  --beige:#f5f5f5 !important;
  --beige-claro:#fafafa !important;
  --cafe:#555555 !important;
  --cafe-2:#d0d0d0 !important;
  --cafe-oscuro:#2f2f2f !important;
  --cafe-transparente:rgba(65,65,65,.70) !important;
  --dorado:#cfcfcf !important;
  --coral:#454545 !important;
  --rosa-vivo:#e8e8e8 !important;
  --durazno:#dddddd !important;
  --blanco:#ffffff !important;
  --texto:#333333 !important;
  --sombra:rgba(0,0,0,.12) !important;
}

html, body{
  background:#f6f6f6 !important;
  color:var(--gray-800) !important;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.95), transparent 34%),
    radial-gradient(circle at 80% 10%, rgba(210,210,210,.32), transparent 28%),
    linear-gradient(135deg,#ffffff,#f2f2f2 55%,#e9e9e9);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.85),rgba(255,255,255,.62)),
    url('https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?q=80&w=1600&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
  opacity:.22;
  pointer-events:none;
}

header{
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(255,255,255,.75) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.10) !important;
  backdrop-filter:blur(24px) saturate(120%) !important;
}

.logo{
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(255,255,255,.8) !important;
  color:var(--gray-800) !important;
}

.logo img{
  border-color:#e5e5e5 !important;
  box-shadow:0 0 0 4px rgba(0,0,0,.04) !important;
}

.menu a{
  background:rgba(255,255,255,.48) !important;
  color:var(--gray-800) !important;
  border:1px solid rgba(255,255,255,.8) !important;
}

.menu a:hover{
  color:white !important;
  background:linear-gradient(135deg,#2f2f2f,#6f6f6f) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.15) !important;
}

.hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.55)),
    url('https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?q=80&w=1600&auto=format&fit=crop') !important;
  background-size:cover !important;
  background-position:center !important;
}

.hero h1,
.title h2,
.mini-section h3,
.contacto-info h3,
.hero-card h2{
  color:var(--gray-900) !important;
}

.hero p,
.title p,
.contacto-info p,
.mini-section p,
.tratamiento strong{
  color:var(--gray-600) !important;
}

.badge{
  color:var(--gray-700) !important;
  background:rgba(255,255,255,.48) !important;
  border:1px solid rgba(120,120,120,.18) !important;
}

.btn{
  background:linear-gradient(135deg,#2f2f2f,#5f5f5f) !important;
  color:white !important;
  box-shadow:0 12px 26px rgba(0,0,0,.16) !important;
}

.btn-secundario{
  background:rgba(255,255,255,.70) !important;
  color:var(--gray-800) !important;
  border:1px solid rgba(120,120,120,.18) !important;
}

.hero-card,
.mini-section,
.contacto-box,
.servicio-categoria,
.carousel-card{
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.80) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.11) !important;
  backdrop-filter:blur(22px) saturate(120%) !important;
}

.hero-card img{
  border-color:#e5e5e5 !important;
  background:white !important;
}

.recent-list div,
.tratamiento{
  background:rgba(255,255,255,.50) !important;
  border:1px solid rgba(255,255,255,.75) !important;
}

.social-icon{
  background:linear-gradient(135deg,#333,#666) !important;
  color:white !important;
  border:1px solid rgba(255,255,255,.55) !important;
}

.social-icon.instagram:hover{background:linear-gradient(135deg,#2f2f2f,#8a8a8a) !important;}
.social-icon.facebook:hover{background:linear-gradient(135deg,#2f2f2f,#777) !important;}
.social-icon.whatsapp-link:hover{background:linear-gradient(135deg,#2f2f2f,#5f5f5f) !important;}

.seccion-fondo::before{
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(238,238,238,.66),rgba(255,255,255,.56)) !important;
}

.servicios-bg,
.contacto-bg,
.galeria-bg{
  background-image:url('https://images.unsplash.com/photo-1629909613654-28e377c37b09?q=80&w=1600&auto=format&fit=crop') !important;
}

/* SERVICIOS: mantener formato actual pero en grises */
.servicio-header{
  background:linear-gradient(135deg,#2f2f2f,#7a7a7a) !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.15) !important;
}

.servicio-header:hover{
  background:linear-gradient(135deg,#111,#555) !important;
}

.tratamiento a{
  background:rgba(45,45,45,.82) !important;
  color:#fff !important;
}

/* Galería tipo carrusel */
.galeria-carousel-section{
  padding:60px 8% 45px !important;
  background:rgba(255,255,255,.28) !important;
}

.galeria-carousel-container{
  width:min(1180px,94vw) !important;
  margin:0 auto !important;
  text-align:center !important;
  background:rgba(255,255,255,.38) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.09) !important;
  backdrop-filter:blur(20px) !important;
  border-radius:34px !important;
  padding:32px 28px !important;
}

.carousel-wrapper{
  position:relative !important;
  overflow:hidden !important;
  border-radius:26px !important;
}

.carousel-track{
  display:flex !important;
  gap:20px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
  padding:8px 2px 18px !important;
}

.carousel-track::-webkit-scrollbar{display:none !important;}

.carousel-card{
  flex:0 0 calc((100% - 40px) / 3) !important;
  min-width:calc((100% - 40px) / 3) !important;
  max-width:calc((100% - 40px) / 3) !important;
  height:390px !important;
  border-radius:22px !important;
  overflow:hidden !important;
  scroll-snap-align:start !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.carousel-card img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  background:rgba(255,255,255,.68) !important;
}

.carousel-btn{
  background:linear-gradient(135deg,#2f2f2f,#666) !important;
  color:white !important;
  border:1px solid rgba(255,255,255,.55) !important;
}

.contacto-form input,
.contacto-form select,
.contacto-form textarea{
  background:rgba(255,255,255,.62) !important;
  border:1px solid rgba(120,120,120,.16) !important;
  color:var(--gray-800) !important;
}

footer{
  background:rgba(255,255,255,.66) !important;
  color:var(--gray-700) !important;
  border-top:1px solid rgba(255,255,255,.75) !important;
  backdrop-filter:blur(18px) !important;
}

footer p{
  color:var(--gray-700) !important;
}

.footer-socials{
  margin-top:12px;
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.footer-socials a{
  color:var(--gray-800);
  text-decoration:none;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.75);
  padding:8px 14px;
  border-radius:999px;
}

/* Acordeón cerrado por defecto */
.servicio-lista{
  display:none !important;
}

.servicio-categoria.activo .servicio-lista{
  display:block !important;
}

@media(max-width:1000px){
  .carousel-card{
    flex-basis:calc((100% - 20px) / 2) !important;
    min-width:calc((100% - 20px) / 2) !important;
    max-width:calc((100% - 20px) / 2) !important;
    height:360px !important;
  }
}

@media(max-width:650px){
  .carousel-card{
    flex-basis:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:340px !important;
  }

  .galeria-carousel-container{
    padding:24px 16px !important;
  }
}


/* ===== ICONOS SOCIALES ANIMADOS CON COLORES REALES ===== */

.social-icon,
.footer-socials a{
  position:relative;
  overflow:hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    color .28s ease !important;
}

.social-icon svg{
  transition:transform .28s ease, fill .28s ease;
}

.social-icon:hover{
  transform:translateY(-6px) scale(1.12) rotate(-3deg) !important;
  color:#ffffff !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22) !important;
}

.social-icon:hover svg{
  transform:scale(1.14);
}

/* Instagram */
.social-icon.instagram:hover,
.footer-socials a[href*="instagram"]:hover{
  background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4) !important;
  color:#ffffff !important;
}

/* Facebook */
.social-icon.facebook:hover,
.footer-socials a[href*="facebook"]:hover{
  background:#1877f2 !important;
  color:#ffffff !important;
}

/* WhatsApp */
.social-icon.whatsapp-link:hover,
.footer-socials a[href*="wa.me"]:hover{
  background:#25d366 !important;
  color:#ffffff !important;
}

/* Animación tipo brillo */
.social-icon::before,
.footer-socials a::before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:80%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);
  transition:left .5s ease;
}

.social-icon:hover::before,
.footer-socials a:hover::before{
  left:130%;
}

.footer-socials a:hover{
  transform:translateY(-4px) scale(1.06) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.16) !important;
}


/* COMENTARIOS CLIENTES */

.comentarios-clientes{
  padding:70px 8% 40px;
}

.comentarios-container{
  width:min(1180px,95vw);
  margin:0 auto;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(255,255,255,.75);
  backdrop-filter:blur(18px);
  border-radius:34px;
  padding:42px 34px;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
}

.comentarios-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.comentario-card{
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.82);
  border-radius:28px;
  padding:28px;
  box-shadow:0 14px 32px rgba(0,0,0,.08);
  backdrop-filter:blur(16px);
  transition:transform .28s ease, box-shadow .28s ease;
}

.comentario-card:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 42px rgba(0,0,0,.14);
}

.comentario-estrellas{
  font-size:1.35rem;
  margin-bottom:16px;
  letter-spacing:2px;
  color:#f5b301;
}

.comentario-card p{
  color:#555;
  line-height:1.7;
  font-size:1rem;
  margin-bottom:20px;
}

.cliente-info{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.cliente-info strong{
  color:#2f2f2f;
}

.cliente-info span{
  color:#7a7a7a;
  font-size:.92rem;
}

@media(max-width:950px){
  .comentarios-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================
   AJUSTE GAMA GRISES OSCUROS
   ===================================================== */

body{
    background:
      linear-gradient(rgba(245,245,245,0.88), rgba(228,228,228,0.92)),
      #dcdcdc !important;
    color:#2d2d2d;
}

header,
.navbar,
.glass,
.servicio-card,
.comentario-card,
.comentarios-container,
.contacto-container,
.galeria-container{
    background:rgba(70,70,70,0.14) !important;
    border:1px solid rgba(255,255,255,0.25) !important;
    backdrop-filter:blur(16px);
}

h1,h2,h3,h4{
    color:#2f2f2f !important;
}

p, span{
    color:#555 !important;
}

nav a,
.menu a{
    background:rgba(90,90,90,0.10) !important;
    color:#2f2f2f !important;
    transition:all .25s ease;
}

nav a:hover,
.menu a:hover{
    background:rgba(40,40,40,0.18) !important;
    color:#111 !important;
}

.servicio-card:hover,
.comentario-card:hover{
    box-shadow:0 18px 36px rgba(0,0,0,0.18) !important;
}

footer{
    background:rgba(45,45,45,0.88) !important;
    color:#f1f1f1 !important;
}



/* =====================================================
   SERVICIOS MÁS CLAROS Y LEGIBLES
   ===================================================== */

.servicio-categoria,
.servicio-card,
.servicio-header,
.servicio-lista,
.tratamiento{
    background:rgba(255,255,255,0.82) !important;
    border:1px solid rgba(255,255,255,0.95) !important;
    backdrop-filter:blur(14px);
}

.servicio-header{
    background:linear-gradient(135deg,#f4f4f4,#dfdfdf) !important;
    color:#1f1f1f !important;
    box-shadow:0 10px 24px rgba(0,0,0,0.08) !important;
}

.servicio-header h3,
.servicio-header h4,
.servicio-header span,
.servicio-header{
    color:#222 !important;
}

.servicio-header:hover{
    background:linear-gradient(135deg,#ffffff,#ececec) !important;
}

.servicio-lista{
    background:rgba(255,255,255,0.88) !important;
}

.tratamiento{
    background:rgba(248,248,248,0.92) !important;
    border:1px solid rgba(210,210,210,0.55) !important;
}

.tratamiento strong,
.tratamiento h4,
.tratamiento p{
    color:#2c2c2c !important;
}

.tratamiento a{
    background:linear-gradient(135deg,#4a4a4a,#6f6f6f) !important;
    color:#fff !important;
}



/* =====================================================
   INSTALACIONES
   ===================================================== */

.instalaciones-section{
    padding:70px 8% 40px;
}

.instalaciones-container{
    width:min(1180px,95vw);
    margin:0 auto;
    background:rgba(255,255,255,.42);
    border:1px solid rgba(255,255,255,.75);
    backdrop-filter:blur(18px);
    border-radius:34px;
    padding:42px 34px;
    box-shadow:0 18px 42px rgba(0,0,0,.10);
}

.instalaciones-grid{
    margin-top:32px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.instalacion-card{
    position:relative;
    min-height:320px;
    border-radius:28px;
    overflow:hidden;
    background:
      linear-gradient(rgba(40,40,40,.20),rgba(40,40,40,.30)),
      url('https://images.unsplash.com/photo-1516549655169-df83a0774514?q=80&w=1200&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    box-shadow:0 14px 32px rgba(0,0,0,.10);
    transition:transform .28s ease, box-shadow .28s ease;
}

.instalacion-card:nth-child(2){
    background:
      linear-gradient(rgba(40,40,40,.20),rgba(40,40,40,.30)),
      url('https://images.unsplash.com/photo-1629909615184-74f495363b67?q=80&w=1200&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
}

.instalacion-card:nth-child(3){
    background:
      linear-gradient(rgba(40,40,40,.20),rgba(40,40,40,.30)),
      url('https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?q=80&w=1200&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
}

.instalacion-card:hover{
    transform:translateY(-10px);
    box-shadow:0 24px 48px rgba(0,0,0,.16);
}

.instalacion-overlay{
    position:absolute;
    inset:auto 0 0 0;
    padding:28px 22px;
    background:linear-gradient(transparent,rgba(0,0,0,.68));
    color:white;
}

.instalacion-overlay h3{
    color:white !important;
    margin-bottom:8px;
}

.instalacion-overlay p{
    color:rgba(255,255,255,.85) !important;
}

@media(max-width:950px){
    .instalaciones-grid{
        grid-template-columns:1fr;
    }

    .instalacion-card{
        min-height:280px;
    }
}


/* =====================================================
   INSTALACIONES JUNTO A UBICACIÓN
   ===================================================== */

#instalaciones{
    padding-top:35px !important;
    margin-top:-10px !important;
}

#instalaciones .instalaciones-container{
    background:rgba(255,255,255,.52) !important;
    border:1px solid rgba(255,255,255,.82) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.08) !important;
}



/* Botón Google Maps en instalaciones */
.instalaciones-maps{
    margin-top:28px;
    text-align:center;
}

.btn-maps{
    display:inline-block;
    padding:14px 26px;
    border-radius:999px;
    background:linear-gradient(135deg,#2f2f2f,#696969);
    color:#fff !important;
    text-decoration:none;
    font-weight:700;
    box-shadow:0 12px 26px rgba(0,0,0,.16);
    transition:all .25s ease;
}

.btn-maps:hover{
    transform:translateY(-3px);
    background:linear-gradient(135deg,#111,#555);
}

.btn-maps-ubicacion{
    margin-top:16px;
}


/* =====================================================
   INSTALACIONES + UBICACIÓN EN UNA SOLA SECCIÓN
   ===================================================== */

.ubicacion-instalaciones-section{
  padding:70px 8% 50px;
}

.ubicacion-instalaciones-container{
  width:min(1180px,95vw);
  margin:0 auto;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(255,255,255,.75);
  backdrop-filter:blur(18px);
  border-radius:34px;
  padding:42px 34px;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
}

.ubicacion-instalaciones-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
  margin-top:30px;
}

.instalaciones-panel,
.ubicacion-panel{
  background:rgba(255,255,255,.54);
  border:1px solid rgba(255,255,255,.78);
  border-radius:28px;
  padding:26px;
  box-shadow:0 14px 32px rgba(0,0,0,.08);
  backdrop-filter:blur(16px);
}

.instalaciones-panel h3,
.ubicacion-panel h3{
  color:#242424 !important;
  margin-bottom:10px;
  font-size:1.45rem;
}

.instalaciones-panel p,
.ubicacion-panel p{
  color:#555 !important;
}

.instalaciones-mini-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  grid-template-rows:170px 170px;
  gap:14px;
  margin-top:22px;
}

.instalacion-mini{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background-size:cover;
  background-position:center;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.instalacion-mini::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.58));
}

.instalacion-mini span{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:1;
  color:white !important;
  font-weight:700;
}

.instalacion-uno{
  grid-row:1 / 3;
  background-image:url('https://images.unsplash.com/photo-1516549655169-df83a0774514?q=80&w=1200&auto=format&fit=crop');
}

.instalacion-dos{
  background-image:url('https://images.unsplash.com/photo-1629909615184-74f495363b67?q=80&w=1200&auto=format&fit=crop');
}

.instalacion-tres{
  background-image:url('https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?q=80&w=1200&auto=format&fit=crop');
}

.ubicacion-panel iframe{
  width:100%;
  height:340px;
  border:0;
  border-radius:22px;
  margin-top:18px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.btn-maps{
  display:inline-block;
  margin-top:18px;
  padding:13px 24px;
  border-radius:999px;
  background:linear-gradient(135deg,#2f2f2f,#696969);
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  transition:all .25s ease;
}

.btn-maps:hover{
  transform:translateY(-3px);
  background:linear-gradient(135deg,#111,#555);
}

.google-reviews-cta{
  text-align:center;
  margin-top:28px;
}

@media(max-width:950px){
  .ubicacion-instalaciones-grid{
    grid-template-columns:1fr;
  }

  .instalaciones-mini-grid{
    grid-template-columns:1fr;
    grid-template-rows:220px 180px 180px;
  }

  .instalacion-uno{
    grid-row:auto;
  }
}


/* =========================
   RESEÑAS CLIENTES
   ========================= */

.comentarios-clientes{
    padding:80px 8%;
}

.comentarios-container{
    width:min(1250px,95vw);
    margin:0 auto;
}

.reviews-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
    margin-top:38px;
}

.review-card{
    background:rgba(70,70,70,.28);
    border:1px solid rgba(255,255,255,.18);
    border-radius:28px;
    padding:26px;
    backdrop-filter:blur(16px);
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    transition:.25s ease;
}

.review-card:hover{
    transform:translateY(-6px);
}

.review-top{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:16px;
}

.review-avatar{
    width:58px;
    height:58px;
    border-radius:50%;
    background:linear-gradient(135deg,#3a3a3a,#8d8d8d);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
    font-size:1.1rem;
}

.review-card h4{
    color:#fff;
    margin:0;
    font-size:1.1rem;
}

.review-stars{
    color:#ffd54f;
    margin-top:4px;
    letter-spacing:2px;
}

.review-card p{
    color:#ececec;
    line-height:1.7;
    font-size:.97rem;
}

.google-review-button{
    text-align:center;
    margin-top:38px;
}

.google-review-button a{
    display:inline-block;
    padding:14px 28px;
    border-radius:999px;
    text-decoration:none;
    background:linear-gradient(135deg,#2d2d2d,#7b7b7b);
    color:white;
    font-weight:700;
    transition:.25s ease;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.google-review-button a:hover{
    transform:translateY(-3px);
}


/* =====================================================
   RESEÑAS EN CARRUSEL - 4 POR VISTA
   ===================================================== */

.reviews-carousel-section{
  padding:80px 8%;
}

.reviews-carousel-container{
  width:min(1250px,95vw);
  margin:0 auto;
  background:rgba(255,255,255,.40);
  border:1px solid rgba(255,255,255,.72);
  border-radius:34px;
  padding:42px 34px;
  backdrop-filter:blur(18px);
  box-shadow:0 18px 42px rgba(0,0,0,.10);
}

.reviews-carousel-wrapper{
  position:relative;
  margin-top:34px;
  overflow:hidden;
}

.reviews-track{
  display:flex;
  gap:20px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:8px 2px 18px;
}

.reviews-track::-webkit-scrollbar{
  display:none;
}

.review-card{
  flex:0 0 calc((100% - 60px) / 4);
  min-width:calc((100% - 60px) / 4);
  max-width:calc((100% - 60px) / 4);
  min-height:300px;
  background:rgba(70,70,70,.30);
  border:1px solid rgba(255,255,255,.20);
  border-radius:26px;
  padding:24px;
  backdrop-filter:blur(16px);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  scroll-snap-align:start;
  transition:.25s ease;
}

.review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 42px rgba(0,0,0,.22);
}

.review-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}

.review-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,#2f2f2f,#8a8a8a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:700;
  font-size:1rem;
  flex-shrink:0;
}

.review-card h4{
  color:#fff !important;
  margin:0;
  font-size:1rem;
}

.review-stars{
  color:#ffd54f;
  margin-top:4px;
  letter-spacing:1px;
  font-size:.95rem;
}

.review-card p{
  color:#f1f1f1 !important;
  line-height:1.65;
  font-size:.94rem;
}

.review-carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:linear-gradient(135deg,#2f2f2f,#6d6d6d);
  color:white;
  font-size:30px;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.22);
  transition:.25s ease;
}

.review-carousel-btn:hover{
  transform:translateY(-50%) scale(1.08);
  background:linear-gradient(135deg,#111,#555);
}

.review-prev{
  left:10px;
}

.review-next{
  right:10px;
}

.google-review-button{
  text-align:center;
  margin-top:30px;
}

.google-review-button a{
  display:inline-block;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  background:linear-gradient(135deg,#2d2d2d,#7b7b7b);
  color:white !important;
  font-weight:700;
  transition:.25s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.google-review-button a:hover{
  transform:translateY(-3px);
}

@media(max-width:1100px){
  .review-card{
    flex-basis:calc((100% - 40px) / 3);
    min-width:calc((100% - 40px) / 3);
    max-width:calc((100% - 40px) / 3);
  }
}

@media(max-width:850px){
  .review-card{
    flex-basis:calc((100% - 20px) / 2);
    min-width:calc((100% - 20px) / 2);
    max-width:calc((100% - 20px) / 2);
  }
}

@media(max-width:600px){
  .reviews-carousel-section{
    padding:60px 5%;
  }

  .reviews-carousel-container{
    padding:30px 18px;
  }

  .review-card{
    flex-basis:100%;
    min-width:100%;
    max-width:100%;
  }
}


/* Eliminar restos visuales de trabajos recientes */
.recent-list{
  display:none !important;
}


/* =====================================================
   CORRECCIÓN INSTALACIONES: IMÁGENES DENTRO DE SU SECCIÓN
   ===================================================== */

.instalaciones-mini-grid{
  display:none !important;
}

.instalaciones-photo-grid{
  display:grid !important;
  grid-template-columns:1.15fr 1fr;
  grid-template-rows:150px 150px 150px;
  gap:14px;
  margin-top:22px;
}

.instalacion-photo{
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 26px rgba(0,0,0,.12);
  background:rgba(255,255,255,.35);
  border:1px solid rgba(255,255,255,.45);
}

.instalacion-photo-big{
  grid-row:1 / 4;
}

.instalacion-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .35s ease;
}

.instalacion-photo:hover img{
  transform:scale(1.04);
}

#ubicacion-instalaciones .title h2{
  color:#242424 !important;
}

@media(max-width:950px){
  .instalaciones-photo-grid{
    grid-template-columns:1fr;
    grid-template-rows:260px 210px 210px 210px;
  }

  .instalacion-photo-big{
    grid-row:auto;
  }
}


/* =====================================================
   OPINIONES MÁS PEQUEÑAS
   ===================================================== */

#opiniones,
.opiniones-section{
    padding: 45px 6% !important;
}

#opiniones .section-title,
.opiniones-section .section-title{
    margin-bottom: 22px !important;
}

#opiniones h2,
.opiniones-section h2{
    font-size: 1.8rem !important;
}

#opiniones p.section-description,
.opiniones-section p.section-description{
    font-size: 0.95rem !important;
}

#opiniones .opiniones-grid,
#opiniones .testimonials-grid,
.opiniones-section .opiniones-grid,
.opiniones-section .testimonials-grid{
    gap: 16px !important;
}

#opiniones .opinion-card,
#opiniones .testimonial-card,
.opiniones-section .opinion-card,
.opiniones-section .testimonial-card{
    padding: 18px !important;
    border-radius: 18px !important;
    transform: scale(0.94);
    background: rgba(80,80,80,0.18) !important;
    backdrop-filter: blur(10px) !important;
}

#opiniones .opinion-card p,
#opiniones .testimonial-card p,
.opiniones-section .opinion-card p,
.opiniones-section .testimonial-card p{
    font-size: 0.90rem !important;
    line-height: 1.5 !important;
}

#opiniones .opinion-card h4,
#opiniones .testimonial-card h4,
.opiniones-section .opinion-card h4,
.opiniones-section .testimonial-card h4{
    font-size: 0.95rem !important;
}

@media(max-width:768px){
    #opiniones .opinion-card,
    #opiniones .testimonial-card,
    .opiniones-section .opinion-card,
    .opiniones-section .testimonial-card{
        transform: scale(1);
    }
}


/* =====================================================
   MODAL DR MARIO
   ===================================================== */

.doctor-modal-trigger{
    cursor:pointer;
    position:relative;
    transition:all .25s ease;
    display:inline-block;
}

.doctor-modal-trigger:hover{
    color:#111 !important;
    transform:translateY(-2px);
}

.doctor-modal-trigger::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-3px;
    width:100%;
    height:2px;
    background:rgba(40,40,40,.45);
    border-radius:999px;
}

.doctor-modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    backdrop-filter:blur(10px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;

    opacity:0;
    visibility:hidden;
    transition:.28s ease;
}

.doctor-modal-overlay.active{
    opacity:1;
    visibility:visible;
}

.doctor-modal{
    width:min(900px,95vw);
    background:rgba(255,255,255,.86);
    border:1px solid rgba(255,255,255,.82);
    border-radius:34px;
    padding:34px;
    backdrop-filter:blur(20px);
    box-shadow:0 22px 48px rgba(0,0,0,.18);

    transform:translateY(20px) scale(.96);
    transition:.28s ease;
}

.doctor-modal-overlay.active .doctor-modal{
    transform:translateY(0) scale(1);
}

.doctor-modal-close{
    position:absolute;
    top:18px;
    right:22px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:rgba(40,40,40,.12);
    color:#222;
    font-size:28px;
    cursor:pointer;
}

.doctor-modal-content{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:30px;
    align-items:center;
}

.doctor-photo{
    display:block;
    width:100%;
    height:100%;
    min-height:420px;
    max-height:680px;
    object-fit:cover;
    object-position:center 28%;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 18px 45px rgba(0,0,0,.14);
}

.doctor-photo-placeholder{
    width:100%;
    min-height:420px;
    border-radius:28px;
    background:
      linear-gradient(rgba(50,50,50,.12),rgba(50,50,50,.18)),
      linear-gradient(135deg,#ececec,#d8d8d8);
    border:1px solid rgba(255,255,255,.72);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#444;
    font-weight:700;
    font-size:1.5rem;
    line-height:1.5;
}

.doctor-modal-info h2{
    color:#222 !important;
    margin-bottom:8px;
    font-size:2rem;
}

.doctor-modal-info h4{
    color:#555 !important;
    margin-bottom:18px;
    font-weight:600;
}

.doctor-modal-info p{
    color:#555 !important;
    line-height:1.8;
    margin-bottom:16px;
}

.doctor-badge{
    display:inline-block;
    padding:8px 16px;
    border-radius:999px;
    background:rgba(60,60,60,.10);
    color:#444;
    margin-bottom:14px;
    font-weight:700;
}

@media(max-width:850px){
    .doctor-modal-content{
        grid-template-columns:1fr;
    }

    .doctor-photo,
    .doctor-photo-placeholder{
        min-height:280px;
        max-height:420px;
    }

    .doctor-modal{
        padding:26px 22px;
    }
}


/* =====================================================
   FIX UBICACIÓN LADO A LADO
   ===================================================== */

#ubicacion-instalaciones .ubicacion-instalaciones-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:28px !important;
    align-items:stretch !important;
}

#ubicacion-instalaciones .instalaciones-panel,
#ubicacion-instalaciones .ubicacion-panel{
    width:100% !important;
    min-width:0 !important;
}

#ubicacion-instalaciones .ubicacion-panel{
    display:flex !important;
    flex-direction:column !important;
}

#ubicacion-instalaciones .ubicacion-panel iframe{
    width:100% !important;
    height:100% !important;
    min-height:520px !important;
    border:0 !important;
    border-radius:24px !important;
    margin-top:18px !important;
    flex:1 !important;
}

#ubicacion-instalaciones .instalaciones-photo-grid{
    display:grid !important;
    grid-template-columns:1.15fr 1fr !important;
    grid-template-rows:165px 165px 165px !important;
    gap:14px !important;
}

#ubicacion-instalaciones .instalacion-photo-big{
    grid-row:1 / 4 !important;
}

#ubicacion-instalaciones .instalacion-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

@media(max-width:950px){

    #ubicacion-instalaciones .ubicacion-instalaciones-grid{
        grid-template-columns:1fr !important;
    }

    #ubicacion-instalaciones .instalaciones-photo-grid{
        grid-template-columns:1fr !important;
        grid-template-rows:260px 200px 200px 200px !important;
    }

    #ubicacion-instalaciones .instalacion-photo-big{
        grid-row:auto !important;
    }

    #ubicacion-instalaciones .ubicacion-panel iframe{
        min-height:340px !important;
    }
}


/* =====================================================
   UBICACIÓN + INSTALACIONES DOS COLUMNAS FINAL
   ===================================================== */

#ubicacion-instalaciones{
  padding:70px 8% 55px !important;
}

#ubicacion-instalaciones .ubicacion-instalaciones-container{
  width:min(1250px,95vw) !important;
  margin:0 auto !important;
  background:rgba(255,255,255,.42) !important;
  border:1px solid rgba(255,255,255,.75) !important;
  backdrop-filter:blur(18px) !important;
  border-radius:34px !important;
  padding:42px 34px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.10) !important;
}

#ubicacion-instalaciones .ubicacion-layout-final{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:28px !important;
  align-items:stretch !important;
  width:100% !important;
  margin-top:30px !important;
}

#ubicacion-instalaciones .instalaciones-panel-final,
#ubicacion-instalaciones .ubicacion-panel-final{
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  border-radius:28px !important;
  padding:26px !important;
  box-shadow:0 14px 32px rgba(0,0,0,.08) !important;
  backdrop-filter:blur(16px) !important;
  min-width:0 !important;
}

#ubicacion-instalaciones .instalaciones-panel-final h3,
#ubicacion-instalaciones .ubicacion-panel-final h3{
  color:#242424 !important;
  font-size:1.45rem !important;
  margin-bottom:10px !important;
}

#ubicacion-instalaciones .instalaciones-panel-final p,
#ubicacion-instalaciones .ubicacion-panel-final p{
  color:#555 !important;
}

#ubicacion-instalaciones .instalaciones-fotos-final{
  display:grid !important;
  grid-template-columns:1.15fr 1fr !important;
  grid-template-rows:165px 165px 165px !important;
  gap:14px !important;
  margin-top:22px !important;
}

#ubicacion-instalaciones .foto-principal{
  grid-row:1 / 4 !important;
}

#ubicacion-instalaciones .foto-principal,
#ubicacion-instalaciones .foto-secundaria{
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:0 12px 26px rgba(0,0,0,.12) !important;
  background:rgba(255,255,255,.35) !important;
  border:1px solid rgba(255,255,255,.45) !important;
}

#ubicacion-instalaciones .foto-principal img,
#ubicacion-instalaciones .foto-secundaria img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

#ubicacion-instalaciones .ubicacion-panel-final{
  display:flex !important;
  flex-direction:column !important;
}

#ubicacion-instalaciones .ubicacion-panel-final iframe{
  width:100% !important;
  min-height:505px !important;
  height:100% !important;
  flex:1 !important;
  border:0 !important;
  border-radius:22px !important;
  margin-top:18px !important;
  box-shadow:0 12px 26px rgba(0,0,0,.10) !important;
}

#ubicacion-instalaciones .btn-maps{
  display:inline-block !important;
  align-self:flex-start !important;
  margin-top:18px !important;
  padding:13px 24px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#2f2f2f,#696969) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
  box-shadow:0 12px 26px rgba(0,0,0,.16) !important;
}

@media(max-width:950px){
  #ubicacion-instalaciones .ubicacion-layout-final{
    grid-template-columns:1fr !important;
  }

  #ubicacion-instalaciones .instalaciones-fotos-final{
    grid-template-columns:1fr !important;
    grid-template-rows:260px 200px 200px 200px !important;
  }

  #ubicacion-instalaciones .foto-principal{
    grid-row:auto !important;
  }

  #ubicacion-instalaciones .ubicacion-panel-final iframe{
    min-height:340px !important;
  }
}


/* Ajuste mapa directo sin botón */
#ubicacion-instalaciones .ubicacion-panel-final iframe{
  min-height:560px !important;
  margin-bottom:0 !important;
}


/* =====================================================
   MODAL VISIÓN Y FILOSOFÍA
   ===================================================== */

.doctor-modal{
    max-height:90vh !important;
    overflow-y:auto !important;
}

.doctor-modal-info{
    padding-right:10px;
}

.doctor-modal-info blockquote{
    font-size:1.15rem;
    line-height:1.8;
    color:#2f2f2f;
    font-weight:600;
    margin:18px 0 24px;
    padding-left:18px;
    border-left:4px solid rgba(80,80,80,.38);
}

.doctor-modal-info p{
    margin-bottom:18px !important;
    line-height:1.85 !important;
    color:#555 !important;
}

.doctor-modal::-webkit-scrollbar{
    width:8px;
}

.doctor-modal::-webkit-scrollbar-thumb{
    background:rgba(90,90,90,.28);
    border-radius:999px;
}


/* =====================================================
   FOOTER LEGAL + MODAL DOCUMENTOS
   ===================================================== */

.legal-footer-links{
  margin-top:18px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.legal-footer-links button{
  border:none;
  cursor:pointer;
  background:rgba(255,255,255,.12);
  color:inherit;
  padding:9px 15px;
  border-radius:999px;
  font-weight:600;
  font-size:.9rem;
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.18);
  transition:all .25s ease;
}

.legal-footer-links button:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.24);
  color:#fff;
}

.legal-modal-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,0,0,.48);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  transition:.28s ease;
}

.legal-modal-overlay.active{
  opacity:1;
  visibility:visible;
}

.legal-modal{
  width:min(880px,95vw);
  max-height:88vh;
  overflow-y:auto;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.82);
  border-radius:32px;
  padding:34px;
  backdrop-filter:blur(22px);
  box-shadow:0 24px 54px rgba(0,0,0,.24);
  transform:translateY(18px) scale(.97);
  transition:.28s ease;
  color:#333;
}

.legal-modal-overlay.active .legal-modal{
  transform:translateY(0) scale(1);
}

.legal-modal-close{
  position:absolute;
  top:18px;
  right:22px;
  width:42px;
  height:42px;
  border:none;
  border-radius:50%;
  background:rgba(40,40,40,.12);
  color:#222;
  font-size:28px;
  cursor:pointer;
}

.legal-modal-badge{
  display:inline-block;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(60,60,60,.10);
  color:#444;
  margin-bottom:14px;
  font-weight:700;
}

.legal-modal h2{
  color:#222 !important;
  font-size:2rem;
  margin-bottom:18px;
}

.legal-modal-content{
  white-space:pre-line;
  color:#555;
  line-height:1.75;
  font-size:.96rem;
}

.legal-modal-ok{
  margin-top:26px;
  border:none;
  cursor:pointer;
  padding:13px 24px;
  border-radius:999px;
  background:linear-gradient(135deg,#2f2f2f,#696969);
  color:#fff;
  font-weight:700;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}

.legal-modal::-webkit-scrollbar{
  width:8px;
}

.legal-modal::-webkit-scrollbar-thumb{
  background:rgba(90,90,90,.30);
  border-radius:999px;
}

@media(max-width:650px){
  .legal-modal{
    padding:28px 22px;
  }

  .legal-modal h2{
    font-size:1.55rem;
  }

  .legal-modal-content{
    font-size:.92rem;
  }
}

.cofepris-footer{
 margin-top:14px;
 text-align:center;
 font-size:.9rem;
 color:#cfcfcf;
 opacity:.95;
}
.cofepris-footer strong{color:#fff;}


/* =====================================================
   ICONOS SOBRIOS EN SERVICIOS + FOOTER LIMPIO
   ===================================================== */

/* Ocultar enlaces de redes en footer si quedara alguno */
.footer-socials{
  display:none !important;
}

/* Encabezados de servicio con iconos profesionales */
.servicio-header span:first-child{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

.service-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#1f1f1f,#4d4d4d);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  position:relative;
  transition:all .25s ease;
}

.servicio-header:hover .service-icon{
  transform:scale(1.08);
  background:linear-gradient(135deg,#000,#333);
}

/* Gota / filler */
.icon-drop::before{
  content:"";
  width:12px;
  height:18px;
  background:#fff;
  border-radius:60% 60% 65% 65%;
  transform:rotate(45deg);
  display:block;
}

/* Colágeno / bioestimuladores */
.icon-collagen::before,
.icon-collagen::after{
  content:"";
  position:absolute;
  width:18px;
  height:3px;
  background:#fff;
  border-radius:999px;
}
.icon-collagen::before{ transform:rotate(35deg); top:13px; }
.icon-collagen::after{ transform:rotate(-35deg); bottom:13px; }

/* Skin quality */
.icon-skin::before{
  content:"";
  width:17px;
  height:17px;
  border:2px solid #fff;
  border-radius:50% 50% 45% 45%;
  display:block;
}
.icon-skin::after{
  content:"";
  position:absolute;
  width:7px;
  height:2px;
  background:#fff;
  border-radius:999px;
  bottom:10px;
}

/* Inyección */
.icon-injection::before{
  content:"";
  width:18px;
  height:4px;
  background:#fff;
  border-radius:999px;
  transform:rotate(-35deg);
  display:block;
}
.icon-injection::after{
  content:"";
  position:absolute;
  width:9px;
  height:2px;
  background:#fff;
  transform:rotate(-35deg);
  right:7px;
  top:10px;
  box-shadow:-6px 8px 0 #fff;
}

/* Láser */
.icon-laser::before{
  content:"";
  width:18px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transform:rotate(-25deg);
  display:block;
}
.icon-laser::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  background:#fff;
  border-radius:50%;
  right:8px;
  top:9px;
}

/* SPA */
.icon-spa::before{
  content:"";
  width:18px;
  height:12px;
  border:2px solid #fff;
  border-top:none;
  border-radius:0 0 14px 14px;
  display:block;
}
.icon-spa::after{
  content:"";
  position:absolute;
  width:16px;
  height:2px;
  background:#fff;
  border-radius:999px;
  top:10px;
}

/* Mejor contraste del texto del servicio */
.servicio-header{
  letter-spacing:.3px !important;
}

.servicio-header span{
  color:inherit !important;
}


/* Ajustes finales footer */
footer,
footer p,
footer .copyright,
.footer-copy,
.footer-copy p{
    color:#ffffff !important;
}

/* Enlaces legales */
.legal-footer-links button{
    color:#e8e8e8 !important;
    transition:all .28s ease !important;
}

.legal-footer-links button:hover{
    color:#ffffff !important;
    background:linear-gradient(135deg,#5d5d5d,#2c2c2c) !important;
    border-color:rgba(255,255,255,.45) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
    transform:translateY(-3px);
}

.legal-footer-links button:active{
    transform:translateY(-1px);
}


/* =====================================================
   REVISIÓN VISUAL FINAL PREMIUM
   Tipografías, espaciados, alineaciones y animaciones
   ===================================================== */

/* Suavizado general */
html{
  scroll-behavior:smooth;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Contenedores principales más uniformes */
section{
  padding-top:82px !important;
  padding-bottom:82px !important;
}

.title{
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:42px !important;
}

.title h2{
  letter-spacing:-.8px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
}

.title p{
  line-height:1.7 !important;
  opacity:.92 !important;
}

/* Navbar más refinado */
header{
  transition:all .28s ease !important;
}

.menu a{
  letter-spacing:.15px !important;
  transition:all .28s ease !important;
}

.menu a:hover{
  transform:translateY(-2px) !important;
}

/* Hero más premium */
.hero h1{
  letter-spacing:-1.6px !important;
  max-width:760px !important;
}

.hero p{
  max-width:680px !important;
  line-height:1.75 !important;
}

.badge{
  letter-spacing:.4px !important;
}

/* Botones consistentes */
.btn,
.btn-maps,
.legal-modal-ok,
.google-review-button a,
.tratamiento a{
  transition:all .28s ease !important;
}

.btn:hover,
.btn-maps:hover,
.legal-modal-ok:hover,
.google-review-button a:hover,
.tratamiento a:hover{
  transform:translateY(-3px) !important;
  filter:brightness(1.06);
}

/* Tarjetas glass uniformes */
.hero-card,
.mini-section,
.contacto-box,
.servicio-categoria,
.galeria-carousel-container,
.ubicacion-instalaciones-container,
.reviews-carousel-container,
.comentarios-container,
.vision-container{
  border-radius:34px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.11) !important;
}

/* Servicios más limpios */
.servicios-categorias{
  gap:24px !important;
}

.servicio-categoria{
  transition:transform .28s ease, box-shadow .28s ease !important;
}

.servicio-categoria:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(0,0,0,.14) !important;
}

.servicio-header{
  min-height:76px !important;
}

.servicio-header span:first-child{
  line-height:1.2 !important;
}

.tratamiento{
  transition:all .22s ease !important;
}

.tratamiento:hover{
  transform:translateX(4px);
  background:rgba(255,255,255,.72) !important;
}

/* Carrusel resultados */
.carousel-wrapper{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}

.carousel-card{
  transition:transform .28s ease, box-shadow .28s ease !important;
}

.carousel-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(0,0,0,.16) !important;
}

.carousel-btn,
.review-carousel-btn{
  transition:all .25s ease !important;
}

/* Ubicación e instalaciones */
.ubicacion-layout-final,
.ubicacion-instalaciones-grid{
  align-items:stretch !important;
}

.instalaciones-panel-final,
.ubicacion-panel-final,
.instalaciones-panel,
.ubicacion-panel{
  transition:transform .28s ease, box-shadow .28s ease !important;
}

.instalaciones-panel-final:hover,
.ubicacion-panel-final:hover,
.instalaciones-panel:hover,
.ubicacion-panel:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(0,0,0,.13) !important;
}

.foto-principal img,
.foto-secundaria img,
.instalacion-photo img{
  transition:transform .42s ease !important;
}

.foto-principal:hover img,
.foto-secundaria:hover img,
.instalacion-photo:hover img{
  transform:scale(1.045);
}

/* Opiniones más compactas y elegantes */
.reviews-carousel-section,
#opiniones,
.opiniones-section{
  padding-top:60px !important;
  padding-bottom:60px !important;
}

.review-card{
  min-height:260px !important;
}

.review-card p{
  line-height:1.62 !important;
}

/* Contacto */
.contacto-box{
  align-items:center !important;
}

.contacto-form input,
.contacto-form select,
.contacto-form textarea{
  transition:all .25s ease !important;
}

.contacto-form input:focus,
.contacto-form select:focus,
.contacto-form textarea:focus{
  border-color:rgba(40,40,40,.35) !important;
  box-shadow:0 0 0 4px rgba(40,40,40,.08) !important;
}

/* Modales más suaves */
.doctor-modal,
.legal-modal{
  animation:modalSoftIn .28s ease;
}

@keyframes modalSoftIn{
  from{
    opacity:.4;
    transform:translateY(18px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* Footer final */
footer{
  letter-spacing:.1px !important;
}

footer p{
  margin-bottom:6px !important;
}

.cofepris-footer{
  margin-top:16px !important;
}

/* Mejoras responsive */
@media(max-width:900px){
  section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  .hero h1{
    font-size:clamp(2.1rem,7vw,3.2rem) !important;
    letter-spacing:-1px !important;
  }

  .title h2{
    font-size:clamp(1.9rem,6vw,2.8rem) !important;
  }

  .servicio-header{
    border-radius:26px !important;
  }
}

@media(max-width:560px){
  header{
    width:94% !important;
    padding:12px !important;
  }

  .menu{
    gap:8px !important;
  }

  .menu a{
    font-size:.9rem !important;
    padding:8px 12px !important;
  }

  .hero-card img{
    width:150px !important;
    height:150px !important;
  }

  .legal-footer-links{
    gap:8px !important;
  }

  .legal-footer-links button{
    font-size:.82rem !important;
    padding:8px 12px !important;
  }
}

/* Ajuste de proporción de la fotografía en el modal del doctor */
.doctor-modal-content{
    grid-template-columns:minmax(220px, .72fr) minmax(0, 1.28fr);
    gap:26px;
}
.doctor-photo{
    width:100%;
    height: min(390px, 58vh);
    min-height:0;
    max-height:390px;
    object-fit:cover;
    object-position:center 25%;
    border-radius:22px;
}
.doctor-modal{
    width:min(860px, 94vw);
}
@media(max-width:850px){
    .doctor-modal-content{grid-template-columns:1fr;}
    .doctor-photo{
        width:min(100%, 280px);
        height:300px;
        min-height:0;
        max-height:300px;
        justify-self:center;
        object-position:center 25%;
    }
}

/* Fondo general neutro claro para toda la página Skin Perfect */
:root{
  --beige:#f5f4f1;
  --beige-claro:#fbfaf8;
  --cafe:#b5a99b;
  --cafe-2:#d5ccc1;
  --cafe-oscuro:#655d55;
  --cafe-transparente:rgba(170,160,148,.28);
  --dorado:#c9b89e;
  --coral:#d8c8bd;
  --rosa-vivo:#e4d9d2;
  --durazno:#e9ded3;
  --blanco:#fffefd;
  --texto:#393633;
  --sombra:rgba(72,66,60,.10);
}
body{background:#f5f4f1 !important;color:#393633;}
header{background:rgba(255,254,252,.88) !important;box-shadow:0 10px 28px rgba(72,66,60,.09);}
.hero{
  background:linear-gradient(135deg,#fbfaf8 0%,#f1efeb 52%,#e9e5df 100%) !important;
  background-attachment:scroll !important;
}
.seccion-fondo{
  background-image:none !important;
  background-color:#f5f4f1 !important;
  background-attachment:scroll !important;
}
.seccion-fondo::before{
  background:linear-gradient(135deg,rgba(255,254,252,.72),rgba(235,231,225,.48)) !important;
}
#servicios{background-color:#f1efeb !important;}
#contacto{background-color:#f8f7f4 !important;}
.recent-list div,.menu a{background:rgba(255,254,252,.62);border-color:rgba(180,171,160,.24);}
