.ubris-com,
.ubris-com-dock,
.ubris-com-page {
	--ink: #210000;
	--ink-soft: #5B0504;
	--line: #eadfd6;
	--cream: #F9F7F5;
	--cream-soft: #fffdf9;
	--lime: #F1FBBF;
	--peach: #FFB347;
	--accent: #F98700;
	--accent2: #AB1A19;
	--muted: #6b5b52;
	--card: #ffffff;
	--grad: linear-gradient(135deg, #F98700 0%, #AB1A19 100%);
	--shadow: 0 10px 30px rgba(33, 0, 0, .05);
	--radius: 22px;
	/* Hiérarchie ressources : orange = apprendre, bordeaux = fichiers, pierre = bientôt */
	--res-learn: #F98700;
	--res-learn-soft: #fff4e8;
	--res-file: #AB1A19;
	--res-file-soft: #faf4f3;
	--res-file-line: #e8d0cd;
	--res-soon-bg: #efeae6;
	--res-soon-fg: #6b5b52;
	--res-soon-line: #d9cfc7;
	--res-surface: #f5f2ef;
	--res-chip-fg: #5B0504;
	--res-chip-bg: #F9F7F5;
}

.ubris-com *,
.ubris-com *::before,
.ubris-com *::after,
.ubris-com-dock *,
.ubris-com-dock *::before,
.ubris-com-dock *::after,
.ubris-com-page *,
.ubris-com-page *::before,
.ubris-com-page *::after {
	box-sizing: border-box;
}

/* ---------- Page dédiée ---------- */
.ubris-com-page {
	font-family: inherit;
	color: var(--ink);
	margin: 1.25rem auto 2.5rem;
	max-width: 1280px;
	display: flex;
	flex-direction: column;
	gap: 1.35rem;
}

.ubris-com-page__hero {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(180px, .7fr);
	align-items: center;
	gap: 1.25rem 2rem;
	padding: .35rem .15rem 0;
}

.ubris-com-page__hero-copy h1 {
	margin: 0 0 .45rem;
	font-size: clamp(1.85rem, 3.2vw, 2.45rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.ubris-com-page__hero-copy > p {
	margin: 0 0 1rem;
	color: var(--muted);
	max-width: 36rem;
	line-height: 1.5;
	font-size: 1.02rem;
}

.ubris-com-page__hero-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .85rem;
}

.ubris-com-page__hero-points li {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .4rem .75rem .4rem .5rem;
	font-size: .84rem;
	font-weight: 600;
	color: var(--ink-soft);
	box-shadow: 0 4px 14px rgba(33, 0, 0, .03);
}

.ubris-com-page__hero-ico {
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff4e8;
	color: var(--accent);
	flex-shrink: 0;
}

.ubris-com-page__hero-ico svg {
	display: block;
}

.ubris-com-page__hero-art {
	display: flex;
	justify-content: flex-end;
}

.ubris-com-page__hero-blob {
	width: min(100%, 220px);
	aspect-ratio: 1.15 / 1;
	border-radius: 28px;
	background:
		radial-gradient(circle at 30% 30%, #FFB347 0%, transparent 55%),
		radial-gradient(circle at 75% 70%, #AB1A19 0%, transparent 50%),
		linear-gradient(145deg, #fff7ef, #ffe0c2);
	box-shadow: var(--shadow);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.ubris-com-page__hero-blob::after {
	content: "";
	position: absolute;
	inset: 18% 20%;
	border-radius: 22px;
	background: rgba(255, 255, 255, .45);
	border: 1px solid rgba(255, 255, 255, .55);
}

.ubris-com-page__hero-blob-ico {
	position: relative;
	z-index: 1;
	color: var(--ink);
	opacity: .85;
	transform: scale(1.8);
}

.ubris-com-page__lock {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 1.5rem 1.25rem;
	text-align: center;
	box-shadow: var(--shadow);
}

.ubris-com-page__lock p {
	margin: 0 0 .85rem;
	line-height: 1.45;
}

.ubris-com-page__lock > p:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	justify-content: center;
	margin-bottom: 0;
}

.ubris-com-page__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	background: var(--grad);
	color: #fff !important;
	padding: .65rem 1.2rem;
	border-radius: 999px;
	text-decoration: none !important;
	font-weight: 700;
	border: 0;
	box-shadow: 0 8px 20px rgba(171, 26, 25, .18);
}

.ubris-com-page__cta--ghost {
	background: transparent;
	color: var(--ink) !important;
	border: 1px solid var(--line);
	margin-left: 0;
	box-shadow: none;
}

body.page-communaute .entry-header,
body.page-communaute .ast-single-post .entry-header {
	display: none;
}

body.ubris-com-full .site-content,
body.page-communaute .site-content {
	background: var(--cream);
}

@media (min-width: 921px) {
	body.page-communaute .ast-container {
		max-width: 1320px;
	}
}

@media (max-width: 780px) {
	.ubris-com-page__hero {
		grid-template-columns: 1fr;
	}
	.ubris-com-page__hero-art {
		justify-content: flex-start;
	}
	.ubris-com-page__hero-blob {
		width: 160px;
	}
}

/* ---------- Panneau chat ---------- */
.ubris-com {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	margin: 0;
	box-shadow: 0 10px 30px rgba(33, 0, 0, .04);
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.ubris-com.is-picking {
	overflow: visible;
}

.ubris-com--page {
	min-height: min(72vh, 860px);
	height: min(76vh, 880px);
	border-radius: 24px;
	box-shadow: var(--shadow);
	border-color: var(--line);
}

.ubris-com--widget {
	flex: 1;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	height: auto;
}

.ubris-com__layout {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex: 1;
	height: 100%;
}

.ubris-com--page .ubris-com__layout {
	display: grid;
	grid-template-columns: 15.75rem minmax(0, 1fr) 16.5rem;
	align-items: stretch;
}

.ubris-com__picker {
	position: relative;
	min-width: 0;
	flex: 1;
}

.ubris-com__picker-toggle {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 12px;
	padding: .45rem .75rem;
	display: flex;
	align-items: center;
	gap: .45rem;
	cursor: pointer;
	width: 100%;
	text-align: left;
	color: var(--ink);
	font: inherit;
}

.ubris-com__picker.is-open .ubris-com__picker-toggle {
	border-color: var(--accent);
	background: var(--cream);
	color: var(--accent);
}

.ubris-com__picker-label {
	font-size: .68rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--muted);
	flex-shrink: 0;
}

.ubris-com__picker.is-open .ubris-com__picker-label {
	color: var(--accent);
}

.ubris-com__picker-current {
	font-weight: 700;
	font-size: .98rem;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
}

.ubris-com__picker-caret {
	width: 1.05rem;
	height: 1.05rem;
	flex-shrink: 0;
	margin-left: .15rem;
	transition: transform .15s ease;
}

.ubris-com__picker.is-open .ubris-com__picker-caret {
	transform: rotate(180deg);
}

.ubris-com__picker-menu {
	position: absolute;
	top: calc(100% + .4rem);
	left: 0;
	right: 0;
	z-index: 40;
	max-height: min(280px, 50vh);
	overflow: auto;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	box-shadow: 0 14px 36px rgba(33, 0, 0, .16);
	padding: .35rem;
}

.ubris-com__room {
	appearance: none;
	border: 0;
	background: transparent;
	text-align: left;
	padding: .65rem .7rem;
	border-radius: 12px;
	cursor: pointer;
	color: var(--ink) !important;
	font-weight: 600;
	font-size: .92rem;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .2rem .5rem;
}

.ubris-com--widget .ubris-com__room {
	padding: .5rem .6rem;
	font-size: .88rem;
	border-radius: 10px;
}

.ubris-com__room:hover,
.ubris-com__room:focus {
	background: var(--cream);
	color: var(--accent) !important;
}

.ubris-com__room.is-active,
.ubris-com__room.is-active:hover {
	background: linear-gradient(135deg, #fff3e8, #ffe8d6);
	color: var(--accent) !important;
	box-shadow: inset 0 0 0 1px #f0c9b0;
}

.ubris-com__room-title {
	flex: 1;
	min-width: 0;
}

.ubris-com__room-count {
	font-size: .72rem;
	font-weight: 700;
	color: var(--muted);
	background: #f6eee8;
	border-radius: 999px;
	padding: .08rem .45rem;
}

.ubris-com__room.is-active .ubris-com__room-count {
	background: #fff;
	color: var(--accent);
}

.ubris-com__room small {
	display: block;
	flex-basis: 100%;
	font-weight: 500;
	color: var(--muted) !important;
	font-size: .75rem;
	margin-top: .1rem;
	line-height: 1.3;
}

.ubris-com__room:hover small,
.ubris-com__room.is-active small {
	color: #8a7468 !important;
}

.ubris-com__main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	background: #fff;
}

.ubris-com__head {
	padding: .9rem 1.1rem;
	border-bottom: 1px solid var(--line);
	background: #fff;
	flex-shrink: 0;
	overflow: visible;
	position: relative;
	z-index: 6;
}

.ubris-com--widget .ubris-com__head {
	padding: .65rem .85rem;
}

.ubris-com__head-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
}

.ubris-com__head p {
	margin: .45rem 0 0;
	color: var(--muted);
	font-size: .86rem;
	line-height: 1.4;
}

.ubris-com--widget .ubris-com__head p {
	font-size: .78rem;
}

.ubris-com__expand {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	flex-shrink: 0;
	font-size: .78rem;
	font-weight: 700;
	color: var(--accent) !important;
	text-decoration: none !important;
	border: 1px solid #f0c9b0;
	background: var(--cream);
	border-radius: 999px;
	padding: .28rem .7rem;
	white-space: nowrap;
}

.ubris-com__expand:hover {
	filter: brightness(1.03);
}

.ubris-com--page .ubris-com__expand {
	display: none;
}

.ubris-com__topics {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin-top: .65rem;
}

.ubris-com__topic {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: .28rem .7rem;
	font-size: .78rem;
	cursor: pointer;
	color: var(--ink);
}

.ubris-com__topic.is-active {
	border-color: var(--accent);
	background: #fff7f0;
	color: #9b2226;
	font-weight: 700;
}

.ubris-com__stream {
	flex: 1;
	overflow: auto;
	padding: 1rem 1.1rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	background: #fff;
	min-height: 0;
}

.ubris-com--page .ubris-com__stream {
	max-height: none;
}

.ubris-com--widget .ubris-com__stream {
	padding: .75rem .85rem;
}

.ubris-com__msg {
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: .7rem .85rem;
	background: #fff;
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr);
	gap: .55rem .7rem;
	align-items: start;
	position: relative;
}

.ubris-com__msg-main {
	min-width: 0;
	position: relative;
	padding-right: 2rem;
}

.ubris-com__av,
.ubris-com__msg-av {
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 999px;
	object-fit: cover;
	display: block;
	background: #ffe8d6;
	flex-shrink: 0;
}

.ubris-com__av--letter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: .85rem;
	color: var(--accent);
}

.ubris-com__badge {
	display: inline-flex;
	align-items: center;
	background: #fff3e8;
	color: var(--accent);
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	padding: .12rem .45rem;
	line-height: 1.2;
}

.ubris-com__msg-topic {
	font-size: .72rem;
	color: var(--accent2);
	font-weight: 600;
}

.ubris-com__mention {
	display: inline-block;
	background: #fff0ea;
	color: #9b2226;
	border-radius: 6px;
	padding: 0 .28rem;
	font-weight: 700;
}

.ubris-com__msg-img {
	display: block;
	margin-top: .5rem;
	max-width: min(100%, 280px);
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--line);
}

.ubris-com__msg-img img {
	display: block;
	width: 100%;
	height: auto;
}

.ubris-com__msg-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .3rem .45rem;
	margin-bottom: .3rem;
}

.ubris-com__msg-pseudo {
	font-weight: 700;
	font-size: .88rem;
	color: var(--ink);
}

.ubris-com__msg-time {
	font-size: .75rem;
	color: var(--muted);
}

.ubris-com__msg-body {
	font-size: .92rem;
	line-height: 1.45;
	color: #3d2f28;
	white-space: pre-wrap;
	word-break: break-word;
}

.ubris-com__msg-file {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin-top: .45rem;
	font-size: .82rem;
	color: var(--accent);
	font-weight: 600;
	text-decoration: none;
}

.ubris-com__msg-actions {
	margin-top: .4rem;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .55rem;
	align-items: center;
}

.ubris-com__msg-menu {
	position: absolute;
	top: -.15rem;
	right: -.15rem;
	z-index: 4;
	opacity: 0;
	pointer-events: none;
	transition: opacity .12s ease;
}

.ubris-com__msg:hover .ubris-com__msg-menu,
.ubris-com__msg:focus-within .ubris-com__msg-menu,
.ubris-com__msg-menu.is-open {
	opacity: 1;
	pointer-events: auto;
}

@media (hover: none) {
	.ubris-com__msg-menu {
		opacity: .85;
		pointer-events: auto;
	}
}

.ubris-com__msg-more {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 8px;
	cursor: pointer;
	color: #5c4030;
	font-size: 1.05rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

.ubris-com__msg-more:hover,
.ubris-com__msg-menu.is-open .ubris-com__msg-more {
	border-color: #F98700;
	color: #AB1A19;
	background: #fff8f1;
}

.ubris-com__msg-menu-panel {
	position: absolute;
	top: calc(100% + .25rem);
	right: 0;
	min-width: 10.5rem;
	padding: .3rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .1);
	display: flex;
	flex-direction: column;
	gap: .1rem;
}

.ubris-com__msg-menu-panel[hidden] {
	display: none !important;
}

.ubris-com__act,
.ubris-com__flag {
	appearance: none;
	border: 0;
	background: transparent;
	color: #3d2a22;
	font-size: .8rem;
	cursor: pointer;
	padding: .4rem .55rem;
	text-decoration: none;
	text-align: left;
	border-radius: 7px;
	width: 100%;
}

.ubris-com__act:hover,
.ubris-com__flag:hover {
	background: #fff3e8;
}

.ubris-com__act--danger {
	color: #9b2226;
}

.ubris-com__fav-btn.is-on {
	color: #F98700;
	font-weight: 600;
}

.ubris-com__composer {
	border-top: 1px solid var(--line);
	padding: .75rem 1rem 1rem;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: .45rem;
	flex-shrink: 0;
}

.ubris-com--widget .ubris-com__composer {
	padding: .55rem .75rem .7rem;
}

.ubris-com__box {
	display: flex;
	align-items: flex-end;
	gap: .2rem;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: .4rem .4rem .4rem .3rem;
	background: #fff;
}

.ubris-com__box:focus-within {
	border-color: #f0c9b0;
	box-shadow: 0 0 0 3px rgba(232, 93, 4, .1);
}

.ubris-com__box textarea {
	flex: 1;
	min-height: 3.6rem;
	max-height: 9rem;
	resize: vertical;
	border: 0;
	outline: none;
	box-shadow: none;
	background: transparent;
	padding: .5rem .4rem;
	font: inherit;
	line-height: 1.4;
}

.ubris-com__tools {
	display: flex;
	gap: .05rem;
	align-items: center;
	flex-shrink: 0;
	padding-bottom: .15rem;
}

.ubris-com--widget .ubris-com__tools {
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 0;
	gap: 0;
}

.ubris-com__icon {
	appearance: none;
	border: 0;
	background: transparent;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 10px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	margin: 0;
	color: var(--muted);
}

.ubris-com__icon:hover {
	background: var(--cream);
	color: var(--accent);
}

.ubris-com__send {
	appearance: none;
	border: 0;
	background: linear-gradient(135deg, var(--accent), var(--accent2));
	color: #fff;
	font-weight: 700;
	border-radius: 12px;
	padding: .7rem;
	cursor: pointer;
	flex-shrink: 0;
	align-self: flex-end;
	white-space: nowrap;
	width: 2.6rem;
	height: 2.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ubris-com__emoji {
	display: none;
	flex-wrap: wrap;
	gap: .25rem;
	padding: .45rem;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
}

.ubris-com__emoji.is-open {
	display: flex;
}

.ubris-com__emoji button {
	appearance: none;
	border: 0;
	background: transparent;
	font-size: 1.15rem;
	cursor: pointer;
	padding: .15rem;
}

.ubris-com__who {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .35rem .6rem;
	font-size: .8rem;
	color: var(--muted);
}

.ubris-com__who[hidden],
.ubris-com__pseudo-bar[hidden] {
	display: none !important;
}

.ubris-com__who strong {
	color: var(--ink);
	font-weight: 700;
}

.ubris-com__who-edit {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--accent);
	font-size: .78rem;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
}

.ubris-com__pseudo-bar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
}

.ubris-com__pseudo-hint {
	color: var(--muted, #6b5f5f);
	flex: 1 0 100%;
	font-size: .78rem;
	line-height: 1.4;
	margin: 0 0 .15rem;
}

.ubris-com__pseudo-bar input {
	flex: 1;
	min-width: 10rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: .55rem .75rem;
}

.ubris-com__empty {
	color: var(--muted);
	font-size: .9rem;
	text-align: center;
	margin: auto;
	padding: 2rem 1rem;
}

.ubris-com__empty--error {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .85rem;
	max-width: 22rem;
}

.ubris-com__empty--error .ubris-com__btn {
	margin-top: .15rem;
}

.ubris-com__btn {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 10px;
	padding: .5rem .8rem;
	cursor: pointer;
	font-weight: 600;
}

.ubris-com__btn--accent {
	border: 0;
	background: var(--accent);
	color: #fff;
}

.ubris-com__file-label {
	margin: 0;
	font-size: .8rem;
	color: var(--muted);
}

@media (max-width: 1100px) {
	.ubris-com--page .ubris-com__aside {
		display: none;
	}

	.ubris-com--page .ubris-com__layout {
		grid-template-columns: 15rem minmax(0, 1fr);
	}
}

@media (max-width: 860px) {
	.ubris-com--page {
		height: auto;
		min-height: 70vh;
	}

	.ubris-com--page .ubris-com__rail,
	.ubris-com--page .ubris-com__aside {
		display: none;
	}

	.ubris-com--page .ubris-com__layout {
		display: flex;
		flex-direction: column;
		min-height: 70vh;
	}

	.ubris-com--page .ubris-com__picker--mobile {
		display: block;
		margin-top: .75rem;
	}

	.ubris-com--page .ubris-com__stream {
		min-height: 280px;
	}

	.ubris-com-page__hero {
		flex-direction: column;
	}

	.ubris-com-page__motto {
		text-align: left;
		transform: rotate(-3deg);
		margin-left: 0 !important;
	}
}

/* ---------- Bulle + modale ---------- */
.ubris-com-dock .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ubris-com-dock {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 100050;
	font-family: inherit;
}

.ubris-com-dock__bubble {
	appearance: none;
	border: 0;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #e85d04, #9b2226);
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(232, 93, 4, .38);
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
	animation: ubris-com-pulse 2.8s ease-in-out infinite;
}

.ubris-com-dock__bubble:hover {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 14px 32px rgba(232, 93, 4, .46);
}

.ubris-com-dock__bubble svg,
.ubris-com-dock__bubble img,
.ubris-com-dock__icon {
	width: 1.75rem !important;
	height: 1.75rem !important;
	max-width: 1.75rem !important;
	max-height: 1.75rem !important;
	flex-shrink: 0;
	object-fit: contain;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none;
	background-color: #fff;
	-webkit-mask: url("community-chat-icon.webp") center / contain no-repeat;
	mask: url("community-chat-icon.webp") center / contain no-repeat;
}

.ubris-com-dock.is-open .ubris-com-dock__bubble {
	animation: none;
	opacity: 0;
	pointer-events: none;
	transform: scale(.85);
}

.ubris-com-dock__panel {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(420px, calc(100vw - 1.5rem));
	height: min(640px, calc(100vh - 2rem));
	background: #fff;
	border-radius: 18px;
	border: 1px solid var(--line);
	box-shadow: 0 24px 64px rgba(33, 0, 0, .22);
	overflow: hidden;
	display: none;
	flex-direction: column;
}

.ubris-com-dock.is-open .ubris-com-dock__panel {
	display: flex;
}

.ubris-com-dock.is-picking .ubris-com-dock__panel {
	overflow: visible;
}

.ubris-com-dock__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .7rem .85rem;
	background: linear-gradient(120deg, #210000, #4a1a0c 55%, #e85d04);
	color: #fff;
	flex-shrink: 0;
}

.ubris-com-dock__bar-title {
	font-weight: 700;
	font-size: .95rem;
	margin: 0;
	color: #fff;
}

.ubris-com-dock__bar-actions {
	display: flex;
	align-items: center;
	gap: .25rem;
}

.ubris-com-dock__iconbtn,
button.ubris-com-dock__iconbtn {
	appearance: none;
	-webkit-appearance: none;
	border: 0 !important;
	background: rgba(255, 255, 255, .12) !important;
	color: #fff !important;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 !important;
	margin: 0;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	box-shadow: none !important;
	line-height: 1;
	font-size: 0;
	position: relative;
}

.ubris-com-dock__iconbtn:hover,
button.ubris-com-dock__iconbtn:hover {
	background: rgba(255, 255, 255, .22) !important;
	color: #fff !important;
}

.ubris-com-dock__iconbtn svg {
	width: 1.05rem !important;
	height: 1.05rem !important;
	display: block !important;
	stroke: #fff !important;
	fill: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	flex-shrink: 0;
}

.ubris-com-dock__close-ico {
	position: relative;
	display: block;
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	pointer-events: none;
}

.ubris-com-dock__close-ico::before,
.ubris-com-dock__close-ico::after {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 2px;
	background: #fff;
	border-radius: 1px;
}

.ubris-com-dock__close-ico::before {
	transform: rotate(45deg);
}

.ubris-com-dock__close-ico::after {
	transform: rotate(-45deg);
}

@keyframes ubris-com-pulse {
	0%,
	100% {
		box-shadow: 0 10px 28px rgba(232, 93, 4, .38);
	}
	50% {
		box-shadow: 0 10px 28px rgba(232, 93, 4, .5), 0 0 0 8px rgba(232, 93, 4, .12);
	}
}

@media (max-width: 781px) {
	.wpcursor-has-menu-bas-mobile .ubris-com-dock {
		bottom: 5.4rem;
		right: 1rem;
	}

	.ubris-com-dock__panel {
		width: min(100vw - 1rem, 420px);
		height: min(78vh, 640px);
	}

	body.ubris-com-dock-open {
		overflow: hidden;
	}
}

body.ubris-com-has-dock .wpcursor-back-to-top {
	right: 5.6rem;
}

@media (max-width: 781px) {
	body.ubris-com-has-dock.wpcursor-has-menu-bas-mobile .wpcursor-back-to-top {
		right: 5.2rem;
		bottom: 5.4rem;
	}
}

body.wpcursor-account-page .ubris-com-dock,
body.woocommerce-account .ubris-com-dock {
	z-index: 100080;
}

body.wp-admin .ubris-com-dock {
	z-index: 100100;
	right: 20px;
	bottom: 28px;
}

body.wp-admin.folded .ubris-com-dock {
	right: 16px;
}

@media screen and (max-width: 782px) {
	body.wp-admin .ubris-com-dock {
		right: 12px;
		bottom: 16px;
	}
}

/* ---------- Hub page (3 colonnes) ---------- */
.ubris-com--page .ubris-com__picker--mobile {
	display: none;
}

.ubris-com__rail,
.ubris-com__aside {
	min-height: 0;
	overflow: auto;
	display: flex;
	flex-direction: column;
	gap: .85rem;
}

.ubris-com__rail {
	padding: 1rem .85rem 1rem 1rem;
	border-right: 1px solid var(--line);
	background: #fff;
}

.ubris-com__aside {
	padding: .9rem .85rem 1rem .8rem;
	border-left: 1px solid var(--line);
	background: #fbf8f5;
}

.ubris-com__promo {
	background: linear-gradient(145deg, #7a1d12 0%, #c2410c 48%, #e85d04 100%);
	color: #fff;
	border-radius: 16px;
	padding: 1rem 1.05rem 1.1rem;
}

.ubris-com__promo p {
	margin: 0;
	font-weight: 800;
	font-size: .98rem;
	line-height: 1.28;
}

.ubris-com__nav {
	display: flex;
	flex-direction: column;
	gap: .15rem;
}

.ubris-com__nav button {
	appearance: none;
	border: 0;
	background: transparent;
	width: 100%;
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .5rem .7rem;
	border-radius: 12px;
	font: inherit;
	font-weight: 600;
	color: var(--ink);
	cursor: pointer;
	text-align: left;
}

.ubris-com__nav button.is-active,
.ubris-com__nav button:hover {
	background: #ffe8d6;
	color: var(--accent);
}

.ubris-com__nav-ico {
	width: 1.15rem;
	text-align: center;
	font-size: .95rem;
}

.ubris-com__rooms-kicker {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .35rem .35rem 0;
	font-size: .68rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--muted);
}

.ubris-com__rooms {
	display: flex;
	flex-direction: column;
	gap: .12rem;
}

.ubris-com__rail-room {
	appearance: none;
	border: 0;
	background: transparent;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	padding: .42rem .65rem;
	border-radius: 10px;
	cursor: pointer;
	font: inherit;
	color: var(--ink);
	text-align: left;
}

.ubris-com__rail-room:hover {
	background: var(--cream);
}

.ubris-com__rail-room.is-active {
	background: #ffe8d6;
	color: var(--accent);
}

.ubris-com__rail-room-title {
	font-weight: 700;
	font-size: .9rem;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ubris-com__rail-room-count {
	font-size: .75rem;
	font-weight: 700;
	color: var(--muted);
}

.ubris-com__rail-room.is-active .ubris-com__rail-room-count {
	color: var(--accent);
}

.ubris-com__contest-cta {
	appearance: none;
	border: 1px solid #f0c9b0;
	background: linear-gradient(135deg, #fff6ee, #ffe4cc);
	border-radius: 16px;
	padding: .85rem .9rem;
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: .7rem;
	cursor: pointer;
	text-align: left;
	font: inherit;
	color: var(--ink);
	width: 100%;
}

.ubris-com__contest-cta strong {
	display: block;
	font-size: .88rem;
}

.ubris-com__contest-cta small {
	display: block;
	color: var(--muted);
	font-size: .75rem;
	margin-top: .1rem;
}

.ubris-com__contest-ico {
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 10px;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ubris-com--page .ubris-com__head {
	padding: 1rem 1.15rem .9rem;
}

.ubris-com--page .ubris-com__head-row {
	align-items: flex-start;
}

.ubris-com__channel {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	min-width: 0;
}

.ubris-com__channel-hash {
	width: 2.55rem;
	height: 2.55rem;
	border-radius: 12px;
	background: #fff3e8;
	color: var(--accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.2rem;
	flex-shrink: 0;
}

.ubris-com__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.2;
	font-weight: 800;
}

.ubris-com--page .ubris-com__head p {
	margin: .2rem 0 0;
}

.ubris-com__members-meta {
	flex-shrink: 0;
	margin: .35rem 0 0 !important;
	font-size: .82rem !important;
	color: var(--muted);
	white-space: nowrap;
}

.ubris-com__live-topics {
	margin-top: .85rem;
}

.ubris-com__live-head {
	font-size: .78rem;
	font-weight: 700;
	color: var(--accent2);
	margin-bottom: .45rem;
}

.ubris-com__live-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .45rem;
}

.ubris-com__live-card {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 12px;
	padding: .55rem .65rem;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: var(--ink);
}

.ubris-com__live-card strong {
	display: block;
	font-size: .8rem;
}

.ubris-com__live-card small {
	display: block;
	margin-top: .15rem;
	color: var(--muted);
	font-size: .72rem;
}

.ubris-com__live-card.is-active {
	border-color: #f0c9b0;
	background: #fff7f0;
}

.ubris-com__live-card--catalogue {
	display: block;
	text-decoration: none !important;
	color: inherit;
	background: linear-gradient(135deg, #fff8f1, #ffe8d2);
	border-color: #ffd2a8;
	position: relative;
	padding-top: 1.35rem;
}

.ubris-com__live-card--catalogue:hover,
.ubris-com__live-card--catalogue:focus {
	border-color: #f98700;
	background: linear-gradient(135deg, #fff1e0, #ffe0bc);
	color: inherit;
}

.ubris-com__live-pin {
	position: absolute;
	top: .35rem;
	right: .45rem;
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #c45f00;
	background: #fff;
	border: 1px solid #ffd2a8;
	border-radius: 999px;
	padding: .12rem .4rem;
}

.ubris-com--page .ubris-com__topics {
	display: none;
}

.ubris-com--page .ubris-com__msg {
	border: 0;
	border-radius: 0;
	padding: .45rem 0;
	background: transparent;
	box-shadow: none;
}

.ubris-com--page .ubris-com__stream {
	padding: .85rem 1.15rem 1rem;
	gap: .35rem;
}

.ubris-com--page .ubris-com__composer {
	padding: .55rem 1.05rem .85rem;
}

.ubris-com--page .ubris-com__box {
	border-radius: 999px;
	align-items: center;
	padding: .22rem .28rem .22rem .95rem;
}

.ubris-com--page .ubris-com__box textarea {
	min-height: 2.35rem;
	max-height: 6.5rem;
	resize: none;
	padding: .4rem 0;
}

.ubris-com--page .ubris-com__send {
	border-radius: 999px;
	padding: .55rem;
	width: 2.5rem;
	height: 2.5rem;
}

.ubris-com__card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: .8rem .8rem .75rem;
}

.ubris-com__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .65rem;
}

.ubris-com__card-head h3 {
	margin: 0;
	font-size: .88rem;
}

.ubris-com__card-count {
	font-size: .78rem;
	font-weight: 800;
	color: var(--accent);
}

.ubris-com__people,
.ubris-com__files,
.ubris-com__popular {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ubris-com__faces {
	display: flex;
	align-items: center;
	padding-left: .25rem;
	margin-bottom: .25rem;
}

.ubris-com__faces .ubris-com__av {
	margin-left: -.35rem;
	box-shadow: 0 0 0 2px #fff;
}

.ubris-com__av--more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .68rem;
	font-weight: 800;
	color: var(--accent);
	background: #fff3e8;
}

.ubris-com__person {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-width: 0;
}

.ubris-com__person-meta {
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .2rem .4rem;
}

.ubris-com__person-meta strong {
	font-size: .85rem;
}

.ubris-com__file {
	display: flex;
	align-items: center;
	gap: .55rem;
	text-decoration: none !important;
	color: var(--ink) !important;
	min-width: 0;
}

.ubris-com__file-ico {
	width: 2rem;
	height: 2rem;
	border-radius: 8px;
	background: #fff3e8;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ubris-com__file span:last-child {
	min-width: 0;
}

.ubris-com__file strong {
	display: block;
	font-size: .8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ubris-com__file small,
.ubris-com__popular small {
	display: block;
	color: var(--muted);
	font-size: .72rem;
}

.ubris-com__popular li button {
	appearance: none;
	border: 0;
	background: transparent;
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	padding: 0;
	cursor: pointer;
	font: inherit;
	color: var(--ink);
	text-align: left;
}

.ubris-com__popular-n {
	width: 1.15rem;
	flex-shrink: 0;
	font-weight: 800;
	color: var(--accent);
	font-size: .82rem;
}

.ubris-com__side-empty {
	margin: 0;
	color: var(--muted);
	font-size: .8rem;
	line-height: 1.4;
}

@media (max-width: 1100px) {
	.ubris-com__live-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Hub Ressources (apprentissage) ---------- */
.ubris-res {
	/* filet local si hors .ubris-com-page */
	--res-learn: var(--accent, #F98700);
	--res-learn-soft: #fff4e8;
	--res-file: var(--accent2, #AB1A19);
	--res-file-soft: #faf4f3;
	--res-file-line: #e8d0cd;
	--res-soon-bg: #efeae6;
	--res-soon-fg: var(--muted, #6b5b52);
	--res-soon-line: #d9cfc7;
	--res-surface: #f5f2ef;
	--res-chip-fg: var(--ink-soft, #5B0504);
	--res-chip-bg: var(--cream, #F9F7F5);
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: clamp(1.25rem, 2.5vw, 1.85rem);
	box-shadow: var(--shadow);
}

.ubris-res__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: 1.25rem 1.75rem;
	margin-bottom: 1.35rem;
	align-items: end;
}

.ubris-res__label {
	margin: 0 0 .45rem;
	display: inline-flex;
	align-items: center;
	padding: .28rem .65rem;
	border-radius: 999px;
	background: var(--res-chip-bg);
	color: var(--res-chip-fg);
	border: 1px solid var(--line);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .02em;
}

.ubris-res__head-copy h2 {
	margin: 0 0 .4rem;
	display: flex;
	align-items: center;
	gap: .55rem;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	letter-spacing: -0.02em;
	color: var(--ink);
}

.ubris-res__title-ico {
	width: 2rem;
	height: 2rem;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #fff1df, #ffe0c4);
	color: var(--accent);
	flex-shrink: 0;
}

.ubris-res__lead {
	margin: 0;
	color: var(--muted);
	line-height: 1.5;
	max-width: 34rem;
}

.ubris-res__tools {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .55rem .65rem;
}

.ubris-res__search {
	flex: 1 1 12rem;
	min-width: 10rem;
	max-width: 18rem;
}

.ubris-res__search input {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .72rem 1rem;
	font: inherit;
	background: #fffaf6;
	color: var(--ink);
	outline: none;
}

.ubris-res__search input:focus {
	border-color: #f0c9b0;
	box-shadow: 0 0 0 3px rgba(249, 135, 0, .12);
}

.ubris-res__pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .35rem;
	flex: 0 1 auto;
}

.ubris-res__pill {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--ink-soft);
	border-radius: 999px;
	padding: .38rem .8rem;
	font: inherit;
	font-size: .82rem;
	font-weight: 650;
	cursor: pointer;
	transition: .15s ease;
}

.ubris-res__pill:hover {
	border-color: #f0c9b0;
	color: var(--accent);
}

.ubris-res__pill.is-active {
	background: var(--grad);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 6px 16px rgba(171, 26, 25, .18);
}

.ubris-res__cats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: .85rem;
	margin-bottom: 1.35rem;
}

.ubris-res-cat {
	background: #fffaf7;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: .85rem .8rem .9rem;
	display: flex;
	flex-direction: column;
	gap: .2rem;
	min-width: 0;
	height: auto;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ubris-res-cat:hover {
	transform: translateY(-2px);
	border-color: #f0c9b0;
	box-shadow: 0 12px 28px rgba(33, 0, 0, .06);
}

.ubris-res-cat__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: .1rem;
}

.ubris-res-cat__ico {
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.ubris-res-cat__ico--seo { background: linear-gradient(135deg, #F98700, #e07000); }
.ubris-res-cat__ico--design { background: linear-gradient(135deg, #f472b6, #db2777); }
.ubris-res-cat__ico--components { background: linear-gradient(135deg, #FB923C, #EA580C); }
.ubris-res-cat__ico--wordpress { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.ubris-res-cat__ico--ai { background: linear-gradient(135deg, #a78bfa, #7c3aed); }
.ubris-res-cat__ico--templates { background: linear-gradient(135deg, #34d399, #059669); }
.ubris-res-cat__ico--rocket { background: linear-gradient(135deg, #F98700, #AB1A19); }
.ubris-res-cat__ico--people { background: linear-gradient(135deg, #f59e0b, #d97706); }
.ubris-res-cat__ico--shield { background: linear-gradient(135deg, #64748b, #334155); }
.ubris-res-cat__ico--book { background: linear-gradient(135deg, #F98700, #c45e00); }
.ubris-res-cat__ico--flame { background: linear-gradient(135deg, #fb7185, #e11d48); }

.ubris-res-cat__arrow {
	color: #c4b2a6;
}

.ubris-res-cat__title {
	margin: 0;
	font-size: .98rem;
	line-height: 1.25;
	color: var(--ink);
}

.ubris-res-cat__count {
	margin: 0;
	font-size: .76rem;
	font-weight: 700;
	color: var(--accent);
}

.ubris-res-cat__desc {
	margin: .15rem 0 0;
	font-size: .78rem;
	line-height: 1.35;
	color: var(--muted);
	flex: 0 0 auto;
}

.ubris-res-cat__tags {
	list-style: none;
	margin: .35rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
}

.ubris-res-cat__tags li {
	font-size: .68rem;
	font-weight: 650;
	color: var(--ink-soft);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .18rem .45rem;
}

.ubris-res__empty {
	margin: 0 0 1rem;
	color: var(--muted);
	font-size: .9rem;
}

.ubris-res__spotlight {
	display: grid;
	grid-template-columns: minmax(180px, .72fr) minmax(0, 1.6fr);
	gap: 1rem 1.25rem;
	background: linear-gradient(180deg, #fffaf5, #fff);
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 1.1rem;
}

.ubris-res__spotlight-kicker {
	margin: 0 0 .45rem;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-weight: 800;
	color: var(--ink);
	font-size: 1.05rem;
}

.ubris-res__spotlight-kicker svg {
	color: var(--accent);
}

.ubris-res__spotlight-text {
	margin: 0 0 1rem;
	color: var(--muted);
	line-height: 1.45;
	font-size: .9rem;
}

.ubris-res__spotlight-cta {
	appearance: none;
	border: 0;
	background: var(--grad);
	color: #fff;
	border-radius: 999px;
	padding: .7rem 1rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	box-shadow: 0 8px 18px rgba(171, 26, 25, .18);
}

.ubris-res__tabs {
	display: flex;
	gap: .4rem;
	margin-bottom: .85rem;
	flex-wrap: wrap;
}

.ubris-res__tab {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: .4rem .85rem;
	font: inherit;
	font-size: .84rem;
	font-weight: 650;
	cursor: pointer;
	color: var(--ink-soft);
}

.ubris-res__tab.is-active {
	background: var(--grad);
	border-color: transparent;
	color: #fff;
}

.ubris-res__featured {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
}

.ubris-res-card {
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ubris-res-card__media {
	height: 7.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, #fff1df, #ffe8d4);
	color: var(--accent);
}

.ubris-res-card__media--download {
	background:
		radial-gradient(circle at 35% 35%, rgba(241, 251, 191, .7), transparent 52%),
		linear-gradient(145deg, #faf4f3, #f0e0dc);
	color: var(--res-file);
}

.ubris-res-card__body {
	padding: .85rem .9rem 1rem;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	flex: 1;
}

.ubris-res-card__type {
	margin: 0;
	font-size: .72rem;
	font-weight: 700;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ubris-res-card__title {
	margin: 0;
	font-size: .95rem;
	line-height: 1.3;
	color: var(--ink);
	flex: 1;
}

.ubris-res-card__cta {
	appearance: none;
	margin-top: .35rem;
	align-self: flex-start;
	border: 1px solid var(--line);
	background: #fffaf6;
	border-radius: 999px;
	padding: .4rem .75rem;
	font: inherit;
	font-size: .8rem;
	font-weight: 700;
	color: var(--ink-soft);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.ubris-res-card__cta:hover {
	border-color: #f0c9b0;
	color: var(--accent);
}

/* ---------- Hub Rooms ---------- */
.ubris-com-rooms-hub {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: clamp(1.1rem, 2.2vw, 1.5rem);
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ubris-com-rooms-hub__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.ubris-com-rooms-hub__eyebrow {
	margin: 0 0 .35rem;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .78rem;
	font-weight: 700;
	color: var(--accent);
}

.ubris-com-rooms-hub__head h2 {
	margin: 0 0 .35rem;
	font-size: clamp(1.3rem, 2.3vw, 1.7rem);
	letter-spacing: -0.02em;
	color: var(--ink);
}

.ubris-com-rooms-hub__lead {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
	max-width: 36rem;
}

.ubris-com-rooms-hub__new {
	appearance: none;
	border: 0;
	background: var(--grad);
	color: #fff;
	border-radius: 999px;
	padding: .7rem 1.05rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	flex-shrink: 0;
	box-shadow: 0 8px 18px rgba(171, 26, 25, .18);
}

.ubris-com-rooms-hub .ubris-com--page {
	border: 1px solid var(--line);
	box-shadow: none;
	margin: 0;
}

.ubris-com__rooms-kicker {
	padding: .25rem .35rem .45rem;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--muted);
}

.ubris-com__rooms-kicker--other {
	margin-top: .85rem;
	padding-top: .75rem;
	border-top: 1px solid var(--line);
}

.ubris-com__head-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .35rem;
}

.ubris-com__head-faces {
	display: flex;
	align-items: center;
}

.ubris-com__head-faces .ubris-com__av,
.ubris-com__head-faces .ubris-com__msg-av {
	width: 1.7rem;
	height: 1.7rem;
	margin-left: -.35rem;
	border: 2px solid #fff;
}

.ubris-com__head-faces .ubris-com__av:first-child,
.ubris-com__head-faces .ubris-com__msg-av:first-child {
	margin-left: 0;
}

.ubris-com__card-link {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--accent);
	font: inherit;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	padding: 0;
}

.ubris-com__send {
	background: var(--grad) !important;
}

@media (max-width: 1200px) {
	.ubris-res__cats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.ubris-res__head,
	.ubris-res__spotlight {
		grid-template-columns: 1fr;
	}
	.ubris-res__featured {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ubris-com-rooms-hub__head {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 720px) {
	.ubris-res__cats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ubris-res {
		border-radius: 20px;
		padding: 1rem;
	}
	.ubris-com-rooms-hub {
		border-radius: 20px;
		padding: 1rem;
	}
}

/* ---------- Pass chaleur maquette ---------- */
body.page-communaute .site-content,
body.ubris-com-full .site-content {
	background:
		radial-gradient(ellipse 90% 55% at 8% 0%, rgba(255, 179, 71, .08), transparent 55%),
		radial-gradient(ellipse 70% 45% at 95% 8%, rgba(171, 26, 25, .05), transparent 50%),
		radial-gradient(ellipse 60% 40% at 50% 100%, rgba(241, 251, 191, .28), transparent 55%),
		#F5F2EF !important;
}

.ubris-com-page {
	gap: 1.75rem;
	padding-bottom: 1rem;
}

.ubris-com-page__hero-copy h1 {
	color: #3a1a12;
	font-weight: 800;
}

.ubris-com-page__hero-copy > p {
	color: #7a6558;
	font-size: 1.06rem;
}

.ubris-com-page__hero-points {
	flex-direction: column;
	align-items: flex-start;
	gap: .65rem;
}

.ubris-com-page__hero-points li {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	font-weight: 550;
	font-size: .92rem;
	color: #5c463c;
	gap: .6rem;
}

.ubris-com-page__hero-ico {
	width: 2rem;
	height: 2rem;
	background: linear-gradient(145deg, #ffe7c8, #ffd7a8);
	color: #F98700;
	box-shadow: 0 4px 12px rgba(249, 135, 0, .15);
}

.ubris-com-page__hero-blob {
	width: min(100%, 260px);
	border-radius: 32px;
	background:
		radial-gradient(circle at 22% 28%, #FFB347 0%, transparent 42%),
		radial-gradient(circle at 78% 68%, #F98700 0%, transparent 46%),
		radial-gradient(circle at 55% 15%, #F1FBBF 0%, transparent 40%),
		linear-gradient(155deg, #fff6eb 0%, #ffdcb8 55%, #ffc089 100%);
	box-shadow:
		0 18px 40px rgba(249, 135, 0, .16),
		inset 0 1px 0 rgba(255, 255, 255, .65);
}

.ubris-com-page__hero-blob::before {
	content: "";
	position: absolute;
	width: 44%;
	height: 44%;
	left: 14%;
	top: 28%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	filter: blur(1px);
}

.ubris-com-page__hero-blob::after {
	inset: auto;
	width: 38%;
	height: 38%;
	right: 14%;
	bottom: 18%;
	border-radius: 50%;
	background: rgba(255, 255, 255, .4);
	border: 0;
}

/* Cartes principales plus moelleuses */
.ubris-res,
.ubris-com-rooms-hub {
	border-radius: 32px;
	padding: clamp(1.45rem, 3vw, 2.15rem);
	border-color: rgba(234, 223, 214, .95);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .8) inset,
		0 18px 48px rgba(33, 0, 0, .06);
	background:
		linear-gradient(180deg, #ffffff 0%, #faf8f6 100%);
}

.ubris-res__label {
	background: var(--res-chip-bg);
	color: var(--res-chip-fg);
	border: 1px solid var(--line);
	box-shadow: none;
}

.ubris-res__title-ico {
	background: linear-gradient(145deg, var(--lime), #ffe7c8);
	color: var(--ink-soft);
	box-shadow: 0 6px 14px rgba(33, 0, 0, .08);
}

.ubris-res__search input {
	background: #fff;
	border-color: var(--line);
	padding: .82rem 1.15rem;
	box-shadow: inset 0 1px 2px rgba(33, 0, 0, .03);
}

.ubris-res__pill {
	background: #fff;
	border-color: var(--line);
	color: var(--ink-soft);
}

.ubris-res__pill.is-active {
	background: linear-gradient(135deg, #FFB347, #F98700);
	box-shadow: 0 8px 18px rgba(249, 135, 0, .28);
}

.ubris-res-cat {
	background: linear-gradient(180deg, #ffffff, #fff7ef);
	border-color: #f0e2d6;
	border-radius: 20px;
	padding: .8rem .75rem .85rem;
	gap: .15rem;
	box-shadow: 0 8px 20px rgba(90, 45, 20, .04);
}

.ubris-res-cat:hover {
	box-shadow: 0 16px 34px rgba(249, 135, 0, .12);
	border-color: #ffd2a8;
}

.ubris-res-cat__title {
	margin: 0;
}

.ubris-res-cat__count {
	margin: 0;
	line-height: 1.2;
}

.ubris-res-cat__desc {
	margin: .12rem 0 0;
	flex: none;
}

.ubris-res-cat__tags {
	margin: .3rem 0 0;
}

.ubris-res-cat__tags li {
	background: var(--res-chip-bg);
	border-color: var(--line);
	color: var(--res-chip-fg);
}

/* À la une = panneau orange chaud comme maquette */
.ubris-res__spotlight {
	grid-template-columns: minmax(210px, .78fr) minmax(0, 1.55fr);
	gap: 1.1rem;
	padding: 0;
	border: 0;
	background: transparent;
	align-items: stretch;
}

.ubris-res__spotlight-intro {
	background: linear-gradient(160deg, #F98700 0%, #E86A12 42%, #AB1A19 100%);
	color: #fff;
	border-radius: 24px;
	padding: 1.45rem 1.3rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	box-shadow: 0 16px 36px rgba(171, 26, 25, .22);
	position: relative;
	overflow: hidden;
}

.ubris-res__spotlight-intro::before {
	content: "";
	position: absolute;
	width: 160px;
	height: 160px;
	right: -40px;
	top: -50px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
}

.ubris-res__spotlight-intro::after {
	content: "";
	position: absolute;
	width: 110px;
	height: 110px;
	left: -30px;
	bottom: -40px;
	border-radius: 50%;
	background: rgba(241, 251, 191, .18);
}

.ubris-res__spotlight-kicker {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 1.2rem;
}

.ubris-res__spotlight-kicker svg {
	color: #F1FBBF;
}

.ubris-res__spotlight-text {
	position: relative;
	z-index: 1;
	color: rgba(255, 255, 255, .9);
	font-size: .95rem;
	margin-bottom: 1.25rem;
}

.ubris-res__spotlight-cta {
	position: relative;
	z-index: 1;
	background: #fff;
	color: #AB1A19;
	box-shadow: 0 8px 18px rgba(33, 0, 0, .12);
}

.ubris-res__spotlight-cta:hover {
	background: #F1FBBF;
	color: #5B0504;
}

.ubris-res__spotlight-main {
	background: linear-gradient(180deg, #fffaf5, #ffffff);
	border: 1px solid #f0e2d6;
	border-radius: 24px;
	padding: 1.05rem 1.1rem 1.15rem;
	box-shadow: 0 10px 28px rgba(90, 45, 20, .05);
}

.ubris-res__tab.is-active {
	background: linear-gradient(135deg, #FFB347, #F98700);
	box-shadow: 0 6px 14px rgba(249, 135, 0, .22);
}

.ubris-res__featured {
	gap: .85rem;
}

.ubris-res-card {
	flex-direction: row;
	align-items: stretch;
	border-radius: 18px;
	border-color: #f0e2d6;
	background: #fff;
	box-shadow: 0 6px 16px rgba(90, 45, 20, .04);
	overflow: hidden;
}

.ubris-res-card__media {
	width: 5.5rem;
	min-width: 5.5rem;
	height: auto;
	border-radius: 0;
}

.ubris-res-card__body {
	padding: .85rem .95rem .9rem;
}

.ubris-res-card__cta {
	background: #fff4e8;
	border-color: transparent;
	color: #c45f00;
}

/* Rooms hub */
.ubris-com-rooms-hub__new {
	background: linear-gradient(135deg, #FFB347, #F98700);
	box-shadow: 0 10px 22px rgba(249, 135, 0, .28);
}

.ubris-com-rooms-hub .ubris-com--page {
	border-radius: 22px;
	background: #fffdfb;
	border-color: #f0e2d6;
}

.ubris-com__rail {
	background: linear-gradient(180deg, #fff8f1, #fffdfb);
}

.ubris-com__rail-room {
	border-radius: 14px;
}

.ubris-com__rail-room.is-active {
	background: linear-gradient(135deg, #fff1df, #ffe4c4) !important;
	color: #c45f00 !important;
	box-shadow: inset 0 0 0 1px #ffd2a8;
}

.ubris-com__rail-room.is-active .ubris-com__rail-room-count {
	background: #fff;
	color: #F98700;
}

.ubris-com__aside {
	background: linear-gradient(180deg, #fffaf5, #fff);
}

.ubris-com__card {
	background: #fff;
	border-color: #f0e2d6;
	border-radius: 18px;
	box-shadow: 0 6px 16px rgba(90, 45, 20, .03);
}

.ubris-com__msg {
	background: #fffaf6;
	border-color: #f0e2d6;
	border-radius: 18px;
}

.ubris-com__box {
	background: #fff8f1;
	border-color: #f0e0d2;
	border-radius: 20px;
}

.ubris-com__box:focus-within {
	border-color: #ffc989;
	box-shadow: 0 0 0 4px rgba(249, 135, 0, .12);
}

.ubris-com__send {
	background: linear-gradient(135deg, #FFB347, #F98700) !important;
	box-shadow: 0 8px 16px rgba(249, 135, 0, .28);
}

.ubris-com__popular-n {
	color: #F98700;
}

.ubris-com-page__cta {
	background: linear-gradient(135deg, #FFB347, #F98700);
	box-shadow: 0 10px 22px rgba(249, 135, 0, .25);
}

.ubris-com-page__cta--ghost {
	background: #fff !important;
	color: #AB1A19 !important;
	border: 1px solid #ffd2a8 !important;
	margin-left: 0;
	box-shadow: 0 6px 14px rgba(90, 45, 20, .06) !important;
}

@media (max-width: 980px) {
	.ubris-res__spotlight {
		grid-template-columns: 1fr;
	}
	/* Garder les cartes À la une en ligne tant que possible */
	.ubris-res-card {
		flex-direction: row;
	}
	.ubris-res-card__media {
		width: 4.25rem;
		min-width: 4.25rem;
		height: auto;
	}
}

/* ---------- CTA catalogue (haut page communauté) ---------- */
.ubris-com-page__catalogue-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.25rem;
	flex-wrap: wrap;
	margin: 1rem 0 1.25rem;
	padding: .95rem 1.15rem;
	border-radius: 18px;
	border: 1px solid #ffd2a8;
	background:
		radial-gradient(ellipse 55% 120% at 100% 0%, rgba(255, 179, 71, .22), transparent 60%),
		linear-gradient(105deg, #fff8f1 0%, #ffe9d6 55%, #ffdcc0 100%);
	box-shadow: 0 8px 22px rgba(91, 5, 4, .05);
}

.ubris-com-page__catalogue-cta-copy {
	min-width: 0;
	flex: 1 1 14rem;
}

.ubris-com-page__catalogue-cta-label {
	margin: 0 0 .2rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--accent);
	text-transform: uppercase;
}

.ubris-com-page__catalogue-cta-title {
	margin: 0;
	font-size: clamp(0.95rem, 1.6vw, 1.1rem);
	font-weight: 700;
	color: var(--ink);
	letter-spacing: -0.01em;
	line-height: 1.35;
}

.ubris-com-page__catalogue-cta .ubris-com-page__cta {
	flex-shrink: 0;
}

.ubris-com-page__catalogue-cta .ubris-com-page__cta:hover,
.ubris-com-page__catalogue-cta .ubris-com-page__cta:focus {
	color: #fff !important;
	filter: brightness(1.04);
}

@media (max-width: 640px) {
	.ubris-com-page__catalogue-cta {
		padding: .85rem 1rem;
	}
	.ubris-com-page__catalogue-cta .ubris-com-page__cta {
		width: 100%;
	}
}

/* ---------- Hero couverture maquette ---------- */
.ubris-com-page__hero--cover {
	display: block;
	padding: 0;
	margin: 0;
	border-radius: 22px;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 90% at 88% 50%, rgba(255, 179, 71, .2), transparent 58%),
		linear-gradient(105deg, #fff8f1 0%, #ffe9d6 52%, #ffd9b8 100%);
	box-shadow: 0 10px 28px rgba(91, 5, 4, .05);
}

.ubris-com-page__hero-cover {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2048 / 262;
	object-fit: cover;
	object-position: center center;
	vertical-align: middle;
}

.ubris-com-page__hero--cover .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (max-width: 780px) {
	.ubris-com-page__hero--cover {
		border-radius: 16px;
	}
}

/* Tools: recherche + filtres sur une ligne */
.ubris-res__tools {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem .55rem;
}

.ubris-res__search {
	flex: 1 1 auto;
	min-width: 11rem;
	max-width: 17rem;
}

.ubris-res__pills {
	flex: 0 1 auto;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.ubris-res__pill {
	white-space: nowrap;
	padding: .42rem .72rem;
	font-size: .8rem;
}

@media (max-width: 1100px) {
	.ubris-res__tools {
		flex-wrap: wrap;
	}
	.ubris-res__search {
		max-width: none;
		flex: 1 1 100%;
	}
	.ubris-res__pills {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

/* Catégorie ressources active → room contextuelle */
.ubris-res-cat {
	cursor: pointer;
}
.ubris-res-cat.is-active {
	border-color: #ffc48a !important;
	box-shadow: 0 12px 28px rgba(249, 135, 0, .16) !important;
	background: linear-gradient(180deg, #ffffff, #fff1e3) !important;
	outline: 2px solid rgba(249, 135, 0, .28);
	outline-offset: 1px;
}
.ubris-res-cat:focus-visible {
	outline: 2px solid #F98700;
	outline-offset: 2px;
}

/* ========== Page catégorie ressources (état B) ========== */
.ubris-res.is-category {
	padding: clamp(1rem, 2vw, 1.4rem);
}

.ubris-res-catpage {
	display: grid;
	grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
	gap: 1.25rem 1.5rem;
	align-items: start;
}

.ubris-res-catpage[hidden],
.ubris-res__home[hidden] {
	display: none !important;
}

.ubris-res-catpage__aside {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	position: sticky;
	top: 1rem;
}

.ubris-res-catpage__back {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--ink-soft);
	font: inherit;
	font-weight: 650;
	font-size: .9rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .2rem 0;
	text-align: left;
}

.ubris-res-catpage__back:hover {
	color: var(--accent2);
}

.ubris-res-catpage__nav-label {
	margin: .35rem 0 0;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #9a7f70;
}

.ubris-res-catpage__nav {
	display: flex;
	flex-direction: column;
	gap: .3rem;
}

.ubris-res-catpage__nav-item {
	appearance: none;
	border: 1px solid transparent;
	background: transparent;
	border-radius: 14px;
	padding: .55rem .6rem;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: .55rem;
	cursor: pointer;
	font: inherit;
	text-align: left;
	color: #4a342c;
	transition: .15s ease;
}

.ubris-res-catpage__nav-item:hover {
	background: var(--res-surface);
}

.ubris-res-catpage__nav-item.is-active {
	background: linear-gradient(135deg, var(--ink) 0%, var(--accent2) 100%);
	border-color: transparent;
	box-shadow: 0 8px 18px rgba(33, 0, 0, .16);
	color: #fff;
}

.ubris-res-catpage__nav-item.is-active .ubris-res-catpage__nav-text,
.ubris-res-catpage__nav-item.is-active .ubris-res-catpage__nav-count {
	color: #fff;
}

.ubris-res-catpage__nav-item.is-active .ubris-res-catpage__nav-count {
	background: rgba(255, 255, 255, .18);
}

.ubris-res-catpage__nav-ico {
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}

.ubris-res-catpage__nav-ico svg {
	width: 14px;
	height: 14px;
}

.ubris-res-catpage__nav-text {
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.25;
}

.ubris-res-catpage__nav-count {
	font-size: .72rem;
	font-weight: 700;
	color: #a07860;
	background: rgba(255, 255, 255, .7);
	border-radius: 999px;
	padding: .15rem .45rem;
}

.ubris-res-catpage__share {
	margin-top: .5rem;
	background: var(--cream);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 1rem .9rem;
}

.ubris-res-catpage__share-title {
	margin: 0 0 .35rem;
	font-weight: 750;
	font-size: .92rem;
	color: #3a1a12;
}

.ubris-res-catpage__share-text {
	margin: 0 0 .75rem;
	font-size: .8rem;
	line-height: 1.4;
	color: #7a6558;
}

.ubris-res-catpage__share-cta {
	appearance: none;
	width: 100%;
	border: 0;
	border-radius: 999px;
	padding: .55rem .8rem;
	font: inherit;
	font-weight: 700;
	font-size: .82rem;
	color: #fff;
	background: linear-gradient(135deg, #FFB347, #F98700);
	cursor: not-allowed;
	opacity: .75;
}

.ubris-res-catpage__main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ubris-res-catpage__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .45rem;
	font-size: .82rem;
	color: #8a7468;
}

.ubris-res-catpage__crumbs button {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--ink-soft);
	font: inherit;
	font-weight: 650;
	cursor: pointer;
	padding: 0;
}

.ubris-res-catpage__crumbs strong {
	color: #3a1a12;
	font-weight: 700;
}

.ubris-res-catpage__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem 1.5rem;
	align-items: start;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 1.15rem 1.25rem;
	box-shadow: 0 8px 22px rgba(33, 0, 0, .05);
}

.ubris-res-catpage__title-row {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin-bottom: .45rem;
}

.ubris-res-catpage__hero-ico {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	flex-shrink: 0;
}

.ubris-res-catpage__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	letter-spacing: -0.02em;
	color: #3a1a12;
}

.ubris-res-catpage__desc {
	margin: 0 0 .7rem;
	color: #7a6558;
	line-height: 1.5;
	max-width: 40rem;
}

.ubris-res-catpage__tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}

.ubris-res-catpage__tags li {
	font-size: .72rem;
	font-weight: 650;
	color: var(--res-chip-fg);
	background: var(--res-chip-bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .28rem .65rem;
}

.ubris-res-catpage__stats {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .55rem;
}

.ubris-res-catpage__stat {
	margin: 0;
	font-weight: 750;
	font-size: .95rem;
	color: #3a1a12;
	background: var(--cream);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: .55rem .85rem;
}

.ubris-res-catpage__follow {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: .55rem 1rem;
	font: inherit;
	font-weight: 700;
	font-size: .84rem;
	color: #fff;
	background: linear-gradient(135deg, #FFB347, #F98700 55%, #AB1A19);
	box-shadow: 0 8px 18px rgba(249, 135, 0, .22);
	cursor: not-allowed;
	opacity: .85;
}

.ubris-res-catpage__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	align-items: center;
}

.ubris-res-catpage__search {
	flex: 1 1 16rem;
}

.ubris-res-catpage__search input {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .72rem 1.05rem;
	font: inherit;
	background: #fff;
	color: #3a1a12;
	outline: none;
}

.ubris-res-catpage__search input:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(249, 135, 0, .12);
}

.ubris-res-catpage__sort {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .84rem;
	color: #7a6558;
	font-weight: 600;
}

.ubris-res-catpage__sort select {
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .55rem .85rem;
	font: inherit;
	background: #fff;
	color: #3a1a12;
}

.ubris-res-catpage__filters {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ubris-res-catpage__filter {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--ink-soft);
	border-radius: 999px;
	padding: .4rem .75rem;
	font: inherit;
	font-size: .82rem;
	font-weight: 650;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.ubris-res-catpage__filter em {
	font-style: normal;
	opacity: .75;
	font-size: .75rem;
}

.ubris-res-catpage__filter.is-active {
	background: linear-gradient(135deg, #FFB347, #F98700);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 6px 14px rgba(249, 135, 0, .22);
}

.ubris-res-catpage__body {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(220px, .75fr);
	gap: 1.1rem;
	align-items: start;
}

.ubris-res-catpage__section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: .75rem;
}

.ubris-res-catpage__section-head h3 {
	margin: 0;
	font-size: 1.05rem;
	color: #3a1a12;
}

.ubris-res-catpage__downloads .ubris-res-catpage__section-head h3 {
	color: var(--res-file);
}

.ubris-res-catpage__downloads .ubris-res-catpage__section-head h3::after {
	content: "";
	display: inline-block;
	width: .55rem;
	height: .55rem;
	margin-left: .45rem;
	border-radius: 999px;
	background: var(--lime);
	border: 1px solid rgba(91, 5, 4, .15);
	vertical-align: middle;
}

.ubris-res-catpage__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem;
}

.ubris-res-item {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 8px 20px rgba(33, 0, 0, .05);
	min-height: 100%;
}

.ubris-res-item__media {
	position: relative;
	height: 7.5rem;
	overflow: hidden;
	background:
		radial-gradient(circle at 30% 30%, rgba(255, 179, 71, .45), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(171, 26, 25, .2), transparent 50%),
		linear-gradient(145deg, #fff4e8, #ffd9b0);
}

.ubris-res-item__cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ubris-res-item__play,
.ubris-res-card__play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 2.35rem;
	height: 2.35rem;
	margin: -1.175rem 0 0 -1.175rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 8px 18px rgba(90, 45, 20, .18);
	pointer-events: none;
}

.ubris-res-card__play {
	width: 1.55rem;
	height: 1.55rem;
	margin: -.775rem 0 0 -.775rem;
}

.ubris-res-item__play::before,
.ubris-res-card__play::before {
	content: "";
	position: absolute;
	left: 52%;
	top: 50%;
	transform: translate(-40%, -50%);
	border-style: solid;
	border-width: .45rem 0 .45rem .7rem;
	border-color: transparent transparent transparent #F98700;
}

.ubris-res-card__play::before {
	border-width: .28rem 0 .28rem .42rem;
}

.ubris-res-item__body {
	padding: .85rem .9rem 1rem;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	flex: 1;
}

.ubris-res-item__meta {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
}

.ubris-res-item__meta span {
	font-size: .68rem;
	font-weight: 700;
	color: var(--res-chip-fg);
	background: var(--res-chip-bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .18rem .45rem;
}

.ubris-res-item__title {
	margin: 0;
	font-size: .98rem;
	line-height: 1.3;
	color: #3a1a12;
}

.ubris-res-item__desc {
	margin: 0;
	font-size: .8rem;
	line-height: 1.4;
	color: #7a6558;
	flex: 1;
}

.ubris-res-item__author {
	margin: 0;
	font-size: .72rem;
	font-weight: 650;
	color: #9a7f70;
}

.ubris-res-item__cta {
	appearance: none;
	align-self: flex-start;
	margin-top: .25rem;
	border: 0;
	border-radius: 999px;
	padding: .45rem .85rem;
	font: inherit;
	font-size: .8rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(135deg, var(--peach), var(--res-learn));
	cursor: pointer;
}

.ubris-res-catpage__downloads {
	background: var(--res-file-soft);
	border: 1px solid var(--res-file-line);
	border-radius: 20px;
	padding: 1rem .95rem 1.05rem;
	box-shadow: inset 3px 0 0 var(--res-file);
}

.ubris-res-catpage__dl-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}

.ubris-res-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	margin: .75rem 0 0;
}

.ubris-res-pager[hidden] {
	display: none !important;
}

.ubris-res-pager__btn {
	appearance: none;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border-radius: 999px;
	border: 1px solid var(--res-file-line, #e8e2dc);
	background: #fff;
	color: #5B0504;
	font: inherit;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ubris-res-pager__btn:hover:not(:disabled) {
	border-color: #AB1A19;
	color: #AB1A19;
}

.ubris-res-pager__btn:disabled {
	opacity: .35;
	cursor: default;
}

.ubris-res-pager__info {
	font-size: .78rem;
	font-weight: 700;
	color: #6b5f5f;
	min-width: 2.6rem;
	text-align: center;
}

.ubris-res-dl {
	display: flex;
	align-items: center;
	gap: .65rem;
	background: #fff;
	border: 1px solid var(--res-file-line);
	border-radius: 14px;
	padding: .65rem .7rem;
}

.ubris-res-dl__body {
	min-width: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: .15rem;
}

.ubris-res-dl__body strong {
	font-size: .86rem;
	color: #3a1a12;
	line-height: 1.25;
}

.ubris-res-dl__body small {
	font-size: .72rem;
	color: #9a7f70;
}

.ubris-res-dl__btn {
	appearance: none;
	width: 2.15rem !important;
	height: 2.15rem !important;
	min-width: 2.15rem;
	min-height: 2.15rem;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1px solid transparent !important;
	background: var(--res-file) !important;
	color: #fff !important;
	cursor: pointer;
	flex-shrink: 0;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 0;
	box-shadow: 0 4px 12px rgba(171, 26, 25, .2) !important;
}

.ubris-res-dl__btn svg {
	display: block;
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}

.ubris-res-catpage__empty {
	margin: .35rem 0 0;
	font-size: .86rem;
	color: #9a7f70;
}

@media (max-width: 980px) {
	.ubris-res-catpage {
		grid-template-columns: 1fr;
	}
	.ubris-res-catpage__aside {
		position: static;
	}
	.ubris-res-catpage__nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ubris-res-catpage__body {
		grid-template-columns: 1fr;
	}
	.ubris-res-catpage__header {
		grid-template-columns: 1fr;
	}
	.ubris-res-catpage__stats {
		align-items: flex-start;
	}
}

@media (max-width: 640px) {
	.ubris-res-catpage__grid {
		grid-template-columns: 1fr;
	}
	.ubris-res-catpage__nav {
		grid-template-columns: 1fr;
	}
}

/* ========== Bientôt disponible ========== */
.ubris-res-soon-ribbon {
	position: absolute;
	top: .7rem;
	right: .7rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	background: var(--res-soon-bg);
	color: var(--res-soon-fg);
	font-size: .65rem;
	font-weight: 750;
	letter-spacing: .02em;
	text-transform: uppercase;
	padding: .28rem .55rem;
	border-radius: 999px;
	border: 1px solid var(--res-soon-line);
	box-shadow: none;
	pointer-events: none;
}

.ubris-res-soon-chip {
	display: inline-flex;
	align-items: center;
	margin-left: .35rem;
	font-size: .62rem;
	font-weight: 750;
	letter-spacing: .02em;
	text-transform: uppercase;
	background: var(--res-soon-bg);
	color: var(--res-soon-fg);
	border: 1px solid var(--res-soon-line);
	border-radius: 999px;
	padding: .12rem .4rem;
}

/* Compteur > 0 : plus de pastille (display:inline-flex écrasait sinon [hidden]) */
.ubris-res-soon-chip[hidden],
.ubris-res__tab:not(.is-soon) .ubris-res-soon-chip,
.ubris-res-catpage__filter:not(.is-soon) .ubris-res-soon-chip {
	display: none !important;
}

.ubris-res__tab.is-soon:not(.is-active) .ubris-res-soon-chip,
.ubris-res-catpage__filter.is-soon:not(.is-active) .ubris-res-soon-chip {
	background: var(--res-soon-bg);
	color: var(--res-soon-fg);
	border-color: var(--res-soon-line);
}

.ubris-res__tab.is-active.is-soon .ubris-res-soon-chip,
.ubris-res-catpage__filter.is-active.is-soon .ubris-res-soon-chip {
	background: rgba(255, 255, 255, .28);
	color: #fff;
	border-color: transparent;
}

.ubris-res-cat.is-soon {
	position: relative;
	opacity: .96;
}

.ubris-res-catpage__filter.is-soon:not(.is-active) {
	opacity: .88;
}

.ubris-res:not([data-admin="1"]) .ubris-res__tab.is-soon,
.ubris-res:not([data-admin="1"]) .ubris-res-catpage__filter.is-soon {
	cursor: default;
}

.ubris-res-soon-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	align-items: flex-start;
	justify-content: center;
	min-height: 9.5rem;
	padding: 1.25rem 1.2rem;
	border-radius: 20px;
	border: 1px dashed var(--res-soon-line);
	background: linear-gradient(160deg, #faf8f6, var(--res-soon-bg));
	color: var(--res-soon-fg);
	overflow: hidden;
}

/* display:flex écrasait sinon [hidden] quand la catégorie a déjà des ressources */
.ubris-res-soon-panel[hidden] {
	display: none !important;
}

.ubris-res-soon-panel--compact {
	min-height: 6.5rem;
	padding: 1rem .9rem;
}

.ubris-res-soon-panel__title {
	margin: .35rem 0 0;
	font-weight: 750;
	font-size: 1rem;
	color: #3a1a12;
}

.ubris-res-soon-panel__text {
	margin: 0;
	font-size: .88rem;
	line-height: 1.45;
	max-width: 28rem;
}

.ubris-res-soon-panel__admin {
	margin: .35rem 0 0;
	font-size: .75rem;
	font-weight: 650;
	color: var(--ink-soft);
}

.ubris-res-soon-panel.is-admin-clickable {
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.ubris-res-soon-panel.is-admin-clickable:hover {
	border-color: var(--accent2);
	box-shadow: 0 10px 24px rgba(171, 26, 25, .1);
}

.ubris-res:not([data-admin="1"]) .ubris-res-soon-panel {
	cursor: default;
	user-select: none;
}

.ubris-res__featured:has(.ubris-res-soon-panel) {
	display: block;
}

/* ========== À la une — aligné maquette (max 3 cartes) ========== */
.ubris-res__spotlight {
	display: grid;
	grid-template-columns: minmax(200px, .72fr) minmax(0, 1.7fr);
	gap: 1rem 1.15rem;
	padding: 0;
	border: 0;
	background: transparent;
	align-items: stretch;
}

.ubris-res__spotlight-intro {
	background: linear-gradient(165deg, #FFE8CC 0%, #FFD9AD 48%, #FFC98A 100%);
	color: #3a1a12;
	border-radius: 22px;
	padding: 1.35rem 1.2rem 1.4rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: .85rem;
	min-height: 100%;
	box-shadow: 0 10px 26px rgba(249, 135, 0, .12);
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 179, 71, .35);
}

.ubris-res__spotlight-intro::before,
.ubris-res__spotlight-intro::after {
	display: none;
}

.ubris-res__spotlight-kicker {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #210000;
	font-size: 1.2rem;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
}

.ubris-res__spotlight-kicker svg {
	color: #F98700;
}

.ubris-res__spotlight-text {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #5c463c;
	font-size: .92rem;
	line-height: 1.45;
	flex: 1;
}

.ubris-res__spotlight-cta {
	position: relative;
	z-index: 1;
	appearance: none;
	border: 0;
	align-self: stretch;
	justify-content: center;
	background: linear-gradient(135deg, #F98700 0%, #AB1A19 100%);
	color: #fff !important;
	border-radius: 999px;
	padding: .7rem 1rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	box-shadow: 0 8px 18px rgba(171, 26, 25, .2);
}

.ubris-res__spotlight-cta:disabled {
	opacity: .72;
	cursor: default;
}

.ubris-res__spotlight-main {
	background: #fff;
	border: 1px solid #f0e2d6;
	border-radius: 22px;
	padding: 1rem 1.05rem 1.1rem;
	box-shadow: 0 8px 22px rgba(90, 45, 20, .05);
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ubris-res__tabs {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	margin-bottom: .9rem;
	padding: .22rem;
	background: var(--cream);
	border: 1px solid var(--line);
	border-radius: 999px;
	align-self: flex-start;
	flex-wrap: wrap;
}

.ubris-res__tab {
	appearance: none;
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: .42rem .85rem;
	font: inherit;
	font-size: .84rem;
	font-weight: 650;
	cursor: pointer;
	color: #6b5348;
}

.ubris-res__tab.is-active {
	background: linear-gradient(135deg, #F98700 0%, #AB1A19 100%);
	color: #fff;
	box-shadow: 0 6px 14px rgba(171, 26, 25, .18);
}

.ubris-res__featured {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	align-items: stretch;
}

.ubris-res__featured > .ubris-res-card[hidden] {
	display: none !important;
}

.ubris-res-card {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-width: 0;
	background: #fff;
	border: 1px solid #f0e2d6;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(90, 45, 20, .04);
}

.ubris-res-card__media {
	position: relative;
	width: 4.85rem;
	min-width: 4.85rem;
	height: auto;
	align-self: stretch;
	border-radius: 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 30% 30%, rgba(255, 179, 71, .5), transparent 55%),
		radial-gradient(circle at 80% 80%, rgba(171, 26, 25, .18), transparent 50%),
		linear-gradient(145deg, #fff1df, #ffd7b0);
}

.ubris-res-card__cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ubris-res-card__media--download {
	background:
		radial-gradient(circle at 35% 35%, rgba(241, 251, 191, .7), transparent 52%),
		radial-gradient(circle at 80% 75%, rgba(171, 26, 25, .22), transparent 48%),
		linear-gradient(145deg, #faf4f3, #f0e0dc);
	color: var(--res-file);
}

.ubris-res-card:has(.ubris-res-card__media--download) {
	border-color: var(--res-file-line);
}

.ubris-res-card:has(.ubris-res-card__media--download) .ubris-res-card__badge {
	color: var(--res-file);
	background: var(--lime);
}

.ubris-res-card:has(.ubris-res-card__media--download) .ubris-res-card__cta {
	background: var(--res-file);
	border-color: transparent;
	color: #fff;
}

.ubris-res-card:has(.ubris-res-card__media--download) .ubris-res-card__cta:hover {
	background: var(--ink);
	border-color: transparent;
	color: #fff;
}

.ubris-res-card:has(.ubris-res-card__media--download) .ubris-res-card__meta svg {
	color: var(--res-file);
}

.ubris-res-card__body {
	padding: .7rem .75rem .75rem;
	display: flex;
	flex-direction: column;
	gap: .28rem;
	min-width: 0;
	flex: 1;
}

.ubris-res-card__badge {
	margin: 0;
	align-self: flex-start;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--res-chip-fg);
	background: var(--res-chip-bg);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .18rem .45rem;
}

.ubris-res-card__title {
	margin: 0;
	font-size: .9rem;
	line-height: 1.25;
	color: #210000;
	font-weight: 750;
}

.ubris-res-card__desc {
	margin: 0;
	font-size: .75rem;
	line-height: 1.35;
	color: #7a6558;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1;
}

.ubris-res-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .45rem;
	margin-top: .2rem;
}

.ubris-res-card__meta {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	font-size: .7rem;
	font-weight: 650;
	color: #9a7f70;
	min-width: 0;
}

.ubris-res-card__meta svg {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	color: #F98700;
}

.ubris-res-card__cta {
	appearance: none;
	width: 1.85rem;
	height: 1.85rem;
	min-width: 1.85rem;
	border-radius: 999px;
	border: 1px solid #eadfd6;
	background: #fff8f1;
	color: #5B0504;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	box-shadow: none;
	font-size: .85rem;
	font-weight: 700;
}

.ubris-res-card__cta svg {
	width: 13px;
	height: 13px;
}

.ubris-res-card__cta:hover {
	border-color: #ffd2a8;
	background: #ffe8cc;
	color: #AB1A19;
}

.ubris-res-soon-panel--featured {
	grid-column: 1 / -1;
	min-height: 7.5rem;
}

@media (max-width: 1100px) {
	.ubris-res__featured {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ubris-res-card__media {
		width: 4.25rem;
		min-width: 4.25rem;
	}
}

@media (max-width: 780px) {
	.ubris-res__spotlight {
		grid-template-columns: 1fr;
	}
}

/* ========== Détail cours ========== */
.ubris-res-course[hidden] {
	display: none !important;
}

.ubris-res.is-course {
	padding: clamp(1rem, 2vw, 1.5rem);
}

.ubris-res-course {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	max-width: 880px;
}

.ubris-res-course__back {
	appearance: none;
	border: 0;
	background: transparent;
	color: #a45d20;
	font: inherit;
	font-weight: 650;
	font-size: .9rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .15rem 0;
	align-self: flex-start;
}

.ubris-res-course__back:hover {
	color: #F98700;
}

.ubris-res-course__head {
	background: #fff;
	border: 1px solid #f0e2d6;
	border-radius: 22px;
	padding: 1.2rem 1.25rem 1.25rem;
	box-shadow: 0 8px 22px rgba(90, 45, 20, .04);
}

.ubris-res-course__badge {
	margin: 0 0 .45rem;
	display: inline-flex;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #c45f00;
	background: #fff1e3;
	border-radius: 999px;
	padding: .22rem .55rem;
}

.ubris-res-course__title {
	margin: 0 0 .4rem;
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	letter-spacing: -0.02em;
	color: #210000;
	line-height: 1.2;
}

.ubris-res-course__meta {
	margin: 0 0 .55rem;
	font-size: .84rem;
	font-weight: 650;
	color: #9a7f70;
}

.ubris-res-course__desc {
	margin: 0;
	font-size: .95rem;
	line-height: 1.5;
	color: #5c463c;
	max-width: 42rem;
}

.ubris-res-course__player {
	background: #1a0a08;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 14px 36px rgba(33, 0, 0, .18);
	aspect-ratio: 16 / 9;
}

.ubris-res-course__player[hidden] {
	display: none !important;
}

.ubris-res-course__player video {
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
}

.ubris-res-course__body {
	background: #fff;
	border: 1px solid #f0e2d6;
	border-radius: 22px;
	padding: 1.25rem 1.35rem 1.45rem;
	box-shadow: 0 8px 22px rgba(90, 45, 20, .04);
	color: #3a1a12;
	line-height: 1.65;
	font-size: .98rem;
}

.ubris-res-course__body p {
	margin: 0 0 1rem;
}

.ubris-res-course__body h3 {
	margin: 1.35rem 0 .75rem;
	font-size: 1.15rem;
	color: #210000;
}

.ubris-res-course__glossary {
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}

.ubris-res-course__glossary li {
	background: #fff8f1;
	border: 1px solid #f0e2d6;
	border-radius: 14px;
	padding: .7rem .85rem;
	font-size: .92rem;
	line-height: 1.45;
	color: #5c463c;
}

.ubris-res-course__glossary strong {
	color: #F98700;
	margin-right: .2rem;
}

.ubris-res-item {
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ubris-res-item:hover {
	transform: translateY(-2px);
	border-color: #ffd2a8;
	box-shadow: 0 14px 28px rgba(249, 135, 0, .12);
}

.ubris-res-card[data-slug] {
	cursor: pointer;
}

.ubris-res-course__body ul {
	margin: 0 0 1.15rem;
	padding: 0 0 0 1.15rem;
	display: flex;
	flex-direction: column;
	gap: .4rem;
}

.ubris-res-course__body li {
	line-height: 1.45;
	color: #5c463c;
}

.ubris-res-course__body a {
	color: #c45f00;
	font-weight: 650;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ubris-res-course__body a:hover {
	color: #F98700;
}

/* ========== Cours : layout + sommaire ========== */
.ubris-res-course {
	max-width: none;
}

.ubris-res-course__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
	gap: 1.15rem 1.35rem;
	align-items: start;
}

.ubris-res-course__main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ubris-res-course__aside {
	position: sticky;
	top: 1rem;
	background: #fff;
	border: 1px solid #f0e2d6;
	border-radius: 20px;
	padding: 1rem .9rem 1.05rem;
	box-shadow: 0 8px 22px rgba(90, 45, 20, .05);
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.ubris-res-course__aside-label {
	margin: 0;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #9a7f70;
}

.ubris-res-course__nav {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.ubris-res-course__nav-item {
	appearance: none;
	border: 1px solid transparent;
	background: transparent;
	border-radius: 12px;
	padding: .55rem .55rem;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .55rem;
	align-items: flex-start;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: #4a342c;
	transition: .15s ease;
}

.ubris-res-course__nav-item:hover {
	background: var(--res-surface);
}

.ubris-res-course__nav-item.is-active {
	background: linear-gradient(135deg, var(--ink) 0%, var(--accent2) 100%);
	border-color: transparent;
	box-shadow: 0 6px 14px rgba(33, 0, 0, .14);
	color: #fff;
}

.ubris-res-course__nav-item.is-active .ubris-res-course__nav-text {
	color: #fff;
}

.ubris-res-course__nav-n {
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .72rem;
	font-weight: 800;
	background: var(--res-chip-bg);
	color: var(--ink-soft);
	border: 1px solid var(--line);
	flex-shrink: 0;
}

.ubris-res-course__nav-item.is-active .ubris-res-course__nav-n {
	background: rgba(255, 255, 255, .2);
	border-color: transparent;
	color: #fff;
}

.ubris-res-course__nav-text {
	font-size: .84rem;
	font-weight: 650;
	line-height: 1.3;
}

.ubris-res-course__next {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: .7rem .9rem;
	font: inherit;
	font-weight: 700;
	font-size: .88rem;
	color: #fff;
	background: linear-gradient(135deg, #F98700 0%, #AB1A19 100%);
	box-shadow: 0 8px 18px rgba(171, 26, 25, .2);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: 100%;
}

.ubris-res-course__next:hover {
	filter: brightness(1.03);
}

.ubris-res-course__next[hidden] {
	display: none !important;
}

.ubris-res-course__next-done {
	margin: 0;
	font-size: .8rem;
	line-height: 1.4;
	color: #9a7f70;
	text-align: center;
}

.ubris-res-course__next-done[hidden] {
	display: none !important;
}

@media (max-width: 920px) {
	.ubris-res-course__layout {
		grid-template-columns: 1fr;
	}
	.ubris-res-course__aside {
		position: static;
		order: 0;
	}
}

/* ========== Responsive consolidé : hub / catégorie / cours ========== */
.ubris-com-page,
.ubris-res,
.ubris-res-catpage,
.ubris-res-course {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.ubris-com-page__lock-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	justify-content: center;
}

@media (max-width: 1100px) {
	.ubris-res__cats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: .7rem;
	}
}

@media (max-width: 980px) {
	.ubris-com-page {
		padding-left: .15rem;
		padding-right: .15rem;
	}

	.ubris-res__head {
		grid-template-columns: 1fr;
		gap: .85rem;
		align-items: start;
	}

	.ubris-res__tools {
		width: 100%;
		flex-wrap: wrap;
		justify-content: stretch;
	}

	.ubris-res__search {
		flex: 1 1 100%;
		max-width: none;
	}

	.ubris-res__pills {
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.ubris-res__spotlight {
		grid-template-columns: 1fr;
		gap: .85rem;
	}

	.ubris-res__spotlight-intro {
		min-height: 0;
		padding: 1.15rem 1.05rem 1.2rem;
	}

	.ubris-res__featured {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: .55rem;
	}

	.ubris-res-card__title {
		font-size: .84rem;
		overflow-wrap: anywhere;
	}

	.ubris-res-card__desc {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		overflow-wrap: anywhere;
	}

	.ubris-res-catpage {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.ubris-res-catpage__aside {
		position: static;
		gap: .65rem;
	}

	.ubris-res-catpage__nav {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: .4rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: .25rem;
		scrollbar-width: thin;
	}

	.ubris-res-catpage__nav-item {
		flex: 0 0 auto;
		min-width: 10.5rem;
		grid-template-columns: auto 1fr;
	}

	.ubris-res-catpage__nav-count {
		display: none;
	}

	.ubris-res-catpage__share {
		display: none;
	}

	.ubris-res-catpage__header {
		grid-template-columns: 1fr;
		gap: .85rem;
		padding: 1rem;
	}

	.ubris-res-catpage__desc {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.ubris-res-catpage__tags {
		flex-wrap: wrap;
		max-width: 100%;
	}

	.ubris-res-catpage__stats {
		align-items: stretch;
		width: 100%;
	}

	.ubris-res-catpage__follow {
		width: 100%;
	}

	.ubris-res-catpage__toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.ubris-res-catpage__search,
	.ubris-res-catpage__sort {
		width: 100%;
	}

	.ubris-res-catpage__sort {
		justify-content: space-between;
	}

	.ubris-res-catpage__sort select {
		flex: 1;
	}

	.ubris-res-catpage__filters {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		padding-bottom: .15rem;
	}

	.ubris-res-catpage__filter {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.ubris-res-catpage__body {
		grid-template-columns: 1fr;
	}

	.ubris-res-catpage__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .7rem;
	}

	.ubris-res-course__layout {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.ubris-res-course__aside {
		position: static;
		order: 2;
	}

	.ubris-res-course__nav {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: .4rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: .2rem;
	}

	.ubris-res-course__nav-item {
		flex: 0 0 auto;
		min-width: 9.5rem;
		max-width: 14rem;
	}

	.ubris-res-course__next {
		width: 100%;
	}
}

@media (max-width: 720px) {
	.ubris-com-page__hero--cover {
		border-radius: 14px;
		margin-left: -.15rem;
		margin-right: -.15rem;
	}

	.ubris-com-page__lock {
		padding: 1.15rem 1rem;
		border-radius: 18px;
	}

	.ubris-com-page__lock > p:last-child {
		flex-direction: column;
		align-items: center;
	}

	.ubris-com-page__lock .ubris-com-page__cta,
	.ubris-com-page__lock a.ubris-com-page__cta {
		width: 100%;
		max-width: 18rem;
	}

	.ubris-res {
		padding: .85rem .75rem 1rem;
		border-radius: 18px;
	}

	.ubris-res__cats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .55rem;
		margin-bottom: 1rem;
	}

	.ubris-res-cat {
		padding: .7rem .65rem .75rem;
		border-radius: 16px;
	}

	.ubris-res-cat__title {
		font-size: .9rem;
	}

	.ubris-res-cat__desc {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.ubris-res-cat__tags {
		display: none;
	}

	.ubris-res__featured {
		grid-template-columns: 1fr;
		gap: .55rem;
	}

	.ubris-res-card {
		flex-direction: row;
	}

	.ubris-res-card__media {
		width: 5rem;
		min-width: 5rem;
	}

	.ubris-res-card__desc {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.ubris-res-catpage__grid {
		grid-template-columns: 1fr;
	}

	.ubris-res-item__media {
		height: 9rem;
	}

	.ubris-res-course__head {
		padding: 1rem;
		border-radius: 18px;
	}

	.ubris-res-course__title {
		font-size: clamp(1.2rem, 5vw, 1.55rem);
	}

	.ubris-res-course__player {
		border-radius: 14px;
	}

	.ubris-res-course__body {
		padding: 1rem;
		border-radius: 18px;
	}

	.ubris-res-course__aside {
		padding: .85rem .75rem;
		border-radius: 16px;
	}
}

@media (max-width: 480px) {
	.ubris-res__cats {
		grid-template-columns: 1fr;
	}

	.ubris-res__tabs {
		width: 100%;
	}

	.ubris-res__tab {
		flex: 1 1 auto;
		text-align: center;
		justify-content: center;
	}

	.ubris-res-catpage__nav-item {
		min-width: 9.25rem;
	}

	.ubris-res-catpage__title {
		font-size: 1.25rem;
	}

	.ubris-res-item__meta {
		gap: .25rem;
	}

	.ubris-res-item__meta span {
		font-size: .64rem;
	}
}

/* ========== Survols lisibles (contre Astra button:hover → texte blanc) ========== */
.ubris-res button:hover,
.ubris-res button:focus,
.ubris-com button:hover,
.ubris-com button:focus,
.ubris-com-rooms-hub button:hover,
.ubris-com-rooms-hub button:focus {
	color: #3a1a12 !important;
	background-color: #fff4e8 !important;
	border-color: #ffd2a8 !important;
	box-shadow: none !important;
	filter: none;
}

.ubris-res a:hover,
.ubris-res a:focus,
.ubris-com a:hover,
.ubris-com a:focus {
	color: #c45f00;
}

/* Cartes / listes : lift + teinte, texte inchangé */
.ubris-res-cat:hover,
.ubris-res-item:hover,
.ubris-res-card:hover {
	color: inherit;
	transform: translateY(-2px);
	border-color: #e0d2c6;
	box-shadow: 0 14px 28px rgba(33, 0, 0, .08);
	background-color: #fff;
}

.ubris-res-dl:hover {
	color: inherit;
	transform: translateY(-2px);
	border-color: var(--res-file-line);
	box-shadow: 0 12px 24px rgba(171, 26, 25, .1);
	background-color: #fff;
}

.ubris-res-card:has(.ubris-res-card__media--download):hover {
	border-color: var(--res-file-line);
	box-shadow: 0 14px 28px rgba(171, 26, 25, .1);
}

.ubris-res-cat:hover .ubris-res-cat__title,
.ubris-res-cat:hover .ubris-res-cat__desc,
.ubris-res-cat:hover .ubris-res-cat__count,
.ubris-res-item:hover .ubris-res-item__title,
.ubris-res-item:hover .ubris-res-item__desc,
.ubris-res-item:hover .ubris-res-item__meta,
.ubris-res-item:hover .ubris-res-item__author,
.ubris-res-card:hover .ubris-res-card__title,
.ubris-res-card:hover .ubris-res-card__desc,
.ubris-res-card:hover .ubris-res-card__meta,
.ubris-res-card:hover .ubris-res-card__badge,
.ubris-res-dl:hover .ubris-res-dl__body strong,
.ubris-res-dl:hover .ubris-res-dl__body small {
	color: inherit;
}

.ubris-res-cat:hover .ubris-res-cat__title,
.ubris-res-item:hover .ubris-res-item__title,
.ubris-res-card:hover .ubris-res-card__title {
	color: #3a1a12;
}

.ubris-res-cat:hover .ubris-res-cat__count {
	color: var(--ink-soft);
}

.ubris-res-cat:hover .ubris-res-cat__desc,
.ubris-res-item:hover .ubris-res-item__desc,
.ubris-res-card:hover .ubris-res-card__desc {
	color: #7a6558;
}

.ubris-res-catpage__nav-item:hover,
.ubris-res-course__nav-item:hover {
	background: var(--res-surface) !important;
	color: #3a1a12 !important;
	border-color: var(--line) !important;
}

.ubris-res-catpage__nav-item:hover .ubris-res-catpage__nav-text,
.ubris-res-catpage__nav-item:hover .ubris-res-catpage__nav-count,
.ubris-res-course__nav-item:hover .ubris-res-course__nav-text {
	color: #3a1a12 !important;
}

.ubris-res-catpage__nav-item.is-active:hover,
.ubris-res-course__nav-item.is-active:hover {
	background: linear-gradient(135deg, var(--ink) 0%, var(--accent2) 100%) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.ubris-res-catpage__nav-item.is-active:hover .ubris-res-catpage__nav-text,
.ubris-res-catpage__nav-item.is-active:hover .ubris-res-catpage__nav-count,
.ubris-res-course__nav-item.is-active:hover .ubris-res-course__nav-text {
	color: #fff !important;
}

.ubris-res__pill:hover,
.ubris-res__tab:hover,
.ubris-res-catpage__filter:hover {
	background: var(--res-surface) !important;
	color: var(--ink) !important;
	border-color: var(--line) !important;
}

.ubris-res-card__cta:hover,
.ubris-res-catpage__back:hover,
.ubris-res-course__back:hover,
.ubris-res-catpage__crumbs button:hover {
	background: var(--res-surface) !important;
	color: var(--accent2) !important;
	border-color: var(--line) !important;
}

.ubris-res-dl__btn:hover {
	background: var(--ink) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.ubris-res-card:has(.ubris-res-card__media--download) .ubris-res-card__cta:hover {
	background: var(--ink) !important;
	color: #fff !important;
	border-color: transparent !important;
}

/* CTAs d’apprentissage : orange réservé aux actions primaire */
.ubris-res .ubris-res__pill.is-active,
.ubris-res .ubris-res__pill.is-active:hover,
.ubris-res .ubris-res__pill.is-active:focus,
.ubris-res .ubris-res__tab.is-active,
.ubris-res .ubris-res__tab.is-active:hover,
.ubris-res .ubris-res__tab.is-active:focus,
.ubris-res .ubris-res-catpage__filter.is-active,
.ubris-res .ubris-res-catpage__filter.is-active:hover,
.ubris-res .ubris-res-catpage__filter.is-active:focus,
.ubris-res .ubris-res-item__cta,
.ubris-res .ubris-res-item__cta:hover,
.ubris-res .ubris-res-item__cta:focus,
.ubris-res .ubris-res-course__next,
.ubris-res .ubris-res-course__next:hover,
.ubris-res .ubris-res-course__next:focus,
.ubris-res .ubris-res-catpage__follow,
.ubris-com-rooms-hub .ubris-com-rooms-hub__new:hover,
.ubris-com-rooms-hub .ubris-com-rooms-hub__new:focus {
	color: #fff !important;
	background: linear-gradient(135deg, #FFB347, #F98700) !important;
	border-color: transparent !important;
	box-shadow: 0 8px 18px rgba(249, 135, 0, .22) !important;
}

/* Share CTA secondaire : bordeaux (pas le même orange que « Voir le cours ») */
.ubris-res .ubris-res-catpage__share-cta {
	color: #fff !important;
	background: linear-gradient(135deg, var(--ink-soft), var(--accent2)) !important;
	border-color: transparent !important;
	box-shadow: 0 6px 14px rgba(171, 26, 25, .18) !important;
}

.ubris-res .ubris-res-course__next:hover,
.ubris-res .ubris-res-item__cta:hover,
.ubris-res .ubris-res__pill.is-active:hover,
.ubris-res .ubris-res__tab.is-active:hover {
	background: linear-gradient(135deg, #F98700, #AB1A19) !important;
	filter: none;
}

/* Spotlight CTA clair (panneau pêche) */
.ubris-res .ubris-res__spotlight-cta:not(:disabled) {
	background: #fff !important;
	color: #AB1A19 !important;
	box-shadow: 0 8px 18px rgba(33, 0, 0, .1) !important;
}

.ubris-res .ubris-res__spotlight-cta:not(:disabled):hover,
.ubris-res .ubris-res__spotlight-cta:not(:disabled):focus {
	background: #F1FBBF !important;
	color: #5B0504 !important;
}

/* ---- Chat avancé : fils, réactions, pins, favoris ---- */
.ubris-com__pinned {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	padding: .65rem .75rem;
	margin: 0 0 .35rem;
	border: 1px dashed #f0c9a0;
	border-radius: 12px;
	background: #fff8f1;
}

.ubris-com__msg--pin-card {
	background: #fff;
}

.ubris-com__pin-badge {
	display: inline-flex;
	align-items: center;
	font-size: .68rem;
	font-weight: 700;
	color: #AB1A19;
	background: #ffe8d6;
	border-radius: 999px;
	padding: .1rem .45rem;
}

.ubris-com__edited {
	font-size: .7rem;
	color: var(--muted);
	font-style: italic;
}

.ubris-com__cite {
	margin: .35rem 0 .45rem;
	padding: .35rem .55rem;
	border-left: 3px solid #F98700;
	background: #fff7ef;
	border-radius: 0 8px 8px 0;
	font-size: .8rem;
	color: #5c4030;
}

.ubris-com__reactions {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin-top: .45rem;
	align-items: center;
}

.ubris-com__reaction,
.ubris-com__reaction-add {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 999px;
	padding: .15rem .45rem;
	font-size: .8rem;
	cursor: pointer;
	line-height: 1.2;
}

.ubris-com__reaction.is-mine {
	border-color: #F98700;
	background: #fff3e8;
}

.ubris-com__reaction-add {
	color: var(--muted);
	font-weight: 700;
}

.ubris-com__react-picker {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem;
	margin-top: .35rem;
	padding: .35rem;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
}

.ubris-com__react-picker-btn {
	appearance: none;
	border: 0;
	background: transparent;
	font-size: 1.15rem;
	cursor: pointer;
	padding: .15rem;
	border-radius: 6px;
}

.ubris-com__react-picker-btn:hover {
	background: #fff3e8;
}

.ubris-com__thread {
	margin-top: .55rem;
	padding-left: .75rem;
	border-left: 2px solid #f0c9a0;
	display: flex;
	flex-direction: column;
	gap: .45rem;
}

.ubris-com__msg--reply {
	border-radius: 12px;
	padding: .55rem .7rem;
	background: #fcfcfc;
}

.ubris-com__thread-toggle {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--accent);
	font-size: .78rem;
	font-weight: 600;
	cursor: pointer;
	padding: .25rem 0 0;
	text-align: left;
}

.ubris-com__reply-bar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .75rem;
	padding: .55rem .7rem;
	border: 1px solid #f0c9a0;
	border-radius: 10px;
	background: #fff8f1;
	font-size: .82rem;
}

.ubris-com__reply-bar[hidden] {
	display: none !important;
}

.ubris-com__reply-bar-main {
	min-width: 0;
}

.ubris-com__reply-bar-label {
	display: block;
	color: #AB1A19;
	font-weight: 600;
}

.ubris-com__reply-bar-excerpt {
	display: block;
	color: var(--muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.ubris-com__reply-bar-cancel {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
	font-size: .75rem;
	text-decoration: underline;
	flex-shrink: 0;
}

.ubris-com__edit-area {
	margin-top: .35rem;
	display: flex;
	flex-direction: column;
	gap: .4rem;
}

.ubris-com__edit-area textarea {
	width: 100%;
	min-height: 4rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: .45rem .55rem;
	font: inherit;
	resize: vertical;
}

.ubris-com__edit-actions {
	display: flex;
	gap: .4rem;
}

/* ==========================================================================
   Base de connaissances — badges, favoris, blocs pédagogiques
   ========================================================================== */

.ubris-res-badge {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	padding: .12rem .45rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	border: 1px solid var(--line);
	background: #fff;
	color: #5B0504;
	white-space: nowrap;
}

.ubris-res-badge--official {
	background: #F1FBBF;
	border-color: #dcebA0;
	color: #3f4a05;
}

.ubris-res-badge--level[data-level="debutant"] {
	background: #F9F7F5;
	color: #5B0504;
}

.ubris-res-badge--level[data-level="intermediaire"] {
	background: #FFF1DF;
	border-color: #ffd9ac;
	color: #8a4a00;
}

.ubris-res-badge--level[data-level="avance"] {
	background: #FBE9E9;
	border-color: #f3c9c8;
	color: #AB1A19;
}

.ubris-res-badge--time {
	background: #F9F7F5;
	color: #6b5f5f;
	text-transform: none;
	letter-spacing: 0;
}

.ubris-res-item__badges {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin-bottom: .4rem;
}

.ubris-res-item__tags {
	list-style: none;
	margin: .35rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
}

.ubris-res-item__tags li {
	font-size: .7rem;
	color: #6b5f5f;
	background: #F9F7F5;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: .1rem .4rem;
}

.ubris-res-item__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-top: .5rem;
}

/* --- Favoris personnels --- */

.ubris-res-fav {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	color: #9a8f8f;
	border-radius: 999px;
	width: 1.9rem;
	height: 1.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	transition: color .12s ease, border-color .12s ease, background .12s ease;
}

.ubris-res-fav:hover {
	border-color: #FFB347;
	color: #F98700;
}

.ubris-res-fav.is-on {
	color: #F98700;
	border-color: #FFB347;
	background: #FFF6EA;
}

.ubris-res-fav__ico {
	font-size: 1rem;
	line-height: 1;
}

.ubris-res-course__fav {
	width: auto;
	height: auto;
	gap: .35rem;
	padding: .4rem .8rem;
	font-size: .82rem;
	font-weight: 600;
	margin-top: .6rem;
}

/* --- Bascules de filtre catégorie --- */

.ubris-res-catpage__toggles {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ubris-res-catpage__toggle {
	appearance: none;
	border: 1px solid var(--line);
	background: #fff;
	color: #5B0504;
	border-radius: 999px;
	padding: .35rem .75rem;
	font-size: .8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .12s ease, border-color .12s ease, color .12s ease;
}

.ubris-res-catpage__toggle:hover {
	border-color: #FFB347;
}

.ubris-res-catpage__toggle.is-on {
	background: #F98700;
	border-color: #F98700;
	color: #fff;
}

/* --- Blocs pédagogiques de la fiche --- */

.ubris-res-course__badges {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin-bottom: .45rem;
}

.ubris-res-course__block {
	margin: 1.4rem 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #F9F7F5;
	box-shadow: 0 1px 2px rgba(33, 0, 0, .04);
}

.ubris-res-course__block h3 {
	margin: 0 0 .6rem;
	font-size: 1rem;
	color: #5B0504;
}

.ubris-res-course__block ul,
.ubris-res-course__block ol {
	margin: 0;
	padding-left: 1.2rem;
	display: flex;
	flex-direction: column;
	gap: .3rem;
}

.ubris-res-course__block--goals {
	background: #F1FBBF;
	border-color: #e2efaa;
}

.ubris-res-course__block--summary {
	background: #FFF6EA;
	border-color: #ffdcb2;
}

.ubris-res-course__block--summary p {
	margin: 0;
}

/* --- Bloc demande copiable --- */

.ubris-res-course__block--prompt {
	background: #fff;
}

.ubris-res-prompt__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	margin-bottom: .55rem;
}

.ubris-res-prompt__head h3 {
	margin: 0;
}

.ubris-res-prompt__copy {
	appearance: none;
	border: 1px solid #F98700;
	background: linear-gradient(180deg, #FFB347, #F98700);
	color: #fff;
	border-radius: 999px;
	padding: .3rem .8rem;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	flex-shrink: 0;
}

.ubris-res-prompt__copy.is-done {
	background: #5B0504;
	border-color: #5B0504;
}

.ubris-res-prompt__code {
	margin: 0;
	padding: .8rem .9rem;
	background: #210000;
	color: #F9F7F5;
	border-radius: 12px;
	font-size: .82rem;
	line-height: 1.55;
	white-space: pre-wrap;
	word-break: break-word;
	overflow-x: auto;
}

.ubris-res-prompt__note {
	margin: .45rem 0 0;
	font-size: .76rem;
	color: #6b5f5f;
}

/* --- Cas pratique --- */

.ubris-res-case {
	display: flex;
	flex-direction: column;
	gap: .85rem;
}

.ubris-res-case__label {
	margin: 0 0 .25rem;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #AB1A19;
}

.ubris-res-case__part p:last-child {
	margin: 0;
}

/* --- Messages officiels (Équipe Ubris / Ubris Bot) --- */

.ubris-com__badge--official {
	background: #F1FBBF;
	border: 1px solid #dceb9f;
	color: #3f4a05;
}

.ubris-com__msg.is-official .ubris-com__msg-main {
	border-left: 3px solid #FFB347;
	padding-left: .6rem;
}

.ubris-com__msg-res {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	margin-top: .35rem;
	font-size: .82rem;
	font-weight: 600;
	color: #AB1A19;
	text-decoration: none;
}

.ubris-com__msg-res:hover {
	text-decoration: underline;
}

/* --- Actions de la fiche ressource (favori, impression, fichier) --- */

.ubris-res-course__head-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: .7rem;
}

.ubris-res-course__head-actions .ubris-res-course__fav {
	margin-top: 0;
}

.ubris-res-course__print,
.ubris-res-course__dl {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .4rem .85rem;
	border-radius: 999px;
	border: 1px solid var(--line);
	background: #fff;
	color: #5B0504;
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .12s ease, background .12s ease;
}

.ubris-res-course__print:hover,
.ubris-res-course__dl:hover {
	border-color: #FFB347;
	background: #FFF6EA;
}

.ubris-res-course__dl {
	border-color: #F98700;
	background: linear-gradient(180deg, #FFB347, #F98700);
	color: #fff;
}

.ubris-res-course__dl:hover {
	background: linear-gradient(180deg, #F98700, #AB1A19);
	border-color: #AB1A19;
	color: #fff;
}

/* display:inline-flex écrasait sinon [hidden] : bouton visible avec href="#" */
.ubris-res-course__print[hidden],
.ubris-res-course__dl[hidden] {
	display: none !important;
}

/* --- Contributions communautaires --- */

.ubris-res-badge--community {
	background: #FFF1DF;
	border-color: #ffd9ac;
	color: #8a4a00;
}

.ubris-res-contrib {
	margin-top: 1rem;
	padding: 1rem 1.05rem;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(33, 0, 0, .04);
}

.ubris-res-contrib__title {
	margin: 0 0 .25rem;
	font-size: .95rem;
	font-weight: 700;
	color: #5B0504;
}

.ubris-res-contrib__text {
	margin: 0 0 .7rem;
	font-size: .82rem;
	color: #6b5f5f;
}

.ubris-res-contrib--locked {
	background: #F9F7F5;
}

.ubris-res-contrib__form {
	display: flex;
	flex-direction: column;
	gap: .55rem;
}

.ubris-res-contrib__field {
	display: flex;
	flex-direction: column;
	gap: .2rem;
}

.ubris-res-contrib__field > span {
	font-size: .76rem;
	font-weight: 600;
	color: #5B0504;
}

.ubris-res-contrib__field input,
.ubris-res-contrib__field select,
.ubris-res-contrib__field textarea {
	width: 100%;
	font: inherit;
	font-size: .85rem;
	padding: .4rem .5rem;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	resize: vertical;
}

.ubris-res-contrib__field input:focus,
.ubris-res-contrib__field select:focus,
.ubris-res-contrib__field textarea:focus {
	outline: 2px solid #FFB347;
	outline-offset: 1px;
}

.ubris-res-contrib__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: .2rem;
}

.ubris-res-contrib__submit {
	appearance: none;
	border: 1px solid #F98700;
	background: linear-gradient(180deg, #FFB347, #F98700);
	color: #fff;
	border-radius: 999px;
	padding: .45rem 1rem;
	font-size: .84rem;
	font-weight: 700;
	cursor: pointer;
}

.ubris-res-contrib__submit:hover:not(:disabled) {
	background: linear-gradient(180deg, #F98700, #AB1A19);
	border-color: #AB1A19;
}

.ubris-res-contrib__submit:disabled {
	opacity: .6;
	cursor: default;
}

.ubris-res-contrib__msg {
	font-size: .8rem;
	color: #6b5f5f;
}

.ubris-res-contrib__msg.is-ok {
	color: #3f6b00;
	font-weight: 600;
}

.ubris-res-contrib__msg.is-error {
	color: #AB1A19;
	font-weight: 600;
}

/* Membres actifs — modale */
.ubris-com-members-modal {
	align-items: center;
	background: rgb(33 0 0 / 0.42);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	padding: 1rem;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100050;
}

.ubris-com-members-modal__panel {
	background: #fff;
	border: 1px solid var(--line, #eadfd6);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgb(33 0 0 / 0.18);
	display: flex;
	flex-direction: column;
	max-height: min(88vh, 40rem);
	max-width: 34rem;
	overflow: hidden;
	width: 100%;
}

.ubris-com-members-modal__head {
	align-items: flex-start;
	border-bottom: 1px solid var(--line, #eadfd6);
	display: flex;
	gap: .75rem;
	justify-content: space-between;
	padding: 1.1rem 1.15rem .95rem;
}

.ubris-com-members-modal__eyebrow {
	color: var(--accent, #F98700);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 0 .25rem;
	text-transform: uppercase;
}

.ubris-com-members-modal__head h3 {
	color: var(--ink, #210000);
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: -.02em;
	margin: 0;
}

.ubris-com-members-modal__x {
	appearance: none;
	background: #f7f2ee;
	border: 0;
	border-radius: 999px;
	color: var(--ink, #210000);
	cursor: pointer;
	font-size: 1.25rem;
	height: 2rem;
	line-height: 1;
	width: 2rem;
}

.ubris-com-members-modal__body {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	overflow: auto;
	padding: .85rem 1rem 1.1rem;
}

.ubris-com-members-modal__empty {
	color: #6b5f5f;
	font-size: .9rem;
	margin: .5rem 0;
	text-align: center;
}

.ubris-com-members-modal__row {
	align-items: center;
	border: 1px solid var(--line, #eadfd6);
	border-radius: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	justify-content: space-between;
	padding: .7rem .75rem;
}

.ubris-com-members-modal__who {
	align-items: center;
	display: flex;
	gap: .65rem;
	min-width: 0;
}

.ubris-com-members-modal__meta {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	min-width: 0;
}

.ubris-com-members-modal__meta strong {
	color: var(--ink, #210000);
	font-size: .92rem;
}

.ubris-com-members-modal__meta small {
	color: #6b5f5f;
	font-size: .74rem;
}

.ubris-com-members-modal__badges {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
}

.ubris-com-members-modal__badge {
	background: #f3ece6;
	border-radius: 999px;
	color: var(--ink, #210000);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .04em;
	padding: .18rem .45rem;
	text-transform: uppercase;
}

.ubris-com-members-modal__badge.is-online {
	background: #e7f6ec;
	color: #1f7a45;
}

.ubris-com-members-modal__badge.is-staff {
	background: #fff3e8;
	color: var(--accent2, #AB1A19);
}

.ubris-com-members-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ubris-com-members-modal__btn {
	appearance: none;
	background: var(--grad, linear-gradient(135deg, #F98700 0%, #AB1A19 100%));
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: .76rem;
	font-weight: 700;
	padding: .42rem .75rem;
}

.ubris-com-members-modal__btn--ghost {
	background: transparent;
	border: 1px solid var(--line, #eadfd6);
	color: var(--ink, #210000);
}

.ubris-com-members-modal__btn--ghost:hover {
	border-color: var(--accent, #F98700);
	color: var(--accent, #F98700);
}

.ubris-com-members-modal__compose {
	align-items: center;
	background: rgb(33 0 0 / 0.35);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	padding: 1rem;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

.ubris-com-members-modal__compose-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgb(33 0 0 / 0.16);
	display: flex;
	flex-direction: column;
	gap: .7rem;
	max-width: 22rem;
	padding: 1rem;
	width: 100%;
}

.ubris-com-members-modal__compose-card header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: .5rem;
}

.ubris-com-members-modal__compose-card textarea {
	border: 1px solid var(--line, #eadfd6);
	border-radius: 12px;
	font: inherit;
	min-height: 6rem;
	padding: .7rem .75rem;
	resize: vertical;
	width: 100%;
}

.ubris-com-members-modal__compose-actions {
	display: flex;
	gap: .45rem;
	justify-content: flex-end;
}

.ubris-com-members-modal__hint {
	color: #1f7a45;
	font-size: .8rem;
	font-weight: 600;
	margin: 0;
}
