/* ════════════════════════════════════════════════════════════════════════
   TURNERO NATIVO · TEMA GYNOVA
   Reestiliza el shortcode [health_appointments] con la identidad del mockup.
   Todo va scopeado a .rb-wrap.rb-theme-gynova para no afectar otros temas
   ni otros usos del plugin. Carga después de rb-frontend.css.

   Paleta (del PDF): crema #EFF3E2 · verde #118C6E · lavanda #B9A0EA · tinta #15291F
   ════════════════════════════════════════════════════════════════════════ */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=Lora:ital,wght@0,500;1,400&display=swap");

/* ── 1) Variables del core, repintadas con la paleta Gynova ─────────────── */
.rb-wrap.rb-theme-gynova {
	--rb-bg:          #EFF3E2;   /* crema de fondo */
	--rb-surface:     #F4F8EC;   /* cards / inputs */
	--rb-surface-2:   #E7EFD6;   /* hover suave */
	--rb-border:      #D8E0CC;
	--rb-border-2:    #C4D0B2;
	--rb-text:        #15291F;
	--rb-text-soft:   #5E7066;
	--rb-text-muted:  #8A998A;
	--rb-accent:      #118C6E;   /* verde acción */
	--rb-accent-ink:  #FFFFFF;
	--rb-accent-soft: rgba(17,140,110,.16);
	--rb-ok:          #118C6E;   /* día libre */
	--rb-ok-bg:       #DCEFC4;
	--rb-partial:     #8B6FD4;   /* parcial → lavanda */
	--rb-partial-bg:  #ECE3FA;
	--rb-full:        #B05A6E;   /* completo */
	--rb-full-bg:     #F6E5E9;
	--rb-radius:      14px;

	/* Degradado identitario del mockup */
	--gw-grad: linear-gradient(135deg, #128C6E 0%, #3E8C8F 55%, #B9A0EA 100%);

	font-family: "Manrope", -apple-system, system-ui, sans-serif !important;
}

/* Tipografías: display Manrope, citas/serif Lora donde el core usa serif */
.rb-theme-gynova .rb-panel-title,
.rb-theme-gynova .rb-success h2,
.rb-theme-gynova .rb-cal-title {
	font-family: "Manrope", sans-serif !important;
	font-weight: 800 !important;
}

/* ── 2) Banda superior con el degradado (firma visual) ─────────────────── */
.rb-wrap.rb-theme-gynova {
	background: var(--rb-bg) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	position: relative !important;
	padding-top: 0 !important;
}
.rb-wrap.rb-theme-gynova::before {
	content: "";
	display: block;
	height: 8px;
	margin: 0 -16px 22px;
	background: var(--gw-grad);
}

/* ── 3) Stepper ────────────────────────────────────────────────────────── */
.rb-theme-gynova .rb-step-active .rb-step-num {
	background: var(--gw-grad) !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 4px var(--rb-accent-soft) !important;
}
.rb-theme-gynova .rb-step-done .rb-step-num {
	background: var(--rb-accent) !important;
	border-color: var(--rb-accent) !important;
}
.rb-theme-gynova .rb-step-line { background: var(--rb-border); }

/* ── 4) Selects grandes (especialidad / centro / profesional) ──────────── */
.rb-theme-gynova .rb-big-select {
	background: linear-gradient(90deg, #CBB6F2, #B9A0EA) !important;
	color: var(--rb-text) !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
}
.rb-theme-gynova .rb-select-card {
	background: var(--rb-surface) !important;
	border: 1px solid var(--rb-border) !important;
	border-radius: 12px !important;
}

/* ── 5) Tarjetas de profesional ────────────────────────────────────────── */
.rb-theme-gynova .rb-room-opt {
	background: var(--rb-surface) !important;
	border: 1px solid var(--rb-border) !important;
	border-radius: 12px !important;
}
.rb-theme-gynova .rb-room-opt:hover { border-color: var(--rb-accent) !important; }
.rb-theme-gynova .rb-room-opt.rb-selected {
	border-color: var(--rb-accent) !important;
	box-shadow: 0 0 0 2px var(--rb-accent-soft) !important;
}

/* ── 6) Calendario: día libre = círculo verde lleno; selección = aro violeta ─ */
.rb-theme-gynova .rb-cal-cell { border-radius: 50% !important; }

.rb-theme-gynova .rb-day-available {
	background: var(--rb-accent) !important;
	border: 0 !important;
}
.rb-theme-gynova .rb-day-available .rb-day-num { color: #fff !important; }
.rb-theme-gynova .rb-day-available .rb-day-dot { display: none !important; }

.rb-theme-gynova .rb-day-partial {
	background: var(--rb-partial-bg) !important;
	border: 1px solid var(--rb-partial) !important;
}
.rb-theme-gynova .rb-day-partial .rb-day-num { color: var(--rb-partial) !important; }

.rb-theme-gynova .rb-day-none,
.rb-theme-gynova .rb-day-full {
	background: #C9CDBD !important;
	border: 0 !important;
	opacity: 1 !important;
}
.rb-theme-gynova .rb-day-none .rb-day-num,
.rb-theme-gynova .rb-day-full .rb-day-num { color: #79816F !important; }

.rb-theme-gynova .rb-cal-cell.rb-selected {
	box-shadow: 0 0 0 3px #1B1240, 0 0 0 6px var(--rb-partial) !important;
}
.rb-theme-gynova .rb-today { box-shadow: 0 0 0 2px var(--rb-accent) !important; }
.rb-theme-gynova .rb-cal-arrow {
	background: var(--rb-partial) !important;
	color: var(--rb-text) !important;
	border: 0 !important;
	border-radius: 50% !important;
}

/* ── 7) Slots de horario tipo "píldora" (13.20 / 13.40…) ───────────────── */
.rb-theme-gynova .rb-slot-btn {
	background: var(--rb-accent) !important;
	border: 0 !important;
	border-radius: 8px !important;
	color: #fff !important;
}
.rb-theme-gynova .rb-slot-btn .rb-slot-range,
.rb-theme-gynova .rb-slot-btn .rb-slot-status { color: #fff !important; }
.rb-theme-gynova .rb-slot-btn.rb-selected {
	background: #1B1240 !important;
	box-shadow: 0 0 0 2px var(--rb-partial) !important;
}
.rb-theme-gynova .rb-slot-off {
	background: #C9CDBD !important;
	color: #79816F !important;
}
.rb-theme-gynova .rb-slot-off .rb-slot-range { color: #79816F !important; text-decoration: line-through; }

/* ── 8) Botones de navegación ──────────────────────────────────────────── */
.rb-theme-gynova .rb-next-btn {
	background: var(--rb-accent) !important;
	color: #fff !important;
	border-radius: 8px !important;
}
.rb-theme-gynova .rb-next-btn:hover:not(:disabled) {
	box-shadow: 0 6px 16px rgba(17,140,110,.35) !important;
}
.rb-theme-gynova .rb-back-btn {
	color: var(--rb-text-soft) !important;
	border: 1px solid var(--rb-border) !important;
	border-radius: 8px !important;
}
.rb-theme-gynova .rb-back-btn:hover { border-color: var(--rb-accent) !important; color: var(--rb-text) !important; }

/* ── 9) Formulario del paciente ────────────────────────────────────────── */
.rb-theme-gynova .rb-booking-form .rb-field label { color: var(--rb-text) !important; font-weight: 700 !important; }
.rb-theme-gynova .rb-input,
.rb-theme-gynova .rb-booking-form input,
.rb-theme-gynova .rb-booking-form select,
.rb-theme-gynova .rb-booking-form textarea {
	background: var(--rb-surface) !important;
	border: 1px solid var(--rb-border) !important;
	border-radius: 8px !important;
	color: var(--rb-text) !important;
}
.rb-theme-gynova .rb-input:focus,
.rb-theme-gynova .rb-booking-form input:focus {
	outline: 3px solid var(--rb-partial) !important;
	outline-offset: 1px !important;
	border-color: transparent !important;
}

/* ── 10) Pantalla de éxito ─────────────────────────────────────────────── */
.rb-theme-gynova .rb-success-icon { color: var(--rb-accent) !important; }
.rb-theme-gynova .rb-panel-selected { background: var(--rb-surface) !important; border-color: var(--rb-border) !important; }

/* ── 11) Foco accesible general dentro del turnero ─────────────────────── */
.rb-theme-gynova button:focus-visible,
.rb-theme-gynova select:focus-visible {
	outline: 3px solid var(--rb-partial) !important;
	outline-offset: 2px !important;
}

/* v1.0.12 — Centrado robusto para calendario nativo dentro del tema Gynova. */
.rb-wrap.rb-theme-gynova .rb-cal-arrow,
.rb-wrap.rb-theme-gynova .rb-cal-cell,
.rb-wrap.rb-theme-gynova .rb-day-num,
.rb-wrap.rb-theme-gynova .rb-slot-btn {
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	text-align: center !important;
	line-height: 1 !important;
}

.rb-wrap.rb-theme-gynova .rb-cal-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-indent: 0 !important;
	font-size: 0 !important;
}
.rb-wrap.rb-theme-gynova #rb-prev-month::before,
.rb-wrap.rb-theme-gynova #rb-next-month::before {
	display: block !important;
	font-size: 28px !important;
	line-height: 1 !important;
	transform: translateY(-2px) !important;
}
.rb-wrap.rb-theme-gynova #rb-prev-month::before { content: "‹" !important; }
.rb-wrap.rb-theme-gynova #rb-next-month::before { content: "›" !important; }

.rb-wrap.rb-theme-gynova .rb-cal-cell {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	padding: 0 !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-variant-numeric: tabular-nums !important;
}
.rb-wrap.rb-theme-gynova .rb-day-num {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}
.rb-wrap.rb-theme-gynova .rb-slot-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
