.riad-t4 {
	--nuit-medina: #1A1410;
	--terre-cuite: #3D2B1A;
	--or-epice: #C5853A;
	--or-doux: #E8C07A;
	--safran: #7D4A28;
	--cannelle: #A0522D;
	--cannelle-clair: #D4885F;
	--ivoire: #F5ECD8;
	--parchemin: #E8E0D0;
	--vert-zellige: #4A6741;
	--texte: #2C1F12;
	background: var(--ivoire);
	font-family: 'DM Sans', sans-serif;
	color: var(--texte);
	overflow-x: clip;
}
.riad-t4 * { box-sizing: border-box; }
.riad-t4 a { text-decoration: none; color: var(--safran); }
.riad-t4 a:hover { color: var(--nuit-medina); }
.riad-t4__shell { max-width: 90rem; margin: 0 auto; padding: 0 3rem; }

/* Ce gabarit fournit son propre header/footer : on masque ceux d'Avada et on
   libère le conteneur #main/.fusion-row (borné à 1100px par le thème parent)
   pour que les sections occupent toute la largeur de la fenêtre. */
body.page-template-template-tarifs-php .fusion-header-wrapper,
body.page-template-template-tarifs-php .fusion-footer-widget-area,
body.page-template-template-tarifs-php .fusion-footer-copyright-area {
	display: none !important;
}
body.page-template-template-tarifs-php #main,
body.page-template-template-tarifs-php #main .fusion-row,
body.page-template-template-tarifs-php #content {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* La barre de navigation est commune aux gabarits : son habillage vit dans
   assets/css/nav.css et son balisage dans riad_nav_render(). Rien à styler ici. */

/* Header */
.riad-t4__header { background: var(--nuit-medina); padding: 9.5rem 0 4.5rem; }
.riad-t4__breadcrumb { display: flex; gap: 0.625rem; align-items: center; flex-wrap: wrap; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cannelle-clair); margin-bottom: 1.75rem; }
.riad-t4__breadcrumb a { color: var(--cannelle-clair); }
.riad-t4__breadcrumb a:hover { color: var(--or-doux); }
.riad-t4__breadcrumb .is-current { color: var(--parchemin); }
.riad-t4__eyebrow { font-size: 0.6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.14em; color: var(--or-epice); margin-bottom: 1.125rem; }
.riad-t4__h1 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: clamp(2.75rem, 1.6rem + 4vw, 4.25rem); line-height: 1.04; letter-spacing: -0.02em; color: var(--ivoire); margin: 0; }
.riad-t4__tagline { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.5rem; line-height: 1.45; color: var(--parchemin); margin: 1.125rem 0 0; max-width: 40ch; }

/* Main */
.riad-t4__main { background: var(--ivoire); padding: 5.5rem 0 6.5rem; }
.riad-t4__main-shell { max-width: 90rem; margin: 0 auto; padding: 0 3rem; display: grid; grid-template-columns: minmax(0,1fr) 22.5rem; gap: 5.5rem; align-items: start; }
.riad-t4__body { max-width: 68ch; font-size: 1.0625rem; line-height: 1.7; color: var(--texte); }
.riad-t4__body p { margin: 0 0 1.25rem; }
#main .riad-t4__body h2 { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: 1.75rem; color: var(--nuit-medina); margin: 2.75rem 0 1.5rem; }
.riad-t4__body h2:first-child { margin-top: 0; }
#main .riad-t4__body h3 { margin: 2rem 0 0.75rem; font-family: 'Cormorant Garamond', serif; font-size: 1.375rem; font-weight: 600; color: var(--safran); }
.riad-t4__body ul { margin: 0 0 2rem; padding: 0; list-style: none; }
.riad-t4__body li { position: relative; margin: 0; padding: 0.6875rem 0 0.6875rem 1.75rem; border-bottom: 1px solid rgba(125,74,40,0.14); line-height: 1.55; }
.riad-t4__body ul > li::before { content: ''; position: absolute; top: 1.25rem; left: 0.25rem; width: 0.4375rem; height: 0.4375rem; background: var(--or-epice); transform: rotate(45deg); }
.riad-t4__body li > ul { margin: 0.625rem 0 0; }
.riad-t4__body li > ul > li { border-bottom: 0; padding-block: 0.375rem; color: var(--safran); }
.riad-t4__body li > ul > li::before { top: 0.875rem; width: 0.3125rem; height: 0.3125rem; background: transparent; border: 1px solid var(--or-epice); }

/* Inclusions tarifaires, rythme d'une fiche Airbnb : picto linéaire + texte, deux colonnes. */
.riad-t4__amenities {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 2.5rem;
	margin: 0 0 2rem;
	padding: 0.25rem 0 0;
	border-top: 1px solid rgba(125, 74, 40, 0.16);
	list-style: none;
}
.riad-t4__body .riad-t4__amenities > li {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	margin: 0;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(125, 74, 40, 0.16);
	line-height: 1.45;
	color: var(--nuit-medina);
}
.riad-t4__body .riad-t4__amenities > li::before { content: none; }
.riad-t4__amenity-icon {
	flex: 0 0 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.1rem;
	color: var(--nuit-medina);
}
.riad-t4__amenity-icon svg { display: block; width: 100%; height: 100%; }
.riad-t4__amenity-label { font-size: 1rem; font-weight: 500; }

/* Tableaux de prix issus du contenu réel de la page : mise en forme reprise de la charte du
   gabarit plutôt que du thème parent. */
.riad-t4__body table {
	width: 100%;
	min-width: 38rem;
	border-collapse: collapse;
	margin: 0 0 1rem;
	font-size: 0.9375rem;
}
.riad-t4__body .fusion-table {
	width: 100%;
	max-width: 100%;
	margin: 1.5rem 0 2rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.riad-t4__body table thead th {
	background: var(--nuit-medina);
	color: var(--or-doux);
	font-size: 0.6875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: left;
	padding: 0.875rem 1.125rem;
}
.riad-t4__body table tbody td {
	padding: 0.875rem 1.125rem;
	border-bottom: 1px solid rgba(125,74,40,0.16);
	vertical-align: top;
}
.riad-t4__body table th:first-child,
.riad-t4__body table td:first-child { min-width: 13rem; }
.riad-t4__body table tbody tr:nth-child(even) td { background: var(--parchemin); }
.riad-t4__body table tbody tr:hover td { background: rgba(197,133,58,0.12); }

/* Boutons posés dans l'éditeur par le constructeur du thème parent. */
.riad-t4__body .fusion-button-wrapper { margin: 0.5rem 0.75rem 1.75rem 0; display: inline-block; vertical-align: middle; }
.riad-t4__body .fusion-button-wrapper.fusion-aligncenter { display: inline-block !important; text-align: left; }
.riad-t4__body .gallery,
.riad-t4__body [id^="gallery-"],
.riad-t4__body img { display: none !important; }
.riad-t4 .riad-t4__body a.fusion-button {
	display: inline-block;
	border-radius: 0 !important;
	border: 1px solid var(--or-epice) !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	padding: 0.875rem 1.25rem !important;
	height: auto !important;
	line-height: 1.2 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	white-space: nowrap;
	transition: background 0.25s ease, color 0.25s ease;
}
#wrapper .riad-t4__body a.fusion-button { border-radius: 0 !important; }
.riad-t4 .riad-t4__body a.fusion-button .fusion-button-text { color: var(--safran) !important; font-size: inherit !important; letter-spacing: inherit !important; }
.riad-t4 .riad-t4__body a.fusion-button:hover,
.riad-t4 .riad-t4__body a.fusion-button:focus,
.riad-t4 .riad-t4__body a.fusion-button:active { background: var(--or-epice) !important; border-color: var(--or-epice) !important; }
.riad-t4 .riad-t4__body a.fusion-button:hover .fusion-button-text,
.riad-t4 .riad-t4__body a.fusion-button:focus .fusion-button-text,
.riad-t4 .riad-t4__body a.fusion-button:active .fusion-button-text { color: var(--nuit-medina) !important; }
.riad-t4 .riad-t4__body a.fusion-button i,
.riad-t4 .riad-t4__body a.fusion-button .button-icon-left,
.riad-t4 .riad-t4__body a.fusion-button .button-icon-right { display: none !important; }

/* Sidebar */
.riad-t4__sidebar { position: sticky; top: 7rem; z-index: 2; display: flex; flex-direction: column; gap: 0.875rem; }
.riad-t4__book { background: var(--nuit-medina); padding: 2.25rem 2rem; }
.riad-t4__book-label { font-size: 0.6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cannelle-clair); margin-bottom: 0.875rem; }
.riad-t4__book-text { font-size: 0.875rem; line-height: 1.65; color: var(--parchemin); margin: 0; }
.riad-t4__btn { display: block; text-align: center; font-size: 0.8125rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; padding: 1.0625rem; margin-top: 1.375rem; }
.riad-t4__btn--primary { background: var(--or-epice); color: var(--nuit-medina) !important; }
.riad-t4__btn--primary:hover { background: var(--or-doux); }
.riad-t4__book-sub { font-size: 0.6875rem; text-align: center; color: var(--cannelle-clair); margin-top: 0.75rem; }

/*
 * Formulaire de paiement Stripe (WP Simple Pay). Le balisage vient du plugin et ne doit pas être
 * modifié : seule sa présentation est reprise ici, ainsi que la neutralisation des puces que
 * content.css applique aux listes éditoriales, la liste des chambres étant un groupe de boutons radio.
 */
.riad-t4__body .simpay-checkout-form { margin: 2.5rem 0 1rem; padding: 2rem; background: var(--ivoire); border: 1px solid rgba(125,74,40,0.18); }
.riad-t4__body .simpay-form-control + .simpay-form-control { margin-top: 1.75rem; }
.riad-t4__body .simpay-label-wrap { margin: 0; font-size: 0.6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--safran); }
.riad-t4__body .simpay-label-wrap label { color: var(--safran); }
.riad-t4__body .simpay-radio-wrap ul { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.riad-t4__body .simpay-radio-wrap li { margin: 0; padding: 0; border: 0; }
.riad-t4__body .simpay-radio-wrap li::before { content: none; }
.riad-t4__body .simpay-radio-wrap li label { display: flex; align-items: center; gap: 0.625rem; padding: 0.8125rem 0.9375rem; border: 1px solid rgba(125,74,40,0.22); background: var(--parchemin); font-size: 0.9375rem; color: var(--nuit-medina); cursor: pointer; transition: border-color 0.2s ease; }
.riad-t4__body .simpay-radio-wrap li label:hover { border-color: var(--or-epice); }
.riad-t4__body .simpay-radio-wrap input[type="radio"] { accent-color: var(--or-epice); margin: 0; }
.riad-t4__body .simpay-field-wrap { margin: 0.875rem 0 0; }
.riad-t4__body .simpay-quantity-input { width: 100%; max-width: 9rem; height: auto; padding: 0.875rem 1rem; border: 1px solid rgba(125,74,40,0.28); border-radius: 0; background: var(--parchemin); font-size: 1rem; color: var(--nuit-medina); }
.riad-t4__body .simpay-quantity-input:focus { border-color: var(--or-epice); outline: none; }
.riad-t4__body .simpay-total-amount-label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.75rem; padding-top: 1.5rem; border-top: 1px solid rgba(125,74,40,0.22); }
.riad-t4__body .simpay-total-amount-value { font-family: 'Cormorant Garamond', serif; font-size: 1.75rem; letter-spacing: 0; text-transform: none; color: var(--nuit-medina); }
.riad-t4__body button.simpay-payment-btn { display: block; width: 100%; height: auto; padding: 1.0625rem 2rem; border: 0; border-radius: 0 !important; background: var(--or-epice) !important; box-shadow: none; font-family: inherit; font-size: 0.8125rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--nuit-medina) !important; text-shadow: none; cursor: pointer; transition: background-color 0.25s ease; }
.riad-t4__body button.simpay-payment-btn:hover { background: var(--or-doux) !important; }
.riad-t4__body button.simpay-payment-btn span { background: none; font: inherit; color: inherit; text-shadow: none; }
.riad-t4__body .simpay-field-error, .riad-t4__body .simpay-errors { margin: 0.75rem 0 0; font-size: 0.8125rem; color: #a4402a; }
.riad-t4__body .simpay-field-error:empty { display: none; }

/* Maillage vers les fiches des hébergements dont la page annonce le tarif. */
.riad-t4__rooms { background: var(--parchemin); padding: 4.5rem 0 5.5rem; }
.riad-t4__rooms-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 2rem; }
#main .riad-t4__h2 { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 1.875rem; line-height: 1.15; color: var(--nuit-medina); }
.riad-t4__rooms-count { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--safran); }
.riad-t4__rooms-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0,1fr)); }
.riad-t4__room { display: flex; flex-direction: column; background: var(--ivoire); border: 1px solid rgba(125,74,40,0.16); overflow: hidden; color: var(--texte) !important; transition: border-color 0.25s ease; }
.riad-t4__room:hover { border-color: var(--or-epice); }
.riad-t4__room:hover .riad-t4__room-photo { opacity: 0.88; }
/* Le padding vit sur .riad-t4__room-body et non sur .riad-t4__room : une carte sans photo (page
   sans « riad_photos » renseigné) garde ainsi le même padding sur son seul bloc texte. */
.riad-t4__room-photo { display: block; aspect-ratio: 4/3; background-color: var(--terre-cuite); background-size: cover; background-position: center; transition: opacity 0.25s ease; }
.riad-t4__room-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.riad-t4__room-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(125,74,40,0.22); }
.riad-t4__room-name { font-family: 'Cormorant Garamond', serif; font-size: 1.375rem; line-height: 1.2; color: var(--nuit-medina); }
.riad-t4__room-price { font-family: 'Cormorant Garamond', serif; font-size: 1.125rem; color: var(--safran); white-space: nowrap; }
.riad-t4__room-kind { margin-top: 0.75rem; font-size: 0.625rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cannelle); }
.riad-t4__room-desc { flex: 1; margin-top: 0.625rem; font-size: 0.875rem; line-height: 1.6; color: #5c4630; }
.riad-t4__room-cta { margin-top: 1.125rem; font-size: 0.6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; color: var(--safran); }
.riad-t4__room:hover .riad-t4__room-cta { color: var(--nuit-medina); }
.riad-t4__rooms-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.25rem; }
.riad-t4__rooms-links a { display: inline-flex; align-items: center; justify-content: center; min-width: 15rem; padding: 1.0625rem 2rem; border: 1px solid rgba(125,74,40,0.4); font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; color: var(--safran) !important; transition: border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease; }
.riad-t4__rooms-links a:hover { border-color: var(--or-epice); background: var(--or-epice); color: var(--nuit-medina) !important; }

/* Breakpoints */
@media (max-width: 71.875rem) {
	.riad-t4__body .simpay-radio-wrap ul { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.riad-t4__main-shell { grid-template-columns: minmax(0,1fr); gap: 0; }
	.riad-t4__sidebar { position: static; margin-top: 3.5rem; max-width: 32.5rem; }
	.riad-t4__rooms-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.riad-t4__room-head { flex-wrap: wrap; gap: 0.375rem 1rem; }
	.riad-t4__room-price { white-space: normal; }
}
@media (max-width: 47.5rem) {
	.riad-t4__shell { padding: 0 1.5rem; }
	.riad-t4__header { padding: 8.5rem 0 3.5rem; }
	.riad-t4__main { padding: 4rem 0 5rem; }
	.riad-t4__main-shell { padding: 0 1.5rem; }
	.riad-t4__body .fusion-table { overflow: visible; }
	.riad-t4__body table { min-width: 0; font-size: 0.875rem; }
	.riad-t4__body table thead { display: none; }
	.riad-t4__body table,
	.riad-t4__body table tbody,
	.riad-t4__body table tr,
	.riad-t4__body table td { display: block; width: 100%; }
	.riad-t4__body table tbody tr {
		margin-bottom: 1rem;
		border: 1px solid rgba(125,74,40,0.16);
		background: var(--ivoire);
	}
	.riad-t4__body table tbody td {
		min-width: 0;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid rgba(125,74,40,0.12);
	}
	.riad-t4__body table tbody td:last-child { border-bottom: 0; }
	.riad-t4__body table tbody td::before {
		display: block;
		margin-bottom: 0.25rem;
		color: var(--safran);
		font-size: 0.625rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		content: attr(data-label);
	}
	.riad-t4__body table th:first-child,
	.riad-t4__body table td:first-child { min-width: 11rem; }
	.riad-t4__body table td:first-child { min-width: 0; }
	.riad-t4__body .simpay-checkout-form { padding: 1.5rem; }
	.riad-t4__body .simpay-radio-wrap ul { grid-template-columns: minmax(0,1fr); }
	.riad-t4__body .simpay-quantity-input { max-width: none; }
	.riad-t4__rooms { padding: 3.5rem 0 4rem; }
	.riad-t4__rooms-grid { grid-template-columns: minmax(0,1fr); }
	.riad-t4__rooms-links a { min-width: 0; flex: 1 1 100%; }
	.riad-t4__amenities { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
}
