/* Composant partagé, sans sélecteur de page. Typographie héritée de Kadence. */
.ib-flip-card { display: flex; flex-direction: column; min-width: 0; width: 100%; height: 100%; perspective: 1200px; }
.ib-flip-card__stage { flex: 1; }
.ib-flip-card__face {
    position: relative; display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 18px; min-width: 0; min-height: var(--ib-flip-min-height, 320px);
    padding: 28px 22px; border: 1px solid var(--brand-gold); background: var(--global-palette9);
    text-align: center; overflow-wrap: anywhere; box-sizing: border-box;
}
.ib-flip-card__front-content { position: relative; width: 100%; }
.ib-flip-card__title { margin: 0; }
.ib-flip-card__icon { display: block; margin-bottom: 18px; color: var(--brand-gold); }
.ib-flip-card__icon svg { display: inline-block; width: 42px; height: 42px; }
.ib-flip-card__description { width: 100%; }
.ib-flip-card__description p { margin: 0 0 12px; }
.ib-flip-card__description p:last-child { margin-bottom: 0; }
.ib-flip-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ib-flip-card--image .ib-flip-card__front { isolation: isolate; }
.ib-flip-card--image .ib-flip-card__front::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent, rgb(0 0 0 / 70%)); }
.ib-flip-card--image .ib-flip-card__front-content { z-index: 1; align-self: stretch; margin-top: auto; }
.ib-flip-card--image .ib-flip-card__front .ib-flip-card__title { color: var(--global-palette9); }
.ib-flip-card__back { background: var(--global-palette8); }
.ib-flip-card__link { max-width: 100%; }
.ib-flip-card__toggle { display: block; width: 100%; margin: 8px 0 0; }
.ib-flip-card__toggle[hidden] { display: none; }
/* Sans bouton visible : contrôle natif conservé pour clavier et lecteurs d'écran. */
.ib-flip-card--compact { position: relative; }
.ib-flip-card--compact.is-enhanced .ib-flip-card__stage { cursor: pointer; }
.ib-flip-card--compact .ib-flip-card__toggle {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.ib-flip-card--compact:has(.ib-flip-card__toggle:focus-visible) {
    outline: 3px solid var(--text-strong); outline-offset: 4px;
}
/* Sans JS : les deux faces restent lisibles, et le lien reste utilisable. */
.ib-flip-card:not(.is-enhanced) .ib-flip-card__back { margin-top: 12px; }
.ib-flip-card.is-enhanced .ib-flip-card__stage { display: grid; transform-style: preserve-3d; }
.ib-flip-card.is-enhanced .ib-flip-card__face { grid-area: 1 / 1; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ib-flip-card.is-enhanced.is-ready .ib-flip-card__face { transition: transform 500ms ease; }
.ib-flip-card.is-enhanced .ib-flip-card__back { transform: rotateY(180deg); pointer-events: none; }
.ib-flip-card.is-flipped .ib-flip-card__front { transform: rotateY(-180deg); pointer-events: none; }
.ib-flip-card.is-flipped .ib-flip-card__back { transform: rotateY(0); pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .ib-flip-card.is-enhanced.is-ready .ib-flip-card__face { transition: none; } }
