/**handles:sce-share-actions,sce-video-player,sce-image-lightbox**/
/*
 * Retour visuel du bouton « copier le lien ».
 *
 * 1.2.149 (JF : « copier le lien fonctionne mais aucun effet ne permet de voir
 * que la copie est faite ») — POURQUOI IL N'Y AVAIT RIEN À VOIR.
 *
 * Le contrôleur posait bien la classe `nd-share__btn--copied` depuis
 * plusieurs versions, et changeait le libellé en « Copié ! ». Mais AUCUNE
 * feuille ne définissait cette classe — ni le plugin, ni les documents
 * (vérifié sur les fiches réelles : zéro occurrence). Et dans le bandeau du
 * bas, le libellé est masqué : le seul retour prévu était donc invisible.
 *
 * C'est exactement le défaut déjà rencontré sur `.nd-cta__button` : une classe
 * canonique posée par le code, sans règle qui la porte. La règle appartient
 * donc au PLUGIN, pas au CSS embarqué de chaque document — sans quoi elle
 * manquerait à toute fiche produite par un gabarit qui ne l'a pas prévue.
 *
 * Servi depuis l'en-tête, ce fichier passe AVANT le CSS embarqué dans le
 * contenu : un gabarit qui voudrait un autre retour garde donc le dernier mot.
 */

.nd-share__btn--copy {
	transition: transform .18s ease, opacity .18s ease;
}

/*
 * L'icône grossit brièvement, puis reste légèrement agrandie le temps de la
 * confirmation. Le contrôleur retire la classe au bout de deux secondes.
 */
.nd-share__btn--copy svg,
.nd-share__btn--copier svg {
	transform-origin: 50% 50%;
	transition: transform .18s ease;
	will-change: transform;
}

.nd-share__btn--copied svg {
	animation: sce-share-copied-pop .3s cubic-bezier(.34, 1.56, .64, 1) forwards;
}

.nd-share__btn--copied {
	/* Léger appui vers le haut : perceptible, sans décaler la ligne. */
	transform: translateY(-1px);
}

@keyframes sce-share-copied-pop {
	0%   { transform: scale(1); }
	45%  { transform: scale(1.3); }
	100% { transform: scale(1.12); }
}

/*
 * Le libellé « Copié ! » n'apparaît que là où un libellé est déjà affiché : on
 * ne fait pas surgir de texte dans un bandeau qui n'en montre pas, cela
 * décalerait les icônes.
 */
.nd-share__btn--copied .nd-share__btn-label {
	font-weight: var(--sce-share-label-weight);
}

/*
 * ACCESSIBILITÉ — un mouvement, même bref, n'est pas souhaitable pour tout le
 * monde. Sans animation, la confirmation reste visible : l'icône garde sa
 * taille agrandie pendant les deux secondes.
 */
@media (prefers-reduced-motion: reduce) {
	.nd-share__btn--copy,
	.nd-share__btn--copy svg,
	.nd-share__btn--copier svg {
		transition: none;
	}
	.nd-share__btn--copied svg {
		animation: none;
		transform: scale(1.12);
	}
	.nd-share__btn--copied {
		transform: none;
	}
}

/* Accessible SCE controls, using the configured palette. */
.nd-hero-btn:focus,
.nd-hero-btn:focus-visible,
.nd-share__btn:focus,
.nd-share__btn:focus-visible {
	background-color: transparent;
}


.nd-hero-btn__stop:focus,
.nd-hero-btn__stop:focus-visible {
	background-color: rgba( 0, 0, 0, .35 );
}

.nd-hero-btn--primary:focus,
.nd-hero-btn--primary:focus-visible {
	background-color: var(--nd-orange, #F59816);
}


.nd-share .nd-share__btn:hover,
.nd-share .nd-share__btn:focus,
.nd-share .nd-share__btn:focus-visible {
	background-color: var(--sce-share-button-rest-bg, var(--nd-bg-2, transparent)) !important;
	background-image: none !important;
	border-color: var(--sce-share-button-rest-border, currentColor) !important;
	color: var(--sce-share-button-rest-color, var(--sce-share-label-color, currentColor)) !important;
}

.nd-share .nd-share__btn:hover .nd-share__btn-label,
.nd-share .nd-share__btn:focus .nd-share__btn-label,
.nd-share .nd-share__btn:focus-visible .nd-share__btn-label {
	color: inherit !important;
}


.nd-share .nd-share__btn svg,
.nd-share .nd-share__btn:hover svg,
.nd-share .nd-share__btn:focus svg,
.nd-share .nd-share__btn:focus-visible svg {
	color: var(--sce-share-button-rest-color, var(--sce-share-label-color, var(--sce-body-color, var(--nd-text, #1E3A8A)))) !important;
	stroke: var(--sce-share-button-rest-color, var(--sce-share-label-color, var(--sce-body-color, var(--nd-text, #1E3A8A)))) !important;
}


.nd-faq .nd-faq__btn:hover,
.nd-faq .nd-faq__btn:focus,
.nd-faq .nd-faq__btn:focus-visible {
	background-color: transparent !important;
	background-image: none !important;
	color: var(--nd-accent, var(--principal, #F59816)) !important;
	box-shadow: none !important;
}


.nd-hero-btn:focus-visible,
.nd-share__btn:focus-visible,
.nd-faq__btn:focus-visible,
.nd-hero-btn__stop:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.sce-video-modal[hidden] { display: none !important; }
.sce-video-modal {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center;
  padding: clamp(14px, 3vw, 42px); box-sizing: border-box;
}
.sce-video-modal__backdrop { position: absolute; inset: 0; background: var(--sce-video-modal-backdrop, rgba(0, 0, 0, .82)); cursor: pointer; }
.sce-video-modal__dialog {
  position: relative; z-index: 1; width: min(1180px, 94vw); max-height: 92vh;
  padding: 10px; border-radius: 14px; background: var(--sce-video-modal-bg, #000); box-shadow: var(--sce-video-modal-shadow, 0 24px 70px rgba(0, 0, 0, .42));
}
.sce-video-modal__frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 8px; background: var(--sce-video-letterbox, #000); }
.sce-video-modal__close {
  appearance: none !important; -webkit-appearance: none !important;
  position: absolute !important; top: -16px !important; right: -16px !important; z-index: 2 !important;
  display: grid !important; place-items: center !important;
  width: 42px !important; min-width: 42px !important; max-width: 42px !important;
  height: 42px !important; min-height: 42px !important; max-height: 42px !important;
  margin: 0 !important; padding: 0 !important; border: 2px solid var(--sce-video-modal-close-color, #fff) !important; border-radius: 50% !important;
  background: var(--sce-video-modal-close-bg, #17202a) !important; background-image: none !important; color: var(--sce-video-modal-close-color, #fff) !important;
  text-decoration: none !important; line-height: 0 !important; cursor: pointer;
  box-shadow: var(--sce-video-modal-close-shadow, 0 4px 18px rgba(0, 0, 0, .35)) !important;
}
.sce-video-modal__close::before, .sce-video-modal__close::after { content: none !important; display: none !important; }
.sce-video-modal__close svg { display: block !important; width: 22px !important; height: 22px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2.25 !important; stroke-linecap: round !important; }
.sce-video-modal__close svg path { fill: none !important; stroke: currentColor !important; }
.sce-video-modal__close:hover, .sce-video-modal__close:focus-visible { background: var(--sce-video-modal-close-hover-bg, #263746) !important; color: var(--sce-video-modal-close-color, #fff) !important; }
.sce-video-modal__close:focus-visible { outline: 3px solid var(--sce-video-modal-close-color, #fff) !important; outline-offset: 3px !important; }
body.sce-video-modal-open { overflow: hidden; }
.sce-video-watch-link{margin:14px 0 2px;text-align:center}.sce-video-watch-link__anchor{display:inline-flex;align-items:center;justify-content:center;padding:.65em 1em;border:1px solid currentColor;border-radius:999px;color:inherit;font-weight:700;text-decoration:none}.sce-video-watch-link__anchor:hover,.sce-video-watch-link__anchor:focus-visible{text-decoration:underline;text-underline-offset:.2em}

/* Fit the same player to desktop, tablet and narrow portrait screens. */
.sce-video-modal .sce-video-modal__dialog{box-sizing:border-box;width:min(1180px,90vw,calc((90vh - 40px) * 16 / 9));max-height:90vh}
.sce-video-modal .sce-video-modal__frame{aspect-ratio:16/9}
.sce-video-modal.is-portrait .sce-video-modal__dialog{width:min(90vw,calc((90vh - 40px) * 9 / 16 + 20px))}
.sce-video-modal.is-portrait .sce-video-modal__frame{aspect-ratio:9/16}

/* Agrandissement opt-in des images de contenu SCE. */
img.sce-image-enlargeable {
	cursor: zoom-in;
}
img.sce-image-enlargeable:focus-visible {
	outline: 3px solid var(--nd-accent, var(--principal, #2271b1));
	outline-offset: 3px;
}
.sce-image-lightbox-open {
	overflow: hidden;
}
.sce-image-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	padding: clamp(16px, 3vw, 40px);
	background: rgba(8, 13, 20, .88);
	backdrop-filter: blur(4px);
}
.sce-image-lightbox__panel {
	position: relative;
	display: grid;
	place-items: center;
	max-width: 94vw;
	max-height: 94vh;
}
.sce-image-lightbox__image {
	display: block;
	width: auto;
	height: auto;
	max-width: 94vw;
	max-height: 86vh;
	margin: 0;
	object-fit: contain;
	background: #fff;
	box-shadow: 0 18px 55px rgba(0, 0, 0, .42);
}
.sce-image-lightbox__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 50%;
	background: rgba(0, 0, 0, .58);
	color: #fff;
	font: 32px/1 Arial, sans-serif;
	cursor: pointer;
	box-shadow: none;
}
.sce-image-lightbox__close:hover,
.sce-image-lightbox__close:focus,
.sce-image-lightbox__close:focus-visible {
	background: rgba(0, 0, 0, .82) !important;
	color: #fff !important;
	outline: 2px solid #fff;
	outline-offset: 2px;
}
.sce-image-lightbox__caption {
	max-width: min(82ch, 90vw);
	margin: 10px 0 0;
	color: #fff;
	font-size: .9rem;
	line-height: 1.45;
	text-align: center;
}
@media (max-width: 600px) {
	.sce-image-lightbox { padding: 12px; }
	.sce-image-lightbox__image { max-width: 96vw; max-height: 82vh; }
	.sce-image-lightbox__close { top: 6px; right: 6px; width: 38px; height: 38px; }
}

/* Viewer natif : au-dessus de toute modale parente, sans changer le rendu partagé. */
dialog.sce-image-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; border: 0; color: inherit; }
dialog.sce-image-lightbox::backdrop { background: rgba(8, 13, 20, .88); }