/*!
 * Riad Oasis - pages meres du guide Essaouira
 * Version du plugin : 1.2.43
 * Version de la feuille : 1.0.8
 * Mise a jour : 29 septembre 2026
 */

body.oasis-editorial-hub,
body.oasis-guide-page {
	--oasis-hub-ink: #273039;
	--oasis-hub-muted: #5b6065;
	--oasis-hub-gold: #e8c547;
	--oasis-hub-gold-deep: #c59a32;
	--oasis-hub-surface: #fffdf8;
	--oasis-hub-surface-soft: #f8f1dc;
	--oasis-hub-border: #e2d9c8;
}

/*
 * Charte commune des onze pages du parcours « Decouvrir Essaouira ».
 * L'accueil et les hebergements restent les references graphiques : ivoire,
 * encre, laiton, Cormorant Garamond et Lato, sans nouveau langage visuel.
 */
body.oasis-guide-page #secondary {
	display: none !important;
}

body.oasis-guide-page #primary {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-title,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content {
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 1140px;
	margin-right: auto;
	margin-left: auto;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-title {
	margin-top: 0;
	margin-bottom: 38px;
	color: #111;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.18;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content {
	margin-bottom: 64px;
	color: var(--oasis-hub-ink);
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content p {
	max-width: 980px;
	margin: 0 auto 22px;
	color: var(--oasis-hub-ink);
	font-family: Lato, Arial, sans-serif;
	font-size: 17px !important;
	font-weight: 400;
	line-height: 1.7 !important;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content p.has-small-font-size {
	font-size: 15px !important;
	line-height: 1.65 !important;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > ul,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > ol,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-list {
	max-width: 920px;
	margin: 0 auto 28px;
	padding-left: 24px;
	color: var(--oasis-hub-ink);
	font-family: Lato, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content li + li {
	margin-top: 8px;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > h2:not(.oasis-establishment-title):not(.oasis-place-title),
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-heading:not(.oasis-establishment-title):not(.oasis-place-title) {
	max-width: 980px;
	margin: 52px auto 22px;
	color: #111;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.18;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > h3,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-heading:is(h3) {
	max-width: 980px;
	margin: 38px auto 16px;
	color: #111;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.22;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-group.has-background {
	max-width: 980px;
	margin: 0 auto 34px !important;
	padding: 22px 26px !important;
	background: var(--oasis-hub-surface-soft) !important;
	border: 1px solid rgba(197, 154, 50, 0.2);
	border-left: 4px solid var(--oasis-hub-gold-deep) !important;
	border-radius: 0 8px 8px 0;
	box-shadow: 0 5px 16px rgba(39, 48, 57, 0.06);
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-group.has-background p:last-child {
	margin-bottom: 0;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-jetpack-slideshow {
	width: 100%;
	max-width: 980px;
	margin: 28px auto 0;
	overflow: hidden;
	background: #111;
	border: 1px solid rgba(197, 154, 50, 0.45);
	border-radius: 8px;
	box-shadow: 0 9px 26px rgba(39, 48, 57, 0.13);
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-jetpack-slideshow img {
	max-height: 680px;
	object-fit: contain;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-jetpack-slideshow_caption.gallery-caption {
	padding: 10px 16px;
	color: #fff;
	background: rgba(17, 17, 17, 0.82);
	font-family: Lato, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.45;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-image,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-gallery {
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-image img,
body.oasis-guide-page:not(.oasis-editorial-hub) #primary .wp-block-gallery img {
	border-radius: 8px;
	box-shadow: 0 7px 22px rgba(39, 48, 57, 0.11);
}

body.oasis-guide-page #primary .wp-block-button__link:not(.oasis-hub-booking) {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	padding: 13px 26px;
	align-items: center;
	justify-content: center;
	gap: 14px;
	color: var(--oasis-hub-ink) !important;
	background: rgba(255, 255, 255, 0.52) !important;
	border: 2px solid var(--oasis-hub-gold) !important;
	border-radius: 8px !important;
	box-shadow: none;
	font-family: Lato, Arial, sans-serif;
	font-size: 17px !important;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
}

body.oasis-guide-page #primary .wp-block-button__link:not(.oasis-hub-booking)::after {
	content: "\2192";
	font-size: 1.15em;
	font-weight: 400;
	line-height: 1;
}

body.oasis-guide-page #primary .wp-block-button__link:not(.oasis-hub-booking):hover,
body.oasis-guide-page #primary .wp-block-button__link:not(.oasis-hub-booking):focus-visible {
	color: var(--oasis-hub-ink) !important;
	background: var(--oasis-hub-gold) !important;
}

body.oasis-guide-page #primary .wp-block-button__link:focus-visible {
	outline: 3px solid var(--oasis-hub-gold-deep);
	outline-offset: 3px;
}

body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content a:not(.wp-block-button__link) {
	text-decoration-color: rgba(197, 154, 50, 0.7);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Toutes les pages WordPress secondaires utilisent une seule colonne. */
body.oasis-secondary-page #secondary {
	display: none !important;
}

body.oasis-secondary-page #primary {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

body.oasis-editorial-hub #secondary {
	display: none !important;
}

body.oasis-editorial-hub #primary {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
}

body.oasis-editorial-hub #primary .oasis-hub {
	width: calc(100% - 40px);
	max-width: 1140px;
	margin: 0 auto 48px;
	color: var(--oasis-hub-ink);
}

body.oasis-editorial-hub #primary .oasis-hub *,
body.oasis-editorial-hub #primary .oasis-hub *::before,
body.oasis-editorial-hub #primary .oasis-hub *::after {
	box-sizing: border-box;
}

body.oasis-editorial-hub #primary .oasis-hub-intro {
	margin: 8px 0 42px;
	padding: 30px 34px;
	background: var(--oasis-hub-surface);
	border: 1px solid var(--oasis-hub-border);
	border-left: 4px solid var(--oasis-hub-gold);
	border-radius: 8px;
	box-shadow: 0 5px 16px rgba(39, 48, 57, 0.07);
}

body.oasis-editorial-hub #primary .oasis-hub h2,
body.oasis-editorial-hub #primary .oasis-hub h3 {
	color: #111;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-weight: 600;
}

body.oasis-editorial-hub #primary .oasis-hub-intro h2 {
	margin: 0 0 16px;
	font-size: 36px;
	line-height: 1.1;
	text-align: left;
}

body.oasis-editorial-hub #primary .oasis-hub-intro p {
	max-width: 980px;
	margin: 0 0 12px;
	font-size: 17px;
	line-height: 1.65;
	text-align: left;
}

body.oasis-editorial-hub #primary .oasis-hub-intro p:last-child {
	margin-bottom: 0;
}

body.oasis-editorial-hub #primary .oasis-hub-section-title {
	position: relative;
	margin: 0 0 30px;
	padding-bottom: 18px;
	font-size: 36px;
	line-height: 1.15;
	text-align: center;
}

body.oasis-editorial-hub #primary .oasis-hub-section-title::after {
	display: block;
	position: static;
	width: 60%;
	max-width: 800px;
	height: 2px;
	margin: 18px auto 0;
	background: linear-gradient(90deg, transparent, var(--oasis-hub-gold) 25%, var(--oasis-hub-gold) 75%, transparent);
	content: "";
}

/* Reprend exactement le séparateur doré de la page d'accueil. */
body.oasis-discover-guide #primary .wp-block-separator,
body.oasis-restaurant-guide #primary .wp-block-separator {
	width: 60% !important;
	max-width: 800px;
	height: 2px !important;
	margin: 48px auto !important;
	border: 0 !important;
	background: linear-gradient(90deg, transparent, #e8c547 25%, #e8c547 75%, transparent) !important;
	opacity: 1;
}

/* Aligne la hierarchie des guides historiques sur celle de l'accueil. */
body.oasis-discover-guide #primary h2.wp-block-heading:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size) {
	font-size: 36px;
	line-height: 1.2;
}

body.oasis-discover-guide #primary h3.wp-block-heading:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size) {
	font-size: 26px;
	line-height: 1.25;
}

/* Noms des restaurants, boutiques et lieux : un H2 lisible, distinct du H1. */
body.oasis-discover-guide #primary h2.oasis-establishment-title,
body.oasis-discover-guide #primary h2.oasis-place-title,
body.oasis-restaurant-guide #primary h2.oasis-establishment-title {
	margin: 42px auto 18px;
	color: #111;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

body.oasis-discover-guide #primary h2.wp-block-heading.oasis-establishment-title:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size),
body.oasis-discover-guide #primary h2.wp-block-heading.oasis-place-title:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size) {
	font-size: 28px;
}

@media (max-width: 600px) {
	body.oasis-discover-guide #primary h2.oasis-establishment-title,
	body.oasis-discover-guide #primary h2.oasis-place-title,
	body.oasis-restaurant-guide #primary h2.oasis-establishment-title {
		margin-top: 34px;
		font-size: 26px;
	}

	body.oasis-discover-guide #primary h2.wp-block-heading.oasis-establishment-title:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size),
	body.oasis-discover-guide #primary h2.wp-block-heading.oasis-place-title:not(.has-small-font-size):not(.has-medium-font-size):not(.has-large-font-size):not(.has-x-large-font-size) {
		font-size: 26px;
	}
}

body.oasis-editorial-hub #primary .oasis-hub-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	margin: 0 0 44px;
}

body.oasis-editorial-hub #primary .oasis-hub-card {
	display: flex;
	min-width: 0;
	min-height: 260px;
	padding: 30px;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--oasis-hub-surface);
	border: 1px solid rgba(197, 154, 50, 0.58);
	border-radius: 8px;
	box-shadow: 0 5px 16px rgba(39, 48, 57, 0.08);
}

body.oasis-editorial-hub #primary .oasis-hub-card h3 {
	margin: 0 0 12px;
	font-size: 26px;
	line-height: 1.15;
}

body.oasis-editorial-hub #primary .oasis-hub-card p {
	margin: 0 0 22px;
	color: var(--oasis-hub-ink);
	font-size: 16px;
	line-height: 1.6;
}

body.oasis-editorial-hub #primary .oasis-hub-action,
body.oasis-editorial-hub #primary .oasis-hub-booking {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	padding: 13px 26px;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--oasis-hub-gold) !important;
	border-radius: 8px !important;
	font-family: Lato, Arial, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
}

body.oasis-editorial-hub #primary .oasis-hub-action {
	gap: 14px;
	color: var(--oasis-hub-ink) !important;
	background: rgba(255, 255, 255, 0.52) !important;
	box-shadow: none;
}

body.oasis-editorial-hub #primary .oasis-hub-action::after {
	content: "\2192";
	font-size: 1.15em;
	font-weight: 400;
	line-height: 1;
}

body.oasis-editorial-hub #primary .oasis-hub-booking {
	color: #fff !important;
	background: var(--oasis-hub-ink) !important;
	box-shadow: 0 3px 10px rgba(39, 48, 57, 0.14);
}

body.oasis-editorial-hub #primary .oasis-hub-card .oasis-hub-action {
	margin-top: auto;
}

body.oasis-editorial-hub #primary .oasis-hub-action:hover,
body.oasis-editorial-hub #primary .oasis-hub-action:focus-visible {
	color: var(--oasis-hub-ink) !important;
	background: var(--oasis-hub-gold) !important;
}

body.oasis-editorial-hub #primary .oasis-hub-booking:hover,
body.oasis-editorial-hub #primary .oasis-hub-booking:focus-visible {
	color: var(--oasis-hub-gold) !important;
	background: #1f2326 !important;
}

body.oasis-editorial-hub #primary .oasis-hub-action:focus-visible,
body.oasis-editorial-hub #primary .oasis-hub-booking:focus-visible {
	outline: 3px solid var(--oasis-hub-gold-deep);
	outline-offset: 3px;
}

body.oasis-editorial-hub #primary .oasis-hub-notice {
	margin: 0 0 34px;
	padding: 22px 26px;
	background: var(--oasis-hub-surface-soft);
	border-left: 4px solid var(--oasis-hub-gold-deep);
	border-radius: 0 8px 8px 0;
}

body.oasis-editorial-hub #primary .oasis-hub-notice h3 {
	margin: 0 0 8px;
	font-size: 28px;
}

body.oasis-editorial-hub #primary .oasis-hub-notice p {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
}

body.oasis-editorial-hub #primary .oasis-hub-backlink {
	margin: 0 0 34px;
	text-align: center;
}

body.oasis-editorial-hub #primary .oasis-hub-backlink a {
	color: var(--oasis-hub-ink);
	font-weight: 700;
	text-decoration-color: var(--oasis-hub-gold-deep);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

body.oasis-editorial-hub #primary .oasis-hub-cta {
	margin: 0 0 48px;
	padding: 38px 32px 40px;
	text-align: center;
	background: linear-gradient(180deg, #fffdf8 0%, #f8f1dc 100%);
	border-top: 2px solid var(--oasis-hub-gold);
	border-bottom: 2px solid var(--oasis-hub-gold);
}

body.oasis-editorial-hub #primary .oasis-hub-cta h2 {
	margin: 0 0 12px;
	font-size: 36px;
	line-height: 1.12;
}

body.oasis-editorial-hub #primary .oasis-hub-cta p {
	max-width: 820px;
	margin: 0 auto 22px;
	font-size: 17px;
	line-height: 1.6;
}

html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-intro,
html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-card,
html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-notice {
	direction: rtl;
	text-align: right;
}

html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-intro h2,
html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-intro p {
	text-align: right;
}

html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-intro,
html[lang^="ar"] body.oasis-editorial-hub #primary .oasis-hub-notice {
	border-right: 4px solid var(--oasis-hub-gold);
	border-left-width: 1px;
}

@media (min-width: 901px) {
	body.oasis-guide-page .header.container,
	body.oasis-guide-page .header-mega-menu.container,
	body.oasis-guide-page .sticky-header .container,
	body.oasis-guide-page .content > .container,
	body.oasis-editorial-hub .header.container,
	body.oasis-editorial-hub .header-mega-menu.container,
	body.oasis-editorial-hub .sticky-header .container,
	body.oasis-editorial-hub .content > .container {
		width: calc(100% - 40px);
		max-width: 1200px;
		margin-right: auto;
		margin-left: auto;
	}

	body.oasis-editorial-hub .header-mega-menu .navbar-nav {
		align-items: center;
	}

	body.oasis-editorial-hub .header-mega-menu .navbar-nav > .nav-item {
		padding-right: 2px;
		padding-left: 2px;
	}

	body.oasis-editorial-hub .header-mega-menu .navbar-nav > .nav-item > .nav-link {
		padding-right: 6px;
		padding-left: 6px;
		font-size: 14px;
	}

	body.oasis-guide-page .header.container {
		padding-top: 4px;
		padding-bottom: 14px;
	}

	body.oasis-guide-page .header.container > .row > .col-12.order-1 {
		display: none;
	}

	body.oasis-guide-page .header-logo-container {
		margin-top: 8px !important;
	}

	body.oasis-guide-page .header-logo-container img {
		width: 100%;
		max-width: 420px;
		height: auto;
	}

	body.oasis-guide-page .header-mega-menu .navbar-nav {
		align-items: center;
	}

	body.oasis-guide-page .header-mega-menu .navbar-nav > .nav-item {
		padding-right: 2px;
		padding-left: 2px;
	}

	body.oasis-guide-page .header-mega-menu .navbar-nav > .nav-item > .nav-link {
		padding-right: 6px;
		padding-left: 6px;
		font-size: 14px;
	}
}

@media (max-width: 900px) {
	body.oasis-editorial-hub #primary .oasis-hub {
		width: calc(100% - 32px);
	}

	body.oasis-editorial-hub #primary .oasis-hub-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-card {
		min-height: 0;
	}
}

@media (max-width: 600px) {
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-title,
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content {
		width: calc(100% - 24px);
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-title {
		margin-bottom: 30px;
		font-size: 30px;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content {
		margin-bottom: 42px;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content p {
		font-size: 16px !important;
		line-height: 1.65 !important;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > ul,
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > ol,
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-list {
		padding-left: 20px;
		font-size: 16px;
		line-height: 1.65;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > h2:not(.oasis-establishment-title):not(.oasis-place-title),
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-heading:not(.oasis-establishment-title):not(.oasis-place-title) {
		margin-top: 40px;
		font-size: 32px;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > h3,
	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-heading:is(h3) {
		margin-top: 32px;
		font-size: 24px;
	}

	body.oasis-guide-page:not(.oasis-editorial-hub) #primary .post-content > .wp-block-group.has-background {
		padding: 20px 18px !important;
	}

	body.oasis-guide-page #primary .wp-block-button,
	body.oasis-guide-page #primary .wp-block-button__link:not(.oasis-hub-booking) {
		width: 100%;
		white-space: normal;
	}

	body.oasis-editorial-hub #primary .oasis-hub {
		width: calc(100% - 24px);
		margin-bottom: 32px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-intro,
	body.oasis-editorial-hub #primary .oasis-hub-card,
	body.oasis-editorial-hub #primary .oasis-hub-notice,
	body.oasis-editorial-hub #primary .oasis-hub-cta {
		padding: 24px 20px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-cta h2 {
		font-size: 32px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-intro {
		margin-bottom: 34px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-section-title {
		margin-bottom: 22px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-grid {
		margin-bottom: 34px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-card h3 {
		font-size: 26px;
	}

	body.oasis-editorial-hub #primary .oasis-hub-action,
	body.oasis-editorial-hub #primary .oasis-hub-booking {
		width: 100%;
		white-space: normal;
	}
}
