/*
 * Refonte visuelle Rosmadec v3 : palette mer et sable, typographie éditoriale.
 * Ciblée sur les classes réelles du thème Nisarg. Chargée après le parent.
 */

/* Polices chargées par functions.php (wp_enqueue_style), plus rapide qu'un @import */

:root {
	--ros-navy: #14303f;
	--ros-sea: #2b7a8a;
	--ros-sea-soft: #dcecef;
	--ros-sand: #f4efe6;
	--ros-coral: #c8674a;
	--ros-ink: #2a3d48;
	--ros-muted: #6b7d86;
	--ros-line: #e4dccb;
	--ros-shadow: 0 16px 40px rgba(20, 48, 63, .12);
}

html { scroll-behavior: smooth; }

/* Fond : dégradé mer vers sable (remplace le bleu d'origine) */
body {
	background: linear-gradient(180deg, #b9dadd 0%, #f3e9d6 460px, #f8f2e6 100%) !important;
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ros-ink);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.navbar-brand,
.entry-title {
	font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
	color: var(--ros-navy);
	line-height: 1.2;
}

a { color: var(--ros-sea); }
a:hover, a:focus { color: var(--ros-coral); }

/* ---------- Barre de navigation ---------- */
.main-navigation {
	background-color: rgba(255, 255, 255, .94) !important;
	backdrop-filter: saturate(1.4) blur(12px);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	box-shadow: 0 1px 0 var(--ros-line), 0 6px 24px rgba(20, 48, 63, .06) !important;
}
.main-navigation .navbar-brand {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--ros-navy) !important;
}
.main-navigation .primary-menu > li > a {
	color: var(--ros-ink) !important;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .08em;
	padding: 1.05rem .95rem !important;
	border: 0 !important;
	background: transparent !important;
	transition: color .2s ease;
}
.main-navigation .primary-menu > li > a:hover,
.main-navigation .primary-menu > .current-menu-item > a,
.main-navigation .primary-menu > .active > a {
	color: var(--ros-coral) !important;
}

/* ---------- En-tête (hero) ---------- */
.site-header {
	margin-bottom: 0 !important;
	min-height: 62vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 48, 63, 0) 0%, rgba(20, 48, 63, .05) 55%, rgba(20, 48, 63, .28) 100%);
	z-index: 0;
}
.site-header .site-branding {
	z-index: 1;
	width: 92%;
	top: 52%;
}
.site-title {
	color: #fff !important;
	font-family: 'Fraunces', Georgia, serif !important;
	font-weight: 600 !important;
	font-size: clamp(2rem, 5.6vw, 4.2rem) !important;
	letter-spacing: .1em !important;
	text-shadow: 0 2px 22px rgba(0, 0, 0, .35) !important;
	line-height: 1.1;
}
.site-title::after {
	background-color: var(--ros-coral) !important;
	height: 3px !important;
	width: 90px !important;
	margin: 18px auto !important;
}
.site-description {
	color: rgba(255, 255, 255, .95) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: clamp(.78rem, 1.5vw, 1rem) !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .35) !important;
}

/* ---------- Carte de contenu ---------- */
.post-content,
.single-post-content {
	background: #fff !important;
	border-radius: 24px !important;
	box-shadow: var(--ros-shadow) !important;
	margin-top: -6rem;
	margin-bottom: 3rem;
	padding: 3.5rem 0 2.5rem !important;
	position: relative;
	z-index: 2;
}

.entry-header {
	padding: 0 4em 1.5rem !important;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.entry-header .entry-title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 600;
	letter-spacing: .03em;
	color: var(--ros-navy);
}
.entry-header .entry-meta::after {
	background: var(--ros-coral);
	height: 3px;
	width: 56px;
	border-radius: 3px;
}

.entry-summary,
.entry-content {
	text-align: left !important;
	color: var(--ros-ink) !important;
	font-size: 1.06rem;
}
.entry-content p { margin-bottom: 1.3em; }
.entry-content a {
	color: var(--ros-sea);
	text-decoration: underline;
	text-decoration-color: rgba(43, 122, 138, .35);
	text-underline-offset: 3px;
}
.entry-content a:hover { text-decoration-color: currentColor; }

.entry-content h2 {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 600;
	margin: 2.4em 0 .7em;
	padding-top: .9em;
	position: relative;
}
.entry-content h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 48px;
	height: 3px;
	border-radius: 3px;
	background: var(--ros-coral);
}
.entry-content h3 {
	font-size: 1.35rem;
	font-weight: 600;
	margin-top: 1.8em;
}

/* Séparateurs décoratifs */
.post-content hr {
	border: 0 !important;
	height: 3px;
	width: 56px;
	border-radius: 3px;
	background: var(--ros-coral);
	margin: 2.4rem auto !important;
	opacity: .85;
}

/* Photos */
.entry-content img:not([src$=".png"]) {
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(20, 48, 63, .14);
}
.wp-caption {
	background: transparent !important;
	border: 0;
	padding: 0;
}
.wp-caption-text,
.entry-content figcaption {
	color: var(--ros-muted);
	font-size: .86rem;
	font-style: italic;
	margin-top: .6rem;
}

/* Bouton d'ancre (« Réservez votre séjour ») */
.entry-content a[href^="#"] {
	display: inline-block;
	background: var(--ros-sea);
	color: #fff !important;
	padding: .85rem 1.8rem;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 8px 22px rgba(43, 122, 138, .28);
	transition: transform .2s ease, background .2s ease;
}
.entry-content a[href^="#"]:hover {
	background: var(--ros-navy);
	transform: translateY(-2px);
}

/* Galerie NextGEN */
.ngg-galleryoverview img {
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(20, 48, 63, .12);
	transition: transform .35s ease;
}
.ngg-galleryoverview .ngg-gallery-thumbnail:hover img { transform: scale(1.03); }

/* Pied d'article, pagination */
.entry-footer { padding-bottom: 1.5rem; }
.page-links { margin: 1.5rem 4em; }
.pagination .page-numbers {
	box-shadow: 0 2px 8px rgba(20, 48, 63, .08);
	color: var(--ros-navy);
	border: 1px solid var(--ros-line);
}
.pagination .current {
	background-color: var(--ros-navy) !important;
	border-color: var(--ros-navy) !important;
}

/* ---------- Centrage du contenu (pas de colonne latérale) ---------- */
#primary.content-area,
#primary.no-widgets-sidebar,
.no-widgets-sidebar {
	float: none !important;
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	padding-left: 15px;
	padding-right: 15px;
}
.container {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.post-content,
.single-post-content {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ---------- Menu : marque et entrées ---------- */
.main-navigation .navbar-brand {
	font-family: 'Fraunces', Georgia, serif !important;
	font-size: 1.4rem !important;
	font-weight: 600 !important;
	letter-spacing: .01em;
	line-height: 1.2;
	padding-top: .9rem !important;
	padding-bottom: .9rem !important;
}
.main-navigation .primary-menu > li > a {
	font-size: 11.5px !important;
	letter-spacing: .05em !important;
	padding-left: .7rem !important;
	padding-right: .7rem !important;
}

/* ---------- Calendriers de réservation (iframes) ---------- */
/* Une carte par gîte : calendrier et tarifs côte à côte, même hauteur */
.entry-content .resa {
	background: #fff;
	border: 1px solid var(--ros-line);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(20, 48, 63, .08);
	padding: 1.2rem;
	margin: .9rem 0 2.6rem;
}
.entry-content .resa,
.entry-content .resa > p {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	gap: 1rem;
}
.entry-content .resa > p { margin: 0; width: 100%; }
.entry-content .resa br { display: none; }
.entry-content .resa iframe {
	display: block;
	flex: 1 1 0;
	width: 50% !important;
	min-width: 0;
	height: 490px !important;
	margin: 0 !important;
	border: 0;
	background: #fff;
}

@media (max-width: 700px) {
	.entry-content .resa,
	.entry-content .resa > p { flex-direction: column; }
	.entry-content .resa iframe { width: 100% !important; flex: none; }
	.entry-content .resa iframe:first-of-type { height: 420px !important; }
}

/* ---------- Titres des gîtes : centrés ---------- */
.entry-content p:has(a[href*="location-vacances"]) {
	text-align: center !important;
	margin-top: 2.2rem;
}
.entry-content a[href*="location-vacances"] {
	display: inline-block;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: .04em;
	font-size: .92rem;
	color: var(--ros-navy) !important;
	background: #fff;
	border: 1px solid var(--ros-line);
	border-radius: 999px;
	padding: .55rem 1.2rem;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(20, 48, 63, .07);
}

/* ---------- Pied de page ---------- */
.site-footer {
	background: var(--ros-navy) !important;
	color: rgba(255, 255, 255, .8) !important;
	font-size: .9rem;
	letter-spacing: .04em;
	padding: 2.2rem 1rem !important;
	margin-top: 4rem;
}
.site-footer a,
.site-footer a:visited {
	color: #fff !important;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .35);
}
.site-footer a:hover { color: #f0b8a4 !important; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	body { font-size: 16px; }
	.site-header { min-height: 54vh; }
	.post-content,
	.single-post-content {
		margin-top: -3.5rem;
		border-radius: 18px !important;
		padding-top: 2.4rem !important;
	}
	.entry-header { padding: 0 1.4rem 1rem !important; }
	.entry-summary,
	.entry-content { padding-left: 1.4rem; padding-right: 1.4rem; }
}

/* Réduire les animations si demandé */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

/* ==========================================================
   v2.6 : plus sobre. Pas de soulignement, arrondis légers,
   moins d'encarts.
   ========================================================== */

/* Liens : pas de soulignement, simple changement de couleur */
.entry-content a,
.entry-content a:hover,
.entry-content a:focus,
.site-footer a,
.site-footer a:hover,
.site-footer a:visited,
a:visited {
	text-decoration: none !important;
}
.entry-content a { color: var(--ros-sea) !important; transition: color .2s ease; }
.entry-content a:hover { color: var(--ros-coral) !important; }

/* Arrondis légers partout */
.post-content,
.single-post-content { border-radius: 4px !important; }
.entry-content img:not([src$=".png"]),
.ngg-galleryoverview img { border-radius: 4px !important; }

/* Bouton de réservation : rectangle sobre */
.entry-content a[href^="#"] {
	border-radius: 4px !important;
	box-shadow: none !important;
	color: #fff !important;
	letter-spacing: .02em;
}
.entry-content a[href^="#"]:hover {
	color: #fff !important;
	transform: none !important;
}

/* Calendriers : plus de cadre autour, juste les deux widgets */
.entry-content .resa {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Titres des gîtes : simple titre, sans pastille */
.entry-content a[href*="location-vacances"] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	font-family: 'Fraunces', Georgia, serif !important;
	font-size: 1.2rem !important;
	letter-spacing: .02em !important;
	color: var(--ros-navy) !important;
}
.entry-content a[href*="location-vacances"]:hover { color: var(--ros-coral) !important; }

/* Pagination : arrondis légers */
.pagination .page-numbers { border-radius: 4px !important; }

/* v2.7 : aucun soulignement au survol dans l'en-tête (menu, nom du site, titre) */
a:hover,
a:focus,
a:active,
.main-navigation a,
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation a:visited,
.navbar-brand,
.navbar-brand:hover,
.navbar-brand:focus,
.site-header a,
.site-header a:hover,
.site-header a:focus,
.home-link,
.home-link:hover,
.home-link:focus,
.entry-title a,
.entry-title a:hover {
	text-decoration: none !important;
	border-bottom: 0 !important;
}

/* v2.8 : ambiance bleue lumineuse */

/* Fond : bleu ciel clair, très lumineux */
body {
	background: linear-gradient(180deg, #cfe9f6 0%, #e8f5fc 520px, #f6fbfe 100%) !important;
}

/* Hero : photo éclaircie et plus vive, sans voile sombre */
/* Photo d'origine, sans filtre ni voile (pour revenir à la version éclaircie :
   background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 70%, rgba(10,40,60,.18) 100%);
   backdrop-filter: brightness(1.15) saturate(1.3) contrast(1.04); ) */
.site-header::before {
	display: block !important;
	background: transparent !important;
	-webkit-backdrop-filter: brightness(1.15) saturate(1.1);
	backdrop-filter: brightness(1.15) saturate(1.1);
}

/* v2.12 : pied de page personnalisé */
.site-footer .site-info p { margin: 0 0 .5rem; }
.site-footer .footer-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.3rem;
	font-weight: 600;
	color: #fff;
	letter-spacing: .02em;
}
.site-footer .footer-place { color: rgba(255, 255, 255, .75); }
.site-footer .footer-links { margin: 1rem 0 !important; }
.site-footer .footer-links .sep { color: rgba(255, 255, 255, .4); }
.site-footer .footer-copy { font-size: .8rem; color: rgba(255, 255, 255, .5); margin: 0 !important; }

/* v2.13 : menu épuré, centré, sur une ligne */
.main-navigation .navbar-brand { display: none !important; }

@media (min-width: 768px) {
	.main-navigation .navbar-header { display: none; }
	.main-navigation .navbar-collapse {
		float: none !important;
		width: 100%;
		padding: 0;
	}
	.main-navigation ul.primary-menu {
		float: none !important;
		display: flex !important;
		justify-content: center;
		align-items: center;
		gap: .4rem;
		margin: 0 auto;
	}
	.main-navigation ul.primary-menu > li { float: none; }
	/* Accueil en premier, English en dernier */
	.main-navigation ul.primary-menu > li.current-menu-item,
	.main-navigation ul.primary-menu > li:has(> a[href$="rosmadec.fr/"]) { order: -1; }
	.main-navigation ul.primary-menu > li:has(> a[href*="holiday-cottages"]) { order: 99; }
}
.main-navigation .primary-menu > li > a {
	white-space: nowrap;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	padding: 1.25rem 1.1rem !important;
	color: var(--ros-navy) !important;
}
.main-navigation .primary-menu > li > a:hover,
.main-navigation .primary-menu > .current-menu-item > a {
	color: var(--ros-sea) !important;
}

/* v2.14 : sous-titre du hero lisible */
.site-header .site-description {
	font-size: 15px !important;
	letter-spacing: .2em !important;
	margin-top: .4rem !important;
}
@media (max-width: 767px) {
	.site-header .site-description { font-size: 12px !important; letter-spacing: .12em !important; }
}

/* v2.15 : mobile, photos en pleine largeur et calendriers sans défilement */
@media (max-width: 700px) {
	.entry-content .wp-caption.alignright,
	.entry-content .wp-caption.alignleft,
	.entry-content img.alignright,
	.entry-content img.alignleft {
		float: none !important;
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		margin: 1.2rem auto !important;
	}
	.entry-content .wp-caption img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
	.entry-content .resa iframe:first-of-type { height: 470px !important; }
	.entry-content .resa iframe:last-of-type { height: 520px !important; }
}

/* v2.16 : menu en ligne partout, plus de burger sur mobile */
.main-navigation ul.primary-menu > li:has(> a[href$="rosmadec.fr/"]) { order: -1; }
.main-navigation ul.primary-menu > li:has(> a[href*="holiday-cottages"]) { order: 99; }

@media (max-width: 767px) {
	.main-navigation .navbar-header,
	.main-navigation .menu-toggle { display: none !important; }
	.main-navigation .navbar-collapse,
	.main-navigation .navbar-collapse.collapse {
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		width: 100%;
		padding: 0;
		border: 0;
		box-shadow: none;
	}
	.main-navigation ul.primary-menu {
		display: flex !important;
		flex-wrap: nowrap;
		justify-content: center;
		float: none !important;
		margin: 0 auto;
		width: 100%;
	}
	.main-navigation ul.primary-menu > li { float: none; }
	.main-navigation .primary-menu > li > a {
		font-size: 11px !important;
		letter-spacing: .06em !important;
		padding: 1rem .55rem !important;
	}
}

/* v2.17 : page Contact, deux colonnes équilibrées */
.entry-content code {
	font-family: inherit !important;
	font-size: inherit !important;
	background: none !important;
	color: var(--ros-navy) !important;
	padding: 0 !important;
	white-space: normal !important;
	font-weight: 600;
	line-height: 1.75;
}
@media (min-width: 701px) {
	.page-id-11 .entry-content img.alignright {
		width: 50% !important;
		max-width: 50% !important;
		height: auto !important;
		margin: .3rem 0 1.5rem 2.2rem !important;
	}
}
.page-id-11 .entry-content::after { content: ""; display: block; clear: both; }

/* v2.18 : numéros de téléphone et e-mail jamais coupés */
.entry-content a[href^="tel:"],
.entry-content a[href^="mailto:"] {
	white-space: nowrap;
}

/* v2.19 : style bouton pour tous les liens .lienresa (dont liens externes) */
.entry-content a.lienresa {
	display: inline-block;
	background: var(--ros-sea);
	color: #fff !important;
	padding: .85rem 1.8rem;
	border-radius: 4px !important;
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none !important;
	transition: background .2s ease;
}
.entry-content a.lienresa:hover,
.entry-content a.lienresa:focus {
	background: var(--ros-navy);
	color: #fff !important;
}

/* v2.20 : légendes un peu plus contrastées (accessibilité, différence imperceptible) */
.wp-caption-text,
.entry-content figcaption { color: #5a6b74 !important; }

/* v2.21 : tailles de texte en px. Bootstrap fixe html à 10px, les rem
   donnaient un texte 37 % plus petit que prévu (10,6px au lieu de 17px). */
.entry-summary,
.entry-content { font-size: 17px; }
.entry-content .bann { font-size: 14px; }
.wp-caption-text,
.entry-content figcaption { font-size: 14px; }
.entry-header .entry-title { font-size: clamp(26px, 3vw, 34px); }
.entry-content h2 { font-size: clamp(22px, 2.4vw, 28px); }
.entry-content h3 { font-size: 21px; }
.entry-content a[href*="location-vacances"] { font-size: 19px !important; }
.site-footer { font-size: 15px; }
.site-footer .footer-title { font-size: 21px; }
.site-footer .footer-copy { font-size: 13px; }
@media (max-width: 767px) {
	.entry-summary,
	.entry-content { font-size: 16px; }
	.entry-content a[href*="location-vacances"] { font-size: 17px !important; }
}

/* v2.22 : nouvelle photo du hero (original pleine résolution, sans barrière).
   Plus d'éclaircissement (le ciel est déjà lumineux), ombre du titre renforcée. */
.site-header::before {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
.site-title { text-shadow: 0 2px 4px rgba(0, 0, 0, .25), 0 2px 28px rgba(0, 0, 0, .5) !important; }
.site-header .site-description { text-shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 1px 14px rgba(0, 0, 0, .5) !important; }

/* v2.23 : version légère. Plus de carte blanche : contenu posé sur le fond,
   mise en page plus large, photos agrandies. */
#primary.content-area,
#primary.no-widgets-sidebar,
.no-widgets-sidebar { max-width: 1060px !important; }
.post-content,
.single-post-content {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	margin-top: 0 !important;
	padding-top: 3.2rem !important;
}
.entry-header { padding: 0 2rem 1.5rem !important; }
.entry-summary,
.entry-content { padding-left: 2rem !important; padding-right: 2rem !important; }

/* Photo principale : toute la largeur du texte */
.entry-content .wp-caption.aligncenter {
	width: 100% !important;
	max-width: 1024px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.entry-content .wp-caption.aligncenter img { width: 100% !important; height: auto !important; }

/* Photos à côté du texte : presque la moitié de la largeur */
@media (min-width: 701px) {
	.entry-content .wp-caption.alignright,
	.entry-content .wp-caption.alignleft { width: 46% !important; max-width: 480px; }
	.entry-content .wp-caption.alignright { margin: .4rem 0 1.6rem 2.6rem !important; }
	.entry-content .wp-caption.alignleft { margin: .4rem 2.6rem 1.6rem 0 !important; }
	.entry-content .wp-caption.alignright img,
	.entry-content .wp-caption.alignleft img { width: 100% !important; height: auto !important; }
	.entry-summary,
	.entry-content { font-size: 18px; }
}

/* Label Gîtes de France plus discret */
.entry-content img[src*="gite-de-france"] { width: 100px !important; height: auto !important; border-radius: 50% !important; box-shadow: 0 4px 14px rgba(20, 48, 63, .08); }

@media (max-width: 767px) {
	.post-content,
	.single-post-content { padding-top: 2rem !important; }
	.entry-header { padding: 0 1.2rem 1rem !important; }
	.entry-summary,
	.entry-content { padding-left: 1.2rem !important; padding-right: 1.2rem !important; }
}

/* v2.26 : retouches conversion. Bouton dans le hero, bloc d'infos clés, bouton au milieu. */
.site-header .hero-cta {
	display: inline-block;
	margin-top: 26px;
	background: var(--ros-coral);
	color: #fff !important;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 13px 28px;
	border-radius: 4px;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
	transition: background .2s ease;
}
.site-header .hero-cta:hover,
.site-header .hero-cta:focus { background: var(--ros-navy); color: #fff !important; }

.entry-content .ros-facts {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 8px 26px rgba(20, 48, 63, .08);
	padding: 1.6rem 1.8rem 1.8rem;
	margin: 2.2rem 0 2.6rem;
	text-align: center;
}
.entry-content .ros-facts ul {
	list-style: none;
	margin: 0 0 1.1rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem 1.8rem;
}
.entry-content .ros-facts li { margin: 0; color: var(--ros-ink); }
.entry-content .ros-facts li strong { color: var(--ros-navy); }
.entry-content .ros-facts-price {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 22px;
	color: var(--ros-navy);
	margin: 0 0 1.1rem !important;
}
.entry-content .ros-facts-price strong { color: var(--ros-coral); }
.entry-content .ros-mid-cta { text-align: center; margin: 2.4rem 0 0 !important; clear: both; }

@media (max-width: 767px) {
	.site-header .hero-cta { margin-top: 16px; font-size: 14px; padding: 11px 22px; }
	.entry-content .ros-facts { padding: 1.3rem 1.1rem 1.5rem; }
	.entry-content .ros-facts ul { flex-direction: column; gap: .35rem; }
	.entry-content .ros-facts-price { font-size: 20px; }
}

/* v2.27 : infos clés en 5 colonnes (chiffre en haut, détail dessous) */
.entry-content .ros-facts ul {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem !important;
	margin-bottom: 1.4rem !important;
}
.entry-content .ros-facts li {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.35;
}
.entry-content .ros-facts li strong {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 20px;
	font-weight: 600;
}
.entry-content .ros-facts li span { font-size: 14px; color: var(--ros-muted); margin-top: .25rem; }
.entry-content .ros-facts li + li { border-left: 1px solid var(--ros-line); }
@media (max-width: 767px) {
	.entry-content .ros-facts ul { grid-template-columns: 1fr 1fr; }
	.entry-content .ros-facts li + li { border-left: 0; }
	.entry-content .ros-facts li:last-child { grid-column: 1 / -1; }
}

/* v2.28 : textes du hero plus grands (surtout sur mobile) */
.site-title { font-size: clamp(32px, 7.4vw, 64px) !important; }
.site-header .site-description { font-size: 18px !important; letter-spacing: .2em !important; }
.site-header .hero-cta { font-size: 17px; padding: 15px 32px; margin-top: 30px; }
@media (max-width: 767px) {
	.site-title { font-size: clamp(32px, 9vw, 44px) !important; letter-spacing: .06em !important; line-height: 1.12 !important; }
	.site-header .site-description { font-size: 14px !important; letter-spacing: .1em !important; line-height: 1.5; }
	.site-header .hero-cta { font-size: 16px; padding: 13px 26px; margin-top: 20px; }
}
@media (max-width: 400px) {
	.site-header .site-description { font-size: 12.5px !important; letter-spacing: .08em !important; }
}

/* v2.29 : bouton du hero à la couleur d'origine, plus petit */
.site-header .hero-cta {
	background: var(--ros-coral);
	border: 0;
	box-shadow: none;
	color: #fff !important;
	font-size: 14px;
	padding: 9px 20px;
	margin-top: 22px;
	border-radius: 4px;
}
.site-header .hero-cta:hover,
.site-header .hero-cta:focus {
	background: var(--ros-navy);
	color: #fff !important;
}
