/**
 * Stili add-on Sconti per durata – calendario prenotazioni.
 * Grafica unificata e responsive. Integrazione Avada: colori e font dal tema; Font Awesome al posto delle icone custom.
 */

/* Evita doppi bordi da tema sui pulsanti (outline + border = doppio bordo) */
.mpbc-booking-calendar-shortcode button,
.mpbc-booking-calendar-shortcode .button {
	outline: none !important;
}
.mpbc-booking-calendar-shortcode button:focus,
.mpbc-booking-calendar-shortcode .button:focus {
	box-shadow: none !important;
}

/* ---------- FORZATURA COLORI PULSANTI: mai bianco, sempre visibili (hex fissi) ---------- */
/* Primari: blu scuro, testo bianco */
.mpbc-booking-calendar-shortcode .button-primary,
.mpbc-booking-calendar-shortcode button.button-primary {
	background: #1a5fb4 !important;
	border-color: #1a5fb4 !important;
	color: #ffffff !important;
}
/* Hover: azzurro saturo alto contrasto (mai bianco) */
.mpbc-booking-calendar-shortcode .button-primary:hover,
.mpbc-booking-calendar-shortcode button.button-primary:hover {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}
/* Secondari: grigio scuro, testo bianco (mai bianco su bianco) */
.mpbc-booking-calendar-shortcode .button-secondary,
.mpbc-booking-calendar-shortcode button.button-secondary {
	background: #50575e !important;
	border: 1px solid #3c434a !important;
	color: #ffffff !important;
}
.mpbc-booking-calendar-shortcode .button-secondary:hover,
.mpbc-booking-calendar-shortcode button.button-secondary:hover {
	background: #00a8cc !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}
/* Qualsiasi altro button nello shortcode: grigio scuro se non ha già primary/secondary */
.mpbc-booking-calendar-shortcode button:not(.button-primary):not(.button-secondary) {
	background: #50575e !important;
	border: 1px solid #3c434a !important;
	color: #ffffff !important;
}
.mpbc-booking-calendar-shortcode button:not(.button-primary):not(.button-secondary):hover {
	background: #00a8cc !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}

/* ---- Variabili (tema coerente, fallback senza Avada) ---- */
.mpbc-booking-calendar-shortcode {
	--mpbc-dd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
	--mpbc-dd-radius: 8px;
	--mpbc-dd-radius-sm: 6px;
	--mpbc-dd-radius-xs: 4px;
	--mpbc-dd-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	--mpbc-dd-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08);
	--mpbc-dd-border: 1px solid #e2e4e7;
	--mpbc-dd-success-bg: #d4edda;
	--mpbc-dd-success-border: #c3e6cb;
	--mpbc-dd-success-text: #155724;
	--mpbc-dd-info-bg: #fff8e6;
	--mpbc-dd-info-border: #ffecb3;
	--mpbc-dd-info-text: #7d5a00;
	--mpbc-dd-neutral-bg: #f0f0f1;
	--mpbc-dd-neutral-border: #dcdcde;
	--mpbc-dd-neutral-text: #50575e;
	--mpbc-dd-primary: #2271b1;
	--mpbc-dd-primary-hover: #135e96;
	--mpbc-dd-text: #1e1e1e;
	--mpbc-dd-text-muted: #646970;
	--mpbc-dd-day-size: 2.5rem;
}

/* ---- Integrazione tema Avada: colori e font dal tema ---- */
.fusion-body .mpbc-booking-calendar-shortcode,
body.fusion-body .mpbc-booking-calendar-shortcode {
	font-family: inherit;
	--mpbc-dd-font: inherit;
	--mpbc-dd-primary: var(--awb-color1, #2271b1);
	--mpbc-dd-primary-hover: var(--awb-color2, #135e96);
	--mpbc-dd-text: var(--awb-content-color, #1e1e1e);
	--mpbc-dd-text-muted: var(--awb-body-font-color, #646970);
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--success,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--success {
	border-color: var(--awb-color1, #c3e6cb);
}

/* Font Awesome: icone al posto del set custom del plugin (solo quando Avada/FA è attivo) ---- */
.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon::before {
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 6 Pro", "Font Awesome 5 Pro", sans-serif !important;
	font-weight: 900 !important;
	font-style: normal !important;
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-calendar-schedule::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-calendar-schedule::before {
	content: "\f073" !important; /* fa-calendar-alt */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-clock-watch::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-clock-watch::before {
	content: "\f017" !important; /* fa-clock */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-left::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-left::before {
	content: "\f053" !important; /* fa-chevron-left */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-right::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-right::before {
	content: "\f054" !important; /* fa-chevron-right */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-up::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-up::before {
	content: "\f077" !important; /* fa-chevron-up */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-down::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-chevron-down::before {
	content: "\f078" !important; /* fa-chevron-down */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-filter::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-filter::before {
	content: "\f0b0" !important; /* fa-filter */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-check::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-check::before {
	content: "\f00c" !important; /* fa-check */
}

.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-close::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-icon.mpbc-icon-close::before {
	content: "\f00d" !important; /* fa-times */
}

/* ---- Contenitore generale shortcode ---- */
.mpbc-booking-calendar-shortcode {
	box-sizing: border-box;
	font-family: var(--mpbc-dd-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mpbc-dd-text);
	max-width: 100%;
}

.mpbc-booking-calendar-shortcode .mpbc-block + .mpbc-block {
	margin-top: 1.25rem;
}

/* ---- Datepicker: blocco calendario ---- */
.mpbc-booking-calendar-shortcode .mpbc-datepicker-block {
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
	overflow: hidden;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker-block .flatpickr-calendar {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Header calendario: nav (prev/oggi/next), titolo anno, filtri */
.mpbc-booking-calendar-shortcode .mpbc-datepicker__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 0.875rem 1rem;
	border-bottom: var(--mpbc-dd-border);
	background: #fafafa;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__navigation {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__button {
	padding: 0.4rem 0.75rem;
	font-size: 13px;
	font-weight: 500;
	border: 1px solid #3c434a;
	border-radius: var(--mpbc-dd-radius-xs);
	background: #50575e !important;
	color: #ffffff !important;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__button:hover:not(:disabled) {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__nav-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
	margin-left: 0.5rem;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__icon-button {
	padding: 0.4rem 0.5rem;
	border-radius: var(--mpbc-dd-radius-xs);
}

/* Filtro varianti (icona filtro): nascosto su richiesta */
.mpbc-booking-calendar-shortcode .mpbc-variations-filter__button {
	display: none !important;
}

.mpbc-booking-calendar-shortcode .mpbc-variations-filter__dropdown {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 0.25rem;
	padding: 0.5rem 0;
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius-sm);
	box-shadow: var(--mpbc-dd-shadow-md);
	min-width: 200px;
	max-height: 280px;
	overflow-y: auto;
	z-index: 100;
}

.mpbc-booking-calendar-shortcode .mpbc-variations-filter__item a {
	display: block;
	padding: 0.5rem 1rem;
	font-size: 13px;
	color: var(--mpbc-dd-text);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-variations-filter__item a:hover {
	background: #b3e5fc !important;
	color: #006d8c !important;
}

.mpbc-booking-calendar-shortcode .mpbc-variations-filter__item-title {
	display: block;
}

/* Mesi e giorni */
.mpbc-booking-calendar-shortcode .mpbc-datepicker__month {
	padding: 0.75rem 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-datepicker__month-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
	margin-bottom: 0.5rem;
}

.mpbc-booking-calendar-shortcode .flatpickr-weekdaycontainer {
	padding: 0.35rem 0;
}

.mpbc-booking-calendar-shortcode .flatpickr-weekday {
	font-size: 12px;
	font-weight: 600;
	color: var(--mpbc-dd-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.mpbc-booking-calendar-shortcode .flatpickr-day {
	font-size: 13px;
	height: var(--mpbc-dd-day-size);
	line-height: var(--mpbc-dd-day-size);
	max-width: none;
	border-radius: var(--mpbc-dd-radius-xs);
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mpbc-booking-calendar-shortcode .flatpickr-day:hover:not(.flatpickr-disabled):not(.mpbc-past-date) {
	background: #b3e5fc !important;
	color: #006d8c !important;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.mpbc-available-date {
	cursor: pointer;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.flatpickr-disabled,
.mpbc-booking-calendar-shortcode .flatpickr-day.mpbc-past-date,
.mpbc-booking-calendar-shortcode .flatpickr-day.mpbc-unavailable-date {
	opacity: 0.5;
	cursor: default;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.inRange {
	background: rgba(0, 150, 199, 0.25);
	border-radius: 0;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.startRange,
.mpbc-booking-calendar-shortcode .flatpickr-day.endRange,
.mpbc-booking-calendar-shortcode .flatpickr-day.mpbc-selected-date {
	background: #0096c7 !important;
	color: #fff !important;
	font-weight: 600;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.today {
	font-weight: 600;
}

.mpbc-booking-calendar-shortcode .flatpickr-day.today:not(.flatpickr-disabled):not(.startRange):not(.endRange):not(.inRange) {
	background: rgba(0, 150, 199, 0.2) !important;
	color: #006d8c !important;
}

/* ---- Icone ---- */
.mpbc-booking-calendar-shortcode .mpbc-icon {
	display: inline-block;
	vertical-align: middle;
	fill: currentColor;
}

/* ---- Blocco carrello: header e toggle ---- */
.mpbc-booking-calendar-shortcode .mpbc-cart-block {
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
	overflow: hidden;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block__header {
	padding: 0.875rem 1.25rem;
	background: #fafafa;
	border-bottom: var(--mpbc-dd-border);
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block .mpbc-cart-block__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
	text-decoration: none;
	transition: color 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block .mpbc-cart-block__toggle:hover {
	color: #0096c7 !important;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block .mpbc-cart-block__toggle .mpbc-icon {
	transition: transform 0.2s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block.collapsed .mpbc-cart-block__toggle .mpbc-icon-chevron-up {
	transform: rotate(-90deg);
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block__toggle-cart-content {
	font-weight: 500;
	color: var(--mpbc-dd-text-muted);
}

/* Voce carrello: titolo, prezzo, link Rimuovere */
.mpbc-booking-calendar-shortcode .mpbc-cart-item__content .mpbc-cart-item__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
	margin: 0 0 0.25rem 0;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__content .mpbc-cart-item__price {
	font-size: 14px;
	color: var(--mpbc-dd-text-muted);
}

/* "Rimuovere": aspetto e comportamento da vero pulsante (anche se il plugin usa <a>) */
.mpbc-booking-calendar-shortcode .mpbc-cart-item__controls .button-remove,
.mpbc-booking-calendar-shortcode .mpbc-cart-item__controls a.button-remove {
	display: inline-block;
	box-sizing: border-box;
	padding: 0.4rem 0.85rem;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	text-align: center;
	cursor: pointer;
	border: 1px solid #3c434a;
	border-radius: 6px;
	background: #50575e !important;
	color: #ffffff !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__controls .button-remove:hover,
.mpbc-booking-calendar-shortcode .mpbc-cart-item__controls a.button-remove:hover {
	background: #00a8cc !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}

/* ---- Errori globali ---- */
.mpbc-booking-calendar-shortcode .mpbc-errors {
	margin-top: 1rem;
	padding: 0.875rem 1rem;
	background: #fcf0f1;
	border: 1px solid #e8b4b8;
	border-radius: var(--mpbc-dd-radius-sm);
	color: #721c24;
	font-size: 14px;
	line-height: 1.45;
}

.mpbc-booking-calendar-shortcode .mpbc-errors.mpbc-hide {
	display: none !important;
}

/* ---- Blocco metodi di pagamento (checkout) ---- */
.mpbc-booking-calendar-shortcode .mpbc-payment-gateways-block {
	margin: 1rem 0;
}

.mpbc-booking-calendar-shortcode .mpbc-payment-gateways-block .mpbc-payment-gateway-item {
	margin-bottom: 0.75rem;
	padding: 0.75rem 1rem;
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius-sm);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-payment-gateways-block .mpbc-payment-gateway-item:hover {
	border-color: #0096c7 !important;
	background: #e0f7fa !important;
}

/* Pulsanti secondari: grigio scuro, testo bianco (sovrascritto da regola globale sopra, qui solo padding/bordo) */
.mpbc-booking-calendar-shortcode .button-secondary {
	padding: 0.4rem 0.75rem;
	font-size: 14px;
	border-radius: var(--mpbc-dd-radius-xs);
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	outline: none !important;
	box-shadow: none !important;
}


/* ---- Step Carrello: messaggio sconti in cima ---- */
.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message {
	box-sizing: border-box;
	display: none;
	margin-bottom: 1rem;
	padding: 0.875rem 1rem;
	border-radius: var(--mpbc-dd-radius-sm);
	font-family: var(--mpbc-dd-font);
	font-size: 14px;
	line-height: 1.45;
	font-weight: 500;
	box-shadow: var(--mpbc-dd-shadow);
	transition: opacity 0.2s ease;
}

/* Stati messaggio (classi usate da JS) */
.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--success {
	display: block;
	background: var(--mpbc-dd-success-bg);
	border: var(--mpbc-dd-border);
	border-color: var(--mpbc-dd-success-border);
	color: var(--mpbc-dd-success-text);
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--info {
	display: block;
	background: var(--mpbc-dd-info-bg);
	border: var(--mpbc-dd-border);
	border-color: var(--mpbc-dd-info-border);
	color: var(--mpbc-dd-info-text);
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--neutral {
	display: block;
	background: var(--mpbc-dd-neutral-bg);
	border: var(--mpbc-dd-border);
	border-color: var(--mpbc-dd-neutral-border);
	color: var(--mpbc-dd-neutral-text);
}

/* ---- Step Carrello: blocco varianti (liste barche/mezzi) ---- */
.mpbc-booking-calendar-shortcode .mpbc-variations-block {
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
	overflow: hidden;
	margin-top: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: var(--mpbc-dd-border);
	font-family: var(--mpbc-dd-font);
	box-sizing: border-box;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item:last-child {
	border-bottom: 0;
}

/* Area miniatura: dimensione fissa, immagine in aspect-ratio */
.mpbc-booking-calendar-shortcode .mpbc-variation-item__thumbnail {
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	border-radius: var(--mpbc-dd-radius-sm);
	overflow: hidden;
	background: #f0f0f1;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Placeholder per voci SENZA immagine: stesso spazio, grafica neutra */
.mpbc-booking-calendar-shortcode .mpbc-variation-item:not(:has(.mpbc-variation-item__thumbnail)) {
	position: relative;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item:not(:has(.mpbc-variation-item__thumbnail))::before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	min-width: 120px;
	min-height: 120px;
	border-radius: var(--mpbc-dd-radius-sm);
	background: linear-gradient(135deg, #e8e8eb 0%, #dcdcde 100%);
	border: 1px dashed #c3c4c7;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px 40px;
}

/* Con Avada: placeholder "nessuna immagine" con icona Font Awesome */
.fusion-body .mpbc-booking-calendar-shortcode .mpbc-variation-item:not(:has(.mpbc-variation-item__thumbnail))::before,
body.fusion-body .mpbc-booking-calendar-shortcode .mpbc-variation-item:not(:has(.mpbc-variation-item__thumbnail))::before {
	content: "\f03e" !important;
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 6 Pro", "Font Awesome 5 Pro", sans-serif !important;
	font-weight: 900 !important;
	font-size: 2rem;
	color: var(--mpbc-dd-text-muted);
	background: linear-gradient(135deg, #e8e8eb 0%, #dcdcde 100%);
	background-image: none !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* Contenuto (titolo, descrizione, prezzo, controlli) */
.mpbc-booking-calendar-shortcode .mpbc-variation-item__content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex: 1 1 200px;
	min-width: 0;
	gap: 0.5rem 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__info {
	flex: 1 1 100%;
	min-width: 0;
}

@media (min-width: 600px) {
	.mpbc-booking-calendar-shortcode .mpbc-variation-item__info {
		flex: 1 1 auto;
		min-width: 180px;
	}
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__title {
	margin: 0 0 0.25rem 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--mpbc-dd-text);
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__title a {
	color: inherit;
	text-decoration: none;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__title a:hover {
	text-decoration: underline;
	color: #0096c7 !important;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__short-description {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	color: var(--mpbc-dd-text-muted);
	margin-bottom: 0.35rem;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__price {
	font-size: 14px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__count select {
	min-width: 80px;
	padding: 0.35rem 0.5rem;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	font-size: 14px;
	outline: none;
	box-shadow: none;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__count select:focus {
	outline: none;
	box-shadow: 0 0 0 1px #0096c7;
}

/* Pulsante "Prenota" (aggiungi al carrello): blu scuro, testo bianco (forzato) */
.mpbc-booking-calendar-shortcode .mpbc-variation-item__controls .button-add,
.mpbc-booking-calendar-shortcode .mpbc-variation-item__controls .button.button-secondary.button-add {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: var(--mpbc-dd-radius-sm);
	background: #1a5fb4 !important;
	border: 1px solid #1a5fb4 !important;
	color: #ffffff !important;
	transition: background 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.mpbc-booking-calendar-shortcode .mpbc-variation-item__controls .button-add:hover,
.mpbc-booking-calendar-shortcode .mpbc-variation-item__controls .button.button-secondary.button-add:hover {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
	filter: brightness(1.05);
}

/* Select quantità: nascosta quando c'è solo 1 unità (classe aggiunta da JS) */
.mpbc-booking-calendar-shortcode .mpbc-variation-item__count.mpbc-dd-single-unit {
	display: none !important;
}

@media (max-width: 599px) {
	.mpbc-booking-calendar-shortcode .mpbc-variation-item {
		padding: 0.875rem 1rem;
		gap: 0.75rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-variation-item__thumbnail,
	.mpbc-booking-calendar-shortcode .mpbc-variation-item:not(:has(.mpbc-variation-item__thumbnail))::before {
		width: 90px;
		height: 90px;
		min-width: 90px;
		min-height: 90px;
	}
	.mpbc-booking-calendar-shortcode .mpbc-variation-item__content {
		flex: 1 1 100%;
	}
}

/* ---- Step Carrello: blocco carrello e voci ---- */
.mpbc-booking-calendar-shortcode .mpbc-step-cart .mpbc-cart-block {
	margin-top: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-block__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item {
	box-sizing: border-box;
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
	margin-bottom: 0.75rem;
	overflow: hidden;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: #f6f7f7;
	border-bottom: var(--mpbc-dd-border);
	font-weight: 600;
	font-size: 14px;
	color: var(--mpbc-dd-text);
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__body {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__content {
	flex: 1 1 200px;
	min-width: 0;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__controls {
	flex-shrink: 0;
	align-self: center;
}

.mpbc-booking-calendar-shortcode .mpbc-cart-item__info {
	margin-bottom: 0;
}

/* Utility: nascondi elemento */
.mpbc-booking-calendar-shortcode .mpbc-hide {
	display: none !important;
}

/* Box sconto nella voce carrello (senza stili inline) */
.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart {
	box-sizing: border-box;
	display: none;
	margin-top: 0.75rem;
	padding: 0.75rem 0.875rem;
	background: rgba(212, 237, 218, 0.5);
	border: 1px solid var(--mpbc-dd-success-border);
	border-radius: var(--mpbc-dd-radius-sm);
	font-family: var(--mpbc-dd-font);
	font-size: 13px;
	line-height: 1.45;
	color: var(--mpbc-dd-success-text);
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart.mpbc-duration-discounts-cart--visible {
	display: block;
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart__applied {
	font-weight: 600;
	margin-bottom: 0.25rem;
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart__save {
	margin-bottom: 0.15rem;
}

.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart__final {
	font-weight: 600;
	margin-top: 0.25rem;
}

/* Pulsante "Vai alla cassa": blu scuro, testo bianco (forzato) */
.mpbc-booking-calendar-shortcode .mpbc-step-cart .button-next.button-primary {
	display: inline-flex !important;
	align-items: center;
	padding: 0.55rem 1.35rem !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: var(--mpbc-dd-radius-sm);
	background: #1a5fb4 !important;
	border: 1px solid #1a5fb4 !important;
	color: #ffffff !important;
	transition: background 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
	outline: none !important;
	box-shadow: none !important;
}

.mpbc-booking-calendar-shortcode .mpbc-step-cart .button-next.button-primary:hover {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
	filter: brightness(1.05);
}

/* ---- Step Checkout: una colonna (niente 3 colonne), layout verticale ---- */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout {
	display: flex;
	flex-direction: column;
	font-family: var(--mpbc-dd-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mpbc-dd-text);
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-block,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-payment-gateways-block,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block {
	display: block;
	width: 100%;
}

/* Breadcrumb */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs {
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: var(--mpbc-dd-border);
	font-size: 14px;
	color: var(--mpbc-dd-text-muted);
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs-previous-step {
	color: #0096c7 !important;
	text-decoration: none;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs-previous-step:hover {
	text-decoration: underline;
	color: #006d8c !important;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs-divider {
	margin: 0 0.35em;
	color: #999;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs-current {
	font-weight: 600;
	color: var(--mpbc-dd-text);
}

/* Blocco prenotazioni: card per ogni item */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-block {
	margin-bottom: 1.5rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item {
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
	margin-bottom: 1rem;
	overflow: hidden;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: #f6f7f7;
	border-bottom: var(--mpbc-dd-border);
	font-weight: 600;
	font-size: 15px;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__body {
	padding: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__info {
	margin-bottom: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__title {
	margin: 0 0 0.25rem 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__price {
	font-size: 14px;
	color: var(--mpbc-dd-text-muted);
}

/* Campi personalizzati (Patente Nautica, ecc.) */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__fields,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block {
	margin-top: 1rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout fieldset.mpbc-form-input.wp-block-mpbc-form-input-radio-group {
	margin: 0;
	padding: 1rem;
	background: #f9fafb;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius-sm);
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout fieldset.wp-block-mpbc-form-input-radio-group legend {
	display: block;
	width: 100%;
	margin: 0 0 0.75rem 0;
	padding: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--mpbc-dd-text);
	border: none;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	padding: 0.65rem 0.875rem;
	background: #fff;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius-sm);
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio:last-child {
	margin-bottom: 0;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio:hover {
	border-color: #0096c7 !important;
	background: #e0f7fa !important;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio:has(input:checked) {
	border-color: #0096c7 !important;
	background: #e0f7fa !important;
	box-shadow: 0 0 0 1px #0096c7;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio input[type="radio"] {
	width: 20px;
	height: 20px;
	margin: 0;
	margin-top: 2px;
	flex-shrink: 0;
	accent-color: #0096c7;
	cursor: pointer;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio label {
	display: block;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--mpbc-dd-text);
	cursor: pointer;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio .mpbc-form-input-description {
	margin: 0.35rem 0 0 0;
	font-size: 13px;
	color: var(--mpbc-dd-text-muted);
	line-height: 1.4;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 500;
	font-size: 14px;
	color: var(--mpbc-dd-text);
}

/* Input testo: bordo sempre visibile, anche in focus (mai farli sparire) */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="text"],
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="email"],
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="tel"],
.mpbc-booking-calendar-shortcode input[type="text"],
.mpbc-booking-calendar-shortcode input[type="email"],
.mpbc-booking-calendar-shortcode input[type="tel"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid #c3c4c7 !important;
	border-radius: 4px;
	font-size: 15px;
	line-height: 1.4;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input:focus,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="text"]:focus,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="email"]:focus,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-input input[type="tel"]:focus,
.mpbc-booking-calendar-shortcode input[type="text"]:focus,
.mpbc-booking-calendar-shortcode input[type="email"]:focus,
.mpbc-booking-calendar-shortcode input[type="tel"]:focus {
	border: 2px solid #0096c7 !important;
	outline: none !important;
	box-shadow: 0 0 0 1px #0096c7 !important;
}

/* Griglia campi cliente (nome, email, telefono, ecc.) */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block .mpbc-form-input {
	flex: 1 1 100%;
	min-width: 0;
}

@media (min-width: 480px) {
	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block .wp-block-mpbc-form-input-customer-name,
	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-custom-fields-block .wp-block-mpbc-form-input-customer-email {
		flex: 1 1 calc(50% - 0.75rem);
	}
}

/* Preloader (spinner prezzo) */
.mpbc-booking-calendar-shortcode .mpbc-preloader {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	margin-left: 0.35rem;
	border: 2px solid var(--mpbc-dd-neutral-border);
	border-top-color: #0096c7;
	border-radius: 50%;
	animation: mpbc-dd-spin 0.7s linear infinite;
}

.mpbc-booking-calendar-shortcode .mpbc-preloader.mpbc-hide {
	display: none !important;
}

@keyframes mpbc-dd-spin {
	to { transform: rotate(360deg); }
}

/* Blocco totale e calcolo sconti */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block {
	box-sizing: border-box;
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	background: #f6f7f7;
	border: var(--mpbc-dd-border);
	border-radius: var(--mpbc-dd-radius);
	box-shadow: var(--mpbc-dd-shadow);
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block .mpbc-total-price {
	margin: 0 0 0.5rem 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--mpbc-dd-text);
}

/* Box calcolo dettagliato (responsive, leggibile) */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total {
	box-sizing: border-box;
	display: none;
	max-width: 100%;
	margin-top: 0.875rem;
	padding: 1rem 1.25rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total.mpbc-duration-discounts-total--visible {
	display: block;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: var(--mpbc-dd-radius-sm);
	font-size: 13px;
	line-height: 1.55;
	color: #1e1e1e;
	word-wrap: break-word;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__calc-title,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__discount-title,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__form-adj-title {
	color: #1e1e1e;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__days-rate,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__line,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__save,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__form-adj-line,
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__final {
	color: #1e1e1e;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__calc-title {
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__days-rate {
	word-break: break-word;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__per-day {
	margin-top: 0.25rem;
	font-size: 12px;
	color: #50575e;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__discount-title {
	font-weight: 600;
	margin-top: 0.75rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__line {
	margin-top: 0.2rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__save {
	margin-top: 0.35rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__form-adj-title {
	font-weight: 600;
	margin-top: 0.75rem;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__form-adj-line {
	margin-top: 0.2rem;
	word-break: break-word;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__final {
	font-weight: 700;
	margin-top: 0.75rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--mpbc-dd-neutral-border);
	font-size: 14px;
	color: var(--mpbc-dd-text);
}

/* Pulsante "Prenota ora": blu scuro, testo bianco (forzato) */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .button-submit.button-primary {
	display: inline-block !important;
	margin-top: 1rem;
	padding: 0.65rem 1.5rem !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4;
	color: #ffffff !important;
	background: #1a5fb4 !important;
	border: 1px solid #1a5fb4 !important;
	border-radius: var(--mpbc-dd-radius-sm);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
	outline: none !important;
	box-shadow: none !important;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .button-submit.button-primary:hover {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #ffffff !important;
}

.mpbc-booking-calendar-shortcode .mpbc-step-checkout .button-submit.button-primary:active {
	transform: scale(0.98);
}

/* Messaggio nessun metodo di pagamento */
.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-no-payment-gateways {
	margin: 1rem 0;
	padding: 0.75rem 1rem;
	background: #fcf0f1;
	border: 1px solid #e8b4b8;
	border-radius: 4px;
	color: #721c24;
	font-size: 14px;
}

/* ---- Responsive: tablet ---- */
@media (max-width: 782px) {
	.mpbc-booking-calendar-shortcode {
		--mpbc-dd-day-size: 2.25rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker__header {
		padding: 0.75rem 0.875rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker__month {
		padding: 0.5rem 0.75rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--success,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--info,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--neutral {
		margin-bottom: 0.875rem;
		padding: 0.75rem 0.875rem;
		font-size: 13px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-cart-item__header,
	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__header {
		padding: 0.65rem 0.875rem;
		font-size: 14px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-cart-item__body,
	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__body {
		padding: 0.875rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart {
		padding: 0.65rem 0.75rem;
		font-size: 12px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block {
		padding: 1rem 1.25rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block .mpbc-total-price {
		font-size: 1.15rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total {
		padding: 0.875rem 1rem;
		font-size: 12px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__final {
		font-size: 13px;
	}
}

/* ---- Responsive: mobile ---- */
@media (max-width: 600px) {
	.mpbc-booking-calendar-shortcode {
		--mpbc-dd-day-size: 2rem;
		font-size: 14px;
	}
	.mpbc-booking-calendar-shortcode .mpbc-block + .mpbc-block {
		margin-top: 1rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker-block {
		border-radius: var(--mpbc-dd-radius-sm);
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker__header {
		padding: 0.65rem 0.75rem;
		gap: 0.5rem;
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker__button {
		padding: 0.35rem 0.6rem;
		font-size: 12px;
	}
	.mpbc-booking-calendar-shortcode .mpbc-datepicker__month {
		padding: 0.5rem 0.5rem;
	}
	.mpbc-booking-calendar-shortcode .flatpickr-day {
		font-size: 12px;
	}
	.mpbc-booking-calendar-shortcode .mpbc-variations-block {
		border-radius: var(--mpbc-dd-radius-sm);
	}
	.mpbc-booking-calendar-shortcode .mpbc-cart-block {
		border-radius: var(--mpbc-dd-radius-sm);
	}
	.mpbc-booking-calendar-shortcode .mpbc-cart-block__header {
		flex-direction: column;
		align-items: stretch;
		padding: 0.75rem 1rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-cart .button-next.button-primary {
		width: 100%;
		justify-content: center;
	}

	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--success,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--info,
	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-message.mpbc-dd-msg--neutral {
		margin-bottom: 0.75rem;
		padding: 0.65rem 0.75rem;
		font-size: 12px;
		line-height: 1.4;
	}

	.mpbc-booking-calendar-shortcode .mpbc-cart-item {
		margin-bottom: 0.5rem;
		border-radius: var(--mpbc-dd-radius-sm);
	}

	.mpbc-booking-calendar-shortcode .mpbc-cart-item__header {
		padding: 0.6rem 0.75rem;
		font-size: 13px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-cart-item__body {
		padding: 0.75rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-duration-discounts-cart {
		margin-top: 0.5rem;
		padding: 0.5rem 0.65rem;
		font-size: 12px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-block__breadcrumbs {
		margin-bottom: 1rem;
		padding-bottom: 0.5rem;
		font-size: 13px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item {
		margin-bottom: 0.75rem;
		border-radius: var(--mpbc-dd-radius-sm);
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__header {
		padding: 0.6rem 0.75rem;
		font-size: 14px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-reservations-item__body {
		padding: 0.75rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout fieldset.mpbc-form-input.wp-block-mpbc-form-input-radio-group {
		padding: 0.75rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .wp-block-mpbc-form-input-radio {
		padding: 0.5rem 0.65rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block {
		margin-top: 1.25rem;
		padding: 1rem;
		border-radius: var(--mpbc-dd-radius-sm);
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-form-submit-block .mpbc-total-price {
		font-size: 1.1rem;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total {
		margin-top: 0.75rem;
		padding: 0.75rem;
		font-size: 12px;
		line-height: 1.5;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .mpbc-duration-discounts-total__final {
		margin-top: 0.5rem;
		padding-top: 0.5rem;
		font-size: 13px;
	}

	.mpbc-booking-calendar-shortcode .mpbc-step-checkout .button-submit.button-primary {
		margin-top: 0.875rem;
		padding: 0.6rem 1.25rem;
		font-size: 15px;
		width: 100%;
		text-align: center;
	}
}

/* ---- Popup prenotazioni oltre 10 giorni ---- */
.mpbc-dd-over10-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	padding: 1rem;
	box-sizing: border-box;
}

.mpbc-dd-over10-box {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
	max-width: 420px;
	width: 100%;
	padding: 1.5rem 1.75rem;
}

.mpbc-dd-over10-title {
	margin: 0 0 0.75rem 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: #1e1e1e;
}

.mpbc-dd-over10-message {
	margin: 0 0 1.25rem 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #50575e;
}

.mpbc-dd-over10-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: flex-end;
}

.mpbc-dd-over10-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1.25rem;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	border: 1px solid transparent;
}

.mpbc-dd-over10-btn-close {
	background: #50575e !important;
	border-color: #3c434a !important;
	color: #fff !important;
}

.mpbc-dd-over10-btn-close:hover {
	background: #3c434a !important;
	border-color: #2c3338 !important;
	color: #fff !important;
}

.mpbc-dd-over10-btn-contact {
	background: #0096c7 !important;
	border-color: #0096c7 !important;
	color: #fff !important;
}

.mpbc-dd-over10-btn-contact:hover {
	background: #0077b6 !important;
	border-color: #0077b6 !important;
	color: #fff !important;
}
