/* Cards bordure fine — effet flair GSAP (variables héritées de .hermes-flair-cards) */

.hermes-front-sections .card-title,
.post-content .card-title,
.hermes-flair-cards .card-title,
.card .card-title,
.content-showcase-card-title {
    font-family: 'Bubblegum Sans', cursive;
}

/* Titres de page (hero display-*) — Bubblegum Sans, sans uppercase */
.hermes-front-sections .post-content :is(h1, h2).display-1,
.hermes-front-sections .post-content :is(h1, h2).display-2,
.hermes-front-sections .post-content :is(h1, h2).display-3,
.hermes-front-sections .post-content :is(h1, h2).display-4,
.hermes-front-sections .post-content :is(h1, h2).display-5,
.hermes-front-sections .post-content :is(h1, h2).display-6 {
    font-family: 'Bubblegum Sans', cursive !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hermes-front-sections .post-content .hermes-card-flair,
.post-content .hermes-card-flair,
[data-hermes-card-flair],
.hermes-flair-cards .card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--card-bg) !important;
    border-width: var(--card-border-width, 1px) !important;
    border-style: solid !important;
    border-color: var(--card-border) !important;
    border-radius: var(--card-radius, 1rem) !important;
    box-shadow: none !important;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .hermes-front-sections .post-content .hermes-card-flair:hover,
    .post-content .hermes-card-flair:hover,
    [data-hermes-card-flair]:hover,
    .hermes-flair-cards .card:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07) !important;
    }
}

.hermes-card-flair > .card-body,
[data-hermes-card-flair] > .card-body,
.hermes-card-flair > .card-img-top,
[data-hermes-card-flair] > .card-img-top,
.hermes-card-flair > .card-img-bottom,
[data-hermes-card-flair] > .card-img-bottom,
.card__content {
    position: relative;
    z-index: 2;
    background-color: transparent !important;
}

.card__flair {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    will-change: transform;
}

.card__flair::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 220%;
    aspect-ratio: 1 / 1;
    background-color: var(--card-flair);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

@media (prefers-reduced-motion: reduce) {
    .hermes-front-sections .post-content .hermes-card-flair,
    .post-content .hermes-card-flair,
    [data-hermes-card-flair],
    .hermes-flair-cards .card {
        transition: none;
    }

    .card__flair {
        display: none;
    }
}
