/**
 * Easy Appointments — migrado de wp-content/plugins/easy-appointments/css/eafront-bootstrap.css
 * (+ cor de links do bootstrap.min encapsulado no plugin).
 *
 * Tokens: :root em css/layout/global.css (--ea-cal-* = “card” calendário + sombras + foco).
 * Regras .ui-datepicker usam :is(body .ea-bootstrap, body .ea-bootstrap-wrapper) … para não afectar outros datepickers no site.
 * Se o calendário for injectado fora de .ea-bootstrap (append ao body), pode ser preciso repetir
 * selectores com #ui-datepicker-div noutro contexto — ver no Inspector onde o nó fica.
 *
 * #ea-loader mantém-se no plugin (url(../img/...) quebraria no tema).
 *
 * Layout 2 colunas (layout_cols=2): .form-horizontal .form-group usa gutters negativos
 * calc(var(--bs-gutter-x, 30px) * -0.5) — nao margin:0 (ver bloco "form-horizontal .form-group").
 */

/*
 * Links no EA — cor escura da hierarquia (equiv. #074f60 → --color-primary-dark).
 * Exclui .btn-primary / .booking-button (Enviar mantém texto branco nas regras abaixo).
 */
.ea-bootstrap-wrapper a:not(.btn-primary):not(.booking-button) {
	color: var(--color-primary-dark);
	text-decoration: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a {
	color: var(--color-primary-dark);
	text-decoration: none;
}

/* Botões primários EA (Enviar) — tokens --btn-action-* em template.css */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn-primary,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.btn-primary,
.ea-bootstrap-wrapper .btn-primary,
.ea-bootstrap-wrapper .btn.btn-primary {
	color: var(--btn-action-color) !important;
	background-color: var(--btn-action-bg) !important;
	border-color: var(--btn-action-border) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn-primary:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn-primary:focus,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.btn-primary:hover,
.ea-bootstrap-wrapper .btn-primary:hover,
.ea-bootstrap-wrapper .btn-primary:focus,
.ea-bootstrap-wrapper .btn.btn-primary:hover {
	color: var(--btn-action-hover-color) !important;
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
}

/**
 * Enviar — mesmo design system que template.css, mas com .ea-bootstrap-wrapper
 * (o markup do EA por vezes não fica dentro de .ea-bootstrap; .ea-bootstrap-wrapper cobre esse caso.)
 */
.ea-bootstrap-wrapper a.ea-btn.ea-submit.btn.btn-primary.booking-button,
.ea-bootstrap-wrapper a.booking-button.btn-primary.ea-submit,
.ea-bootstrap-wrapper button.ea-btn.ea-submit.btn.btn-primary,
.ea-bootstrap-wrapper input[type="submit"].btn.btn-primary.booking-button,
.ea-bootstrap-wrapper .ea-btn.ea-submit.btn.btn-primary.booking-button {
	max-width: var(--size-form-submit-max-width);
	width: min(100%, var(--size-form-submit-max-width)) !important;
	min-height: var(--size-form-submit-min-height);
	border-radius: 999px !important;
	margin-left: 0 !important;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	box-shadow: none !important;
	background-color: var(--btn-action-bg) !important;
	border-color: var(--btn-action-border) !important;
	color: var(--btn-action-color) !important;
	font-size: var(--font-size-16);
	font-weight: 600;
	--bs-btn-bg: var(--btn-action-bg);
	--bs-btn-border-color: var(--btn-action-border);
	--bs-btn-active-bg: var(--btn-action-hover-bg);
	--bs-btn-active-border-color: var(--btn-action-hover-bg);
	--bs-btn-hover-bg: var(--btn-action-hover-bg);
	--bs-btn-hover-border-color: var(--btn-action-hover-bg);
	--bs-btn-color: var(--btn-action-color);
	--bs-btn-active-color: var(--btn-action-hover-color);
	--bs-btn-hover-color: var(--btn-action-hover-color);
	--bs-link-color: var(--btn-action-color);
	--bs-link-hover-color: var(--btn-action-hover-color);
}

.ea-bootstrap-wrapper a.ea-btn.ea-submit.btn.btn-primary.booking-button:hover,
.ea-bootstrap-wrapper a.booking-button.btn-primary.ea-submit:hover,
.ea-bootstrap-wrapper button.ea-btn.ea-submit.btn.btn-primary:hover,
.ea-bootstrap-wrapper input[type="submit"].btn.btn-primary.booking-button:hover,
.ea-bootstrap-wrapper .ea-btn.ea-submit.btn.btn-primary.booking-button:hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
}

.ea-bootstrap-wrapper a.ea-btn.ea-submit.btn.btn-primary.booking-button:focus-visible,
.ea-bootstrap-wrapper a.booking-button.btn-primary.ea-submit:focus-visible,
.ea-bootstrap-wrapper button.ea-btn.ea-submit.btn.btn-primary:focus-visible,
.ea-bootstrap-wrapper input[type="submit"].btn.btn-primary.booking-button:focus-visible,
.ea-bootstrap-wrapper .ea-btn.ea-submit.btn.btn-primary.booking-button:focus-visible {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
	box-shadow: none !important;
}

/* ----- jQuery UI datepicker (EA) — card moderno, Vivazmente / UX ----- */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker {
	--ea-cal-pad-x: clamp(0.65rem, 2.5vw, 1rem);
	--ea-cal-pad-y: clamp(0.55rem, 2vw, 0.85rem);
	background-color: var(--color-datepicker-popover-bg);
	border: 1px solid var(--color-datepicker-accent-border) !important;
	border-radius: var(--radius-datepicker-shell);
	box-shadow: none;
	display: none;
	margin-top: 0.35rem;
	padding: var(--ea-cal-pad-y) var(--ea-cal-pad-x) calc(var(--ea-cal-pad-y) + 0.15rem);
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

/* jQuery UI: inline datepicker costuma ser inline-block — largura % não estica o contentor */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker.ui-datepicker-inline {
	display: block;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker table,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker th,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker td {
	border: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker th {
	font-weight: var(--font-weight-bold);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker table {
	margin: 0 0 1.25em;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

/* Grelha do mês — sem borda na table (só o cartão .ui-datepicker tem moldura); espaço entre células */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker table.ui-datepicker-calendar {
	border: none !important;
	border-radius: var(--radius-datepicker-inner);
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	/* visible: overflow:hidden cortava células / lia mal com linhas extra (aviso EA) ao mudar de mês */
	overflow: visible;
	border-collapse: separate !important;
	border-spacing: var(--space-datepicker-cell-gap) var(--space-datepicker-cell-gap) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker a,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker a:hover {
	text-decoration: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker a:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker td:hover a {
	color: var(--color-primary-muted);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-header {
	display: grid;
	grid-template-columns: var(--size-datepicker-day-min-target) 1fr var(--size-datepicker-day-min-target);
	align-items: center;
	column-gap: 0.35rem;
	margin: 0;
	padding: 0.35rem 0 0.55rem;
	text-align: center;
	position: relative;
	border-bottom: 1px solid var(--color-border-subtle);
	min-height: var(--size-datepicker-day-min-target);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-title {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	width: 100%;
	font-weight: var(--font-weight-bold);
	font-size: clamp(1.05rem, 2.8vw, 1.28rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--color-primary-dark);
	font-variant-numeric: tabular-nums;
	margin: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next {
	cursor: pointer;
	font-family: "Glyphicons Halflings", sans-serif;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-weight: normal;
	width: var(--size-datepicker-day-min-target);
	height: var(--size-datepicker-day-min-target);
	line-height: var(--size-datepicker-day-min-target);
	margin-top: 0;
	border-radius: 999px;
	text-align: center;
	transition: background-color 0.15s ease, color 0.15s ease;
	align-self: center;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next:hover {
	background-color: var(--color-datepicker-surface-tint);
	color: var(--color-primary-base);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next:focus-visible {
	outline: none;
	box-shadow: var(--shadow-focus-ring-datepicker);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev {
	float: none;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next {
	float: none;
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev:before {
	content: "\e079";
	cursor: pointer;
	font-size: 1rem;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next:before {
	content: "\e080";
	cursor: pointer;
	font-size: 1rem;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-icon {
	display: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar {
	/* auto: fixed + tbody com linha colspan (mensagem EA) podia esvaziar uma coluna (ex.: dia “invisível”) */
	table-layout: auto;
	width: 100% !important;
	white-space: normal;
}

/* Cabeçalho da semana — legível, hierarquia clara (WCAG contraste no texto escuro) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar thead th {
	border-bottom: 1px solid var(--color-border-subtle);
	padding: 0.5rem calc(var(--space-datepicker-cell-gap) / 2) 0.45rem;
	font-size: 0.68rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-datepicker-weekday-text);
	line-height: 1.2;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar th,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td {
	text-align: center;
	vertical-align: middle;
}

/* Linha de aviso do EA (ex.: “Por favor selecione outro dia”) — uma célula colspan no meio do tbody */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar tbody td[colspan] {
	padding: 0.45rem 0.35rem !important;
	text-align: center;
	font-size: clamp(0.78rem, 2vw, 0.88rem);
	font-weight: 400;
	line-height: 1.35;
	color: var(--bs-gray-dark);
	background-color: var(--color-border-subtle);
	border-radius: var(--radius-control-sm);
}

/* Com border-spacing no <table>, o padding nas <td> duplicava o “ar”; manter 0 nas datas */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar tr:not(.time-row) td {
	padding: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td {
	background-color: transparent;
	transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td:hover {
	background-color: transparent;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td:not(.ui-datepicker-unselectable):hover {
	cursor: pointer;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td a {
	text-decoration: none;
}

/* Dias clicáveis — alvo de toque ≥ ~44px, trans suave, foco visível */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td > a.ui-state-default {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--size-datepicker-day-min-target);
	min-width: min-content;
	padding: 0.2em 0.15em;
	border-radius: var(--radius-control-sm) !important;
	box-sizing: border-box;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	position: relative;
	z-index: 1;
}

/* Sem vagas: chip com fundo opaco + texto escuro (evita “branco sobre branco” no 27 / highlight) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots:not(.ui-datepicker-current-day):not(.ui-datepicker-today) > a.ui-state-default {
	background-color: var(--wp-editor-canvas-background) !important;
	color: var(--color-text-primary) !important;
	-webkit-text-fill-color: var(--color-text-primary) !important;
	font-size: clamp(0.92rem, 2.4vw, 1.05rem) !important;
	line-height: 1.25 !important;
	font-weight: 400 !important;
	opacity: 1 !important;
	visibility: visible !important;
	overflow: visible;
	text-indent: 0;
	filter: none !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots:not(.ui-datepicker-current-day) > a.ui-state-default {
	color: var(--color-text-primary) !important;
	-webkit-text-fill-color: var(--color-text-primary) !important;
	opacity: 1 !important;
	filter: none !important;
	font-weight: 400;
}

/* Fallback estável: se o EA trocar classes/elementos, dia no-slots continua legível */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots > a,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots > a.ui-state-default,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots > a.ui-state-active,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots > span {
	background-color: var(--wp-editor-canvas-background) !important;
	color: var(--color-text-primary) !important;
	-webkit-text-fill-color: var(--color-text-primary) !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-indent: 0 !important;
	font-weight: 400 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable .ui-state-default {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--size-datepicker-day-min-target);
	padding: 0.2em 0.15em;
	border-radius: var(--radius-control-sm) !important;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-current-day {
	background-color: transparent !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-current-day a {
	background-color: var(--color-cta-surface) !important;
	color: var(--color-datepicker-surface) !important;
	border-radius: var(--radius-control-sm) !important;
	box-shadow: none !important;
}

/*
 * Dias sem serviço / sem vagas: o estilo genérico .ui-datepicker-current-day usa texto branco.
 * Se o fundo continuar bege (.no-slots), o número parece “desaparecer”. Manter texto escuro no chip.
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots.ui-datepicker-current-day > a.ui-state-default,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots.ui-datepicker-current-day > a.ui-state-active,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots > a.ui-state-active {
	background-color: var(--wp-editor-canvas-background) !important;
	color: var(--color-primary-dark) !important;
	-webkit-text-fill-color: var(--color-primary-dark) !important;
	border-radius: var(--radius-control-sm) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td > a.ui-state-default:focus-visible {
	outline: none;
	box-shadow: var(--shadow-focus-ring-datepicker);
}

/* Hoje ≠ seleccionado — dias com vagas: só anel */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today:not(.ui-datepicker-current-day):not(.no-slots):not(.busy) > a.ui-state-default {
	box-shadow: inset 0 0 0 2px var(--color-datepicker-today-ring);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-dark);
	background-color: transparent !important;
}

/*
 * Hoje sem vagas (ex.: dia 27 com classe no-slots ao abrir): antes ficava sem estilo “hoje”
 * porque o selector acima excluía .no-slots — fundo menta marca + texto escuro (WCAG).
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today.no-slots:not(.ui-datepicker-current-day) > a.ui-state-default,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today.no-slots:not(.ui-datepicker-current-day) > a.ui-state-default.ui-state-highlight {
	background-color: var(--color-datepicker-today-empty-bg) !important;
	color: var(--color-datepicker-today-empty-text) !important;
	-webkit-text-fill-color: var(--color-datepicker-today-empty-text) !important;
	box-shadow: inset 0 0 0 2px var(--color-datepicker-today-ring) !important;
	font-weight: var(--font-weight-bold) !important;
	font-size: clamp(0.92rem, 2.4vw, 1.05rem) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* a11y | prefers-reduced-motion (not a width breakpoint) */
@media (prefers-reduced-motion: reduce) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td > a.ui-state-default,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.time-value,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time .time-disabled {
		transition: none !important;
	}
}

/* Dia disponível (.free) não seleccionado — borda teal como no referencial */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.free[data-handler="selectDay"]:not(.ui-datepicker-current-day) > a.ui-state-default {
	border: none;
	background-color: var(--bs-dropdown-link-hover-bg) !important;
	color: var(--bs-dark) !important;
	border-radius: var(--radius-control-sm) !important;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

/*
 * Fallback robusto (apenas para .free): ao clicar no mesmo dia o <a> pode mudar de classe.
 * Não usar td[data-handler] genérico para não pintar no-slots como disponível.
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.free[data-handler="selectDay"]:not(.ui-datepicker-current-day):not(.no-slots):not(.busy) > a,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.free[data-handler="selectDay"]:not(.ui-datepicker-current-day):not(.no-slots):not(.busy) > a.ui-state-active {
	background-color: var(--bs-dropdown-link-hover-bg) !important;
	color: var(--bs-dark) !important;
	-webkit-text-fill-color: var(--bs-dark) !important;
	border-radius: var(--radius-control-sm) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots:not(.ui-datepicker-current-day) > a,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots:not(.ui-datepicker-current-day) > a.ui-state-active,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.no-slots:not(.ui-datepicker-current-day) > span {
	background-color: var(--wp-editor-canvas-background) !important;
	color: var(--color-text-primary) !important;
	-webkit-text-fill-color: var(--color-text-primary) !important;
	font-weight: 400 !important;
	border-radius: var(--radius-control-sm) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) p {
	margin: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover {
	background-color: var(--color-surface-base);
	cursor: default;
}

/* Só células do calendário — evita 1.5em nos <a class="time-value"> da linha .time (ficavam com tamanho diferente) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar .ui-state-disabled {
	color: var(--color-datepicker-day-disabled-text);
	font-size: clamp(0.8rem, 2.2vw, 0.95rem);
	font-weight: 400;
	font-variant-numeric: tabular-nums;
}

/* NÃO usar display:none em <a.ui-state-disabled> dentro do calendário: o EA/jQuery UI
 * usa <a> com essa classe para dias passados / bloqueados — os números “desapareciam”. */

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar tr:not(.time-row) td a {
	border-bottom: 0;
	font-size: clamp(0.92rem, 2.4vw, 1.05rem);
	font-weight: var(--font-weight-bold);
	font-variant-numeric: tabular-nums;
}

/* ----- Slots / calendário EA ----- */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	/* nowrap herdava na .time e estragava flex + largura dos slots */
	white-space: normal;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/*
 * Passo desactivado — overlay .block cobre o passo inteiro (form + Visão geral + botões).
 * position:relative no pai .step…disabled (não em .ea_hide_show).
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.disabled,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.disabled,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.final.col-md-6.disabled,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.step.final.disabled {
	position: relative !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .disabled .ea_hide_show {
	position: static !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.disabled > .block,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.disabled > .block,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.final.col-md-6.disabled > .block,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.final.col-md-6.disabled .block,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .disabled .block {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	opacity: 0.6;
	background-color: var(--color-surface-base);
	z-index: 101;
	pointer-events: auto;
}

/* layout_cols 2 — colunas Bootstrap do formulario (nao zerar padding como slots) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal > .col-md-6,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal > .step.col-md-6 {
	padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
	padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

/* Anula padding-top inline injectado pelo plugin EA (layout_cols=2, JS) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal > .col-md-6,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal > .step.col-md-6 {
	padding-top: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time {
	text-align: left;
	display: flex !important;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	align-content: flex-start;
	gap: var(--space-datepicker-cell-gap);
	row-gap: calc(var(--space-datepicker-cell-gap) + 2px);
	white-space: normal;
}

/* Faixa de horas (.well) — sem caixa: fundo transparente, sem borda/sombra; padding mantido. */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time.well,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time.well-lg,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .well.well-lg {
	border: none !important;
	border-radius: var(--radius-datepicker-inner) !important;
	box-shadow: none !important;
	outline: none !important;
	background-color: transparent !important;
	background-image: none !important;
	padding: clamp(0.45rem, 1.8vw, 0.65rem) clamp(0.5rem, 2vw, 0.75rem) !important;
	margin-bottom: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	/* xs: 2 colunas; sm+ → 4 colunas (bloco @media min-width 576px abaixo) */
	flex: 0 1 calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
	min-width: 0 !important;
	max-width: calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
	min-height: var(--size-datepicker-day-min-target);
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	text-align: center;
	vertical-align: middle;
	border: 1px solid var(--color-border-subtle) !important;
	border-radius: var(--radius-control-sm) !important;
	font-size: clamp(0.9rem, 2.2vw, 1.05rem) !important;
	font-weight: var(--font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	background-color: var(--color-datepicker-surface) !important;
	text-decoration: none;
	color: var(--color-primary-dark) !important;
	box-sizing: border-box;
	white-space: normal;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value:focus-visible {
	outline: none;
	box-shadow: var(--shadow-focus-ring-datepicker);
}

/*
 * Slot sem vagas (ex. 15:00 (0)) — classe .no-slots na linha .time, FORA do .ui-datepicker-calendar.
 * As regras .ui-datepicker .no-slots não chegavam aqui.
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.time-value.no-slots,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.no-slots.time-value,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value.slots.no-slots {
	background-color: var(--color-datepicker-no-slots-bg) !important;
	color: var(--color-surface-base) !important;
	cursor: default;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.time-value.no-slots:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value.slots.no-slots:hover {
	background-color: var(--color-datepicker-no-slots-bg) !important;
	color: var(--color-surface-base) !important;
	cursor: default;
}

/* Algumas versões do EA usam só ui-state-disabled no <a> quando (0) vagas */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.time-value.slots.ui-state-disabled:not(.selected-time) {
	background-color: var(--color-datepicker-no-slots-bg) !important;
	color: var(--color-surface-base) !important;
	cursor: default;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value.am-pm,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-disabled.am-pm {
	padding-left: var(--font-size-6);
	padding-right: var(--font-size-6);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value.slots,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-disabled.slots {
	min-width: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value.ui-state-hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value.ui-state-hover {
	background-color: var(--color-surface-hover);
	cursor: pointer;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-disabled {
	cursor: default;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 1 calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
	min-width: 0 !important;
	max-width: calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
	min-height: var(--size-datepicker-day-min-target);
	padding-top: 5px;
	padding-bottom: 5px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid var(--color-border-subtle) !important;
	font-size: clamp(0.9rem, 2.2vw, 1.05rem) !important;
	font-weight: var(--font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	background-color: var(--color-surface-disabled) !important;
	box-sizing: border-box;
	color: var(--color-text-disabled) !important;
	border-radius: var(--radius-control-sm) !important;
	white-space: normal;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-50 .time-value,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-50 .time-disabled {
	flex: 0 1 calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
	min-width: 0 !important;
	max-width: calc((100% - var(--space-datepicker-cell-gap)) / 2) !important;
}

/* sm | min-width: 576px | slots 4 columns */
@media (min-width: 576px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-value,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-disabled,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time a.time-disabled,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time .time-disabled,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-disabled {
		flex: 0 1 calc((100% - 3 * var(--space-datepicker-cell-gap)) / 4) !important;
		max-width: calc((100% - 3 * var(--space-datepicker-cell-gap)) / 4) !important;
		min-height: var(--size-datepicker-day-min-target);
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-50 .time-value,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-50 .time-disabled {
		flex: 0 1 calc((100% - 3 * var(--space-datepicker-cell-gap)) / 4) !important;
		max-width: calc((100% - 3 * var(--space-datepicker-cell-gap)) / 4) !important;
	}
}

/*
 * Hora seleccionada — só o <a> do slot (tem data-val). Não usar .time .selected-time nem
 * --bs-border-color (igual ao input email). Plugin EA: click em .time-value → .selected-time.
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value.selected-time[data-val],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.time-value.selected-time[data-val]:hover {
	background-color: var(--wp--preset--color--brand) !important;
	border: 3px solid var(--wp--preset--color--soft) !important;
	color: var(--bs-light) !important;
	border-radius: var(--radius-control-sm) !important;
	box-shadow: 0 1px 2px color-mix(in srgb, var(--color-primary-dark) 15%, transparent);
}

/* Campos do formulário nunca herdam estilo de slot (só existe selected-time no <a data-val>) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) input.selected-time,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) textarea.selected-time,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) select.selected-time,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-control.selected-time {
	background-color: var(--color-surface) !important;
	border: 1px solid var(--bs-border-color) !important;
	color: var(--color-text-primary) !important;
	box-shadow: none !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row td {
	padding: 0.35rem 0 0 !important;
	white-space: normal;
	border-top: none;
	border-bottom: none;
}

/* Célula transparente: o fundo do hover fica só nos <a.time-value> (#eee), como no plugin */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row td:hover {
	background-color: transparent;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row.no-slots td:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row td.no-slots:hover {
	background-color: var(--color-surface-muted) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row .time {
	margin-bottom: 0;
	border: none !important;
}

/* xs–md: cols legacy do plugin dentro de .time (nao .form-horizontal > .col-md-6) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time [class*="col-xs-"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time [class*="col-sm-"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time [class*="col-md-"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time [class*="col-lg-"] {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* md | min-width: 768px — faixa de horas com padding normal */
@media (min-width: 768px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row .time {
		padding: clamp(0.45rem, 1.8vw, 0.65rem) clamp(0.5rem, 2vw, 0.75rem);
		text-align: left;
	}
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row .time {
	padding: 12px 8px;
	text-align: center;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time.well,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time.well-lg {
	padding-left: 0.5rem !important;
	padding-right: 0.5rem !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) h3 {
	margin-top: 1.1852em;
	margin-bottom: 0.5926em;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) #booking-overview .ea-label {
	padding: 5px;
	padding-left: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) #booking-overview .value {
	padding: 5px;
	font-weight: var(--font-weight-bold);
}

/* label.error — tipografia em css/components/form-errors.css */

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) input.error,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) textarea.error,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) select.error {
	border-color: var(--color-text-danger);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-prev span,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-next span {
	display: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .no-slots:not(.ui-datepicker-today),
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .no-slots:not(.ui-datepicker-today):hover {
	/* Evita "dupla camada" de cor (td + a) quando se clica num no-slots */
	background-color: transparent !important;
	color: inherit;
	cursor: default;
	border-radius: var(--radius-control-sm) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .no-slots:not(.ui-datepicker-today) a {
	color: var(--color-primary-dark);
	cursor: default;
	background-color: var(--wp-editor-canvas-background) !important;
	font-weight: var(--font-weight-bold);
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: none;
}

/* Time row sem vagas: fundo cinza no td e no bloco interno */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row.no-slots td,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row td.no-slots {
	background-color: var(--color-surface-muted) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row.no-slots .time.well.well-lg,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .time-row td.no-slots .time.well.well-lg {
	background-color: var(--color-surface-muted) !important;
}

/* “Hoje” + no-slots: fundo da célula alinha ao chip do <a> (evita faixa olive a tapar o número) */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today.no-slots:not(.ui-datepicker-current-day) {
	background-color: transparent !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .busy,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .busy:hover {
	background-color: color-mix(in srgb, var(--color-text-danger) 45%, transparent);
	color: var(--color-surface-base);
	cursor: default;
	border-radius: var(--radius-control-sm) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .busy a {
	color: var(--color-surface-base);
	cursor: default;
}

/* Gap e ordem dos botões EA — css/components/buttons.css */

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .final h3 {
	white-space: normal;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .gdpr,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .i-agree {
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
	white-space: initial;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-phone-field-group {
	display: block;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-phone-field-group label {
	display: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-phone-field-group .ea-phone-country-code-part {
	text-align: center;
	width: 100%;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-phone-field-group .ea-phone-number-part {
	width: 100%;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-phone-field-group .ea-phone-number-part::placeholder {
	color: color-mix(in srgb, var(--color-text-primary) 40%, var(--color-surface-base));
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) td.ui-datepicker-week-col:hover {
	background-color: inherit;
	cursor: default;
}

/* Só retirar gradientes herdados do jQuery UI — não forçar fundo/borda transparentes
 * aqui: essa regra vinha DEPOIS do .ui-datepicker-current-day e apagava o teal e o raio. */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-state-default,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-widget-content .ui-state-default {
	background-image: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-widget-header {
	background-color: transparent;
	background-image: none;
	border: none;
	color: inherit;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker td span,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker td a {
	text-align: center;
}

/* Hover: só dias “normais”; não cobrir no-slots/busy nem apagar o dia seleccionado */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td:not(.ui-datepicker-unselectable):not(.ui-datepicker-other-month):not(.no-slots):not(.busy) a.ui-state-default:hover {
	background-color: var(--color-surface-hover);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day:not(.no-slots) a.ui-state-default:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day:not(.no-slots) a.ui-state-active:hover {
	background-color: var(--color-primary-muted) !important;
	color: var(--color-surface-base) !important;
	border-color: transparent !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-checkout-section {
	width: 100%;
	max-width: 800px;
}

/* Form v2 — label acima do campo */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-form-v2 .form-group {
	display: flex;
	flex-direction: column;
	margin-bottom: 5px;
	margin-top: 14px;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-form-v2 .form-horizontal .control-label {
	width: 100%;
	text-align: left;
	font-weight: normal;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-form-v2 .form-group div.col-sm-8 {
	width: 100%;
}

/*
 * form-horizontal .form-group — gutters negativos (igual ao bootstrap do plugin EA).
 * Fixar no tema: se o plugin mudar o CSS, o layout 2 colunas + overlay .block mantem-se.
 * Nao usar margin:0 aqui (quebra alinhamento da coluna final).
 * --bs-gutter-x 30px no plugin EA => -15px; fallback 30px se a variavel nao existir.
 */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .form-group,
body .ea-bootstrap .form-horizontal .form-group,
body .ea-bootstrap.ea-form-v2 .form-horizontal .form-group {
	margin-right: calc(var(--bs-gutter-x, 30px) * -0.5) !important;
	margin-left: calc(var(--bs-gutter-x, 30px) * -0.5) !important;
}

/* md | min-width: 768px */
@media (min-width: 768px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-form-v2 .form-horizontal .control-label {
		text-align: left;
	}
}

@media (min-width: 992px) {

}

/* ---- EA migrated from template.css (phase 1: form + ea_hide_show) ---- */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal > div:not(.col-md-6):not(.step) {
	padding-top: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal {
	text-align: left;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]) {
	border-radius: 999px !important;
	border: 1px solid var(--bs-border-color) !important;
	min-height: var(--size-form-submit-min-height);
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal select:not([multiple]),
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal select.form-control,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal select.form-select {
	border-radius: 999px !important;
	border: 1px solid var(--bs-border-color) !important;
	min-height: var(--size-form-submit-min-height);
	padding-left: 1rem;
	padding-right: 2.5rem;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal textarea,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal textarea.form-control {
	border-radius: var(--radius-lg) !important;
	border: 1px solid var(--bs-border-color) !important;
	padding: 0.75rem 1rem;
	box-sizing: border-box;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal input.form-control:focus,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal select:focus,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal textarea:focus {
	outline: none;
	border-color: var(--color-primary-light);
	box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-primary-light) 22%, transparent);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal input[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal input[type="submit"].btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal button[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal button.btn {
	border-radius: 999px !important;
	min-height: var(--size-form-submit-min-height);
	min-width: min(100%, var(--size-button-min-width-horizontal-form));
	width: auto;
	max-width: 100%;
	display: inline-block;
	margin-left: 0;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	text-align: center;
	box-shadow: none !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .row.justify-content-end,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .row.text-end,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .justify-content-end {
	justify-content: flex-start !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .text-end {
	text-align: left !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show {
	text-align: left !important;
	margin-top: var(--font-size-14);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .row,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .d-flex {
	justify-content: flex-start !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .text-end,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .text-right {
	text-align: left !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .justify-content-end {
	justify-content: flex-start !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show button.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show input[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show button[type="submit"] {
	margin-left: 0 !important;
	float: none !important;
}

/* ---- EA migrated from template.css (phase 2: buttons + actions + overview) ---- */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .row-price {
	display: none;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .orientacao_acao {
	padding: 0;
	margin: 0;
	margin-block-start: 0;
	margin-block-end: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-submit.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-submit.btn.btn-primary,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.btn-primary.booking-button,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-submit.btn.btn-primary.booking-button,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) button.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) input[type="submit"].btn.btn-primary,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .ea-actions-group .btn.btn-primary,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal a.btn.btn-primary[href],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal a.btn.btn-primary[role="button"] {
	max-width: var(--size-form-submit-max-width);
	width: min(100%, var(--size-form-submit-max-width)) !important;
	min-height: var(--size-form-submit-min-height);
	border-radius: 999px !important;
	margin-left: 0 !important;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	box-shadow: none !important;
	background-color: var(--btn-action-bg) !important;
	border-color: var(--btn-action-border) !important;
	color: var(--btn-action-color) !important;
	font-size: var(--font-size-16);
	font-weight: 600;
	--bs-btn-bg: var(--btn-action-bg);
	--bs-btn-border-color: var(--btn-action-border);
	--bs-btn-active-bg: var(--btn-action-hover-bg);
	--bs-btn-active-border-color: var(--btn-action-hover-bg);
	--bs-btn-hover-bg: var(--btn-action-hover-bg);
	--bs-btn-hover-border-color: var(--btn-action-hover-bg);
	--bs-btn-color: var(--btn-action-color);
	--bs-btn-active-color: var(--btn-action-hover-color);
	--bs-btn-hover-color: var(--btn-action-hover-color);
	--bs-link-color: var(--btn-action-color);
	--bs-link-hover-color: var(--btn-action-hover-color);
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-cancel.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-cancel.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) button.ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.booking-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.btn.booking-cancel {
	max-width: var(--size-form-submit-max-width);
	width: min(100%, var(--size-form-submit-max-width)) !important;
	min-height: var(--size-form-submit-min-height);
	border-radius: 999px !important;
	margin-left: 0 !important;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	box-shadow: none !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.ea-btn.ea-submit:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) button.ea-btn.ea-submit:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-submit.btn:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-submit.btn.btn-primary.booking-button:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.btn-primary.booking-button:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) input[type="submit"].btn.btn-primary:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .ea-actions-group .btn.btn-primary:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.btn.btn-primary[href]:hover,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.btn.btn-primary[role="button"]:hover {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.ea-btn.ea-submit:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) button.ea-btn.ea-submit:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-btn.ea-submit.btn:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-submit.btn.btn-primary.booking-button:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .btn.btn-primary.booking-button:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) input[type="submit"].btn.btn-primary:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .ea-actions-group .btn.btn-primary:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.btn.btn-primary[href]:focus-visible,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) a.btn.btn-primary[role="button"]:focus-visible {
	background-color: var(--btn-action-hover-bg) !important;
	border-color: var(--btn-action-hover-bg) !important;
	color: var(--btn-action-hover-color) !important;
	box-shadow: none !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-cancel,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-submit,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-cancel {
	margin-right: 0 !important;
	margin-bottom: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.step.final,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.step-final,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .step.final.col-md-6,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview-header,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview > .booking-overview-header,
body .booking-overview-header,
body #booking-overview-header {
	margin-top: var(--space-section-appointment-top) !important;
	margin-block-start: var(--space-section-appointment-top) !important;
}

/* Agenda — par de botões à esquerda (como contacto), gap fixo */
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .ea-actions-group,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .ea-actions-group,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .row:has(.ea-actions-group),
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea_hide_show .d-flex:has(.ea-btn) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
	align-items: center !important;
	gap: var(--btn-actions-gap) !important;
	width: 100% !important;
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group input[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group button.btn,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group input[type="submit"],
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group button[type="submit"] {
	margin-left: 0 !important;
	float: none !important;
}

/* Larguras fixas — só tablet+; mobile 100% em css/components/buttons.css */
/* sm | min-width: 576px */
@media (min-width: 576px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group button.ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .booking-button.btn-primary,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group input[type="submit"].btn.btn-primary,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-submit,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-submit {
		width: var(--size-button-primary-width) !important;
		min-width: var(--size-button-primary-width) !important;
		max-width: var(--size-button-primary-width) !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group a.ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .ea-actions-group .btn.booking-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group .ea-btn.ea-cancel,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-12.ea-actions-group a.ea-btn.ea-cancel {
		width: auto !important;
		min-width: var(--size-button-min-width-horizontal-form) !important;
		max-width: var(--size-form-submit-max-width) !important;
	}
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview {
	text-align: left !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview > .row,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	--bs-gutter-x: 0;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .row > [class*="col-"] {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table-responsive {
	margin: 0 !important;
	margin-left: -3px !important;
	margin-inline-start: -3px !important;
	padding: 0 !important;
	width: 100%;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview table,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview > table,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table {
	margin: 0 !important;
	margin-left: -3px !important;
	margin-inline-start: -3px !important;
	width: 100%;
	max-width: 100%;
	text-align: left !important;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table-responsive table,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table-responsive > table {
	margin-left: 0 !important;
	margin-inline-start: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table > :not(caption) > * > *,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview table > :not(caption) > * > * {
	text-align: left !important;
	vertical-align: top;
	padding-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
	padding-left: 0 !important;
	padding-right: 0.65rem !important;
	padding-inline-start: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview .table > :not(caption) > * > *:last-child,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview table > :not(caption) > * > *:last-child {
	padding-right: 0 !important;
	padding-inline-end: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview caption {
	caption-side: top;
	text-align: left !important;
	margin: 0 0 0.5rem 0 !important;
	padding: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview th,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview td {
	text-align: left !important;
	vertical-align: top;
	margin: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview tr {
	margin: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview p,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview li,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview dt,
:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview dd {
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
}

:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .booking-overview dd {
	margin-bottom: 0.25rem;
	margin-inline-start: 0 !important;
	padding-inline-start: 0 !important;
}

@media (min-width: 992px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-4 {
		width: 70px !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-8 {
		width: 100% !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6 {
		flex: 0 0 auto !important;
		width: 50% !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.hero-media,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.hero-text {
		width: 50% !important;
	}

	.page-template-page-agenda .ea-bootstrap h3:not(#booking-overview-header) {
		margin-top: 0 !important;
	}

	.page-template-page-agenda .ea-bootstrap #booking-overview-header {
		margin-top: var(--space-section-appointment-top) !important;
		margin-block-start: var(--space-section-appointment-top) !important;
	}
}

@media (min-width: 576px) {
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6 {
		flex: 0 0 auto !important;
		width: 100% !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .form-horizontal .col-md-6 {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.hero-media,
	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-md-6.hero-text {
		width: 50% !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-4 {
		width: auto !important;
	}

	:is(body .ea-bootstrap, body .ea-bootstrap-wrapper) .col-sm-8 {
		width: 100% !important;
	}
}

/* Agenda — largura do formulário EA alinhada com contactos (só main .container.agendar) */
body.page-template-page-agenda main .container.agendar .ea-bootstrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.page-template-page-agenda main .container.agendar .ea-bootstrap .form-horizontal > .col-md-6,
body.page-template-page-agenda main .container.agendar .ea-bootstrap .form-horizontal > .step.col-md-6 {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
}
