:root {
  --bg-main: #faf9f7;
  --bg-soft: #f5f2ed;
  --text-main: #1c1c1c;
  --text-soft: #6f6f6f;
}

body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background: var(--bg-main);
  color: var(--text-main);
}

/* NAV */
.nav {
  position: fixed;
  width: 100%;
  background: rgba(250,249,247,.95);
  z-index: 10;
}

.nav-inner {
  display: flex;
  justify-content: space-between;
  padding: 22px 0;
}

.logo {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
}

.nav a {
  margin-left: 28px;
  font-size: 14px;
  text-decoration: none;
  color: var(--text-main);
}

/* HERO */


/* HERO */
.hero {
  /* Espaciado superior para que no se choque con el menú fijo */
  padding-top: 140px; 
  /* Espaciado inferior para dar aire antes de la siguiente sección */
  padding-bottom: 80px; 
  
  /* En vez de 100vh, usamos una altura mínima más contenida */
  min-height: auto; /* Dejamos que se ajuste al contenido */
  
  /* Opcional: Si quieres que tenga un mínimo de altura garantizado (ej. 70% de la pantalla) */
  /* min-height: 70vh; */ 
  
  background: var(--bg-soft);
  display: flex;
  align-items: center; /* Centra verticalmente el contenido */
}

.overline {
  letter-spacing: 2px;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--text-soft);
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  margin: 20px 0;
}

.sobre-mi-h1{
    font-size: 60px !important;
}

.sobre-mi-h4{
  font-size: 24px !important;
}


.subtitle {
  font-size: 18px;
  color: var(--text-soft);
}

.hero-img img {
  width: 100%;
  border-radius: 4px;
}

/* BUTTON */
.btn-outline {
  display: inline-block;
  margin-top: 32px;
  padding: 14px 32px;
  border: 1px solid #000;
  text-decoration: none;
  color: #000;
  font-size: 14px;
}

.btn-outline.light {
  border-color: #fff;
  color: #fff;
}

/* SECTIONS */
.section {
  padding: 80px 0;
}

.section.light {
  background: var(--bg-soft);
}

.section.dark {
  background: #1c1c1c;
}

.section-title {
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  margin-bottom: 60px;
}

.light-text {
  color: #fff;
}

.narrow {
  max-width: 700px;
}

.center {
  text-align: center;
}

/* CARDS */
.card-soft h3 {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
}

.card-soft p {
  color: var(--text-soft);
}

/* TEXT */

.text-soft {
  color: var(--text-soft);
}

/* FAQ */
.faq-item {
  margin-bottom: 40px;
}

.faq-item h4 {
  font-weight: 500;
}

/* CONTACT */
.contact-form input,
.contact-form textarea {
  width: 100%;
  margin-bottom: 20px;
  padding: 14px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #aaa;
  color: #fff;
}

.contact-form::placeholder {
  color: #aaa;
}

/* FOOTER */
.footer {
  text-align: center;
  padding: 40px;
  font-size: 13px;
}
.treatment-card img {
  width: 100%;
  margin-bottom: 20px;
  border-radius: 4px;
}

.treatment-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
}

.testimonial {
  font-style: italic;
}

.testimonial span {
  display: block;
  margin-top: 15px;
  font-size: 13px;
  color: var(--text-soft);
}

/* FOOTER */
.footer {
  background: #1c1c1c;
  color: #eaeaea;
  padding: 50px 0 10px;
  font-size: 14px;
}

.footer-divider {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 40px;
}

.footer-content {
  display: grid;
  /* Cambiamos a máximo 3 columnas para que no se vea vacío */
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0px;
  margin-bottom: -30px;
}

.footer-column h4 {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  margin-bottom: 25px;
  color: #ffffff;
  font-weight: 500;
}

.footer-logo {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  margin-bottom: 20px;
  color: #7e6843a9; /* Color oro para el logo en el footer */
}

.footer-text {
  color: #bdbdbd;
  font-size: 0.7rem;
  line-height: 1.8;
}

.footer-column ul {
  list-style: none;
  padding: 0;
}

.footer-column ul li {
  margin-bottom: 10px;
}

.footer-column a {
  color: #bdbdbd;
  text-decoration: none;
  transition: all .3s ease;
}

.footer-column a:hover {
  color: #645439; /* Hover en color oro */
  padding-left: 5px;
}

.footer-bottom {
  text-align: center;
  padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,0.05);
  color: #666;
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 5px;
}

/* Estilos de los iconos de pago */
.payment-methods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 2rem; /* Tamaño de Visa/Mastercard */
    color: #b1986d77;
}

.bizum-pill {
    font-size: 10px;
    font-weight: 800;
    border: 1px solid #a18a60a8;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.5px;
}

/* Redes Sociales */
.social-icons a {
  font-size: 18px;
  color: #a38655;
}

.social-icons a:hover {
  color: #ffffff;
  padding-left: 0; /* Evitar que el icono se mueva como los links */
}

/* SOCIAL ICONS */
.social-icons {
  margin-top: 15px;
}

.social-icons a {
  margin-right: 12px;
  font-size: 16px;
  color: #bdbdbd;
  transition: transform .3s ease, color .3s ease;
}

.social-icons a:hover {
  color: #fff;
  transform: translateY(-2px);
}

/* MAP */
.map-responsive iframe {
  width: 100%;
  height: 150px;
  border: 0;
  border-radius: 4px;
}

/* BOTTOM */
.footer-bottom {
  text-align: center;
  margin-top: 60px;
  font-size: 12px;
  color: #aaa;
}

.footer-logo-img {
    height: 55px; /* Un poco más grande que en el nav para que destaque */
    width: auto;
    transition: opacity 0.3s ease;
}

.footer-logo-img:hover {
    opacity: 0.8;
}
/* =========================================
   NAVBAR & MENÚ
   ========================================= */

/* Fondo y efectos generales de la barra */
.custom-nav {
  background: rgba(243, 241, 239, 0.95); /* Un poco más opaco para legibilidad */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.custom-nav.scrolled {
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

/* --- ENLACES DEL MENÚ (Texto y Subrayado) --- */
.navbar .nav-link {
  position: relative;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #1c1c1c;
  padding: 8px 0 4px 0; 
  margin: 0 15px;
  transition: color 0.3s ease;
  display: flex; /* Para alinear texto y flechita correctamente */
  align-items: center;
}

/* La línea animada (Subrayado) */
.navbar .nav-link::after {
  content: "";
  position: absolute;
  bottom: 2px; 
  left: 0;
  width: 0%;
  height: 1px; 
  background-color: #1c1c1c;
  transition: width 0.35s ease;
}

/* Efecto Hover en el enlace */
.navbar .nav-link:hover {
  color: #000;
}

.navbar .nav-link:hover::after {
  width: 100%;
}

/* Mantener subrayado en la página activa */
.navbar .nav-link.active::after {
  width: 100%;
}

/* --- FLECHITA DEL DESPLEGABLE --- */
.nav-arrow {
  font-size: 10px;       
  margin-left: 6px; /* Separación entre el texto y la flecha */
  transition: transform 0.3s ease, color 0.3s ease;
  opacity: 0.7;
}

/* Rotación y color dorado al pasar el ratón por todo el enlace */
.nav-link:hover .nav-arrow,
.nav-link[aria-expanded="true"] .nav-arrow {
  transform: rotate(180deg); 
  color: #a38655; 
  opacity: 1;
}

/* Ajustes del cuadro desplegable */
.navbar .dropdown-menu {
  border-radius: 0px; 
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  margin-top: 10px; 
  padding: 10px 0;
}

/* --- BOTÓN PEDIR CITA --- */
.navbar .btn-outline-dark {
  /* Estado normal: Negro sólido */
  background-color: #1c1c1c;
  color: #ffffff;
  border: 1px solid #1c1c1c;
  
  /* Estilo */
  border-radius: 0px; 
  padding: 10px 25px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

/* Estado Hover: Transparente con texto negro */
.navbar .btn-outline-dark:hover {
  background-color: transparent; 
  color: #1c1c1c; 
  border-color: #1c1c1c; 
}

.navbar-logo {
    height: 45px; /* Ajusta este valor según la proporción de tu logo */
    width: auto;
    transition: transform 0.3s ease;
    display: block;
}

/* Efecto sutil al pasar el ratón */
.navbar-brand:hover .navbar-logo {
  transform: scale(1.05);
}

/* --- CUSTOM ACCORDION (FAQ) --- */

/* Quitar bordes y fondo del contenedor general */
.custom-accordion .accordion-item {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); /* Línea separadora sutil */
  border-radius: 0;
}

/* Estilo del botón (la pregunta) */
.custom-accordion .accordion-button {
  background-color: transparent;
  color: var(--text-main);
  font-family: 'Playfair Display', serif; /* Tu tipografía elegante */
  font-size: 15px;
  padding: 25px 0; /* Espaciado vertical */
  box-shadow: none; /* Quita el brillo azul de Bootstrap al hacer clic */
  border: none;
  transition: color 0.3s ease;
}

/* Estado Hover (al pasar el ratón) */
.custom-accordion .accordion-button:hover {
  color: #866f47; /* Dorado apagado / Bronce elegante */
  background-color: transparent; 
}

/* Estado Activo (cuando está desplegado) */
.custom-accordion .accordion-button:not(.collapsed) {
  color: #866f47; /* Mismo dorado cuando está abierto */
  background-color: transparent; 
  box-shadow: none;
}

/* El cuerpo de la respuesta */
.custom-accordion .accordion-body {
  padding: 0 0 25px 0;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.6;
}

/* --- PERSONALIZACIÓN DE LA FLECHA --- */

/* La flecha por defecto de Bootstrap es una imagen SVG. 
   Aquí la forzamos a que siempre se vea negra o del color del texto */
.custom-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231c1c1c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transition: transform 0.3s ease;
  margin-left: auto; /* Asegura que la flecha se vaya a la derecha del todo */
}

/* Cambiar color de la flecha a dorado cuando está abierto o en hover */
.custom-accordion .accordion-button:not(.collapsed)::after,
.custom-accordion .accordion-button:hover::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23a38655'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* La rotación ya la hace Bootstrap automáticamente, 
   pero si quieres ajustarla: */
.custom-accordion .accordion-button:not(.collapsed)::after {
  transform: rotate(-180deg);
}

/* Subtítulo dorado pequeño */
.overline-gold {
  display: block; /* Para que fuerce una línea nueva */
  font-family: 'Inter', sans-serif; /* Usamos la fuente sans-serif para que sea legible */
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 3px; /* Espaciado entre letras para elegancia */
  color: #a38655; /* El dorado apagado */
  margin-bottom: 5px; /* Separación con el título principal */
}

/* Ajuste extra para asegurar que el título se vea bien negrito */
.section-title {
  /* Si Playfair Display no se ve suficientemente gruesa, forzamos el peso */
  font-weight: 700; 
  /* Reducimos el margen inferior por defecto si queda mucho espacio con el acordeón */
  margin-bottom: 40px; 
}

/* --- SECCIÓN CONTACTO / CITA --- */

/* Estilo para los iconos dorados de la izquierda */
.icon-gold {
  color: #a38655;
  font-size: 20px;
  width: 30px; /* Ancho fijo para alinear texto */
  text-align: center;
}

/* Tipografía Serif auxiliar para subtítulos */
.font-serif {
  font-family: 'Playfair Display', serif;
}

/* TARJETA DEL FORMULARIO */
.appointment-card {
  background: #fff;
  padding: 40px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.05); /* Sombra suave y difusa */
  border-radius: 4px; /* Bordes ligeramente redondeados */
  border: 1px solid rgba(0,0,0,0.02);
}

/* INPUTS PERSONALIZADOS */
.form-control-custom {
  width: 100%;
  border: none;
  border-bottom: 1px solid #dcdcdc; /* Línea gris suave */
  background: transparent;
  padding: 10px 0;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #1c1c1c;
  transition: all 0.3s ease;
  border-radius: 0; /* Sin bordes redondos en inputs */
}

/* Al hacer clic en el input */
.form-control-custom:focus {
  outline: none;
  border-bottom: 1px solid #a38655; /* Se pone dorado */
  background: transparent;
}

/* Ajuste del select para que se vea igual que los inputs */
select.form-control-custom {
  cursor: pointer;
  background-color: transparent; 
}


/* --- SECCIÓN FILOSOFÍA --- */

/* Contenedor de la imagen para crear el efecto de marco superpuesto */
.philosophy-img-container {
  position: relative;
  padding: 20px 0 0 20px; /* Dejamos hueco arriba e izquierda para que se vea la línea */
}

.philosophy-img-container img {
  position: relative;
  z-index: 2; /* La imagen va por encima */
  border-radius: 2px;
  width: 100%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05); /* Sombra suave */
}

/* La línea decorativa (El marco fino) */
.philosophy-img-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;   /* Ocupa la mitad del ancho */
  height: 50%;  /* Ocupa la mitad del alto */
  border-top: 1px solid #a38655;  /* Línea dorada arriba */
  border-left: 1px solid #a38655; /* Línea dorada izquierda */
  z-index: 1; /* Va por detrás de la imagen */
}

/* Estilo para la palabra "Arte" en cursiva elegante */
.serif-italic {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
}

/* Bloque de la cita */
.philosophy-quote {
  border-left: 3px solid #a38655; /* La barra vertical dorada */
  padding-left: 30px; /* Espacio entre la barra y el texto */
  margin-top: 30px;
}

.philosophy-quote p {
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-soft);
  margin-bottom: 0;
}

.philosophy-quote cite {
  font-family: 'Playfair Display', serif;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.5px;
  color: #1c1c1c;
}

/* --- SECCIÓN DE MARCAS --- */

.brands-container {
  display: flex;
  flex-wrap: wrap; /* Si hay muchos, bajan a la siguiente línea */
  justify-content: center; /* Centrados horizontalmente */
  align-items: center; /* Alineados verticalmente */
  gap: 40px 60px; /* Espacio entre logos (Vertical / Horizontal) */
}

.brand-logo {
  max-height: 45px; /* Altura máxima uniforme para que ninguno se vea gigante */
  max-width: 140px; /* Ancho máximo */
  width: auto;
  
  /* EL TRUCO DE ELEGANCIA: */
  filter: grayscale(100%) opacity(0.4); /* Blanco y negro y un poco transparente */
  transition: all 0.4s ease; /* Transición suave */
  cursor: pointer;
}

/* Efecto al pasar el ratón */
.brand-logo:hover {
  filter: grayscale(0%) opacity(1); /* Vuelve a color y opacidad total */
  transform: translateY(-3px); /* Se levanta un poquito */
}



/* Flecha para subir */
/* Estilo del botón "Subir arriba" */
.back-to-top {
    position: fixed;
    bottom: 12%;
    right: -0.5%;
    width: 3.5%;
    height: 5%;
    background-color: #7e684383;
    color: white;
    border-radius: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.3s ease;
    transition: all 0.3s ease-in-out;
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background-color: #5c4c30b9;
    transform: translateY(-5px);
}

/* --- BOTÓN FLOTANTE WHATSAPP --- */
.whatsapp-btn {
  position: fixed;
  bottom: 30px; /* Distancia desde abajo */
  left: 30px;   /* Distancia desde la izquierda */
  width: 55px;
  height: 55px;
  background-color: #1c1c1c; /* Negro marca */
  color: #ffffff;
  border-radius: 50%; /* Totalmente circular */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px; /* Tamaño del icono */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 1000; /* Asegura que esté por encima de todo */
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Efecto elástico suave */
}

/* Efecto Hover: se hace un pelín más grande */
.whatsapp-btn:hover {
  transform: scale(1.1);
  color: #ffffff;
  background-color: #000000; /* Un negro ligeramente más profundo al pulsar */
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* --- ELIMINAR AZUL DE LOS SELECTS --- */

.form-control-custom {
  /* ... tus estilos anteriores ... */
  accent-color: #a38655; /* Esto cambia el color de selección nativo en navegadores modernos */
  outline: none !important;
  box-shadow: none !important;
}

/* 1. Quitamos el resplandor (glow) de Bootstrap y del Navegador */
.form-control-custom:focus, 
.form-control-custom:active,
.form-control-custom:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-bottom: 1px solid #a38655 !important; /* Mantenemos tu línea dorada */
  -webkit-tap-highlight-color: transparent; /* Quita el destello azul en móviles (iOS/Android) */
}

/* 2. Intentar cambiar el azul de las opciones (Nota: algunos navegadores lo ignoran por seguridad) */
.form-control-custom option {
  background-color: #faf9f7 !important;
  color: #1c1c1c !important;
}

/* 3. Para quitar el azul cuando el ratón pasa por encima de las opciones */
.form-control-custom option:hover,
.form-control-custom option:focus,
.form-control-custom option:active,
.form-control-custom option:checked {
  background-color: #f5f2ed !important; /* Un beige un poco más oscuro que el fondo */
  color: #a38655 !important; /* Texto en dorado */
  box-shadow: 0 0 10px 100px #f5f2ed inset !important; /* Truco para forzar el color de fondo */
}

/* --- MODAL DE MARCAS PERSONALIZADO --- */

/* Hacemos el modal pequeño y elegante */
.custom-brand-modal .modal-dialog {
  max-width: 380px; /* Tamaño de cuadro pequeño */
}

.custom-brand-modal .modal-content {
  background-color: #faf9f7; /* Tu beige de fondo */
  border: none;
  border-radius: 0px; /* Estética cuadrada */
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
  position: relative;
}

/* El botón de cerrar (X) */
.custom-brand-modal .btn-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 12px;
  filter: grayscale(1); /* Que no sea azul */
  opacity: 0.5;
}

.custom-brand-modal .btn-close:focus {
  box-shadow: none; /* Quitamos el azul de nuevo */
}

/* Animación de entrada suave hacia arriba */
.custom-brand-modal.fade .modal-dialog {
  transform: translateY(20px);
  transition: transform 0.4s ease-out;
}

.custom-brand-modal.show .modal-dialog {
  transform: translateY(0);
}

/* Estilo de los logos cuando son interactivos */
/* --- OPTIMIZACIÓN MÓVIL PARA MARCAS --- */

.brand-logo {
  cursor: pointer;
  /* ESTO ELIMINA EL RECUADRO AZUL AL TOCAR EN MÓVILES */
  -webkit-tap-highlight-color: transparent;
  outline: none !important;
  transition: transform 0.3s ease;
}

/* En el móvil, cuando el usuario mantiene pulsado o toca, 
   damos un pequeño feedback visual de que ha pulsado */
.brand-logo:active {
  transform: scale(0.95);
  filter: grayscale(0%);
}

/* --- ESTILO DEL BOCADILLO (POPOVER) --- */

/* La flechita del bocadillo */
.bs-popover-top > .popover-arrow::after {
  border-top-color: #faf9f7; /* Color igual al fondo del bocadillo */
}

/* Evitar el azul al hacer click en móviles */
.brand-logo {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}


/* --- AJUSTE ANCHO BOCADILLO --- */
.popover-body ul {
  padding-left: 15px; /* Margen para los puntitos de la lista */
  margin-top: 10px;
  margin-bottom: 0;
}

.popover-body li {
  margin-bottom: 5px;
  font-size: 11px; /* Un pelín más pequeño para que quepa todo */
}


/* Estilo de la imagen DENTRO del bocadillo */
.popover-img {
  width: 100%;
  height: auto;
  border-radius: 4px; /* Un pelín redondeado para suavizar */
  margin-bottom: 12px;
  display: block;
}

/* Ajuste del bocadillo para que sea más como una tarjeta */
.popover {
  max-width: 280px; 
  border-radius: 0;
  border: 1px solid #a3865533;
  background-color: #faf9f7;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.popover-header {
  font-weight: bold;
  font-size: 13px;
  text-align: center;
  background-color: transparent;
  color: #a38655;
  font-family: 'Playfair Display', serif;
  border-bottom: 1px solid rgba(163, 134, 85, 0.1);
}

.popover-body {
  color: #6f6f6f; /* Tu text-soft */
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  line-height: 1.5;
  padding: 12px 15px;
  padding: 15px;
  text-align: justify;
}

/* --- ESTILO SECCIÓN CONTACTO --- */

.img-doctor-contact {
    filter: grayscale(20%); /* Un toque artístico sutil */
    border-radius: 0px; 
    box-shadow: 20px 20px 0px -5px #f3f1ef, 20px 20px 0px -4px #a38655; /* Marco dorado desplazado */
    transition: all 0.5s ease;
}

.img-doctor-contact:hover {
    filter: grayscale(0%);
    transform: translate(-5px, -5px);
    box-shadow: 25px 25px 0px -5px #f3f1ef, 25px 25px 0px -4px #a38655;
}

/* Tarjeta del formulario */
.appointment-card {
    background: #ffffff;
    padding: 50px;
    border: 1px solid rgba(163, 134, 85, 0.1);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.05);
    position: relative;
}

/* Íconos de contacto */
.icon-gold {
    color: #a38655;
    font-size: 1.2rem;
    width: 40px;
}

.contact-info h5 {
    font-size: 1.1rem;
    letter-spacing: 0.5px;
}

/* Estilo del Asterisco */
.required-gold {
  color: #a38655;
  cursor: help;
  font-weight: bold;
  font-size: 10px;
  padding: 0 5px;
}

/* Personalización del Tooltip (Bocadillo del asterisco) */
.tooltip-inner {
  background-color: #faf9f7 !important;
  color: #a38655 !important;
  border: 1px solid #a3865533;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 0; /* Cuadrado como tus popovers */
  padding: 8px 12px;
}

.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #a3865533 !important;
}

/* Asegurar que los inputs no se pongan rojos */
.form-control-custom:invalid,
.form-control-custom:focus:invalid {
  box-shadow: none !important;
}

/* Estilo de la lista desplegable */
.custom-dropdown-list {
  background-color: #faf9f7 !important; /* Tu beige */
  border: 1px solid #a3865533 !important;
  border-radius: 0;
  padding: 0;
  margin-top: 2px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Estilo de cada opción */
.custom-dropdown-list .dropdown-item {
  padding: 12px 20px;
  color: #1c1c1c;
  font-size: 0.9rem;
  transition: all 0.3s ease;
}

/* ELIMINAR EL AZUL Y PONER TU COLOR */
.custom-dropdown-list .dropdown-item:hover, 
.custom-dropdown-list .dropdown-item:focus {
  background-color: #f3f1ef !important; /* Beige un poco más oscuro */
  color: #a38655 !important;           /* Texto dorado */
  outline: none;
}

/* Cuando una opción está seleccionada (activa) */
.custom-dropdown-list .dropdown-item.active, 
.custom-dropdown-list .dropdown-item:active {
  background-color: #a38655 !important;
  color: white !important;
}

/* Para que el botón mantenga la línea dorada si hay algo escrito */
.has-selection {
  border-bottom: 1px solid #a38655 !important;
}

/* --- NAVBAR GENERAL --- */
.custom-nav {
    background-color: rgba(250, 249, 247, 0.95); /* Beige claro con transparencia */
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(163, 134, 85, 0.1);
    padding: 15px 0;
}

.nav-link {
    color: #1c1c1c !important;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 15px !important;
    transition: color 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    color: #645439 !important; /* Dorado al pasar el ratón */
}

/* --- DROPDOWN SIN AZUL --- */
.dropdown-menu {
    background-color: #faf9f7 !important;
    border-radius: 0;
    margin-top: 10px !important;
    padding: 0;
}

.dropdown-item {
    padding: 12px 25px;
    font-size: 0.8rem;
    color: #1c1c1c;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(163, 134, 85, 0.05);
}

/* AQUÍ MATAMOS EL AZUL DEL HOVER */
.dropdown-item:hover, .dropdown-item:focus {
    background-color: #f3f1ef !important; /* Beige suave */
    color: #645439 !important;           /* Texto dorado */
}

/* --- BOTÓN PEDIR CITA --- */
.btn-cita-nav {
    display: inline-block;
    padding: 10px 25px;
    border: 1px solid #1c1c1c;
    color: #1c1c1c;
    text-decoration: none;
    font-size: 0.75rem;
    letter-spacing: 2px;
    transition: all 0.4s ease;
}

.btn-cita-nav:hover {
    background-color: #1c1c1c;
    color: #faf9f7;
}

/* Animación de la flecha */
.nav-arrow {
    transition: transform 0.3s ease;
}
.show > .nav-link .nav-arrow {
    transform: rotate(180deg);
}

.btn-cita-nav-inverse {
    display: inline-block;
    padding: 10px 28px;
    background-color: #1c1c1c; /* Fondo negro inicial */
    color: #faf9f7 !important; /* Texto claro inicial */
    border: 1px solid #1c1c1c; /* Borde negro para que no salte al cambiar */
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 2px;
    font-weight: 500;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); /* Transición elegante */
    text-align: center;
    border-radius: 5px; 
}

.btn-cita-nav-inverse:hover {
    background-color: transparent; /* Se vuelve transparente */
    color: #1c1c1c !important;     /* El texto cambia a negro para ser legible */
    border-color: #1c1c1c;         /* Mantenemos el borde negro */
}

/* --- ESTILO TESTIMONIOS --- */

.testimonial-card {
    padding: 20px;
    transition: transform 0.3s ease;
}

.patient-image-wrapper {
    width: 300px;
    height: 300px;
    margin: 0 auto;
    position: relative;
    border: 2px solid #a38655; /* Aro dorado sutil alrededor de la foto */
    border-radius: 50%;
    padding: 5px;
}

.testimonial-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(30%); /* Efecto elegante */
}

.stars-gold {
    color: #a38655;
    font-size: 0.8rem;
}

.testimonial-text {
    font-style: italic;
    color: #4a4a4a;
    line-height: 1.6;
    font-size: 0.95rem;
}

.patient-name {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #a38655;
    font-weight: 600;
}

/* Efecto hover sutil */
.testimonial-card:hover {
    transform: translateY(-5px);
}

/* Estabilizador del contenedor */
.philosophy-img-container {
    position: relative;
    padding-bottom: 30px; 
    padding-right: 30px;
    overflow: hidden; /* Evita que las imágenes se salgan antes de tiempo */
}

/* Forzar que el carrusel mantenga el tamaño */
#philosophyCarousel {
    width: 100%;
    /* Altura fija para evitar el salto. Ajusta los 500px según prefieras */
    height: 500px; 
    background-color: #faf9f7; /* Fondo beige por si una imagen tarda en cargar */
}

#philosophyCarousel .carousel-inner,
#philosophyCarousel .carousel-item {
    height: 100%;
}

/* Asegurar que la imagen llene el espacio sin deformarse */
.img-philosophy {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

/* La línea horizontal (base) */
.corner-line {
    position: absolute;
    bottom: 10px;
    right: 0;
    width: 140px;
    height: 1px;
    background-color: #a38655; /* Tu dorado */
    z-index: 10;
}

/* La línea vertical (se añade a la derecha) */
.corner-line::after {
    content: ''; /* Necesario para que el elemento exista */
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 1px;        /* Grosor vertical */
    height: 80px;      /* Altura de la línea vertical */
    background-color: #a38655; /* EL COLOR QUE FALTABA */
}

/* --- FIX CARRUSEL INFINITO SIN CORTES --- */

/* 1. Forzamos que las imágenes no parpadeen al cambiar */
.carousel-fade .carousel-item {
    opacity: 0;
    transition-duration: 1.5s; /* Ajusta la velocidad del desvanecimiento */
    transition-property: opacity;
    display: block !important;
    position: absolute !important; /* Todas en el mismo sitio */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
}

/* 2. La imagen activa sube de nivel y se hace visible */
.carousel-fade .carousel-item.active {
    opacity: 1;
    z-index: 1;
    position: relative !important; /* Esta es la única que mantiene el alto del contenedor */
}

/* 3. Evitamos que Bootstrap use su animación de slide interna que causa el salto */
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    z-index: 1;
    opacity: 1;
    transition: none; /* Quitamos transiciones extrañas de movimiento */
}

/* 4. Importante: Asegurar que el fondo del carrusel sea del mismo color que tu web
      por si hay una milésima de segundo de transparencia */
#philosophyCarousel {
    background-color: #faf9f7; /* Tu color beige de fondo */
}

/* --- CONTENEDOR DE LA IMAGEN --- */

.doctor-img-circle {
    width: 380px;      /* Tamaño de la foto */
    height: 380px;
    object-fit: cover;
    z-index: 2;
    position: relative;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

/* Aro dorado alrededor de la foto */
.circle-ring {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid #a38655;
    border-radius: 50%;
    z-index: 1;
    transform: scale(1.05); /* Ligeramente más grande que la foto */
    opacity: 0.6;
}

/* Tipografía de la sección */
.text-large {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #1c1c1c;
}

.text-soft {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.7;
}

.text-soft2 {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.7;
}

.text-soft3 {
    font-size: 0.8rem;
    color: #666;
    line-height: 1.7;
}

.text-justify {
    text-align: justify;
}

.gold-text {
    color: #a38655;
}

/* Medalla Flotante */
.years-badge {
    position: absolute;
    bottom: 20px;
    right: 10px;
    background-color: white;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    border: 1px solid rgba(163, 134, 85, 0.2);
}

.badge-number {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
}

.badge-text {
    font-size: 9px;
    letter-spacing: 2px;
    color: #1c1c1c;
    font-weight: 600;
}

/* Ajuste del contenedor para que la medalla no se corte */
.doctor-circle-container {
    position: relative;
    display: inline-block;
    padding: 10px; /* Espacio para que el aro respire */
}

.divider-gold {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0; /* Espaciado entre secciones */
    opacity: 0.6;
}

.divider-line {
    flex-grow: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, #a38655, transparent);
    max-width: 250px; /* Controla el largo de la línea */
}

.divider-diamond {
    width: 8px;
    height: 8px;
    background-color: #a38655;
    transform: rotate(45deg);
    margin: 0 20px;
}

.value-icon {
    font-size: 1.4rem; /* Tamaño discreto y elegante */
    margin-bottom: 10px;
    display: inline-block;
}

.gold-text {
    color: #a38655;
}

/* Si no usas FontAwesome, puedes usar estos estilos para emojis normales para que se vean más premium */
.value-icon span {
    filter: sepia(1) saturate(2) hue-rotate(5deg); /* Efecto dorado para emojis */
}

.minimal-icon-wrap {
    width: 30px; /* Ancho fijo para alineación vertical */
    text-align: center;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Opcional: un efecto suave al pasar el ratón por la fila */
.d-flex.align-items-center:hover .gold-text {
    transform: scale(1.2);
    transition: transform 0.3s ease;
}
/* Estilo para la lista de beneficios sobre el doctor */
.doctor-specialties-minimal li {
    font-size: 1.05rem;
    color: #444;
    padding: 10px 0;
}

.gold-check {
    color: #a38655;
    font-weight: bold;
}

/* Mantenemos el dorado para las palabras clave */
.gold-text {
    color: #8c734b; /* Dorado oscuro profesional */
    font-weight: 500;
}

/* Ajuste de contenedor y texto */
.container.narrow {
    max-width: 1250px;
    margin-left: auto;
    margin-right: auto;
}

.text-start {
    text-align: left !important;
}

.doctor-specialties-minimal {
    padding-left: 0;
    margin-top: 20px;
    padding-right: 20px;
}

/* Contenedor de la imagen médica */
.medical-img-wrapper {
    position: relative;
    display: inline-block;
    padding: 10px;
}

.medical-detail-img {
    max-width: 90%;
    height: auto;
    border-radius: 8px;
    position: relative;
    z-index: 2;
    filter: grayscale(20%); /* Un toque sobrio */
}

/* Marco sutil decorativo */
.detail-border {
    position: absolute;
    top: 0;
    left: 20px;
    width: 60px;
    height: 60px;
    border-top: 2px solid #a38655;
    border-left: 2px solid #a38655;
    z-index: 1;
}

/* Contenedor de la tarjeta */
.treatment-card-minimal {
    text-align: center;
    margin-bottom: 50px;
}

/* El bloque de contenido (Título + Párrafo + Botón) */
.treatment-content-box {
    margin-top: 50px; /* Aumentamos la separación significativamente */
}

.offset-frame-container {
    position: relative;
    width: 100%; 
    max-width: 380px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1;
}

/* Marco Dorado */
.offset-frame-container::before {
    content: '';
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #a38655ab; 
    background: transparent;
    z-index: 1;
    pointer-events: none;
    /* Añadimos transición aquí para que el regreso sea suave */
    transition: all 0.5s ease;
}

/* Imagen Desplazada Inicialmente */
.image-offset {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
    overflow: hidden;
    /* Desplazamiento inicial hacia abajo a la derecha */
    transform: translate(15px, 15px);
    transition: all 0.5s ease;
}

/* EFECTO HOVER: Ambos elementos se mueven */
.treatment-card-minimal:hover .offset-frame-container::before {
    /* El marco se desplaza hacia el lado contrario o se ajusta */
    transform: translate(8px, 8px);
}

.treatment-card-minimal:hover .image-offset {
    /* La imagen vuelve a su posición original (o se acerca al marco) */
    transform: translate(0px, 0px);
}

.image-offset img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* Un ligero zoom en la imagen al hacer hover queda muy premium */
    transition: transform 0.8s ease;
}

.treatment-card-minimal:hover .image-offset img {
    transform: scale(1.05);
}
/* Tipografía */
.treatment-h3 {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #1a1a1a;
    letter-spacing: 1px;
}

.treatment-p {
    font-size: 0.95rem;
    color: #888;
    margin-bottom: 25px;
}

/* Filtros de Casos */
.btn-filter {
    background: transparent;
    border: 1px solid rgba(163, 134, 85, 0.3);
    color: #444;
    padding: 8px 25px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.btn-filter.active, .btn-filter:hover {
    background: #a38655;
    color: white;
    border-color: #a38655;
}

/* Tarjetas de Casos */
.case-card {
    background: white;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.case-img-container {
    position: relative;
    display: flex;
    gap: 2px;
    background: #eee;
    height: 300px;
}

.case-img-before, .case-img-after {
    width: 50%;
    height: 100%;
    object-fit: cover;
}

.badge-case {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(255,255,255,0.9);
    color: #a38655;
    padding: 4px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.case-info {
    padding: 20px 0;
}

.case-info h5 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    margin-bottom: 5px;
}

/* --- IPHONE FRAME (ESTRELLA DE LA SECCIÓN) --- */
.iphone-frame {
    width: 280px;
    height: 580px;
    background: #1c1c1c;
    border: 12px solid #222;
    border-radius: 40px;
    position: relative;
    box-shadow: 0 50px 100px rgba(0,0,0,0.2);
}

.iphone-screen {
    width: 100%;
    height: 100%;
    border-radius: 28px;
    overflow: hidden;
    background: #000;
}

.video-experience {
    width: 100%;
    height: 112%;
    object-fit: cover;
}

.iphone-notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 25px;
    background: #222;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    z-index: 10;
}

/* El "emoticono" sutil: un punto de diseño */
.dot-gold {
    width: 5px;
    height: 5px;
    background-color: #a38655; /* El dorado de tu marca */
    border-radius: 50%; /* Lo hace circular */
    display: inline-block;
    opacity: 0.8;
}

.list-unstyled li {
    font-size: 1rem;
    color: #444;
    letter-spacing: 0.3px;
}

.custom-select {
    border: none;
    border-bottom: 2px solid #eee;
    border-radius: 0;
    padding: 10px 0;
    font-size: 0.9rem;
    color: #1a1a1a;
    background-color: transparent;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.custom-select:focus {
    box-shadow: none;
    border-color: #a38655;
}

.case-item {
    transition: all 0.4s ease-in-out;
}

/* Estética de la Galería de Casos */
.case-card {
    background: #ffffff73;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    height: 100%;
    border: 1px solid rgba(0,0,0,0.05);
}

.case-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

/* Contenedor Dual de Imágenes */
.case-img-wrapper {
    display: flex;
    gap: 2px; /* Línea divisoria sutil */
    background: #f8f8f8;
    height: 320px;
    position: relative;
}

.case-img-side {
    width: 50%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.case-img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Etiquetas Antes/Después sobre la foto */
.label-img {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.85);
    color: #1a1a1a;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 3px 10px;
    letter-spacing: 1px;
    border-radius: 20px;
    pointer-events: none;
}

/* Información del Caso */
.case-info {
    padding: 25px;
}

.case-tag {
    color: #a38655;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
}

.case-info h5 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: #1a1a1a;
}

.case-info p {
    font-size: 0.9rem;
    color: #777;
    line-height: 1.5;
    margin-bottom: 0;
}


/* Estilo Selectores */
.custom-select {
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    padding: 12px !important;
    font-size: 0.9rem !important;
}

.btn-limpiar {
    background: transparent;
    border: none;
    color: #a38655;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 15px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-limpiar:hover {
    color: #1a1a1a;
    transform: translateX(-3px);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.case-item {
    animation: fadeIn 1.2s ease forwards;
}

/* Para las filas que están invertidas, alineamos el divisor a la derecha */
.flex-lg-row-reverse .divider-gold {
    justify-content: flex-end !important;
}

/* Espaciado entre casos */
.case-item {
    border-bottom: 1px solid rgba(163, 134, 85, 0.1);
    padding-bottom: 4rem;
}

.case-item:last-child {
    border-bottom: none;
}

/* Efecto en las imágenes al pasar el ratón */
.case-card img {
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.case-card:hover img {
    transform: scale(1.05);
}

/* Ajuste etiquetas */
.label-img {
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.maintenance-icon i {
    filter: drop-shadow(0 5px 15px rgba(163, 134, 85, 0.2));
}

.img-commitment-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    transition: transform 0.4s ease;
}

.img-commitment-wrapper img {
    width: 100%;
    height: 450px; /* Ajusta la altura según tus fotos originales */
    object-fit: cover;
    display: block;
}

.img-commitment-wrapper:hover {
    transform: translateY(-10px);
}

/* El botón sutil para ver el antes/después */
.btn-ver-cambio-sutil {
    background: transparent;
    border: none;
    color: #a38655;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-top: 10px;
    transition: all 0.3s ease;
}

.btn-ver-cambio-sutil:hover {
    letter-spacing: 2px;
    opacity: 0.8;
}

/* La etiqueta (tag) del tratamiento */
.case-tag {
    display: inline-block;
    color: #a38655;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

/* Botón X de cerrar */
.btn-close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 1060;
    background: rgba(0, 0, 0, 0.5); /* Fondo oscuro semitransparente */
    color: white;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-close-modal:hover {
    background: #a38655; /* Cambia a dorado al pasar el ratón */
    transform: rotate(90deg);
}

/* Imagen a gran escala */
.img-full-size {
    width: 100%;
    height: 650px; /* Altura generosa para que las fotos luzcan */
    object-fit: cover;
    display: block;
}

/* Píldoras flotantes (Antes y Después) */
.badge-float {
    position: absolute;
    top: 600px;
    left: 25px; /* "Antes" a la izquierda */
    background: white;
    color: #333;
    padding: 8px 25px;
    border-radius: 50px; /* Estilo redondo de botón */
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    z-index: 10;
}

/* Píldora de "Después" (Color Dorado) */
.badge-gold {
    left: auto;
    right: 25px; /* "Después" a la derecha */
    background: #ffffff;
    color: rgb(0, 0, 0);
}

.border-end-gold { 
  border-right: 1px solid #a38655; 
}

.step-number { 
  font-family: 'Playfair Display', serif; 
  font-size: 3rem; 
  color: rgba(163, 134, 85, 0.2); 
  line-height: 1; 
}

.method-icon { 
  width: 40px; 
  height: 40px; 
  background: #a3865583; 
  color: white; 
  border-radius: 50%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  flex-shrink: 0; 
  font-weight: bold; 
}

.commitment-card { 
  padding: 30px; 
  border: 1px solid #eee; 
  border-radius: 15px; 
  height: 100%; 
  transition: all 0.3s ease; 
}

.commitment-card:hover { 
  border-color: #a38655; 
  background: #fcf9f4; 
}

.floating-quote { 
  position: absolute; 
  bottom: 30px; 
  left: -20px; 
  background: white; 
  padding: 25px; 
  box-shadow: 0 10px 30px rgba(0,0,0,0.1); 
  border-left: 5px solid #a38655; 
  max-width: 300px; 
  font-style: italic; 
}

.experience-years-tag { 
  display: inline-block; 
  padding: 5px 15px; 
  background: #fcf9f4; 
  border: 1px solid #a38655; 
  color: #a38655; 
  border-radius: 20px; 
  font-size: 0.7rem; 
  font-weight: bold; 
  text-transform: uppercase; 
}

/* Estilos Banner Cookies */
.cookie-banner {
    position: fixed;
    bottom: -100%; /* Oculto por defecto */
    left: 0;
    width: 100%;
    background: #fcfaf6;
    padding: 20px 0;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.05);
    z-index: 9999;
    transition: bottom 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    border-top: 1px solid #eee;
}

.cookie-banner.show {
    bottom: 0; /* Desliza hacia arriba */
}

.cookie-text {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.5;
}

.cookie-link {
    color: #a38655;
    text-decoration: underline;
}

.btn-cookie {
    background: #96805aa6;
    color: #fff;
    border: none;
    padding: 8px 25px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-cookie:hover {
    background: #836b41c9;
    transform: translateY(-2px);
}

/* Botón Rechazar (Blanco - El discreto) */
.btn-cookie-outline {
    background: transparent;
    color: #a38655; /* Texto en dorado para que combine */
    border: 1px solid #a38655;
    padding: 7px 20px;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-cookie-outline:hover {
    background: #fcf9f4; /* Un toque crema muy suave al pasar el ratón */
    color: #8e744a;
    transform: translateY(-2px);
}

.casos-banner {
    /* CAMBIA ESTO POR TU IMAGEN */
    background: linear-gradient(rgba(0, 0, 0, 0.568), rgba(0, 0, 0, 0.178)), 
                url("../assets/portada2_estrecha.jpg"); 
    
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0 150px 0; /* Espacio para el título */
    margin-bottom: 4%;
    width: 100%;
    height:100px;
}

.casos-banner2 {
    /* CAMBIA ESTO POR TU IMAGEN */
    background: linear-gradient(rgba(0, 0, 0, 0.568), rgba(0, 0, 0, 0.178)), 
                url("../assets/tratamientos.png"); 
    
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0 150px 0; /* Espacio para el título */
    margin-bottom: 4%;
    width: 100%;
    height:100px;
}

/* Aplicar blanco a los divisores de ambos banners */
.casos-banner .divider-line, 
.casos-banner2 .divider-line {
    background-color: white !important;
}

.casos-banner .divider-diamond, 
.casos-banner2 .divider-diamond {
    background-color: white !important;
    border-color: white !important;
}

.about-hero-simple {
    background: linear-gradient(rgba(32, 29, 22, 0.527), rgba(100, 89, 68, 0)), 
                url("../assets/acompañado.JPG"); /* Tu imagen aquí */
    background-size: cover;
    background-position: center;
    padding: 100px 0 80px 0;
    width: 100%;
    height:300px;
    box-sizing: border-box;
}

.about-hero-simple .divider-line {
    background-color: rgb(255, 255, 255) !important;
}

.about-hero-simple .divider-diamond {
    border-color: rgb(255, 255, 255) !important;
    background-color: #ffffff;
}

/* Fichas de datos rápidos */
.data-card {
    background: #fcfaf7;
    border: 1px solid #a3865524;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s ease;
}

.data-card:hover {
    background: #ffffff;
    border-color: #a38655;
    box-shadow: 0 10px 25px rgba(163, 134, 85, 0.1);
}

.treatment-info-box h3 {
    letter-spacing: -1px;
}

.border-bottom {
    border-color: #f0f0f0 !important;
}

.method-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    height: 100%;
    position: relative;
    border: 1px solid rgba(163, 134, 85, 0.1);
    transition: transform 0.3s ease;
}

.method-card:hover {
    transform: translateY(-5px);
    border-color: #a38655;
}

.method-number {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 3rem;
    color: rgba(163, 134, 85, 0.247); /* Número muy sutil de fondo */
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

.method-card h4, .method-card p {
    position: relative;
    z-index: 1;
}

.method-card h4 {
    margin-top: 20px;
    color: #1a1a1a;
}

.letter-spacing-2 {
    letter-spacing: 2px;
}

/* Botón en estado inicial (Blanco y Dorado) */
.cta-banner-full .btn-cita-nav-inverse {
    background-color: #ffffffe0 !important;
    color: #a38655 !important;
    border: 1px solid #ffffffe3 !important;
    transition: all 0.3s ease-in-out;
}

/* Efecto Hover (Negro) */
.cta-banner-full .btn-cita-nav-inverse:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
    transform: translateY(-3px); /* Pequeño salto para dar sensación de clic */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.cta-banner-full2 .btn-cita-nav-inverse {
    background-color: #ffffffe0 !important;
    color: #a38655 !important;
    border: 1px solid #ffffffe3 !important;
    transition: all 0.3s ease-in-out;
}

/* Efecto Hover (Negro) */
.cta-banner-full2 .btn-cita-nav-inverse:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
    transform: translateY(-3px); /* Pequeño salto para dar sensación de clic */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.casos-parallax-header {
    height: 450px; /* Altura del banner */
    width: 100%;
    background-color: #1a1a1a;
}

.cta-banner-full {
    min-height: 450px; /* Altura más corta como pediste */
    position: relative;
    overflow: hidden;
    clip-path: inset(0); /* Truco mágico para iOS */
    background-color: #1a1a1a;
}

.cta-banner-full2 {
    min-height: 450px; /* Altura más corta como pediste */
    position: relative;
    overflow: hidden;
    clip-path: inset(0); /* Truco mágico para iOS */
    background-color: #1a1a1a;
}

/* Contenedor que permite que la imagen sea fixed pero solo se vea aquí */
.cta-parallax-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* La imagen propiamente dicha */
.cta-overlay-image {
    position: fixed; /* Se queda quieta al hacer scroll */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    will-change: transform;
    z-index: 1;
}

.cta-overlay-image2 {
    position: fixed; /* Se queda quieta al hacer scroll */
    top: 0;
    left: 0;
    width: 100%;
    height: 85%;
    background-size: cover;
    background-position: center;
    will-change: transform;
    z-index: 1;
}

.parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.6));
    z-index: 2;
}

/* Estilos para las sedes */
.location-card {
    background: #ffffff;
    padding: 2.5rem 1.5rem;
    border-radius: 1rem;
    text-align: center;
    border: 1px solid rgba(163, 134, 85, 0.1);
    transition: all 0.3s ease;
    position: relative;
}

.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(163, 134, 85, 0.08);
    border-color: rgba(163, 134, 85, 0.3);
}

.location-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #a38655;
    color: white;
    font-size: 0.65rem;
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

.location-contact {
    display: inline-block;
    margin-top: 10px;
    color: #a38655;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.location-contact:hover {
    color: #7e6947;
}

.text-gold {
    color: #a38655;
}

/* Estilos para la sección general de centros */
.center-mini-card {
    background: #ffffff;
    padding: 1.5rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(163, 134, 85, 0.1);
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
    height: 100%;
}

.center-mini-card:hover {
    border-color: #a3865560;
    box-shadow: 0 10px 20px rgba(163, 134, 85, 0.05);
}

.center-icon {
    width: 45px;
    height: 45px;
    background: #f4eee3;
    color: #a38655;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.2rem;
    flex-shrink: 0;
}

.badge-proximamente {
    background: #a38655b0;
    color: #fff;
    font-size: 0.6rem;
    padding: 4px 10px;
    border-radius: 10px;
    text-transform: uppercase;
    margin-left: 8px;
    vertical-align: middle;
}

.text-gold {
    color: #a38655;
    font-weight: 500;
}

.disabled-option {
    pointer-events: none !important; /* Evita que se pueda clicar */
    border-bottom: 1px solid #ddd;
}

.form-control-custom.has-selection {
    border-color: #a38655 !important;
}

.selected-display {
    transition: all 0.2s ease;
}

.text-gold:hover {
    color: #573c0d; /* Un tono un poco más oscuro que el dorado original */
    transition: color 0.3s ease;
}

.age-card { transition: transform 0.3s ease; }
.age-card:hover { transform: translateY(-5px); }
.image-wrapper { position: relative; overflow: hidden; border-radius: 15px; }
.age-badge {
    position: absolute; bottom: 15px; right: 15px;
    background: rgba(163, 134, 85, 0.9); color: white;
    padding: 5px 12px; border-radius: 50px;
    font-size: 1rem; font-weight: bold; letter-spacing: 1px;
}
.border-gold { border-color: #a3865534 !important; }

.banner-text{
  max-width: 700px; font-size: 1.15rem; font-weight: 300;
}

.banner-titulo{
  font-size:3.5rem;
}

.banner-high{
  min-height: 550px !important;
}

.text-muted{
   font-size: 17px;
}

.comparison-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.img-before-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    /* Línea blanca fina y elegante */
    border-right: 1.5px solid rgba(255, 255, 255, 0.9); 
    z-index: 2;
    pointer-events: none;
}

.custom-handle {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    background: #ffffff; /* Blanco sólido para que no transparente la banda de abajo */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a38655;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    z-index: 6; /* Justo debajo del input invisible */
    pointer-events: none;
}

/* ELIMINAR BANDAS VERTICALES EN IOS */
.comparison-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent !important;
    appearance: none;
    -webkit-appearance: none;
    z-index: 7;
    cursor: ew-resize;
    margin: 0;
    outline: none;
    border: none !important;
}

/* 1. Limpia la "pista" (track) */
.comparison-slider::-webkit-slider-runnable-track {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 2. Limpia el "tirador" (thumb) que causa las bandas verticales */
.comparison-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 40px; /* Suficiente ancho para captar el dedo */
    height: 600px; /* Altura total del modal */
    background: transparent !important; /* Totalmente invisible */
    border: none !important;
    box-shadow: none !important; /* ELIMINA LA BANDA SOMBREADA */
    margin-top: 0;
}

/* 3. Para navegadores antiguos o Firefox */
.comparison-slider::-moz-range-thumb {
    width: 40px;
    height: 600px;
    background: transparent !important;
    border: none !important;
}

.comparison-slider::-moz-range-track {
    background: transparent !important;
    border: none !important;
}

/* Asegura que las imágenes no se estiren */
.img-after, 
.img-before {
    width: 600px !important;
    height: 600px !important;
    object-fit: cover !important; /* Mantiene la proporción real */
    object-position: center !important; /* Centra la cara del paciente */
    display: block;
}

/* Fix para el contenedor del "Antes" */
.img-before-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
    border-right: 2px solid rgba(255, 255, 255, 0.9);
    z-index: 2;
}

.extra-casos{
  min-height: 530px;
}

.extra-casos-padding{
  padding-top: 80px !important;
}

.extra-calidad{
  color: #a38655;
  font-size: 1.1rem;
}

.extra-banner-p{
  max-width: 800px; 
  font-size: 1.1rem; 
  font-weight: 300;
}
.extra-linea{
  position: absolute; 
  top: -20px; 
  right: -20px; 
  width: 100px; 
  height: 100px; 
  border-top: 2px solid #a38655; 
  border-right: 2px solid #a38655; 
  z-index: -1;
}
.estilo-extra-sobre-mi{
  font-size: 1.4rem; 
  color: #a38655;
}
.extra-privacidad{
  padding-top: 10px;
}

.alert-toast {
    position: fixed;
    top: 100px;
    right: 20px;
    background: white;
    width:330px;
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 5px solid #8ea355a2;
    z-index: 10000;
    transition: all 0.5s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.icon-circle {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

.form-control-custom.error-field {
    border-color: #dc3545 !important;
    animation: shake 0.3s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Opcional: Que el asterisco brille un poco más */
.required-gold {
    color: #a38655;
    font-weight: bold;
    margin-left: 3px;
}

/* Estilos específicos para la sección JULAINE */
.bg-gold-light {
    background-color: rgba(163, 134, 85, 0.1); /* Un tono muy suave del dorado */
}

.table thead th {
    letter-spacing: 1px;
    font-size: 0.85rem;
}

.table tbody td {
    vertical-align: middle;
    color: #444;
}

/* Contenedor de la Red Molecular */
.molecular-grid {
    position: relative;
    padding: 40px 0;
}

.molecular-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.molecular-lines line{
    stroke: #5593a385;
}

/* Esfera Central Estilo Premium */
.molecule-core {
    width: 280px;
    height: 280px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.core-inner {
    width: 100%;
    height: 100%;
    /* Sustituye la ruta por la de tu archivo */
    background-image: url('/assets/esfera_julaine.png'); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    border: none; /* Quitamos cualquier borde */
    box-shadow: none;
    transform: rotate(0deg) scale(1) !important;
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    z-index: 2;
}

/* Opcional: Si el texto no se lee bien sobre la imagen, añade un ligero oscurecimiento */
.core-inner::before {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.1); /* Ajusta la opacidad si necesitas más contraste */
    border-radius: 50%;
    z-index: -1;
}

/* Ajuste del texto para que destaque sobre la imagen */
.core-inner h4 {
    color: #1a1a1a; /* O el color que mejor contraste con tu esfera */
    text-shadow: 0 2px 4px rgba(255,255,255,0.5);
}

.molecule-core:hover .core-inner {
    transform: scale(1.05) rotate(0deg) !important;
}

/* Anillo de pulso animado */
.pulse-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 1px solid #558da3a8;
    border-radius: 50%;
    z-index: -1;
    /* Pulso constante pero sutil */
    animation: pulseCore 3s infinite; 
}

@keyframes pulseCore {
    0% { transform: scale(0.85); opacity: 0.5; }
    100% { transform: scale(1.4); opacity: 0; }
}

/* Tarjetas (Nodos) */
.tech-node {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    padding: 15px;
    border-radius: 12px;
    transition: all 0.3s ease;
    z-index: 1;
    position: relative;
}

.tech-node:hover {
    transform: translateY(-5px);
    background: #fff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.azul-text{
    color: #43646dc2;
    font-weight: 500;
}

.tech-node p{
  font-size: 14px;
}

.bottom-molecula{
  margin-bottom: -5%;;
}

/*Ubicaciones*/
.center-card-clickable {
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.center-card-clickable:hover {
    background-color: #fdfcf9; /* Un tono crema muy suave */
    border-color: #a3865533;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.center-card-clickable .center-info h6 {
    transition: color 0.3s ease;
}

.center-card-clickable:hover .center-info h6 {
    color: #a38655 !important;
}

#locations-grid .bg-white {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#locations-grid .bg-white:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(163, 134, 85, 0.1) !important;
}

/* Efecto imagen tarjetas */
.transition-img {
    transition: transform 0.5s ease;
}
.bg-white:hover .transition-img {
    transform: scale(1.1);
}

.clinicas-img{
  height: 200px; 
  overflow: hidden;
  margin-bottom:10%;
}


/* 1. Estilos para el contenedor principal de la silueta */
  .map-madrid-container-side {
    position: relative; /* ¡Importante! Base para el posicionamiento de los marcadores */
    display: inline-block; /* Para que el contenedor se ajuste al tamaño de la imagen */
    line-height: 0; /* Evita espacios en blanco extra debajo de la imagen */
  }

  /* 2. Estilos para tu imagen PNG de la silueta */
  .map-madrid-silueta {
    width: 90%; /* La imagen se ajustará al ancho de su columna padre (col-lg-6) */
    height: auto; /* Mantiene la proporción de la imagen */
    display: block; /* Asegura que la imagen sea tratada como un bloque */
  }

  /* 3. Estilos básicos para los marcadores (puntos rojos) */
  .map-marker {
    position: absolute; /* Se posicionan absolutamente respecto al contenedor padre */
    z-index: 10; /* Asegura que estén por encima de la imagen */
  }

  /* Estilos para el punto rojo central (marker-dot) */
  .marker-dot {
    width: 16px;
    height: 16px;
    background-color: #e74c3c; /* Un rojo vibrante */
    border-radius: 50%;
    position: absolute;
    top: -6px; /* Centra el punto verticalmente sobre su coordenada 'top' */
    left: -6px; /* Centra el punto horizontalmente sobre su coordenada 'left' */
  }

  /* Estilos para el efecto de pulso (opcional, como en tu código original) */
  .marker-pulse {
    position: absolute;
    width: 80px;
    height: 80px;
    top: -38px; /* Centra el pulso */
    left: -38px; /* Centra el pulso */
    background-color: rgba(231, 76, 60, 0.4); /* Rojo semi-transparente */
    border-radius: 50%;
    animation: pulse 1.5s infinite ease-out;
  }

  /* Animación del pulso */
  @keyframes pulse {
    0% {
      transform: scale(0.1);
      opacity: 1;
    }
    100% {
      transform: scale(1.3);
      opacity: 0;
    }
  }

  /* Contenedor principal de la tabla */
.table-concierge-wrapper {
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #e0e6ed;
}

.table-concierge {
    border-collapse: collapse;
    background-color: white;
    font-size: 0.95rem;
}

/* Cabeceras */
.table-concierge thead th {
    color: #1a3a5a; /* Azul marino de la imagen */
    font-weight: 700;
    border-bottom: 1px solid #e0e6ed;
    background-color: white;
}

/* La columna estrella (JULAINE) */
.column-featured {
    background-color: #e9f2f4 !important; /* Gris azulado suave de la imagen */
    width: 25%;
}

/* Filas y celdas */
.table-concierge tbody td {
    border-bottom: 1px solid #f0f3f7;
    vertical-align: middle;
    color: #546e7a;
}

/* Iconos Estilo Concierge */
.icon-success {
    color: #48a98c; /* Verde médico */
    font-size: 1.5rem;
}

.icon-error {
    color: #ff7675; /* Rojo suave */
    font-size: 1.5rem;
    opacity: 0.8;
}

/* Badges y Textos específicos */
.badge-custom {
    background-color: #48a98c;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
}

.text-success-dark { color: #2d6a4f; font-weight: 600; }
.text-danger-dark { color: #c0392b; font-weight: 500; }

/* Quitar el último borde */
.table-concierge tbody tr:last-child td {
    border-bottom: none;
}

.edades-titulo{
  font-size:14px;
}

.edades-subtitulo{
  font-size:12px;
}

.julaine-lista{
  font-size: 14px !important;
}

  .premium-location-img {
    position: relative; /* Necesario para posicionar el logo dentro */
    height: 350px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
  }

  /* Estilo para el logo flotante */
  .location-badge-logo {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(5px);
    padding: 10px;
    border-radius: 12px;
    width: 80px; /* Ajusta según el logo */
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
    border: 1px solid rgba(255,255,255,0.2);
  }

  .location-badge-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  /* Invertir posición del logo cuando la fila sea reverse */
  .flex-row-reverse .location-badge-logo {
    right: auto;
    left: 20px;
  }

  .ubicaciones-movil{
    display: none;
  }

/* Responsive */
@media (max-width: 991px) {
    .iphone-frame {
        width: 240px;
        height: 500px;
        margin-top: 30px;
    }
}

@media(max-width: 1300px){ /*Pantallas bajitas de ordenador */
  .container.narrow {
      max-width: 1080px;
      margin-left: auto;
      margin-right: auto;
  }  
  .popover-body li {
    font-size: 8px; 
  }
  /* Estilo de la imagen DENTRO del bocadillo */
  .popover-img {
    width: 130px;           /* Ajusta este valor (ej. 120px o 150px) según qué tan pequeña la quieras */
    max-width: 60%;         /* Asegura que no sea demasiado grande en pantallas pequeñas */
    height: auto;
    border-radius: 8px;     /* Un poco más redondeado queda más elegante */
    margin: 0 auto 15px auto; /* Centrado horizontal (auto) y espacio abajo (15px) */
    display: block;
  }
  /* Ajuste del bocadillo para que sea más como una tarjeta */
  .popover {
    max-width: 230px; 
    max-height: 320px;
    border-radius: 0;
    border: 1px solid #a3865533;
    background-color: #faf9f7;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  }
  .popover-header {
    font-size: 10px;
  }
  .popover-body {
    font-size: 8px;
    line-height: 1.3;
  }
  .patient-image-wrapper {
    width: 260px;
    height: 260px;
  }
  .extra-banner-portatil{
   margin-top:5% !important;
  }
  .cta-banner-full {
      min-height: 400px; /* Altura más corta como pediste */
      position: relative;
      overflow: hidden;
      clip-path: inset(0); /* Truco mágico para iOS */
      background-color: #1a1a1a;
  }
  .cta-banner-full2 {
      min-height: 400px; /* Altura más corta como pediste */
      position: relative;
      overflow: hidden;
      clip-path: inset(0); /* Truco mágico para iOS */
      background-color: #1a1a1a;
  }  
  .text-muted{
   font-size: 11px !important;
  }
  .fw-bold{
    font-size:17px !important;
  }
  .comparison-container {
    height: 450px !important; 
  }
  .modal-dialog {
    max-width: 450px !important;
    margin: 1.75rem auto;
  }
  .img-after, 
  .img-before {
      width: 450px !important;
      height: 450px !important;
  }
  .clinicas-img{
    height: 140px !important; 
    overflow: hidden;
    margin-bottom:10%;
  }

  .section-title {
    font-size: 33px !important;
    margin-bottom: 30px;
  }
  .texto-julaine{
    font-size: 11px !important;
  }
  .edades-titulo{
    font-size:11px !important;
  }
  .edades-subtitulo{
    font-size:10px !important;
  }  
}

@media(max-width: 1200px){
  .navbar-logo {
    height: 35px; /* Ajusta este valor según la proporción de tu logo */
  }
  .navbar .nav-link {
    font-size: 12px;
  }
  .btn-cita-nav-inverse {
    padding: 7px 14px;
    font-size: 0.7rem;
    letter-spacing: 1.5px;
  }
  .cookie-banner {
    padding: 15px 0;
  }
  .cookie-text {
    font-size: 0.8rem;
    line-height: 1.2;
  }
  .btn-cookie {
    padding: 6px 20px;
    font-size: 0.8rem;
  }
  .btn-cookie-outline {
    padding: 5.5px 15px;
    font-size: 0.8rem;
  }
  .container.narrow {
    max-width: 95%;
  }
  .container.narrow {
      max-width: 940px;
      margin-left: auto;
      margin-right: auto;
  }  
  .hero h1 {
   font-size: 40px;
  }
  .subtitle {
    font-size: 15px;
  }
  .subtitle2{
    font-size: 14px;
  }
  .doctor-img-circle {
    width: 320px;     
    height: 330px;
  }
  .years-badge {
    width: 80px;
    height: 80px;
  }
  .text-large {
      font-size: 1rem;
      line-height: 1.5;
      text-align: justify;
  }
  .text-soft {
      font-size: 0.8rem;
      line-height: 1.5;
  }
  .banner-text{
    font-size: 1rem;
  }
  .banner-titulo{
    font-size:3rem;
  }
  .banner-high{
    min-height: 500px !important;
  }
  #philosophyCarousel { 
    height: 390px; 
  }
  .offset-frame-container {
    max-width: 240px; 
  }
  .treatment-h3 {
    font-size: 1.1rem;
  }
  .treatment-p {
    font-size: 0.8rem;
    margin-bottom: 0px;
  }
  .patient-image-wrapper {
      width: 240px;
      height: 240px;
  }
  .testimonial-text {
    font-size: 0.75rem;
  }
  .patient-name {
    font-size: 10px;
  }
  .section-title {
    font-size: 33px !important;
    margin-bottom: 30px;
  }
  .text-muted{
    font-size: 14px;
  }
  .center-mini-card {
    padding: 1.5rem;
    height: 90%;
  }
  .center-icon {
    width: 40px;
    height: 40px;
  }
  .footer-text {
    font-size: 0.6rem;
  }
  .payment-methods {
    font-size: 1.5rem; /* Tamaño de Visa/Mastercard */
  }
  .bizum-pill {
    font-size: 8px;
  }
  .btn-outline-dark{
    font-size: 13px;
  }
  .iphone-frame {
    width: 240px;
    height: 490px;
  }
  .img-commitment-wrapper img {
    height: 420px; 
  }
  .divider-gold {
    margin: 10px 0;
  }
  .method-card {
    border-radius: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.03);
    height: 90%;
  }
  .method-number {
    top: 0px;
  }
  .method-card p {
    font-size: 12px;
    text-align: justify;
  }
  .method-card h4 {
    font-size: 19px;
    margin-top: 10px;
    margin-bottom: 20px;
  }
  .modal-dialog {
    max-width: 450px !important;
    margin: 1.75rem auto;
  }
  .comparison-container {
    height: 450px !important; 
  }
  
  .case-info {
    padding: 10px;
    margin-bottom:-20%;
  }
  .case-tag {
    font-size: 0.55rem;
    margin-bottom: 0px;
  }
  .case-info h5 {
    font-size: 1rem;
    margin-bottom: 10px;
  }
  .case-info p {
    font-size: 0.7rem;
    line-height: 1.3;
    margin-bottom: 0;
  }
  .custom-select-wrapper{
    padding: 0px 0px;
  }
  .cta-overlay-image2 {
    width: 100%;
    height: 85%;
  }
  .extra-casos{
    min-height: 480px !important;
  }
  .sobre-mi-h1{
    font-size: 40px !important;
  }
  .text-soft2 {
    font-size: 0.7rem;
    line-height: 1.5;
  }
  .sobre-mi-h4{
    font-size: 18px !important;
  }
  .floating-quote { 
    font-size:12px;
  }
  .clinicas-img{
    height: 200px; 
    overflow: hidden;
    margin-bottom:10%;
  }
  .age-badge {
      position: absolute; bottom: 15px; right: 15px;
      background: rgba(163, 134, 85, 0.705); color: white;
      padding: 3px 7px; border-radius: 50px;
      font-size: 0.6rem; font-weight: bold; letter-spacing: 1px;
  }
  .table-concierge {
      font-size: 0.8rem;
  }
  .table-concierge thead th {
    padding: 18px 15px !important;
    font-size: 0.8rem; /* Texto un poco más pequeño para que no rompa filas */
  }
  .table-concierge tbody td {
    padding: 18px 15px !important; /* Altura mucho más compacta */
    font-size: 0.85rem;
  }
  .column-featured {
      width: 28%;
  }
  .icon-success {
      font-size: 1.1rem;
  }
  .icon-error {
      font-size: 1.1rem;
  }
  .badge-custom {
      font-size: 0.7rem;
  }
  .julaine-lista{
    font-size: 11px!important;
  }
  .footer-content {
    display: flex;
    justify-content: space-between;
    gap: 10px; 
  }
  .footer-column {
    flex: 1; 
    padding: 0 5px; 
  }
  .texto-movil{
    font-size: 12px !important;
  }
  .texto-2-movil{
    font-size: 11px !important;
  }
    .premium-location-img {
    height: 300px;
  }
      .location-badge-logo {
      width: 60px; 
      height: 60px;
    }
}

/* Adaptación para móviles (un poco más pequeño para no estorbar) */
@media (max-width: 850px) {
  html, body {
    overflow-x: hidden; /* Esto corta cualquier cosa que intente salirse por los lados */
    width: 100%;
  }
  .altura-hero{
    max-height: 550px;
    display: block;    /* Permite que el margen automático funcione */
    margin: 0 auto;    /* Centra horizontalmente */
    width: auto;       /* Evita que se estire a lo ancho si es pequeña */
    object-fit: cover; /* Mantiene la proporción si decides darle un ancho fijo */
  }
  .overline-gold {
  margin-top:10%;
  }
  .hero h1 {
   font-size: 33px !important;
  }
    .subtitle {
    font-size: 16px !important;
  }
  .subtitle2{
    font-size: 11px !important;
  }
  .container.narrow {
    max-width: 95%;
  }
  .doctor-img-circle {
    width: 260px;     
    height: 260px;
  }
  .years-badge {
    width: 70px;
    height: 70px;
  }
  .text-large {
    font-size: 0.85rem !important;
    line-height: 1.5;
  }
  .text-soft {
    font-size: 0.75rem !important;
    line-height: 1.5;
  }
  .section-title {
    font-size: 26px !important;
    margin-bottom: 30px;
  }
  .text-muted{
    font-size: 12px !important;
  }
  .section {
    padding: 40px 0;
  }
  .whatsapp-btn {
    bottom: 20px;
    left: 20px;
    width: 50px;
    height: 50px;
    font-size: 24px !important;
  }
  .custom-brand-modal .modal-dialog {
    margin: 20px auto;
    max-width: 90%; /* Que ocupe casi todo el ancho pero con aire */
  }
  .appointment-card {
    padding: 30px;
    margin-top: 0px;
  }
  .img-doctor-contact {
    display: block;    /* Necesario para que el margen funcione */
    margin-left: auto; /* Empuja desde la izquierda */
    margin-right: 10%;/* Empuja desde la derecha */
    margin-bottom: 20px;
    width: 85%;
    height: auto;      /* Mantiene la proporción */
  }
  .btn-cita-nav-inverse {
    font-size:13px !important;
    margin-top: 15px;
    display: block; 
    width: 60% !important;
    margin-left: auto;  /* Empuja desde la izquierda */
    margin-right: auto; /* Empuja desde la derecha */
    text-align: center; /* Asegura que el texto dentro del botón también esté centrado */
  }
  .btn-cita-nav-inverse2 {
    font-size:11px !important; 
    width: 100% !important;
  }  
  .navbar .btn-cita-nav-inverse {
    width: 100% !important;
  }
  .extra{
    width: 80% !important;
  }
  .doctor-circle-container {
    padding: 4px; /* Espacio para que el aro respire */
  }
  .badge-number {
    font-size: 1.3rem !important;
  }
  .banner-text{
    font-size: 0.8rem !important;
  }
  .banner-titulo{
    font-size:2rem !important;
  }
  .banner-high{
    min-height: 1000px !important;
  }   
  .cta-overlay-image {
    background-attachment: scroll !important;
  }
  .cta-banner-full {
    margin-top:7%;
    min-height: 700px !important;
  }
  .cta-banner-full2 {
    margin-top:7%;
    min-height: 400px !important;
  }
  .parallax-bg {
    background-attachment: scroll;
    height: 100%;
  }
  .casos-parallax-header {
    height: 350px;
  }
  #philosophyCarousel { 
    height: 300px; 
    width: 320px;
  }
  .philosophy-img-container {
    margin-top:10%;
  }
  .philosophy-quote p {
    text-align: justify;
    margin-right:5%;
    font-size: 15px;
    line-height: 1.5;
  }
  .movil-filosofia{
    margin-top:0%;
  }
  .extra-sobre-doctor{
    margin-bottom: 5% !important;
  }
  .testimonial-card {
    padding: 0px;
  }
  .treatment-h3 {
    font-size: 1.3rem !important;
  }
  .treatment-p {
    font-size: 0.8rem !important;
    margin-bottom: 0px;
  }
  .extra-ubicaciones-titulo{
    margin-top:-10%;
  }
  .navbar-logo {
    height: 35px;
  }
  .patient-image-wrapper {
    width: 220px;
    height: 220px;
  }
  .testimonial-text {
    font-size: 0.85rem !important;
    margin-right:5%;
    margin-left:5%;
  }
  .center-mini-card {
    padding: 1.5rem;
    height: 90%;
  }
  .center-icon {
    width: 40px;
    height: 40px;
  }
  .custom-accordion .accordion-button {
    font-size: 13px !important;
    padding: 25px 8px; 
  }
  .custom-accordion .accordion-body {
    font-size: 12px !important;
    padding: 20px 8px !important;
    margin-top:-6%;
    text-align: justify;
  }
  .text-medium{
    font-size: 12px !important;
  }
  .offset-frame-container {
    max-width: 240px;
    margin-left:auto; 
    margin-right:22%;
  }
  .treatment-card-minimal {
    text-align: center;
    margin-bottom: 0px;
  }
  .contact-info {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Para que no salten de línea */
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0px; /* Espacio entre los tres bloques */
  }
  .contact-info .d-flex {
    margin-bottom: 0 !important; /* Quitamos el mb-4 que tienen en el HTML */
    flex: 1;
    justify-content: center;
  }
  .contact-info .icon-gold {
    margin-right: 0% !important; /* Reducimos el me-3 */
    font-size: 0.65rem;
  }
  .contact-info p {
    margin-left: -10% !important;
    font-size: 10px !important; /* Tamaño pequeño para que entre todo el ancho */
    white-space: nowrap; /* Evita que el texto se rompa en dos líneas */
  }
  .brand-logo {
    max-width: 120px; /* Ancho máximo */
  }
  .contact-form input,
  .contact-form textarea {
    margin-bottom: 0px;
    padding: 1px; 
  }
  .footer-text {
    font-size: 0.7rem !important;
  }
  .payment-methods {
    font-size: 1.5rem !important; /* Tamaño de Visa/Mastercard */
  }
  .bizum-pill {
    font-size: 8px !important;
  }
  .footer-logo-img {
    height: 45px;
    margin: 0 auto;
  }
  .custom-dropdown-list .dropdown-item {
    padding: 8px 20px;
    font-size: 0.8rem !important;
  }
  .dropdown-item {
    padding: 10px 25px;
    font-size: 0.7rem;
    color: #1c1c1c;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(163, 134, 85, 0.05);
  }
  .cookie-banner {
    padding: 8px 0;
  }
  .cookie-text {
    font-size: 0.6rem !important;
    line-height: 1.1;
    text-align: justify;
  }
  .btn-cookie {
    padding: 3px 20px;
    font-size: 0.65rem !important;
    width:50%;
  }
  .btn-cookie-outline {
    padding: 2.5px 15px;
    font-size: 0.65rem !important;
    width:45%;
  }
  .back-to-top {
    bottom: 12%;
    right: -0.5%;
    width: 5%;
    height: 5%;
  }
   .img-commitment-wrapper{
    margin-bottom: -20%;;
   }
  .img-commitment-wrapper img {
    height: 300px;
  }
  .cta-overlay-image2 {
    width: 100%;
    height: 60%;
  }
  .cta-overlay-image3 {
    width: 100%;
    height: 70%;
  }
  .extra-casos{
    min-height: 380px !important;
  }
  .extra-casos-padding{
    padding-top: 30px !important;
  }
   .extra-casos2{
    min-height: 450px !important;
  }
  .modal-dialog {
    max-width: 370px !important;
    margin: auto;
    margin-left: auto;
  margin-right: auto;
  }
  .modal-dialog {
    max-width: 370px !important;
    display: flex;
    align-items: center; /* Centrado vertical si usas modal-dialog-centered */
    min-height: calc(100% - 1rem); /* Ayuda al centrado en móviles */
  }
  .comparison-container {
    height: 400px !important; 
  }
  .extra-casos-modal-footer{
    margin-top:-10%;
  }
  .img-after, 
  .img-before {
      width: 370px !important;
      height: 400px !important;
  }

  .case-info {
    padding: 25px;
    margin-bottom:-15%;
    margin-top:-10%;
  }
  .case-tag {
    font-size: 0.55rem !important;
    margin-bottom: 0px;
  }
  .case-info h5 {
    font-size: 1rem !important;
    margin-bottom: 10px;
  }
  .case-info p {
    font-size: 0.7rem;
    line-height: 1.3 !important;
    margin-bottom: 0;
  }
  .custom-select-wrapper{
    padding: 5px 0px;
  }
  .extra-resultados{
    margin-bottom:-5%;
  }
  .method-card {
    border-radius: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.03);
    height: 90%;
  }
  .method-number {
    top: 0px;
  }
  .method-card p {
    font-size: 12px !important;
    text-align: justify;
  }
  .method-card h4 {
    font-size: 19px !important;
    margin-top: 10px;
    margin-bottom: 20px;
  }
  .list-unstyled li {
    font-size: 0.8rem !important;
  }
  .extra-calidad{
    color: #a38655;
    font-size: 0.8rem !important;
  }
  .social-icons{
    margin-bottom:5%;
  }
  .extra-banner-p{
    max-width: 300px; 
    font-size: 0.9rem !important; 
  }
  .d-flex.flex-column.flex-sm-row {
    flex-direction: row !important;
    align-items: stretch !important; /* Fuerza a que ambos tengan la misma altura */
    gap: 8px !important;
  }
  .d-flex.flex-column.flex-sm-row a {
    flex: 1 1 0% !important; 
    width: auto !important;       
    display: flex !important;
    align-items: center;
    justify-content: center;     
    height: 50px !important; 
    margin: 0 !important;
    white-space: nowrap;
    font-size: 10px !important;
  }
  .d-flex.flex-column.flex-sm-row a:first-child {
    padding: 0 5px !important; 
  }
  .d-flex.flex-column.flex-sm-row a:last-child {
    padding: 0 5px !important;
  }
  .col-lg-6.d-flex.justify-content-end {
    justify-content: center !important; /* Anula el "end" y centra */
    padding: 0 !important;
    display: flex !important;
  }
  .col-lg-5.d-flex.justify-content-start {
        justify-content: center !important; /* Fuerza el centrado horizontal */
        padding: 0 !important;
        width: 100% !important;
  }
  .extra-ubicaciones-exclusiva{
    margin-bottom:-15%;
  }
  .extra-gold{
    margin-top:15% !important;
  }
  .extra-img{
    height: 300px;
  }
  .extra-linea{
    display: none;
  }
  .sobre-mi-h1{
    font-size: 35px !important;
  }
  .experience-years-tag { 
    padding: 4px 10px; 
    border-radius: 20px; 
    font-size: 0.5rem !important; 
  }
  .estilo-extra-sobre-mi{
    font-size: 0.9rem !important; 
    margin-top:-3%;
    margin-bottom:-1% !important;
  }  
  .extra-sobre-mi{
    margin-bottom:10% !important;
  }
  .estilo-extra-sobre-mi-2{
    font-size: 0.55rem;
  }
  .floating-quote { 
    bottom: 40px; 
    margin-left:13%; 
    font-size: 10px; 
    padding: 10px; 
    max-width: 270px; 
  }  
  .main-portrait {
    width: 90% !important; 
    height: auto !important;
    display: block !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important; 
    margin: 0 !important; 
  }
  .extra-sobre-mi-container{
    margin-top:-10%;
  }
  .extra-sobre-mi-btn{
    width:90% !important;
  }
  .location-card {
    padding: 1.1rem 1.5rem;
  }
  .method-icon { 
    width: 25px; 
    height: 25px; 
  }  
  .extra-mi-metodologia{
    margin-top:-20%;
  }
  .method-item{
    max-width:360px;
  }
  .extra-h6-sobre-mi{
    font-size: 14px;
  }
  .video-placeholder{
    width: 95% !important; 
    height: auto !important;
    display: block !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important; 
    margin: 0 !important; 
  }
  .border-end-gold {
    border-right: none !important;
    border-bottom: 3px solid rgba(163, 134, 85, 0.2); 
  }
  .col-lg-4.p-4:nth-child(2) {
    border-bottom: 3px solid rgba(163, 134, 85, 0.2);
  }
  .col-lg-4.p-4 {
    padding: 10px 30px !important;
    text-align: center !important;
  }
  .step-number {
    margin: 0 auto !important;
  }
  .sobre-mi-h4 {
    font-size: 1.1rem !important;
    margin-bottom: 15px;
  }
  .extra-vision-sobre-mi {
    padding: 10px 20px !important; 
    margin-top:-5%;
  }
  .extra-vision-sobre-mi p {
    line-height: 1.5;
  }
  .vision-item.mb-4 {
    margin-bottom: 1.5rem !important;
  }
  .extra-privacidad{
    padding-top: 0px;
  }
  .extra-privacidad .bg-white {
    width: 95% !important; 
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 30px 18px !important; 
    border-radius: 25px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
  }
  .extra-privacidad .p-3.border {
    padding: 10px !important;
  }
  .extra-privacidad .p-3.border i {
    font-size: 1.1rem !important;
  }
  .extra-privacidad .p-3.border p {
    font-size: 0.75rem !important;
  }
  .footer-bottom {
    font-size: 10px;
  }  
  .popover-body li {
    font-size: 9px; 
  }
  .popover-img {
    width: 100px;
    max-width: 50%;  
  }
  .popover {
    max-width: 210px; 
    max-height: 260px;
  }
  .popover-header {
    font-size: 12px;
  }
  .popover-body {
    font-size: 9px;
    line-height: 1.3;
  }
  .clinicas-img{
    height: 290px !important; 
    overflow: hidden;
    margin-bottom:10%;
  }
  .texto-norte{
    font-size: 15px !important;;
  }
  .map-madrid-container-side {
    height: 350px;
    margin-bottom:-5%;
    margin-top:-8%;
  }
  .marker-dot {
    width: 13px;
    height: 13px;
    top: -6px;
    left: -6px; 
  }
  .marker-pulse {
    width: 60px;
    height: 60px;
    top: -30px; 
    left: -30px; 
  }
  .edades-titulo{
    font-size:14px !important;
  }
  .edades-subtitulo{
    font-size:12px !important;
  }  
  .bottom-molecula-2{
    margin-bottom:-10%;
  }
  .cta-banner-full3{
    margin-top:-7%;
  }
  .footer-content {
    display: grid;
    /* Cambiamos a máximo 3 columnas para que no se vea vacío */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0px;
    margin-bottom: -30px;
  }

  .table-concierge {
      font-size: 0.8rem;
  }
  .table-concierge thead th {
    padding: 15px 10px !important;
    font-size: 0.7rem; /* Texto un poco más pequeño para que no rompa filas */
  }
  .table-concierge tbody td {
    padding: 15px 10px !important; /* Altura mucho más compacta */
    font-size: 0.7rem;
  }
  .column-featured {
      width: 28%;
  }
  .icon-success {
      font-size: 1rem;
  }
  .icon-error {
      font-size: 1rem;
  }
  .badge-custom {
      font-size: 0.7rem;
  }
  .julaine-lista{
    font-size: 12px!important;
  }
  .product-image-container{
    margin-bottom:10%;
    margin-top:-10%;
  }
  .tratamientos-lista-julaine{
    margin-bottom:-18% !important;
  }
    .molecular-lines {
        display: none !important;
    }
    .tech-node {
        text-align: center !important;
        margin-bottom: 2rem !important;
    }
    .molecule-core {
        width: 300px;
        height: 300px;
        margin: 0 auto 1rem auto; 
        margin-top:-15%;
    }
    .core-inner h4 {
        font-size: 1.2rem;
    }
    .molecular-grid .row {
        display: flex;
        flex-direction: column;
    }
    .molecular-grid .row .col-lg-4:nth-child(2) {
        order: -1; 
        margin-top: 2rem;
    }
    .extra-julaine-tratamientos{
      margin-top:-12%;
      text-align: justify;
    }
    .texto-movil{
      font-size: 12px !important;
    }
    .texto-2-movil{
      font-size: 11px !important;
    }
    .seccion-fondo-clinica {
      background-position: 100% center !important; 
    }
    .premium-location-img {
      height: 250px;
    }
    .location-badge-logo {
      width: 60px; 
      height: 60px;
    }
    .ubicaciones-ordenador{
      display:none;
    }
    .ubicaciones-movil{
      display: block;
    }
}