/*
 * Sabar — styles communs : emplacements publicitaires, annonce maison, pastilles, article réservé,
 * contenus sponsorisés, contenus intégrés, boutons.
 *
 * Couleurs et formes : variables --sabar-*, qui reprennent par défaut les couleurs de theme.json
 * (accent, ink, surface, card, rule, muted). Un thème les ajuste dans sa feuille :
 *   :root:root { --sabar-accent: …; }
 * Propriétés logiques (inline/block) : la même feuille sert au français et à l'arabe.
 */
:root {
	--sabar-accent: var(--wp--preset--color--accent, #C8102E);
	--sabar-accent-texte: var(--wp--preset--color--accent-ink, var(--sabar-accent));
	--sabar-sur-accent: var(--wp--preset--color--on-accent, #FFFFFF);
	--sabar-encre: var(--wp--preset--color--ink, var(--wp--preset--color--contrast, #111111));
	--sabar-fond: var(--wp--preset--color--card, var(--wp--preset--color--base, #FFFFFF));
	--sabar-page: var(--wp--preset--color--base, #FFFFFF); /* fond de la page, pour les fondus */
	--sabar-doux: var(--wp--preset--color--surface, #F5F5F2);
	--sabar-trait: var(--wp--preset--color--rule, #DDDDDD);
	--sabar-gris: var(--wp--preset--color--muted, #6B6F68);
	--sabar-ok: #0A7A33;
	--sabar-erreur: #B3261E;
	--sabar-rayon: 12px;
	--sabar-rayon-petit: 8px;
	--sabar-pilule: 999px;
	--sabar-mono: var(--wp--preset--font-family--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	--sabar-hachures: repeating-linear-gradient(135deg, rgba(0, 0, 0, .04) 0 8px, rgba(0, 0, 0, .08) 8px 16px);
}

/* ---------- Boutons ---------- */
.sabar-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid transparent;
	border-radius: var(--sabar-pilule);
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.sabar-bouton:hover { transform: translateY(-1px); text-decoration: none; }
/* Dans le texte d'un article, le thème souligne les liens : pas les boutons ni l'annonce maison. */
a.sabar-bouton.sabar-bouton, a.sabar-maison.sabar-maison, a.sabar-pub__banniere.sabar-pub__banniere { text-decoration: none; }
.sabar-bouton:focus-visible { outline: 3px solid var(--sabar-accent); outline-offset: 2px; }
.sabar-bouton--accent { background: var(--sabar-accent); color: var(--sabar-sur-accent); }
.sabar-bouton--accent:hover { color: var(--sabar-sur-accent); box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.sabar-bouton--encre { background: var(--sabar-encre); color: #FFFFFF; }
.sabar-bouton--encre:hover { color: #FFFFFF; }
.sabar-bouton--contour { background: transparent; color: var(--sabar-encre); border-color: currentColor; }
.sabar-bouton--contour:hover { color: var(--sabar-encre); }
.sabar-bouton--grand { min-height: 52px; padding: 12px 24px; font-size: 1.05em; }
.sabar-bouton--bloc { display: flex; width: 100%; }
.sabar-bouton .sabar-icone { flex: none; }

/* ---------- Pastilles ---------- */
.sabar-pastille {
	display: inline-block;
	padding: 3px 9px;
	border-radius: var(--sabar-pilule);
	background: var(--sabar-accent);
	color: var(--sabar-sur-accent);
	font-family: var(--sabar-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.4;
	text-transform: uppercase;
	vertical-align: middle;
}
.sabar-pastille + .sabar-pastille { margin-inline-start: 6px; }
.sabar-pastille--sponsor { background: #F2C14E; color: #1E201C; }
.sabar-pastille--abonnes { background: var(--sabar-encre); color: #FFFFFF; }
.rtl .sabar-pastille { font-family: inherit; letter-spacing: 0; }

/* ---------- Emplacements publicitaires ---------- */
.sabar-pub { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; }
.sabar-pub__label { font-family: var(--sabar-mono); font-size: 10px; color: var(--sabar-gris); letter-spacing: .08em; text-transform: uppercase; }
.sabar-pub__boite { max-width: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--sabar-rayon); }
.sabar-pub--masthead .sabar-pub__boite, .sabar-pub--billboard .sabar-pub__boite, .sabar-pub--mobile .sabar-pub__boite { border-radius: 0; }
.sabar-pub__banniere { display: block; width: 100%; line-height: 0; }
.sabar-pub__img { width: 100%; height: auto; object-fit: cover; display: block; }
.sabar-pub__vide { width: 100%; height: 100%; min-height: inherit; display: flex; align-items: center; justify-content: center; background: var(--sabar-hachures); font-family: var(--sabar-mono); font-size: 11px; color: var(--sabar-gris); letter-spacing: .06em; text-transform: uppercase; text-align: center; padding: 8px; }
.sabar-pub--dans-article { padding-block: 12px; margin-block: 1em; }
/* Écrans : l'emplacement « mobile » seulement sur mobile, les grands formats seulement au-delà. */
.sabar-pub--mobile { display: none; }
@media (max-width: 781px) {
	.sabar-pub--desktop { display: none; }
	.sabar-pub--mobile { display: flex; }
}

/* ---------- Annonce maison : « Votre publicité ici », au logo du site ---------- */
.sabar-pub--maison .sabar-pub__boite { overflow: hidden; container-type: inline-size; }
.sabar-maison {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	height: var(--sabar-maison-h, 250px);
	padding: 0 20px;
	overflow: hidden;
	border-radius: inherit;
	background: var(--sabar-encre);
	color: #FFFFFF;
	text-align: start;
	text-decoration: none;
	line-height: 1.15;
}
.sabar-maison:hover { color: #FFFFFF; text-decoration: none; }
.sabar-maison:hover .sabar-maison__appel { transform: translateY(-1px); box-shadow: 0 0 0 3px var(--sabar-encre), 0 6px 18px rgba(0, 0, 0, .35); }
/* Décor : bande d'accent en biais, trame fine, grand mégaphone en filigrane. */
.sabar-maison::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(115deg, transparent 74%, var(--sabar-accent) 74% 81%, transparent 81% 84%, color-mix(in srgb, var(--sabar-accent) 35%, transparent) 84% 86%, transparent 86%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 12px);
}
.sabar-maison__deco { position: absolute; z-index: -1; inset-inline-end: -4%; bottom: -18%; color: var(--sabar-accent); opacity: .16; line-height: 0; }
.sabar-maison__deco .sabar-icone { width: calc(var(--sabar-maison-h) * 1.1); height: calc(var(--sabar-maison-h) * 1.1); stroke-width: 1.4; }
.sabar-maison__logo { flex: none; display: flex; align-items: center; justify-content: center; background: #FFFFFF; border-radius: var(--sabar-rayon-petit); padding: 6px 10px; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
.sabar-maison__logo img { display: block; height: 44px; width: auto; max-width: 150px; object-fit: contain; }
.sabar-maison__nom { color: var(--sabar-encre); font-weight: 900; font-style: italic; font-size: 16px; }
.sabar-maison__corps { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; max-width: 62%; }
.sabar-maison--pave .sabar-maison__corps, .sabar-maison--haut .sabar-maison__corps { max-width: none; }
.sabar-maison__surtitre { font-family: var(--sabar-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--sabar-accent); }
.sabar-maison__titre { font-size: 26px; font-weight: 900; font-style: italic; font-stretch: 82%; letter-spacing: -.01em; text-transform: uppercase; }
.sabar-maison__texte { font-size: 13px; color: #C9CDC5; line-height: 1.35; }
.sabar-maison__appel {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--sabar-accent);
	color: var(--sabar-sur-accent);
	border-radius: var(--sabar-pilule);
	padding: 10px 18px 10px 14px;
	box-shadow: 0 0 0 3px var(--sabar-encre);
	transition: transform .15s ease, box-shadow .15s ease;
}
.sabar-maison__appel .sabar-icone { width: 22px; height: 22px; }
.sabar-maison__appel-texte { display: flex; flex-direction: column; gap: 1px; }
.sabar-maison__service { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.sabar-maison__appel strong { font-size: 17px; font-weight: 850; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sabar-maison__contacts { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; font-size: 13px; color: #E4E7E0; }
.sabar-maison__contact { display: flex; align-items: center; gap: 8px; }
.sabar-maison__contact .sabar-icone { width: 16px; height: 16px; color: var(--sabar-accent); }

/* Bandeau (970×90, mobile 320×100) : logo | titre | numéro. */
.sabar-maison--bandeau { gap: 14px; padding: 0 16px; }
.sabar-maison--bandeau .sabar-maison__logo img { height: calc(var(--sabar-maison-h) - 42px); }
.sabar-maison--bandeau .sabar-maison__surtitre { font-size: 9px; }
.sabar-maison--bandeau .sabar-maison__titre { font-size: 22px; }
.sabar-maison--bandeau .sabar-maison__texte { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.sabar-maison--bandeau .sabar-maison__deco { bottom: -45%; }

/* Grand format (970×250). */
.sabar-maison--large { gap: 28px; padding: 0 36px; }
.sabar-maison--large .sabar-maison__logo { padding: 12px 16px; }
.sabar-maison--large .sabar-maison__logo img { height: 96px; max-width: 220px; }
.sabar-maison--large .sabar-maison__surtitre { font-size: 12px; }
.sabar-maison--large .sabar-maison__titre { font-size: 48px; }
.sabar-maison--large .sabar-maison__texte { font-size: 16px; max-width: 460px; }
.sabar-maison--large .sabar-maison__appel { padding: 14px 24px 14px 18px; }
.sabar-maison--large .sabar-maison__appel strong { font-size: 22px; }

/* Pavé (300×250) et grand pavé (300×600) : empilés. */
.sabar-maison--pave, .sabar-maison--haut { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 18px; }
.sabar-maison--pave::before, .sabar-maison--haut::before {
	background:
		linear-gradient(160deg, transparent 76%, var(--sabar-accent) 76% 84%, transparent 84% 87%, color-mix(in srgb, var(--sabar-accent) 35%, transparent) 87% 89%, transparent 89%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 12px);
}
.sabar-maison--pave .sabar-maison__logo img { height: 36px; max-width: 130px; }
.sabar-maison--pave .sabar-maison__titre { font-size: 30px; line-height: .95; }
.sabar-maison--pave .sabar-maison__corps { flex: none; }
.sabar-maison--pave .sabar-maison__texte { font-size: 12.5px; }
.sabar-maison--pave .sabar-maison__appel { align-self: stretch; justify-content: center; }
.sabar-maison--pave .sabar-maison__deco { bottom: -10%; inset-inline-end: -12%; }
.sabar-maison--pave .sabar-maison__deco .sabar-icone { width: 170px; height: 170px; }
.sabar-maison--haut { justify-content: flex-start; gap: 18px; padding: 26px 22px; }
.sabar-maison--haut .sabar-maison__logo { padding: 10px 14px; }
.sabar-maison--haut .sabar-maison__logo img { height: 64px; max-width: 200px; }
.sabar-maison--haut .sabar-maison__corps { flex: 1; gap: 8px; }
.sabar-maison--haut .sabar-maison__surtitre { font-size: 11px; }
.sabar-maison--haut .sabar-maison__titre { font-size: 50px; line-height: .9; }
.sabar-maison--haut .sabar-maison__texte { font-size: 15px; }
.sabar-maison--haut .sabar-maison__appel { align-self: stretch; justify-content: center; padding: 14px 18px; }
.sabar-maison--haut .sabar-maison__appel strong { font-size: 20px; }
.sabar-maison--haut .sabar-maison__deco { bottom: 14%; inset-inline-end: -18%; opacity: .12; }
.sabar-maison--haut .sabar-maison__deco .sabar-icone { width: 300px; height: 300px; }

/* Bandeau étroit (tablette, mobile 320×100). */
@container (max-width: 760px) {
	.sabar-maison--bandeau .sabar-maison__texte, .sabar-maison--bandeau .sabar-maison__surtitre { display: none; }
}
@container (max-width: 700px) {
	.sabar-maison--large { gap: 16px; padding: 0 20px; }
	.sabar-maison--large .sabar-maison__logo img { height: 60px; }
	.sabar-maison--large .sabar-maison__titre { font-size: 32px; }
	.sabar-maison--large .sabar-maison__texte { display: none; }
}
@container (max-width: 480px) {
	/* Mobile 320×100 : logo à gauche, titre au-dessus du numéro. */
	.sabar-maison--bandeau { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: 1fr 1fr; column-gap: 12px; row-gap: 5px; padding: 0 12px; }
	.sabar-maison--bandeau .sabar-maison__logo { grid-row: 1 / 3; padding: 5px 7px; }
	.sabar-maison--bandeau .sabar-maison__logo img { height: 46px; max-width: 96px; }
	.sabar-maison--bandeau .sabar-maison__corps { align-self: end; max-width: none; }
	.sabar-maison--bandeau .sabar-maison__titre { font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.sabar-maison--bandeau .sabar-maison__appel { align-self: start; justify-self: start; padding: 5px 12px 5px 9px; gap: 6px; box-shadow: none; }
	.sabar-maison--bandeau .sabar-maison__appel .sabar-icone { width: 16px; height: 16px; }
	.sabar-maison--bandeau .sabar-maison__service { display: none; }
	.sabar-maison--bandeau .sabar-maison__appel strong { font-size: 13px; }
}
.rtl .sabar-maison::before { transform: scaleX(-1); }
.rtl .sabar-maison__titre { font-style: normal; font-family: var(--wp--preset--font-family--arabic-display, inherit); font-stretch: 100%; letter-spacing: 0; line-height: 1.25; }
.rtl .sabar-maison--haut .sabar-maison__titre { font-size: 38px; }
.rtl .sabar-maison--large .sabar-maison__titre { font-size: 40px; }
.rtl .sabar-maison__surtitre, .rtl .sabar-maison__service { font-family: inherit; letter-spacing: 0; }

/* ---------- Article réservé aux abonnés ---------- */
.sabar-paywall {
	position: relative;
	margin-block: 1.5em;
	padding: 28px 24px;
	border: 2px solid var(--sabar-encre);
	border-radius: var(--sabar-rayon);
	background: var(--sabar-doux);
	text-align: center;
}
/* Fondu au-dessus : la suite existe, mais elle est réservée. */
.sabar-paywall::before { content: ""; position: absolute; inset-inline: 0; bottom: 100%; height: 90px; background: linear-gradient(to bottom, transparent, var(--sabar-page)); pointer-events: none; }
.sabar-paywall__surtitre { margin: 0 0 8px; }
.sabar-paywall__titre { margin: 0 0 8px; font-size: 1.5em; line-height: 1.2; }
.sabar-paywall p { margin-block: 0 16px; }
.sabar-paywall__connexion { margin: 14px 0 0 !important; font-size: .95em; }

/* ---------- Contenu sponsorisé ---------- */
.sabar-sponsor { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 14px; border-radius: var(--sabar-rayon-petit); background: #FFF6DF; color: #3B3E39; font-size: .92em; }

/* ---------- Contenus intégrés (anciens articles) ---------- */
.sabar-video-integree { display: block; width: 100%; height: auto; border: 0; border-radius: var(--sabar-rayon-petit); }
.sabar-tableau { max-width: 100%; overflow-x: auto; margin-block: 1em; -webkit-overflow-scrolling: touch; }
.sabar-tableau:focus-visible { outline: 3px solid var(--sabar-accent); outline-offset: 2px; }
.sabar-tableau table { min-width: 100%; border-collapse: collapse; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-block: 1em; }
.gallery .gallery-item { margin: 0; }
.gallery img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--sabar-rayon-petit); display: block; }
.gallery .gallery-caption { font-size: .85em; color: var(--sabar-gris); margin-top: 4px; }
.wp-audio-shortcode, .wp-video-shortcode { width: 100%; max-width: 100%; }

/* ---------- Lien « Mon compte » ---------- */
.sabar-lien-compte { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--sabar-pilule); color: inherit; }
.sabar-lien-compte:hover { background: rgba(0, 0, 0, .06); }

/* ---------- Blocs (thèmes autres que Tama) ---------- */
.sabar-bloc { margin-block: 1.5em; }
/* Classe doublée : les blocs gardent leur allure dans le texte d'un article (styles « .entry-content a »…). */
.sabar-bloc.sabar-bloc a { color: inherit; text-decoration: none; border: 0; box-shadow: none; }
.sabar-bloc.sabar-bloc a:hover { color: var(--sabar-accent); }
.sabar-bloc.sabar-bloc :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
.sabar-bloc.sabar-bloc li { margin: 0; padding-inline: 0; }
.sabar-bloc.sabar-bloc li::before, .sabar-bloc.sabar-bloc li::marker { content: none; }
.sabar-bloc.sabar-bloc :is(img, figure) { margin: 0; max-width: 100%; }
.sabar-bloc.sabar-bloc .sabar-bloc__titre { margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--sabar-encre); font-size: 1.15em; line-height: 1.2; }
.sabar-bloc.sabar-bloc .sabar-bloc__date { margin: -6px 0 12px; font-family: var(--sabar-mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--sabar-gris); }
.sabar-bloc.sabar-bloc .sabar-bloc__plus { margin: 12px 0 0; font-weight: 700; font-size: .95em; }
.sabar-bloc.sabar-bloc .sabar-bloc__plus a { color: var(--sabar-accent); }

/* Les plus lus */
.sabar-classement { list-style: none; margin: 0; padding: 0; }
.sabar-bloc.sabar-bloc .sabar-classement li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 10px; align-items: baseline; padding-block: 10px; border-top: 1px solid var(--sabar-trait); font-weight: 600; line-height: 1.3; }
.sabar-bloc.sabar-bloc .sabar-classement li:first-child { border-top: 0; padding-top: 0; }
.sabar-classement__n { font-size: 1.6em; font-weight: 800; font-style: italic; line-height: 1; color: var(--sabar-accent); }

/* Revue de presse */
.sabar-presse__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 14px; }
.sabar-presse figure { margin: 0; }
.sabar-presse img, .sabar-presse__vide { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; border-radius: var(--sabar-rayon-petit); background: var(--sabar-doux); }
.sabar-presse figcaption { margin-top: 6px; font-size: .85em; font-weight: 600; }

/* Vidéos */
.sabar-videos__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.sabar-videos__image { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--sabar-rayon-petit); background: var(--sabar-encre); }
.sabar-videos__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sabar-videos__lecture { position: absolute; inset: 50% auto auto 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: var(--sabar-accent); }
.sabar-videos__lecture::after { content: ""; position: absolute; inset: 15px auto auto 18px; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent var(--sabar-sur-accent); }
.sabar-videos__duree { position: absolute; inset-inline-end: 8px; bottom: 8px; padding: 2px 6px; border-radius: 4px; background: rgba(0, 0, 0, .75); color: #FFFFFF; font-family: var(--sabar-mono); font-size: 11px; }
.sabar-videos__duree--direct { background: var(--sabar-accent); color: var(--sabar-sur-accent); text-transform: uppercase; font-weight: 700; }
.sabar-videos__titre { display: block; margin-top: 8px; font-weight: 700; line-height: 1.3; }

/* À la une */
.sabar-une-carte a { display: block; }
.sabar-une-carte__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--sabar-rayon); }
.sabar-une-carte__texte { display: block; padding-top: 12px; }
.sabar-une-carte__rubrique { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sabar-accent); }
.sabar-une-carte__titre { display: block; font-size: clamp(1.5em, 3vw, 2.2em); font-weight: 800; line-height: 1.1; }
.sabar-une-carte__chapo { display: block; margin-top: 10px; color: var(--sabar-gris); line-height: 1.5; }

/* Lecteur vidéo ajouté en tête des pages vidéo */
.sabar-video-lecteur { margin-block: 0 1.5em; }
.sabar-video-lecteur__cadre { position: relative; overflow: hidden; border-radius: var(--sabar-rayon-petit); background: #000000; }
.sabar-video-lecteur__cadre iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.sabar-video-lecteur__cadre .sabar-bouton { margin: 24px; }
.sabar-video-lecteur__direct { display: inline-block; margin: 0 0 8px; padding: 3px 10px; border-radius: var(--sabar-pilule); background: var(--sabar-accent); color: var(--sabar-sur-accent); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* Publicité ajoutée sous l'en-tête */
.sabar-auto-haut { display: flex; justify-content: center; padding-inline: 16px; margin-block: 16px; }
.sabar-auto-haut { max-width: 100%; }
/* Élément souple : sans min-width 0, la bannière de 970 px déborderait d'une colonne étroite. */
.sabar-auto-haut .sabar-pub { margin: 0; min-width: 0; max-width: 100%; }

/* ---------- Reprises : bandeau source et mention de fin ---------- */
.sabar-source { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; margin-block: 0 1.5em; padding: 14px 18px; border: 1px solid var(--sabar-trait); border-radius: var(--sabar-rayon); background: var(--sabar-fond); line-height: 1.35; }
.sabar-source__logo { flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--sabar-rayon-petit); background: var(--sabar-doux); font-family: var(--sabar-mono); font-size: 10px; font-weight: 600; color: var(--sabar-encre); }
.sabar-source__texte { flex: 1 1 220px; display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; }
.sabar-source__dates { font-family: var(--sabar-mono); font-size: 12px; color: var(--sabar-gris); }
.sabar-source .sabar-source__lien { flex: none; padding: 7px 14px; border: 1px solid var(--sabar-encre); border-radius: var(--sabar-pilule); color: var(--sabar-encre); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.sabar-source .sabar-source__lien:hover { background: var(--sabar-encre); color: var(--sabar-fond); }
.sabar-source-fin { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-block: 1.5em 0; padding-block: 16px; border-block: 1px solid var(--sabar-trait); font-size: 14px; }
.sabar-source-fin a { color: var(--sabar-accent-texte); font-weight: 700; text-decoration: none; }

/* ---------- Applis mobiles (classe « sabar-appli » posée sur <html> dans l'appli) ---------- */
.sabar-appli-seulement { display: none; }
.sabar-appli .sabar-appli-seulement { display: block; }
/* Apple et Google interdisent les achats hors de leur propre paiement dans une appli. */
.sabar-appli [data-achat], .sabar-appli .sabar-applis { display: none !important; }
.sabar-appli-message { position: fixed; inset-inline: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 9999; padding: 14px 16px; border-radius: var(--sabar-rayon, 8px); background: var(--sabar-encre); color: var(--sabar-fond); font-size: 15px; line-height: 1.4; box-shadow: 0 6px 24px rgba(0, 0, 0, .25); transition: opacity .4s; }
.sabar-appli-message.is-out { opacity: 0; }
