/* Vidéos courtes (reels verticaux, format portrait 9:16) */
.isae-reel { margin: 0; }
.isae-reel__frame { position: relative; overflow: hidden; aspect-ratio: 9 / 16; border-radius: var(--isae-radius, 22px); background: var(--isae-navy, #171643); box-shadow: var(--isae-shadow-lg, 0 28px 60px -24px rgba(23, 22, 67, .28)); }
/* La vidéo reste entière, en portrait, dans la page comme en plein écran. */
.isae-reel__video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.isae-reel__video:fullscreen { object-fit: contain; width: 100%; height: 100%; background: #000; }
.isae-reel__video:-webkit-full-screen { object-fit: contain; width: 100%; height: 100%; background: #000; }
.isae-reel__caption { display: grid; gap: 4px; padding: 14px 4px 0; }
.isae-reel__caption strong { font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--isae-navy, #171643); }
.isae-reel__caption span { font-size: 15px; line-height: 1.5; color: var(--isae-text-2, #4a4a6a); }

/* Une vidéo à côté d'un court texte */
.isae-video-feature { padding: clamp(48px, 7vw, 96px) 0; background: var(--isae-white, #fff); }
.isae-video-feature__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: clamp(28px, 6vw, 80px); align-items: center; }
.isae-video-feature__text .isae-title { margin: 0 0 16px; }
.isae-video-feature__lead { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.65; color: var(--isae-text-2, #4a4a6a); }
.isae-video-feature__media { width: 100%; max-width: 340px; justify-self: end; }
@media (max-width: 860px) {
	.isae-video-feature__grid { grid-template-columns: 1fr; text-align: center; }
	.isae-video-feature__lead { margin: 0 auto; }
	.isae-video-feature__media { justify-self: center; max-width: 300px; }
}

/* Les trois vidéos côte à côte */
.isae-videos__head { margin: 0 auto 36px; text-align: center; }
.isae-videos__head .isae-title { margin: 0; }
.isae-videos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 340px)); justify-content: center; gap: clamp(16px, 2.5vw, 32px); }
@media (max-width: 860px) {
	.isae-videos__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(72%, 300px); justify-content: start; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 4px 12px; -webkit-overflow-scrolling: touch; }
	.isae-reel { scroll-snap-align: center; }
}

/* Masqué pour les visiteurs tant que les vidéos ne sont pas dans la médiathèque */
.wpb_row:has(.isae-videos-empty) { display: none !important; }

/* Réseaux sociaux du pied de page */
.isae-footer .isae-footer__follow { margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); max-width: 300px; }
.isae-footer .isae-footer__follow-label { margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.isae-footer .isae-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.isae-footer .isae-footer__social li { margin: 0 !important; padding: 0; }
.isae-footer .isae-footer__social a,
#footer-outer .isae-footer .isae-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .28); background: transparent; color: #fff !important; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.isae-footer .isae-footer__social a:hover,
.isae-footer .isae-footer__social a:focus-visible,
#footer-outer .isae-footer .isae-footer__social a:hover,
#footer-outer .isae-footer .isae-footer__social a:focus-visible { background: var(--isae-pink, #ff84ab); border-color: var(--isae-pink, #ff84ab); color: var(--isae-navy, #171643) !important; transform: translateY(-2px); }
.isae-footer .isae-footer__social svg { display: block; width: 16px; height: 16px; }
.isae-footer .isae-footer__social svg * { transition: fill .2s ease, stroke .2s ease; }
@media (max-width: 680px) { .isae-footer .isae-footer__follow { max-width: none; } }
