1,9..144,400..700&family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap");

.tribe-events-single {
    /* Palette */
    --fsu-paper:       #f6f1e8;   /* fond papier chaud */
    --fsu-card:        #fffdf8;   /* fond des cartes */
    --fsu-ink:         #1c1813;   /* texte principal */
    --fsu-ink-soft:    #7a7065;   /* texte secondaire */
    --fsu-line:        #e3d9c8;   /* filets */
    --fsu-accent:      #d8112b;   /* rouge syndical */
    --fsu-accent-dark: #a30c20;
    --fsu-amber-bg:    #f6e7c8;   /* bandeau « évènement passé » */
    --fsu-amber-ink:   #7a5410;

    /* Typographies */
    --fsu-font-display: "Fraunces", Georgia, serif;
    --fsu-font-body:    "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;

    /* Divers */
    --fsu-radius: 6px;
    --fsu-shadow: 0 1px 2px rgba(28, 24, 19, .05), 0 12px 32px -16px rgba(28, 24, 19, .18);
}

/* ---------------------------------------------------------------------
   1. Conteneur de page — bloc « papier » avec liseré rouge
   --------------------------------------------------------------------- */

#tribe-events-content.tribe-events-single {
    position: relative;
    max-width: 60.625rem;            /* 970px */
    margin-inline: auto;
    padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 2.5rem) clamp(3rem, 8vw, 5rem);
    background-color: var(--fsu-paper);
    background-image: radial-gradient(120% 60% at 50% -10%, #fdfaf3 0%, transparent 60%);
    border-top: 5px solid var(--fsu-accent);
    color: var(--fsu-ink);
    font-family: var(--fsu-font-body);
    font-size: 1.0625rem;
    font-weight: 500;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

.tribe-events-single ::selection {
    background: var(--fsu-accent);
    color: #fff;
}

.tribe-events-single a {
    color: var(--fsu-accent);
    text-decoration: none;
    transition: color var(--fsu-transition);
}

.tribe-events-single a:hover {
    color: var(--fsu-accent-dark);
    text-decoration: none;
}

.tribe-events-single a:focus-visible,
.tribe-events-single button:focus-visible {
    outline: 2px solid var(--fsu-accent);
    outline-offset: 3px;
    border-radius: 2px;
}

.tribe-events-single ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ---------------------------------------------------------------------
   2. Fil d'Ariane retour
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-back {
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    animation: fsu-rise .6s .05s both;
}

.tribe-events-single .tribe-events-back a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fsu-ink-soft);
}

.tribe-events-single .tribe-events-back a:hover {
    color: var(--fsu-accent);
}

/* ---------------------------------------------------------------------
   3. Bandeau « évènement passé »
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-notices {
    background: none;
    border: 0;
    margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
    padding: 0;
    animation: fsu-rise .6s .1s both;
}

.tribe-events-single .tribe-events-notices ul li {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: var(--fsu-amber-bg);
    color: var(--fsu-amber-ink);
    border: 1px solid #e8d3a4;
    border-radius: 99px;
    padding: .45rem 1.1rem .45rem .9rem;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.tribe-events-single .tribe-events-notices ul li::before {
    content: "◷";
    font-size: 1rem;
    line-height: 1;
}

/* ---------------------------------------------------------------------
   4. Titre + date — le moment « affiche »
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-single-event-title {
    font-family: var(--fsu-font-display);
    font-size: clamp(2.375rem, 6.5vw, 4.25rem);
    font-weight: 560;
    font-variation-settings: "opsz" 110;
    line-height: 1.06;
    letter-spacing: -0.015em;
    text-wrap: balance;
    max-width: 18ch;
    color: var(--fsu-ink);
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    padding: 0;
    animation: fsu-rise .7s .15s both;
}

.tribe-events-single .tribe-events-schedule {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 clamp(2.25rem, 5vw, 3.5rem);
    animation: fsu-rise .7s .22s both;
}

/* Filet rouge avant la date */
.tribe-events-single .tribe-events-schedule::before {
    content: "";
    width: 3.5rem;
    height: 3px;
    background: var(--fsu-accent);
    flex: none;
}

.tribe-events-single .tribe-events-schedule h2,
.tribe-events-single .tribe-event-date-start,
.tribe-events-single .tribe-event-date-end {
    font-family: var(--fsu-font-display);
    font-style: italic;
    font-size: clamp(1.375rem, 3vw, 1.75rem);
    font-weight: 500;
    color: var(--fsu-accent);
}

/* ---------------------------------------------------------------------
   5. Navigations vides du plugin → repliées
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-sub-nav li:empty {
    display: none;
}

.tribe-events-single #tribe-events-header,
.tribe-events-single #tribe-events-footer {
    margin: 0;
}

/* Navigation précédent / suivant (quand elle existe) */
.tribe-events-single .tribe-events-sub-nav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.tribe-events-single .tribe-events-sub-nav a {
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--fsu-ink-soft);
}

.tribe-events-single .tribe-events-sub-nav a:hover {
    color: var(--fsu-accent);
}

/* ---------------------------------------------------------------------
   6. Image à la une — façon affiche encadrée
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-event-image {
    margin: 0 0 clamp(2rem, 5vw, 3.25rem);
    text-align: center;
    animation: fsu-rise .8s .3s both;
}

.tribe-events-single .tribe-events-event-image img {
    width: 100%;
    object-fit: cover;
    object-position: center 30%;
    border-radius: var(--fsu-radius);
    border: 1px solid var(--fsu-line);
    box-shadow: var(--fsu-shadow);
}

/* ---------------------------------------------------------------------
   7. Description de l'évènement
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-single-event-description {
    font-size: 1.0625rem;
    line-height: 1.75;
    max-width: 44rem;
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.tribe-events-single .tribe-events-single-event-description p {
    margin: 0 0 1.1em;
}

/* Colonnes Divi vides : aucun espace fantôme */
.tribe-events-single .et_pb_column_empty {
    display: none;
}

/* ---------------------------------------------------------------------
   8. « Ajouter au calendrier » — bouton + menu déroulant
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-c-subscribe-dropdown__container {
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
    animation: fsu-rise .8s .38s both;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown {
    position: relative;
    display: inline-block;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    background: var(--fsu-ink);
    color: var(--fsu-paper);
    border: 0;
    border-radius: 99px;
    padding: .8rem 1.5rem;
    cursor: pointer;
    transition: background var(--fsu-transition), transform var(--fsu-transition), box-shadow var(--fsu-transition);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--fsu-accent);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -10px rgba(216, 17, 43, .55);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button-text {
    background: none;
    border: 0;
    color: inherit;
    font-family: var(--fsu-font-body);
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    padding: 0;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button svg {
    width: 1.15rem;
    height: auto;
    fill: currentColor;
    flex: none;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button svg path[stroke-width] {
    }

.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon {
    width: .65rem !important;
    transition: transform var(--fsu-transition);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown--active .tribe-events-c-subscribe-dropdown__button-icon {
    transform: rotate(180deg);
}

/* Menu déroulant */
.tribe-events-single .tribe-events-c-subscribe-dropdown__content {
    position: absolute;
    top: calc(100% + .6rem);
    left: 0;
    min-width: 14rem;
    background: var(--fsu-card);
    border: 1px solid var(--fsu-line);
    border-radius: var(--fsu-radius);
    box-shadow: 0 16px 40px -12px rgba(28, 24, 19, .25);
    padding: .4rem;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--fsu-transition), transform var(--fsu-transition), visibility var(--fsu-transition);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown--active .tribe-events-c-subscribe-dropdown__content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__list-item-link {
    display: block;
    padding: .6rem .9rem;
    border-radius: 4px;
    color: var(--fsu-ink);
    font-size: .9375rem;
    font-weight: 600;
    transition: background var(--fsu-transition), color var(--fsu-transition);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__list-item-link:hover {
    background: var(--fsu-paper);
    color: var(--fsu-accent);
}

/* ---------------------------------------------------------------------
   9. Sections méta — cartes Détails / Organisateur / Lieu
   --------------------------------------------------------------------- */

.tribe-events-single .tribe-events-event-meta {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    background: none;
    border: 0;
    margin: 0 0 clamp(1.5rem, 3vw, 2rem);
    font-size: inherit;
}

.tribe-events-single .tribe-events-event-meta.primary {
    grid-template-columns: repeat(2, 1fr);
    animation: fsu-rise .8s .45s both;
}

.tribe-events-single .tribe-events-event-meta.secondary {
    grid-template-columns: minmax(16rem, 2fr) 3fr;
    align-items: stretch;
    animation: fsu-rise .8s .52s both;
}

.tribe-events-single .tribe-events-meta-group {
    float: none;            /* neutralise les floats du plugin */
    width: auto;
    padding: clamp(1.5rem, 3vw, 2rem);
    background: var(--fsu-card);
    border: 1px solid var(--fsu-line);
    border-radius: var(--fsu-radius);
    box-shadow: var(--fsu-shadow);
}

/* Titres de section : petites capitales + carré rouge */
.tribe-events-single .tribe-events-single-section-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--fsu-font-body);
    font-size: .8125rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--fsu-ink-soft);
    margin: 0 0 1.15rem;
    padding: 0 0 .85rem;
    border-bottom: 1px solid var(--fsu-line);
}

.tribe-events-single .tribe-events-single-section-title::before {
    content: "";width:.5rem;height:.5rem;background:var(--fsu-accent);flex:none}.tribe-events-single .tribe-events-meta-list{display:grid;gap:.85rem}.tribe-events-single .tribe-events-meta-item{font-size:1rem;margin:0}.tribe-events-single .tribe-events-meta-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fsu-ink-soft);margin-bottom:.15rem}.tribe-events-single .tribe-events-meta-value,.tribe-events-single .tribe-events-abbr{font-family:var(--fsu-font-display);font-size:1.25rem;font-weight:560;text-decoration:none;border:0;cursor:default}.tribe-events-single .tribe-organizer,.tribe-events-single .tribe-venue{font-family:var(--fsu-font-display);font-size:1.25rem;font-weight:560}.tribe-events-single .tribe-organizer-email{font-family:var(--fsu-font-body);font-size:1rem;font-weight:600;color:var(--fsu-accent);word-break:break-all}.tribe-events-single .tribe-events-address{font-style:normal}.tribe-events-single .tribe-address{display:block;color:var(--fsu-ink-soft);margin-bottom:.9rem}.tribe-events-single .tribe-events-gmap{display:inline-flex;align-items:center;font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fsu-accent);border-bottom:2px solid currentColor;padding-bottom:.1rem;transition:color var(--fsu-transition)}.tribe-events-single .tribe-events-gmap:hover{color:var(--fsu-accent-dark)}.tribe-events-single .tribe-events-venue-map{float:none;width:auto;margin:0;border:1px solid var(--fsu-line);border-radius:var(--fsu-radius);overflow:hidden;box-shadow:var(--fsu-shadow);min-height:20rem}.tribe-events-single .tribe-events-venue-map iframe{width:100%;height:100%;min-height:20rem;display:block;filter:saturate(.85) contrast(1.02)}@keyframes fsu-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tribe-events-single,.tribe-events-single *,.tribe-events-single *::before,.tribe-events-single *::after{animation:none!important;transition:none!important}}@media (max-width:47.5rem){.tribe-events-single .tribe-events-event-meta.primary,.tribe-events-single .tribe-events-event-meta.secondary{grid-template-columns:1fr}.tribe-events-single .tribe-events-event-image img{max-height:60vh}.tribe-events-single .tribe-events-schedule::before{width:2.25rem}}@media print{.tribe-events-single .tribe-events-back,.tribe-events-single .tribe-events-c-subscribe-dropdown__container,.tribe-events-single .tribe-events-venue-map{display:none}#tribe-events-content.tribe-events-single{background:#fff;border-top:0}.tribe-events-single .tribe-events-meta-group{box-shadow:none}}.et-db #et-boc .et-l .et-db #et-boc .et-l.et-l--post .et_builder_inner_content{z-index:auto}