/*
Theme Name: MedicalPress Child Theme
Theme URI: http://themeforest.net/item/medicalpress-health-and-medical-wordpress-theme/7789703
Description: Child theme for MedicalPress, which is a premium theme for health and medical related websites. MedicalPress has various features that are suitable for doctors, dentists, surgeons, hospitals, health clinics and other types of health and medical related institutions.
Author: Inspiry Themes
Author URI: http://themeforest.net/user/InspiryThemes
Version: 1.11
Text Domain: inspiry-medicalpress
Template: inspiry-medicalpress
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tags: white, right-sidebar, responsive-layout, featured-images, full-width-template, threaded-comments, microformats, post-formats, translation-ready, one-column, two-columns, three-columns, four-columns, custom-menu, theme-options
*/

/*-----------------------------------------------------------------------------------*/
/* MedicalPress palette + Amelia Booking integration
/*-----------------------------------------------------------------------------------*/

:root {
	/* Doctor Wilton Newball — azul marino + turquesa del logo */
	--mp-navy: #1c3d5e;
	--mp-navy-dark: #152f47;
	--mp-teal: #3ab5b0;
	--mp-teal-dark: #2d9994;
	--mp-teal-light: #d9f2f1;
	--mp-primary: var(--mp-teal);
	--mp-primary-light: #5ec9c4;
	--mp-primary-lighter: var(--mp-teal-light);
	--mp-primary-dark: var(--mp-teal-dark);
	--mp-dark: var(--mp-navy);
	--mp-dark-alt: #2a4d6e;
	--mp-text: #5c6570;
	--mp-text-dark: var(--mp-navy);
	--mp-accent: var(--mp-teal);
	--mp-white: #ffffff;
	--mp-radius: 4px;
	--mp-shadow: 0 4px 24px rgba(28, 61, 94, 0.1);
}

/* -------------------------------------------------------------------------- */
/* Wrapper layouts
/* -------------------------------------------------------------------------- */

.medicalpress-amelia-booking {
	--am-c-cal-init: var(--mp-primary) !important;
	--am-c-cal-init-text: var(--mp-primary-dark) !important;
	--am-c-cal-selected: var(--mp-dark) !important;
	--am-c-cal-selected-text: var(--mp-white) !important;
	--am-c-cal-low: var(--mp-primary) !important;
	--am-c-cal-low-text: var(--mp-primary-dark) !important;
	--am-c-cal-high: var(--mp-primary-dark) !important;
	--am-c-cal-high-text: var(--mp-white) !important;
	--am-c-cal-disabled-text: #b0b4b8 !important;
	--am-c-cal-indicator: visible;
	position: relative;
	width: 100%;
	font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.medicalpress-amelia-booking--error {
	padding: 20px;
	background: #fff3f3;
	border: 1px solid #f5c6c6;
	border-radius: var(--mp-radius);
	color: var(--mp-dark);
}

.medicalpress-amelia-booking__header {
	font-size: 15px;
	background-color: var(--mp-dark);
	color: var(--mp-white);
	display: block;
	text-align: left;
	position: relative;
	padding: 7px 15px;
	margin: 0;
	cursor: default;
	user-select: none;
}

.medicalpress-amelia-booking--collapsible .medicalpress-amelia-booking__header {
	cursor: pointer;
}

.medicalpress-amelia-booking__title {
	display: inline-block;
	font-weight: 500;
}

.medicalpress-amelia-booking__toggle {
	width: 42px;
	padding: 9px 0;
	font-size: 18px;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	color: var(--mp-white);
	text-align: center;
	transition: transform 0.2s ease;
}

.medicalpress-amelia-booking--collapsed .medicalpress-amelia-booking__toggle {
	transform: rotate(180deg);
}

.medicalpress-amelia-booking__body {
	background-color: var(--mp-primary-light);
	padding: 16px 10px 15px;
	position: relative;
}

.medicalpress-amelia-booking--collapsible .medicalpress-amelia-booking__body {
	padding-top: 44px;
}

.medicalpress-amelia-booking__inner {
	max-width: 100%;
	margin: 0 auto;
}

/* Botón principal "Agenda tu cita" — CTA destacado sobre el slider */
.appointment .make-appoint.medicalpress-booking-trigger,
.medicalpress-amelia-booking__header.medicalpress-booking-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	cursor: pointer;
	padding: 16px 22px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: none;
	color: var(--mp-white) !important;
	background: linear-gradient(135deg, var(--mp-teal) 0%, var(--mp-teal-dark) 55%, var(--mp-navy) 100%) !important;
	border: none;
	border-radius: 0;
	box-shadow: 0 6px 28px rgba(58, 181, 176, 0.4);
	position: relative;
	z-index: 100;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
	animation: medicalpress-cta-glow 2.8s ease-in-out infinite;
}

.appointment.medicalpress-booking--closed .make-appoint.medicalpress-booking-trigger::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.18) 50%, transparent 60%);
	transform: translateX(-120%);
	animation: medicalpress-cta-shine 3.5s ease-in-out infinite;
	pointer-events: none;
}

@keyframes medicalpress-cta-glow {
	0%, 100% {
		box-shadow: 0 6px 28px rgba(58, 181, 176, 0.35);
	}
	50% {
		box-shadow: 0 8px 36px rgba(58, 181, 176, 0.55);
	}
}

@keyframes medicalpress-cta-shine {
	0% {
		transform: translateX(-120%);
	}
	45%, 100% {
		transform: translateX(120%);
	}
}

.appointment .make-appoint.medicalpress-booking-trigger:hover,
.medicalpress-amelia-booking__header.medicalpress-booking-trigger:hover {
	background: linear-gradient(135deg, #4ec9c4 0%, var(--mp-teal-dark) 100%) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(58, 181, 176, 0.5);
	color: var(--mp-white) !important;
}

.appointment .make-appoint.medicalpress-booking-trigger:focus,
.medicalpress-amelia-booking__header.medicalpress-booking-trigger:focus {
	outline: 3px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

.medicalpress-booking-trigger__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	flex: 1;
	min-width: 0;
}

.medicalpress-booking-trigger__label {
	font-size: 1.15em;
	line-height: 1.2;
	text-align: left;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.medicalpress-booking-trigger__hint {
	font-size: 12px;
	font-weight: 500;
	opacity: 0.92;
	letter-spacing: 0.01em;
}

.medicalpress-booking-trigger__action {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	border: 2px solid rgba(255, 255, 255, 0.45);
}

.medicalpress-booking-trigger__icon {
	font-size: 20px !important;
	position: static !important;
	width: auto !important;
	padding: 0 !important;
	color: var(--mp-white) !important;
	opacity: 1;
	transition: transform 0.25s ease;
}

.home-slider .make-appoint.medicalpress-booking-trigger.open .medicalpress-booking-trigger__icon,
.home-slider .make-appoint.medicalpress-booking-trigger.open i {
	transform: rotate(0deg) !important;
}

.appointment .make-appoint.medicalpress-booking-trigger:not(.open) .medicalpress-booking-trigger__icon {
	transform: scale(1.05);
}

/* Contenedor del CTA en el slider */
.appointment.medicalpress-booking--closed .container {
	padding-left: 15px;
	padding-right: 15px;
}

.appointment.medicalpress-booking--closed .row > [class*='col-'] {
	padding-left: 0;
	padding-right: 0;
}

@media (min-width: 768px) {
	.appointment .make-appoint.medicalpress-booking-trigger,
	.medicalpress-amelia-booking__header.medicalpress-booking-trigger {
		padding: 18px 28px;
		font-size: 20px;
	}

	.medicalpress-booking-trigger__label {
		font-size: 1.2em;
	}

	.medicalpress-booking-trigger__hint {
		font-size: 13px;
	}

	.medicalpress-booking-trigger__action {
		width: 52px;
		height: 52px;
	}
}

@media (max-width: 575px) {
	.appointment .make-appoint.medicalpress-booking-trigger,
	.medicalpress-amelia-booking__header.medicalpress-booking-trigger {
		padding: 14px 16px;
		font-size: 16px;
	}

	.medicalpress-booking-trigger__label {
		font-size: 1.05em;
		letter-spacing: 0.04em;
	}

	.medicalpress-booking-trigger__hint {
		font-size: 11px;
	}

	.medicalpress-booking-trigger__action {
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.appointment .make-appoint.medicalpress-booking-trigger,
	.medicalpress-amelia-booking__header.medicalpress-booking-trigger {
		animation: none;
	}

	.appointment.medicalpress-booking--closed .make-appoint.medicalpress-booking-trigger::before {
		animation: none;
	}
}

.appointment.medicalpress-booking--closed {
	min-height: 0;
}

.appointment.medicalpress-booking--closed .appointment-form {
	display: none !important;
}

/* Solo la barra visible cuando está cerrado */
.home-slider .appointment.medicalpress-booking--closed {
	margin-top: -37px;
}

@media (min-width: 576px) {
	.home-slider .appointment.medicalpress-booking--closed {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
}

/* Panel del calendario + botón cerrar */
.appointment-form.medicalpress-amelia-booking--hero {
	position: relative;
	padding-top: 44px !important;
	overflow: visible;
}

.medicalpress-booking-close {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 10002;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: var(--mp-white);
	background: rgba(58, 60, 65, 0.88);
	border: none;
	border-radius: 20px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.medicalpress-booking-close:hover {
	background: var(--mp-dark);
	transform: scale(1.03);
}

.medicalpress-booking-close:focus {
	outline: 2px solid var(--mp-white);
	outline-offset: 2px;
}

/* Corregir estilos del slider que rompen Amelia / FullCalendar */
.home-slider .appointment-form.medicalpress-amelia-booking--hero .amelia-v2-booking,
.home-slider .appointment-form.medicalpress-amelia-booking--hero #amelia-container,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .am-advsc__wrapper,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .fc {
	color: var(--mp-text-dark) !important;
}

.home-slider .appointment-form.medicalpress-amelia-booking--hero input,
.home-slider .appointment-form.medicalpress-amelia-booking--hero textarea,
.home-slider .appointment-form.medicalpress-amelia-booking--hero select,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .el-input__inner,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .am-input__inner {
	color: var(--mp-text-dark) !important;
	background: var(--mp-white) !important;
	border: 1px solid #d1d5d7 !important;
	border-bottom: 1px solid #d1d5d7 !important;
	width: auto;
	display: inline-block;
	padding: 8px 12px;
	margin-bottom: 0;
}

.home-slider .appointment-form.medicalpress-amelia-booking--hero .am-advsc,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .am-advsc__wrapper,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .fc-theme-standard {
	width: 100% !important;
	min-height: 320px;
	overflow: visible !important;
}

.home-slider .appointment-form.medicalpress-amelia-booking--hero .fc-daygrid-body,
.home-slider .appointment-form.medicalpress-amelia-booking--hero .fc-scrollgrid {
	width: 100% !important;
}

.home-slider .appointment-form.medicalpress-amelia-booking--hero .fc-daygrid-day-number {
	color: inherit !important;
	position: relative !important;
}

/* Hero inside native appointment bar */
.home-slider .appointment-form.medicalpress-amelia-booking--hero,
.appointment .appointment-form.medicalpress-amelia-booking--hero {
	margin: 0;
	box-shadow: none;
	background-color: var(--mp-primary-light);
}

.medicalpress-amelia-booking--hero .medicalpress-amelia-booking__amelia,
.medicalpress-amelia-booking--hero-alt .medicalpress-amelia-booking__amelia {
	padding: 4px 6px 0;
}

.medicalpress-amelia-booking--hero-alt .amelia-v2-booking {
	max-width: 100%;
}

/* Third home section variation */
.medicalpress-amelia-booking--section .appointment-form {
	background: rgba(103, 201, 224, 0.92);
	padding: 20px;
	border-radius: var(--mp-radius);
}

.medicalpress-amelia-booking--section-form .amelia-v2-booking {
	background: transparent;
}

/* Dedicated appointment page + doctor profile */
.appoint-section.medicalpress-amelia-booking--page {
	margin: 0;
	box-shadow: none;
	background: transparent;
}

.medicalpress-amelia-booking--page-inner {
	padding: 10px 0 0;
}

/* Header modal (reborn layout) */
.medicalpress-amelia-booking--modal .modal-dialog {
	max-width: 720px;
	width: 94%;
	padding: 24px 20px 20px;
}

.medicalpress-amelia-booking--modal .appointment-title {
	color: var(--mp-dark);
	margin: 0 0 16px;
	font-weight: 600;
}

.medicalpress-amelia-booking--modal .medicalpress-amelia-booking__modal-body {
	background: var(--mp-white);
	border-radius: var(--mp-radius);
	padding: 8px;
}

/* Amelia form on cyan hero background */
.appointment-form.medicalpress-amelia-booking--hero .am-fs__main-heading,
.appointment-form.medicalpress-amelia-booking--hero .am-fs__step-heading {
	color: var(--mp-dark) !important;
}

.appointment-form.medicalpress-amelia-booking--hero .am-fs__main-subheading,
.appointment-form.medicalpress-amelia-booking--hero .am-fs__step-description,
.appointment-form.medicalpress-amelia-booking--hero .am-advsc__time-zone,
.appointment-form.medicalpress-amelia-booking--hero .am-advsc__slots-heading {
	color: var(--mp-text) !important;
}

.appointment-form.medicalpress-amelia-booking--hero #amelia-container {
	background: rgba(255, 255, 255, 0.97);
	border-radius: var(--mp-radius);
	padding: 12px;
}

/* Page layout — standalone section */
.medicalpress-amelia-booking--page {
	margin: 40px 0;
	border-radius: var(--mp-radius);
	overflow: hidden;
	box-shadow: var(--mp-shadow);
}

.medicalpress-amelia-booking--page .medicalpress-amelia-booking__body {
	padding: 24px 20px;
	background: var(--mp-white);
}

/* Compact layout — sidebars / narrow columns */
.medicalpress-amelia-booking--compact .medicalpress-amelia-booking__body {
	padding: 12px;
	background: var(--mp-white);
}

/* Hero layout — home slider appointment bar */
.medicalpress-amelia-booking--hero {
	z-index: 9998;
}

.home-slider .medicalpress-amelia-booking--hero {
	margin-top: -37px;
}

@media (min-width: 576px) {
	.home-slider .medicalpress-amelia-booking--hero {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
}

.medicalpress-amelia-booking--hero .medicalpress-amelia-booking__body {
	background-color: var(--mp-primary-light);
}

.medicalpress-amelia-booking--collapsed .medicalpress-amelia-booking__body {
	display: none;
}

/* -------------------------------------------------------------------------- */
/* Amelia form container
/* -------------------------------------------------------------------------- */

.medicalpress-amelia-booking .amelia-v2-booking,
.medicalpress-amelia-booking .amelia-booking {
	width: 100%;
	max-width: 100%;
}

.medicalpress-amelia-booking #amelia-container {
	background: transparent;
	border-radius: var(--mp-radius);
}

.medicalpress-amelia-booking .am-fs__main-content {
	background: transparent;
}

.medicalpress-amelia-booking .am-fs__main-heading,
.medicalpress-amelia-booking .am-fs__step-heading {
	color: var(--mp-dark);
	font-weight: 600;
}

.medicalpress-amelia-booking .am-fs__main-subheading,
.medicalpress-amelia-booking .am-fs__step-description {
	color: var(--mp-text);
}

/* Sidebar steps */
.medicalpress-amelia-booking .am-fs-sb {
	background-color: var(--mp-dark-alt) !important;
	border-radius: var(--mp-radius) 0 0 var(--mp-radius);
}

.medicalpress-amelia-booking .am-fs-sb__step {
	color: rgba(255, 255, 255, 0.75);
}

.medicalpress-amelia-booking .am-fs-sb__step.--current,
.medicalpress-amelia-booking .am-fs-sb__step.--done {
	color: var(--mp-white);
}

.medicalpress-amelia-booking .am-fs-sb__step.--current .am-fs-sb__step-icon {
	background-color: var(--mp-primary) !important;
}

/* Primary buttons */
.medicalpress-amelia-booking .am-button.--primary,
.medicalpress-amelia-booking .el-button--primary {
	background-color: var(--mp-primary) !important;
	border-color: var(--mp-primary) !important;
	color: var(--mp-white) !important;
	border-radius: var(--mp-radius);
	font-weight: 600;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.medicalpress-amelia-booking .am-button.--primary:hover,
.medicalpress-amelia-booking .el-button--primary:hover {
	background-color: var(--mp-primary-dark) !important;
	border-color: var(--mp-primary-dark) !important;
}

.medicalpress-amelia-booking .am-button.--secondary {
	color: var(--mp-dark);
	border-color: var(--mp-dark);
}

/* Inputs */
.medicalpress-amelia-booking .am-input__inner,
.medicalpress-amelia-booking .el-input__inner,
.medicalpress-amelia-booking .el-textarea__inner {
	border-color: #d1d5d7;
	border-radius: var(--mp-radius);
	color: var(--mp-text-dark);
}

.medicalpress-amelia-booking .am-input__inner:focus,
.medicalpress-amelia-booking .el-input__inner:focus,
.medicalpress-amelia-booking .el-textarea__inner:focus {
	border-color: var(--mp-primary);
	box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.2);
}

/* -------------------------------------------------------------------------- */
/* Calendar — available days highlight
/* -------------------------------------------------------------------------- */

.medicalpress-amelia-booking .am-advsc__wrapper {
	margin-top: 8px;
}

.medicalpress-amelia-booking .am-advsc__header {
	margin-bottom: 12px;
}

.medicalpress-amelia-booking .am-advsc__slots-heading {
	color: var(--mp-dark);
	font-weight: 600;
}

/* Available days: stronger cyan fill + border */
.medicalpress-amelia-booking .am-advsc__dayGridMonth-cell:not(.am-advsc__dayGridMonth-disabled):not(.am-advsc__dayGridMonth-selected) .fc-daygrid-day-frame {
	background-color: rgba(91, 192, 222, 0.18) !important;
	border: 2px solid rgba(91, 192, 222, 0.55) !important;
	border-radius: var(--mp-radius);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.medicalpress-amelia-booking .am-advsc__dayGridMonth-cell:not(.am-advsc__dayGridMonth-disabled):not(.am-advsc__dayGridMonth-selected) .fc-daygrid-day-number {
	color: var(--mp-primary-dark) !important;
	font-weight: 600;
}

.medicalpress-amelia-booking .am-advsc__dayGridMonth-cell:not(.am-advsc__dayGridMonth-disabled):not(.am-advsc__dayGridMonth-selected) .fc-daygrid-day-frame:hover {
	background-color: rgba(91, 192, 222, 0.35) !important;
	border-color: var(--mp-primary) !important;
}

/* Selected day */
.medicalpress-amelia-booking .am-advsc__dayGridMonth-selected .fc-daygrid-day-frame {
	background-color: var(--mp-dark) !important;
	border-color: var(--mp-dark) !important;
	position: relative;
	overflow: visible;
}

.medicalpress-amelia-booking .am-advsc__dayGridMonth-selected .fc-daygrid-day-frame::after {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	right: 4px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--mp-white);
	box-shadow: 0 0 0 1px rgba(58, 60, 65, 0.2);
}

.medicalpress-amelia-booking .am-advsc__dayGridMonth-selected .fc-daygrid-day-number {
	color: var(--mp-white) !important;
}

/* Today marker (Amelia only adds ::after on fc-day-today) */
.medicalpress-amelia-booking .fc-day-today .fc-daygrid-day-frame {
	position: relative;
	overflow: visible;
}

.medicalpress-amelia-booking .fc-day-today:not(.am-advsc__dayGridMonth-selected) .fc-daygrid-day-frame::after {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	right: 4px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--mp-primary-dark);
}

/* Unavailable / disabled days */
.medicalpress-amelia-booking .am-advsc__dayGridMonth-disabled .fc-daygrid-day-frame {
	background-color: rgba(176, 180, 184, 0.12) !important;
	border-color: transparent !important;
	cursor: not-allowed;
}

.medicalpress-amelia-booking .am-advsc__dayGridMonth-disabled .fc-daygrid-day-number {
	color: #c5c9cc !important;
	font-weight: 400;
}

/* Weekend available days */
.medicalpress-amelia-booking .am-advsc__dayGridMonth-weekend:not(.am-advsc__dayGridMonth-disabled) .fc-daygrid-day-frame {
	background-color: rgba(91, 192, 222, 0.12) !important;
}

/* Time slots */
.medicalpress-amelia-booking .am-advsc__slots-item .am-advsc__slots-item__inner {
	background: rgba(91, 192, 222, 0.12);
	border: 1px solid rgba(91, 192, 222, 0.5);
	border-radius: var(--mp-radius);
	color: var(--mp-dark);
	font-weight: 500;
	transition: all 0.2s ease;
}

.medicalpress-amelia-booking .am-advsc__slots-item:hover .am-advsc__slots-item__inner {
	background: rgba(91, 192, 222, 0.28);
	border-color: var(--mp-primary);
}

.medicalpress-amelia-booking .am-advsc__slots-item__selected .am-advsc__slots-item__inner,
.medicalpress-amelia-booking .am-advsc__slots-item.am-advsc__slots-item__selected .am-advsc__slots-item__inner {
	background: var(--mp-dark) !important;
	border-color: var(--mp-dark) !important;
	color: var(--mp-white) !important;
}

.medicalpress-amelia-booking .am-advsc__slots-item-disabled .am-advsc__slots-item__inner {
	background: rgba(176, 180, 184, 0.22) !important;
	border-color: rgba(176, 180, 184, 0.55) !important;
	color: #9aa0a6 !important;
	text-decoration: line-through;
	opacity: 1;
	cursor: not-allowed;
	pointer-events: none;
}

.medicalpress-amelia-booking .am-advsc__slot-wrapper {
	border-radius: 0 0 3px 3px;
}

/* Service / employee cards */
.medicalpress-amelia-booking .am-fs__init-item:not(.am--disabled):hover,
.medicalpress-amelia-booking .am-fs__employee-card:not(.am--disabled):hover {
	border-color: var(--mp-primary);
	box-shadow: 0 2px 12px rgba(91, 192, 222, 0.25);
}

.medicalpress-amelia-booking .am-fs__init-item.am--selected,
.medicalpress-amelia-booking .am-fs__employee-card.am--selected {
	border-color: var(--mp-primary);
	background: rgba(91, 192, 222, 0.08);
}

/* -------------------------------------------------------------------------- */
/* Responsive
/* -------------------------------------------------------------------------- */

@media (max-width: 991px) {
	.medicalpress-amelia-booking--page {
		margin: 24px 0;
	}

	.medicalpress-amelia-booking--page .medicalpress-amelia-booking__body {
		padding: 16px 12px;
	}
}

@media (max-width: 767px) {
	.medicalpress-amelia-booking .am-fs-sb {
		border-radius: var(--mp-radius) var(--mp-radius) 0 0;
	}

	.medicalpress-amelia-booking .am-advsc__slots-item {
		width: calc(50% - 6px);
	}

	.medicalpress-amelia-booking .am-advsc__header {
		flex-wrap: wrap;
		gap: 8px;
	}
}

@media (max-width: 575px) {
	.medicalpress-amelia-booking__body {
		padding: 12px 8px;
	}

	.medicalpress-amelia-booking .am-advsc__slots-item {
		width: 100%;
	}

	.medicalpress-amelia-booking .am-advsc__slots-item .am-advsc__slots-item__inner {
		padding: 10px 12px;
		font-size: 14px;
	}

	.medicalpress-amelia-booking .am-advsc__dayGridMonth-cell:not(.am-advsc__dayGridMonth-disabled) .fc-daygrid-day-frame {
		width: calc(100% - 4px);
		height: calc(100% - 4px);
		top: 2px;
		left: 2px;
	}

	.medicalpress-amelia-booking .am-fs__main-heading,
	.medicalpress-amelia-booking .am-fs__step-heading {
		font-size: 18px;
	}
}

@media (max-width: 380px) {
	.medicalpress-amelia-booking__header {
		font-size: 14px;
		padding: 7px 40px 7px 12px;
	}

	.medicalpress-amelia-booking .am-advsc__header-mobile-s {
		flex-direction: column;
		align-items: stretch;
	}
}

/* Amelia empty state (no services/employees configured yet) */
.medicalpress-amelia-booking .am-no-services {
	background: var(--mp-white);
	border-radius: var(--mp-radius);
	box-shadow: var(--mp-shadow);
	padding: 32px 24px;
	margin: 8px auto;
	max-width: 520px;
	text-align: center;
}

.medicalpress-amelia-booking .am-no-services-oops {
	color: var(--mp-dark);
	font-size: 22px;
	font-weight: 600;
	margin: 12px 0 8px;
}

.medicalpress-amelia-booking .am-no-services-text,
.medicalpress-amelia-booking .am-no-services-text-2 {
	color: var(--mp-text);
	font-size: 14px;
	line-height: 1.6;
}

.medicalpress-amelia-booking .am-no-services-text-2 a {
	color: var(--mp-primary-dark);
	font-weight: 600;
	text-decoration: underline;
}

.appointment-form.medicalpress-amelia-booking--hero .am-no-services {
	background: var(--mp-white);
}

/* Ancla directa al calendario: /#contacto o /#reservar-cita */
#contacto,
#reservar-cita {
	scroll-margin-top: 100px;
}

#contacto:not(.medicalpress-booking--closed) .medicalpress-amelia-booking__amelia,
#contacto:not(.medicalpress-booking--closed) .amelia-v2-booking,
#reservar-cita:not(.medicalpress-booking--closed) .medicalpress-amelia-booking__amelia,
#reservar-cita:not(.medicalpress-booking--closed) .amelia-v2-booking {
	min-height: 420px;
}

#contacto .am-advsc__header .am-select,
#contacto .am-advsc__slots-heading,
#reservar-cita .am-advsc__header .am-select,
#reservar-cita .am-advsc__slots-heading {
	font-size: 15px;
}

#contacto .am-advsc__time-zone,
#reservar-cita .am-advsc__time-zone {
	font-size: 13px;
	color: var(--mp-text);
}