/* Variables globales */
:root {
	--main-color: #394c64;
	--second-color: #031b4e;
	--third-color: #203865;
	--text-color: #4a5764;
	--light-bg: #f5f8fa;
	--white: #ffffff;
	--transition: all 0.3s ease;
}

/* Reset y estilos base */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	transition: var(--transition);
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--text-color);
}

/* Estilos globales para los contenedores */
section {
	scroll-margin-top: 80px;
	padding: 5rem 0;
}

.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
}

/* Estilos estandarizados para todas las secciones */
.section-title {
	color: var(--second-color);
	text-transform: uppercase;
	font-size: 2.5rem;
	font-family: 'Lora', serif;
	font-weight: 700;
	text-align: center;
	margin-bottom: 3rem;
	width: 100%;
}

/* Para título blanco en secciones con fondo oscuro */
#servicios .section-title,
#contacto .section-title {
	color: var(--white);
}

.section-content {
	position: relative;
	padding: 2rem;
	margin: 0 auto;
	border-radius: 8px;

	h2 {
		font-weight: 300;
	}
}

/* Estilos comunes para subtítulos */
h3 {
	color: var(--second-color);
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	font-family: 'Lora', serif;
	font-weight: 700;
}

.card h3 {
	font-size: 1.5rem;
	font-family: 'Lora', serif;
	font-weight: 700;
}

p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}

/* Justificación de texto para secciones específicas */
#nosotros p,
#laboratorio p,
#pacientes p {
	text-align: justify;
}

/* Header */
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: var(--white);
	padding: 1rem 0;
	box-shadow: 0 1px 5px var(--third-color);
	z-index: 1000;
}

header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

.logo {
	flex-shrink: 0;
	width: 250px;
	height: auto;
}

.logo img {
	width: 100%;
	height: auto;
	display: block;
}

.logo a {
	display: block;
}

.logo a:hover {
	opacity: 0.9;
}

#navbar {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}

#navbar ul {
	display: flex;
	list-style: none;
	flex-wrap: nowrap;
}

#navbar a {
	color: var(--text-color);
	font-weight: 500;
	padding: 0.5rem 1rem;
	position: relative;
}

/* Línea decorativa en los enlaces del nav */
#navbar a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: var(--main-color);
	transform: translateX(-50%);
	transition: width 0.3s ease;
}

#navbar a:hover::after,
#navbar a.active::after {
	width: calc(100% - 2rem);
}

#navbar a:hover {
	color: var(--main-color);
}

#menu-bar {
	display: none;
	cursor: pointer;
	font-size: 1.5rem;
	padding: 0.5rem;
}

/* Ajuste para el contenido debajo del header fijo */
main {
	padding-top: 100px;
}

/* Sección Home */
#home {
	position: relative;
	width: 100%;
	min-height: 100vh;
	padding: 4rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: var(--white);
	text-align: center;
	overflow: hidden;
}

/* Carrusel */
.carousel-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	/* Mejorar rendimiento en móviles */
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.carousel-slide.active {
	opacity: 1;
}

.carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: brightness(0.6) blur(0.5px);
	/* Optimizar para móviles */
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	will-change: opacity;
}

/* Controles del carrusel */
.carousel-controls {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 0 2rem;
	z-index: 10;
}

.carousel-btn {
	background: rgba(255, 255, 255, 0.2);
	border: 2px solid rgba(255, 255, 255, 0.5);
	color: var(--white);
	font-size: 1.5rem;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	backdrop-filter: blur(10px);
}

.carousel-btn:hover {
	background: rgba(255, 255, 255, 0.3);
	border-color: var(--white);
	transform: scale(1.1);
}

/* Indicadores del carrusel */
.carousel-indicators {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 0.8rem;
	z-index: 10;
}

.indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.indicator.active {
	background: var(--white);
	border-color: var(--main-color);
}

.indicator:hover {
	background: rgba(255, 255, 255, 0.7);
	transform: scale(1.2);
}

#home .section-content {
	background-color: transparent;
	padding: 2rem;
	text-align: center;
	position: relative;
	z-index: 5;
}

#home h2 {
	font-size: 3rem;
	margin-bottom: 2rem;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.3);
	color: var(--white);
	font-family: 'Lora', serif;
	font-weight: 700;
}

#home h3 {
	color: var(--white);
	font-size: 2.5rem;
	margin-bottom: 2rem;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.3);
	font-family: 'Lora', serif;
	font-weight: 700;
}

#home p {
	font-size: 1.2rem;
	max-width: 800px;
	margin: 0 auto 1.5rem;
	line-height: 1.8;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8), 0 0 6px rgba(0, 0, 0, 0.4);
	color: var(--white);
}

/* Sección nosotros */
#nosotros {
	background-color: var(--light-bg);
}

#nosotros .section-content {
	background-color: var(--white);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.nosotros-text {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 2rem;
}

.nosotros-text p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 1.5rem;
	text-align: justify;
}

.nosotros-image-full {
	width: 100%;
	margin: 3rem 0;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.nosotros-image-full img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Sección laboratorio */
#laboratorio {
	background-color: var(--white);
}

#laboratorio .section-content {
	background-color: var(--light-bg);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.laboratorio-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: start;
	width: 100%;
}

.laboratorio-content {
	padding-right: 2rem;
	align-self: start;
}

.laboratorio-content h4 {
	color: var(--main-color);
	font-size: 1.2rem;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	font-family: 'Lora', serif;
	font-weight: 700;
}

.laboratorio-content ul {
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.laboratorio-content ul li {
	margin-bottom: 0.5rem;
}

.laboratorio-content span {
	font-weight: 500;
	color: var(--second-color);
}

.laboratorio-image {
	position: relative;
	height: 100%;
	min-height: 500px;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.laboratorio-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Certificaciones logos */
.certificaciones-logos {
	display: flex;
	gap: 3rem;
	margin-top: 2.5rem;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 120px;
}

.certificacion-logo {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 45%;
}

.certificacion-logo img {
	width: 100%;
	height: auto;
	max-width: 200px;
	object-fit: contain;
	cursor: pointer;
}

.certificacion-logo:first-child img {
	max-width: 240px;
}

/* Estilos específicos para obras sociales */
.obras-sociales-title {
	color: var(--main-color);
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-size: 1.3rem;
	font-family: 'Lora', serif;
	font-weight: 700;
}

/* Modal para certificaciones */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 2000;
	cursor: pointer;
}

.modal-content {
	max-width: 100%;
	max-height: 100%;
	width: 95vw;
	height: 95vh;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	background-color: white;
}

.modal-content img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 8px;
}

/* Estilos específicos para elementos del modal */
#modal-image {
	display: none;
}

#modal-pdf {
	display: none;
	width: 100%;
	height: 95vh;
}

/* Estilos para iframe del mapa */
.google-map iframe {
	border: 0;
}

/* Sección servicios */
#servicios {
	position: relative;
	padding: 6rem 0;
	background-color: transparent;
}

#servicios::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/servicios_bg.avif');
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	filter: brightness(0.8);
	z-index: -1;
}

.servicios-wrapper {
	position: relative;
	z-index: 1;
}

.servicios-wrapper::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--main-color);
	z-index: -1;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}

#servicios .section-title {
	color: var(--white);
	position: relative;
	padding-top: 2rem;
	z-index: 2;
}

#servicios .section-content {
	background-color: transparent;
	padding-top: 1rem;
	z-index: 2;
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-bottom: 3rem;
}

.card {
	background: var(--white);
	overflow: hidden;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}

.card-image {
	width: 100%;
	height: 200px;
	overflow: hidden;
}

.card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card-content {
	padding: 1.5rem;
}

.card p {
	color: var(--text-color);
	line-height: 1.6;
}

/* Lista de resultados dentro de la card */
.resultados-list-card {
	list-style-type: none;
	margin: 1rem 0 0 0;
	padding-left: 0;
}

/* Lista para resultados digitales sin círculos */
.card-content ul {
	list-style-type: none;
	margin: 1rem 0 0 0;
	padding-left: 0;
}

.resultados-list-card li {
	color: var(--text-color);
	line-height: 1.6;
	margin-bottom: 0.8rem;
	padding-left: 1.2rem;
	position: relative;
}

.resultados-list-card li:before {
	content: '✓';
	color: var(--main-color);
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
}

.resultados-info {
	background-color: var(--white);
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
	margin-top: 3rem;
}

.resultados-info h3 {
	color: var(--main-color);
	margin-bottom: 1rem;
	font-family: 'Lora', serif;
	font-weight: 700;
}

.resultados-list {
	list-style-type: none;
	margin-left: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.resultados-list li {
	margin-bottom: 0;
	position: relative;
	padding: 1.5rem;
	background-color: var(--light-bg);
	border-radius: 8px;
	display: flex;
	align-items: center;
	gap: 1rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.resultados-list li:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.resultados-list li:before {
	content: '';
	width: 40px;
	height: 40px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.resultados-list li:nth-child(1):before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233368c6"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>');
}

.resultados-list li:nth-child(2):before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233368c6"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
}

.resultados-list li:nth-child(3):before {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233368c6"><path d="M20.5,3l-0.16,0.03L15,5.1L9,3L3.36,4.9C3.15,4.97,3,5.15,3,5.38V20.5c0,0.28,0.22,0.5,0.5,0.5l0.16-0.03L9,18.9l6,2.1 l5.64-1.9c0.21-0.07,0.36-0.25,0.36-0.48V3.5C21,3.22,20.78,3,20.5,3z M10,5.47l4,1.4v11.66l-4-1.4V5.47z M5,6.46l3-1.01v11.7 l-3,1.01V6.46z M19,17.54l-3,1.01V6.85l3-1.01V17.54z"/></svg>');
}

.resultados-list li .resultado-text {
	flex: 1;
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
}

/* Sección gestión por WhatsApp */
#gestion-whatsapp {
	background-color: var(--light-bg);
	padding: 6rem 0;
}

#gestion-whatsapp .section-content {
	background-color: var(--white);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	text-align: center;
}

.gestion-subtitle {
	font-size: 1.3rem;
	color: var(--text-color);
	margin-bottom: 4rem;
	font-weight: 400;
}

.gestion-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	margin-bottom: 4rem;
}

.step {
	text-align: center;
	padding: 2rem 1rem;
}

.step-icon {
	position: relative;
	margin: 0 auto 2rem;
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.step-number {
	position: absolute;
	top: -10px;
	left: -10px;
	background-color: var(--main-color);
	color: var(--white);
	width: 35px;
	height: 35px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 1.2rem;
	z-index: 2;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.step-icon-bg {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, #e8f4fd, #d1e7dd);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
	border: 3px solid var(--main-color);
	position: relative;
	z-index: 1;
}

.step h3 {
	color: var(--second-color);
	font-size: 1.3rem;
	margin-bottom: 1rem;
	text-transform: none;
	font-family: 'Lora', serif;
	font-weight: 700;
	line-height: 1.4;
}

.step p {
	color: var(--text-color);
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 0;
}

.whatsapp-contact {
	margin-top: 3rem;
}

.whatsapp-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	background: linear-gradient(135deg, #25d366, #128c7e);
	color: var(--white);
	padding: 1rem 2rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1rem;
	box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
	transition: all 0.3s ease;
}

.whatsapp-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
	background: linear-gradient(135deg, #128c7e, #25d366);
}

.whatsapp-icon {
	font-size: 1.3rem;
}

/* Sección pacientes */
#pacientes {
	background-color: var(--white);
}

#pacientes .section-content {
	background-color: transparent;
	padding: 0;
}

.pacientes-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}

.pacientes-column {
	padding: 2rem;
	background-color: var(--light-bg);
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.pacientes-column p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}

.pacientes-column span {
	font-weight: 500;
	color: var(--second-color);
}

.indicaciones-image {
	margin-top: 2rem;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.indicaciones-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.requisitos-list {
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.requisitos-list li {
	margin-bottom: 0.5rem;
}

.obras-sociales-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
	padding: 0;
}

.obra-social-logo {
	background-color: var(--white);
	border-radius: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.2rem;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	border: 2px solid transparent;
	min-height: 100px;
	position: relative;
	overflow: hidden;
}

.obra-social-logo:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(51, 104, 198, 0.15);
	border-color: var(--main-color);
}

.obra-social-logo img {
	max-width: 100%;
	max-height: 60px;
	object-fit: contain;
	filter: grayscale(20%);
	transition: all 0.3s ease;
	z-index: 1;
	position: relative;
}

.obra-social-logo:hover img {
	filter: grayscale(0%);
	transform: scale(1.05);
}

/* Footer/contacto */
footer {
	background-color: var(--main-color);
	color: var(--white);
	padding: 4rem 0;
	position: relative;
}

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

footer .section-content {
	background-color: transparent;
}

footer h3 {
	color: var(--white);
	font-size: 1.3rem;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	font-family: 'Lora', serif;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

footer p {
	font-size: 1rem;
	margin-bottom: 0.5rem;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.contacto-info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}

.google-map {
	width: 100%;
	height: 300px;
	border-radius: 8px;
	overflow: hidden;
}

/* Media queries para responsive */

/* Media queries para el header */
/* Breakpoint intermedio - reducir espaciado del navbar */
@media (max-width: 1200px) {
	#navbar a {
		padding: 0.5rem 0.8rem;
		font-size: 0.95rem;
	}
}

@media (max-width: 1000px) {
	#navbar a {
		padding: 0.5rem 0.6rem;
		font-size: 0.9rem;
	}

	.logo {
		width: 220px;
	}
}

@media (max-width: 900px) {
	#navbar a {
		padding: 0.5rem 0.4rem;
		font-size: 0.85rem;
	}

	.logo {
		width: 200px;
	}
}

@media (max-width: 768px) {
	#menu-bar {
		display: block;
	}

	#navbar {
		position: fixed;
		top: 100px;
		left: -100%;
		width: 100vw;
		background-color: var(--white);
		padding: 1rem 0;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
		transition: 0.3s;
	}

	#navbar.active {
		left: 0;
	}

	#navbar ul {
		flex-direction: column;
		gap: 1rem;
		width: 100%;
		padding: 0;
	}

	#navbar ul li {
		width: 100%;
	}

	#navbar a {
		display: block;
		padding: 1rem;
		text-align: center;
		font-size: 1rem;
		width: 100%;
	}

	/* Ajustar línea decorativa en móvil */
	#navbar a::after {
		width: 0;
	}

	#navbar a:hover::after,
	#navbar a.active::after {
		width: 30%;
	}

	.logo {
		width: 200px;
	}

	header .container {
		padding: 0.5rem 20px;
	}

	main {
		padding-top: 80px;
	}
}

/* Media queries para la sección home */
@media (max-width: 768px) {
	#home h2 {
		font-size: 2.5rem;
	}

	#home h3 {
		font-size: 2rem;
	}

	#home p {
		font-size: 1.1rem;
		padding: 0 1rem;
	}

	.section-title {
		font-size: 2rem;
	}

	.section-content {
		padding: 1.5rem;
	}

	/* Ajustes del carrusel en móvil */
	.carousel-controls {
		padding: 0 1rem;
	}

	.carousel-btn {
		width: 50px;
		height: 50px;
		font-size: 1.4rem;
		/* Mejor visibilidad y contraste para iPhone */
		background: rgba(255, 255, 255, 0.95);
		border: 3px solid rgba(255, 255, 255, 1);
		/* Área táctil óptima para iOS (mínimo 44px) */
		min-width: 50px;
		min-height: 50px;
		/* Quitar backdrop-filter para mejor rendimiento en iOS */
		backdrop-filter: none;
		/* Mejorar la respuesta táctil */
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}

	.carousel-btn:hover,
	.carousel-btn:active {
		background: rgba(255, 255, 255, 1);
		transform: scale(0.95);
	}

	.carousel-indicators {
		bottom: 1.5rem;
		gap: 1rem;
	}

	.indicator {
		width: 16px;
		height: 16px;
		/* Área táctil expandida para iPhone */
		min-width: 44px;
		min-height: 44px;
		padding: 14px;
		box-sizing: border-box;
		/* Mejorar la respuesta táctil */
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
		/* Centrar el indicador visual */
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}

	.indicator::before {
		content: '';
		width: 16px;
		height: 16px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.4);
		border: 2px solid transparent;
		transition: all 0.3s ease;
	}

	.indicator.active::before {
		background: var(--white);
		border-color: var(--main-color);
	}

	.indicator:hover::before {
		background: rgba(255, 255, 255, 0.7);
		transform: scale(1.2);
	}
}

@media (max-width: 480px) {
	#home h2 {
		font-size: 2rem;
	}

	#home h3 {
		font-size: 1.6rem;
	}

	#home p {
		font-size: 1rem;
	}

	.section-title {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}

	.section-content {
		padding: 1rem;
	}

	.logo {
		max-width: 160px;
	}
}

/* Media queries para nosotros */
@media (max-width: 968px) {
	.nosotros-image-full {
		margin: 2rem 0;
	}
}

@media (max-width: 768px) {
	.nosotros-image-full {
		margin: 1.5rem 0;
	}
}

/* Media queries para la sección laboratorio */
@media (max-width: 968px) {
	.laboratorio-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.laboratorio-content {
		padding-right: 0;
	}

	.laboratorio-image {
		min-height: 400px;
		order: -1;
	}

	.certificaciones-logos {
		flex-direction: column;
		gap: 2rem;
	}

	.certificacion-logo {
		max-width: 70%;
	}

	.certificacion-logo img {
		max-width: 150px;
	}

	.certificacion-logo:first-child img {
		max-width: 180px;
	}
}

@media (max-width: 480px) {
	.laboratorio-image {
		min-height: 300px;
	}

	.laboratorio-content {
		padding: 0;
	}

	.certificaciones-logos {
		gap: 1.5rem;
		min-height: 80px;
	}

	.certificacion-logo {
		max-width: 80%;
	}

	.certificacion-logo img {
		max-width: 120px;
	}

	.certificacion-logo:first-child img {
		max-width: 140px;
	}
}

/* Media queries para servicios */
@media (max-width: 968px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

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

	.resultados-list li {
		padding: 1rem;
		flex-direction: column;
		text-align: center;
		gap: 0.8rem;
	}

	.resultados-list li:before {
		width: 30px;
		height: 30px;
	}
}

@media (max-width: 480px) {
	#servicios {
		padding: 4rem 0;
	}

	.card-content {
		padding: 1rem;
	}

	.resultados-info {
		padding: 1.5rem;
		margin-top: 2rem;
	}

	.resultados-list {
		gap: 1rem;
	}

	.resultados-list li {
		padding: 0.8rem;
	}
}

/* Media queries para gestión WhatsApp */
@media (max-width: 968px) {
	.gestion-steps {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.gestion-subtitle {
		font-size: 1.1rem;
		margin-bottom: 3rem;
	}

	.step {
		padding: 1.5rem 0.5rem;
	}

	.step-icon {
		width: 80px;
		height: 80px;
		margin-bottom: 1.5rem;
	}

	.step-icon-bg {
		width: 60px;
		height: 60px;
		font-size: 2rem;
	}

	.step-number {
		width: 30px;
		height: 30px;
		font-size: 1rem;
		top: -8px;
		left: -8px;
	}

	.step h3 {
		font-size: 1.1rem;
	}

	.whatsapp-btn {
		padding: 0.8rem 1.5rem;
		font-size: 1rem;
	}
}

@media (max-width: 480px) {
	#gestion-whatsapp {
		padding: 4rem 0;
	}

	.gestion-subtitle {
		font-size: 1rem;
		margin-bottom: 2rem;
		padding: 0 1rem;
	}

	.gestion-steps {
		gap: 1.5rem;
	}

	.step {
		padding: 1rem 0.5rem;
	}

	.step h3 {
		font-size: 1rem;
		margin-bottom: 0.8rem;
	}

	.step p {
		font-size: 0.9rem;
	}

	.whatsapp-btn {
		padding: 0.7rem 1.2rem;
		font-size: 0.9rem;
	}
}

/* Media queries para pacientes */
@media (max-width: 968px) {
	.pacientes-content {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

@media (max-width: 768px) {
	.obras-sociales-logos {
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
		gap: 1rem;
		padding: 0;
	}

	.obra-social-logo {
		min-height: 80px;
		padding: 0.8rem;
	}

	.obra-social-logo img {
		max-height: 45px;
	}

	.section-content {
		padding: 1rem;
	}

	.pacientes-column {
		padding: 1.5rem;
	}
}

@media (max-width: 480px) {
	.pacientes-content {
		gap: 1.5rem;
	}

	.pacientes-column {
		padding: 1rem;
	}

	.obras-sociales-logos {
		grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
		gap: 0.8rem;
	}

	.obra-social-logo {
		min-height: 60px;
		padding: 0.5rem;
	}

	.obra-social-logo img {
		max-height: 35px;
	}

	.indicaciones-image {
		margin-top: 1.5rem;
	}
}

/* Media query para footer */
@media (max-width: 768px) {
	.contacto-info {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.map-column {
		order: -1;
	}

	footer {
		padding: 3rem 0;
	}
}

@media (max-width: 480px) {
	footer {
		padding: 2rem 0;
	}

	.contacto-info {
		gap: 1.5rem;
	}

	.google-map {
		height: 250px;
	}

	footer h3 {
		font-size: 1.1rem;
		margin-top: 1rem;
	}

	footer p {
		font-size: 0.9rem;
	}
}

/* WhatsApp floating button */
.whatsapp-float {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: linear-gradient(135deg, #25d366, #128c7e);
	color: var(--white);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	z-index: 1000;
	transition: all 0.3s ease;
	text-decoration: none;
}

.whatsapp-float:hover {
	transform: translateY(-5px) scale(1.1);
	background: linear-gradient(135deg, #128c7e, #25d366);
}

.whatsapp-float i {
	color: var(--white);
}

/* Responsive adjustments for floating button */
@media (max-width: 768px) {
	.whatsapp-float {
		width: 50px;
		height: 50px;
		font-size: 1.5rem;
		bottom: 15px;
		right: 15px;
	}
}
