/* ==========================================================================
   MotoPress Hotel Booking – habillage aux couleurs du Donjon
   Chargé uniquement sur les pages qui affichent un bloc ou un gabarit MPHB.
   ========================================================================== */

.mphb_sc_search-wrapper,
.mphb-booking-form,
.mphb_sc_checkout-wrapper,
.mphb_sc_account {
	--mphb-gap: 1rem;
}

/* Formulaire de recherche (accueil) : une ligne sur grand écran. */
.mphb_sc_search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--mphb-gap);
	margin: 0;
}

.mphb_sc_search-form > p {
	flex: 1 1 200px;
	margin: 0;
}

.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper {
	flex: 0 0 auto;
}

.mphb_sc_search-form br,
.mphb-required-fields-tip {
	display: none;
}

.mphb_sc_search-form label,
.mphb-booking-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

/* Formulaire de réservation (page logement). */
.mphb-booking-form p {
	margin: 0 0 var(--mphb-gap);
}

.mphb-booking-form .mphb-reserve-btn-wrapper .button,
.mphb-booking-form input[type="submit"] {
	width: 100%;
}

.mphb-reserve-rooms-details,
.mphb-errors-wrapper,
.mphb-period-price {
	font-size: 0.9375rem;
}

/* Prix « à partir de ». */
.mphb-price,
.dds-price .mphb-price {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	color: var(--wp--preset--color--accent);
}

.dds-price {
	font-size: clamp(2.25rem, 4vw, 3rem);
	line-height: 1.1;
}

.mphb-price-period,
.mphb-tax-information {
	font-size: 0.875rem;
	color: var(--wp--preset--color--muted);
}

/* Galerie du logement : mosaïque sur grand écran, carrousel sur mobile. */
.dds-room .mphb-single-room-type-gallery-wrapper {
	position: relative;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery {
	display: flex;
	gap: 0.75rem;
	margin: 0;
	padding-bottom: 0.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery::-webkit-scrollbar {
	display: none;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery > br,
.dds-room .mphb-single-room-type-gallery-wrapper .gallery-caption {
	display: none;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item.is-filtered {
	display: none !important;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item {
	flex: 0 0 80%;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	scroll-snap-align: center;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-icon,
.dds-room .mphb-single-room-type-gallery-wrapper .gallery-icon a {
	display: block;
	height: 100%;
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 0 !important;
	border-radius: var(--dds-radius-s);
	transition: filter var(--dds-ease);
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-icon a:hover img {
	filter: brightness(1.08);
}

.dds-gallery-more {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
	padding: 0.6em 1.2em;
	font: 500 0.9375rem/1 var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--white);
	border: 0;
	border-radius: var(--dds-radius-pill);
	box-shadow: 0 6px 24px rgb(0 0 0 / 0.35);
	cursor: pointer;
}

.dds-gallery-more:hover {
	background: var(--wp--preset--color--contrast);
}

@media (min-width: 782px) {
	.dds-room .mphb-single-room-type-gallery-wrapper .gallery {
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		grid-template-rows: repeat(2, minmax(0, 1fr));
		height: clamp(380px, 40vw, 540px);
		gap: 10px;
		padding: 0;
		overflow: hidden;
		border-radius: var(--dds-radius);
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item.is-lead {
		grid-row: 1 / 3;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item.is-extra {
		display: none;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item.is-last-wide {
		grid-column: span 2;
	}

	/* Moins de cinq photos (filtre) : la mosaïque s'adapte. */
	.dds-room .mphb-single-room-type-gallery-wrapper .gallery[data-count="3"] {
		grid-template-columns: 2fr 1fr;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery[data-count="2"] {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery[data-count="1"] {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery[data-count="1"] .gallery-item.is-lead,
	.dds-room .mphb-single-room-type-gallery-wrapper .gallery[data-count="2"] .gallery-item.is-lead {
		grid-row: auto;
	}

	.dds-room .mphb-single-room-type-gallery-wrapper .gallery-item img {
		aspect-ratio: auto;
		border-radius: 0;
	}

	.dds-gallery-more {
		position: absolute;
		right: 1rem;
		bottom: 1rem;
		margin: 0;
	}
}

/* Équipements. */
.dds-room__attributes ul,
.mphb-loop-room-type-attributes,
.mphb-single-room-type-attributes {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 0.6rem 1.5rem;
}

.mphb-single-room-type-attributes li,
.mphb-loop-room-type-attributes li {
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.mphb-attribute-title {
	color: var(--wp--preset--color--muted);
}

/* Carte de réservation collante sur grand écran. */
@media (min-width: 782px) {
	.dds-room__booking {
		position: sticky;
		top: calc(var(--dds-header-h-compact) + var(--wp-admin--admin-bar--height, 0px) + 2.5rem);
	}
}

/* Services en option. */
.dds-services .mphb_sc_services-wrapper,
.mphb_sc_services-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
}

.mphb-service {
	padding: 1rem;
	background: var(--wp--preset--color--surface-2);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius-s);
}

.mphb-service img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--dds-radius-s);
}

.mphb-service .mphb-service-title {
	margin: 0.75rem 0 0.25rem;
	font-size: 1.0625rem;
}

/* Mobile : services en cartes 2 × 2. */
@media (max-width: 781px) {
	.dds-services .mphb_sc_services-wrapper,
	.mphb_sc_services-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	.mphb-service {
		display: flex;
		flex-direction: column;
		padding: 0.5rem 0.5rem 0.75rem;
	}

	.mphb-service .mphb-loop-service-thumbnail {
		margin: 0;
	}

	.mphb-service .mphb-service-title {
		margin: 0.6rem 0.25rem 0.3rem;
		font-size: 0.875rem;
		line-height: 1.3;
		hyphens: auto;
	}

	.mphb-service .mphb-price-wrapper {
		margin: auto 0.25rem 0;
		font-size: 0.75rem;
		line-height: 1.4;
		color: var(--wp--preset--color--muted);
	}

	.mphb-service .mphb-price-wrapper strong {
		display: none;
	}

	.mphb-service .mphb-price-wrapper .mphb-price {
		display: block;
		font-size: 1rem;
	}
}

/* Tunnel de paiement. */
.mphb_sc_checkout-form fieldset,
.mphb-checkout-section {
	margin: 0 0 1.5rem;
	padding: clamp(1rem, 3vw, 1.75rem);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
	background: var(--wp--preset--color--surface);
}

.mphb_sc_checkout-form legend,
.mphb-checkout-section h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--x-large);
	padding-inline: 0.4rem;
}

.mphb_sc_checkout-form table,
.mphb-booking-details table,
.mphb-price-breakdown {
	width: 100%;
	border-collapse: collapse;
}

.mphb-price-breakdown th,
.mphb-price-breakdown td {
	padding: 0.6rem 0.4rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
}

.mphb-price-breakdown .mphb-price-breakdown-total {
	font-weight: 600;
	color: var(--wp--preset--color--accent);
}

.dds-room .mphb-single-room-type-gallery-wrapper {
	margin-top: var(--wp--preset--spacing--30);
}

.dds-room .mphb-single-room-type-gallery-wrapper .gallery-icon a {
	display: block;
}

/* Cartes de services : hauteur homogène, titre sobre. */
.mphb_sc_services-wrapper {
	align-items: stretch;
}

.mphb_sc_services-wrapper > .mphb-service {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	width: auto !important;
}

.mphb-service .mphb-service-title a,
.mphb-service a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.mphb-service .mphb-service-title a:hover {
	color: var(--wp--preset--color--accent);
}

.mphb-service .mphb-price {
	font-size: 1.125rem;
}

.mphb-service p {
	margin: 0.25rem 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--muted);
}

/* Équipements : simple texte, pas des liens vers des archives sans intérêt. */
.mphb-single-room-type-attributes a,
.mphb-loop-room-type-attributes a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	pointer-events: none;
}

/* Calendrier de disponibilités : place réservée avant sa construction en JavaScript (pas de décalage). */
.dds-room__calendar .mphb-calendar {
	min-height: 430px;
}

@media (max-width: 600px) {
	.dds-room__calendar .mphb-calendar {
		min-height: 724px;
	}
}

/* La galerie occupe la largeur étendue de la page. */
.dds-room > .mphb-single-room-type-gallery-wrapper {
	max-width: var(--wp--style--global--wide-size, 1300px) !important;
	margin-inline: auto !important;
}


/* ==========================================================================
   Calendrier (disponibilités et sélecteur de dates) – partout où MPHB l'affiche
   ========================================================================== */

.mphb-calendar .datepick,
.datepick-popup .datepick {
	width: 100% !important;
	padding: clamp(0.75rem, 2vw, 1.25rem);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface-2) !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--dds-radius);
	box-sizing: border-box;
}

.datepick-popup {
	z-index: 60 !important;
}

.datepick-popup .datepick {
	width: min(92vw, 640px) !important;
	box-shadow: 0 24px 60px rgb(0 0 0 / 0.6);
}

/* Navigation. */
.datepick .datepick-nav,
.datepick .datepick-ctrl {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-cmd,
.datepick .datepick-nav a,
.datepick .datepick-ctrl a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	width: auto !important;
	padding: 0 0.9rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500;
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--dds-radius-pill);
	transition: border-color var(--dds-ease), color var(--dds-ease);
}

.datepick .datepick-cmd:hover:not(.datepick-disabled) {
	color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--accent) !important;
}

.datepick .datepick-cmd.datepick-disabled {
	opacity: 0.35;
	cursor: default;
}

.datepick .datepick-nav a.datepick-cmd-prev,
.datepick .datepick-nav a.datepick-cmd-next {
	font-size: 0 !important;
}

/* Calendrier de la page logement : consultation seule, sans barre « Select dates / Effacer ». */
.dds-room__calendar .datepick-ctrl {
	display: none !important;
}

.datepick .datepick-cmd-prev::before {
	content: "‹  Mois précédent";
	font-size: 0.8125rem;
}

.datepick .datepick-cmd-next::after {
	content: "Mois suivant  ›";
	font-size: 0.8125rem;
}

.datepick .datepick-ctrl .datepick-cmd-clear,
.datepick .datepick-ctrl .datepick-cmd-close {
	font-size: 0.8125rem !important;
}

/* Mois côte à côte (empilés sur mobile). */
.datepick .datepick-month-row {
	display: flex;
	gap: clamp(1rem, 3vw, 2rem);
}

@media (max-width: 600px) {
	.datepick .datepick-month-row {
		flex-direction: column;
	}
}

.datepick .datepick-month {
	flex: 1 1 0;
	width: auto !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-month-header,
.datepick .datepick-month-header select {
	display: flex;
	justify-content: center;
	gap: 0.35rem;
	height: auto !important;
	margin: 0 0 0.5rem;
	padding: 0 !important;
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-month-header select {
	display: inline-block;
	width: auto !important;
	min-height: 0;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.datepick .datepick-month-header select option {
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface-2);
}

/* Grille. */
.datepick .datepick-month table {
	width: 100%;
	margin: 0;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 4px !important;
	table-layout: fixed;
	background: transparent !important;
}

.datepick .datepick-month th,
.datepick .datepick-month td {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
}

.datepick .datepick-month th,
.datepick .datepick-month th a,
.datepick .datepick-month th span {
	padding-bottom: 0.35rem !important;
	font-size: 0.6875rem !important;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted) !important;
	background: transparent !important;
}

/* Jours. */
.datepick .datepick-month td > a,
.datepick .datepick-month td > span {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 44px;
	padding: 2px 0 !important;
	font-size: 0.875rem !important;
	font-weight: 500;
	line-height: 1.1;
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 10px;
	transition: border-color 0.2s, background-color 0.2s;
}

.datepick .mphb-date-cell__price,
.datepick .mphb-date-cell__price .mphb-price {
	font-size: 0.625rem !important;
	font-weight: 400;
	color: var(--wp--preset--color--muted) !important;
}

/* Disponible. */
.datepick .datepick-month td .mphb-available-date {
	background: var(--wp--preset--color--surface) !important;
	border-color: var(--wp--preset--color--line) !important;
}

.datepick .datepick-month td a.mphb-available-date:hover,
.datepick .datepick-month td a.mphb-selectable-date--check-in:hover {
	border-color: var(--wp--preset--color--accent) !important;
}

/* Réservé / indisponible. */
.datepick .datepick-month td .mphb-booked-date,
.datepick .datepick-month td .mphb-unavailable-date,
.datepick .datepick-month td .mphb-not-stay-in-date {
	color: #8d8686 !important;
	background: repeating-linear-gradient(135deg, transparent 0 6px, rgb(255 255 255 / 0.04) 6px 12px) !important;
	text-decoration: line-through;
	text-decoration-color: rgb(255 255 255 / 0.25);
}

.datepick .datepick-month td .mphb-booked-date .mphb-date-cell__price {
	visibility: hidden;
}

/* Demi-journées : arrivée ou départ d'un autre séjour ce jour-là. */
.datepick .datepick-month td .mphb-available-date.mphb-date-check-in {
	background: linear-gradient(135deg, var(--wp--preset--color--surface) 50%, rgb(255 255 255 / 0.06) 50%) !important;
}

.datepick .datepick-month td .mphb-available-date.mphb-date-check-out {
	background: linear-gradient(135deg, rgb(255 255 255 / 0.06) 50%, var(--wp--preset--color--surface) 50%) !important;
}

/* Passé, hors mois. */
.datepick .datepick-month td .mphb-past-date {
	opacity: 1 !important; /* MPHB les passe à 15 % : illisibles. */
	color: #8a8484 !important;
	background: transparent !important;
	text-decoration: line-through;
	text-decoration-color: rgb(138 132 132 / 0.6);
}

.datepick .datepick-month td .mphb-past-date .mphb-date-cell__price {
	display: none;
}

.datepick .datepick-month td .datepick-other-month,
.datepick .datepick-month td .mphb-extra-date {
	visibility: hidden;
}

/* Aujourd'hui. */
.datepick .datepick-month td .datepick-today {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent);
}

/* Sélection. */
.datepick .datepick-month td .datepick-selected,
.datepick .datepick-month td .datepick-highlight,
.datepick .datepick-month td .mphb-selected-date,
.datepick .datepick-month td .mphb-check-in-date,
.datepick .datepick-month td .mphb-check-out-date {
	color: var(--wp--preset--color--white) !important;
	background: var(--wp--preset--color--accent-strong) !important;
	border-color: var(--wp--preset--color--accent-strong) !important;
}

.datepick .datepick-month td .datepick-selected .mphb-date-cell__price,
.datepick .datepick-month td .datepick-selected .mphb-price {
	color: rgb(255 255 255 / 0.85) !important;
}

/* Légende sous le calendrier de la page logement. */
.dds-room__calendar::after {
	content: "Les dates barrées sont déjà réservées. Les prix indiqués sont ceux d'une nuit.";
	display: block;
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
}

/* ==========================================================================
   Calendrier (disponibilités et sélecteur de dates) – partout où MPHB l'affiche
   ========================================================================== */

.mphb-calendar .datepick,
.datepick-popup .datepick {
	width: 100% !important;
	padding: clamp(0.75rem, 2vw, 1.25rem);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface-2) !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--dds-radius);
	box-sizing: border-box;
}

.datepick-popup {
	z-index: 60 !important;
}

.datepick-popup .datepick {
	width: min(92vw, 640px) !important;
	box-shadow: 0 24px 60px rgb(0 0 0 / 0.6);
}

/* Navigation. */
.datepick .datepick-nav,
.datepick .datepick-ctrl {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-cmd,
.datepick .datepick-nav a,
.datepick .datepick-ctrl a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	width: auto !important;
	padding: 0 0.9rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500;
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--dds-radius-pill);
	transition: border-color var(--dds-ease), color var(--dds-ease);
}

.datepick .datepick-cmd:hover:not(.datepick-disabled) {
	color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--accent) !important;
}

.datepick .datepick-cmd.datepick-disabled {
	opacity: 0.35;
	cursor: default;
}

.datepick .datepick-nav a.datepick-cmd-prev,
.datepick .datepick-nav a.datepick-cmd-next {
	font-size: 0 !important;
}

/* Calendrier de la page logement : consultation seule, sans barre « Select dates / Effacer ». */
.dds-room__calendar .datepick-ctrl {
	display: none !important;
}

.datepick .datepick-cmd-prev::before {
	content: "‹  Mois précédent";
	font-size: 0.8125rem;
}

.datepick .datepick-cmd-next::after {
	content: "Mois suivant  ›";
	font-size: 0.8125rem;
}

.datepick .datepick-ctrl .datepick-cmd-clear,
.datepick .datepick-ctrl .datepick-cmd-close {
	font-size: 0.8125rem !important;
}

/* Mois côte à côte (empilés sur mobile). */
.datepick .datepick-month-row {
	display: flex;
	gap: clamp(1rem, 3vw, 2rem);
}

@media (max-width: 600px) {
	.datepick .datepick-month-row {
		flex-direction: column;
	}
}

.datepick .datepick-month {
	flex: 1 1 0;
	width: auto !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-month-header,
.datepick .datepick-month-header select {
	display: flex;
	justify-content: center;
	gap: 0.35rem;
	height: auto !important;
	margin: 0 0 0.5rem;
	padding: 0 !important;
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
	border: 0 !important;
}

.datepick .datepick-month-header select {
	display: inline-block;
	width: auto !important;
	min-height: 0;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.datepick .datepick-month-header select option {
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface-2);
}

/* Grille. */
.datepick .datepick-month table {
	width: 100%;
	margin: 0;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 4px !important;
	table-layout: fixed;
	background: transparent !important;
}

.datepick .datepick-month th,
.datepick .datepick-month td {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
}

.datepick .datepick-month th,
.datepick .datepick-month th a,
.datepick .datepick-month th span {
	padding-bottom: 0.35rem !important;
	font-size: 0.6875rem !important;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted) !important;
	background: transparent !important;
}

/* Jours. */
.datepick .datepick-month td > a,
.datepick .datepick-month td > span {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 44px;
	padding: 2px 0 !important;
	font-size: 0.875rem !important;
	font-weight: 500;
	line-height: 1.1;
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 10px;
	transition: border-color 0.2s, background-color 0.2s;
}

.datepick .mphb-date-cell__price,
.datepick .mphb-date-cell__price .mphb-price {
	font-size: 0.625rem !important;
	font-weight: 400;
	color: var(--wp--preset--color--muted) !important;
}

/* Disponible. */
.datepick .datepick-month td .mphb-available-date {
	background: var(--wp--preset--color--surface) !important;
	border-color: var(--wp--preset--color--line) !important;
}

.datepick .datepick-month td a.mphb-available-date:hover,
.datepick .datepick-month td a.mphb-selectable-date--check-in:hover {
	border-color: var(--wp--preset--color--accent) !important;
}

/* Réservé / indisponible. */
.datepick .datepick-month td .mphb-booked-date,
.datepick .datepick-month td .mphb-unavailable-date,
.datepick .datepick-month td .mphb-not-stay-in-date {
	color: #8d8686 !important;
	background: repeating-linear-gradient(135deg, transparent 0 6px, rgb(255 255 255 / 0.04) 6px 12px) !important;
	text-decoration: line-through;
	text-decoration-color: rgb(255 255 255 / 0.25);
}

.datepick .datepick-month td .mphb-booked-date .mphb-date-cell__price {
	visibility: hidden;
}

/* Demi-journées : arrivée ou départ d'un autre séjour ce jour-là. */
.datepick .datepick-month td .mphb-available-date.mphb-date-check-in {
	background: linear-gradient(135deg, var(--wp--preset--color--surface) 50%, rgb(255 255 255 / 0.06) 50%) !important;
}

.datepick .datepick-month td .mphb-available-date.mphb-date-check-out {
	background: linear-gradient(135deg, rgb(255 255 255 / 0.06) 50%, var(--wp--preset--color--surface) 50%) !important;
}

/* Passé, hors mois. */
.datepick .datepick-month td .mphb-past-date {
	opacity: 1 !important; /* MPHB les passe à 15 % : illisibles. */
	color: #8a8484 !important;
	background: transparent !important;
	text-decoration: line-through;
	text-decoration-color: rgb(138 132 132 / 0.6);
}

.datepick .datepick-month td .mphb-past-date .mphb-date-cell__price {
	display: none;
}

.datepick .datepick-month td .datepick-other-month,
.datepick .datepick-month td .mphb-extra-date {
	visibility: hidden;
}

/* Aujourd'hui. */
.datepick .datepick-month td .datepick-today {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent);
}

/* Sélection. */
.datepick .datepick-month td .datepick-selected,
.datepick .datepick-month td .datepick-highlight,
.datepick .datepick-month td .mphb-selected-date,
.datepick .datepick-month td .mphb-check-in-date,
.datepick .datepick-month td .mphb-check-out-date {
	color: var(--wp--preset--color--white) !important;
	background: var(--wp--preset--color--accent-strong) !important;
	border-color: var(--wp--preset--color--accent-strong) !important;
}

.datepick .datepick-month td .datepick-selected .mphb-date-cell__price,
.datepick .datepick-month td .datepick-selected .mphb-price {
	color: rgb(255 255 255 / 0.85) !important;
}

/* Légende sous le calendrier de la page logement. */
.dds-room__calendar::after {
	content: "Les dates barrées sont déjà réservées. Les prix indiqués sont ceux d'une nuit.";
	display: block;
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
}

/* Visionneuse de photos (plein écran). */
.dds-no-scroll {
	overflow: hidden;
}

.dds-viewer {
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--white);
	background: rgb(0 0 0 / 0.96);
	border: 0;
}

.dds-viewer::backdrop {
	background: rgb(0 0 0 / 0.9);
}

.dds-viewer__track {
	display: flex;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.dds-viewer__track::-webkit-scrollbar {
	display: none;
}

.dds-viewer__track figure {
	flex: 0 0 100%;
	display: grid;
	place-items: center;
	margin: 0;
	padding: clamp(3rem, 6vh, 4rem) clamp(0.5rem, 4vw, 5rem);
	scroll-snap-align: center;
	box-sizing: border-box;
}

.dds-viewer__track img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100dvh - 8rem);
	object-fit: contain;
	border-radius: var(--dds-radius-s);
}

.dds-viewer__count {
	position: absolute;
	top: 1rem;
	left: 50%;
	translate: -50% 0;
	margin: 0;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
}

.dds-viewer button {
	position: absolute;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	font-size: 2rem;
	line-height: 1;
	color: inherit;
	background: rgb(255 255 255 / 0.1);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.dds-viewer button:hover {
	background: rgb(255 255 255 / 0.2);
}

.dds-viewer__close {
	top: 0.75rem;
	right: 0.75rem;
}

.dds-viewer__prev,
.dds-viewer__next {
	top: 50%;
	translate: 0 -50%;
}

.dds-viewer__prev {
	left: 0.75rem;
}

.dds-viewer__next {
	right: 0.75rem;
}

@media (max-width: 600px) {
	.dds-viewer__prev,
	.dds-viewer__next {
		display: none !important;
	}
}

/* Filtres de la galerie par espace. */
.dds-gallery-filters {
	display: flex;
	gap: 0.5rem;
	margin: 0 0 1rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.dds-gallery-filters::-webkit-scrollbar {
	display: none;
}

.dds-gallery-filters button {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 38px;
	padding: 0 1rem;
	font: 500 0.875rem/1 var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--contrast);
	background: transparent;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius-pill);
	cursor: pointer;
	transition: border-color var(--dds-ease), background-color var(--dds-ease);
}

.dds-gallery-filters button span {
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
}

.dds-gallery-filters button:hover {
	border-color: var(--wp--preset--color--accent);
}

.dds-gallery-filters button[aria-pressed="true"] {
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--accent-strong);
	border-color: var(--wp--preset--color--accent-strong);
}

.dds-gallery-filters button[aria-pressed="true"] span {
	color: #fff;
	font-weight: 600;
}

.dds-gallery-filters button.is-option {
	border-color: rgb(255 64 56 / 0.6);
}

/* -------------------------------------------------------------------------
 * Espace client ([mphb_account], voir dds-core/includes/account-ui.php).
 * ---------------------------------------------------------------------- */

.dds-account {
	--dds-acc-gap: clamp(1rem, 3vw, 2rem);
	display: grid;
	gap: var(--dds-acc-gap);
}

/* MPHB place le menu dans une colonne flottante : on l'annule. */
.dds-account::after {
	content: none;
}

.dds-account .mphb-account-menu,
.dds-account .mphb-account-content {
	float: none !important;
	width: auto !important;
}

/* Titre de la page : « Bonjour Prénom ». */
.page .dds-section-title span {
	color: var(--wp--preset--color--accent);
}

.dds-account h2 {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--large, 1.5rem);
}

.dds-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.2em 0.75em;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.6;
	border-radius: var(--dds-radius-pill);
	border: 1px solid currentColor;
}

.dds-badge::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: currentColor;
}

.dds-badge--ok { color: #6fd08c; }
.dds-badge--wait { color: #f0b85a; }
.dds-badge--off { color: var(--wp--preset--color--muted); }

.dds-link {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	text-decoration: none;
}

.dds-link:hover,
.dds-link:focus-visible {
	text-decoration: underline;
}

.dds-link::after {
	content: " →";
}

.wp-element-button.is-outline {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line);
}

.wp-element-button.is-outline:hover {
	border-color: var(--wp--preset--color--accent);
}

/* Connexion : formulaire et explications côte à côte. */
@media (min-width: 782px) {
	.dds-account.is-guest {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
		max-width: 980px;
	}
}

.dds-account__login,
.dds-account__aside,
.dds-account__next,
.dds-account .mphb-account-content > form,
.dds-account__bookings,
.dds-account .dds-pending-bookings {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
}

.dds-account__login form p {
	margin: 0 0 1rem;
}

.dds-account__login label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}

.dds-account__login input[type="text"],
.dds-account__login input[type="password"] {
	width: 100%;
}

.dds-account__login .login-remember label {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	color: var(--wp--preset--color--contrast);
}

.dds-account__login .login-submit .button,
.dds-account__login input[type="submit"] {
	width: 100%;
}

.dds-account__login > a,
.dds-account__login p:last-child a {
	color: var(--wp--preset--color--accent);
	font-size: 0.9rem;
}

.dds-account__aside {
	background: transparent;
}

/* Connecté : menu en pastilles. */
.dds-account .mphb-account-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dds-account .mphb-account-menu a {
	display: block;
	padding: 0.55rem 1.1rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius-pill);
	transition: border-color 0.2s, background-color 0.2s;
}

.dds-account .mphb-account-menu a:hover {
	border-color: var(--wp--preset--color--accent);
}

.dds-account .mphb-account-menu .is-active a {
	color: #fff;
	background: var(--wp--preset--color--accent-strong);
	border-color: var(--wp--preset--color--accent-strong);
}

.dds-account .mphb-account-menu .dds-account__nav-logout a {
	color: var(--wp--preset--color--muted);
	border-style: dashed;
}

/* La grille ne doit jamais s'élargir au-delà de l'écran (contenus larges, tableaux…). */
.dds-account {
	grid-template-columns: minmax(0, 1fr);
}

.dds-account > *,
.dds-account .mphb-account-content > * {
	min-width: 0;
}

/* Mobile : onglets en grille 2 colonnes, tous visibles, déconnexion en bas. */
@media (max-width: 600px) {
	.dds-account .mphb-account-menu ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.dds-account .mphb-account-menu a {
		padding: 0.6rem 0.5rem;
		text-align: center;
		font-size: 0.85rem;
	}

	.dds-account .mphb-account-menu .dds-account__nav-logout {
		grid-column: 1 / -1;
	}

	.dds-account .mphb-account-menu .dds-account__nav-logout a {
		border: 0;
		padding-block: 0.25rem;
		font-weight: 400;
		text-decoration: underline;
	}

	.dds-account .dds-account__shortcuts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	.dds-account .dds-account__shortcut {
		padding: 3rem 0.9rem 0.9rem;
		text-align: left;
	}

	.dds-account .dds-account__shortcut::before {
		left: 0.9rem;
		top: 0.9rem;
		width: 1.5rem;
		height: 1.5rem;
		translate: none;
	}

	.dds-account .dds-account__shortcut strong {
		font-size: 0.9rem;
	}

	.dds-account .dds-account__shortcut span {
		font-size: 0.75rem;
	}

	.dds-account__next-actions .wp-element-button {
		width: 100%;
		text-align: center;
	}

	.dds-account .mphb-account-details-form :is(input, select) {
		font-size: 16px; /* Évite le zoom automatique d'iOS sur les champs. */
	}
}

.dds-account:not(.is-guest) .mphb-account-content {
	display: grid;
	gap: var(--dds-acc-gap);
}

/* Tableau de bord. */
.dds-account__dashboard {
	display: grid;
	gap: var(--dds-acc-gap);
}

.dds-account__next {
	background: linear-gradient(135deg, rgb(217 47 40 / 0.18), transparent 60%), var(--wp--preset--color--surface);
}

.dds-account__eyebrow {
	margin: 0 0 0.25rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.dds-account__next h2 {
	margin-bottom: 0.25rem;
}

.dds-account__dates {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--muted);
}

.dds-account__dates::first-letter {
	text-transform: uppercase;
}

.dds-account__next-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin: 1.25rem 0 0;
}

.dds-account__shortcuts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
}

.dds-account__shortcut {
	display: grid;
	gap: 0.25rem;
	padding: 1.25rem 1.25rem 1.25rem 4rem;
	position: relative;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
	transition: border-color 0.2s, transform 0.2s;
}

.dds-account__shortcut:hover,
.dds-account__shortcut:focus-visible {
	border-color: var(--wp--preset--color--accent);
	transform: translateY(-2px);
}

.dds-account__shortcut span {
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

.dds-account__shortcut::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	top: 50%;
	width: 1.75rem;
	height: 1.75rem;
	translate: 0 -50%;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--dds-icon) center / contain no-repeat;
	mask: var(--dds-icon) center / contain no-repeat;
}

.dds-account__shortcut--bookings { --dds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.dds-account__shortcut--gift { --dds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='8' width='18' height='13' rx='2'/%3E%3Cpath d='M3 12h18M12 8v13M12 8S10 3 7.5 4.5 9 8 12 8zm0 0s2-5 4.5-3.5S15 8 12 8z'/%3E%3C/svg%3E"); }
.dds-account__shortcut--details { --dds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E"); }
.dds-account__shortcut--book { --dds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 21s-8-5.3-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 5.7-8 11-8 11z'/%3E%3C/svg%3E"); }

/* Réservations et cartes cadeaux : tableaux lisibles, en cartes sur mobile. */
.dds-account table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.dds-account th {
	padding: 0 0.75rem 0.6rem;
	text-align: left;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.dds-account td {
	padding: 0.9rem 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	vertical-align: middle;
}

.dds-account tr:last-child td {
	border-bottom: 0;
}

.dds-account td .booking-status {
	margin-left: 0.5rem;
}

.dds-account .dds-gc-account code {
	font-size: 0.95em;
	color: var(--wp--preset--color--accent);
	background: none;
}

@media (max-width: 781px) {
	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) thead {
		display: none;
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments),
	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) :is(tbody, tr, td) {
		display: block;
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) tr {
		padding: 1rem 0;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) tr:last-child {
		border-bottom: 0;
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) td {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.3rem 0;
		border: 0;
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) td[data-title]::before {
		content: attr(data-title);
		color: var(--wp--preset--color--muted);
	}

	.dds-account :is(.mphb-account-bookings, .dds-gc-account, .dds-booking__payments) td:first-child {
		flex-wrap: wrap;
		font-weight: 600;
	}
}

/* Mes informations : formulaire sur deux colonnes. */
.dds-account .mphb-account-details-form {
	display: grid;
	gap: 0 1.25rem;
}

@media (min-width: 782px) {
	.dds-account .mphb-account-details-form {
		grid-template-columns: 1fr 1fr;
	}

	.dds-account .mphb-account-details-form > :is(h2, h3, fieldset, .mphb-account-details-submit, p:has([type="submit"])) {
		grid-column: 1 / -1;
	}
}

.dds-account .mphb-account-details-form p {
	margin: 0 0 1rem;
}

.dds-account .mphb-account-details-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}

.dds-account .mphb-account-details-form :is(input:not([type="checkbox"], [type="radio"], [type="submit"]), select) {
	width: 100%;
}

.dds-account .mphb-account-details-form input[readonly] {
	opacity: 0.6;
}

/* Détail d'une réservation (onglet Réservations). */
.dds-account__back {
	margin: 0;
}

.dds-account__back a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	font-size: 0.9rem;
}

.dds-account__back a:hover {
	color: var(--wp--preset--color--accent);
}

.dds-booking {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
}

.dds-booking > :last-child {
	margin-bottom: 0;
}

.dds-booking__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1.5rem;
}

.dds-booking__head h2 {
	margin: 0;
}

.dds-booking__dates {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem;
	margin-bottom: 1.5rem;
	background: var(--wp--preset--color--surface-2);
	border-radius: var(--dds-radius-s);
}

.dds-booking__dates p {
	margin: 0;
}

.dds-booking__label,
.dds-booking__facts dt {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.dds-booking__day {
	font-weight: 600;
	font-size: 1.05rem;
}

.dds-booking__day::first-letter {
	text-transform: uppercase;
}

.dds-booking__arrow {
	font-size: 1.5rem;
	color: var(--wp--preset--color--accent);
}

.dds-booking__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem 1.5rem;
	margin: 0;
}

.dds-booking__facts dd {
	margin: 0.2rem 0 0;
}

.dds-booking__facts a {
	color: var(--wp--preset--color--accent);
}

.dds-booking__alert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 1.5rem 0 0;
	padding: 1rem 1.25rem;
	border: 1px solid #f0b85a;
	border-radius: var(--dds-radius-s);
	color: #f0b85a;
}

.dds-booking__deposit {
	margin: 1.25rem 0 0;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--surface-2);
	border-radius: var(--dds-radius-s);
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}

.dds-booking__deposit strong {
	color: var(--wp--preset--color--contrast);
}

/* Récapitulatif du prix. */
.dds-price {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.dds-price :is(th, td) {
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-weight: 400;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast);
}

.dds-price td {
	text-align: right;
	white-space: nowrap;
	padding-left: 1rem;
}

.dds-price .is-sub :is(th, td),
.dds-price .is-tax :is(th, td) {
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

.dds-price .is-sub th {
	padding-left: 1rem;
}

.dds-price .is-discount td {
	color: #6fd08c;
}

.dds-price tfoot :is(th, td) {
	padding-top: 1rem;
	border-bottom: 0;
	font-size: 1.15rem;
	font-weight: 700;
}

.dds-price tfoot td {
	color: var(--wp--preset--color--accent);
}

.dds-booking--help {
	text-align: center;
	background: transparent;
}

@media (max-width: 600px) {
	.dds-booking__dates {
		grid-template-columns: 1fr;
	}

	.dds-booking__arrow {
		display: none;
	}
}

/* Page « Réservation reçue » : récapitulatif en cartes plutôt qu'en colonnes pointillées. */
.mphb_sc_booking_confirmation .mphb-booking-details-section {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
}

.mphb_sc_booking_confirmation .mphb-booking-details-section + .mphb-booking-details-section {
	margin-top: 1.5rem;
}

.mphb_sc_booking_confirmation .mphb-booking-details-section h3,
.mphb_sc_booking_confirmation .mphb-booking-details-section h2 {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--large, 1.5rem);
}

.mphb_sc_booking_confirmation .mphb-booking-details-section .mphb-booking-details {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.75rem;
}

.mphb_sc_booking_confirmation .mphb-booking-details-section .mphb-booking-details > li {
	margin: 0 !important;
	padding: 0.9rem 1rem !important;
	border: 0 !important;
	background: var(--wp--preset--color--surface-2);
	border-radius: var(--dds-radius-s);
}

.mphb_sc_booking_confirmation .mphb-booking-details > li span.label {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.mphb_sc_booking_confirmation .mphb-booking-details > li span.value {
	font-weight: 600;
}

/* Champ obligatoire : l'astérisque reste à côté de son libellé. */
.dds-account .mphb-account-details-form p:has(> abbr) > label {
	display: inline-block;
}

.dds-account .mphb-account-details-form abbr {
	margin-left: 0.2em;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border: 0;
}

.dds-account .mphb-account-details-form p:has(> abbr) > :is(input, select) {
	display: block;
}

/* Onglet Cartes cadeaux et réservations vides : même carte que les autres onglets. */
.dds-account.is-tab-cartes-cadeaux .mphb-account-content,
.dds-account.is-tab-bookings .mphb-account-content > p:only-child {
	display: block;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--dds-radius);
}

.dds-account.is-tab-cartes-cadeaux .mphb-account-content > p:last-child {
	margin-bottom: 0;
}
