html {
	font-size: 16px;
}

.social-bar {
	position: fixed;
	right: 0;
	top: 35%;
	font-size: 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	z-index: 100;
}

.icon {
	color: white;
	text-decoration: none;
	padding: .7rem;
	display: flex;
	transition: all .5s;
}

.icon-facebook {
	background: #2E406E;
}

.icon-twitter {
	background: #339DC5;
}

.icon-youtube {
	background: #E83028;
}

.icon-instagram {
	background: #3F60A5;
}

.icon:first-child {
	border-radius: 1rem 0 0 0;
}

.icon:last-child {
	border-radius: 0 0 0 1rem;
}

.icon:hover {
	padding-right: 3rem;
	border-radius: 1rem 0 0 1rem;
	box-shadow: 0 0 .5rem rgba(0, 0, 0, 0.42);
}

/* =========================================================
   v21base - optimizacion conservadora de rendimiento
   Mantiene el concepto visual de v20base.
   ========================================================= */
:root{
  --rr-ff-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  --rr-ff-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

/* Reserva el espacio exacto del logo para evitar CLS y mantiene su escala responsive. */
.header__logo .logo{width:100%;}
.header__logo .logo img{
  display:block;
  width:100%;
  max-width:550px;
  height:auto;
  aspect-ratio:684 / 116;
}
@media (max-width:767px){
  .header__logo .logo img{max-width:350px;}
}
@media (max-width:450px){
  .header__logo .logo img{max-width:320px;}
}

/* Animacion equivalente y mucho mas ligera que animate.css + WOW.js. */
.js .wow{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .42s ease, transform .42s ease;
  will-change:opacity,transform;
}
.js .wow.fadeInRight{transform:translateX(16px);}
.js .wow.v21-visible{opacity:1;transform:none;will-change:auto;}
@media (prefers-reduced-motion:reduce){
  .js .wow{opacity:1;transform:none;transition:none;}
}

/* SVGs locales: reemplazan Font Awesome CDN sin cambiar el estilo del footer. */
.v21-icon{width:1em;height:1em;display:inline-block;vertical-align:-0.12em;}
.footer__social .v21-icon{width:18px;height:18px;}
.backtotop-wrap .text-one,.backtotop-wrap .text-two{font-family:Arial,sans-serif;font-weight:700;line-height:1;}

/* Evita saltos antes de inicializar Swiper y mantiene el hero estable. */
.simple-image-hero,.simple-hero-slider{overflow:hidden;}
.simple-hero-slider{min-height:1px;}
.simple-hero-slider .swiper-slide img{aspect-ratio:1920 / 810;}


/* =========================================================
   v22base - ajustes finos solo para móvil
   Conserva el diseño y la estructura de v21base.
   ========================================================= */
.testimonials-lazy-shell{
  width:100%;
  min-height:280px;
}

@media (max-width: 767px){
  /* Más aire entre el nombre de la doctora y su texto. */
  .portfolio .section__title-wrapper > .section__title{
    margin-bottom:22px !important;
  }

  /* Mejor ritmo vertical en los bloques de ubicación. */
  .contact-us__area.section-space{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
  .contact-us__area + .contact-us__area{
    padding-top:28px !important;
  }
  .contact-us__area .contact-us__widget-title{
    margin-bottom:22px !important;
  }
  .contact-us__area .contact-us__widget{
    margin-bottom:24px !important;
  }
  .contact-us__area iframe{
    display:block;
    margin-top:10px;
  }

  /* Conserva los accesos rápidos sin que dominen el contenido en móvil. */
  .social-bar{
    right:4px;
    transform:scale(.82);
    transform-origin:right center;
  }

  /* Reserva espacio para las reseñas al cargarse y reduce saltos visuales. */
  .testimonials-lazy-shell{
    min-height:360px;
  }
}

@media (max-width: 420px){
  .contact-us__area.section-space{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
  .contact-us__area + .contact-us__area{
    padding-top:22px !important;
  }
  .social-bar{
    transform:scale(.76);
  }
}


/* v02 - iconos de contacto y redes más legibles en el footer, sin librerías externas */
.footer-social-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.footer-social-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.footer-social-row .v21-icon{
  width:30px;
  height:30px;
  vertical-align:middle;
}
@media (max-width:575px){
  .footer-social-row{gap:16px;}
  .footer-social-row .v21-icon{width:32px;height:32px;}
}

/* v04 - WhatsApp del footer: usa SVG local blanco proporcionado por el cliente. */
.footer-social-row .footer-whatsapp-icon{display:block;object-fit:contain;}
