/* ════════════════════════════════════════════════════════════════════════
   GYNOVA WIDGETS — paleta tomada del mockup Web_Gynova_DRAFT2
   Crema #EFF3E2 · Verde #118C6E · Lavanda #B9A0EA · Tinta #15291F
   Modal con degradado teal→lavanda (la firma visual del diseño).
   ════════════════════════════════════════════════════════════════════════ */

.gw {
	--gw-accent:   #118C6E;
	--gw-accent-d: #0C6B54;
	--gw-lavender: #B9A0EA;
	--gw-cream:    #EFF3E2;
	--gw-cardbg:   #F4F8EC;
	--gw-text:     #15291F;
	--gw-muted:    #5E7066;
	--gw-grad:     linear-gradient(135deg, #128C6E 0%, #3E8C8F 55%, #B9A0EA 100%);
	--gw-grad-bar: linear-gradient(90deg, #5E2E8C 0%, #118C6E 45%, #CDE98A 100%);
	color: var(--gw-text);
	font-family: inherit;
}

.gw *, .gw *::before, .gw *::after { box-sizing: border-box; }

.gw-team__title {
	margin: 0 0 .6em;
}

/* ── Cabecera + filtro ─────────────────────────────────────────────────── */
.gw-team__head {
	display: flex; flex-wrap: wrap; gap: 16px;
	align-items: center; justify-content: space-between;
	margin-bottom: 28px;
}
.gw-filter select {
	appearance: none;
	background: linear-gradient(90deg, #CBB6F2, #B9A0EA) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2315291F' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 0; border-radius: 8px;
	padding: 12px 42px 12px 16px;
	font-weight: 700; font-size: .8rem; letter-spacing: .04em;
	color: var(--gw-text); cursor: pointer;
}
.gw-filter select:focus-visible { outline: 3px solid var(--gw-accent); outline-offset: 2px; }

/* ── Grilla de cards ───────────────────────────────────────────────────── */
.gw-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
	gap: 28px;
}
.gw-card {
	background: var(--gw-cardbg);
	border-radius: 4px;
	padding: 0 22px 22px;
	display: flex; flex-direction: column; gap: 16px;
	overflow: hidden;
}
.gw-card.is-hidden { display: none; }
.gw-card__bar { display: block; height: 7px; margin: 0 -22px 14px; background: var(--gw-grad-bar); }

.gw-card__head { display: flex; align-items: center; gap: 16px; }
.gw-card__photo {
	width: 84px; height: 84px; flex: 0 0 84px;
	border-radius: 50%; object-fit: cover;
	border: 3px solid var(--gw-accent-d);
}
.gw-card__photo--ph {
	display: grid; place-items: center;
	background: linear-gradient(135deg, #2E8C7C, #B9A0EA);
	color: #fff; font-weight: 800; font-size: .75rem; letter-spacing: .06em;
	border: 0;
}
.gw-card__name { margin: 0 0 6px; font-size: 1.3rem; font-weight: 800; line-height: 1.15; }

.gw-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.gw-tag {
	background: #fff; border: 1px solid #D8E0CC; border-radius: 4px;
	font-size: .72rem; font-weight: 600; padding: 3px 8px;
}

/* ── Grilla semanal LUN–VIE ────────────────────────────────────────────── */
.gw-week {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px;
}
.gw-week__day {
	background: #C9CDBD; border-radius: 3px;
	min-height: 64px; padding: 6px 5px;
	font-size: .62rem; color: #6A7263;
}
.gw-week__day.is-on { background: #CBB9EE; color: var(--gw-text); }
.gw-week__label { display: block; font-weight: 800; letter-spacing: .03em; margin-bottom: 4px; }
.gw-week__range { font-size: .72rem; font-weight: 600; line-height: 1.25; }

.gw-card__cov {
	margin: 0; padding: 8px 12px;
	background: linear-gradient(90deg, #DDEDB9, #EFF6DB);
	border-radius: 3px; font-size: .8rem;
}

/* ── Botones ───────────────────────────────────────────────────────────── */
.gw-btn {
	display: inline-block; border: 0; cursor: pointer;
	border-radius: 8px; padding: 11px 22px;
	font-weight: 700; font-size: .92rem; text-decoration: none;
	transition: transform .12s ease, box-shadow .12s ease;
}
.gw-btn:focus-visible { outline: 3px solid var(--gw-lavender); outline-offset: 2px; }
.gw-btn--cta { background: var(--gw-accent); color: #fff; align-self: flex-end; }
.gw-btn--cta:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(17,140,110,.35); }
.gw-btn--cta:disabled { opacity: .45; cursor: not-allowed; }
.gw-btn--ghost { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.6); }

/* ════════════════════════════════════════════════════════════════════════
   MODAL — degradado teal→lavanda, la pieza identitaria del mockup
   ════════════════════════════════════════════════════════════════════════ */
.gw-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 18px; }
.gw-modal[hidden] { display: none; }
.gw-modal__overlay { position: absolute; inset: 0; background: rgba(21,41,31,.55); backdrop-filter: blur(2px); }
.gw-modal__box {
	position: relative; width: min(720px, 100%);
	max-height: 92vh; overflow-y: auto;
	background: var(--gw-grad, linear-gradient(135deg, #128C6E, #3E8C8F 55%, #B9A0EA));
	border-radius: 6px; padding: 34px 34px 28px;
	color: #fff;
	animation: gw-pop .22s ease;
}
@keyframes gw-pop { from { transform: translateY(14px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.gw-modal__box { animation: none; }
	.gw-btn { transition: none; }
}
.gw-modal__x {
	position: absolute; top: 14px; right: 14px;
	width: 34px; height: 34px; border-radius: 50%;
	border: 0; background: #F2F6E6; color: #0C6B54;
	font-size: 1.3rem; line-height: 1; cursor: pointer;
}
.gw-modal__doc { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.gw-modal__photo {
	width: 96px; height: 96px; border-radius: 50%;
	object-fit: cover; border: 4px solid #0C6B54; background: #fff;
}
.gw-modal__photo--ph { display: grid; place-items: center; color: #0C6B54; font-weight: 800; font-size: .7rem; }
.gw-modal__doc h3 { margin: 0 0 8px; font-size: 1.7rem; font-weight: 800; color: #fff; }
.gw-modal__doc .gw-tag { border: 0; }
.gw-modal__sub { margin: 0 0 8px; font-size: 1.25rem; font-weight: 800; color: #fff; }
.gw-modal__hint { margin: 0 0 18px; font-size: .9rem; opacity: .92; }
.gw-modal__actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 22px; }
.gw-modal__err { background: #FBE3E3; color: #8C1D1D; border-radius: 6px; padding: 10px 14px; font-size: .85rem; }

/* ── Calendario ────────────────────────────────────────────────────────── */
.gw-cal { background: #F4F8EC; border-radius: 4px; color: var(--gw-text); overflow: hidden; }
.gw-cal__nav {
	display: flex; align-items: center; justify-content: center; gap: 18px;
	background: linear-gradient(90deg, #DDEDB9, #F2F8E2);
	padding: 12px;
}
.gw-cal__month { font-weight: 800; letter-spacing: .12em; color: var(--gw-accent-d); }
.gw-cal__arr {
	width: 30px; height: 30px; border-radius: 50%; border: 0;
	background: var(--gw-lavender); color: var(--gw-text);
	font-size: 1.1rem; cursor: pointer;
}
.gw-cal__grid {
	display: grid; grid-template-columns: repeat(7, 1fr);
	gap: 8px; padding: 16px;
}
.gw-cal__dow { text-align: center; font-weight: 800; color: var(--gw-accent-d); font-size: .85rem; }
.gw-cal__day {
	width: 42px; height: 42px; margin: 0 auto;
	display: grid; place-items: center;
	border-radius: 50%; border: 0;
	background: #C9CDBD; color: #44503F;
	font-weight: 700; cursor: default;
}
.gw-cal__day.is-avail { background: var(--gw-accent); color: #fff; cursor: pointer; }
.gw-cal__day.is-avail:hover { background: var(--gw-accent-d); }
.gw-cal__day.is-sel { box-shadow: 0 0 0 3px #1B1240, 0 0 0 6px var(--gw-lavender); }
.gw-cal__day:focus-visible { outline: 3px solid var(--gw-lavender); outline-offset: 2px; }

/* ── Slots ─────────────────────────────────────────────────────────────── */
.gw-slots { background: #F4F8EC; border-radius: 4px; margin-top: 4px; padding: 14px 16px 18px; color: var(--gw-text); border-top: 3px solid #7BA8C9; }
.gw-slots__date { margin: 0 0 10px; color: var(--gw-accent-d); font-size: 1rem; font-weight: 800; }
.gw-slots__list { display: flex; flex-wrap: wrap; gap: 8px; }
.gw-slot {
	border: 0; border-radius: 6px; padding: 8px 14px;
	background: var(--gw-accent); color: #fff;
	font-weight: 700; font-size: .88rem; cursor: pointer;
}
.gw-slot.is-taken { background: #C9CDBD; color: #79816F; cursor: not-allowed; text-decoration: line-through; }
.gw-slot.is-sel { background: #1B1240; box-shadow: 0 0 0 2px var(--gw-lavender); }
.gw-slots__empty { font-size: .85rem; color: var(--gw-muted); }

/* ── Confirmación (tabla del mockup) ───────────────────────────────────── */
.gw-confirm { display: grid; gap: 10px; }
.gw-row { display: grid; grid-template-columns: 190px 1fr; gap: 10px; align-items: stretch; }
.gw-row > span {
	background: linear-gradient(90deg, #DCEFC4, #BFD9CF);
	color: var(--gw-text); font-weight: 800; font-size: .85rem;
	border-radius: 3px; padding: 12px 14px; display: flex; align-items: center;
}
.gw-row > output, .gw-row > input, .gw-row > select {
	background: #F4F8EC; color: var(--gw-text);
	border: 0; border-radius: 3px; padding: 12px 14px;
	font-size: .95rem; width: 100%;
}
.gw-row > input:focus-visible, .gw-row > select:focus-visible { outline: 3px solid var(--gw-lavender); }
@media (max-width: 560px) { .gw-row { grid-template-columns: 1fr; gap: 4px; } }

/* ── Éxito ─────────────────────────────────────────────────────────────── */
.gw-step--ok { text-align: center; padding: 18px 0; }
.gw-ok__icon {
	width: 72px; height: 72px; margin: 0 auto 14px;
	border-radius: 50%; display: grid; place-items: center;
	background: #F2F6E6; color: var(--gw-accent-d);
	font-size: 2.2rem; font-weight: 800;
}
.gw-step--ok .gw-modal__actions { justify-content: center; }

/* ── Loading ───────────────────────────────────────────────────────────── */
/* Fix: el atributo hidden debe ganar sobre display:grid.
   Sin esto, algunos navegadores muestran siempre el overlay de carga
   y el calendario parece quedar "tildado" al abrir o seleccionar día. */
.gw-modal__loading[hidden] { display: none !important; }
.gw-modal__loading {
	position: absolute; inset: 0; display: grid; place-items: center;
	background: rgba(21,41,31,.35); border-radius: 6px;
}
.gw-spin {
	width: 44px; height: 44px; border-radius: 50%;
	border: 4px solid rgba(255,255,255,.35); border-top-color: #fff;
	animation: gw-spin .8s linear infinite;
}
@keyframes gw-spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════════════════════════════════
   ESPECIALIDADES
   ════════════════════════════════════════════════════════════════════════ */
.gw-specs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 18px;
}
.gw-spec {
	position: relative; border: 0; cursor: pointer;
	border-radius: 4px; overflow: hidden;
	aspect-ratio: 1.45; padding: 12px;
	background: linear-gradient(135deg, #DCEFC4, #CBB9EE);
	text-align: left; display: flex; flex-direction: column; justify-content: flex-start;
	transition: transform .12s ease;
}
.gw-spec:hover { transform: translateY(-3px); }
.gw-spec:focus-visible { outline: 3px solid var(--gw-accent); outline-offset: 2px; }
.gw-spec__name { font-weight: 800; font-size: .92rem; color: var(--gw-text); z-index: 1; }
.gw-spec img { position: absolute; inset: auto auto var(--gw-spec-img-bottom, 0px) var(--gw-spec-img-left, 50%); width: var(--gw-spec-img-width, 82%); height: var(--gw-spec-img-height, 74%); object-fit: var(--gw-spec-img-fit, contain); object-position: var(--gw-spec-img-position, center bottom); transform: translateX(-50%); opacity: .9; }
.gw-spec img + .gw-spec__name, .gw-spec__name { text-shadow: 0 1px 0 rgba(255,255,255,.5); }

.gw-modal__box--spec { padding: 28px; }
.gw-specmodal__hero {
	background: #F4F8EC; border-radius: 4px; overflow: hidden;
	display: grid; grid-template-columns: 1fr 1.4fr; align-items: center;
	margin-bottom: 20px;
}
.gw-specmodal__hero h3 { margin: 0; padding: 22px; font-size: 1.6rem; font-weight: 800; color: var(--gw-text); }
.gw-specmodal__hero img { width: 100%; height: 100%; object-fit: cover; min-height: 150px; }
.gw-specmodal__body { font-size: .98rem; line-height: 1.65; }

/* ════════════════════════════════════════════════════════════════════════
   FAQs
   ════════════════════════════════════════════════════════════════════════ */
.gw-faqs__cols { columns: 2; column-gap: 32px; }
@media (max-width: 820px) { .gw-faqs__cols { columns: 1; } }
.gw-faqs__group { break-inside: avoid; margin-bottom: 28px; }
.gw-faqs__cat {
	background: linear-gradient(90deg, #C9E590, #DDEDB9);
	border-radius: 3px; padding: 10px 14px;
	font-size: .85rem; font-weight: 800; letter-spacing: .04em;
	margin: 0 0 4px;
}
.gw-faq { border-bottom: 1px solid #DCE3CE; }
.gw-faq summary {
	list-style: none; cursor: pointer;
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	padding: 12px 6px; font-size: .92rem; font-weight: 600;
}
.gw-faq summary::-webkit-details-marker { display: none; }
.gw-faq__chev {
	flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--gw-lavender);
	position: relative; transition: transform .18s ease;
}
.gw-faq__chev::after {
	content: ''; position: absolute; inset: 0; margin: auto;
	width: 7px; height: 7px;
	border-right: 2px solid #15291F; border-bottom: 2px solid #15291F;
	transform: rotate(45deg) translateY(-2px);
}
.gw-faq[open] .gw-faq__chev { transform: rotate(180deg); }
.gw-faq__a { padding: 0 6px 14px; font-size: .9rem; line-height: 1.6; color: var(--gw-muted); }

/* ════════════════════════════════════════════════════════════════════════
   OBRAS SOCIALES
   ════════════════════════════════════════════════════════════════════════ */
.gw-cov {
	--gw-cov-section-g1: #EFF3E2;
	--gw-cov-section-g2: #EFF3E2;
	--gw-cov-section-g3: #DFF0B8;
	--gw-cov-section-angle: 180deg;
	--gw-cov-badge-g1: #B9A0EA;
	--gw-cov-badge-g2: #6BA2C7;
	--gw-cov-badge-g3: #149071;
	--gw-cov-badge-angle: 90deg;
	background: linear-gradient(var(--gw-cov-section-angle), var(--gw-cov-section-g1) 0%, var(--gw-cov-section-g2) 62%, var(--gw-cov-section-g3) 100%);
}
.gw-cov__title { margin: 0 0 32px; color: #1B1B35; }
.gw-cov__grid { display: flex; flex-wrap: wrap; gap: 18px; }
.gw-cov__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	padding: 13px 24px;
	border-radius: 0;
	font-weight: 900;
	font-size: .95rem;
	line-height: 1;
	letter-spacing: .02em;
	text-align: center;
	text-transform: uppercase;
	background: linear-gradient(var(--gw-cov-badge-angle), var(--gw-cov-badge-g1) 0%, var(--gw-cov-badge-g2) 50%, var(--gw-cov-badge-g3) 100%);
	color: #fff;
}
.gw-cov__badge.alt { background: linear-gradient(var(--gw-cov-badge-angle), var(--gw-cov-badge-g1) 0%, var(--gw-cov-badge-g2) 42%, var(--gw-cov-badge-g3) 100%); }

/* ════════════════════════════════════════════════════════════════════════
   HERO EDITORIAL — imagen izquierda + claim derecho
   ════════════════════════════════════════════════════════════════════════ */
.gw-hero {
	--gw-hero-bg: #EFF3E2;
	--gw-hero-text: #0D4F57;
	--gw-hero-mark: #CDE98A;
	display: grid;
	grid-template-columns: minmax(0, 1.95fr) minmax(290px, .95fr);
	align-items: center;
	gap: clamp(38px, 6vw, 96px);
	width: 100%;
	padding: clamp(26px, 5vw, 60px) clamp(20px, 5vw, 52px);
	background:
		radial-gradient(circle at 0% 100%, rgba(205,233,138,.45), transparent 34%),
		var(--gw-hero-bg);
	color: var(--gw-hero-text);
	border-radius: 0;
	overflow: hidden;
}
.gw-hero__art {
	position: relative;
	min-height: clamp(210px, 25vw, 315px);
	background: linear-gradient(135deg, #239A83 0%, #DDEFB0 100%);
	overflow: hidden;
	box-shadow: none;
}
.gw-hero__art img,
.gw-hero__art svg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}
.gw-hero__copy {
	position: relative;
	text-align: center;
	max-width: 420px;
	justify-self: center;
}
.gw-hero__copy h1 {
	margin: 0 0 clamp(28px, 4vw, 48px);
	font-family: inherit;
	font-size: clamp(2rem, 3.15vw, 3.35rem);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: .92;
	color: var(--gw-hero-text);
}
.gw-hero__copy h1 span,
.gw-hero__copy h1 mark {
	display: block;
}
.gw-hero__copy h1 em {
	font-style: italic;
	font-weight: 900;
	color: inherit;
}
.gw-hero__copy h1 mark {
	width: fit-content;
	margin: .02em auto 0;
	padding: 0 .12em .03em;
	background: var(--gw-hero-mark);
	color: inherit;
	font-style: italic;
	font-weight: 900;
	line-height: .96;
}
.gw-hero__copy p {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(1.45rem, 2.15vw, 2.35rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.025em;
	color: #1B1B35;
}
.gw-hero__copy p em,
.gw-hero__copy p i {
	font-style: italic;
	font-weight: 500;
}
@media (max-width: 900px) {
	.gw-hero {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 28px 18px 38px;
	}
	.gw-hero__copy { max-width: 620px; }
}
@media (max-width: 560px) {
	.gw-hero__art { min-height: 190px; }
	.gw-hero__copy h1 { font-size: clamp(1.8rem, 10vw, 2.75rem); }
	.gw-hero__copy p { font-size: clamp(1.35rem, 7vw, 2rem); }
}

/* ════════════════════════════════════════════════════════════════════════
   EL CONSULTORIO
   ════════════════════════════════════════════════════════════════════════ */
.gw-consultorio { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
@media (max-width: 760px) { .gw-consultorio { grid-template-columns: 1fr; gap: 26px; } }
.gw-consultorio__body { font-size: .98rem; line-height: 1.7; color: var(--gw-text); }
.gw-consultorio__body em, .gw-consultorio__body i { color: var(--gw-accent-d); font-style: italic; }
.gw-diff { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gw-diff li {
	display: flex; align-items: flex-start; gap: 12px;
	padding-bottom: 10px; border-bottom: 2px solid #DCE3CE;
	font-size: .94rem; line-height: 1.4;
}
.gw-diff__check {
	flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
	background: #DBEFC0; position: relative;
}
.gw-diff__check::after {
	content: ''; position: absolute; inset: 0; margin: auto;
	width: 7px; height: 12px;
	border-right: 2.5px solid var(--gw-accent); border-bottom: 2.5px solid var(--gw-accent);
	transform: translateY(-1px) rotate(45deg);
}

/* ════════════════════════════════════════════════════════════════════════
   DOCTOR
   ════════════════════════════════════════════════════════════════════════ */
.gw-doctor__head {
	display: flex; align-items: center; gap: 20px;
	background: var(--gw-grad); color: #fff;
	border-radius: 6px 6px 0 0; padding: 22px 26px;
}
.gw-doctor__photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 4px solid #0C6B54; }
.gw-doctor__name { margin: 0 0 6px; font-size: 1.6rem; font-weight: 800; color: #fff; }
.gw-doctor__lic { background: #fff; color: var(--gw-accent-d); font-weight: 700; font-size: .8rem; padding: 4px 10px; border-radius: 4px; }
.gw-doctor__grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
	background: var(--gw-cardbg); padding: 26px; border-radius: 0 0 6px 6px;
}
.gw-doctor__full { grid-column: 1 / -1; }
@media (max-width: 760px) { .gw-doctor__grid { grid-template-columns: 1fr; } }
.gw-doctor__sub { margin: 0 0 10px; font-size: 1.2rem; font-weight: 800; color: var(--gw-accent-d); }
.gw-doctor section p { font-size: .94rem; line-height: 1.65; margin: 0 0 10px; }
.gw-book { background: #fff; border-left: 4px solid var(--gw-lavender); border-radius: 4px; padding: 12px 14px; margin-bottom: 12px; }
.gw-book header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.gw-book__year { background: var(--gw-lavender); color: #fff; font-size: .72rem; font-weight: 800; padding: 2px 8px; border-radius: 4px; }
.gw-book p { font-size: .82rem; line-height: 1.5; color: var(--gw-muted); margin: 0; }

/* ════════════════════════════════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════════════════════════════════ */
.gw-header {
	display: flex; align-items: center; gap: 20px;
	background: var(--gw-grad); color: #fff;
	padding: 16px 26px; border-radius: 6px;
}
.gw-header__brand { display: flex; flex-direction: column; line-height: 1; }
.gw-header__logo { font-size: 1.6rem; font-weight: 800; color: #CDE98A; }
.gw-header__logo-img { display: block; width: auto; height: auto; max-height: 58px; object-fit: contain; }
.gw-header__tag { font-size: .58rem; letter-spacing: .22em; color: #E4F2BE; margin-top: 2px; }
.gw-header__nav { margin-left: auto; }
.gw-header__nav ul { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; }
.gw-header__nav a { color: #fff; text-decoration: none; font-size: .9rem; font-weight: 600; }
.gw-header__nav a:hover { color: #CDE98A; }
.gw-header__cta { align-self: center; }
.gw-header__burger { display: none; flex-direction: column; gap: 4px; background: none; border: 0; cursor: pointer; padding: 6px; }
.gw-header__burger span { width: 22px; height: 2px; background: #CDE98A; }
@media (max-width: 880px) {
	.gw-header__cta { display: none; }
	.gw-header__burger { display: flex; }
	.gw-header__nav ul {
		position: absolute; right: 26px; top: 64px; z-index: 50;
		flex-direction: column; gap: 0;
		background: #0F6B57; border-radius: 8px; padding: 8px 0;
		min-width: 200px; box-shadow: 0 12px 30px rgba(0,0,0,.25);
		display: none;
	}
	.gw-header__nav ul.is-open { display: flex; }
	.gw-header__nav li { padding: 0; }
	.gw-header__nav a { display: block; padding: 11px 18px; }
}

/* ════════════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════════════ */
.gw-footer {
	display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 28px;
	background: var(--gw-grad); color: #fff;
	padding: 36px 30px; border-radius: 6px;
}
@media (max-width: 760px) { .gw-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .gw-footer { grid-template-columns: 1fr; } }
.gw-footer h4 { margin: 0 0 12px; font-size: .95rem; font-weight: 800; }
.gw-footer p { margin: 0 0 8px; font-size: .85rem; }
.gw-footer a { color: #fff; text-decoration: none; }
.gw-footer a:hover { text-decoration: underline; }
.gw-footer__wa { color: #CDE98A; }
.gw-footer__logo-img { display:block; width:auto; max-height:86px; object-fit:contain; margin-bottom:8px; }

/* ════════════════════════════════════════════════════════════════════════
   ESPECIALIDADES PRO — layout editable desde Elementor
   ════════════════════════════════════════════════════════════════════════ */
.gw-specs {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.gw-specs__title {
	margin: 0 0 34px;
	font-size: clamp(2.6rem, 4.6vw, 5.2rem);
	line-height: .92;
	font-weight: 900;
	letter-spacing: -.045em;
	color: #191A35;
}
.gw-specs__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 30px;
}
.gw-spec {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 28px 24px 20px;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
	background: #DDEFC3;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.gw-spec:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(20, 38, 30, .12);
	filter: saturate(1.02);
}
.gw-spec:focus-visible {
	outline: 3px solid var(--gw-accent, #2B9F90);
	outline-offset: 4px;
}
.gw-spec img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 1;
	z-index: 0;
}
.gw-spec__name {
	position: relative;
	z-index: 1;
	display: block;
	max-width: 95%;
	font-size: clamp(1.35rem, 1.55vw, 2rem);
	font-weight: 900;
	line-height: .92;
	letter-spacing: -.04em;
	color: #6E3F97;
	text-shadow: none;
}
.gw-spec img + .gw-spec__name,
.gw-spec__name {
	text-shadow: none;
}
.gw-specs__cta-wrap {
	display: flex;
	justify-content: flex-end;
	margin-top: 42px;
}
.gw-specs__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 34px;
	border-radius: 12px;
	background: #2B9F90;
	color: #fff;
	font-size: clamp(1.4rem, 2.1vw, 2.3rem);
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(23, 112, 96, .18);
	transition: transform .16s ease, box-shadow .16s ease;
}
.gw-specs__cta:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 13px 26px rgba(23, 112, 96, .22);
}
@media (max-width: 1024px) {
	.gw-specs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.gw-specs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
	.gw-specs__title { font-size: clamp(2.2rem, 12vw, 3.4rem); }
	.gw-specs__cta-wrap { justify-content: stretch; }
	.gw-specs__cta { width: 100%; }
}

/* Hero editable: ratios controlados desde Elementor */
.gw-hero {
	--gw-hero-img-ratio: 1.95fr;
	--gw-hero-copy-ratio: .95fr;
	grid-template-columns: minmax(0, var(--gw-hero-img-ratio)) minmax(290px, var(--gw-hero-copy-ratio));
	margin-left: auto;
	margin-right: auto;
}

/* ════════════════════════════════════════════════════════════════════════
   v1.0.5 — Ajustes Dr. Yahni, FAQs y Especialidades fieles al mockup
   ════════════════════════════════════════════════════════════════════════ */
.gw-doctor{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	color:#17182F;
}
.gw-doctor__topbar{
	display:grid;
	grid-template-columns:var(--gw-doctor-namebar-width, 50%) var(--gw-doctor-license-width, 190px) minmax(0, 1fr);
	align-items:stretch;
	min-height:64px;
}
.gw-doctor__namebar{
	display:flex;
	align-items:center;
	padding:10px 18px;
	background:#284A91;
}
.gw-doctor__name{
	margin:0;
	font-size:clamp(1.55rem, 2.6vw, 2.25rem);
	font-weight:900;
	line-height:1;
	letter-spacing:-.035em;
	color:#fff;
}
.gw-doctor__licbar{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:8px 18px;
	background:#B8B8DC;
	color:#284A91;
	font-size:1rem;
	font-weight:800;
	line-height:1.05;
}
.gw-doctor__licbar span,
.gw-doctor__licbar strong{display:block;}
.gw-doctor__decor{
	width:100%;
	height:100%;
	min-height:64px;
	object-fit:cover;
	display:block;
}
.gw-doctor__top{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:32px;
	align-items:start;
}
.gw-doctor__photo{
	width:100%;
	height:470px;
	border:0;
	border-radius:0;
	object-fit:cover;
	object-position:center center;
	display:block;
}
.gw-doctor__text{font-size:1.18rem;line-height:1.07;font-weight:700;}
.gw-doctor__text p{margin:0 0 12px;line-height:1.07;}
.gw-doctor__bio{padding:34px 34px 0 0;}
.gw-doctor__sub,
.gw-doctor__books-title{
	margin:0 0 14px;
	font-size:clamp(1.7rem, 2.7vw, 2.35rem);
	line-height:1;
	font-weight:900;
	letter-spacing:-.035em;
	color:#284A91;
}
.gw-doctor__bottom{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:32px;
	margin-top:54px;
}
.gw-doctor__right{display:flex;flex-direction:column;gap:28px;}
.gw-book{
	background:#DDB9D1;
	border:0;
	border-left:0;
	border-radius:0;
	padding:18px 22px 24px;
	margin:0 0 26px;
}
.gw-book header{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:18px;
	margin-bottom:16px;
}
.gw-book strong{
	font-size:clamp(1.15rem, 1.8vw, 1.6rem);
	line-height:1;
	font-weight:900;
	color:#91316F;
}
.gw-book__year{
	border-radius:0;
	background:#91316F;
	color:#fff;
	font-size:.96rem;
	font-weight:900;
	padding:5px 10px;
}
.gw-book p{font-size:1rem;line-height:1.15;color:#17182F;margin:0;}
.gw-doctor__focus{
	background:#E7F0E1;
	border-left:8px solid #88B6E8;
	padding:22px 24px;
}
.gw-doctor__cta-wrap{display:flex;justify-content:flex-end;margin-top:38px;}
.gw-doctor__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 22px;
	border-radius:10px;
	background:#284A91;
	color:#fff;
	font-size:1.35rem;
	line-height:1;
	font-weight:900;
	text-decoration:none;
}
.gw-doctor__cta:hover{color:#fff;filter:brightness(1.06);}
@media (max-width: 900px){
	.gw-doctor__topbar{grid-template-columns:1fr;}
	.gw-doctor__top,.gw-doctor__bottom{grid-template-columns:1fr;}
	.gw-doctor__bio{padding:24px 0 0;}
}

/* Especialidades: título arriba, imagen más chica y apoyada abajo */
.gw-spec{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gw-spec-g2, #DDEFC3) 74%, transparent) 0 22%, transparent 46%),
		linear-gradient(var(--gw-spec-angle, 135deg), var(--gw-spec-g1, #B9A0EA) 0%, var(--gw-spec-g2, #DDEFC3) 58%, var(--gw-spec-g3, #CFCFCF) 100%) !important;
}
.gw-spec img{
	inset:auto auto var(--gw-spec-img-bottom, 0px) var(--gw-spec-img-left, 50%);
	transform:translateX(-50%);
	width:var(--gw-spec-img-width, 82%);
	height:var(--gw-spec-img-height, 74%);
	object-fit:var(--gw-spec-img-fit, contain);
	object-position:var(--gw-spec-img-position, center bottom);
	z-index:0;
}
.gw-spec__name{
	position:relative;
	z-index:2;
	max-width:88%;
	white-space:normal;
	overflow-wrap:break-word;
	word-break:normal;
}

/* FAQs: separadores superiores de color y estilo tipo maqueta */
.gw-faqs{width:100%;margin-left:auto;margin-right:auto;}
.gw-faqs__title{
	margin:0 0 28px;
	font-size:clamp(2rem, 3.5vw, 3.4rem);
	line-height:1;
	font-weight:900;
	letter-spacing:-.04em;
	color:#191A35;
}
.gw-faqs__group{
	position:relative;
	padding-top:9px;
	break-inside:avoid;
	margin-bottom:28px;
}
.gw-faqs__group::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:8px;
	background-image:linear-gradient(90deg, #7E3F98, var(--gw-faq-sep-2, #2B9F90));
}
.gw-faqs__cat{
	border-radius:0;
	padding:17px 18px;
	margin:0;
	background:#DDEFC3;
	font-size:1.15rem;
	font-weight:900;
	letter-spacing:0;
	color:#191A35;
}
.gw-faq{
	border:1px solid #D8C3FF;
	border-top:0;
	background:transparent;
}
.gw-faq summary{padding:12px 14px;font-weight:700;line-height:1.15;}
.gw-faq__chev{background:#D7C6F7;}
.gw-faq__chev::before,
.gw-faq__chev::after{
	content:'';
	position:absolute;
	inset:0;
	margin:auto;
	width:11px;
	height:3px;
	border:0;
	background:#2B9F90;
	transform:none;
}
.gw-faq__chev::after{width:3px;height:11px;}
.gw-faq[open] .gw-faq__chev{transform:none;}
.gw-faq[open] .gw-faq__chev::after{display:none;}
.gw-faq__a{padding:0 14px 16px;color:#17182F;font-weight:600;}

/* ════════════════════════════════════════════════════════════════════════
   v1.0.6 — Degradés en libros + widget Popup Especialidad
   ════════════════════════════════════════════════════════════════════════ */
.gw-book{
	--gw-book-g1:#F1EFE4;
	--gw-book-g2:#D9B4D2;
	--gw-book-g3:#B9D6F1;
	--gw-book-angle:105deg;
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gw-book-g3) 72%, transparent) 0 18%, transparent 38%),
		linear-gradient(var(--gw-book-angle), var(--gw-book-g1) 0%, var(--gw-book-g2) 72%, var(--gw-book-g3) 100%) !important;
}
.gw-book__year{
	background:linear-gradient(90deg, #91316F 0%, #91316F 72%, #B9D6F1 100%);
}

.gw-specialty-popup{
	--gw-popup-g1:#B9A7F0;
	--gw-popup-g2:#6AA6C9;
	--gw-popup-g3:#2B9F90;
	--gw-popup-angle:135deg;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:60px;
	padding:90px 90px 70px;
	background:
		radial-gradient(circle at 10% 100%, rgba(190,164,255,.55) 0 24%, transparent 48%),
		linear-gradient(var(--gw-popup-angle), var(--gw-popup-g1) 0%, var(--gw-popup-g2) 55%, var(--gw-popup-g3) 100%);
	box-sizing:border-box;
	color:#fff;
	overflow:hidden;
}
.gw-specialty-popup__media{
	width:86%;
	height:360px;
	background:#F1F5E8;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
}
.gw-specialty-popup__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	display:block;
}
.gw-specialty-popup__media--empty{
	background:#F1F5E8;
	color:#191A35;
	padding:40px;
	text-align:left;
	justify-content:flex-start;
}
.gw-specialty-popup__media--empty h2{
	margin:0;
	font-size:clamp(2rem, 5vw, 4rem);
	line-height:.98;
	font-weight:900;
}
.gw-specialty-popup__body{
	width:100%;
	max-width:86%;
	color:#fff;
	font-family:Georgia, 'Times New Roman', serif;
	font-size:clamp(1.35rem, 3vw, 2.45rem);
	line-height:1.05;
	font-weight:700;
}
.gw-specialty-popup__body p{margin:0 0 1em;}
.gw-specialty-popup__body p:last-child{margin-bottom:0;}
.gw-specialty-popup__cta-wrap{
	width:100%;
	display:flex;
	justify-content:flex-end;
	margin-top:46px;
}
.gw-specialty-popup__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#2B9F90;
	color:#fff;
	text-decoration:none;
	font-size:clamp(1.25rem, 2.6vw, 2.2rem);
	line-height:1;
	font-weight:900;
	border-radius:14px;
	padding:18px 36px;
	box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.gw-specialty-popup__cta:hover{color:#fff;filter:brightness(1.06);}
@media (max-width: 767px){
	.gw-specialty-popup{padding:34px 22px;gap:28px;}
	.gw-specialty-popup__media,.gw-specialty-popup__body{width:100%;max-width:100%;}
	.gw-specialty-popup__media{height:220px;}
	.gw-specialty-popup__cta-wrap{justify-content:center;margin-top:20px;}
}


/* Dr. Yahni 1.0.8: degradé de enfoque y mobile igual maqueta */
.gw-doctor__visual{display:block;}
.gw-doctor__mobile-strip{display:none;}
.gw-doctor__books-grid{display:block;}
.gw-book{
	background:
		radial-gradient(circle at 95% 8%, color-mix(in srgb, var(--gw-book-g3, #B9D6F1) 70%, transparent) 0 12%, transparent 32%),
		linear-gradient(var(--gw-book-angle, 105deg), var(--gw-book-g1, #F1EFE4) 0%, var(--gw-book-g2, #D9B4D2) 72%, var(--gw-book-g3, #B9D6F1) 100%);
}
.gw-doctor__focus{
	background:
		radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--gw-focus-g3, #F2EFE4) 68%, transparent) 0 18%, transparent 38%),
		linear-gradient(var(--gw-focus-angle, 105deg), var(--gw-focus-g1, #B9D6F1) 0%, var(--gw-focus-g2, #EAF3DD) 64%, var(--gw-focus-g3, #F2EFE4) 100%) !important;
}

@media (max-width: 900px){
	.gw-doctor{
		max-width:520px;
		margin-inline:auto;
	}
	.gw-doctor__topbar{
		display:block;
		min-height:0;
	}
	.gw-doctor__namebar{
		min-height:54px;
		padding:12px 18px;
	}
	.gw-doctor__name{
		font-size:clamp(1.55rem, 6.4vw, 2rem);
		letter-spacing:-.04em;
	}
	.gw-doctor__licbar--desktop,
	.gw-doctor__decor--desktop{display:none !important;}
	.gw-doctor__top{
		display:flex;
		flex-direction:column;
		gap:0;
	}
	.gw-doctor__visual{display:flex;flex-direction:column;}
	.gw-doctor__photo{
		width:100%;
		height:auto;
		aspect-ratio: 1 / 1.06;
		object-fit:cover;
	}
	.gw-doctor__mobile-strip{
		display:grid;
		grid-template-columns:minmax(120px, 38%) 1fr;
		min-height:58px;
	}
	.gw-doctor__mobile-strip .gw-doctor__licbar{
		display:flex;
		padding:9px 16px;
		min-height:58px;
		font-size:clamp(.9rem, 3.7vw, 1rem);
	}
	.gw-doctor__mobile-strip .gw-doctor__decor{
		display:block;
		min-height:58px;
		height:58px;
		width:100%;
		object-fit:cover;
	}
	.gw-doctor__bio{
		padding:34px 0 0;
	}
	.gw-doctor__sub,
	.gw-doctor__books-title{
		font-size:clamp(1.55rem, 7vw, 2rem);
		margin-bottom:14px;
	}
	.gw-doctor__text{
		font-size:clamp(1rem, 4.1vw, 1.12rem);
		line-height:1.08;
	}
	.gw-doctor__text p{
		line-height:1.08;
		margin-bottom:10px;
	}
	.gw-doctor__bottom{
		display:flex;
		flex-direction:column;
		gap:34px;
		margin-top:34px;
	}
	.gw-doctor__right{display:contents;}
	.gw-doctor__focus{
		order:1;
		border-left:0;
		border-top:10px solid var(--gw-focus-border, #88B6E8);
		padding:26px 24px 30px;
		margin-inline:-24px;
	}
	.gw-doctor__media{order:2;}
	.gw-doctor__books{order:3;}
	.gw-doctor__books-grid{
		display:grid;
		grid-template-columns:1fr;
		gap:24px;
	}
	.gw-book{
		margin:0;
		padding:18px 18px 22px;
		min-height:245px;
	}
	.gw-book header{
		gap:10px;
		margin-bottom:14px;
	}
	.gw-book strong{
		font-size:clamp(.95rem, 4.2vw, 1.15rem);
	}
	.gw-book__year{
		font-size:.72rem;
		padding:4px 6px;
	}
	.gw-book p{
		font-size:clamp(.78rem, 3.35vw, .92rem);
		line-height:1.12;
	}
	.gw-doctor__cta-wrap{
		justify-content:flex-end;
		margin-top:30px;
	}
	.gw-doctor__cta{
		font-size:clamp(1.05rem, 5vw, 1.3rem);
		padding:11px 18px;
	}
}
@media (max-width: 380px){
	.gw-doctor__books-grid{grid-template-columns:1fr;}
}


/* ════════════════════════════════════════════════════════════════════════
   v1.0.10 — Hero mobile + Consultorio fiel a maqueta
   ════════════════════════════════════════════════════════════════════════ */
.gw-consultorio{
	--gw-consultorio-bar-1:#7E3F98;
	--gw-consultorio-bar-2:#2B9F90;
	--gw-consultorio-bar-3:#DDEFB0;
	--gw-consultorio-sep-1:#D8C5FF;
	--gw-consultorio-sep-2:#F1E9FF;
	--gw-consultorio-sep-3:#B9A0EA;
	--gw-consultorio-sep-angle:90deg;
	--gw-consultorio-sep-height:8px;
	position:relative;
	display:grid;
	grid-template-columns:minmax(0, .86fr) minmax(0, 1.14fr);
	gap:clamp(54px, 8vw, 115px);
	align-items:start;
	padding:72px clamp(28px, 5vw, 70px) 62px;
	background:#EFF3E2;
	color:#17182F;
	overflow:hidden;
}
.gw-consultorio::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:26px;
	background:
		linear-gradient(90deg, var(--gw-consultorio-bar-1) 0 33%, transparent 33% 50%, #1B1633 50% 54%, transparent 54% 80%, var(--gw-consultorio-bar-3) 80% 100%),
		linear-gradient(90deg, var(--gw-consultorio-bar-1), var(--gw-consultorio-bar-2), var(--gw-consultorio-bar-3));
}
.gw-consultorio .gw-team__title{
	margin:0 0 36px;
	font-size:clamp(2rem, 3.1vw, 3.25rem);
	line-height:1;
	font-weight:900;
	letter-spacing:-.045em;
	color:#191A35;
}
.gw-consultorio__body{
	font-family:Georgia, 'Times New Roman', serif;
	font-size:clamp(1.25rem, 1.75vw, 1.72rem);
	line-height:1.05;
	font-weight:700;
	color:#17182F;
}
.gw-consultorio__body p{margin:0 0 1.25em;}
.gw-consultorio__body p:last-child{margin-bottom:0;}
.gw-consultorio__body em,
.gw-consultorio__body i{
	color:#6D3B95;
	font-style:italic;
	font-weight:700;
}
.gw-diff{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:0;
}
.gw-diff li{
	display:grid;
	grid-template-columns:58px minmax(0, 1fr);
	align-items:center;
	gap:18px;
	min-height:76px;
	padding:12px 0 12px 22px;
	position:relative;
	border-bottom:0;
	background:linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,.08));
	font-family:Georgia, 'Times New Roman', serif;
	font-size:clamp(1.12rem, 1.45vw, 1.45rem);
	line-height:1.1;
	font-weight:700;
	color:#6D3B95;
}
.gw-diff li::after{
	content:'';
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:var(--gw-consultorio-sep-height, 8px);
	background:linear-gradient(var(--gw-consultorio-sep-angle, 90deg), var(--gw-consultorio-sep-1, #D8C5FF), var(--gw-consultorio-sep-2, #F1E9FF), var(--gw-consultorio-sep-3, #B9A0EA));
	pointer-events:none;
}
.gw-diff__check{
	position:relative;
	display:block;
	width:44px;
	height:44px;
	border-radius:999px;
	background:#DDF3BC;
}
.gw-diff__check::after{
	content:'';
	position:absolute;
	left:13px;
	top:10px;
	width:17px;
	height:10px;
	border-left:5px solid #1B8574;
	border-bottom:5px solid #1B8574;
	transform:rotate(-45deg);
}
.gw-diff__text mark{
	background:#CDE98A;
	color:inherit;
	padding:0 .12em;
}
.gw-diff__text em{font-style:italic;}

@media (max-width: 760px){
	.gw-consultorio{
		grid-template-columns:1fr;
		gap:0;
		padding:48px 30px 0;
	}
	.gw-consultorio::before{height:8px;}
	.gw-consultorio .gw-team__title{
		font-size:clamp(1.95rem, 8vw, 2.35rem);
		margin-bottom:24px;
	}
	.gw-consultorio__body{
		font-size:clamp(1.05rem, 4.2vw, 1.25rem);
		line-height:1.2;
		padding-bottom:46px;
	}
	.gw-consultorio__col:nth-child(2){
		margin-left:-30px;
		margin-right:-30px;
		padding:48px 0 0;
		background:linear-gradient(180deg, rgba(235,235,239,.85), rgba(239,243,226,0) 105px);
	}
	.gw-consultorio__col:nth-child(2) .gw-team__title{
		padding:0 30px;
		margin-bottom:22px;
	}
	.gw-diff li{
		grid-template-columns:52px minmax(0,1fr);
		gap:10px;
		min-height:72px;
		padding:12px 24px 12px 30px;
		--gw-consultorio-sep-height:6px;
		font-size:clamp(1rem, 3.9vw, 1.15rem);
		line-height:1.1;
		color:#17182F;
	}
	.gw-diff__check{width:40px;height:40px;}
	.gw-diff__check::after{left:12px;top:9px;width:16px;height:10px;border-left-width:4px;border-bottom-width:4px;}
}

@media (max-width: 640px){
	.gw-hero{
		display:flex;
		flex-direction:column;
		align-items:stretch;
		gap:22px;
		padding:30px 30px 26px;
		background:var(--gw-hero-bg);
	}
	.gw-hero__art{
		width:100%;
		min-height:0;
		aspect-ratio:2.42 / 1;
	}
	.gw-hero__art img,
	.gw-hero__art svg{
		min-height:0;
		height:100%;
	}
	.gw-hero__copy{
		max-width:none;
		width:100%;
		justify-self:stretch;
		text-align:left;
	}
	.gw-hero__copy h1{
		margin:0 0 12px;
		font-size:clamp(1.65rem, 7vw, 2.18rem);
		line-height:.93;
		letter-spacing:-.045em;
		text-align:inherit;
	}
	.gw-hero__copy h1 span,
	.gw-hero__copy h1 mark{
		display:inline;
	}
	.gw-hero__copy h1 span::after{content:' ';}
	.gw-hero__copy h1 mark{
		width:auto;
		margin:0;
		padding:0 .12em .02em;
		box-decoration-break:clone;
		-webkit-box-decoration-break:clone;
	}
	.gw-hero__copy p{
		font-size:clamp(1.2rem, 5.35vw, 1.62rem);
		line-height:1.05;
		text-align:inherit;
	}
}


/* v1.0.11 — Corrección visual de tildes/checks en El Consultorio.
   Usamos border-right + border-bottom para formar un check real y anulamos reglas anteriores. */
.gw-consultorio .gw-diff__check{
	position:relative !important;
	display:block !important;
	box-sizing:border-box !important;
	flex:0 0 auto !important;
	border-radius:999px !important;
}
.gw-consultorio .gw-diff__check::after{
	content:'' !important;
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	width:13px !important;
	height:22px !important;
	margin:0 !important;
	border:0 !important;
	border-right:5px solid var(--gw-consultorio-check-color, #1B8574) !important;
	border-bottom:5px solid var(--gw-consultorio-check-color, #1B8574) !important;
	transform:translate(-50%, -60%) rotate(45deg) !important;
	transform-origin:center !important;
}
@media (max-width:760px){
	.gw-consultorio .gw-diff__check::after{
		width:11px !important;
		height:19px !important;
		border-right-width:4px !important;
		border-bottom-width:4px !important;
	}
}

/* v1.0.12 — Ajuste fino de centrado en turnero modal.
   Algunos estilos globales del tema/Elementor alteran line-height, padding o display de botones.
   Reforzamos el centrado de flechas, números y cierre dentro del popup. */
.gw-modal__x,
.gw-cal__arr,
.gw-cal__day,
.gw-slot {
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	padding: 0 !important;
	text-align: center !important;
	line-height: 1 !important;
}

.gw-modal__x,
.gw-cal__arr {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-indent: 0 !important;
}

.gw-modal__x {
	font-size: 0 !important;
}
.gw-modal__x::before {
	content: "×" !important;
	display: block !important;
	font-size: 24px !important;
	line-height: 1 !important;
	transform: translateY(-1px) !important;
}

.gw-cal__arr {
	font-size: 0 !important;
}
.gw-cal__arr[data-gw-prev]::before,
.gw-cal__arr[data-gw-next]::before {
	display: block !important;
	font-size: 28px !important;
	line-height: 1 !important;
	transform: translateY(-2px) !important;
}
.gw-cal__arr[data-gw-prev]::before { content: "‹" !important; }
.gw-cal__arr[data-gw-next]::before { content: "›" !important; }

.gw-cal__day {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-variant-numeric: tabular-nums !important;
}

.gw-slot {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	line-height: 1 !important;
}


/* v1.0.13 — Turnero modal compacto estilo maqueta final.
   Scopeado solo al modal de reservas para no afectar los popups de Especialidades. */
.gw-modal[data-gw-modal] {
	padding: 0 !important;
	align-items: flex-start !important;
	justify-items: center !important;
	overflow-y: auto !important;
}
.gw-modal[data-gw-modal] .gw-modal__box {
	width: min(516px, calc(100vw - 18px)) !important;
	max-height: none !important;
	min-height: auto !important;
	overflow: visible !important;
	margin: 4px auto !important;
	padding: 38px 48px 26px !important;
	border-radius: 0 !important;
	background: linear-gradient(135deg, #128C6E 0%, #5397A2 58%, #B9A0EA 100%) !important;
	box-shadow: 0 18px 44px rgba(21, 41, 31, .22) !important;
}
.gw-modal[data-gw-modal] .gw-modal__x {
	top: 18px !important;
	right: 18px !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	border-radius: 50% !important;
	background: #F4F8EC !important;
	color: #0C6B54 !important;
}
.gw-modal[data-gw-modal] .gw-modal__x::before {
	font-size: 22px !important;
	line-height: 1 !important;
	transform: translateY(-1px) !important;
}
.gw-modal[data-gw-modal] .gw-modal__doc {
	gap: 14px !important;
	align-items: center !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
}
.gw-modal[data-gw-modal] .gw-modal__photo {
	width: 96px !important;
	height: 96px !important;
	flex: 0 0 96px !important;
	border: 4px solid #0C6B54 !important;
	box-shadow: 0 0 0 2px rgba(244, 248, 236, .65) !important;
}
.gw-modal[data-gw-modal] .gw-modal__photo--ph {
	background: #F4F8EC !important;
	color: #0C6B54 !important;
	font-size: .72rem !important;
}
.gw-modal[data-gw-modal] .gw-modal__doc h3 {
	margin: 0 0 8px !important;
	font-size: clamp(1.45rem, 4.4vw, 1.75rem) !important;
	line-height: 1.06 !important;
	font-weight: 900 !important;
	color: #fff !important;
}
.gw-modal[data-gw-modal] .gw-modal__doc .gw-tags {
	gap: 4px !important;
}
.gw-modal[data-gw-modal] .gw-modal__doc .gw-tag {
	border-radius: 0 !important;
	padding: 2px 6px !important;
	font-size: .64rem !important;
	line-height: 1.1 !important;
	font-weight: 700 !important;
	background: #F4F8EC !important;
	color: #15291F !important;
}
.gw-modal[data-gw-modal] .gw-modal__sub {
	margin: 0 0 12px !important;
	font-size: 1.25rem !important;
	line-height: 1.15 !important;
	font-weight: 900 !important;
	color: #fff !important;
}
.gw-modal[data-gw-modal] .gw-cal {
	border-radius: 0 !important;
	background: #F4F8EC !important;
	overflow: hidden !important;
}
.gw-modal[data-gw-modal] .gw-cal__nav {
	min-height: 48px !important;
	padding: 9px 12px !important;
	gap: 16px !important;
	background: linear-gradient(90deg, #DDEFC3 0%, #EFF3E2 100%) !important;
	border-bottom: 1px solid rgba(17, 140, 110, .38) !important;
}
.gw-modal[data-gw-modal] .gw-cal__month {
	min-width: 114px !important;
	text-align: center !important;
	font-size: 1.08rem !important;
	line-height: 1 !important;
	font-weight: 900 !important;
	letter-spacing: .06em !important;
	color: #128C6E !important;
}
.gw-modal[data-gw-modal] .gw-cal__arr {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	background: #B9A0EA !important;
	color: #0C6B54 !important;
	box-shadow: none !important;
}
.gw-modal[data-gw-modal] .gw-cal__arr[data-gw-prev]::before,
.gw-modal[data-gw-modal] .gw-cal__arr[data-gw-next]::before {
	font-size: 18px !important;
	line-height: 1 !important;
	transform: translateY(-1px) !important;
}
.gw-modal[data-gw-modal] .gw-cal__grid {
	grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	gap: 8px 10px !important;
	padding: 18px 12px 15px !important;
	background: #F4F8EC !important;
}
.gw-modal[data-gw-modal] .gw-cal__dow {
	font-size: .88rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	color: #128C6E !important;
}
.gw-modal[data-gw-modal] .gw-cal__day {
	width: 35px !important;
	height: 35px !important;
	min-width: 35px !important;
	min-height: 35px !important;
	font-size: .98rem !important;
	font-weight: 900 !important;
	background: #C9CDBD !important;
	color: #1B2135 !important;
}
.gw-modal[data-gw-modal] .gw-cal__day.is-avail {
	background: #15977A !important;
	color: #fff !important;
}
.gw-modal[data-gw-modal] .gw-cal__day.is-sel {
	background: #15977A !important;
	color: #fff !important;
	box-shadow: 0 0 0 3px #1B1240, 0 0 0 6px #B9A0EA !important;
}
.gw-modal[data-gw-modal] .gw-slots {
	margin-top: 2px !important;
	border-radius: 0 !important;
	border-top: 2px solid #7BA8C9 !important;
	padding: 14px 16px 15px !important;
	background: #F4F8EC !important;
}
.gw-modal[data-gw-modal] .gw-slots__date {
	margin: 0 0 10px !important;
	font-size: .96rem !important;
	line-height: 1.1 !important;
	font-weight: 900 !important;
	color: #128C6E !important;
}
.gw-modal[data-gw-modal] .gw-slots__list {
	gap: 7px !important;
	align-items: center !important;
}
.gw-modal[data-gw-modal] .gw-slot {
	min-height: 23px !important;
	border-radius: 4px !important;
	padding: 0 7px !important;
	font-size: .72rem !important;
	font-weight: 900 !important;
	background: #15977A !important;
	color: #fff !important;
}
.gw-modal[data-gw-modal] .gw-slot.is-sel {
	background: #1B1240 !important;
	box-shadow: 0 0 0 2px #B9A0EA !important;
}
.gw-modal[data-gw-modal] .gw-modal__actions {
	margin-top: 12px !important;
	justify-content: flex-end !important;
	gap: 10px !important;
}
.gw-modal[data-gw-modal] .gw-btn--cta {
	border-radius: 6px !important;
	padding: 10px 19px !important;
	font-size: .95rem !important;
	font-weight: 900 !important;
	background: linear-gradient(90deg, #2B9F90 0%, #B9A0EA 100%) !important;
	color: #fff !important;
}
.gw-modal[data-gw-modal] .gw-btn--cta:disabled {
	display: none !important;
}

@media (max-width: 560px) {
	.gw-modal[data-gw-modal] .gw-modal__box {
		width: min(516px, 100vw) !important;
		margin: 0 auto !important;
		padding: 40px 47px 26px !important;
	}
	.gw-modal[data-gw-modal] .gw-modal__doc {
		margin-bottom: 34px !important;
	}
	.gw-modal[data-gw-modal] .gw-cal__grid {
		gap: 8px 8px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}
@media (max-width: 430px) {
	.gw-modal[data-gw-modal] .gw-modal__box {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}
	.gw-modal[data-gw-modal] .gw-modal__photo {
		width: 80px !important;
		height: 80px !important;
		flex-basis: 80px !important;
	}
	.gw-modal[data-gw-modal] .gw-cal__grid {
		gap: 7px 5px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
	.gw-modal[data-gw-modal] .gw-cal__day {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		min-height: 32px !important;
		font-size: .9rem !important;
	}
	.gw-modal[data-gw-modal] .gw-slots {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}


/* v1.0.14 — Degradé editable en separadores del Consultorio + HTML inline seguro en Hero. */
.gw-consultorio .gw-diff li{
	position:relative !important;
	border-bottom:0 !important;
}
.gw-consultorio .gw-diff li::after{
	content:'';
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:var(--gw-consultorio-sep-height, 8px);
	background:linear-gradient(var(--gw-consultorio-sep-angle, 90deg), var(--gw-consultorio-sep-1, #D8C5FF), var(--gw-consultorio-sep-2, #F1E9FF), var(--gw-consultorio-sep-3, #B9A0EA));
	pointer-events:none;
}
.gw-hero__copy h1 strong,
.gw-hero__copy h1 b,
.gw-hero__copy h1 em,
.gw-hero__copy h1 i,
.gw-hero__copy h1 span span,
.gw-hero__copy p strong,
.gw-hero__copy p b,
.gw-hero__copy p em,
.gw-hero__copy p i,
.gw-hero__copy p span{
	color:inherit;
}
.gw-hero__copy h1 strong,
.gw-hero__copy h1 b,
.gw-hero__copy p strong,
.gw-hero__copy p b{font-weight:900;}
.gw-hero__copy h1 em,
.gw-hero__copy h1 i,
.gw-hero__copy p em,
.gw-hero__copy p i{font-style:italic;}

/* v1.0.16 — Botón de turnos dentro del modal interno de Especialidades. */
.gw-specmodal__cta-wrap{
	display:flex;
	justify-content:flex-end;
	margin-top:34px;
}
.gw-specmodal__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:54px;
	padding:14px 30px;
	border-radius:12px;
	background:#2B9F90;
	color:#fff!important;
	font-weight:800;
	font-size:1.1rem;
	line-height:1;
	text-decoration:none!important;
	box-shadow:0 10px 22px rgba(24,85,76,.16);
}
.gw-specmodal__cta:hover{filter:brightness(1.05);color:#fff!important;}
@media (max-width:680px){
	.gw-specmodal__cta-wrap{justify-content:center;margin-top:24px;}
	.gw-specmodal__cta{width:100%;min-height:50px;font-size:1rem;}
}

/* Gynova 1.0.18 — selección previa de especialidad/consultorio + adjuntos */
.gw-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}
.gw-context[hidden] { display: none !important; }
.gw-context__field {
  display: grid;
  gap: 6px;
  margin: 0;
}
.gw-context__field[hidden] { display: none !important; }
.gw-context__field span {
  color: #fff;
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .02em;
}
.gw-context__field select {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: #F3F7E9;
  color: #14241A;
  font-weight: 800;
  padding: 9px 12px;
  box-shadow: none;
}
.gw-row--file input[type="file"] {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #EEF5FF;
  color: #14241A;
  padding: 12px;
  font-size: .9rem;
}
@media (max-width: 640px) {
  .gw-context { grid-template-columns: 1fr; }
}


/* Gynova 1.0.19 — fix modal: selectores previos + adjuntos visibles */
.gw-modal[data-gw-modal] .gw-context{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.gw-modal[data-gw-modal] .gw-context[hidden],
.gw-modal[data-gw-modal] .gw-context__field[hidden]{display:none!important;}
.gw-modal[data-gw-modal] .gw-context__field{display:grid;gap:6px;margin:0;}
.gw-modal[data-gw-modal] .gw-context__field span{color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.02em;}
.gw-modal[data-gw-modal] .gw-context__field select{
  width:100%;min-height:42px;border:0;border-radius:8px;background:#F3F7E9;color:#14241A;font-weight:800;padding:9px 12px;box-shadow:none;
}
.gw-modal[data-gw-modal] .gw-row--file input[type=file]{
  width:100%;min-height:54px;border:0;border-radius:8px;background:#EEF5FF;color:#14241A;padding:13px;font-size:.92rem;
}
@media(max-width:640px){.gw-modal[data-gw-modal] .gw-context{grid-template-columns:1fr;}}

/* 1.0.21 – separador superior opcional para El Consultorio */
.gw-consultorio__image-sep{
	grid-column: 1 / -1;
	width: 100%;
	line-height: 0;
	margin: 0 0 clamp(22px, 3vw, 44px);
	overflow: hidden;
}
.gw-consultorio__image-sep img{
	display:block;
	width:100%;
	height:28px;
	object-fit:cover;
	object-position:center center;
}

/* 1.0.21 – asegura degradé consistente de obras sociales tipo maqueta */
.gw-cov{
	background: linear-gradient(var(--gw-cov-section-angle, 180deg), var(--gw-cov-section-g1, #EFF3E2) 0%, var(--gw-cov-section-g2, #EFF3E2) 58%, var(--gw-cov-section-g3, #EFF3E2) 100%);
}
.gw-cov__badge,
.gw-cov__badge.alt{
	background: linear-gradient(var(--gw-cov-badge-angle, 90deg), var(--gw-cov-badge-g1, #B9A0EA) 0%, var(--gw-cov-badge-g2, #6BA2C7) 52%, var(--gw-cov-badge-g3, #149071) 100%) !important;
}


/* 1.0.22 – la imagen separador de El Consultorio reemplaza la barra superior de colores */
.gw-consultorio.gw-consultorio--has-image-sep::before{
	display:none !important;
}
.gw-consultorio.gw-consultorio--has-image-sep .gw-consultorio__image-sep{
	position:absolute;
	left:0;
	top:0;
	right:0;
	z-index:1;
	grid-column:auto;
	width:100%;
	margin:0;
	line-height:0;
	pointer-events:none;
}
.gw-consultorio.gw-consultorio--has-image-sep .gw-consultorio__image-sep img{
	display:block;
	width:100%;
	height:28px;
	object-fit:cover;
	object-position:center center;
}
.gw-consultorio.gw-consultorio--has-image-sep .gw-consultorio__col{
	position:relative;
	z-index:2;
}
@media (max-width:760px){
	.gw-consultorio.gw-consultorio--has-image-sep .gw-consultorio__image-sep img{
		height:18px;
	}
}


/* 1.0.23 – Obras Sociales: el degradé queda en cada botón, no en todo el contenedor */
.gw-cov{
	background: transparent !important;
	background-image: none !important;
}
.gw-cov__grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 22px 26px;
	align-items: stretch;
}
.gw-cov__badge,
.gw-cov__badge.alt{
	display: flex;
	width: 100%;
	min-height: 64px;
	background: linear-gradient(var(--gw-cov-badge-angle, 90deg), var(--gw-cov-badge-g1, #B9A0EA) 0%, var(--gw-cov-badge-g2, #6BA2C7) 50%, var(--gw-cov-badge-g3, #149071) 100%) !important;
}
@media (max-width: 767px){
	.gw-cov__grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.gw-cov__badge,
	.gw-cov__badge.alt{
		min-width: 0;
		min-height: 44px;
		padding: 10px 8px;
		font-size: .78rem;
	}
}

/* 1.0.24 – Ajustes finales solicitados: divisor imagen Enfoque, Footer editable con FontAwesome y botones Obras Sociales controlables */
.gw-doctor__focus{
	position: relative;
	overflow: hidden;
}
.gw-doctor__focus--has-border-img{
	border-left: 0 !important;
	padding-left: calc(24px + var(--gw-focus-border-img-width, 12px));
}
.gw-doctor__focus-border-img{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: var(--gw-focus-border-img-width, 12px);
	display: block;
	line-height: 0;
	z-index: 1;
}
.gw-doctor__focus-border-img img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}
.gw-doctor__focus > :not(.gw-doctor__focus-border-img){
	position: relative;
	z-index: 2;
}

.gw-footer{
	background: linear-gradient(var(--gw-footer-angle, 90deg), var(--gw-footer-g1, #149071) 0%, var(--gw-footer-g2, #6BA2C7) 52%, var(--gw-footer-g3, #B9A0EA) 100%) !important;
}
.gw-footer__tag{
	display:block;
	margin-top: 10px;
	letter-spacing: .35em;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
}
.gw-footer p{
	display:flex;
	align-items:center;
	gap:8px;
}
.gw-footer__ico{
	width:1.2em;
	min-width:1.2em;
	text-align:center;
}

.gw-cov{
	background: transparent !important;
	background-image: none !important;
}
.gw-cov__grid{
	display:grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items:stretch;
}
.gw-cov__badge,
.gw-cov__badge.alt{
	box-sizing:border-box;
	width:100%;
	min-width:0;
	background: linear-gradient(var(--gw-cov-badge-angle, 90deg), var(--gw-cov-badge-g1, #B9A0EA) 0%, var(--gw-cov-badge-g2, #6BA2C7) 50%, var(--gw-cov-badge-g3, #149071) 100%) !important;
	background-size: 100% 100% !important;
}
.gw-cov__badge:nth-child(even){
	background: linear-gradient(var(--gw-cov-badge-angle, 90deg), var(--gw-cov-badge-g1, #B9A0EA) 0%, var(--gw-cov-badge-g2, #6BA2C7) 46%, var(--gw-cov-badge-g3, #149071) 100%) !important;
}
.gw-cov__badge:nth-child(3n){
	background: linear-gradient(var(--gw-cov-badge-angle, 90deg), var(--gw-cov-badge-g1, #B9A0EA) 0%, var(--gw-cov-badge-g2, #6BA2C7) 58%, var(--gw-cov-badge-g3, #149071) 100%) !important;
}
@media (max-width: 1024px){
	.gw-cov__grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 767px){
	.gw-cov__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
	.gw-cov__badge,
	.gw-cov__badge.alt{
		min-height: 44px;
		padding: 10px 8px;
		font-size: .78rem;
	}
}

/* 1.0.28 – Cards Equipo editables desde Elementor */
.gw-team__grid{
	align-items: stretch;
}
.gw-team .gw-card{
	background: var(--gw-cardbg, #F4F8EC) !important;
	border-radius: var(--gw-team-card-radius, 10px) !important;
	padding: var(--gw-team-card-pt, 0) var(--gw-team-card-pr, 22px) var(--gw-team-card-pb, 22px) var(--gw-team-card-pl, 22px) !important;
	box-shadow: var(--gw-team-card-shadow, none) !important;
	border: 1px solid rgba(216, 224, 204, .55) !important;
	gap: var(--gw-team-card-gap, 16px) !important;
	overflow: hidden !important;
}
.gw-team .gw-card__bar{
	height: var(--gw-team-bar-h, 7px) !important;
	border-radius: 999px 999px 0 0 !important;
	margin: 0 calc(var(--gw-team-card-pr, 22px) * -1) 18px calc(var(--gw-team-card-pl, 22px) * -1) !important;
	background: linear-gradient(90deg, var(--gw-team-bar-g1, #70409D) 0%, var(--gw-team-bar-g2, #118C6E) 52%, var(--gw-team-bar-g3, #DDF0A9) 100%) !important;
}
.gw-team .gw-card__head{
	align-items: center !important;
	gap: 18px !important;
}
.gw-team .gw-card__photo,
.gw-team img.gw-card__photo,
.gw-team .gw-card__photo--ph{
	width: var(--gw-team-photo-size, 84px) !important;
	height: var(--gw-team-photo-size, 84px) !important;
	flex: 0 0 var(--gw-team-photo-size, 84px) !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: center center !important;
	display: block !important;
	border: var(--gw-team-photo-border, 3px) solid var(--gw-team-photo-border-color, #118C6E) !important;
	box-shadow: 0 0 0 5px rgba(239, 243, 226, .95) !important;
	overflow: hidden !important;
}
.gw-team .gw-card__photo--ph{
	display: grid !important;
	place-items: center !important;
}
.gw-team .gw-card__name{
	font-size: 1.55rem;
	line-height: 1.08 !important;
	letter-spacing: -.03em !important;
	color: var(--gw-text, #15291F);
}
.gw-team .gw-tag{
	font-size: .86rem;
	font-weight: 800;
	padding: 6px 12px;
	border-radius: 7px;
	background: #F8FBF0;
	border-color: #D0D9C3;
	color: var(--gw-text, #15291F);
}
.gw-team .gw-week{
	gap: 8px !important;
}
.gw-team .gw-week__day{
	border-radius: 8px !important;
	min-height: var(--gw-team-week-height, 64px) !important;
	padding: 9px 8px !important;
}
.gw-team .gw-week__range{
	font-size: .9rem;
	line-height: 1.25 !important;
	font-weight: 700 !important;
}
.gw-team .gw-card__cov{
	padding: 12px 16px;
	border-radius: 7px !important;
	font-size: .92rem;
	line-height: 1.45 !important;
}
.gw-team .gw-card > .gw-btn--cta{
	border-radius: 12px !important;
	padding: 14px 28px;
	font-size: 1rem;
	margin-top: auto !important;
}
@media (max-width: 767px){
	.gw-team .gw-card__head{gap: 14px !important;}
	.gw-team .gw-tag{font-size: .68rem;padding: 4px 7px;}
	.gw-team .gw-week{gap: 5px !important;}
	.gw-team .gw-week__range{font-size: .82rem;}
}

.gw-cov{
	background: transparent !important;
	background-image: none !important;
}
.gw-cov__grid{
	display: grid !important;
	align-items: stretch !important;
}
.gw-cov__badge,
.gw-cov__badge.alt,
.gw-cov__badge:nth-child(even),
.gw-cov__badge:nth-child(3n){
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	background: linear-gradient(var(--gw-cov-item-angle, 90deg), var(--gw-cov-item-g1, #B9A0EA) 0%, var(--gw-cov-item-g2, #149071) 100%) !important;
	color: var(--gw-cov-item-color, #FFFFFF) !important;
	background-size: 100% 100% !important;
}


/* v1.0.26 — Modal interno de Especialidades editable + banner individual */
.gw-modal__box--spec{
	--gw-specmodal-g1:#149071;
	--gw-specmodal-g2:#6BA2C7;
	--gw-specmodal-g3:#B9A0EA;
	--gw-specmodal-angle:135deg;
	width:min(96vw, 980px);
	max-width:980px;
	padding:44px;
	border-radius:10px;
	background:
		radial-gradient(circle at 100% 100%, rgba(185,160,234,.32) 0 24%, transparent 54%),
		linear-gradient(var(--gw-specmodal-angle), var(--gw-specmodal-g1) 0%, var(--gw-specmodal-g2) 58%, var(--gw-specmodal-g3) 100%) !important;
	box-sizing:border-box;
}
.gw-specmodal__hero{
	min-height:420px;
	border-radius:6px;
	background-color:#F4F8EC;
	display:grid;
	grid-template-columns:minmax(220px, .55fr) 1fr;
	align-items:center;
	overflow:hidden;
	margin-bottom:32px;
}
.gw-specmodal__hero h3{
	position:relative;
	z-index:2;
	margin:0;
	padding:34px;
	max-width:38%;
	font-size:clamp(2rem, 4vw, 3.8rem);
	line-height:1.08;
	font-weight:900;
	color:#102A1D;
}
.gw-specmodal__hero img{
	width:100%;
	height:100%;
	min-height:inherit;
	object-fit:cover;
	object-position:center center;
	display:block;
	grid-column:2;
	align-self:stretch;
}
.gw-specmodal__body{
	font-size:clamp(1.25rem, 2.1vw, 2rem);
	line-height:1.48;
	font-weight:500;
	color:#fff;
}
.gw-specmodal__body p{margin:0 0 1em;}
.gw-specmodal__body p:last-child{margin-bottom:0;}
@media (max-width:680px){
	.gw-modal__box--spec{padding:24px 18px;width:min(94vw, 560px);}
	.gw-specmodal__hero{min-height:280px;grid-template-columns:1fr;align-items:start;}
	.gw-specmodal__hero h3{max-width:80%;padding:26px 24px 12px;font-size:clamp(1.7rem, 8vw, 2.8rem);}
	.gw-specmodal__hero img{grid-column:1;height:220px;min-height:0;object-fit:contain;align-self:end;}
	.gw-specmodal__body{font-size:1.05rem;line-height:1.55;}
}


/* 1.0.29 – Ajuste profesional: banner modal completo + cards Equipo alineadas */
.gw-modal__box--spec{
	width: min(94vw, var(--gw-specmodal-width, 1120px)) !important;
	max-width: min(94vw, var(--gw-specmodal-width, 1120px)) !important;
}
.gw-specmodal__hero{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: var(--gw-specmodal-hero-height, 430px) !important;
	border-radius: var(--gw-specmodal-hero-radius, 6px) !important;
	overflow: hidden !important;
	background-color: #F4F8EC !important;
	isolation: isolate;
}
.gw-specmodal__hero img{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center;
	display: block !important;
	z-index: 1 !important;
}
.gw-specmodal__hero h3{
	position: relative !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: var(--gw-specmodal-title-pad, 72px 58px) !important;
	max-width: var(--gw-specmodal-title-width, 46%) !important;
	min-height: inherit;
	display: flex !important;
	align-items: center !important;
	font-size: clamp(2.35rem, 5vw, 4.8rem);
	line-height: .98 !important;
	font-weight: 900 !important;
	color: #191A35;
	text-wrap: balance;
}
.gw-specmodal__hero::after{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(244,248,236,.95) 0%, rgba(244,248,236,.72) 34%, rgba(244,248,236,0) 62%);
}
.gw-specmodal__body{
	max-width: 1000px;
}
.gw-specmodal__cta-wrap{
	display: flex;
	margin-top: 28px;
}
.gw-specmodal__cta{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}
@media (max-width: 767px){
	.gw-modal__box--spec{padding: 22px 16px 26px !important;}
	.gw-specmodal__hero{min-height: 260px !important;}
	.gw-specmodal__hero h3{
		max-width: 72% !important;
		padding: 28px 24px !important;
		font-size: clamp(1.9rem, 10vw, 3.1rem) !important;
	}
	.gw-specmodal__hero::after{background: linear-gradient(90deg, rgba(244,248,236,.96) 0%, rgba(244,248,236,.68) 46%, rgba(244,248,236,0) 78%);}
}

/* Cards de médicos: misma estructura, alturas equilibradas y horarios compactos */
.gw-team__grid{
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)) !important;
	gap: 32px !important;
	align-items: stretch !important;
}
.gw-team .gw-card{
	display: grid !important;
	grid-template-rows: auto minmax(128px, auto) minmax(92px, auto) auto 1fr auto !important;
	height: 100% !important;
	padding: var(--gw-team-card-pt, 0) var(--gw-team-card-pr, 26px) var(--gw-team-card-pb, 28px) var(--gw-team-card-pl, 26px) !important;
	gap: 18px !important;
	border-radius: var(--gw-team-card-radius, 14px) !important;
	background: var(--gw-cardbg, #F4F8EC) !important;
	border: 1px solid rgba(209, 220, 197, .85) !important;
	box-shadow: var(--gw-team-card-shadow, 0 12px 28px rgba(21,41,31,.04)) !important;
	overflow: hidden !important;
}
.gw-team .gw-card__bar{
	grid-row: 1 !important;
	margin-bottom: 0 !important;
}
.gw-team .gw-card__head{
	grid-row: 2 !important;
	display: grid !important;
	grid-template-columns: var(--gw-team-photo-size, 104px) minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 24px !important;
	min-height: 128px !important;
	padding-top: 12px !important;
}
.gw-team .gw-card__head > div{
	min-width: 0 !important;
}
.gw-team .gw-card__photo,
.gw-team img.gw-card__photo,
.gw-team .gw-card__photo--ph{
	width: var(--gw-team-photo-size, 104px) !important;
	height: var(--gw-team-photo-size, 104px) !important;
	flex-basis: var(--gw-team-photo-size, 104px) !important;
	align-self: center !important;
}
.gw-team .gw-card__name{
	margin: 0 0 12px !important;
	font-size: clamp(1.6rem, 2vw, 2.25rem) !important;
	line-height: 1.03 !important;
}
.gw-team .gw-tags{
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px 10px !important;
	min-height: 48px !important;
}
.gw-team .gw-tag{
	font-size: clamp(.78rem, .85vw, .98rem) !important;
	line-height: 1.18 !important;
	padding: 7px 12px !important;
	max-width: 100% !important;
}
.gw-team .gw-week{
	grid-row: 3 !important;
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 10px !important;
	align-items: stretch !important;
	width: 100% !important;
	overflow: visible !important;
}
.gw-team .gw-week__day{
	min-width: 0 !important;
	min-height: var(--gw-team-week-height, 104px) !important;
	height: 100% !important;
	padding: 11px 10px !important;
	border-radius: 9px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	overflow: hidden !important;
}
.gw-team .gw-week__label{
	font-size: clamp(.72rem, .82vw, .92rem) !important;
	line-height: 1 !important;
	letter-spacing: .08em !important;
	white-space: nowrap !important;
}
.gw-team .gw-week__range{
	font-size: clamp(.82rem, 1.05vw, 1.08rem) !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}
.gw-team .gw-card__cov{
	grid-row: 4 !important;
	min-height: 74px !important;
	display: flex !important;
	align-items: center !important;
	padding: 14px 18px !important;
	margin: 0 !important;
}
.gw-team .gw-card > .gw-btn--cta{
	grid-row: 6 !important;
	justify-self: end !important;
	align-self: end !important;
	min-width: min(100%, 285px) !important;
	text-align: center !important;
	padding: 16px 30px !important;
	border-radius: 14px !important;
}
@media (max-width: 1024px){
	.gw-team .gw-card{
		grid-template-rows: auto auto auto auto 1fr auto !important;
	}
	.gw-team .gw-card__head{
		grid-template-columns: var(--gw-team-photo-size, 96px) minmax(0, 1fr) !important;
		gap: 18px !important;
		min-height: 118px !important;
	}
	.gw-team .gw-week{gap: 8px !important;}
}
@media (max-width: 767px){
	.gw-team__grid{grid-template-columns: 1fr !important;gap: 22px !important;}
	.gw-team .gw-card{padding-left: 18px !important;padding-right: 18px !important;}
	.gw-team .gw-card__head{grid-template-columns: 84px minmax(0,1fr) !important;gap: 14px !important;min-height: 104px !important;}
	.gw-team .gw-card__photo,
	.gw-team img.gw-card__photo,
	.gw-team .gw-card__photo--ph{width:84px !important;height:84px !important;flex-basis:84px !important;}
	.gw-team .gw-card__name{font-size: 1.55rem !important;}
	.gw-team .gw-week{gap: 6px !important;}
	.gw-team .gw-week__day{min-height: 82px !important;padding: 9px 6px !important;}
	.gw-team .gw-week__label{font-size: .64rem !important;}
	.gw-team .gw-week__range{font-size: .78rem !important;line-height: 1.18 !important;}
	.gw-team .gw-card__cov{min-height: 0 !important;}
	.gw-team .gw-card > .gw-btn--cta{justify-self: stretch !important;min-width: 0 !important;}
}

/* 1.0.30 – Equipo compacto/profesional: 4 columnas desktop, 1 mobile, horarios proporcionados */
.gw-team__grid{
  display:grid !important;
  grid-template-columns: repeat(var(--gw-team-cols, 4), minmax(0, 1fr)) !important;
  gap: var(--gw-team-grid-gap, 24px) !important;
  align-items: stretch !important;
}
.gw-team .gw-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  height:100% !important;
  padding: 0 18px 20px !important;
  gap: 14px !important;
  border-radius: var(--gw-team-card-radius, 12px) !important;
  background: var(--gw-cardbg, #F4F8EC) !important;
  border: 1px solid rgba(209, 220, 197, .9) !important;
  box-shadow: var(--gw-team-card-shadow, 0 12px 28px rgba(21,41,31,.05)) !important;
  overflow:hidden !important;
}
.gw-team .gw-card__bar{
  flex:0 0 auto !important;
  height: var(--gw-team-bar-h, 7px) !important;
  margin: 0 -18px 12px !important;
  border-radius:999px 999px 0 0 !important;
}
.gw-team .gw-card__head{
  display:grid !important;
  grid-template-columns: 78px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items:center !important;
  min-height: 112px !important;
  padding: 6px 0 0 !important;
}
.gw-team .gw-card__photo,
.gw-team img.gw-card__photo,
.gw-team .gw-card__photo--ph{
  width: min(var(--gw-team-photo-size, 78px), 84px) !important;
  height: min(var(--gw-team-photo-size, 78px), 84px) !important;
  flex:0 0 min(var(--gw-team-photo-size, 78px), 84px) !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center !important;
}
.gw-team .gw-card__name{
  margin:0 0 8px !important;
  font-size: clamp(1.15rem, 1.45vw, 1.55rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
}
.gw-team .gw-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  min-height: 0 !important;
}
.gw-team .gw-tag{
  font-size: clamp(.62rem, .7vw, .78rem) !important;
  line-height:1.1 !important;
  padding:5px 8px !important;
  border-radius:6px !important;
  max-width:100% !important;
}
.gw-team .gw-week{
  display:grid !important;
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  overflow:hidden !important;
}
.gw-team .gw-week__day{
  min-width:0 !important;
  min-height: var(--gw-team-week-height, 74px) !important;
  height: var(--gw-team-week-height, 74px) !important;
  padding:8px 6px !important;
  border-radius:7px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  overflow:hidden !important;
}
.gw-team .gw-week__label{
  font-size: clamp(.56rem, .62vw, .72rem) !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  margin:0 0 6px !important;
  white-space:nowrap !important;
}
.gw-team .gw-week__range{
  font-size: clamp(.66rem, .74vw, .86rem) !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.gw-team .gw-card__cov{
  min-height: 66px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  display:flex !important;
  align-items:center !important;
  font-size: clamp(.72rem, .78vw, .9rem) !important;
  line-height:1.35 !important;
}
.gw-team .gw-card > .gw-btn--cta{
  margin-top:auto !important;
  align-self:center !important;
  justify-self:center !important;
  min-width: min(100%, 210px) !important;
  width:auto !important;
  padding: 12px 20px !important;
  border-radius: 10px !important;
  font-size: clamp(.82rem, .86vw, .98rem) !important;
  line-height:1.1 !important;
}
@media (max-width: 1180px){
  .gw-team{--gw-team-cols:2;}
}
@media (max-width: 767px){
  .gw-team{--gw-team-cols:1;}
  .gw-team__grid{gap:22px !important;}
  .gw-team .gw-card{padding:0 18px 20px !important;}
  .gw-team .gw-card__head{grid-template-columns:84px minmax(0,1fr) !important;gap:14px !important;min-height:108px !important;}
  .gw-team .gw-card__photo,
  .gw-team img.gw-card__photo,
  .gw-team .gw-card__photo--ph{width:84px !important;height:84px !important;flex-basis:84px !important;}
  .gw-team .gw-card__name{font-size:1.55rem !important;}
  .gw-team .gw-tag{font-size:.72rem !important;padding:5px 8px !important;}
  .gw-team .gw-week{gap:6px !important;}
  .gw-team .gw-week__day{height:82px !important;min-height:82px !important;padding:9px 6px !important;}
  .gw-team .gw-week__label{font-size:.62rem !important;}
  .gw-team .gw-week__range{font-size:.78rem !important;line-height:1.16 !important;}
  .gw-team .gw-card__cov{min-height:0 !important;font-size:.95rem !important;}
  .gw-team .gw-card > .gw-btn--cta{width:100% !important;min-width:0 !important;}
}


/* 1.0.31 – Equipo + Turnero: controles Elementor funcionales y horarios en 2 filas */
.gw-team__grid{
  grid-template-columns: repeat(var(--gw-team-cols, 4), minmax(0, 1fr)) !important;
  gap: var(--gw-team-grid-gap, 22px) !important;
}
.gw-team .gw-card{
  padding: var(--gw-team-card-pt, 0px) var(--gw-team-card-pr, 18px) var(--gw-team-card-pb, 20px) var(--gw-team-card-pl, 18px) !important;
  gap: var(--gw-team-card-gap, 14px) !important;
  border-radius: var(--gw-team-card-radius, 12px) !important;
  box-shadow: var(--gw-team-card-shadow, none) !important;
}
.gw-team .gw-card__bar{
  height: var(--gw-team-bar-h, 7px) !important;
  margin-left: calc(var(--gw-team-card-pl, 18px) * -1) !important;
  margin-right: calc(var(--gw-team-card-pr, 18px) * -1) !important;
}
.gw-team .gw-card__head{
  grid-template-columns: minmax(56px, var(--gw-team-photo-size, 76px)) minmax(0,1fr) !important;
  min-height: 96px !important;
  align-items: center !important;
}
.gw-team .gw-card__photo,
.gw-team img.gw-card__photo,
.gw-team .gw-card__photo--ph{
  width: var(--gw-team-photo-size, 76px) !important;
  height: var(--gw-team-photo-size, 76px) !important;
  flex-basis: var(--gw-team-photo-size, 76px) !important;
  border-width: var(--gw-team-photo-border, 3px) !important;
  border-color: var(--gw-team-photo-border-color, #118C6E) !important;
}
.gw-team .gw-card__name{
  font-size: inherit;
  line-height: inherit;
}
.gw-team .gw-tags{ gap: 6px !important; }
.gw-team .gw-tag{ font-size: inherit; line-height: inherit; }
.gw-team .gw-week{
  grid-template-columns: repeat(var(--gw-team-week-cols, 3), minmax(0,1fr)) !important;
  gap: 7px !important;
  overflow: visible !important;
}
.gw-team .gw-week__day{
  height: var(--gw-team-week-height, 72px) !important;
  min-height: var(--gw-team-week-height, 72px) !important;
  padding: 8px 8px !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  overflow: hidden !important;
}
.gw-team .gw-week__label{
  font-size: var(--gw-team-week-label-size, 11px) !important;
  line-height: 1.05 !important;
  margin-bottom: 5px !important;
}
.gw-team .gw-week__range{
  display: block !important;
  font-size: var(--gw-team-week-range-size, 13px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  white-space: normal !important;
}
.gw-team .gw-card__cov{
  font-size: inherit;
  min-height: 58px !important;
  align-items: flex-start !important;
  padding: 11px 13px !important;
  gap: 4px !important;
}
.gw-team .gw-card__cov strong{
  margin-right: 4px;
}
.gw-team .gw-card > .gw-btn--cta{
  font-size: inherit;
  min-width: min(100%, 190px) !important;
  padding: 11px 18px !important;
}
@media (min-width: 1181px){
  .gw-team__grid{grid-template-columns: repeat(var(--gw-team-cols, 4), minmax(0, 1fr)) !important;}
}
@media (max-width: 1180px){
  .gw-team{--gw-team-cols: var(--gw-team-cols, 2);}
}
@media (max-width: 767px){
  .gw-team{--gw-team-cols: 1; --gw-team-week-cols: 3;}
  .gw-team .gw-card__head{grid-template-columns: var(--gw-team-photo-size, 84px) minmax(0,1fr) !important;min-height: 104px !important;}
}

/* 1.0.33 – Equipo + Turnero: mostrar solo días con atención y rango horario horizontal */
.gw-team .gw-week{
  grid-template-columns: repeat(var(--gw-team-week-cols, 4), minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.gw-team .gw-week__day{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  min-height: var(--gw-team-week-height, 72px) !important;
  height: auto !important;
  padding: 8px 6px !important;
  border-radius: 8px !important;
}
.gw-team .gw-week__label{
  display:block !important;
  width:100% !important;
  margin:0 0 7px !important;
  font-size: var(--gw-team-week-label-size, 10px) !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-align:center !important;
}
.gw-team .gw-week__range{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  gap: 3px !important;
  font-size: var(--gw-team-week-range-size, 12px) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  text-align:center !important;
  white-space:normal !important;
}
.gw-team .gw-week__slot{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  column-gap: 3px !important;
  row-gap: 0 !important;
}
.gw-team .gw-week__from,
.gw-team .gw-week__sep,
.gw-team .gw-week__to{
  display:inline !important;
  width:auto !important;
  text-align:center !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
}
.gw-team .gw-week__sep{font-size:.88em !important;line-height:1 !important;opacity:.95 !important;}
@media (max-width: 767px){
  .gw-team .gw-week{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
}

/* Footer 1.0.34 — redes con selector de iconos + botones de portales */
.gw-footer{
	grid-template-columns: minmax(170px,1.1fr) minmax(190px,1fr) minmax(150px,.8fr) minmax(160px,.8fr) minmax(190px,1fr);
	align-items:start;
}
.gw-footer p{
	line-height:1.35;
}
.gw-footer__ico,
.gw-footer__social-icon,
.gw-footer__portal-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.25em;
	min-width:1.25em;
	line-height:1;
}
.gw-footer__ico svg,
.gw-footer__social-icon svg,
.gw-footer__portal-icon svg{
	width:1em;
	height:1em;
	fill:currentColor;
}
.gw-footer__socials p{
	display:flex;
	align-items:center;
	gap:8px;
}
.gw-footer__portal-list{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.gw-footer__portal-btn{
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:9px;
	padding:11px 14px;
	border:1px solid rgba(255,255,255,.28);
	background:rgba(255,255,255,.14);
	color:#fff;
	text-decoration:none !important;
	font-weight:800;
	line-height:1.15;
	transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.gw-footer__portal-btn:hover{
	transform:translateY(-1px);
	background:rgba(255,255,255,.22);
	border-color:rgba(255,255,255,.45);
	text-decoration:none !important;
}
.gw-footer__portal-icon{
	font-size:1.05em;
}
@media (max-width: 1024px){
	.gw-footer{ grid-template-columns: repeat(2, minmax(0,1fr)); }
	.gw-footer__brand{ grid-column:1 / -1; }
}
@media (max-width: 560px){
	.gw-footer{ grid-template-columns: 1fr; }
	.gw-footer__brand{ grid-column:auto; }
}

/* Gynova · Contacto */
.gw-contact{
  --gw-contact-g1:#139071;
  --gw-contact-g2:#6fa6c8;
  --gw-contact-g3:#b9a0ea;
  width: min(100%, 1240px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
  gap: clamp(24px, 4vw, 56px);
  background: linear-gradient(115deg, var(--gw-contact-g1), var(--gw-contact-g2) 58%, var(--gw-contact-g3));
  color: #fff;
  overflow: hidden;
  position: relative;
  isolation:isolate;
}
.gw-contact:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 12%, rgba(205,233,138,.18), transparent 28%),
    radial-gradient(circle at 92% 86%, rgba(255,255,255,.14), transparent 30%);
  pointer-events:none;
  z-index:0;
}
.gw-contact > *{ position:relative; z-index:1; }
.gw-contact__content{ display:flex; flex-direction:column; gap:22px; justify-content:center; min-width:0; }
.gw-contact__eyebrow{ display:inline-flex; width:max-content; font-weight:800; letter-spacing:.22em; text-transform:uppercase; font-size:13px; opacity:.95; margin-bottom:12px; }
.gw-contact__title{ margin:0; color:#fff; font-size:clamp(36px, 5vw, 74px); line-height:.98; letter-spacing:-.045em; font-weight:900; max-width: 680px; }
.gw-contact__desc{ margin:18px 0 0; color:#f6fff0; font-size:clamp(18px, 1.55vw, 24px); font-weight:400; line-height:1.42; max-width: 720px; }
.gw-contact__cards{ display:grid; grid-template-columns:1fr; gap:12px; margin-top:2px; max-width:720px; }
.gw-contact-card{
  --gw-contact-card-g1:#F4FFE8;
  --gw-contact-card-g2:#E6F6F1;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:70px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(135deg, var(--gw-contact-card-g1), var(--gw-contact-card-g2));
  color:#102618;
  text-decoration:none;
  box-shadow:0 12px 30px rgba(22,52,40,.10);
  border:1px solid rgba(255,255,255,.56);
  transition:transform .18s ease, box-shadow .18s ease;
  min-width:0;
}
.gw-contact-card:hover{ transform:translateY(-2px); color:#102618; box-shadow:0 16px 36px rgba(22,52,40,.14); }
.gw-contact-card__icon{ width:44px; height:44px; flex:0 0 44px; border-radius:999px; display:grid; place-items:center; color:#0a806a; background:#d8f4a7; font-size:18px; }
.gw-contact-card__icon svg{ width:1em; height:1em; display:block; }
.gw-contact-card strong{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.12em; line-height:1.1; opacity:.70; font-weight:800; }
.gw-contact-card em{ display:block; margin-top:4px; font-style:normal; font-weight:700; font-size:clamp(15px, 1.1vw, 19px); line-height:1.28; overflow-wrap:anywhere; word-break:normal; }
.gw-contact__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:4px; }
.gw-contact__btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:14px 24px; border-radius:14px; background:#129071; color:#fff; text-decoration:none; font-weight:900; box-shadow:0 14px 26px rgba(9,88,70,.18); border:1px solid rgba(255,255,255,.20); }
.gw-contact__btn svg{ width:1em; height:1em; display:block; }
.gw-contact__btn:hover{ color:#fff; filter:brightness(1.04); transform:translateY(-1px); }
.gw-contact__map{ min-width:0; background:rgba(250,255,240,.94); padding:22px; border-radius:26px; color:#142519; box-shadow:0 18px 44px rgba(18,44,35,.14); }
.gw-contact__map h3{ margin:0 0 16px; color:#142519; font-size:clamp(24px,2.4vw,34px); line-height:1.05; font-weight:900; letter-spacing:-.03em; }
.gw-contact__map-frame{ width:100%; height:420px; border-radius:22px; overflow:hidden; background:linear-gradient(135deg, #eef8e7, #d6f0ed); border:1px solid rgba(18,144,113,.20); }
.gw-contact__map-frame iframe{ width:100%; height:100%; border:0; display:block; filter:saturate(.95) contrast(.98); }
.gw-contact__map-placeholder{ height:100%; display:grid; place-items:center; text-align:center; color:#126b5d; font-weight:900; font-size:22px; padding:24px; }
.gw-contact__map-placeholder svg{ width:46px; height:46px; margin-bottom:10px; }
.gw-contact__address{ margin:14px 0 0; font-weight:800; color:#126b5d; font-size:18px; }
.gw-contact__map-link{ display:inline-flex; margin-top:10px; color:#12866c; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 1024px){
  .gw-contact{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
  .gw-contact{ padding:26px !important; border-radius:18px; }
  .gw-contact__title{ font-size:40px; }
  .gw-contact__cards{ gap:10px; }
  .gw-contact-card{ min-height:64px; }
  .gw-contact__actions{ flex-direction:column; }
  .gw-contact__btn{ width:100%; }
  .gw-contact__map{ padding:14px; border-radius:18px; }
  .gw-contact__map-frame{ height:300px; }
}


/* Fix 1.0.38: evita doble foto en el modal del médico.
   Elementor/tema pisaba el atributo hidden del placeholder porque .gw-modal__photo--ph usa display:grid. */
.gw-modal[data-gw-modal] .gw-modal__photo[hidden],
.gw-modal[data-gw-modal] .gw-modal__photo--ph[hidden],
.gw-modal__photo[hidden],
.gw-modal__photo--ph[hidden]{
  display:none !important;
}
.gw-modal[data-gw-modal] img.gw-modal__photo{
  display:block;
  border-radius:999px !important;
  aspect-ratio:1 / 1;
  object-fit:cover !important;
  overflow:hidden;
}
.gw-modal[data-gw-modal] .gw-modal__photo--ph{
  border-radius:999px !important;
  aspect-ratio:1 / 1;
}


/* 1.0.39 — Logo del header enlazado a inicio + banners modales completos */
.gw-header__brand{
	text-decoration:none !important;
	color:inherit !important;
	cursor:pointer;
}
.gw-header__brand:focus-visible{
	outline:2px solid currentColor;
	outline-offset:4px;
	border-radius:4px;
}

/* Mantiene todos los banners completos y con el mismo marco, sin recortes. */
.gw-specmodal__hero{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	background:#F4F8EC !important;
}
.gw-specmodal__hero img{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	max-width:100% !important;
	min-height:0 !important;
	object-fit:contain !important;
	object-position:center center;
	background:#F4F8EC;
}
@media (max-width:767px){
	.gw-specmodal__hero img{
		object-fit:contain !important;
	}
}


/* v1.0.40 — Banner modal rectangular completo, título lateral y controles tipográficos */
.gw-modal__box--spec .gw-specmodal__hero{
  display:grid !important;
  grid-template-columns:minmax(220px, 34%) minmax(0, 66%) !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:0 !important;
  height:var(--gw-specmodal-hero-height, 430px) !important;
  aspect-ratio:auto !important;
  background:#F4F8EC !important;
  overflow:hidden !important;
  position:relative !important;
}
.gw-modal__box--spec .gw-specmodal__hero::after{display:none !important;content:none !important;}
.gw-modal__box--spec .gw-specmodal__hero h3{
  position:relative !important;
  z-index:2 !important;
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:var(--gw-specmodal-title-pad, 42px 34px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
  background:#F4F8EC !important;
  box-sizing:border-box !important;
}
.gw-modal__box--spec .gw-specmodal__hero img{
  position:relative !important;
  inset:auto !important;
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center;
  background:#F4F8EC !important;
  display:block !important;
}
@media (max-width:767px){
  .gw-modal__box--spec .gw-specmodal__hero{
    grid-template-columns:36% 64% !important;
    height:220px !important;
    min-height:220px !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero h3{
    padding:22px 14px !important;
    font-size:clamp(1.35rem, 7vw, 2.15rem) !important;
    line-height:1 !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero img{object-fit:contain !important;}
}


/* v1.0.45 — El título de Equipo queda completamente bajo control de Elementor. */
/* No definir aquí familia, tamaño, peso ni interlineado: el CSS dinámico del widget manda. */
.gw-footer__brand-link{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  text-decoration:none !important;
  color:inherit;
}
.gw-footer__brand-link:focus-visible{
  outline:2px solid currentColor;
  outline-offset:5px;
  border-radius:4px;
}

@media (max-width:767px){
  .gw-modal__box--spec{
    width:min(94vw, 560px) !important;
    max-width:min(94vw, 560px) !important;
    padding:18px 14px 22px !important;
    border-radius:12px !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero{
    grid-template-columns:minmax(0, 44%) minmax(0, 56%) !important;
    width:100% !important;
    height:clamp(190px, 58vw, 250px) !important;
    min-height:0 !important;
    border-radius:9px !important;
    background:#F4F8EC !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero h3{
    padding:18px 12px 18px 16px !important;
    font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size:clamp(1.05rem, 4.4vw, 1.45rem) !important;
    font-weight:800 !important;
    line-height:1.06 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
    text-wrap:balance;
  }
  .gw-modal__box--spec .gw-specmodal__hero img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    padding:8px 6px 8px 0;
  }
  .gw-specmodal__body{
    font-size:1rem !important;
    line-height:1.45 !important;
  }
}


/* v1.0.42 — Banner modal responsive por dispositivo y título opcional */
.gw-modal__box--spec .gw-specmodal__picture{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#F4F8EC !important;
}
.gw-modal__box--spec .gw-specmodal__picture img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#F4F8EC !important;
}
.gw-modal__box--spec .gw-specmodal__hero--no-title{
  display:block !important;
}
.gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture{
  width:100% !important;
  height:100% !important;
}
.gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
@media (max-width:767px){
  .gw-modal__box--spec .gw-specmodal__hero:not(.gw-specmodal__hero--no-title){
    grid-template-columns:minmax(0, 42%) minmax(0, 58%) !important;
  }
  .gw-modal__box--spec .gw-specmodal__picture{
    grid-column:2 !important;
    grid-row:1 !important;
    height:100% !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  .gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture img{
    object-fit:contain !important;
    padding:0 !important;
  }
}

/* v1.0.43 — Botón de cierre siempre visible por encima del banner modal */
.gw-modal__box--spec {
  isolation: isolate !important;
}
.gw-modal__box--spec > .gw-modal__x {
  position: sticky !important;
  top: 10px !important;
  float: right !important;
  margin: -2px -2px -42px 0 !important;
  z-index: 999 !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 999px !important;
  background: #F4F8EC !important;
  color: #0C6B54 !important;
  box-shadow: 0 6px 18px rgba(21, 41, 31, .18) !important;
  border: 0 !important;
  overflow: visible !important;
}
.gw-modal__box--spec > .gw-modal__x::before {
  font-size: 28px !important;
  transform: none !important;
}
.gw-modal__box--spec .gw-specmodal__hero,
.gw-modal__box--spec .gw-specmodal__picture,
.gw-modal__box--spec .gw-specmodal__picture img {
  z-index: 1 !important;
}
@media (max-width: 767px) {
  .gw-modal__box--spec > .gw-modal__x {
    top: 8px !important;
    right: auto !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: -1px -1px -39px 0 !important;
  }
  .gw-modal__box--spec > .gw-modal__x::before {
    font-size: 25px !important;
  }
}


/* v1.0.44 — Libros del Dr. Yahni en una sola columna en móvil */
@media (max-width: 767px){
	.gw-doctor__books-grid{
		display:grid !important;
		grid-template-columns:minmax(0, 1fr) !important;
		gap:24px !important;
	}
	.gw-doctor__books-grid > .gw-book{
		width:100% !important;
		min-width:0 !important;
		height:auto !important;
	}
}

/* v1.0.47 — Banners de especialidades a sangre completa.
 * Desktop: proporción 1157 × 422.
 * Móvil: proporción 800 × 800.
 * Al usar archivos con esas proporciones, la imagen ocupa todo el marco sin bandas ni recortes.
 */
.gw-modal__box--spec .gw-specmodal__hero {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1157 / 422 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

.gw-modal__box--spec .gw-specmodal__picture {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gw-modal__box--spec .gw-specmodal__picture img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center;
}

/* El título opcional queda superpuesto sin alterar el tamaño del banner. */
.gw-modal__box--spec .gw-specmodal__hero h3 {
  position: relative !important;
  z-index: 3 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .gw-modal__box--spec .gw-specmodal__hero {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .gw-modal__box--spec .gw-specmodal__picture,
  .gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture {
    position: absolute !important;
    inset: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: 100% !important;
  }

  .gw-modal__box--spec .gw-specmodal__picture img,
  .gw-modal__box--spec .gw-specmodal__hero--no-title .gw-specmodal__picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    padding: 0 !important;
  }
}

.gw-card[hidden], .gw-card.is-hidden{display:none!important}.gw-card__unavailable{display:block;margin-top:auto;padding:12px 16px;border-radius:10px;background:#eef1e7;color:#657064;text-align:center;font-weight:700}.gw-week__day{min-height:54px}.gw-week__day .gw-week__label{margin:auto}


/* Equipo: bloque de días de atención refinado (v1.0.49) */
.gw-team .gw-week-block{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:2px 0 0;
}
.gw-team .gw-week-block__title{
  margin:0 !important;
  padding:0 2px !important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(.82rem,.9vw,.98rem);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.015em;
}
.gw-team .gw-week{
  grid-template-columns:repeat(var(--gw-team-week-cols,3),minmax(0,1fr)) !important;
  align-items:stretch !important;
  overflow:visible !important;
}
.gw-team .gw-week__day{
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  padding:11px 8px !important;
  min-height:var(--gw-team-week-height,72px) !important;
  height:auto !important;
}
.gw-team .gw-week__label{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  font-size:var(--gw-team-week-label-size,11px) !important;
  line-height:1.15 !important;
  text-align:center !important;
}
.gw-team .gw-week__range{
  display:block !important;
  width:100% !important;
  margin-top:7px !important;
  font-size:var(--gw-team-week-range-size,13px) !important;
  text-align:center !important;
}
.gw-team .gw-week__slot{display:block !important;}
@media (max-width:767px){
  .gw-team .gw-week-block{gap:9px;margin-top:4px;}
  .gw-team .gw-week-block__title{font-size:.9rem;padding-left:1px !important;}
  .gw-team .gw-week{gap:10px !important;}
  .gw-team .gw-week__day{
    min-height:68px !important;
    padding:12px 8px !important;
    border-radius:9px !important;
  }
}


/* 1.0.51 – Perfiles profesionales de servicios */
.gw-team .gw-card--services .gw-card__head{min-height:auto !important;margin-bottom:4px;}
.gw-team .gw-card__services,
.gw-team .gw-card__consult{
  border:1px solid rgba(21,41,31,.10);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(221,240,169,.42),rgba(255,255,255,.72));
  padding:14px 16px;
  margin:0;
}
.gw-team .gw-card__services h4,
.gw-team .gw-card__consult summary{
  margin:0 0 10px;
  color:var(--gw-text,#15291F);
  font-size:.92rem;
  line-height:1.2;
  font-weight:800;
}
.gw-team .gw-card__consult summary{cursor:pointer;margin-bottom:0;list-style:none;}
.gw-team .gw-card__consult[open] summary{margin-bottom:10px;}
.gw-team .gw-card__consult summary::-webkit-details-marker{display:none;}
.gw-team .gw-card__consult summary::after{content:'+';float:right;font-size:1.1em;}
.gw-team .gw-card__consult[open] summary::after{content:'–';}
.gw-team .gw-card__services ul,
.gw-team .gw-card__consult ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;}
.gw-team .gw-card__services li,
.gw-team .gw-card__consult li{position:relative;padding-left:20px;font-size:.86rem;line-height:1.35;color:var(--gw-text,#15291F);}
.gw-team .gw-card__services li::before,
.gw-team .gw-card__consult li::before{content:'✓';position:absolute;left:0;top:0;color:var(--gw-accent,#118C6E);font-weight:900;}
.gw-team .gw-card--services .gw-btn--contact{margin-top:auto !important;text-decoration:none !important;display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:767px){
  .gw-team .gw-card__services,
  .gw-team .gw-card__consult{padding:14px;}
  .gw-team .gw-card__services li,
  .gw-team .gw-card__consult li{font-size:.93rem;}
}
