/*
 * Identité Untibebe sur ColorMag.
 * Charte reprise d'untibebe.com (thème Soledad) :
 *   violet  #8e44ad : menu, étiquettes de rubrique, titres de barre latérale, barre de pied de page
 *   rose    #db137e : liens d'articles, pagination, titres de sections de l'accueil
 *   rose clair #f06292 : survols secondaires
 *   gris    #313131 : texte des menus ; #212121 : zone de widgets du pied de page
 *   Open Sans partout (titres en gras), Lora gras pour le slogan.
 */

:root:root {
	--cm-color-1: #8e44ad;
	--untibebe-violet: #8e44ad;
	--untibebe-rose: #db137e;
	--untibebe-rose-clair: #f06292;
	--untibebe-texte: #313131;
	--untibebe-pied: #212121;
	--untibebe-pied-survol: #dbcbd4;
}

/* Typographie ------------------------------------------------------------ */

body,
button,
input,
select,
textarea {
	font-family: "Open Sans", sans-serif;
}

body {
	font-size: 15px;
	line-height: 1.8;
}

h1, h2, h3, h4, h5, h6,
.cm-entry-title,
.cm-page-title,
.cm-widget-title,
.cm-primary-nav a {
	font-family: "Open Sans", sans-serif;
	font-weight: 700;
}

.cm-entry-title {
	text-transform: none;
	letter-spacing: 0;
}

/* En-tête : logo et slogan -------------------------------------------------- */

.cm-site-branding .custom-logo {
	max-width: 100%;
	height: auto;
}

/* Le titre texte reste lisible par les moteurs et lecteurs d'écran quand le logo est affiché. */
.cm-header:has(.custom-logo-link) .cm-site-title {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.cm-site-description {
	font-family: "Lora", serif;
	font-weight: 700;
	color: var(--untibebe-texte);
}

/* Menu principal : fond blanc, texte gris, survol violet -------------------- */

#cm-primary-nav,
.cm-header-builder.cm-full-width .cm-header-bottom-row,
.cm-header-builder.cm-contained .cm-header-bottom-row .cm-bottom-row,
.cm-header-builder .cm-mobile-row .cm-header-bottom-row {
	background-color: #fff;
	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
	box-shadow: none;
}

.cm-primary-nav a,
.cm-primary-nav a:hover,
.cm-primary-nav .cm-submenu-toggle .cm-icon {
	color: var(--untibebe-texte);
	fill: var(--untibebe-texte);
}

.cm-primary-nav ul li.current-menu-item,
.cm-primary-nav ul li.current-menu-ancestor,
.cm-primary-nav ul li.current_page_item,
.cm-primary-nav ul li:hover,
.cm-primary-nav ul li.focus,
.cm-primary-nav .cm-home-icon a:hover {
	background-color: transparent;
}

.cm-primary-nav ul li.current-menu-item > a,
.cm-primary-nav ul li.current-menu-ancestor > a,
.cm-primary-nav ul li:hover > a,
.cm-primary-nav ul li.focus > a {
	color: var(--untibebe-violet);
}

/* Les entrées du menu sont des images (maison, Family, AxE Voyages, PS). */
.cm-primary-nav li > a img {
	display: block;
	max-height: 32px;
	width: auto;
}

.cm-primary-nav .sub-menu,
.cm-primary-nav .children {
	background-color: #fff;
	border: 1px solid #ececec;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.cm-primary-nav ul li ul li a {
	color: var(--untibebe-texte);
}

.cm-primary-nav ul li ul li:hover,
.cm-primary-nav ul li.current-menu-item ul li a:hover {
	background-color: var(--untibebe-violet);
}

.cm-primary-nav ul li ul li:hover > a {
	color: #fff;
}

/* Contenus ------------------------------------------------------------------ */

.cm-entry-summary a,
.cm-entry-content a,
.entry-content a,
.comment-content a {
	color: var(--untibebe-rose);
}

.cm-entry-summary a:hover,
.cm-entry-content a:hover,
.entry-content a:hover,
.comment-content a:hover {
	color: var(--untibebe-violet);
}

.cm-entry-title a:hover {
	color: var(--untibebe-violet);
}

/* Étiquettes de rubrique : violet en liste, rose sur un article. */
.single .cm-post-categories a {
	background-color: var(--untibebe-rose);
}

/* Bouton « Lire la suite ». */
.cm-entry-button span:hover {
	background-color: var(--untibebe-rose);
}

/* Pagination. */
.page-numbers .current,
span.page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers.current,
.link-pagination .post-page-numbers.current {
	background-color: var(--untibebe-rose);
	border-color: var(--untibebe-rose);
	color: #fff;
}

.page-numbers a:hover,
a.page-numbers:hover {
	color: var(--untibebe-rose);
}

/* Titres de sections de l'accueil en rose, comme sur untibebe.com. */
.cm-featured-posts .cm-widget-title {
	border-bottom-color: var(--untibebe-rose);
}

.cm-featured-posts .cm-widget-title span {
	background-color: var(--untibebe-rose);
}

/* Pied de page -------------------------------------------------------------- */

.cm-footer-cols {
	background-color: var(--untibebe-pied);
}

.cm-footer-cols a:hover {
	color: var(--untibebe-pied-survol);
}

.cm-footer-bar {
	background-color: var(--untibebe-violet);
	color: #fff;
}

/* Même précision que les règles générées par ColorMag (.cm-footer-bar-area .cm-footer-bar__2 a), qui imposaient le bleu #207daf. */
.cm-footer-bar a,
.cm-footer-bar-area .cm-footer-bar__1 a,
.cm-footer-bar-area .cm-footer-bar__2 a {
	color: #fff;
}

.cm-footer-bar a:hover,
.cm-footer-bar-area .cm-footer-bar__1 a:hover,
.cm-footer-bar-area .cm-footer-bar__2 a:hover {
	color: var(--untibebe-pied-survol);
}

/* Bouton de l'en-tête (bleu #207daf par défaut dans ColorMag). */
.cm-header-builder .cm-header-buttons .cm-header-button .cm-button {
	background-color: var(--untibebe-violet);
}

.cm-header-builder .cm-header-buttons .cm-header-button .cm-button:hover {
	background-color: var(--untibebe-rose);
}

/* Barre latérale : présentation et réseaux sociaux ------------------------- */

.untibebe-presentation p {
	margin-bottom: 0.8em;
}

.untibebe-en-savoir a {
	color: var(--untibebe-rose);
	font-weight: 700;
	letter-spacing: 0.03em;
}

.untibebe-en-savoir a:hover {
	color: var(--untibebe-violet);
}

.untibebe-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.untibebe-social li {
	margin: 0;
	padding: 0;
	border: 0;
}

.untibebe-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--untibebe-violet);
	color: #fff;
	font-size: 16px;
	transition: background-color 0.2s ease;
}

.untibebe-social a:hover,
.untibebe-social a:focus-visible {
	background-color: var(--untibebe-rose);
	color: #fff;
}

/* Accueil : flux Passionnément Sexualité ------------------------------------ */

.cm-primary .wp-block-rss {
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}

.cm-primary .wp-block-rss__item-title a {
	color: var(--untibebe-texte);
	font-weight: 700;
}

.cm-primary .wp-block-rss__item-title a:hover {
	color: var(--untibebe-rose);
}

.cm-primary .wp-block-rss__item-publish-date {
	color: #71717a;
	font-size: 13px;
}

/* Pied de page : liens légaux ---------------------------------------------- */

.untibebe-liens-legaux {
	margin-top: 6px;
	font-size: 13px;
}

.untibebe-liens-legaux a,
.cm-footer .cm-copyright .untibebe-liens-legaux a {
	color: var(--untibebe-violet);
	text-decoration: none;
}

.untibebe-liens-legaux a:hover,
.cm-footer .cm-copyright .untibebe-liens-legaux a:hover {
	color: var(--untibebe-rose);
	text-decoration: underline;
}

.untibebe-liens-legaux .untibebe-sep {
	margin: 0 6px;
	color: #a1a1aa;
}

/* Menus déroulants -----------------------------------------------------------
 * ColorMag ajoute dans son CSS généré un fond #232323 aux sous-menus
 * (.cm-header-builder .cm-primary-nav .sub-menu), plus fort que la règle
 * ci-dessus : texte foncé sur fond foncé. On reprend la main avec la même précision.
 */
.cm-header-builder .cm-primary-nav .sub-menu,
.cm-header-builder .cm-primary-nav .children {
	background-color: #fff;
	border: 1px solid #ececec;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.cm-header-builder .cm-primary-nav ul li ul li {
	background-color: transparent;
	border-bottom: 1px solid #f3f0f5;
}

.cm-header-builder .cm-primary-nav ul li ul li:last-child {
	border-bottom: 0;
}

.cm-header-builder .cm-primary-nav ul li ul li a,
.cm-header-builder .cm-primary-nav ul li.current-menu-item ul li a,
.cm-header-builder .cm-primary-nav ul li.current-menu-ancestor ul li a,
.cm-header-builder .cm-primary-nav ul li.current_page_ancestor ul li a {
	color: var(--untibebe-texte);
	font-weight: 600;
}

.cm-header-builder .cm-primary-nav ul li ul li .cm-submenu-toggle .cm-icon {
	fill: var(--untibebe-texte);
}

.cm-header-builder .cm-primary-nav ul li ul li:hover,
.cm-header-builder .cm-primary-nav ul li ul li.focus,
.cm-header-builder .cm-primary-nav ul li ul li.current-menu-item,
.cm-header-builder .cm-primary-nav ul li ul li.current-menu-ancestor {
	background-color: var(--untibebe-violet);
}

.cm-header-builder .cm-primary-nav ul li ul li:hover > a,
.cm-header-builder .cm-primary-nav ul li ul li.focus > a,
.cm-header-builder .cm-primary-nav ul li ul li.current-menu-item > a,
.cm-header-builder .cm-primary-nav ul li ul li.current-menu-ancestor > a {
	color: #fff;
}

.cm-header-builder .cm-primary-nav ul li ul li:hover > .cm-submenu-toggle .cm-icon,
.cm-header-builder .cm-primary-nav ul li ul li.focus > .cm-submenu-toggle .cm-icon {
	fill: #fff;
}

/* Accueil : carrousel des derniers articles ----------------------------------- */

.cm-featured-category-slider .cm-single-slide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.cm-featured-category-slider .cm-slide-content {
	padding: 20px 24px;
}

.cm-featured-category-slider .cm-entry-title {
	font-size: 26px;
	line-height: 1.3;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

@media (max-width: 600px) {
	.cm-featured-category-slider .cm-entry-title {
		font-size: 17px;
	}
	.cm-featured-category-slider .cm-slide-content {
		padding: 12px 14px;
	}
}

/* En-tête : titre texte masqué quand le logo est affiché ----------------------
 * La règle plus haut visait .cm-header, une classe que ColorMag n'utilise plus
 * (l'en-tête est #cm-masthead.cm-header-builder) : le titre restait visible à côté du logo.
 * Le titre reste dans le code pour les moteurs et les lecteurs d'écran.
 */
#cm-masthead:has(.custom-logo-link) .cm-site-title {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ==========================================================================
 * Version 1.1.0 : nouvelle présentation (en-tête, accueil, pied de page)
 * ========================================================================== */

:root {
	--ub-violet-clair: #f4ecf9;
	--ub-trait: #ece6f0;
	--ub-gris: #6b6b76;
	--ub-ombre: 0 2px 10px rgba(60, 20, 80, 0.07);
}

/* En-tête : logo, menu et réseaux sur une seule ligne ------------------------ */

.cm-header-builder .cm-header-main-row {
	background-color: #fff;
	border-bottom: 1px solid var(--ub-trait);
}

.cm-header-builder .cm-desktop-row .cm-main-row {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 84px;
}

.cm-header-builder .cm-desktop-row .cm-header-left-col {
	flex: 0 0 auto;
}

.cm-header-builder .cm-desktop-row .cm-header-center-col {
	flex: 1 1 auto;
	justify-content: flex-start;
}

.cm-header-builder .cm-desktop-row .cm-header-right-col {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 14px;
}

.cm-header-builder .cm-site-branding .custom-logo {
	max-height: 56px;
	width: auto;
}

/* Le slogan est déjà écrit sous le logo : il reste dans le code, sans s'afficher. */
#cm-masthead:has(.custom-logo-link) .cm-site-description {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Menu principal en texte. */
.cm-header-builder .cm-desktop-row .cm-primary-nav,
.cm-header-builder .cm-desktop-row #cm-primary-nav {
	border: 0;
	background: transparent;
}

.cm-header-builder .cm-primary-nav > ul > li > a {
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--untibebe-texte);
}

.cm-header-builder .cm-primary-nav > ul > li:hover > a,
.cm-header-builder .cm-primary-nav > ul > li.current-menu-item > a,
.cm-header-builder .cm-primary-nav > ul > li.current-menu-ancestor > a {
	color: var(--untibebe-violet);
}

/* Réseaux sociaux et recherche. */
.ub-reseaux {
	display: flex;
	align-items: center;
	gap: 4px;
}

.ub-reseaux a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	color: var(--untibebe-texte);
	font-size: 16px;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.ub-reseaux a:hover,
.ub-reseaux a:focus-visible {
	color: var(--untibebe-violet);
	background-color: var(--ub-violet-clair);
}

.cm-header-builder .cm-top-search .search-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: var(--ub-violet-clair);
	color: var(--untibebe-violet);
	cursor: pointer;
}

/* Accueil ------------------------------------------------------------------ */

.untibebe-accueil {
	padding: 24px 0 10px;
}

.untibebe-accueil .ub-carrousel {
	margin-bottom: 36px;
}

.untibebe-accueil .ub-carrousel .widget {
	margin: 0;
}

.untibebe-accueil .ub-carrousel .cm-featured-category-slider,
.untibebe-accueil .ub-carrousel .cm-single-slide {
	border-radius: 10px;
	overflow: hidden;
}

.ub-section {
	margin-bottom: 40px;
}

/* Titres de section : violet, souligné d'un trait fin. */
.ub-titre {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 18px;
}

.ub-titre h2,
.ub-ps h4,
.ub-ps h2 {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: var(--untibebe-violet);
	white-space: nowrap;
}

.ub-titre::after {
	content: "";
	order: 1;
	flex: 1 1 auto;
	height: 1px;
	background-color: #c9a8dc;
	align-self: center;
}

.ub-titre a {
	order: 2;
	font-size: 13px;
	font-weight: 600;
	color: var(--untibebe-violet);
	white-space: nowrap;
}

.ub-titre a:hover {
	color: var(--untibebe-rose);
}

/* Étiquettes de rubrique. */
.ub-etiquette {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 3px;
	background-color: var(--untibebe-rose);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ub-etiquette:hover {
	color: #fff;
	opacity: 0.9;
}

.ub-etiquette--voyages { background-color: #2563eb; }
.ub-etiquette--couple { background-color: #c0265a; }
.ub-etiquette--famille { background-color: var(--untibebe-rose); }

.ub-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	color: var(--ub-gris);
	font-size: 12px;
}

.ub-date {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.ub-sans-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 80px;
	background: linear-gradient(135deg, #f6f0f9, #fdecf5);
}

.untibebe-accueil h3 a {
	color: var(--untibebe-texte);
}

.untibebe-accueil h3 a:hover {
	color: var(--untibebe-violet);
}

/* « À la une » : grand article à gauche, liste à droite. */
.ub-une-grille {
	display: grid;
	grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
	gap: 24px;
}

.ub-une-principal {
	position: relative;
	min-height: 360px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #eee;
}

.ub-une-image,
.ub-une-image img,
.ub-une-image .ub-sans-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ub-une-carte {
	position: absolute;
	left: 36%;
	right: 10%;
	bottom: 10%;
	padding: 20px 22px;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.96);
	box-shadow: var(--ub-ombre);
}

.ub-une-carte h3 {
	margin: 10px 0 8px;
	font-size: 22px;
	line-height: 1.3;
}

.ub-une-carte p {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.6;
	color: #4b4b55;
}

.ub-une-liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ub-une-liste li {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	margin: 0;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--ub-trait);
}

.ub-une-liste li + li {
	padding-top: 12px;
}

.ub-une-liste li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ub-vignette {
	display: block;
	height: 72px;
	border-radius: 6px;
	overflow: hidden;
}

.ub-vignette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ub-une-liste h3 {
	margin: 0 0 6px;
	font-size: 14px;
	line-height: 1.35;
}

/* Bandeau newsletter. */
.ub-newsletter {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.25fr);
	gap: 24px;
	align-items: center;
	margin-bottom: 40px;
	padding: 22px 28px;
	border-radius: 12px;
	background-color: var(--ub-violet-clair);
}

.ub-nl-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background-color: #f9c9e2;
	color: var(--untibebe-rose);
}

.ub-nl-texte h2 {
	margin: 0 0 4px;
	font-size: 20px;
	color: var(--untibebe-violet);
}

.ub-nl-texte p {
	margin: 0;
	font-size: 14px;
}

.ub-newsletter form {
	margin: 0;
}

.ub-nl-champs {
	display: flex;
	gap: 8px;
}

.ub-nl-champs input[type="text"],
.ub-nl-champs input[type="email"] {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid #dccbe6;
	border-radius: 6px;
	background-color: #fff;
	font-size: 13px;
}

.ub-nl-champs input[type="text"] {
	flex-grow: 0.6;
}

.ub-nl-champs button {
	flex: 0 0 auto;
	padding: 9px 18px;
	border: 0;
	border-radius: 20px;
	background-color: var(--untibebe-violet);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.ub-nl-champs button:hover,
.ub-nl-champs button:focus-visible {
	background-color: var(--untibebe-rose);
}

.ub-nl-accord {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	color: #4b4b55;
}

.ub-nl-accord input {
	margin: 2px 0 0;
}

.ub-newsletter .mc4wp-response {
	margin-top: 8px;
	font-size: 13px;
}

/* « Derniers articles » : 4 cartes. */
.ub-cartes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.ub-carte {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ub-trait);
	border-radius: 8px;
	overflow: hidden;
	background-color: #fff;
	box-shadow: var(--ub-ombre);
}

.ub-carte-image {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.ub-carte-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.ub-carte:hover .ub-carte-image img {
	transform: scale(1.03);
}

.ub-carte-texte {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 12px 14px 14px;
}

.ub-carte-texte .ub-etiquette {
	align-self: flex-start;
	margin-top: -24px;
	position: relative;
}

.ub-carte h3 {
	margin: 10px 0 12px;
	font-size: 15px;
	line-height: 1.35;
}

.ub-carte .ub-meta {
	margin-top: auto;
}

/* Flux Passionnément Sexualité. */
.ub-ps {
	padding-top: 6px;
}

.ub-ps .wp-block-heading,
.ub-ps h4 {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
}

.ub-ps h4::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background-color: #c9a8dc;
}

.ub-ps .wp-block-rss.is-grid {
	gap: 20px;
}

.ub-ps .wp-block-rss__item {
	padding: 14px 16px;
	border: 1px solid var(--ub-trait);
	border-radius: 8px;
	background-color: #fff;
	box-shadow: var(--ub-ombre);
}

/* Pied de page : présentation et « Bonnes adresses » ----------------------- */

.ub-pied {
	padding: 40px 0 30px;
	background-color: #fff;
	border-top: 1px solid var(--ub-trait);
}

.ub-pied-grille {
	display: grid;
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.ub-pied-texte {
	text-align: center;
	color: var(--untibebe-violet);
	font-size: 13px;
	line-height: 1.7;
}

.ub-pied-texte h2 {
	margin: 0 0 12px;
	font-size: 17px;
	color: var(--untibebe-violet);
}

.ub-pied-texte p {
	margin: 0 0 10px;
}

.ub-pied-adresses {
	font-size: 14px;
	text-align: center;
}

.ub-pied-adresses h2 {
	margin: 0 0 14px;
	border-bottom: 2px solid var(--untibebe-violet);
	text-align: left;
	font-size: 13px;
	line-height: 1;
}

.ub-pied-adresses h2 span {
	display: inline-block;
	padding: 7px 10px;
	background-color: var(--untibebe-violet);
	color: #fff;
	text-transform: uppercase;
}

.ub-pied-adresses p {
	margin: 0 0 10px;
}

.ub-pied-adresses span[style] {
	font-size: 14px !important;
}

.ub-pied-adresses img {
	display: block;
	margin: 6px auto 0;
	max-width: 100%;
	height: auto;
}

/* Petits écrans --------------------------------------------------------------- */

@media (max-width: 1100px) {
	.ub-cartes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ub-newsletter {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.ub-nl-formulaire {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.ub-une-grille,
	.ub-pied-grille {
		grid-template-columns: minmax(0, 1fr);
	}

	.ub-une-carte {
		left: 6%;
		right: 6%;
		bottom: 6%;
	}
}

@media (max-width: 600px) {
	.untibebe-accueil {
		padding-top: 14px;
	}

	.ub-titre h2,
	.ub-ps h4 {
		font-size: 20px;
	}

	.ub-titre a {
		display: none;
	}

	.ub-une-principal {
		min-height: 0;
		display: flex;
		flex-direction: column;
		background: #fff;
		border: 1px solid var(--ub-trait);
	}

	.ub-une-image {
		position: relative;
		display: block;
		aspect-ratio: 16 / 10;
	}

	.ub-une-carte {
		position: static;
		box-shadow: none;
		padding: 14px 16px 16px;
	}

	.ub-une-carte h3 {
		font-size: 18px;
	}

	.ub-une-liste li {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	.ub-cartes {
		grid-template-columns: minmax(0, 1fr);
	}

	.ub-newsletter {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px;
		text-align: center;
	}

	.ub-nl-icone {
		margin: 0 auto;
	}

	.ub-nl-champs {
		flex-direction: column;
	}

	.ub-nl-accord {
		text-align: left;
	}
}

/* 1.1.0 : ajustements après contrôle du rendu ------------------------------ */

.cm-header-builder .cm-desktop-row #cm-primary-menu {
	flex-wrap: nowrap;
}

.cm-header-builder .cm-desktop-row #cm-primary-menu > li {
	padding: 0;
}

.cm-header-builder .cm-desktop-row .cm-main-row {
	gap: 20px;
}

.home #cm-content {
	padding-top: 16px;
}

.untibebe-accueil .ub-carrousel .cm-single-slide img {
	aspect-ratio: 5 / 2;
}

.ub-newsletter .ub-nl-champs button[type="submit"] {
	background-color: var(--untibebe-violet);
	color: #fff;
}

.ub-newsletter .ub-nl-champs button[type="submit"]:hover,
.ub-newsletter .ub-nl-champs button[type="submit"]:focus-visible {
	background-color: var(--untibebe-rose);
}

.ub-ps .widget {
	margin: 0;
}

.ub-ps .block-title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.ub-ps .block-title h4 {
	padding: 0;
	background: none;
	color: var(--untibebe-violet);
	font-size: 24px;
	text-transform: none;
}

.ub-ps .wp-block-rss {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
}

.ub-ps .wp-block-rss .wp-block-rss__item {
	width: auto;
	margin: 0;
	list-style: none;
}

.ub-ps .wp-block-rss__item-title a {
	color: var(--untibebe-texte);
	font-weight: 700;
}

.ub-ps .wp-block-rss__item-title a:hover {
	color: var(--untibebe-violet);
}

/* Barre du bas : fond blanc, texte centré. */
.cm-footer-builder .cm-footer-bottom-row {
	padding: 16px 0;
	background-color: #fff;
	border-top: 1px solid var(--ub-trait);
}

.cm-footer-builder .cm-footer-bottom-row .cm-bottom-row {
	justify-content: center;
}

.cm-footer-builder .cm-footer-bottom-1-col {
	flex: 1 1 100%;
	text-align: center;
}

.cm-footer-builder .cm-footer-bottom-2-col:empty {
	display: none;
}

.cm-footer-builder .cm-copyright {
	width: 100%;
	color: #3f3f46;
	font-size: 12px;
}

.cm-footer-builder .cm-copyright > a {
	color: #3f3f46;
}

@media (max-width: 600px) {
	.untibebe-accueil .ub-carrousel .cm-single-slide img {
		aspect-ratio: 16 / 10;
	}

	.ub-ps .wp-block-rss {
		grid-template-columns: minmax(0, 1fr);
	}

	.ub-ps .block-title h4 {
		font-size: 20px;
	}
}

/* 1.1.0 : seconde passe (règles de Mailchimp, du bloc RSS et du pied de ColorMag plus fortes) */

.ub-newsletter .ub-nl-champs button[type="submit"] {
	background: var(--untibebe-violet) !important;
}

.ub-newsletter .ub-nl-champs button[type="submit"]:hover,
.ub-newsletter .ub-nl-champs button[type="submit"]:focus-visible {
	background: var(--untibebe-rose) !important;
}

.ub-ps ul.wp-block-rss.is-grid {
	display: grid;
}

#cm-footer .cm-footer-bottom-row .cm-bottom-row {
	grid-template-columns: minmax(0, 1fr);
}

/* ==========================================================================
 * Version 1.1.2 : charte appliquée partout
 * ========================================================================== */

/* « À la une » : encadré blanc légèrement transparent, l'image reste visible. */
.ub-une-carte {
	background-color: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

@media (max-width: 600px) {
	.ub-une-carte {
		background-color: #fff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

/* Menu : les intitulés ne passent jamais sur deux lignes. */
.cm-header-builder .cm-desktop-row #cm-primary-menu > li > a {
	white-space: nowrap;
}

/* Boutons des formulaires Mailchimp (barre latérale, bandeau) : violet au lieu de gris foncé. */
.mc4wp-form-theme-dark button,
.mc4wp-form-theme-dark input[type="submit"],
.mc4wp-form-theme-dark input[type="button"] {
	background: var(--untibebe-violet) !important;
	border-color: var(--untibebe-violet) !important;
	color: #fff !important;
}

.mc4wp-form-theme-dark button:hover,
.mc4wp-form-theme-dark input[type="submit"]:hover,
.mc4wp-form-theme-dark button:focus-visible,
.mc4wp-form-theme-dark input[type="submit"]:focus-visible {
	background: var(--untibebe-rose) !important;
	border-color: var(--untibebe-rose) !important;
}

/* Citations et encadrés « À lire aussi » : fond violet clair, liens lisibles. */
.cm-entry-summary blockquote,
.cm-entry-content blockquote,
.entry-content blockquote,
.wp-block-quote {
	padding: 18px 22px;
	border: 0;
	border-left: 4px solid var(--untibebe-violet);
	border-radius: 0 8px 8px 0;
	background-color: var(--ub-violet-clair);
	color: var(--untibebe-texte);
}

.cm-entry-summary blockquote h2,
.cm-entry-summary blockquote h3,
.cm-entry-summary blockquote h4,
.wp-block-quote h3 {
	margin-top: 0;
	color: var(--untibebe-violet);
}

.cm-entry-summary blockquote p,
.wp-block-quote p {
	color: var(--untibebe-texte);
}

.cm-entry-summary blockquote a,
.wp-block-quote a {
	color: var(--untibebe-rose);
	font-weight: 600;
}

.cm-entry-summary blockquote a:hover,
.wp-block-quote a:hover {
	color: var(--untibebe-violet);
}

/* Formulaire de contact (WPForms). */
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit {
	background-color: var(--untibebe-violet) !important;
	border-color: var(--untibebe-violet) !important;
	border-radius: 20px !important;
	color: #fff !important;
}

.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover,
.wpforms-container .wpforms-submit:focus-visible {
	background-color: var(--untibebe-rose) !important;
	border-color: var(--untibebe-rose) !important;
}

.wpforms-container .wpforms-required-label {
	color: var(--untibebe-rose);
}

.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
	border-color: var(--untibebe-violet) !important;
	box-shadow: 0 0 0 1px var(--untibebe-violet) !important;
}

/* Page 404. */
.cm-error-404 .cm-page-header p {
	color: var(--untibebe-violet);
	font-weight: 700;
}

body .cm-error-404 .cm-page-header .cm-page-title {
	color: var(--untibebe-violet);
}

.cm-error-404 .cm-btn:hover {
	background-color: var(--untibebe-rose);
}

/* Bandeau cookies (Complianz) : couleurs et police du site. */
:root:root {
	--cmplz_hyperlink_color: #8e44ad;
	--cmplz_text_color: #313131;
	--cmplz_button_accept_background_color: #8e44ad;
	--cmplz_button_accept_border_color: #8e44ad;
	--cmplz_button_accept_text_color: #ffffff;
	--cmplz_button_deny_background_color: #ffffff;
	--cmplz_button_deny_border_color: #c9a8dc;
	--cmplz_button_deny_text_color: #8e44ad;
	--cmplz_button_settings_background_color: #ffffff;
	--cmplz_button_settings_border_color: #c9a8dc;
	--cmplz_button_settings_text_color: #8e44ad;
	--cmplz_slider_active_color: #8e44ad;
	--cmplz_slider_inactive_color: #b5b5bd;
	--cmplz_text_font_size: 13px;
	--cmplz_link_font_size: 12px;
	--cmplz_category_body_font_size: 12px;
}

.cmplz-cookiebanner,
.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-btn {
	font-family: "Open Sans", sans-serif;
}

.cmplz-cookiebanner .cmplz-title {
	color: var(--untibebe-violet);
	font-weight: 700;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background-color: var(--untibebe-rose);
	border-color: var(--untibebe-rose);
}

#cmplz-manage-consent .cmplz-manage-consent {
	background-color: var(--untibebe-violet);
	color: #fff;
}

/* 1.1.3 : en-tête sur écrans moyens, titre du bandeau cookies */

.cm-header-builder .cm-desktop-row #cm-primary-menu > li {
	flex-wrap: nowrap;
	align-items: center;
}

@media (max-width: 1200px) {
	.cm-header-builder .cm-desktop-row .cm-main-row {
		gap: 12px;
	}

	.cm-header-builder .cm-desktop-row #cm-primary-menu > li > a {
		padding: 10px 7px;
		font-size: 12px;
	}

	.ub-reseaux a {
		width: 28px;
		height: 28px;
		font-size: 14px;
	}

	.cm-header-builder .cm-site-branding .custom-logo {
		max-height: 46px;
	}
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
	color: var(--untibebe-violet);
	font-weight: 700;
}


/* 1.1.4 : archives et détails visuels cohérents avec l'accueil. */

/* Titre « Bonnes adresses » : onglet violet avec angles arrondis. */
.ub-pied-adresses h2 {
	border-bottom: 0;
}
.ub-pied-adresses h2 span {
	padding: 8px 12px;
	border-radius: 8px;
}

/* Catégories : pleine largeur, sans colonne latérale. */
body.category .cm-secondary {
	display: none !important;
}
body.category #cm-primary.cm-primary {
	float: none !important;
	flex: 0 0 100%;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Badges de catégories et bouton « Lire la suite » en forme de pastille. */
body.category .cm-post-categories a,
body.category .cm-entry-button span {
	border-radius: 999px;
}
body.category .cm-post-categories a {
	padding: 5px 11px;
}
body.category .cm-entry-button span {
	padding: 9px 16px;
}

/* Page « Tous les articles » : cartes respirantes, sans colonne latérale. */
.ub-archive {
	margin-top: 32px;
	margin-bottom: 48px;
}
.ub-archive-entete {
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--untibebe-violet);
}
.ub-archive-entete .cm-page-title {
	margin: 0;
	color: var(--untibebe-violet);
	font-size: 28px;
	text-transform: none;
}
.ub-archive-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.ub-archive-carte {
	overflow: hidden;
	margin: 0;
	border: 1px solid #ece8ef;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(40, 20, 48, 0.06);
}
.ub-archive-image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #f5f1f7;
}
.ub-archive-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ub-archive-carte .ub-archive-contenu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px;
}
.ub-archive-carte .ub-etiquette {
	border-radius: 999px;
}
.ub-archive-carte h2 {
	margin: 12px 0 8px;
	font-size: 18px;
	line-height: 1.4;
}
.ub-archive-carte h2 a {
	color: var(--untibebe-texte);
}
.ub-archive-carte h2 a:hover {
	color: var(--untibebe-violet);
}
.ub-archive-carte p {
	margin: 12px 0;
}
.ub-archive-suite {
	display: inline-block;
	margin-top: auto;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--untibebe-violet);
	color: #fff !important;
	font-weight: 700;
}
.ub-archive-suite:hover,
.ub-archive-suite:focus-visible {
	background: var(--untibebe-rose);
	color: #fff !important;
}
.ub-archive-pagination {
	margin-top: 32px;
}
.ub-archive-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ub-archive-pagination .page-numbers {
	display: inline-block;
	padding: 7px 12px;
	border: 1px solid #e7d8ed;
	border-radius: 999px;
}
.ub-archive-pagination .page-numbers.current {
	background: var(--untibebe-violet);
	border-color: var(--untibebe-violet);
	color: #fff;
}
@media (max-width: 900px) {
	.ub-archive-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.ub-archive {
		margin-top: 20px;
	}
	.ub-archive-grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
	.ub-archive-entete .cm-page-title {
		font-size: 24px;
	}
}


/* 1.1.5 : le bouton d'archive est porté par le lien du thème. */
body.category .cm-entry-button,
body.category .cm-entry-button a,
body.category .cm-entry-button span,
body.category a.cm-entry-button {
	border-radius: 999px !important;
}


/* 1.1.6 : coins arrondis des onglets de titre de toutes les catégories. */
body.category .cm-page-header .cm-page-title > span {
	border-radius: 8px;
}
