@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
:root {
	--text-dark:#1b1f2a;
	--text-gray:#5b6472;
	--bg-light:#f5f7fb;
	--green-wa:#22c55e;
	--text-gris: #888;
}
body{
	font-family:'Inter', sans-serif;
	color:var(--text-dark);
	background:#fff;
}

h1,h2,h3,h4,h5,
.brand-name,
.fw-poppins{
	font-family:'Poppins', sans-serif;
}

a{text-decoration:none;}

.banner-seccion{
    max-height: 200px;
    overflow: hidden;
}
.banner-seccion .hero-content{
	margin-top:5%;
}
.texto-color{
	color: var(--bar-footer);
    font-weight: 100;
    font-size: .7rem;
}
.noticia .section-sub p{
	max-width: max-content;
}
.contacto .section-sub p{
	max-width: 100%;
}

/* ===== NAVBAR ===== */
.navbar-custom{
	padding:18px 0;
	background:#fff;
	box-shadow:0 2px 10px rgba(0,0,0,0.04);
}
.brand-name{
	font-weight:800;
	font-size:1.5rem;
	color:var(--text-dark);
	line-height:1;
}
.brand-name span{color:var(--botones);}
.brand-sub{
	font-size:0.65rem;
	color:var(--text-gray);
	letter-spacing:.2px;
	display:block;
	margin-top:2px;
}
.nav-link-custom{
	color:var(--text-gris) !important;
	font-weight:100;
	font-size:0.95rem;
	margin:0 5px;
}
.nav-link-custom.active{
	color:var(--botones) !important;
	font-weight:100;
}
#navMain .btn-primary-custom{
    padding: 8px 15px;
}
.btn-primary-custom{
	background: var(--botones);
    border: none;
    color: #fff;
    font-weight: 100;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 0.95rem;
    white-space: nowrap;
}
.btn-primary-custom:hover{
	background:var(--botones-hover);
	color:#fff;
}

.btn-primary-custom2{
	background: var(--botones-hover);
    border: none;
    color: #fff;
    font-weight: 100;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 0.95rem;
    white-space: nowrap;
}
.btn-primary-custom2:hover{
	background:var(--botones);
	color:#fff;
}

/* ===== HERO ===== */
.hero-section{
	position:relative;
	overflow:hidden;
	min-height:520px;
	display:flex;
	align-items:center;
	background-repeat: no-repeat;
    background-size: cover;
}
.hero-bg{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.85) 35%, rgba(255,255,255,0.2) 60%, rgba(255,255,255,0) 100%);
	z-index:0;
}
.hero-content{
	position:relative;
	z-index:9;
	margin-top:3%;
}
.hero-title{
	font-weight:600;
	font-size:2.8rem;
	line-height:1.15;
	color:var(--text-dark);
	margin-bottom:22px;
}
.hero-text,
.hero-text p{
	color:#383838;
	font-size:1rem;
	margin-bottom:28px;
}

/* ===== FEATURE STRIP ===== */
.feature-strip{
	margin-top:-60px;
	position:relative;
	z-index:2;
}
.feature-card{
	background:#fff;
	border-radius:12px;
	padding:20px 30px 20px 20px;
	box-shadow:0 10px 30px rgba(20,30,60,0.08);
	height:100%;
	display:flex;
	gap:14px;
	align-items:flex-start;
}
.feature-icon{
	width:42px;
	height:42px;
	min-width:42px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--botones);
	font-size:1.7rem;
}
.feature-card h6{
	font-weight:700;
	font-size:0.95rem;
	margin-bottom:4px;
	color:var(--text-dark);
}
.feature-card p{
	font-size:0.85rem;
	color:var(--text-gray);
	margin:0;
}

/* ===== SPECIALTIES ===== */
.section-eyebrow{
	color:var(--bar-footer);
	font-weight:100;
	letter-spacing:2px;
	font-size:1rem;
	text-transform:uppercase;
}
.section-title{
	font-weight:600;
	font-size:2.2rem;
	color:var(--text-dark);
}
.section-sub p {
	color:var(--text-gray);
	font-size:1rem;
	max-width:650px;
	margin:0 auto;
}

.specialty-card{
	background-image: url('../../../../img/ico-plus.png');
    background-position-x: 110%;
    background-position-y: -8%;
    background-size: 115px;
    background-repeat: no-repeat;
	border-radius:14px;
	padding:28px 24px;
	height:100%;
	position:relative;
	overflow:hidden;
	transition:box-shadow .2s ease, transform .2s ease;
	box-shadow:0px 0px 12px 3px rgba(20, 30, 60, 0.08);
}
.specialty-card:hover{
	box-shadow: none;
	background-color: #f6f6f6;
	transform:translateY(-3px);
}
.specialty-icon{
	width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--botones);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}
.specialty-icon img{
	padding: 13px;
    margin-top: 5px;
}
.specialty-card h5{
	font-weight:700;
	font-size:1.05rem;
	margin-bottom:10px;
}
.specialty-card p{
	color:var(--text-gray);
	font-size:0.88rem;
	line-height:1.5;
	margin-bottom:16px;
}
.specialty-link{
    color: var(--botones);
    font-weight: 100;
    font-size: 0.9rem;
    padding: 8px;
    position: relative;
    display: flex;
    width: 100%;
}
.specialty-link::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72%;
    height: 1px;
    background: var(--botones);
    transform-origin: left;
    transition: width .6s cubic-bezier(.22,.61,.36,1);
}
.specialty-link i{
    position: absolute;
    left: 65%;
    transition: left .6s cubic-bezier(.22,.61,.36,1);
}
.specialty-card:hover .specialty-link::after,
.team-card:hover .specialty-link::after{
    width: 85%;
}
.specialty-card:hover .specialty-link i{
    left: calc(82% - 12px);
}

/* ===== ABOUT ===== */
.about-section{
	background:var(--bg-light);
}
.about-img{
	width:100%;
	height:100%;
	min-height:420px;
	object-fit:cover;
	border-radius: 0 25px 25px 0;
}
.about-content{
	padding:60px 60px 60px 50px;
}
.about-content p{
	color:var(--text-gray);
	font-size:0.95rem;
	line-height:1.7;
}
/* Par de fotos lado a lado (bloque "¿Por que elegir?") */
.about-duo-img{
	width:100%;
	height:100%;
	min-height:320px;
	object-fit:cover;
}

/* ===== TEAM ===== */
.team-card{
	background:#fff;
	border-radius:14px;
	padding:28px 20px;
	text-align:center;
	height:100%;
	transition: box-shadow .2s ease, transform .2s ease;
	box-shadow: 0px 0px 12px 3px rgba(20, 30, 60, 0.08);
}
.team-card:hover{
	box-shadow: none;
	background-color: #f6f6f6;
	transform: translateY(-3px);
}
.team-avatar{
	width:110px;
	height:110px;
	border-radius:50%;
	object-fit:cover;
	margin:0 auto 18px;
	display:block;
	border:3px solid #f0f2f8;
}
.team-card h6{
	font-weight:700;
	margin-bottom:2px;
}
.team-specialty{
	color:var(--botones);
	font-weight:600;
	font-size:0.88rem;
	margin-bottom:8px;
}
.team-location{
	color:var(--text-gray);
	font-size:0.82rem;
	margin-bottom:14px;
}
.team-card .specialty-link{
	font-size:0.85rem;
	justify-content: center;
}
.team-card .specialty-link i{
	position: relative;
	left: 0;
	margin-left: 10px;
	transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.team-card .specialty-link::after{
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 50%;
	transform-origin: center;
}
.team-card:hover .specialty-link i{
	left: 0;
	transform: translateX(20px);
}

/* ===== CTA BANNER ===== */
.cta-banner{
	background:linear-gradient(120deg, var(--botones) 0%, var(--topbar-footer) 100%);
	border-radius:18px;
	padding:42px 50px;
	color:#fff;
}
.cta-banner h3{
	font-weight:600;
	font-size:2rem;
	margin-bottom:6px;
}
.cta-banner p{
	color:#cfd8f7;
	margin:0;
	font-size:0.95rem;
}
.btn-white-outline{
	background:#fff;
	color:var(--botones);
	font-weight:600;
	border:none;
	padding:11px 22px;
	border-radius:8px;
	white-space:nowrap;
}
.btn-white-outline:hover{
	background:#eef1ff;
	color:var(--botones);
}
.btn-whatsapp{
	background:var(--green-wa);
	color:#fff;
	font-weight:600;
	border:none;
	padding:11px 22px;
	border-radius:8px;
	white-space:nowrap;
}
.btn-whatsapp:hover{
	background:#1ba34d;
	color:#fff;
}

/* ===== FOOTER ===== */
.footer-section{
	background:var(--topbar-footer);
	color:#cdd3e6;
	padding-top:60px;
}
.footer-section h6{
	color:#fff;
	font-weight:700;
	letter-spacing:1px;
	font-size:0.85rem;
	margin-bottom:18px;
}
.footer-section .menu-foot a{
	color:#aeb6d1;
	font-size:0.9rem;
	display:block;
	margin-bottom:8px;
	transition:color .15s ease;
}
.footer-section .menu-foot a:hover{
	color:#fff;
}
.footer-brand img{
	max-width: 220px;
}
.footer-contact-item{
	display:flex;
	gap:10px;
	align-items:flex-start;
	margin-bottom:14px;
	font-size:0.9rem;
	color:#cdd3e6;
}
.footer-contact-item i{
	color:var(--bar-footer);
	font-size: 18px;
}
.footer-sucursal-nombre{
	color:#fff;
	font-size:0.85rem;
	letter-spacing:.3px;
}
.sucursal-card{
	border:1px solid rgba(0,0,0,0.06);
}
.sucursal-card .footer-contact-item{
	margin-bottom:10px;
	font-size:0.88rem;
}
.social-circle{
	font-size:1.2rem;
	width:45px;
	height:45px;
	border-radius:50%;
	background:var(--bar-footer);
	color:#fff;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-right:10px;
	transition:color .15s ease;
}
.social-circle:hover{
	background:#0a3df0;
}
.footer-bottom{
	border-top:1px solid rgba(255,255,255,0.08);
	margin-top:40px;
	padding:22px 0;
	text-align:center;
	font-size:0.85rem;
	color:#fff;
	letter-spacing:.5px;
}

@media (max-width:991px){
	.hero-title{font-size:2.2rem;}
	.about-content{padding:40px 20px;}
	.about-duo-img{min-height:200px;}
}
/* =========================================================
   EXÁMENES Y PROCEDIMIENTOS
   ========================================================= */

/* --- Hero --- */
.ex-hero{
	position:relative;
	min-height:520px;
	display:flex;
	align-items:center;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center right;
}
.ex-hero-bg{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.92) 35%, rgba(255,255,255,0.35) 60%, rgba(255,255,255,0) 100%);
	z-index:0;
}
.ex-hero-content{
	position:relative;
	z-index:2;
}
.ex-hero-title{
	font-weight:700;
	font-size:3rem;
	line-height:1.12;
	color:#0f2b5b;
	margin-bottom:20px;
}
.ex-hero-title .ex-hero-title-light{
	display:block;
	font-weight:400;
	color:#1b3d73;
}
.ex-hero-text p{
	color:#4a5568;
	font-size:0.95rem;
	line-height:1.75;
	margin-bottom:0;
}
.ex-hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px;
}

/* --- Tarjeta intro (se monta sobre el hero) --- */
.ex-intro-wrap{
	position:relative;
	z-index:3;
	margin-top:-15px;
}
.ex-intro-card{
	background:#fff;
	border-radius:18px;
	box-shadow:0 12px 40px rgba(20,30,60,0.10);
	padding:34px 40px;
	margin:0;
}
.ex-intro-icon{
	width:78px;
	height:78px;
	min-width:78px;
	border-radius:50%;
	background:#eaf2ff;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2rem;
}
.ex-intro-title{
	font-weight:700;
	font-size:1.6rem;
	line-height:1.25;
	color:#0f2b5b;
	margin:0;
}
.ex-intro-title span{color:var(--botones);}
.ex-intro-body{
	border-left:1px solid #e6eaf2;
	padding-left:38px;
}
.ex-intro-body p{
	color:var(--text-gray);
	font-size:0.92rem;
	line-height:1.7;
	margin-bottom:14px;
}
.ex-intro-body p:last-child{margin-bottom:0;}

/* --- Áreas --- */
.ex-areas{
	background:var(--bg-light);
	padding:70px 0 60px;
}
.ex-area-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 6px 24px rgba(20,30,60,0.07);
	overflow:hidden;
	margin-bottom:26px;
}
.ex-area-media{
	padding:14px;
}
.ex-area-media img{
	width:100%;
	height:100%;
	min-height:230px;
	object-fit:cover;
	border-radius:12px;
	display:block;
}
.ex-area-body{
	padding:28px 30px 28px 16px;
	display:flex;
	flex-direction:column;
}
.ex-area-head{
	display:flex;
	align-items:flex-start;
	gap:16px;
	margin-bottom:14px;
}
.ex-area-icon{
	width:62px;
	height:62px;
	min-width:62px;
	border-radius:50%;
	background:var(--ac-soft);
	color:var(--ac);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.6rem;
}
.ex-area-title{
	font-weight:700;
	font-size:1.35rem;
	color:#0f2b5b;
	margin:0 0 4px;
}
.ex-area-bajada{
	color:var(--botones);
	font-size:0.88rem;
	line-height:1.45;
	margin:0;
}
.ex-area-desc p{
	color:var(--text-gray);
	font-size:0.9rem;
	line-height:1.7;
	margin-bottom:0;
}
.ex-area-btn{
	align-self:flex-start;
	margin-top:22px;
	border:1px solid var(--botones);
	color:var(--botones);
	background:transparent;
	font-size:0.9rem;
	font-weight:500;
	padding:8px 26px;
	border-radius:8px;
	transition:background .18s ease, color .18s ease;
}
.ex-area-btn:hover{
	background:var(--botones);
	color:#fff;
}
.ex-area-list{
	border-left:1px solid #eceff5;
	padding:34px 30px;
	display:flex;
	align-items:center;
}
.ex-area-list ul{
	list-style:none;
	padding:0;
	margin:0;
	width:100%;
}
.ex-area-list li{
	position:relative;
	padding-left:30px;
	color:var(--text-gray);
	font-size:0.9rem;
	line-height:1.5;
	margin-bottom:14px;
}
.ex-area-list li:last-child{margin-bottom:0;}
.ex-area-list li::before{
	content:'';
	position:absolute;
	left:0;
	top:2px;
	width:16px;
	height:16px;
	background-color:var(--ac);
	-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E") no-repeat center/contain;
	mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Variante de 2 columnas: el listado baja bajo la descripción */
.ex-area-card--ancha .ex-area-body{
	padding:28px 34px 28px 20px;
}
.ex-area-list--inline{
	display:block;
	border-left:none;
	padding:0;
	margin-top:20px;
}
.ex-area-list--inline ul{
	columns:3;
	column-gap:28px;
}
.ex-area-list--inline li{
	break-inside:avoid;
	-webkit-column-break-inside:avoid;
}

/* --- Pasos "¿Cómo son los procedimientos?" --- */
.ex-pasos{padding:70px 0 60px;}
.ex-paso-card{
	background:var(--ac-soft);
	border-radius:14px;
	padding:30px 22px 24px;
	text-align:center;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.ex-paso-icon{
	color:var(--ac);
	font-size:2.2rem;
	line-height:1;
	margin-bottom:16px;
}
.ex-paso-card h6{
	font-weight:600;
	font-size:0.95rem;
	color:#0f2b5b;
	line-height:1.4;
	margin-bottom:18px;
}
.ex-paso-num{
	width:30px;
	height:30px;
	border-radius:50%;
	background:var(--ac);
	color:#fff;
	font-size:0.85rem;
	font-weight:600;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-top:auto;
}

/* --- CTA final --- */
.ex-cta{
	background:#e9f1ff;
	border-radius:18px;
	overflow:hidden;
}
.ex-cta-img{
	width:100%;
	height:100%;
	min-height:260px;
	object-fit:cover;
	display:block;
}
.ex-cta-body{
	padding:44px 46px;
}
.ex-cta-body h3{
	font-weight:700;
	font-size:1.9rem;
	line-height:1.25;
	color:#0f2b5b;
	margin-bottom:14px;
}
.ex-cta-body p{
	color:#4a5568;
	font-size:0.93rem;
	line-height:1.7;
	margin-bottom:0;
}
.ex-cta-actions{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:26px;
}

@media (max-width:991px){
	.ex-hero{min-height:auto;padding:60px 0;}
	.ex-hero-title{font-size:2.2rem;}
	.ex-hero-bg{background:rgba(255,255,255,0.92);}
	.ex-intro-wrap{margin-top:-10px;}
	.ex-intro-card{padding:26px 22px;}
	.ex-intro-body{border-left:none;padding-left:12px;padding-top:20px;}
	.ex-area-body{padding:22px;}
	.ex-area-list{border-left:none;border-top:1px solid #eceff5;padding:22px;}
	.ex-area-list--inline{border-top:none;padding:0;}
	.ex-area-list--inline ul{columns:1;}
	.ex-area-card--ancha .ex-area-body{padding:22px;}
	.ex-cta-body{padding:30px 24px;}
}

/* =========================================================
   DETALLE DE ESPECIALIDAD
   (reutiliza el sistema visual de Exámenes y Procedimientos)
   ========================================================= */

.det-eyebrow{
	display:inline-block;
	background:rgba(255,255,255,0.75);
	border:1px solid #dbe3f0;
	color:var(--botones);
	font-size:0.78rem;
	font-weight:600;
	letter-spacing:.4px;
	text-transform:uppercase;
	padding:6px 14px;
	border-radius:30px;
	margin-bottom:16px;
}

/* Chips de destacados que vienen del campo "breve" (líneas con ✓) */
.det-chips{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:22px;
}
.det-chip{
	display:inline-flex;
	align-items:center;
	gap:7px;
	background:#fff;
	border:1px solid #e3e9f4;
	border-radius:30px;
	padding:7px 16px;
	font-size:0.85rem;
	color:#31415c;
	box-shadow:0 2px 8px rgba(20,30,60,0.05);
}
.det-chip i{color:var(--botones);}

/* Bloque principal */
.det-seccion{
	background:var(--bg-light);
	padding:70px 0;
}
.det-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 6px 24px rgba(20,30,60,0.07);
	overflow:hidden;
}
/* Cabecera con la insignia del servicio. La imagen es un ícono cuadrado,
   así que se contiene dentro de un círculo en vez de recortarse a lo ancho. */
.det-cabecera{
	display:flex;
	align-items:center;
	gap:20px;
	padding:28px 30px 0;
}
.det-icono{
	width:92px;
	height:92px;
	min-width:92px;
	border-radius:50%;
	background:#eaf2ff;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}
.det-icono img{
	width:60%;
	height:60%;
	object-fit:contain;
}
.det-titulo{
	font-weight:700;
	font-size:1.7rem;
	color:#0f2b5b;
	margin:0 0 4px;
	line-height:1.2;
}

/* Tipografía del contenido enriquecido (campo "completo") */
.det-contenido{
	padding:24px 30px 30px;
}
.det-contenido > *:first-child{margin-top:0;}
.det-contenido p{
	color:var(--text-gray);
	font-size:0.95rem;
	line-height:1.75;
	margin-bottom:16px;
}
.det-contenido h2,
.det-contenido h3,
.det-contenido h4{
	font-weight:700;
	font-size:1.25rem;
	color:#0f2b5b;
	margin:30px 0 14px;
	padding-left:14px;
	border-left:4px solid var(--botones);
	line-height:1.35;
}
.det-contenido ul{
	list-style:none;
	padding:0;
	margin:0 0 20px;
}
.det-contenido ul li{
	position:relative;
	padding-left:30px;
	color:var(--text-gray);
	font-size:0.93rem;
	line-height:1.6;
	margin-bottom:12px;
}
.det-contenido ul li strong{color:#0f2b5b;}
.det-contenido ul li::before{
	content:'';
	position:absolute;
	left:0;
	top:3px;
	width:16px;
	height:16px;
	background-color:var(--botones);
	-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E") no-repeat center/contain;
	mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Panel de reserva */
.det-reserva{
	position:sticky;
	top:100px;
}
.det-reserva-head{
	background:linear-gradient(120deg, var(--botones) 0%, var(--topbar-footer) 100%);
	color:#fff;
	padding:22px 26px;
}
.det-reserva-head h5{
	font-weight:700;
	font-size:1.15rem;
	margin:0 0 4px;
}
.det-reserva-head p{
	color:rgba(255,255,255,0.82);
	font-size:0.85rem;
	margin:0;
}
.det-reserva-body{padding:24px 26px;}
.det-reserva-body .form-floating > label{
	font-size:0.9rem;
	color:#8a93a5;
}
.det-reserva-body h5{
	font-weight:700;
	font-size:0.95rem;
	color:#0f2b5b;
	letter-spacing:.3px;
}
.det-reserva-vacio{
	background:#f6f8fc;
	border:1px dashed #d5deec;
	border-radius:12px;
	padding:22px;
	text-align:center;
	color:var(--text-gray);
	font-size:0.9rem;
}

/* Otras especialidades */
.det-otras{padding:60px 0;}
.det-otra-card{
	display:flex;
	align-items:center;
	gap:12px;
	background:#fff;
	border:1px solid #e9edf5;
	border-radius:12px;
	padding:14px 18px;
	height:100%;
	color:#0f2b5b;
	font-size:0.92rem;
	font-weight:500;
	transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.det-otra-card:hover{
	border-color:var(--botones);
	box-shadow:0 6px 18px rgba(20,30,60,0.08);
	transform:translateY(-2px);
	color:var(--botones);
}
.det-otra-card i{color:var(--botones);font-size:1.1rem;}

@media (max-width:991px){
	.det-seccion{padding:40px 0;}
	.det-contenido{padding:22px;}
	.det-reserva{position:static;}
	.det-cabecera{padding:22px 22px 0;gap:14px;}
	.det-titulo{font-size:1.35rem;}
}

/* Banner de la ficha de especialidad: 420px en vista de escritorio.
   En mobile manda la regla de .ex-hero (altura automática). */
@media (min-width:992px){
	.det-hero{
		min-height:420px;
	}
}
.whatsapp {
  position: fixed;
  z-index: 9999 !important;
  border-radius: 50% 50% 50% 0%;
  width: 62px;
  height: 62px;
  bottom: 15px;
  left: 15px;
  background-color: #25d366;
  padding: 8px 8px 8px 10px;
  animation: 1s infinite alternate shimmy;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center; }
  .whatsapp i {
    font-size: 42px;
    color: #fff; }

@keyframes shimmy {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(5px, -5px); } }

/* =========================================================
   FICHA DE ESPECIALIDAD - FORMATO NUEVO
   (bloques estructurados: sintomas, procedimientos,
   especialistas y cierre. Ver detalle-servicios.blade.php)
   ========================================================= */

.esp-migas{
	background:transparent;
	padding:18px 0 0;
	font-size:0.82rem;
	color:var(--text-gray);
}
.esp-migas ol{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	list-style:none;
	padding:0;
	margin:0;
}
.esp-migas a{color:var(--text-gray);}
.esp-migas a:hover{color:var(--botones);}
.esp-migas li + li::before{
	content:'\203A';
	margin-right:8px;
	color:#b9c2d2;
}
.esp-migas .esp-migas-actual{color:#0f2b5b;font-weight:600;}

/* --- Hero --- */
.esp-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:12px;
	margin-bottom:18px;
}
.esp-eyebrow-ico{
	width:44px;
	height:44px;
	min-width:44px;
	border-radius:12px;
	background:var(--botones);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.25rem;
	overflow:hidden;
}
/* Los iconos de especialidad son trazos blancos: necesitan el fondo solido. */
.esp-eyebrow-ico img{
	width:100%;
	height:100%;
	object-fit:contain;
	padding:8px;
}
.esp-eyebrow span{
	font-weight:700;
	font-size:0.8rem;
	letter-spacing:1.2px;
	text-transform:uppercase;
	color:var(--botones);
}
.esp-tagline{
	font-weight:600;
	font-size:1.05rem;
	line-height:1.5;
	color:var(--botones);
	margin-bottom:18px;
}
.esp-intro p{
	color:#4a5568;
	font-size:0.95rem;
	line-height:1.75;
	margin-bottom:12px;
}
.esp-intro p:last-child{margin-bottom:0;}

/* Recuadro "¿Sabias que...?" */
.esp-sabias{
	display:flex;
	align-items:flex-start;
	gap:18px;
	background:#eef4ff;
	border-radius:16px;
	padding:22px 26px;
	margin-top:28px;
	max-width:560px;
}
.esp-sabias-ico{
	width:52px;
	height:52px;
	min-width:52px;
	border-radius:50%;
	background:#fff;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.4rem;
}
.esp-sabias h2{
	font-weight:700;
	font-size:1.15rem;
	color:#0f2b5b;
	margin:0 0 6px;
}
.esp-sabias p{
	color:#4a5568;
	font-size:0.88rem;
	line-height:1.65;
	margin:0 0 8px;
}
.esp-sabias p:last-child{margin-bottom:0;}

/* --- Bloques del cuerpo --- */
.esp-bloque{padding:56px 0 0;}
.esp-bloque:last-of-type{padding-bottom:20px;}
.esp-panel{
	background:var(--bg-light);
	border-radius:20px;
	padding:44px 46px;
}
.esp-titulo{
	font-weight:700;
	font-size:1.7rem;
	line-height:1.25;
	color:#0f2b5b;
	margin:0 0 10px;
}
.esp-subtitulo{
	font-weight:600;
	font-size:1.02rem;
	line-height:1.5;
	color:var(--botones);
	margin:0 0 12px;
	max-width:900px;
}
.esp-bajada{
	color:var(--text-gray);
	font-size:0.93rem;
	line-height:1.7;
	margin:0 0 30px;
	max-width:900px;
}
.esp-bajada:last-child{margin-bottom:0;}

/* Listado de sintomas: circulo con icono + etiqueta */
.esp-sintomas{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(118px, 1fr));
	gap:26px 18px;
}
.esp-sintoma{text-align:center;}
.esp-sintoma-ico{
	width:78px;
	height:78px;
	margin:0 auto 14px;
	border-radius:50%;
	background:#fff;
	border:1px solid #dde5f2;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.75rem;
}
.esp-sintoma p{
	color:var(--text-gray);
	font-size:0.83rem;
	line-height:1.5;
	margin:0;
}

/* Tarjetas de examenes y procedimientos */
.esp-proc-card{
	background:#fff;
	border:1px solid #e7ecf5;
	border-radius:14px;
	padding:28px 24px;
	height:100%;
	text-align:center;
	transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.esp-proc-card:hover{
	border-color:#d3ddef;
	box-shadow:0 8px 24px rgba(20,30,60,0.08);
	transform:translateY(-2px);
}
.esp-proc-ico{
	color:var(--botones);
	font-size:2.1rem;
	line-height:1;
	margin-bottom:18px;
}
.esp-proc-card h3{
	font-weight:700;
	font-size:1rem;
	line-height:1.35;
	color:#0f2b5b;
	margin:0 0 12px;
}
.esp-proc-card p{
	color:var(--text-gray);
	font-size:0.85rem;
	line-height:1.6;
	margin:0;
}

/* Listado "Te ayudamos a..." */
.esp-beneficios{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	list-style:none;
	padding:0;
	margin:0;
}
.esp-beneficio{
	display:inline-flex;
	align-items:center;
	gap:9px;
	background:#fff;
	border:1px solid #e3e9f4;
	border-radius:30px;
	padding:9px 18px;
	font-size:0.86rem;
	color:#31415c;
}
.esp-beneficio i{color:var(--botones);}

/* Ficha de especialista */
.esp-team-card{
	display:flex;
	align-items:center;
	gap:22px;
	background:var(--bg-light);
	border-radius:16px;
	padding:22px 26px;
	height:100%;
}
.esp-team-foto{
	width:112px;
	height:112px;
	min-width:112px;
	border-radius:50%;
	background:#fff;
	border:5px solid #fff;
	box-shadow:0 4px 14px rgba(20,30,60,0.10);
	overflow:hidden;
	margin:0;
}
.esp-team-foto img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
}
.esp-team-foto .esp-team-sinfoto{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#eef2f9;
	color:#aab5c8;
	font-size:2.2rem;
}
.esp-team-nombre{
	font-weight:700;
	font-size:1.15rem;
	color:#0f2b5b;
	margin:0 0 3px;
	line-height:1.25;
}
.esp-team-cargo{
	color:var(--botones);
	font-size:0.88rem;
	margin:0 0 8px;
}
.esp-team-sede{
	display:inline-flex;
	align-items:center;
	gap:6px;
	color:var(--text-gray);
	font-size:0.84rem;
	margin-bottom:14px;
}
.esp-team-sede i{color:var(--botones);}
.esp-team-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border:1px solid #d7dfee;
	border-radius:8px;
	padding:7px 16px;
	font-size:0.85rem;
	font-weight:500;
	color:#0f2b5b;
	background:#fff;
	transition:border-color .18s ease, color .18s ease;
}
.esp-team-btn:hover{
	border-color:var(--botones);
	color:var(--botones);
}

/* --- Cierre (CTA) --- */
.esp-cta-wrap{padding:56px 0 70px;}
.esp-cta{
	background:#e9f1ff;
	border-radius:20px;
	padding:38px 44px;
}
.esp-cta-ico{
	width:86px;
	height:86px;
	min-width:86px;
	border-radius:50%;
	background:#fff;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2.2rem;
}
.esp-cta h2{
	font-weight:700;
	font-size:1.6rem;
	line-height:1.25;
	color:#0f2b5b;
	margin:0 0 8px;
}
.esp-cta p{
	color:#4a5568;
	font-size:0.92rem;
	line-height:1.7;
	margin:0;
}
.esp-cta-acciones{
	display:flex;
	flex-direction:column;
	gap:12px;
}
.esp-cta-acciones .btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
}

@media (max-width:991px){
	.esp-bloque{padding:36px 0 0;}
	.esp-panel{padding:28px 22px;}
	.esp-titulo{font-size:1.35rem;}
	.esp-sabias{padding:20px;gap:14px;margin-top:22px;}
	.esp-sintomas{grid-template-columns:repeat(auto-fit, minmax(104px, 1fr));gap:22px 12px;}
	.esp-team-card{flex-direction:column;text-align:center;gap:16px;}
	.esp-team-sede{justify-content:center;}
	.esp-cta-wrap{padding:36px 0 50px;}
	.esp-cta{padding:26px 22px;}
	.esp-cta h2{font-size:1.3rem;}
	.esp-cta-ico{margin-bottom:18px;}
}
/* ============================================================
   Pop-up "Ver perfil" del profesional
   El contenido lo inyecta secciones/tienda/perfil-profesional.blade.php
   ============================================================ */
.perfil-prof-cargando{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:280px;
	color:var(--botones);
}
.perfil-prof-lateral{
	background:linear-gradient(160deg, var(--botones) 0%, var(--topbar-footer) 100%);
	color:#fff;
	text-align:center;
	padding:36px 24px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
.perfil-prof-foto{
	width:150px;
	height:150px;
	border-radius:50%;
	overflow:hidden;
	margin:0 0 18px;
	background:#eef2f9;
	border:4px solid rgba(255,255,255,.35);
	display:flex;
	align-items:center;
	justify-content:center;
}
.perfil-prof-foto img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
}
.perfil-prof-sinfoto{
	font-size:3.4rem;
	color:#c9d4e8;
	line-height:1;
}
.perfil-prof-lateral-nombre{
	font-family:'Poppins', sans-serif;
	font-weight:700;
	font-size:1.15rem;
	line-height:1.3;
	margin:0 0 6px;
}
.perfil-prof-lateral-cargo{
	font-size:0.88rem;
	font-weight:500;
	color:#ffb3d1;
	margin:0;
}
.perfil-prof-linea{
	display:block;
	width:110px;
	height:2px;
	background:rgba(255,255,255,.35);
	margin-top:18px;
}
.perfil-prof-detalle{
	padding:38px 40px 32px;
	max-height:88vh;
	overflow-y:auto;
}
.perfil-prof-nombre{
	font-weight:700;
	font-size:1.55rem;
	line-height:1.25;
	color:#0f2b5b;
	margin:0 0 4px;
	padding-right:28px;
}
.perfil-prof-cargo{
	color:var(--botones);
	font-weight:600;
	font-size:0.95rem;
	margin:0 0 10px;
}
.perfil-prof-sede{
	display:flex;
	align-items:center;
	gap:6px;
	color:var(--text-gray);
	font-size:0.84rem;
	margin-bottom:12px;
}
.perfil-prof-sede i{color:var(--botones);}
.perfil-prof-bio{
	color:#4a5568;
	font-size:0.9rem;
	line-height:1.75;
	margin:0;
	padding-bottom:18px;
	border-bottom:1px solid #f0d3e0;
}
.perfil-prof-datos{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:24px;
	padding:20px 0 22px;
}
.perfil-prof-dato{
	display:flex;
	gap:12px;
	align-items:flex-start;
}
.perfil-prof-dato + .perfil-prof-dato{
	border-left:1px solid #e6ecf5;
	padding-left:24px;
}
.perfil-prof-ico{
	width:38px;
	height:38px;
	min-width:38px;
	border-radius:50%;
	background:#fdeaf2;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.05rem;
}
.perfil-prof-dato h3{
	font-family:'Poppins', sans-serif;
	font-size:0.95rem;
	font-weight:600;
	color:var(--botones);
	margin:6px 0 8px;
}
.perfil-prof-dato ul{
	list-style:none;
	padding:0;
	margin:0;
}
.perfil-prof-dato li{
	position:relative;
	padding-left:14px;
	margin-bottom:8px;
	font-size:0.82rem;
	line-height:1.5;
	color:#4a5568;
}
.perfil-prof-dato li::before{
	content:"";
	position:absolute;
	left:0;
	top:7px;
	width:5px;
	height:5px;
	border-radius:50%;
	background:var(--botones);
}
.perfil-prof-dato li b{
	display:block;
	font-weight:600;
	color:#0f2b5b;
}
.perfil-prof-dato li span{
	display:block;
	color:var(--text-gray);
}
.perfil-prof-dato p{
	font-size:0.82rem;
	line-height:1.6;
	color:#4a5568;
	margin:0;
}
.perfil-prof-destacado{
	display:flex;
	gap:14px;
	align-items:flex-start;
	background:#fdeef5;
	border-radius:14px;
	padding:18px 20px;
	margin-bottom:22px;
}
.perfil-prof-destacado-ico{
	width:46px;
	height:46px;
	min-width:46px;
	border-radius:50%;
	background:#fff;
	color:var(--botones);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.3rem;
}
.perfil-prof-destacado h3{
	font-family:'Poppins', sans-serif;
	font-size:0.92rem;
	font-weight:600;
	color:var(--botones);
	margin:0 0 4px;
}
.perfil-prof-destacado p{
	font-size:0.8rem;
	line-height:1.6;
	color:#4a5568;
	margin:0;
}
.perfil-prof-contacto{
	list-style:none;
	padding:0;
	margin:0 0 20px;
	display:flex;
	flex-wrap:wrap;
	gap:8px 24px;
}
.perfil-prof-contacto li{
	font-size:0.82rem;
	color:var(--text-gray);
}
.perfil-prof-contacto i{color:var(--botones);margin-right:4px;}
.perfil-prof-contacto a{color:var(--text-gray);}
.perfil-prof-contacto a:hover{color:var(--botones);}
.perfil-prof-acciones{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
	gap:12px;
}
.perfil-prof-acciones .btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:11px 18px;
	font-size:0.9rem;
}
.btn-perfil-outline{
	border:1px solid #d7dfee;
	border-radius:8px;
	color:#0f2b5b;
	background:#fff;
	font-weight:500;
	transition:border-color .18s ease, color .18s ease;
}
.btn-perfil-outline:hover{
	border-color:var(--botones);
	color:var(--botones);
}

@media (max-width:767px){
	.perfil-prof-lateral{padding:24px 20px;}
	.perfil-prof-foto{width:120px;height:120px;margin-bottom:0;}
	/* El nombre ya va en la ficha; en una sola columna se veria repetido. */
	.perfil-prof-lateral-nombre,
	.perfil-prof-lateral-cargo,
	.perfil-prof-linea{display:none;}
	.perfil-prof-detalle{padding:26px 22px;max-height:none;}
	.perfil-prof-nombre{font-size:1.3rem;}
	.perfil-prof-datos{gap:18px;}
	.perfil-prof-dato + .perfil-prof-dato{border-left:0;padding-left:0;}
}
