/* Summary */
/* 01 — Fonts */
/* 02 — Variables */
/* 03 — General */
/* 04 — Global Styles */
/* 05 — Gadgets */
/* 06 — Footer */

/*=================================================================
                            01 — Fonts
==================================================================*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');


/*=================================================================
                            02 — Variables
==================================================================*/
:root {
    /* Font families */
    --lumx-custom-typography-font-family: "DM Sans", sans-serif;
    --font-family-accent: "Playfair Display", serif;

    /* Typography */
    --font-size-h1: 32px;
    --font-size-h2: 22px;
    --font-size-h3: 18px;
    --font-size-widget-title: 22px;
    --font-size-subtitle: 20px;
    --font-size-tagline: 15px;
    --font-size-html-button: 14px;
    --font-size-button: 12px;

    /* Font weights */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Colors */
    --color-white: #ffffff;
    --color-black: #000000;
    --color-primary: #6F0924;
    --color-secondary: #F5F5F5;
    --color-accent-purple: #DBBCBD;
    --color-bg-page: #fff;
    --color-white-10: rgba(255, 255, 255, 0.1);
    --color-white-30: rgba(255, 255, 255, 0.3);
    --color-white-50: rgba(255, 255, 255, 0.5);
    --color-white-60: rgba(255, 255, 255, 0.6);
    --color-white-80: rgba(255, 255, 255, 0.8);
    --color-white-100: rgba(255, 255, 255, 1);

    /* Spacing */
    --space-4: 4px;
    --space-8: 8px;
    --space-12: 12px;
    --space-16: 16px;
    --space-20: 20px;
    --space-24: 24px;
    --space-32: 32px;
    --space-36: 36px;
    --space-48: 48px;
    
    /* Effects */
    --transition-fast: 0.2s ease;
    --transition-medium: 0.25s ease;
    --transition-slow: 0.3s ease;
    --transition-rotate: 0.5s ease;
    --transition-expand: 0.4s ease-in-out;
    --transition-bounce: 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);

    /* Logo Height */
    --lumx-app-header-logo-height: 42px !important;

    /* Lumapps Titles Sizes */
    --lumx-typography-custom-title3-font-size: 20px !important;
}


/*=================================================================
                            03 — General
==================================================================*/
/* ========== General Styles ========== */
body,
body.theme-lumapps,
body.front-office {
        font-family: var(--lumx-custom-typography-font-family); 
        background-color: var(--color-bg-page);
}

/* ========== Widget Titles ========== */
.widget-header__title {
	font-family: var(--font-family-accent) !important;
    font-size: var(--font-size-widget-title) !important;
    font-weight: var(--font-weight-medium) !important;
    overflow: unset;
}
.widget-header__wrapper {
    line-height: 1.4 !important;
}

/* ========== Widget Footers ========== */
.widget-footer__label {
    text-transform: uppercase; 
}

/* ========== Neutralize the Froala editor in custom widgets ========== */
.widget-custom-libre img.fr-dib,
.widget-custom-libre img.fr-fil {
    margin: 0 !important;
    display: block !important;
}

/* ========== Hide Create Button ========== */
.header-top__contribution {
    display: none !important;
}

/* ========== Separators on Content Lists Dark Mode ========== */
.lumx-divider--theme-dark {
    background-color: #ffffff !important;
}

/* ========== Applications Bubbles ========== */
.directory-entry-block--horizontal .directory-entry-block__letter {
    background-color: #000000 !important;
}

/* ==================== User List  ==================== */
.widget-user .lumx-user-block__name .lumx-text {
    font-weight: var(--font-weight-medium);
}

/* ==================== Shared Content List Titles + Filter Tags ==================== */
.widget-content-list .block-page-preview__title .lumx-link__content {
    font-size: 20px;
    font-weight: var(--font-weight-medium);
    line-height: normal;
}
/* Slideshow Override */
.widget-content-list.widget--shared-slideshow .block-page-preview__title .lumx-link__content {
    font-weight: var(--font-weight-bold);
}
.widget-content-list .block-tab-filtered-container .lumx-tabs__link .lumx-text {
    font-size: 14px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
}

/* ==================== Excerpts on content list Widget Transparent Fonce  ==================== */
.widget--shared-widget-transparent-fonce .block-page-preview__excerpt {
    font-size: 16px !important;
}

/* ==================== Vertical Separator IRP / Syndicats ==================== */
.component-cell--syndicats {
    position: relative;
}
.component-cell--syndicats::before {
    content: "";
    position: absolute;
    left: 0;
    top: 24px;
    bottom: 24px;
    width: 1px;
    background-color: var(--color-black);
}

/* ==================== IRP / Syndicats Logo ==================== */
.syndicat-logo {
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/*=================================================================
                        04 — Global Styles
==================================================================*/
/* ========== Titre page ========== */
.widget--shared-titre-page .block-title,
.widget--shared-titre-page .widget-title__title {
  	font-family: var(--font-family-accent) !important;
  	font-size: var(--font-size-h1) !important;
    font-weight: var(--font-weight-medium) !important;
    color: var(--color-black) !important;
}

/* ========== Titre section ========== */
.widget--shared-titre-section .block-html,
.widget--shared-titre-section-border-bottom .block-html,
.widget--shared-titre-section-fonce .block-html--dark,
.widget--shared-titre-section-fonce-border-bottom .block-html--dark,
.widget--shared-titre-section .widget-title__title,
.widget--shared-titre-section-border-bottom .widget-title__title,
.widget--shared-titre-section-fonce .widget-title__title,
.widget--shared-titre-section-fonce-border-bottom .widget-title__title,
.widget--shared-titre-section  .widget-html__content p span,
.widget--shared-titre-section-fonce .widget-html__content p span,
.widget--shared-titre-section  .widget-html__content p,
.widget--shared-titre-section-fonce .widget-html__content p,
.widget--shared-titre-section-border-bottom .widget-html__content p,
.widget--shared-titre-section-border-bottom .widget-html__content p span {
  	font-size: var(--font-size-h2) !important;
    font-weight: var(--font-weight-medium) !important;
    color: var(--color-black) !important;
  	font-family: var(--font-family-accent) !important;
}
.widget--shared-titre-section-fonce .widget-html__content p span,
.widget--shared-titre-section-fonce .widget-html__content p,
.widget--shared-titre-section-fonce .block-html--dark {
    color: #ffffff !important;
}

/* ========== Widget FAQ ========== */
.widget--shared-widget-faq .widget-header__icon{
    transform: rotate(90deg);
}

/* ==================== Button Home ==================== */
.widget--shared-button-home .lumx-generic-entity-block {
    display: flex;
    align-items: flex-start;
    gap: var(--space-12);
}
.widget--shared-button-home .lumx-generic-entity-block__figure {
    flex-shrink: 0;
}
.widget--shared-button-home .thumbnail-with-icon {
    width: 40px;
    height: 40px;
    aspect-ratio: 1/1;
}
.widget--shared-button-home .thumbnail-with-icon--m {
    min-width: 40px;
}
.widget--shared-button-home .lumx-generic-entity-block__content,
.widget--shared-button-home .lumx-flex-box--fill-space {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    flex: 1 1 auto !important;
    min-width: 0;
}
.widget--shared-button-home .lumx-flex-box--orientation-horizontal {
    justify-content: flex-start !important;
    gap: var(--space-16) !important;
    padding: var(--space-4) 0;
}
.widget--shared-button-home p,
.widget--shared-button-home h2 {
    margin: 0;
}
.widget--shared-button-home .lumx-link__content {
    color: var(--color-primary);
    font-size: var(--font-size-subtitle);
    font-weight: var(--font-weight-medium);
    text-align: left;
    line-height: normal;
}
.widget--shared-button-home .lumx-typography-body1 {
    color: var(--color-black);
    font-size: var(--font-size-html-button);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
}
/* Remove ALL underlines */
.widget--shared-button-home .lumx-link,
.widget--shared-button-home .lumx-link:hover,
.widget--shared-button-home .lumx-link *,
.widget--shared-button-home .lumx-link:hover *,
.widget--shared-button-home .lumx-typography-body1,
.widget--shared-button-home .lumx-typography-body1:hover {
    text-decoration: none !important;
}
/* Underline ONLY title on hover */
.widget--shared-button-home .lumx-link:hover .lumx-link__content {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* ============ Widget Liens ============= */
.widget--shared-widget-catalogue-grille-transparent .lumx-link__content,
.widget--shared-widget-catalogue-liste-grey .lumx-link__content {
    font-size: var(--font-size-html-button) !important;
    font-weight: var(--font-weight-regular) !important;
}
.widget--shared-widget-catalogue-grille-transparent .lumx-thumbnail__background,
.widget--shared-widget-catalogue-liste-grey .lumx-thumbnail__background {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-primary) !important;
    border-radius: 50%;
}
.widget--shared-widget-catalogue-grille-transparent .lumx-thumbnail__background img,
.widget--shared-widget-catalogue-liste-grey .lumx-thumbnail__background img {
    max-width: 24px !important;
    max-height: 24px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}
.widget--shared-widget-catalogue-grille-transparent .directory-entry-block--vertical .directory-entry-block__image,
.widget--shared-widget-catalogue-liste-grey .directory-entry-block--horizontal .directory-entry-block__image {
    width: 56px;
    height: 56px;
    border-radius: 50%;
}
.widget--shared-widget-catalogue-grille-transparent .directory-entry-block__tags {
    display: none;
}

/* ============ Widget Content List Vertical Grey ============= */
.widget--shared-widget-contentlist-vertical-grey {
    background-color: var(--color-primary)!important;
}
.widget--shared-widget-contentlist-vertical-grey .block-page-preview--theme-light .block-page-preview__link {
    color:white;
}
.widget--shared-widget-contentlist-vertical-grey .block-page-preview__title .lumx-link__content,
.widget--shared-widget-contentlist-vertical-grey .content-block-title a {
    font-size: 18px;
    font-weight: var(--font-weight-medium);
}
.widget--shared-widget-contentlist-vertical-grey .content-block--default-style {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
}
.widget--shared-widget-contentlist-vertical-grey .block-page-preview__link {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    transition: transform var(--transition-slow), color var(--transition-slow);
}
.widget--shared-widget-contentlist-vertical-grey .block-page-preview__link::before {
    content: "";
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background:
        center / contain no-repeat
        url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Calque_1%22%20data-name%3D%22Calque%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cdefs%3E%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M7.87%2C15.2l4.2-4.2-4.2-4.21%2C1.29-1.29%2C5.5%2C5.5-5.5%2C5.5-1.29-1.3Z%22%2F%3E%3C%2Fsvg%3E");
    transition: transform var(--transition-slow);
}
.widget--shared-widget-contentlist-vertical-grey .content-block-title a {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    color: white !important;
    transition: transform var(--transition-slow), color var(--transition-slow);
}
.widget--shared-widget-contentlist-vertical-grey .content-block-title a::before {
    content: "";
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M7.87%2C15.2l4.2-4.2-4.2-4.21%2C1.29-1.29%2C5.5%2C5.5-5.5%2C5.5-1.29-1.3Z%22%2F%3E%3C%2Fsvg%3E");
}
.widget--shared-widget-contentlist-vertical-grey .content-block--default-style.content-block--theme-dark {
    border-bottom: 1px solid #ffffff !important;
}
.widget--shared-widget-contentlist-vertical-grey .content-block--default-style.content-block--theme-dark:last-child {
    border-bottom: none !important;
}
.widget--shared-widget-contentlist-vertical-grey .block-list {
    gap: var(--space-12) !important;
}
.widget--shared-widget-contentlist-vertical-grey .lumx-divider--theme-light {
    height: 2px;
    margin: 0;
    border: none;
    background-color: var(--color-primary);
}
.widget--shared-widget-contentlist-vertical-grey .block-page-preview__title span {
    font-weight: var(--font-weight-medium);
}

/* ==================== FAQ Accordion ==================== */
.widget--shared-widget-faq .block-page-preview__title,
.widget--shared-widget-faq .block-page-preview__title .lumx-link__content {
    font-size: 16px !important;
}
.widget--shared-widget-faq .block-list {
    --block-list-gap: 12px;
}

/* ============ Widget Event List ============= */
.widget--shared-widget-eventslist-blanc .lumx-heading,
.widget--shared-widget-eventslist-blanc .registration-button span {
    font-weight: var(--font-weight-medium) !important;
}
.widget--shared-widget-eventslist-blanc .lumx-heading {
    font-size: var(--lumx-typography-custom-title3-font-size) !important;
}
.widget--shared-widget-eventslist-blanc .reactions-block {
    display:none;
}
.widget--shared-widget-eventslist-blanc .lumx-link {
    color: rgba(0, 0, 0, 0.54);
}

/* ============ Widgets Sans Serif Title ============= */
.widget--shared-widget-transparent-sans-serif-title .widget-header__title {
    font-family: var(--lumx-custom-typography-font-family) !important;
}

/*=================================================================
                        05 — Gadgets
==================================================================*/
/* ==================== Alert Message ==================== */
.widget--shared-alert-message .block-page-preview__title {
    position: relative;
    display: flex;
    align-items: center;
    height: 32px;
    overflow: hidden;
    white-space: nowrap;
}
.widget--shared-alert-message .block-page-preview__link {
    position: absolute;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    animation: smooth-scroll 20s linear infinite;
}
.widget--shared-alert-message .block-page-preview__link span {
    display: inline-flex;
    align-items: center;
    color: var(--color-black);
    font-size: var(--font-size-tagline) !important;
    font-weight: var(--font-weight-medium) !important;
}
.widget--shared-alert-message .block-page-preview__link span::before,
.widget--shared-alert-message .block-page-preview__link span::after {
    content: "";
    display: inline-flex;
    flex-shrink: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.widget--shared-alert-message .block-page-preview__link span::before {
    width: 20px;
    height: 20px;
    margin-right: var(--space-8);
    background-image: url("https://opera-de-paris.app.lumapps.com/serve/7809867157174727-7046811113413256/warning_circle.svg?contentDisposition=inline&isOriginalSize=true");
}
.widget--shared-alert-message .block-page-preview__link span::after {
    width: 10px;
    height: 10px;
    margin-left: var(--space-8);
    background-image: url("https://opera-de-paris.app.lumapps.com/serve/7809867157174727-3483807798397763/plus.svg?contentDisposition=inline&isOriginalSize=true");
}

/* ==================== Annuaire Homepage ==================== */
.opera-annuaire {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    color: #6F0924;
}
.opera-annuaire__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 48px;
    text-decoration: none;
}
.opera-annuaire__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.opera-annuaire__icon img,
.opera-annuaire__row-icon img {
    display: block;
    width: 100%;
    height: auto;
}
.opera-annuaire__label {
    position: relative;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #6F0924;
}
.opera-annuaire__link {
    position: relative;
}
.opera-annuaire__link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 148px;
    height: 1px;
    background: #6F0924;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}
.opera-annuaire__link:hover::after {
    transform: translateX(-50%) scaleX(1);
}
.opera-annuaire__link:hover .opera-annuaire__label::after {
    transform: scaleX(1);
}
.opera-annuaire__title {
    margin-bottom: 16px;
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 500;
    color: #6F0924;
}
.opera-annuaire__separator {
    width: 100%;
    height: 1px;
    margin-bottom: 16px;
    background: #DBBCBD;
}
.opera-annuaire__row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.opera-annuaire__row + .opera-annuaire__separator {
    margin-top: 16px;
}
.opera-annuaire__row-icon {
    width: 24px;
    flex-shrink: 0;
}
.opera-annuaire__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 4px;
    text-align: center;
}
.opera-annuaire__item {
    display: flex;
    flex-direction: column;
}
.opera-annuaire__item span {
    font-size: 14px;
    font-weight: 400;
}
@media (min-width: 1024px) and (max-width: 1279px) {
    .opera-annuaire__row {
        gap: 8px !important;
    }
    .opera-annuaire__row-icon {
        width: 18px !important;
    }
    .opera-annuaire__item span {
        font-size: 13px !important;
    }
}   
@media (max-width: 1023px) {
    .opera-annuaire {
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    .opera-annuaire__title {
        text-align: center;
    }
    .opera-annuaire__link {
        margin-bottom: 12px !important;
    }
}
/* Mobile clickable emergency numbers */
.opera-annuaire__phone-link {
    display: none;
    color: inherit;
    text-decoration: none;
}
@media (max-width: 767px) {
    .opera-annuaire__phone-text {
        display: none;
    }
    .opera-annuaire__phone-link {
        display: inline;
    }
}

/* ==================== Annuaire Quotidien ==================== */
.opera-annuaire--quotidien {
    max-width: 100%;
    color: var(--color-black);
}
.opera-annuaire--quotidien .opera-annuaire__row {
    margin-bottom: 16px;
}
.opera-annuaire--quotidien .opera-annuaire__row:last-child {
    margin-bottom: 0;
}
.opera-annuaire--quotidien .opera-annuaire__item span,
.opera-annuaire--quotidien .opera-annuaire__title {
    color: var(--color-black);
}
.opera-annuaire--quotidien .opera-annuaire__item a {
    color: var(--color-black);
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}
/* Mobile only */
@media screen and (max-width: 768px) {
    .opera-annuaire--quotidien .opera-annuaire__item a {
        pointer-events: auto;
        cursor: pointer;
    }
}

/* ==================== Shared Rounded Button ==================== */
.widget--shared-button-bordeaux-rounded {
    --button-bg: var(--color-primary);
    --button-border: var(--color-primary);
    --button-text: var(--color-white);
    --button-text-hover: var(--color-primary);
    --button-icon-color: var(--color-white);
    --button-icon-color-hover: var(--color-primary);
}
.widget--shared-button-white-rounded {
    --button-bg: var(--color-white);
    --button-border: var(--color-white);
    --button-text: var(--color-black);
    --button-text-hover: var(--color-white);

    --button-icon-color: var(--color-black);
    --button-icon-color-hover: var(--color-white);
}
/* Shared Structure */
.widget--shared-button-bordeaux-rounded,
.widget--shared-button-white-rounded {
    .lumx-generic-entity-block__figure {
        display: none;
    }
    .block-list__item,
    .lumx-generic-entity-block,
    .lumx-generic-entity-block__content,
    .lumx-generic-entity-block__title,
    .lumx-link {
        width: 100%;
        max-width: 100%;
    }
    .lumx-generic-entity-block {
        justify-content: stretch !important;
    }
    .lumx-generic-entity-block__title {
        margin: 0;
    }
    p {
        display: none;
    }
    .lumx-link {
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        padding: var(--space-8);
        gap: var(--space-12);
        border-radius: 50px;
        border: 1px solid var(--button-border);
        background: var(--button-bg);
        text-decoration: none;
        transition:
            background var(--transition-slow),
            border-color var(--transition-slow),
            transform var(--transition-fast);
    }
    .lumx-link:hover {
        background: transparent;
        text-decoration: none !important;
    }
    .lumx-link__content {
        color: var(--button-text);
        text-align: center;
        font-size: var(--font-size-button);
        font-weight: var(--font-weight-medium);
        line-height: 24px;
        text-transform: uppercase;
        transition: color var(--transition-slow);
    }
    .lumx-link:hover .lumx-link__content {
        color: var(--button-text-hover);
    }
    /* Shared Icon */
    .lumx-link::after {
        content: "";
        width: 17px;
        height: 17px;
        flex-shrink: 0;
        background-color: var(--button-icon-color);
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath d='M13.4583 9.20573H9.20832V13.4557H7.79166V9.20573H3.54166V7.78906H7.79166V3.53906H9.20832V7.78906H13.4583V9.20573Z' fill='black'/%3E%3C/svg%3E");
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath d='M13.4583 9.20573H9.20832V13.4557H7.79166V9.20573H3.54166V7.78906H7.79166V3.53906H9.20832V7.78906H13.4583V9.20573Z' fill='black'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
        -webkit-mask-size: contain;
        transition:
            background-color var(--transition-slow),
            transform var(--transition-slow);
    }
    .lumx-link:hover::after {
        background-color: var(--button-icon-color-hover);
    }
}

/* ==================== Shared Rectangle Button ==================== */
/* Shared Variants */
.widget--shared-button-white {
    --button-bg: var(--color-white);
    --button-text: var(--color-black);
    --button-icon-size: 42px;
    --button-text-transform: uppercase;
}
.widget--shared-button-bordeaux {
    --button-bg: var(--color-primary);
    --button-text: var(--color-white);
    --button-icon-size: 26px;
    --button-text-transform: none;
}
/* Shared Structure */
.widget--shared-button-white,
.widget--shared-button-bordeaux {
    .widget-content {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        background-color: var(--button-bg);
    }
    .lumx-link__content {
        color: var(--button-text);
        font-size: 22px;
        font-weight: var(--font-weight-medium);
        text-transform: var(--button-text-transform);
    }
    .thumbnail-with-icon {
        width: var(--button-icon-size);
        height: auto;
    }
    .thumbnail-with-icon--m {
        min-width: var(--button-icon-size);
    }
}

/* ==================== Plannning Iframe ==================== */
.widget--planning-iframe  .col-venue th {
    background: var(--color-secondary) !important;
}

/*=================================================================
                        06 — Footer
==================================================================*/
.wdc-footer-container-v2 {
    background-color: var(--color-black);
    width: 100%;
    padding: var(--space-48) var(--space-24);
}
.wdc-footer-content-v2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1128px;
    margin: 0 auto;
    color: var(--color-white);
}
.wdc-footer-logo img {
    height: 55px;
    display: block;
}
.wdc-footer-links-v2 {
    font-family: var(--lumx-custom-typography-font-family);
    font-size: var(--font-size-html-button);
    color: var(--color-white);
    text-align: center;
}
.wdc-footer-links-v2 a {
    color: var(--color-white);
    text-decoration: none;
    transition: color 0.3s ease;
}
.wdc-footer-links-v2 a:hover {
    color: var(--color-white-80);
    text-decoration: underline;
}
.wdc-social-icons-v2 {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
.wdc-social-icon-v2 {
    position: relative;
    z-index: 10;
    display: inline-block;
    padding: var(--space-4);
    transition: transform 0.3s ease;
}
.wdc-social-icon-v2 img {
    width: 30px;
    height: 30px;
    display: block;
    opacity: 1;
    transition: opacity 0.3s ease;
}
.wdc-social-icon-v2:hover {
    transform: translateY(-3px);
}
.wdc-social-icon-v2:hover img {
    opacity: 0.6;
}

/*=================================================================
                        07 — Media Queries
==================================================================*/

/* ==================== Global Mobile Adjustments ==================== */
@media (max-width: 767px) {

    .widget-header__wrapper {
        line-height: 1.2 !important;
        justify-content: center !important;
    }

    .widget-footer {
        justify-content: center !important;
    }

    .widget--shared-titre-section .block-html,
    .widget--shared-titre-section-border-bottom .block-html,
    .widget--shared-titre-section-fonce .block-html--dark,
    .widget--shared-titre-section-fonce-border-bottom .block-html--dark,
    .widget--shared-titre-section .widget-title__title,
    .widget--shared-titre-section-border-bottom .widget-title__title,
    .widget--shared-titre-section-fonce .widget-title__title,
    .widget--shared-titre-section-fonce-border-bottom .widget-title__title,
    .widget--shared-titre-section .widget-html__content p span,
    .widget--shared-titre-section-fonce .widget-html__content p span,
    .widget--shared-titre-section .widget-html__content p,
    .widget--shared-titre-section-fonce .widget-html__content p,
    .widget--shared-titre-section-border-bottom .widget-html__content p,
    .widget--shared-titre-section-border-bottom .widget-html__content p span {
        text-align: center !important;
    }
}

/* ====================  Hidden Vertical Separator IRP / Syndicats ==================== */
@media (max-width: 1023px) {
    .component-cell--syndicats::before {
        left: 24px;
        right: 24px;
        top: 0;
        bottom: auto;
        width: auto;
        height: 1px;
    }
}
/* ====================  Button Planning ==================== */
@media (min-width: 1024px) {
    .component-cell--padding-top {
        padding-top: 24px;
    }
}
/* ==================== Footer ==================== */
@media (min-width: 64em) and (max-width: 79.99em) {
    .wdc-footer-content-v2 {
        width: 955px;
    }
}
@media (max-width: 1024px) {
    .wdc-footer-container-v2 {
        margin-top: -24px;
    }
}
@media (max-width: 63.99em) {
    .wdc-footer-content-v2 {
        flex-direction: column;
        align-items: center;
        gap: var(--space-24);
    }
}
@media (max-width: 440px) {
    .wdc-social-icons-v2 {
        gap: var(--space-8);
    }
}
