/*
Theme Name: Divi Child CSA
Theme URI: https://www.csa.be
Description: Thème enfant Divi pour le CSA Belgique — contient tous les templates custom, CPT et développements spécifiques migrés depuis Avada 5.8.1.
Author: CSA Belgique / Belgawebsite
Author URI: https://www.csa.be
Template: Divi
Version: 2.0.0
Text Domain: divi-child-csa
*/

/* ==========================================================================
   TABLE OF CONTENTS
   ==========================================================================
   1. Design Tokens (CSS Custom Properties)
   2. Global Base Styles
   3. Typography
   4. Header & Navigation
   5. Page Title Bar
   6. Content & Post Styles
   7. Sidebar & Widgets
   8. Forms — Plainte / Multi-Step
   9. Buttons & Tabs
  10. Homepage Sections
  11. Documents & Publications
  12. Agenda & Timeline
  13. Members & Cards
  14. Hover Animations (hvr-*)
  15. Footer
  16. Utilities
  17. Responsive / Media Queries
   ========================================================================== */


/* ==========================================================================
   1. DESIGN TOKENS — CSA Brand Identity
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    /* — Brand Colors — */
    --csa-primary:        #52284e;   /* Violet foncé CSA — couleur principale  */
    --csa-primary-light:  #7d5d81;   /* Violet clair  */
    --csa-primary-alpha:  rgba(82, 40, 78, 0.49);

    --csa-accent-gold:    #f5be2f;   /* Or / Jaune CSA  */
    --csa-accent-gold-d:  #E09900;   /* Or foncé  */
    --csa-accent-teal:    #51b3af;   /* Turquoise  */
    --csa-accent-rose:    #b44e74;   /* Rose  */
    --csa-accent-rose-d:  #ad3a65;   /* Rose foncé  */
    --csa-accent-blue:    #3e95cd;   /* Bleu info  */
    --csa-accent-navy:    #182a71;   /* Bleu marine  */
    --csa-accent-blue-h:  #4679bd;   /* Bleu heading  */

    /* — Neutrals — */
    --csa-dark:           #1C1C1C;
    --csa-text:           #333333;
    --csa-text-light:     #444444;
    --csa-text-muted:     #555555;
    --csa-text-subtle:    #7b7b7b;
    --csa-gray:           #707070;
    --csa-border:         #e7e7e7;
    --csa-border-light:   #f1f1f1;
    --csa-bg:             #fdfbfb;
    --csa-bg-light:       #f9f9f9;
    --csa-bg-medium:      #F2F3F3;
    --csa-bg-dark:        #000000;

    /* — Typography — */
    --font-primary:       'Poppins', sans-serif;
    --font-size-xs:       11px;
    --font-size-sm:       13px;
    --font-size-base:     15px;
    --font-size-md:       17px;
    --font-size-lg:       22px;
    --font-size-xl:       28px;
    --font-size-xxl:      38px;
    --font-size-hero:     44px;

    /* — Spacing — */
    --spacing-xs:         5px;
    --spacing-sm:         10px;
    --spacing-md:         15px;
    --spacing-lg:         20px;
    --spacing-xl:         44px;
    --spacing-xxl:        64px;

    /* — Radii — */
    --radius-sm:          3px;
    --radius-md:          5px;

    /* — Shadows — */
    --shadow-logo:        5px 1px 13px -10px rgba(0,0,0,0.3);
    --shadow-form:        0 0 15px 1px rgba(0, 0, 0, 0.4);
}


/* ==========================================================================
   2. GLOBAL BASE STYLES
   ========================================================================== */

body {
    font-family: var(--font-primary) !important;
    color: var(--csa-text);
}

/*
 * Accueil : Divi 5 peut omettre les dimensions du premier bloc lors de la
 * régénération de son CSS dynamique. Le slider doit rester bord à bord,
 * sans les espacements par défaut des sections et lignes Divi.
 */
body.home:not(.csa-et-fb):not(.et-fb) #main-content .et_pb_section_0 {
    padding: 0 !important;
}

body.home:not(.csa-et-fb):not(.et-fb) #main-content .et_pb_row_0 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home:not(.csa-et-fb):not(.et-fb) #main-content .et_pb_column_0,
body.home:not(.csa-et-fb):not(.et-fb) #main-content .et_pb_code_0,
body.home:not(.csa-et-fb):not(.et-fb) #main-content .et_pb_code_0 .et_pb_code_inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home:not(.csa-et-fb):not(.et-fb) .csa-home-v6-slider {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.csa-sr-only:not(:focus):not(:active) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.csa-skip-link:focus,
.csa-skip-link:active {
    position: fixed !important;
    top: 12px;
    left: 12px;
    z-index: 300000;
    width: auto !important;
    height: auto !important;
    padding: 10px 14px !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    border-radius: 3px;
    background: #52284e;
    color: #fff !important;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #f5be2f !important;
    outline-offset: 3px !important;
}

#main-content .et_pb_text_inner p a:not(.et_pb_button),
#main-content .et_pb_text_inner li a:not(.et_pb_button),
#main-content .post-content p a:not(.et_pb_button),
#main-content .post-content li a:not(.et_pb_button),
#main-content .doc-post > a[target="_blank"] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

body #page-container,
body #page-container .et_pb_module,
body #page-container .et_pb_text_inner,
body #page-container .et_pb_blurb_container,
body #page-container .et_pb_blurb_description,
body #page-container .et_pb_module h1,
body #page-container .et_pb_module h2,
body #page-container .et_pb_module h3,
body #page-container .et_pb_module h4,
body #page-container .et_pb_module h5,
body #page-container .et_pb_module h6,
body #page-container .et_pb_module p,
body #page-container .et_pb_module li,
body #page-container .et_pb_module a:not(.et-pb-icon):not(.icon),
body #page-container #et-boc .et-l,
body #page-container #et-boc .et-l .et_pb_module,
body #page-container #et-boc .et-l .et_pb_text_inner,
body #page-container #et-boc .et-l .et_pb_blurb_container,
body #page-container #et-boc .et-l .et_pb_blurb_description,
body #page-container #et-boc .et-l .et_pb_module h1,
body #page-container #et-boc .et-l .et_pb_module h2,
body #page-container #et-boc .et-l .et_pb_module h3,
body #page-container #et-boc .et-l .et_pb_module h4,
body #page-container #et-boc .et-l .et_pb_module h5,
body #page-container #et-boc .et-l .et_pb_module h6,
body #page-container #et-boc .et-l .et_pb_module p,
body #page-container #et-boc .et-l .et_pb_module li,
body #page-container #et-boc .et-l .et_pb_module a:not(.et-pb-icon):not(.icon),
body #page-container .dsm-menu-text,
body #page-container .dsm-mega-menu-link,
input,
textarea,
select,
button {
    font-family: var(--font-primary) !important;
}

.panel-heading h2.csa-a11y-panel-heading {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.1;
}

.doc-post > h3.csa-a11y-doc-title {
    margin-top: 10px;
    margin-bottom: 10px;
    font-family: inherit;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.1;
}

td {
    vertical-align: middle;
}

.widget input {
    border-color: #DFDFDF !important;
}


/* ==========================================================================
   3. TYPOGRAPHY
   ========================================================================== */

h1.entry-title {
    font-size: var(--font-size-xl) !important;
}

h5.et_pb_toggle_title {
    color: var(--csa-text-light);
    font-size: var(--font-size-md);
}

/* — Post Content Headings — */
.post-content h1 {
    color: var(--csa-primary) !important;
    font-size: var(--font-size-xxl) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.post-content h2 {
    color: var(--csa-primary) !important;
    font-size: var(--font-size-lg) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    margin-bottom: inherit;
}

.post-content h3 {
    font-weight: 500 !important;
    color: var(--csa-primary) !important;
    padding: var(--spacing-sm) 0 !important;
    margin-bottom: 0 !important;
    font-size: var(--font-size-md) !important;
    line-height: 1 !important;
}

.post-content h4 {
    color: var(--csa-text) !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

h4 a {
    color: var(--csa-text) !important;
}

.cubano,
.cubano a {
    font-weight: 600 !important;
}

/* line-height normalisation on modal/title/widget/post headings */
.et_pb_module h1,
#et-main-area h1 {
    line-height: 1;
}


/* ==========================================================================
   4. HEADER & NAVIGATION
   ========================================================================== */

/* Header — clean bottom border */
#main-header,
.et-l--header {
    border-bottom: 3px solid var(--csa-accent-gold);
    position: relative;
    background: #fff;
}

/* ── Full-width header container — flexbox layout ── */
body #page-container #main-header .container,
body #page-container #main-header .container.clearfix,
body #page-container #main-header .container.clearfix.et_menu_container,
body.et_header_style_left #main-header .container,
body.et_header_style_centered #main-header .container,
#main-header .container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 100px !important; /* space for hamburger button */
    margin: 0 !important;
    /* Convert from float to flex */
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative;
}

/* ── Reduce header vertical padding ── */
#main-header,
#main-header.et-fixed-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
}

/* ── Logo — override Divi absolute positioning ── */
.logo_container,
.et_header_style_left .logo_container,
body.et_header_style_left #main-header .logo_container {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    float: none !important;
    flex-shrink: 0;
}

/* Logo styling — enlarged, preserve aspect ratio */
@media screen and (min-width: 992px) {
    .logo_container img,
    #logo {
        width: auto !important;
        height: 54px !important;
        max-width: 170px;
        object-fit: contain;
        padding: 6px;
        background: white;
        box-shadow: none;
    }
}

/* ── Main menu — single-line, compact ── */
#top-menu li a,
.et_nav_text_color_light #top-menu > li > a,
.et_header_style_left #top-menu > li > a,
.et_header_style_centered #top-menu > li > a {
    font-family: var(--font-primary) !important;
    font-size: 13px !important;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    white-space: nowrap;
    padding-bottom: 12px !important;
    padding-top: 12px !important;
}

/* ── Dropdown arrow — inline with text, not below ── */
#top-menu > li.menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    text-decoration: none !important;
}

#top-menu > li.menu-item-has-children > a:after {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    width: 6px !important;
    height: 6px !important;
    margin: -3px 1px 0 3px !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    border: 0 !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transform: rotate(45deg) !important;
}

/* Spread menu items across the width */
#top-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

#top-menu > li {
    padding-right: 5px !important;
    padding-left: 5px !important;
}

/* ── Navigation — flex child, takes all available space ── */
#et-top-navigation {
    float: none !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
}

#et-top-navigation nav#top-menu-nav {
    float: none !important;
    flex: 1;
}

/* ── Search icon — inline, aligned with menu ── */
#et_top_search {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 34px;
    padding-left: 15px;
    margin: 0 !important;
    flex-shrink: 0;
    line-height: 1 !important;
}

#et_search_icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px;
    height: 34px;
    font-size: 16px !important;
    cursor: pointer;
    line-height: 34px !important;
}

#et_search_icon:before {
    position: static !important;
    top: auto !important;
    left: auto !important;
    line-height: 1 !important;
}

/* Sub-menu items — allow wrapping inside dropdowns */
#top-menu li li a {
    white-space: normal !important;
    font-size: 12px !important;
    text-transform: none;
    padding: 8px 15px !important;
}

/* Sub-menu — keep vertical layout */
#top-menu li ul.sub-menu {
    display: block !important;
    flex-wrap: unset !important;
}

/* Active / current menu item highlight — text color only, no weird bg */
#top-menu > .current-menu-item > a,
#top-menu > .current_page_item > a,
#top-menu > .current-menu-ancestor > a {
    color: var(--csa-primary) !important;
    background: transparent !important;
}

/* Hover effect on top-level items */
#top-menu > li > a:hover {
    color: var(--csa-primary) !important;
    opacity: 1;
    background: transparent !important;
}

/* Menu search icon */
.search-icone-csa {
    display: inline-flex;
    align-items: center;
    font-size: 22px;
    line-height: 1 !important;
    margin-top: 0 !important;
}

/* ── Remove colored squares — clean modern look ── */
#top-menu > li > a::before {
    display: none !important;
}

/* Desktop navigation entries are interactive menu controls. */
#top-menu > li.csa-has-mega-layout > a,
.csa-divi5-menu .csa-divi5-menu-link {
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
}

body.csa-keyboard-nav #top-menu > li.csa-has-mega-layout > a:focus,
body.csa-keyboard-nav .csa-divi5-menu .csa-divi5-menu-link:focus {
    outline: 3px solid #52284e !important;
    outline-offset: 3px !important;
    border-radius: 2px;
}

/* ── Hamburger menu trigger — inside header, right side ── */
#csa-menu-trigger,
#csa-menu-trigger.lateral-toggle-trigger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 200000 !important;
    right: 20px;
    top: auto;
    transform: none;
    height: 34px;
    min-height: 34px;
    padding: 0 8px;
    line-height: 1 !important;
    cursor: pointer;
}

/* Position hamburger in utility bar + header area */
body:not(.csa-scrolled) #csa-menu-trigger {
    top: 60px; /* below utility bar (36px) + some offset */
}

body.csa-scrolled #csa-menu-trigger {
    top: 12px;
}

body.admin-bar:not(.csa-scrolled) #csa-menu-trigger {
    top: 92px; /* 32px admin bar + 60px */
}

body.admin-bar.csa-scrolled #csa-menu-trigger {
    top: 44px; /* 32px admin bar + 12px */
}

#csa-menu-trigger a {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    height: 34px;
    min-height: 34px;
    line-height: 1 !important;
    text-decoration: none !important;
    color: var(--csa-text);
}

/* Hide the Font Awesome icon, use custom hamburger lines */
#csa-menu-trigger i {
    display: none;
}

/* Hide native Max Mega Menu responsive toggle — we use our own sidebar */
.mega-menu-toggle,
#mega-menu-wrap-primary-menu .mega-menu-toggle,
.mega-menu-toggle + #mega-menu-primary-menu {
    /* The native MMM toggle must never appear; our csa-sliding-sidebar replaces it */
}
#mega-menu-wrap-primary-menu button.mega-toggle-animated {
    display: none !important;
}

/* Hide legacy bw-lateral-sidebar output — replaced by csa-sliding-sidebar */
#lateral-sidebar,
nav#lateral-sidebar {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Custom hamburger icon */
#csa-menu-trigger .csa-hamburger {
    display: flex;
    flex: 0 0 22px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 16px;
    gap: 4px;
    margin: 0;
}

#csa-menu-trigger .csa-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--csa-primary);
    border-radius: 1px;
    transition: transform 0.3s ease, opacity 0.3s ease, background 0.2s ease;
}

#csa-menu-trigger:hover .csa-hamburger span {
    background: var(--csa-accent-gold);
}

/* Hamburger → X animation when sidebar is open */
body.csa-sidebar-open #csa-menu-trigger .csa-hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
body.csa-sidebar-open #csa-menu-trigger .csa-hamburger span:nth-child(2) {
    opacity: 0;
}
body.csa-sidebar-open #csa-menu-trigger .csa-hamburger span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

#csa-menu-trigger .csa-menu-label {
    display: inline-flex;
    align-items: center;
    height: 16px;
    font-size: 11px;
    font-family: var(--font-primary);
    font-weight: 600;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--csa-primary);
    transform: translateY(-1px);
    transition: color 0.2s ease;
}

#csa-menu-trigger:hover .csa-menu-label {
    color: var(--csa-accent-gold);
}

@media screen and (min-width: 981px) {
    body:not(.csa-et-fb):not(.et-fb) #csa-menu-trigger,
    body:not(.csa-et-fb):not(.et-fb) .lateral-toggle-trigger#csa-menu-trigger {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* ── Sliding Sidebar Panel — Exact Legacy bw-lateral-sidebar Replica ── */

/* Hover on level-1 items AND is_open items → white text */
.csa-sidebar-menu > li:not(.csa-sidebar-brand) > a:hover,
.csa-sidebar-menu > li.is_open > a {
    color: #fff !important;
}

/* Submenu level-2 items turn white bg on hover */
.csa-sidebar-submenu > li:hover {
    background: #fff !important;
}

/* All submenus have light gray bg */
.csa-sidebar-submenu {
    background: #f1f1f1 !important;
}

/* Panel */
.csa-sliding-sidebar {
    padding: 0;
    position: fixed;
    top: 0;
    left: -380px;
    width: 380px;
    height: 100%;
    background: #F2F3F3;
    z-index: 100000000;
    overflow-y: scroll;
    -webkit-transition: left .2s ease-in;
    -moz-transition:    left .2s ease-in;
    -ms-transition:     left .2s ease-in;
    transition:         left .2s ease-in;
    /* Hide scrollbar */
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.csa-sliding-sidebar::-webkit-scrollbar {
    display: none;
}

.csa-sliding-sidebar.open {
    left: 0;
}

/* Sidebar overlay */
.csa-sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.45);
    z-index: 99999999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.csa-sidebar-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* ── Sidebar Menu List (matches .sidebar-nav) ── */
.csa-sidebar-menu {
    position: absolute;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ── All li items ── */
.csa-sidebar-menu > li {
    position: relative;
    line-height: 20px;
    display: inline-block;
    width: 100%;
}

/* ── Brand Header — "Menu" + × close ── */
.csa-sidebar-brand {
    background: #F2F3F3;
    height: 65px;
    font-size: 20px;
    line-height: 44px;
    border-bottom: 1px solid #e0e0e0;
}

.csa-sidebar-brand > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px 10px 30px !important;
    color: #52284E !important;
    font-size: 20px !important;
    font-family: var(--font-primary);
    font-weight: 400;
    text-decoration: none !important;
    line-height: 44px;
    cursor: pointer;
    background-color: #F2F3F3 !important;
}

.csa-sidebar-brand > a:hover {
    color: #52284E !important;
}

.csa-sidebar-brand > a i.fa-times {
    font-size: 18px;
    margin-top: 7px;
    color: #52284E;
}

/* ── Colored left border bar — 3px, expands on hover ── */
.csa-sidebar-menu > li:not(.csa-sidebar-brand)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 100%;
    width: 3px;
    background-color: #e8e8e8;
    -webkit-transition: width .2s ease-in;
    -moz-transition:    width .2s ease-in;
    -ms-transition:     width .2s ease-in;
    transition:         width .2s ease-in;
}

/* ── Per-item colors: ::before bar + dropdown bg + is_open bg ── */

/* Hide the ::before border bar when item is open + remove all borders */
.csa-sidebar-menu > li.is_open::before {
    display: none !important;
}
.csa-sidebar-menu > li.is_open,
.csa-sidebar-menu > li.is_open > a {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Le CSA — gold */
.csa-sidebar-menu > li:nth-child(2)::before,
.csa-sidebar-menu > li:nth-child(2) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(2) {
    background-color: #f5bf34;
}

/* Actualités du CSA — teal */
.csa-sidebar-menu > li:nth-child(3)::before,
.csa-sidebar-menu > li:nth-child(3) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(3) {
    background-color: #51b3af;
}

/* Plaintes et questions — violet */
.csa-sidebar-menu > li:nth-child(4)::before,
.csa-sidebar-menu > li:nth-child(4) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(4) {
    background-color: #7d5d81;
}

/* Documents régulatoires — rose */
.csa-sidebar-menu > li:nth-child(5)::before,
.csa-sidebar-menu > li:nth-child(5) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(5) {
    background-color: #b44e74;
}

/* Publications et recherches — deep purple */
.csa-sidebar-menu > li:nth-child(6)::before,
.csa-sidebar-menu > li:nth-child(6) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(6) {
    background-color: #52284e;
}

/* Regulation.be — yellow */
.csa-sidebar-menu > li:nth-child(7)::before,
.csa-sidebar-menu > li:nth-child(7) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(7) {
    background-color: #ead24c;
}

/* Les médias — navy */
.csa-sidebar-menu > li:nth-child(8)::before,
.csa-sidebar-menu > li:nth-child(8) .csa-sidebar-submenu,
.csa-sidebar-menu > li.is_open:nth-child(8) {
    background-color: #2d2366;
}

/* Sub-items indentation when parent is open */
.csa-sidebar-menu > li.is_open .csa-sidebar-submenu li {
    margin-left: 5px;
}

/* ── Hover: expand the colored bar to full width ── */
.csa-sidebar-menu > li:not(.csa-sidebar-brand):hover::before {
    width: 100%;
    -webkit-transition: width .2s ease-in;
    -moz-transition:    width .2s ease-in;
    -ms-transition:     width .2s ease-in;
    transition:         width .2s ease-in;
}

/* ── Menu Item Links ── */
.csa-sidebar-menu > li > a {
    display: block;
    text-decoration: none !important;
    padding: 10px 15px 10px 30px;
    background: transparent;
    color: #52284E !important;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 400;
}

.csa-sidebar-menu > li > a:hover,
.csa-sidebar-menu > li > a:active,
.csa-sidebar-menu > li > a:focus {
    color: #ad3965 !important;
    text-decoration: none !important;
}

/* Override: when hovering over the colored bar, text stays white */
.csa-sidebar-menu > li:not(.csa-sidebar-brand):hover > a {
    color: #fff !important;
}

/* Override: open item text + icon + caret ALWAYS white */
.csa-sidebar-menu > li.is_open > a,
.csa-sidebar-menu > li.is_open > a:hover,
.csa-sidebar-menu > li.is_open > a:active,
.csa-sidebar-menu > li.is_open > a:focus {
    color: #fff !important;
}
.csa-sidebar-menu > li.is_open > a > i {
    color: #fff !important;
}
.csa-sidebar-menu > li.is_open .csa-caret {
    border-top-color: #fff !important;
}

/* Font Awesome icons in menu links */
.csa-sidebar-menu > li > a > i {
    width: 22px;
    text-align: center;
    margin-right: 6px;
    font-size: 14px;
}

/* ── Caret (dropdown arrow) — matches legacy .caret ── */
.csa-caret {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    margin: 5px;
    display: block;
    float: right;
    border-top: 5px solid #52284E;
}

/* Caret turns white when hovered or open */
.csa-sidebar-menu > li:not(.csa-sidebar-brand):hover .csa-caret,
.csa-sidebar-menu > li.is_open .csa-caret {
    border-top-color: #fff;
}

/* ── Hidden toggle buttons (accessibility) ── */
.csa-sidebar-menu > li > .sidebar-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 100%;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 2;
    opacity: 0;
}

/* ── Submenu Dropdown (matches .dropdown-menu) ── */
.csa-sidebar-submenu {
    list-style: none;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    border-radius: 0;
    border: none;
    box-shadow: none;
    display: none;
    background: transparent;
}

.csa-sidebar-submenu.open {
    display: inherit;
}

.csa-sidebar-submenu li a {
    display: block;
    text-decoration: none !important;
    padding: 10px 15px 10px 30px;
    background: transparent;
    color: #52284E !important;
    font-size: 13px;
    font-family: var(--font-primary);
    font-weight: 400;
    white-space: inherit;
}

.csa-sidebar-submenu li:hover {
    background-color: #363434;
}

.csa-sidebar-submenu li:hover a {
    color: #fff !important;
}

.csa-sidebar-submenu li a:hover {
    color: #ad3965 !important;
    text-decoration: none !important;
}

/* Lateral sliding bar search */
.lateral-search-input::placeholder {
    color: #000;
    opacity: 1;
}

.csa-search-drawer {
    display: none;
}

.csa-search-toggle {
    display: none;
}

@media screen and (min-width: 981px) {
    body:not(.csa-et-fb):not(.et-fb) .csa-search-drawer {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: min(39.5vw, 730px);
        min-width: 430px;
        height: 100vh;
        z-index: 200001;
        transform: translateX(100%);
        transition: transform 0.22s ease;
        font-family: var(--font-primary, "Open Sans", Arial, sans-serif);
    }

    body.admin-bar:not(.csa-et-fb):not(.et-fb) .csa-search-drawer {
        top: 32px;
        height: calc(100vh - 32px);
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-drawer.is-open {
        transform: translateX(0);
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-toggle {
        position: absolute;
        top: 214px;
        left: -56px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 88px;
        padding: 0;
        border: 0;
        border-radius: 8px 0 0 8px;
        background: #333434;
        color: #ffffff;
        cursor: pointer;
        box-shadow: none;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-toggle:before {
        content: "+";
        display: block;
        font-size: 32px;
        font-weight: 400;
        line-height: 1;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-drawer.is-open .csa-search-toggle:before {
        content: "-";
        transform: translateY(-2px);
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-panel {
        position: relative;
        height: 100%;
        overflow-y: auto;
        background: #000000;
        color: #ffffff;
        box-shadow: none;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-close {
        position: absolute;
        top: 28px;
        right: 30px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        padding: 0;
        border: 2px solid #ffffff;
        border-radius: 50%;
        background: transparent;
        color: #ffffff;
        font: 400 38px/1 Arial, sans-serif;
        cursor: pointer;
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-close:hover,
    body:not(.csa-et-fb):not(.et-fb) .csa-search-close:focus-visible {
        background: #ffcc33;
        border-color: #ffcc33;
        color: #000000;
        outline: 3px solid #ffffff;
        outline-offset: 3px;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-close span {
        display: block;
        transform: translateY(-2px);
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-panel-inner {
        width: min(100%, 680px);
        padding: 148px 56px 48px;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-panel h2 {
        margin: 0 0 78px;
        padding: 0;
        color: #ffffff;
        font-size: 28px;
        font-weight: 500;
        line-height: 1.2;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-form label {
        display: block;
        margin: 0 0 52px;
        color: #ffffff;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.4;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-input {
        display: block;
        width: 100%;
        height: 40px;
        margin: 0 0 10px;
        padding: 10px;
        border: 1px solid #4a4a4a;
        border-radius: 4px;
        background: #ffffff;
        color: #000000;
        font-size: 18px;
        line-height: 1.2;
        box-shadow: none;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 10px 15px;
        border: 1px solid #4a4a4a;
        border-radius: 4px;
        background: #ffcc33;
        color: #000000;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        cursor: pointer;
    }

    body:not(.csa-et-fb):not(.et-fb) .csa-search-submit:hover,
    body:not(.csa-et-fb):not(.et-fb) .csa-search-submit:focus {
        background: #f5bf34;
        color: #000000;
    }
}

/* ── Responsive navigation (tablet ≤ 1100px) ── */
@media screen and (max-width: 1100px) {
    #top-menu li a,
    .et_nav_text_color_light #top-menu > li > a {
        font-size: 11px !important;
        letter-spacing: 0;
        padding-bottom: 16px !important;
    }

    #top-menu > li {
        padding-right: 6px !important;
    }

    #et-top-navigation {
        width: calc(100% - 130px);
    }
}

/* ── Mobile: hide desktop nav, show Divi mobile menu ── */
@media screen and (max-width: 980px) {
    /*
     * Mobile navigation is handled exclusively by the restored CSA lateral
     * menu. Keep every desktop mega-menu implementation out of the layout.
     */
    #top-menu-nav,
    #et_mobile_nav_menu,
    .mobile_nav,
    .mobile_menu_bar,
    .et_mobile_menu,
    .csa-divi-supreme-menu,
    .csa-primary-mega-panel,
    .csa-divi5-submenu-container,
    .dsm-submenu-container {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    #et-top-navigation {
        width: auto;
        float: none;
    }

    body:not(.csa-et-fb):not(.et-fb) #csa-menu-trigger,
    body:not(.csa-et-fb):not(.et-fb) .lateral-toggle-trigger#csa-menu-trigger {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .csa-sliding-sidebar {
        width: min(380px, 100vw);
    }

    /* Stack the header nicely */
    #main-header .container,
    #main-header .et_menu_container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .logo_container img,
    #logo {
        width: 80px !important;
    }

    /* Mobile menu items */
    .et_mobile_menu li a {
        font-size: 13px !important;
        font-family: var(--font-primary) !important;
        padding: 10px 15px !important;
        border-bottom: 1px solid var(--csa-border-light);
    }

    .et_mobile_menu {
        background: #fff !important;
        border: 1px solid var(--csa-border) !important;
        border-radius: var(--radius-md);
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
}


/* ==========================================================================
   5. PAGE TITLE BAR
   ========================================================================== */

.et_pb_fullwidth_header,
.page-title-area {
    height: 100%;
    padding: 25px;
}

.et_pb_fullwidth_header h1,
.page-title-area h1 {
    text-transform: uppercase;
}

/* Decorative vertical line before page title */
.et_pb_fullwidth_header h1:before,
.page-title-area h1:before {
    content: "";
    border-left: 1px solid #cacaca !important;
    height: 26px;
    width: 20px;
    display: block;
    position: absolute;
    margin-top: -30px;
    margin-left: 4px;
}


/* ==========================================================================
   6. CONTENT & POST STYLES
   ========================================================================== */

/* Divi module links inherit brand color */
.et_pb_module a {
    color: var(--csa-primary) !important;
}

.et_pb_module img.alignleft {
    margin-right: 10px;
    padding: 10px;
}

/* Brèves (news) */
.type-post li {
    list-style: disc;
    margin-left: 19px;
}

/* Homepage: breathing room after the embedded full Agenda module. */
body.home .csa-cal-layout {
    margin-bottom: 64px !important;
}

/* Contact page */
body.page-id-39565 .et_pb_section_0 {
    padding-bottom: 72px !important;
}

body.page-id-39565 .et_pb_text_0,
body.page-id-39565 .et_pb_text_1 {
    margin-top: 34px !important;
}

body.page-id-39565 .et_pb_text_1 {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

body.page-id-39565 .csa-contact-title {
    margin-bottom: 22px;
    text-align: left !important;
}

body.page-id-39565 .csa-contact-name {
    color: var(--csa-text);
    font-size: 17px;
    margin-bottom: 16px;
}

body.page-id-39565 .csa-contact-line {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    margin-bottom: 13px;
}

body.page-id-39565 .csa-contact-line svg {
    color: var(--csa-primary);
    flex: 0 0 22px;
    height: 22px;
    margin-top: 2px;
    width: 22px;
}

body.page-id-39565 .csa-contact-line a {
    font-weight: 700;
}

body.page-id-39565 .csa-contact-copy {
    margin: 25px 0 22px;
}

body.page-id-39565 .csa-contact-transport-title {
    color: var(--csa-text);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 10px;
}

body.page-id-39565 .csa-contact-transport-list {
    list-style: disc outside !important;
    margin: 0 !important;
    padding: 0 0 0 22px !important;
}

body.page-id-39565 .csa-contact-transport-list li {
    list-style: disc outside !important;
    margin-bottom: 8px;
    padding-left: 3px;
}

body.page-id-39565 .csa-contact-map {
    background: #f4f2f4;
    border: 0;
    display: block;
    min-height: 550px;
    width: 100%;
}

@media (max-width: 980px) {
    body.home .csa-cal-layout {
        margin-bottom: 48px !important;
    }

    body.page-id-39565 .et_pb_text_0,
    body.page-id-39565 .et_pb_text_1 {
        margin-top: 10px !important;
    }

    body.page-id-39565 .csa-contact-map {
        height: 430px;
        min-height: 430px;
    }
}

/* Brèves: full-width article layout without the legacy right sidebar. */
body.single-post #main-content #sidebar {
    display: none !important;
}

body.single-post #main-content #left-area {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
}

body.single-post #main-content > .container:before,
body.single-agenda #main-content > .container:before {
    display: none !important;
    content: none !important;
}

.type-post .post-content {
    padding-top: 50px;
}

.news_date {
    color: #fff;
    padding: 1px 4px;
    background: var(--csa-accent-blue);
    font-size: var(--font-size-xs);
}

/* Brève image hover zoom */
.breve-img:hover {
    transform: scale(1.02);
    transition: transform 1.05s ease-in-out !important;
}

/* FAQ layout */
.type-faq_csa {
    padding-top: var(--spacing-xl);
}

/* Panel / Section styles (single-agenda, single-membre) */
.panel-ref1 {
    border: 1px solid var(--csa-border-light);
    border-radius: var(--radius-md);
    background: var(--csa-bg);
    margin-bottom: var(--spacing-lg);
}

.padding-20 { padding: 20px; }

.panel-heading h2 {
    font-size: 1.4em;
    margin-bottom: 10px;
    color: var(--csa-text);
}

.panel-body { padding: 10px 0; }

/* Preserve editorial numbering in individual Agenda descriptions. */
body.single-agenda .panel-body ol {
    list-style: decimal outside !important;
    margin: 8px 0 8px 1.4em !important;
    padding-left: 1.2em !important;
}

body.single-agenda .panel-body ol > li {
    display: list-item !important;
    list-style: decimal outside !important;
    margin: 0 0 5px !important;
    padding-left: 4px !important;
}

.list-ref1 { list-style: none; padding: 0; }

.list-ref1 li {
    padding: 5px 0;
    border-bottom: 1px solid var(--csa-border-light);
}

.info-name { font-weight: bold; margin-right: 10px; }
.info-value { color: var(--csa-text-muted); }

/* List variants */
.list-ref3 ul { margin: 0 !important; }

.list-ref3 li {
    list-style: none !important;
    padding: 3px !important;
    border-bottom: 1px solid #bababa !important;
}

ul.list-style-5 { margin-left: 0 !important; }

ul.list-style-5 li {
    list-style: none !important;
    margin-bottom: 10px !important;
}

/* Fullpage / scroll-to-section */
.fullpage-section {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fullheight { height: 100vh; }

/* Member card */
.spElement.spElementPost { margin-bottom: 20px; }


/* ==========================================================================
   7. SIDEBAR & WIDGETS
   ========================================================================== */

.sidebar li a {
    color: var(--csa-accent-navy) !important;
}

.sidebar .widget h4 {
    font-size: var(--font-size-lg);
}

.fullwidth .et_pb_widget {
    width: 100% !important;
}

.widget_nav_menu .current-menu-item {
    border-top: 1px solid var(--csa-accent-gold) !important;
    border-bottom: 1px solid var(--csa-accent-gold) !important;
    padding: 5px !important;
}

.spFilterTrigger {
    padding: 10px;
    display: inline-block;
}

#post-40169 .et_pb_toggle {
    background: #f8f8f8 !important;
    border: 1px solid #d8d8d8 !important;
    border-left: 4px solid var(--csa-accent-gold) !important;
    box-shadow: none !important;
    margin-bottom: 14px !important;
    padding: 12px 48px 12px 18px !important;
}

#post-40169 .et_pb_toggle:hover,
#post-40169 .et_pb_toggle_open {
    border-left-color: var(--csa-primary) !important;
}

#post-40169 .et_pb_toggle_title {
    color: var(--csa-primary) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    padding: 0 !important;
}

#post-40169 .et_pb_toggle_title:before {
    color: var(--csa-primary) !important;
    font-size: 18px !important;
    right: -30px !important;
    top: 50% !important;
    transform: translateY(-50%);
}

#post-40169 .et_pb_toggle_content {
    border-top: 1px solid #e1e1e1;
    margin-top: 12px;
    padding-top: 14px;
}


/* ==========================================================================
   8. FORMS — Plainte / Multi-Step Form
   ========================================================================== */

/* Plainte form */
.plainte-msg {
    border: 1px solid #bbb !important;
}

.plainte-cvlt {
    background-color: var(--csa-bg-medium);
}

.plainte-envoyer-btn {
    color: #fff !important;
    background: var(--csa-primary) !important;
    border: 2px solid var(--csa-primary) !important;
}

.plainte-envoyer-btn:hover {
    background: var(--csa-primary-alpha) !important;
}

/* Question form */
body.page-id-1798 .et_pb_text_inner > div:has(> #questionform) {
    background: transparent !important;
    padding: 0 !important;
}

body.page-id-1798 #questionform {
    background: #fff;
    border-top: 5px solid var(--csa-accent, #f8bc2b);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 12px 34px rgba(38, 17, 37, 0.1);
    box-sizing: border-box;
    margin-top: 24px;
    padding: 30px;
    width: 100%;
}

body.page-id-1798 #questionform .csa-question-honeypot {
    height: 1px !important;
    left: -10000px !important;
    overflow: hidden !important;
    position: absolute !important;
    top: auto !important;
    width: 1px !important;
}

body.page-id-1798 .csa-form-error {
    background: #fff4f4;
    border-left: 4px solid #a51d2d;
    color: #711421;
    font-weight: 700;
    margin: 24px 0;
    padding: 16px 18px;
}

body.page-id-1798 #questionform .csa-question-form-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

/* Bootstrap's clearfix pseudo-elements otherwise become extra grid cells. */
body.page-id-1798 #questionform .csa-question-form-grid::before,
body.page-id-1798 #questionform .csa-question-form-grid::after,
body.page-id-1798 #questionform .csa-question-form-actions::before,
body.page-id-1798 #questionform .csa-question-form-actions::after {
    content: none !important;
    display: none !important;
}

body.page-id-1798 #questionform .csa-question-form-column,
body.page-id-1798 #questionform .csa-question-form-actions > div {
    float: none;
    margin: 0;
    min-width: 0;
    padding: 0;
    width: auto;
}

body.page-id-1798 #questionform label {
    color: #251025;
    display: block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 16px;
}

body.page-id-1798 #questionform input[type="text"],
body.page-id-1798 #questionform input[type="email"],
body.page-id-1798 #questionform select,
body.page-id-1798 #questionform textarea {
    background: #fff;
    border: 1px solid #cfc7d0 !important;
    border-radius: 5px;
    box-sizing: border-box;
    color: #1e1e1e;
    font-family: inherit;
    font-size: 16px;
    margin-top: 6px;
    max-width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

body.page-id-1798 #questionform textarea {
    min-height: 300px;
    resize: vertical;
}

body.page-id-1798 #questionform input:focus,
body.page-id-1798 #questionform select:focus,
body.page-id-1798 #questionform textarea:focus {
    border-color: var(--csa-primary, #56234f) !important;
    box-shadow: 0 0 0 3px rgba(86, 35, 79, 0.15);
    outline: 0;
}

body.page-id-1798 #questionform .csa-question-privacy {
    align-items: flex-start;
    background: #f7f4f7;
    border-left: 3px solid var(--csa-primary, #56234f);
    border-radius: 3px;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 10px;
    line-height: 1.5;
    margin-top: 4px;
    padding: 14px;
}

body.page-id-1798 #questionform .csa-question-privacy input {
    flex: 0 0 18px;
    height: 18px;
    margin: 2px 0 0;
    width: 18px;
}

body.page-id-1798 #questionform .csa-question-form-actions {
    margin: 10px 0 0;
}

body.page-id-1798 #questionform .plainte-envoyer-btn {
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    min-height: 48px;
    padding: 12px 24px;
}

body.page-id-1798 #questionform .plainte-envoyer-btn:hover,
body.page-id-1798 #questionform .plainte-envoyer-btn:focus {
    background: #3d1838 !important;
    border-color: #3d1838 !important;
}

@media (max-width: 980px) {
    body.page-id-1798 #questionform .csa-question-form-grid {
        grid-template-columns: 1fr;
    }

    body.page-id-1798 #questionform textarea {
        min-height: 220px;
    }
}

@media (max-width: 600px) {
    body.page-id-1798 #questionform {
        margin-top: 18px;
        padding: 20px 16px;
    }

    body.page-id-1798 #questionform .csa-question-form-grid {
        gap: 4px;
    }

    body.page-id-1798 #questionform .plainte-envoyer-btn {
        width: 100%;
    }
}

/* Multi-step form (#msform) */
#msform {
    width: 500px;
    margin: 50px auto;
    text-align: center;
    position: relative;
}

#msform fieldset {
    background: white;
    border: 0 none;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-form);
    padding: 20px 30px;
    box-sizing: border-box;
    width: 80%;
    margin: 0 10%;
    position: relative;
}

#msform fieldset:not(:first-of-type) {
    display: none;
}

#msform input,
#msform textarea,
#msform select {
    padding: 15px;
    border: 1px solid #ccc !important;
    border-radius: var(--radius-sm) !important;
    margin-bottom: 10px !important;
    width: 100%;
    box-sizing: border-box !important;
}

#msform .action-button {
    width: 100px !important;
    background: var(--csa-primary) !important;
    font-weight: bold !important;
    color: white !important;
    border: 0 none !important;
    border-radius: 1px !important;
    cursor: pointer;
    padding: 10px 5px !important;
    margin: 10px 5px !important;
}

#msform .action-button:hover,
#msform .action-button:focus {
    box-shadow: 0 0 0 2px white, 0 0 0 3px var(--csa-primary);
}

/* Form sub-headings */
.fs-title {
    font-size: var(--font-size-base);
    text-transform: uppercase;
    color: #2C3E50;
    margin-bottom: 10px;
}

.fs-subtitle {
    font-weight: normal;
    font-size: var(--font-size-sm);
    color: #666;
    margin-bottom: 20px;
}

/* Progress bar */
#progressbar {
    margin-bottom: 30px;
    overflow: hidden;
    counter-reset: step;
}

#progressbar li {
    list-style-type: none;
    text-transform: uppercase;
    font-size: var(--font-size-xs);
    width: 33.33%;
    float: left;
    position: relative;
}

#progressbar li:before {
    content: counter(step);
    counter-increment: step;
    width: 30px;
    line-height: 30px;
    display: block;
    font-size: var(--font-size-sm);
    color: var(--csa-text);
    background: white;
    border-radius: var(--radius-sm);
    margin: 0 auto 5px auto;
}

#progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: white;
    position: absolute;
    left: -50%;
    top: 9px;
    z-index: -1;
}

#progressbar li:first-child:after { content: none; }

#progressbar li.active:before,
#progressbar li.active:after {
    background: var(--csa-primary);
    color: white;
}


/* ==========================================================================
   9. BUTTONS & TABS
   ========================================================================== */

/* Tab reference buttons */
.btn-ref-5 {
    float: left;
    padding: 10px 15px !important;
    border-bottom: 1px solid var(--csa-primary) !important;
}

.btn-ref-5.active {
    background: var(--csa-primary) !important;
}

.btn-ref-5.active a {
    color: #fff !important;
}

/* Active radio-button tab */
a.active-rb {
    border-bottom: 1px solid var(--csa-primary);
    transition: all 0.5s;
    background: var(--csa-border-light);
}

#triggers-rb a:focus {
    text-decoration: none !important;
}

/* Styled buttons with decorative border (btn-rb1, btn-rb2) */
.btn-rb1 {
    padding: 7px 61px !important;
    width: 100% !important;
    display: inline;
    border-top: 1px solid var(--csa-accent-rose-d) !important;
    border-bottom: 1px solid var(--csa-accent-rose-d) !important;
    border-right: 1px solid var(--csa-accent-rose-d) !important;
}

.btn-rb1:before {
    content: "";
    border-left: 1px solid var(--csa-accent-rose-d) !important;
    position: absolute;
    margin-left: -61px;
    margin-top: 14px;
    height: 12px;
}

.btn-rb1 a { color: var(--csa-text-subtle) !important; }

.btn-rb1 a:before {
    content: "";
    border-left: 1px solid var(--csa-accent-rose-d) !important;
    margin-left: -61px;
    margin-top: -8px;
    position: absolute;
    height: 11px;
}

.btn-line {
    width: 25%;
    border-bottom: 1px solid var(--csa-accent-rose-d) !important;
    height: 15px;
    float: left;
}

.btn-rb2 {
    padding: 7px 0 !important;
    border-top: 1px solid var(--csa-accent-rose-d) !important;
    border-bottom: 1px solid var(--csa-accent-rose-d) !important;
    border-right: 1px solid var(--csa-accent-rose-d) !important;
    text-align: center !important;
}

.btn-rb2:before {
    content: "";
    border-left: 1px solid var(--csa-accent-rose-d) !important;
    position: absolute;
    left: 26px;
    margin-top: 14px;
    height: 12px;
}

.btn-rb2 a { color: var(--csa-text-subtle) !important; }

.btn-rb2 a:before {
    content: "";
    border-left: 1px solid var(--csa-accent-rose-d) !important;
    left: 26px;
    margin-top: -8px;
    position: absolute;
    height: 11px;
}

.btn-line2 {
    border-bottom: 1px solid var(--csa-accent-rose-d) !important;
    height: 22px;
    float: left;
}

/* Cookies button */
.cookies-btn,
.cookies-btn:hover {
    color: #fff;
}


/* ==========================================================================
  10. HOMEPAGE SECTIONS
   ========================================================================== */

/* Section hero title */
.home-section-title {
    font-size: var(--font-size-hero);
    font-weight: 700;
    color: var(--csa-dark);
    margin-bottom: -32px;
    margin-left: 15px;
}


/* ==========================================================================
  11. DOCUMENTS & PUBLICATIONS
   ========================================================================== */

.doc-post {
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--csa-border) !important;
    padding-bottom: 10px !important;
}

.all-doc-inner {
    background: var(--csa-bg-light) !important;
    margin: 0 0 10px 10px !important;
    text-align: center !important;
    padding-bottom: 20px !important;
}

.underline-ref-1:hover {
    transition: border 1s !important;
    border-color: var(--csa-accent-teal) !important;
}

ul#plr-tabs li h4 {
    font-size: 16px;
}


/* ==========================================================================
  12. AGENDA & TIMELINE
   ========================================================================== */

.timeline {
    list-style: none;
    padding: 10px 0;
    position: relative;
    font-weight: 300;
    display: inline-block;
    width: 100%;
}

.timeline:before {
    top: 0;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 2px;
    background: #ffffff;
    left: 50%;
    margin-left: -1.5px;
}

.timeline > li {
    margin-bottom: 20px;
    position: relative;
    width: 50%;
    float: left;
    clear: left;
}

.timeline > li:before,
.timeline > li:after {
    content: " ";
    display: table;
}

.timeline > li:after { clear: both; }

.timeline > li > .timeline-panel {
    width: calc(100% - 25px);
    float: left;
    border: 1px solid #dcdcdc;
    background: #ffffff;
    position: relative;
}

.timeline > li > .timeline-panel:before {
    position: absolute;
    top: 26px;
    right: -15px;
    display: inline-block;
    border-top: 15px solid transparent;
    border-left: 15px solid #dcdcdc;
    border-right: 0 solid #dcdcdc;
    border-bottom: 15px solid transparent;
    content: " ";
}

.timeline > li > .timeline-panel:after {
    position: absolute;
    top: 27px;
    right: -14px;
    display: inline-block;
    border-top: 14px solid transparent;
    border-left: 14px solid #ffffff;
    border-right: 0 solid #ffffff;
    border-bottom: 14px solid transparent;
    content: " ";
}

.timeline > li > .timeline-badge {
    color: #ffffff;
    width: 24px;
    height: 24px;
    line-height: 50px;
    text-align: center;
    position: absolute;
    top: 16px;
    right: -12px;
    z-index: 100;
}

.timeline > li.timeline-inverted > .timeline-panel { float: right; }

.timeline > li.timeline-inverted > .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -15px;
    right: auto;
}

.timeline > li.timeline-inverted > .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
}

.timeline-badge > a { color: #ffffff !important; }
.timeline-badge a:hover { color: #dcdcdc !important; }
.timeline-title { margin-top: 0; color: inherit; }

.timeline-heading h4 {
    font-weight: 400;
    padding: 0 15px;
    color: var(--csa-accent-blue-h);
}

.timeline-body > p,
.timeline-body > ul {
    padding: 10px 15px;
    margin-bottom: 0;
}

.timeline-footer {
    padding: 5px 15px;
    background-color: #f4f4f4;
}

.timeline-footer p { margin-bottom: 0; }

.timeline-footer > a {
    cursor: pointer;
    text-decoration: none;
}

.timeline > li.timeline-inverted {
    float: right;
    clear: right;
}

.timeline > li:nth-child(2) { margin-top: 60px; }

.timeline > li.timeline-inverted > .timeline-badge { left: -12px; }

.no-float { float: none !important; }


/* ==========================================================================
  13. MEMBERS & CARDS — (from single-membre.php)
   reserved for future member card styles
   ========================================================================== */


/* ==========================================================================
  14. HOVER ANIMATIONS (hvr-*)
   ========================================================================== */

/* -- Underline From Center -- */
.hvr-underline-from-center {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
}

.hvr-underline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    bottom: 0;
    background: var(--csa-primary-light);
    height: 4px;
    transition-property: left, right;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}

.hvr-underline-from-center:hover:before,
.hvr-underline-from-center:focus:before,
.hvr-underline-from-center:active:before {
    left: 0;
    right: 0;
}

/* -- Underline From Left -- */
.hvr-underline-from-left {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
}

.hvr-underline-from-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 100%;
    bottom: 0;
    background: var(--csa-primary-light);
    height: 4px;
    transition-property: right;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}

.hvr-underline-from-left:hover:before,
.hvr-underline-from-left:focus:before,
.hvr-underline-from-left:active:before {
    right: 0;
}

/* -- Pop -- */
@keyframes hvr-pop {
    50% { transform: scale(1.05); }
}

.hvr-pop {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-pop:hover,
.hvr-pop:focus,
.hvr-pop:active {
    animation-name: hvr-pop;
    animation-duration: 0.3s;
    animation-timing-function: linear;
    animation-iteration-count: 1;
}

/* -- Float -- */
.hvr-float {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    transition-duration: 2s;
    transition-property: transform;
    transition-timing-function: ease-out;
}

.hvr-float:hover,
.hvr-float:focus,
.hvr-float:active {
    transform: translateY(-8px);
}

/* -- Bob -- */
@keyframes hvr-bob {
    0%   { transform: translateY(-8px); }
    50%  { transform: translateY(-4px); }
    100% { transform: translateY(-8px); }
}

@keyframes hvr-bob-float {
    100% { transform: translateY(-8px); }
}

.hvr-bob {
    display: inline-block;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-bob:hover,
.hvr-bob:focus,
.hvr-bob:active {
    animation-name: hvr-bob-float, hvr-bob;
    animation-duration: .3s, 1.5s;
    animation-delay: 0s, .3s;
    animation-timing-function: ease-out, ease-in-out;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: forwards;
    animation-direction: normal, alternate;
}


/* ==========================================================================
  15. FOOTER — Replicating original CSA.be (Avada) footer
   ========================================================================== */

/* ── Footer wrapper ── */
.csa-footer {
    font-family: var(--font-primary);
}

#main-footer > #footer-widgets,
#main-footer > #et-footer-nav,
#main-footer > #footer-bottom {
    display: none !important;
}

body:not(.csa-et-fb) footer#main-footer:not(.csa-footer) {
    display: none !important;
}

/* ── Footer Top — fallback when the child footer template is rendered ── */
.csa-footer-top {
    background-color: #f6f6f6;
    padding: 40px 0 30px;
    border-top: 4px solid var(--csa-accent-gold);
}

.csa-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

/* ── Footer Columns grid ── */
.csa-footer-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.csa-footer-col {
    flex: 1;
    min-width: 180px;
}

.csa-footer-title {
    color: #333333;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 15px;
    padding: 0;
}

.csa-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.csa-footer-col ul li {
    margin-bottom: 6px;
}

.csa-footer-col ul li a {
    color: #333333;
    font-family: var(--font-primary);
    font-size: 13px;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.csa-footer-col ul li a:hover {
    color: var(--csa-primary);
}

/* ── Social icons row + FWB logo ── */
.csa-footer-social-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

.csa-footer-social-icons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Divi Theme Builder footer modules */
.csa-footer-builder.et_pb_section {
    padding: 40px 0 30px !important;
}

.csa-footer-builder-bottom.et_pb_section {
    padding: 14px 0 !important;
}

.csa-footer-builder .et_pb_row,
.csa-footer-builder-bottom .et_pb_row {
    width: 100%;
}

.csa-footer-builder .et_pb_column,
.csa-footer-builder-bottom .et_pb_column {
    margin-bottom: 0 !important;
}

.csa-footer-builder .et_pb_module,
.csa-footer-builder-bottom .et_pb_module {
    margin-bottom: 0 !important;
}

.csa-footer-builder .csa-footer-columns .et_pb_column {
    margin-right: 0 !important;
    width: auto !important;
}

.csa-footer-builder .csa-footer-columns .csa-footer-col {
    flex: 1 1 180px;
}

.csa-footer-title-module h2,
.csa-footer-title-module h4 {
    color: #333333;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 15px;
    padding: 0;
}

.csa-footer-links-module ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.csa-footer-links-module li {
    margin-bottom: 6px;
}

.csa-footer-links-module a {
    color: #333333;
    font-family: var(--font-primary);
    font-size: 13px;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.csa-footer-links-module a:hover {
    color: var(--csa-primary);
}

.csa-footer-social-row .et_pb_column {
    margin-right: 0 !important;
    width: auto !important;
}

.csa-footer-social-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    flex-wrap: wrap;
}

.csa-footer-logo-cell {
    flex: 0 0 auto;
}

.csa-footer-social-cell .et_pb_social_media_follow {
    display: flex !important;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 !important;
    padding: 0 !important;
}

.csa-footer-social-cell .et_pb_social_media_follow li {
    margin: 0 !important;
}

.csa-footer-social-cell .et_pb_social_media_follow li a.icon {
    width: 34px;
    height: 34px;
    margin: 0 !important;
    border-radius: 50%;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.csa-footer-social-cell .et_pb_social_media_follow li a.icon:before {
    width: 34px;
    height: 34px;
    color: #ffffff !important;
    font-size: 15px;
    line-height: 34px;
}

.csa-footer-social-cell .et_pb_social_media_follow li a.icon:hover {
    transform: scale(1.1);
    opacity: 0.85;
}

.csa-footer-social-module li.et-social-facebook a.icon { background-color: #3b5998 !important; }
.csa-footer-social-module li.et-social-twitter a.icon { background-color: #1da1f2 !important; }
.csa-footer-social-module li.et-social-vimeo a.icon { background-color: #1ab7ea !important; }
.csa-footer-social-module li.et-social-instagram a.icon { background-color: #c32aa3 !important; }
.csa-footer-social-module li.et-social-linkedin a.icon { background-color: #0077b5 !important; }

.csa-footer-mail-module.et_pb_icon {
    display: inline-flex;
    align-items: center;
}

.csa-footer-mail-module a,
.csa-footer-mail-module .et_pb_icon_wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.csa-footer-mail-module .et_pb_icon_wrap {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #555555;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.csa-footer-mail-module .et-pb-icon {
    color: #ffffff !important;
    font-size: 17px;
    line-height: 1;
}

.csa-footer-mail-module .et_pb_icon_wrap:hover {
    transform: scale(1.1);
    opacity: 0.85;
}

.csa-footer-logo-cell .csa-footer-fwb-logo {
    text-align: right;
}

.csa-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 15px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.csa-social-icon::before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background-color: #fff;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.csa-social-facebook::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.77l-.44 2.89h-2.33v6.99A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.77l-.44 2.89h-2.33v6.99A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
}

.csa-social-twitter::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9 3h3.3l-7.2 8.2L23.5 21h-6.7l-5.2-6.1L5.6 21H2.3l7.7-8.8L1.8 3h6.9l4.7 5.5L18.9 3zm-1.2 16.3h1.8L7.7 4.6H5.8l11.9 14.7z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.9 3h3.3l-7.2 8.2L23.5 21h-6.7l-5.2-6.1L5.6 21H2.3l7.7-8.8L1.8 3h6.9l4.7 5.5L18.9 3zm-1.2 16.3h1.8L7.7 4.6H5.8l11.9 14.7z'/%3E%3C/svg%3E");
}

.csa-social-vimeo::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.98 6.42c-.11 2.34-1.74 5.54-4.89 9.61-3.27 4.25-6.03 6.37-8.29 6.37-1.41 0-2.58-1.29-3.55-3.88L5.32 11.4C4.61 8.81 3.85 7.52 3.05 7.52c-.17 0-.78.37-1.83 1.1L0 7.05c1.22-1.07 2.43-2.14 3.63-3.21 1.64-1.41 2.87-2.15 3.69-2.23 1.93-.19 3.13 1.14 3.58 3.97.49 3.06.82 4.96 1 5.71.56 2.64 1.18 3.96 1.85 3.96.52 0 1.3-.82 2.33-2.46 1.03-1.64 1.59-2.89 1.66-3.76.15-1.43-.4-2.15-1.66-2.15-.59 0-1.2.14-1.83.41 1.22-3.98 3.54-5.91 6.96-5.8 2.54.08 3.74 1.67 3.6 4.8z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.98 6.42c-.11 2.34-1.74 5.54-4.89 9.61-3.27 4.25-6.03 6.37-8.29 6.37-1.41 0-2.58-1.29-3.55-3.88L5.32 11.4C4.61 8.81 3.85 7.52 3.05 7.52c-.17 0-.78.37-1.83 1.1L0 7.05c1.22-1.07 2.43-2.14 3.63-3.21 1.64-1.41 2.87-2.15 3.69-2.23 1.93-.19 3.13 1.14 3.58 3.97.49 3.06.82 4.96 1 5.71.56 2.64 1.18 3.96 1.85 3.96.52 0 1.3-.82 2.33-2.46 1.03-1.64 1.59-2.89 1.66-3.76.15-1.43-.4-2.15-1.66-2.15-.59 0-1.2.14-1.83.41 1.22-3.98 3.54-5.91 6.96-5.8 2.54.08 3.74 1.67 3.6 4.8z'/%3E%3C/svg%3E");
}

.csa-social-instagram::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4c0 3.2-2.6 5.8-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8C2 4.6 4.6 2 7.8 2zm-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.4 5.6 20 7.6 20h8.8c2 0 3.6-1.6 3.6-3.6V7.6C20 5.6 18.4 4 16.4 4H7.6zm9.65 1.5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4c0 3.2-2.6 5.8-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8C2 4.6 4.6 2 7.8 2zm-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.4 5.6 20 7.6 20h8.8c2 0 3.6-1.6 3.6-3.6V7.6C20 5.6 18.4 4 16.4 4H7.6zm9.65 1.5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/%3E%3C/svg%3E");
}

.csa-social-linkedin::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.34V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.32 7.43a2.06 2.06 0 1 1 0-4.12 2.06 2.06 0 0 1 0 4.12zM7.1 20.45H3.54V9H7.1v11.45zM22.23 0H1.77C.79 0 0 .77 0 1.72v20.56C0 23.23.79 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.21 0 22.23 0z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.45 20.45h-3.56v-5.57c0-1.33-.03-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.34V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.32 7.43a2.06 2.06 0 1 1 0-4.12 2.06 2.06 0 0 1 0 4.12zM7.1 20.45H3.54V9H7.1v11.45zM22.23 0H1.77C.79 0 0 .77 0 1.72v20.56C0 23.23.79 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.21 0 22.23 0z'/%3E%3C/svg%3E");
}

.csa-social-email::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.csa-social-icon:hover {
    transform: scale(1.1);
    opacity: 0.85;
}

/* Social icon brand colors */
.csa-social-facebook  { background-color: #3b5998; }
.csa-social-twitter   { background-color: #1da1f2; }
.csa-social-vimeo     { background-color: #1ab7ea; }
.csa-social-instagram { background-color: #c32aa3; }
.csa-social-linkedin  { background-color: #0077b5; }
.csa-social-email     { background-color: #555555; }

/* FWB logo */
.csa-footer-fwb-logo img {
    max-height: 50px;
    width: auto;
}

.csa-fwb-text {
    font-size: 12px;
    color: #666;
    font-style: italic;
}

/* ── Footer Bottom — dark maroon/purple bar ── */
.csa-footer-bottom {
    background-color: #4a2040;
    color: #ffffff;
    padding: 14px 0;
}

.csa-footer-legal {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.csa-footer-copyright {
    color: #ffffff;
    font-size: 12px;
}

.csa-footer-legal a {
    color: #ffffff;
    font-family: var(--font-primary);
    font-size: 12px;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.csa-footer-legal a:hover {
    color: #ffffff;
}

.csa-footer-sep {
    color: #ffffff;
    font-size: 12px;
}

.csa-footer-builder-bottom,
.csa-footer-builder-bottom .et_pb_text,
.csa-footer-builder-bottom .et_pb_text_inner,
.csa-footer-builder-bottom .csa-footer-legal,
.csa-footer-builder-bottom .csa-footer-copyright,
.csa-footer-builder-bottom .csa-footer-sep,
.csa-footer-builder-bottom .csa-footer-legal a {
    color: #ffffff !important;
}

/* ── Footer Responsive ── */
@media screen and (max-width: 980px) {
    .csa-footer-columns {
        flex-direction: column;
        gap: 25px;
    }

    .csa-footer-col {
        min-width: 100%;
    }

    .csa-footer-social-row {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }

    .csa-footer-builder .csa-footer-columns .csa-footer-col,
    .csa-footer-social-row .et_pb_column {
        width: 100% !important;
    }

    .csa-footer-logo-cell .csa-footer-fwb-logo {
        text-align: left;
    }
}

/* ==========================================================================
   CSA primary navigation: Divi Library mega menus + search drawer
   ========================================================================== */

@media screen and (min-width: 981px) {
    #top-menu > li.csa-has-mega-layout {
        position: static !important;
    }

    #top-menu > li.csa-has-mega-layout > ul.sub-menu {
        display: none !important;
    }

    #top-menu > li.csa-has-mega-layout > a {
        position: relative;
        padding-right: 18px !important;
        text-decoration: none !important;
    }

    #top-menu > li.csa-has-mega-layout > a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: 4px;
        width: 5px;
        height: 5px;
        margin-top: -4px;
        border: 0 !important;
        border-right: 1.5px solid #52284e !important;
        border-bottom: 1.5px solid #52284e !important;
        background: transparent !important;
        text-decoration: none !important;
        transform: rotate(45deg);
    }

    #top-menu > li.csa-has-mega-layout:hover > a:after,
    #top-menu > li.csa-has-mega-layout.csa-mega-open > a:after {
        border-color: #52284e !important;
    }

    .csa-primary-mega-panel {
        position: fixed;
        top: var(--csa-divi-dropdown-top, 100px);
        left: 0;
        right: 0;
        z-index: 100001;
        width: 100vw;
        max-width: none;
        margin: 0;
        border-top: 0;
        background: #fff;
        box-shadow: 0 24px 54px rgba(22, 12, 28, 0.16);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
        transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
    }

    #top-menu > li.csa-has-mega-layout.csa-mega-open > .csa-primary-mega-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .csa-primary-mega-panel-inner {
        width: 100%;
        max-height: calc(100vh - var(--csa-divi-dropdown-top, 100px));
        overflow: auto;
        background: #fff;
    }

    .csa-primary-mega-panel .csa-divi-nav-dropdown-section,
    .csa-primary-mega-panel .csa-divi-nav-dropdown-section > .et_pb_row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    #et_top_search {
        cursor: pointer;
    }

    #et_search_icon {
        text-decoration: none !important;
        outline-offset: 4px;
    }

    #et_search_icon:after {
        display: none !important;
    }

    body.csa-search-open .et_search_outer {
        display: none !important;
    }
}

/* Legacy compatibility */
.footer-links li a {
    padding: 5px 10px;
}

#footer-widgets .widget-title,
#footer-widgets h3 {
    color: var(--csa-text-light);
    font-size: 18px;
}


/* ==========================================================================
  16. UTILITIES
   ========================================================================== */

.hide { display: none; }
.pad10 { padding: 10px; }


/* ==========================================================================
  17. RESPONSIVE / MEDIA QUERIES
   ========================================================================== */

/* -- Mobile (max 640px) — phone — */
@media screen and (max-width: 640px) {
    #logo {
        float: left;
        margin-top: 5px !important;
        margin-bottom: -4px !important;
    }

    #csa-menu-trigger {
        margin-top: 8px !important;
    }
}

/* -- Mobile (max 768px) — page title — */
@media (max-width: 768px) {
    .et_pb_fullwidth_header h1,
    .page-title-area h1 {
        margin-top: 73px;
        margin-bottom: 10px;
    }
}

/* -- Timeline responsive (max 767px) — */
@media (max-width: 767px) {
    ul.timeline:before {
        left: 40px;
    }

    ul.timeline > li {
        margin-bottom: 0;
        position: relative;
        width: 100%;
        float: left;
        clear: left;
    }

    ul.timeline > li > .timeline-panel {
        width: calc(100% - 65px);
    }

    ul.timeline > li > .timeline-badge {
        left: 28px;
        margin-left: 0;
        top: 16px;
    }

    ul.timeline > li > .timeline-panel {
        float: right;
    }

    ul.timeline > li > .timeline-panel:before {
        border-left-width: 0;
        border-right-width: 15px;
        left: -15px;
        right: auto;
    }

    ul.timeline > li > .timeline-panel:after {
        border-left-width: 0;
        border-right-width: 14px;
        left: -14px;
        right: auto;
    }

    .timeline > li.timeline-inverted {
        float: left;
        clear: left;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .timeline > li.timeline-inverted > .timeline-badge {
        left: 28px;
    }
}


/* ==========================================================================
   18. UTILITY BAR — Quick access strip (inspired by cvdm.nl)
   ========================================================================== */

.csa-utility-bar {
    background: var(--csa-primary);
    color: #fff;
    font-family: var(--font-primary);
    font-size: 12px;
    padding: 0;
    position: relative;
    z-index: 100001;
    transition: transform 0.35s ease, opacity 0.35s ease, height 0.35s ease;
}

.csa-utility-bar.csa-hidden {
    transform: translateY(-100%);
    opacity: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.csa-utility-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 36px;
}

.csa-utility-label {
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.3px;
    opacity: 0.85;
}

.csa-utility-right {
    display: flex;
    align-items: center;
    gap: 0;
}

.csa-utility-right a {
    color: #fff !important;
    text-decoration: none !important;
    padding: 8px 14px;
    font-size: 12px;
    font-family: var(--font-primary);
    transition: background 0.2s ease, color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 5px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.csa-utility-right a:first-child {
    border-left: none;
}

.csa-utility-right a:hover {
    background: rgba(255, 255, 255, 0.12);
}

.csa-utility-right a i {
    font-size: 11px;
    opacity: 0.7;
}

/* Hide utility bar label on mobile */
@media screen and (max-width: 768px) {
    .csa-utility-left {
        display: none;
    }
    .csa-utility-right {
        width: 100%;
        justify-content: center;
    }
    .csa-utility-right a {
        font-size: 11px;
        padding: 8px 10px;
    }
}


/* ==========================================================================
   19. MEGA MENU — Full-width navigation (arcom.fr style)
   ========================================================================== */

/* ── Position header below utility bar ── */
body:not(.csa-scrolled) #main-header,
body:not(.csa-scrolled) .et-l--header {
    position: relative;
}

/* ── Scrolled state: sticky header ── */
body.csa-scrolled #main-header,
body.csa-scrolled .et-l--header {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    z-index: 99999 !important;
    background: #fff !important;
    border-bottom: 4px solid var(--csa-accent-gold) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, top 0.3s ease;
}

/* ── Admin bar offset ── */
body.admin-bar.csa-scrolled #main-header,
body.admin-bar.csa-scrolled .et-l--header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar.csa-scrolled #main-header,
    body.admin-bar.csa-scrolled .et-l--header {
        top: 46px !important;
    }
}

/* ── Scrolled logo: shrink ── */
body.csa-scrolled .logo_container img,
body.csa-scrolled #logo {
    height: 36px !important;
    transition: height 0.35s ease;
}

/* ── Normal logo: smooth transition ── */
.logo_container img,
#logo {
    transition: height 0.35s ease;
}

/* ── Scrolled header: compact padding ── */
body.csa-scrolled #main-header .container,
body.csa-scrolled .et-l--header .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.csa-scrolled #top-menu > li > a {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* ── Gold underline indicator for active/hover menu items ── */
#top-menu > li > a {
    position: relative;
}

#top-menu > li:not(.csa-has-mega-layout) > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    right: 50%;
    height: 3px;
    background: var(--csa-accent-gold);
    transition: left 0.3s ease, right 0.3s ease;
}

#top-menu > li:not(.csa-has-mega-layout):hover > a::after,
#top-menu > .current-menu-item:not(.csa-has-mega-layout) > a::after,
#top-menu > .current-menu-ancestor:not(.csa-has-mega-layout) > a::after {
    left: 0;
    right: 0;
}

/* ── Remove redundant ::before override (already hidden above) ── */

/* ── Mega menu dropdown panels — clean, no double gold border ── */
#top-menu > li > ul.sub-menu {
    background: #fff !important;
    border: none !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    padding: 16px 20px !important;
    min-width: 260px !important;
    max-width: 420px !important;
    animation: csaMenuSlideIn 0.3s cubic-bezier(0.2, 0, 0.2, 1);
    margin-top: 0 !important;
}

@keyframes csaMenuSlideIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Sub-menu items — refined, normal case ── */
#top-menu li li {
    border-bottom: none !important;
    margin: 0 !important;
}

#top-menu li li a {
    font-size: 13.5px !important;
    font-family: var(--font-primary) !important;
    font-weight: 400 !important;
    color: var(--csa-text) !important;
    text-transform: none !important;
    padding: 9px 14px 9px 16px !important;
    border-radius: 4px;
    transition: all 0.2s ease !important;
    position: relative;
    border-left: 3px solid transparent;
    line-height: 1.4 !important;
}

#top-menu li li a:hover {
    background: rgba(82, 40, 78, 0.05) !important;
    color: var(--csa-primary) !important;
    padding-left: 20px !important;
    border-left-color: var(--csa-accent-gold);
}

/* ── Sub-menu category labels ── */
#top-menu li li.menu-item-has-children > a {
    font-weight: 600 !important;
    color: var(--csa-primary) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--csa-border);
    margin-bottom: 4px;
    margin-top: 8px;
    padding-bottom: 8px !important;
    border-radius: 0;
    border-left: none;
}

#top-menu li li.menu-item-has-children:first-child > a {
    margin-top: 0;
}

#top-menu li li.menu-item-has-children > a:hover {
    background: transparent !important;
    padding-left: 16px !important;
    border-left: none;
}


/* ── Max Mega Menu integration overrides ── */

/* Wrapper reset — no background/border on the menu bar itself */
#mega-menu-wrap-primary-menu,
.mega-menu-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* ── Mega Menu rows/columns ── */
#mega-menu-wrap-primary-menu .mega-menu-row,
.mega-menu-wrap .mega-menu-row {
    display: flex !important;
    flex-wrap: wrap;
}

#mega-menu-wrap-primary-menu .mega-menu-column,
.mega-menu-wrap .mega-menu-column {
    padding: 12px 16px;
    width: 100% !important;
    min-width: 0;
    flex: 1 1 100% !important;
}

/* ── Dropdown panels — constrained width, clean shadow, no gold top border ── */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu,
#mega-menu-wrap-primary-menu .mega-sub-menu,
.mega-menu-wrap .mega-sub-menu {
    background: #fff !important;
    border: none !important;
    border-top: none !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    border-radius: 0 0 6px 6px !important;
    animation: csaMenuSlideIn 0.3s cubic-bezier(0.2, 0, 0.2, 1);
    max-width: 480px !important;
    width: auto !important;
    padding: 16px 8px !important;
}

/* ── Nested sub-menus inside mega-menu columns — reset shadow/padding ── */
#mega-menu-wrap-primary-menu .mega-menu-column .mega-sub-menu,
#mega-menu-wrap-primary-menu .mega-menu-row .mega-sub-menu {
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    animation: none;
}

/* ── Hide empty search bar artifact inside mega-menu dropdowns ── */
#mega-menu-wrap-primary-menu .mega-sub-menu .mega-search,
#mega-menu-wrap-primary-menu .mega-sub-menu > .mega-menu-row:empty,
#mega-menu-wrap-primary-menu .mega-sub-menu > li:empty {
    display: none !important;
}

/* ── Top-level menu items ── */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link,
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link {
    font-family: var(--font-primary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--csa-text) !important;
    background: transparent !important;
    padding: 18px 14px !important;
    transition: color 0.2s ease !important;
    line-height: 1.3 !important;
    position: relative;
}

/* Top-level hover */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:hover > a.mega-menu-link,
.mega-menu-wrap .mega-menu > li.mega-menu-item > a.mega-menu-link:hover {
    color: var(--csa-primary) !important;
    background: transparent !important;
}

/* ── Active / toggled item — purple text, NO background ── */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-menu-megamenu.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-menu-flyout.mega-toggle-on > a.mega-menu-link {
    color: var(--csa-primary) !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* ── Sub-menu items — NORMAL case, clean hover ── */
#mega-menu-wrap-primary-menu .mega-sub-menu a.mega-menu-link,
#mega-menu-wrap-primary-menu .mega-sub-menu li.mega-menu-item a.mega-menu-link,
.mega-menu-wrap .mega-sub-menu a.mega-menu-link {
    font-family: var(--font-primary) !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: var(--csa-text) !important;
    text-transform: none !important;
    padding: 9px 14px 9px 16px !important;
    border-radius: 4px;
    border-left: 3px solid transparent;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
    background: transparent !important;
}

/* Sub-menu hover — gold left accent */
#mega-menu-wrap-primary-menu .mega-sub-menu a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu .mega-sub-menu li.mega-menu-item a.mega-menu-link:hover,
.mega-menu-wrap .mega-sub-menu a.mega-menu-link:hover {
    background: rgba(82, 40, 78, 0.05) !important;
    color: var(--csa-primary) !important;
    border-left-color: var(--csa-accent-gold);
    padding-left: 20px !important;
}

/* ── Column headings (only if parent has sub-items — true group headers) ── */
/* Disabled: currently all menu items use simple flyout or single-column megamenu.
   Enable when multi-column menus with group headers are configured. */

/* ── Indicator arrows ── */
#mega-menu-wrap-primary-menu .mega-indicator,
#mega-menu-wrap-primary-menu .mega-indicator:after,
.mega-menu-wrap .mega-indicator {
    display: inline-block;
    margin-left: 4px;
    font-size: 9px;
    opacity: 0.4;
}

/* ── Fix: page-container padding that creates gap ── */
body #page-container {
    padding-top: 0 !important;
}

/* ── Body padding when header is fixed ── */
body.csa-scrolled {
    padding-top: 90px;
}

/* ── Responsive mega menu ── */
@media screen and (max-width: 980px) {
    .csa-utility-bar {
        display: none;
    }
    body.csa-scrolled {
        padding-top: 70px;
    }
    body.csa-scrolled #csa-menu-trigger {
        top: 5px;
    }
    #mega-menu-wrap-primary-menu .mega-sub-menu,
    .mega-menu-wrap .mega-sub-menu {
        max-width: none !important;
    }
}


/* ==========================================================================
   20. MEGA MENU PANEL — LE CSA (Full-Width 4-Column)
   ========================================================================== */

/* ── Full-width override ── */
/* --mega-offset is set by JS once on the <li> = negative of li.left */
/* ==========================================================================
   20. BACKEND-MANAGED MAX MEGA MENU GRID -- LE CSA
   ========================================================================== */

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.mega-menu-grid > ul.mega-sub-menu,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.csa-native-megamenu > ul.mega-sub-menu {
    left: var(--mega-offset, 0) !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 20px 60px rgba(26, 26, 62, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.mega-menu-grid:not(.mega-toggle-on) > ul.mega-sub-menu,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.csa-native-megamenu:not(.mega-toggle-on) > ul.mega-sub-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.mega-toggle-on > ul.mega-sub-menu {
    animation: csaMegaSlideIn 0.35s cubic-bezier(0.2, 0, 0.2, 1) !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 > ul.mega-sub-menu > li.mega-menu-row {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
    display: grid !important;
    grid-template-columns: repeat(var(--columns, 12), minmax(0, 1fr));
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    min-height: 380px;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column {
    grid-column: span var(--span, 3);
    width: auto !important;
    min-width: 0;
    max-width: none !important;
    flex: none !important;
    padding: 32px 28px !important;
    margin: 0 !important;
    border-right: 1px solid rgba(82, 40, 78, 0.06);
    box-sizing: border-box;
    list-style: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column:last-child {
    border-right: none;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column li.mega-menu-item > ul.mega-sub-menu {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
    transform: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-col-nav,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-col-nav,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column:first-child {
    background: linear-gradient(180deg, #faf9fc 0%, #fff 100%);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-col-contact,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-col-contact {
    background: linear-gradient(180deg, #faf9fc 0%, #f3f0f5 100%);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 .mega-block-title,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 .csa-mega-title {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px !important;
    padding: 0 0 10px !important;
    border-bottom: 2px solid var(--csa-accent-gold);
    color: var(--csa-primary) !important;
    font-family: var(--font-primary) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item-type-widget {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 0 4px !important;
    list-style: none !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    display: flex !important;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding: 8px 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--csa-text) !important;
    background: transparent !important;
    font-family: var(--font-primary) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:focus {
    background: rgba(82, 40, 78, 0.06) !important;
    color: var(--csa-primary) !important;
    transform: translateX(4px);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .mega-description-group {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .mega-menu-title {
    color: inherit !important;
    font-family: var(--font-primary) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .mega-menu-description {
    display: block !important;
    margin-top: 2px;
    color: #999 !important;
    font-family: var(--font-primary) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column li.mega-has-icon > a.mega-menu-link {
    align-items: center !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column li.mega-has-icon > a.mega-menu-link:before {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    border-radius: 8px;
    color: #fff !important;
    background: var(--csa-mega-icon-bg, linear-gradient(135deg, #52284E, #7B3F76)) !important;
    font-size: 18px !important;
    line-height: 38px !important;
    text-align: center !important;
    transition: transform 0.2s ease;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-has-icon > a.mega-menu-link:hover:before,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-has-icon > a.mega-menu-link:focus:before {
    transform: scale(1.08);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-color-purple,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-color-purple {
    --csa-mega-icon-bg: linear-gradient(135deg, #52284E, #7B3F76);
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-color-teal,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-color-teal {
    --csa-mega-icon-bg: linear-gradient(135deg, #00897b, #26a69a);
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-color-gold,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-color-gold {
    --csa-mega-icon-bg: linear-gradient(135deg, #e6a817, #f5be2f);
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-color-blue,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-color-blue {
    --csa-mega-icon-bg: linear-gradient(135deg, #3B82F6, #60A5FA);
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.csa-color-rose,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-csa-color-rose {
    --csa-mega-icon-bg: linear-gradient(135deg, #DB2777, #EC4899);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column li.mega-menu-item > ul.mega-sub-menu {
    padding-left: 52px !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column li.mega-menu-item > ul.mega-sub-menu a.mega-menu-link {
    min-height: 0;
    padding: 5px 0 !important;
    color: #777 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .widget,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .textwidget,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column .custom-html-widget {
    width: 100% !important;
    max-width: none !important;
    color: var(--csa-text);
    font-family: var(--font-primary);
}

@media screen and (max-width: 980px) {
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.mega-menu-grid > ul.mega-sub-menu,
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972.csa-native-megamenu > ul.mega-sub-menu {
        left: 0 !important;
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100vh - 120px);
        overflow-y: auto !important;
        border-radius: 0 !important;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
        display: block !important;
        min-height: 0;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li#mega-menu-item-85972 li.mega-menu-column {
        display: block !important;
        width: 100% !important;
        padding: 22px 20px !important;
        border-right: 0;
        border-bottom: 1px solid rgba(82, 40, 78, 0.06);
    }
}

/* Legacy shortcode/widget panel. */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu:has(.csa-megamenu-panel) {
    left: var(--mega-offset, 0) !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 20px 60px rgba(26, 26, 62, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    /* Kill MMM's fade_up animation that causes the bounce */
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Force instant hide when mega-toggle-on is removed — prevents bg/text desync */
#mega-menu-wrap-primary-menu li.mega-menu-megamenu:not(.mega-toggle-on) > ul.mega-sub-menu:has(.csa-megamenu-panel) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Hide original MMM children only when the CSA shortcode/widget panel is present */
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:not(:has(.csa-megamenu-panel)) {
    display: none !important;
}

/* Keep the shortcode/widget wrapper and the legacy injected panel visible */
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:has(.csa-megamenu-panel) {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:has(.csa-megamenu-panel) > a.mega-menu-link {
    display: none !important;
}
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:has(.csa-megamenu-panel) .widget,
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:has(.csa-megamenu-panel) .textwidget,
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > li:has(.csa-megamenu-panel) .widget_custom_html {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) > .csa-megamenu-panel,
#mega-menu-wrap-primary-menu li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) .csa-megamenu-panel {
    display: grid !important;
}

/* ── Panel Grid ── */
.csa-megamenu-panel {
    display: grid;
    grid-template-columns: 280px 1fr 1fr 300px;
    min-height: 380px;
    background: #fff;
    width: 100%;
}

/* ── Column Base ── */
.csa-megamenu-col {
    padding: 32px 28px;
    border-right: 1px solid rgba(82, 40, 78, 0.06);
}
.csa-megamenu-col:last-child {
    border-right: none;
}

/* ── Column Title ── */
.csa-megamenu-col-title {
    font-family: var(--font-primary);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--csa-primary);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--csa-accent-gold);
    display: flex;
    align-items: center;
    gap: 8px;
}
.csa-megamenu-col-title svg {
    width: 14px;
    height: 14px;
    fill: var(--csa-accent-gold);
}

/* ── Navigation Column ── */
.csa-megamenu-col.csa-megamenu-nav {
    background: linear-gradient(180deg, #faf9fc 0%, #fff 100%);
}

.csa-megamenu-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.2, 0, 0.2, 1);
    margin-bottom: 3px;
}
.csa-megamenu-link:hover {
    background: rgba(82, 40, 78, 0.06);
    transform: translateX(4px);
}
.csa-megamenu-link:hover .csa-megamenu-icon {
    transform: scale(1.08);
}

.csa-megamenu-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}
.csa-megamenu-icon svg {
    width: 18px;
    height: 18px;
    fill: white;
}

.csa-megamenu-link-text {
    display: flex;
    flex-direction: column;
}
.csa-megamenu-link-label {
    font-family: var(--font-primary);
    font-size: 13.5px;
    font-weight: 500;
    color: var(--csa-text);
    line-height: 1.3;
}
.csa-megamenu-link-desc {
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: 400;
    color: #999;
    line-height: 1.3;
    margin-top: 2px;
}

/* Icon colours */
.csa-megamenu-icon--purple { background: linear-gradient(135deg, #52284E, #7B3F76); }
.csa-megamenu-icon--teal   { background: linear-gradient(135deg, #00897b, #26a69a); }
.csa-megamenu-icon--gold   { background: linear-gradient(135deg, #e6a817, #f5be2f); }
.csa-megamenu-icon--blue   { background: linear-gradient(135deg, #3B82F6, #60A5FA); }
.csa-megamenu-icon--rose   { background: linear-gradient(135deg, #DB2777, #EC4899); }

/* ── Featured Article Card ── */
.csa-megamenu-card {
    border-radius: 12px;
    overflow: hidden;
    background: #f8f7fa;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.csa-megamenu-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(82, 40, 78, 0.12);
}
.csa-megamenu-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
}
.csa-megamenu-card-body {
    padding: 16px 18px;
}
.csa-megamenu-card-tag {
    display: inline-block;
    font-family: var(--font-primary);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: white;
    background: var(--csa-primary);
    padding: 3px 8px;
    border-radius: 4px;
    margin-bottom: 8px;
}
.csa-megamenu-card-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
    color: var(--csa-text);
    margin-bottom: 6px;
    line-height: 1.35;
}
.csa-megamenu-card-excerpt {
    font-family: var(--font-primary);
    font-size: 12px;
    color: #777;
    line-height: 1.5;
    margin-bottom: 12px;
}
.csa-megamenu-card-cta {
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 600;
    color: var(--csa-primary) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: gap 0.2s ease;
}
.csa-megamenu-card-cta:hover {
    gap: 10px;
    color: var(--csa-accent-gold) !important;
}

/* ── Publications List ── */
.csa-megamenu-pub {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}
.csa-megamenu-pub:last-child {
    border-bottom: none;
}
.csa-megamenu-pub:hover {
    opacity: 0.75;
}
.csa-megamenu-pub-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
}
.csa-megamenu-pub-text {
    flex: 1;
    min-width: 0;
}
.csa-megamenu-pub-title {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 500;
    color: var(--csa-text);
    line-height: 1.3;
    margin-bottom: 3px;
}
.csa-megamenu-pub-meta {
    font-family: var(--font-primary);
    font-size: 11px;
    color: #aaa;
}

.csa-megamenu-viewall {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 600;
    color: var(--csa-primary) !important;
    text-decoration: none !important;
    margin-top: 16px;
    padding: 8px 14px;
    border: 1.5px solid var(--csa-primary);
    border-radius: 8px;
    transition: all 0.2s ease;
}
.csa-megamenu-viewall:hover {
    background: var(--csa-primary);
    color: white !important;
}

/* ── Contact Column ── */
.csa-megamenu-col.csa-megamenu-contact {
    background: linear-gradient(180deg, #faf9fc 0%, #f3f0f5 100%);
}

.csa-megamenu-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    font-family: var(--font-primary);
    font-size: 13px;
    color: var(--csa-text);
    line-height: 1.4;
}
.csa-megamenu-contact-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(82, 40, 78, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.csa-megamenu-contact-icon svg {
    width: 15px;
    height: 15px;
    fill: var(--csa-primary);
}

.csa-megamenu-cta {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--csa-primary);
    color: white !important;
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 600;
    padding: 13px 20px;
    border-radius: 10px;
    text-decoration: none !important;
    margin-top: 20px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(82, 40, 78, 0.2);
}
.csa-megamenu-cta:hover {
    background: var(--csa-accent-gold);
    color: var(--csa-text) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(245, 190, 47, 0.3);
}

.csa-megamenu-social {
    display: flex;
    gap: 8px;
    margin-top: 18px;
}
.csa-megamenu-social a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(82, 40, 78, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.csa-megamenu-social a svg {
    width: 16px;
    height: 16px;
    fill: var(--csa-primary);
    transition: fill 0.2s ease;
}
.csa-megamenu-social a:hover {
    background: var(--csa-primary);
}
.csa-megamenu-social a:hover svg {
    fill: white;
}

/* ── Widget styling (for backend-managed content) ── */
.csa-megamenu-widget {
    font-family: var(--font-primary);
}
.csa-megamenu-widget-title {
    display: none; /* Hide widget titles, we use col-title instead */
}

/* ── Mega menu slide-in animation ── */
@keyframes csaMegaSlideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu.mega-toggle-on > ul.mega-sub-menu:has(.csa-megamenu-panel) {
    animation: csaMegaSlideIn 0.35s cubic-bezier(0.2, 0, 0.2, 1);
}

/* ==========================================================================
   21. AGENDA CALENDAR -- Side-by-side Layout (Calendar Left, Events Right)
   ========================================================================== */
#main-content .container:has(.csa-cal-layout) { max-width: 1320px !important; width: 100% !important; padding-top: 28px !important; padding-bottom: 54px !important; }
body.post-type-archive-agenda.et_right_sidebar #main-content .container:before,
body.post-type-archive-agenda #main-content .container:before,
.et_right_sidebar #main-content .container:has(.csa-cal-layout):before {
    display: none !important;
    content: none !important;
}
.csa-cal-hero { background: linear-gradient(135deg, #52284e 0%, #3a1c38 100%); padding: 36px 28px; border-radius: 14px; margin-bottom: 28px; position: relative; overflow: hidden; }
.csa-cal-hero::before { content:''; position:absolute; top:-60%; right:-10%; width:400px; height:400px; background:radial-gradient(circle,rgba(245,190,47,.15) 0%,transparent 70%); border-radius:50%; pointer-events:none; }
.csa-cal-hero-inner { display:flex; align-items:center; gap:20px; position:relative; z-index:1; }
.csa-cal-hero-icon { width:60px; height:60px; background:rgba(255,255,255,.12); border-radius:14px; display:flex; align-items:center; justify-content:center; color:var(--csa-accent-gold); flex-shrink:0; }
.csa-cal-hero-title { font-family:var(--font-primary)!important; font-size:26px!important; font-weight:700!important; color:#fff!important; margin:0 0 4px 0!important; line-height:1.2!important; }
.csa-cal-hero-subtitle { font-family:var(--font-primary); font-size:13px; color:rgba(255,255,255,.65); margin:0; }
div.csa-cal-layout,
.csa-cal-layout,
#content-area .csa-cal-layout,
#main-content .csa-cal-layout,
body .csa-cal-layout { display: grid !important; grid-template-columns: 360px 1fr !important; gap: 24px !important; align-items: start !important; }
aside.csa-cal-left,
.csa-cal-left,
body .csa-cal-left { position: sticky !important; top: 100px; display: block !important; }
main.csa-cal-right,
.csa-cal-right,
body .csa-cal-right { display: block !important; min-height: 400px; }
.csa-cal-container { background: #fff; border-radius: 14px; box-shadow: 0 2px 16px rgba(0,0,0,.06); overflow: hidden; }
.csa-cal-topbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #f0f0f0; }
.csa-cal-nav { display:flex; align-items:center; gap:8px; }
.csa-cal-nav-btn { width:32px; height:32px; border:1px solid #e8e8e8; background:#fff; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; color:var(--csa-text); }
.csa-cal-nav-btn:hover { background:var(--csa-primary); border-color:var(--csa-primary); color:#fff; }
.csa-cal-nav-btn:hover svg path { fill:#fff; }
.csa-cal-month-label { font-family:var(--font-primary)!important; font-size:15px!important; font-weight:600!important; color:var(--csa-text)!important; margin:0!important; min-width:140px; text-align:center; line-height:1!important; }
.csa-cal-today-btn { font-family:var(--font-primary); font-size:10px; font-weight:600; color:var(--csa-primary); background:rgba(82,40,78,.06); border:1px solid rgba(82,40,78,.15); padding:6px 10px; border-radius:6px; cursor:pointer; transition:all .2s; text-transform:uppercase; letter-spacing:.5px; }
.csa-cal-today-btn:hover { background:var(--csa-primary); color:#fff; border-color:var(--csa-primary); }
.csa-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); padding:10px 12px 14px; gap:0; position:relative; transition:opacity .3s; }
.csa-cal-grid.csa-cal-loading { opacity:.35; pointer-events:none; }
.csa-cal-placeholder { grid-column:1/-1; display:flex; align-items:center; justify-content:center; padding:60px 0; color:#999; }
.csa-cal-spinner { width:24px; height:24px; border:3px solid #e8e8e8; border-top-color:var(--csa-primary); border-radius:50%; animation:csaCalSpin .8s linear infinite; }
@keyframes csaCalSpin { to { transform:rotate(360deg); } }
.csa-cal-header { font-family:var(--font-primary); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:#bbb; text-align:center; padding:0 0 8px; }
.csa-cal-cell { text-align:center; padding:4px 2px; min-height:46px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:3px; border-top:1px solid #f5f5f5; transition:background .15s; }
.csa-cal-empty { background:transparent; }
.csa-cal-day { cursor:default; }
.csa-cal-day-num { font-family:var(--font-primary); font-size:13px; font-weight:400; color:var(--csa-text); width:30px; height:30px; line-height:30px; border-radius:50%; transition:all .2s; display:inline-block; }
.csa-cal-has-event { cursor:pointer; }
.csa-cal-has-event:hover { background:rgba(82,40,78,.03); }
.csa-cal-has-event .csa-cal-day-num { font-weight:600; color:var(--csa-primary); }
.csa-cal-today .csa-cal-day-num { background:var(--csa-accent-gold); color:#fff!important; font-weight:700; box-shadow:0 2px 6px rgba(245,190,47,.35); }
.csa-cal-selected .csa-cal-day-num { background:var(--csa-primary)!important; color:#fff!important; font-weight:700; box-shadow:0 2px 8px rgba(82,40,78,.3); transform:scale(1.05); }
.csa-cal-dots { display:flex; align-items:center; justify-content:center; gap:2px; height:6px; }
.csa-cal-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; transition:transform .2s; }
.csa-cal-has-event:hover .csa-cal-dot { transform:scale(1.3); }
.csa-cal-dot-more { font-size:7px; font-weight:700; color:#999; }
.csa-cal-filters { display:flex; flex-wrap:wrap; gap:6px; padding:12px 0 0; margin-top:12px; }
.csa-cal-filter-btn { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-primary); font-size:11px; font-weight:500; color:#666; background:#f7f7f7; border:1px solid #e8e8e8; padding:5px 10px; border-radius:16px; cursor:pointer; white-space:nowrap; transition:all .2s; }
.csa-cal-filter-btn:hover { background:#f0edf0; border-color:#ccc; color:var(--csa-text); }
.csa-cal-filter-btn.active { background:var(--csa-primary); border-color:var(--csa-primary); color:#fff; }
.csa-cal-filter-btn.active .csa-cal-filter-dot { background:#fff!important; }
.csa-cal-filter-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.csa-cal-legend { display:flex; gap:14px; padding:10px 0 0; flex-wrap:wrap; }
.csa-cal-legend-item { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-primary); font-size:11px; color:#555; }
.csa-cal-legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.csa-cal-legend-today { background:var(--csa-accent-gold); }
.csa-cal-legend-event { background:var(--csa-primary); }
.csa-cal-events-panel { background: #fff; border-radius: 14px; box-shadow: 0 2px 16px rgba(0,0,0,.06); overflow: visible; max-height: none; display: flex; flex-direction: column; }
.csa-cal-events-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid #f0f0f0; flex-shrink: 0; }
.csa-cal-events-title { font-family:var(--font-primary)!important; font-size:15px!important; font-weight:600!important; color:var(--csa-text)!important; margin:0!important; }
.csa-cal-event-count { font-family:var(--font-primary); font-size:11px; font-weight:600; color:var(--csa-primary); background:rgba(82,40,78,.08); padding:4px 10px; border-radius:16px; white-space:nowrap; }
.csa-cal-events-list { padding:14px 20px 22px; display:flex; flex-direction:column; gap:12px; overflow: visible; flex: 0 0 auto; min-height: auto; }
.csa-cal-events-list::-webkit-scrollbar { width: 4px; }
.csa-cal-events-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.csa-cal-events-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 20px; gap:12px; }
.csa-cal-events-empty p { font-family:var(--font-primary); font-size:14px; color:#bbb; margin:0; }
.csa-cal-event-card { display:flex; min-height:96px; background:#fafafa; border-radius:8px; overflow:hidden; text-decoration:none!important; transition:all .25s; border:1px solid #f0f0f0; }
.csa-cal-event-card:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.06); border-color:#e0e0e0; }
.csa-cal-event-accent { width:3px; flex-shrink:0; }
.csa-cal-event-body { padding:12px 14px; flex:1; min-width:0; }
.csa-cal-event-tag { display:inline-block; font-family:var(--font-primary); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; padding:2px 7px; border-radius:4px; margin-bottom:4px; }
.csa-cal-event-title { font-family:var(--font-primary); font-size:13px; font-weight:600; color:var(--csa-text)!important; margin-bottom:4px; line-height:1.35; white-space:normal; overflow:visible; text-overflow:clip; }
.csa-cal-event-record { display:flex; align-items:center; gap:4px; min-width:0; max-width:100%; margin-bottom:4px; font-family:var(--font-primary); font-size:10px; font-weight:600; color:#777; }
.csa-cal-event-record svg { width:12px; height:12px; flex:0 0 12px; color:var(--csa-primary); opacity:.72; }
.csa-cal-event-record span { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csa-cal-event-dates { display:flex; align-items:center; gap:4px; font-family:var(--font-primary); font-size:10px; color:#999; margin-bottom:4px; }
.csa-cal-event-excerpt { display:none; }
.csa-cal-event-cta { display:none; }
.csa-cal-event-arrow { transition:transform .2s; display:inline-block; }
.csa-cal-event-card:hover .csa-cal-event-arrow { transform:translateX(4px); }
@media screen and (max-width: 900px) {
    div.csa-cal-layout,
    #content-area .csa-cal-layout,
    #main-content .csa-cal-layout,
    body .csa-cal-layout {
        box-sizing: border-box !important;
        gap: 18px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    aside.csa-cal-left,
    body .csa-cal-left {
        min-width: 0 !important;
        position: static !important;
        top: auto !important;
        width: 100% !important;
    }

    main.csa-cal-right,
    body .csa-cal-right {
        min-height: auto !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}
@media screen and (max-width: 600px) {
    #main-content .container:has(.csa-cal-layout) {
        box-sizing: border-box !important;
        overflow: hidden !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        width: 100% !important;
    }

    .csa-cal-hero {
        box-sizing: border-box;
        margin-bottom: 16px;
        max-width: 100%;
        padding: 18px 16px;
        border-radius: 10px;
        overflow: hidden;
    }

    .csa-cal-hero-inner {
        align-items: center;
        flex-direction: row;
        gap: 12px;
        min-width: 0;
        text-align: left;
    }

    .csa-cal-hero-inner > div:last-child {
        min-width: 0;
    }

    .csa-cal-hero-icon {
        border-radius: 10px;
        height: 46px;
        width: 46px;
    }

    .csa-cal-hero-icon svg {
        height: 28px;
        width: 28px;
    }

    .csa-cal-hero-title {
        font-size: 19px!important;
    }

    .csa-cal-hero-subtitle {
        font-size: 11px;
        line-height: 1.45;
    }

    .csa-cal-container { border-radius:10px; }
    .csa-cal-topbar {
        gap: 8px;
        padding: 10px;
    }

    .csa-cal-nav {
        flex: 1 1 auto;
        gap: 4px;
        justify-content: space-between;
        min-width: 0;
    }

    .csa-cal-nav-btn {
        flex: 0 0 32px;
    }

    .csa-cal-month-label {
        flex: 1 1 auto;
        font-size: 13px!important;
        min-width: 0;
        white-space: nowrap;
    }

    .csa-cal-today-btn {
        flex: 0 0 auto;
        font-size: 9px;
        padding: 6px 8px;
    }

    .csa-cal-grid { padding:6px 6px 10px; }
    .csa-cal-day-num { font-size:11px; width:26px; height:26px; line-height:26px; }
    .csa-cal-cell { min-height:38px; padding:3px 1px; }
    .csa-cal-legend {
        justify-content: center;
        padding: 10px 0 2px;
    }

    .csa-cal-events-panel {
        border-radius: 10px;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .csa-cal-events-header {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px;
        padding: 13px 14px;
    }

    .csa-cal-events-title {
        flex: 1 1 210px;
        font-size: 14px!important;
        line-height: 1.35!important;
        overflow-wrap: anywhere;
    }

    .csa-cal-events-list { padding:10px 12px 14px; }
    .csa-cal-event-card {
        max-width: 100%;
        min-width: 0;
    }
    .csa-cal-event-body { padding:11px 10px; }
    .csa-cal-event-tag {
        font-size: 7px;
        letter-spacing: .45px;
        max-width: 100%;
        white-space: normal;
    }
    .csa-cal-event-title {
        font-size: 12px;
        overflow-wrap: anywhere;
    }
    .csa-cal-event-dates {
        align-items: flex-start;
        line-height: 1.4;
    }
}

/* ==========================================================================
   22. HOMEPAGE EVENTS SLIDER
   ========================================================================== */
.csa-eslider {
    max-width: 1320px;
    margin: 40px auto;
    padding: 0 20px;
    font-family: var(--font-primary, 'Inter', sans-serif);
}
.csa-eslider-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.csa-eslider-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--csa-primary, #52284e);
}
.csa-eslider-title {
    font-family: var(--font-primary) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--csa-text, #1a1a3e) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
.csa-eslider-header-right {
    display: flex;
    align-items: center;
    gap: 14px;
}
.csa-eslider-count {
    font-size: 11px;
    font-weight: 600;
    color: var(--csa-primary);
    background: rgba(82,40,78,.08);
    padding: 4px 12px;
    border-radius: 16px;
}
.csa-eslider-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--csa-primary) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1.5px solid var(--csa-primary);
    border-radius: 8px;
    transition: all .2s;
}
.csa-eslider-link:hover {
    background: var(--csa-primary);
    color: #fff !important;
}
.csa-eslider-link:hover svg { stroke: #fff; }

/* Viewport + arrows */
.csa-eslider-viewport {
    position: relative;
}
.csa-eslider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    transition: all .2s;
    color: var(--csa-text);
}
.csa-eslider-arrow:hover {
    background: var(--csa-primary);
    border-color: var(--csa-primary);
    color: #fff;
}
.csa-eslider-arrow:hover svg path { stroke: #fff; }
.csa-eslider-prev { left: -14px; }
.csa-eslider-next { right: -14px; }

/* Track */
.csa-eslider-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 4px 0 12px;
    scrollbar-width: none;
}
.csa-eslider-track::-webkit-scrollbar { display: none; }

/* Cards */
.csa-eslider-card {
    flex: 0 0 280px;
    scroll-snap-align: start;
    display: flex;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none !important;
    transition: all .25s;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.csa-eslider-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(82,40,78,.1);
    border-color: #ddd;
}
.csa-eslider-past { opacity: .6; }
.csa-eslider-past:hover { opacity: .85; }

.csa-eslider-card-date {
    flex: 0 0 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 3px solid;
    padding: 12px 0;
    background: #faf9fc;
}
.csa-eslider-card-day {
    font-size: 22px;
    font-weight: 700;
    color: var(--csa-text);
    line-height: 1;
}
.csa-eslider-card-wday {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    margin-top: 2px;
}
.csa-eslider-card-body {
    flex: 1;
    padding: 12px 14px;
    min-width: 0;
}
.csa-eslider-card-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 2px 7px;
    border-radius: 4px;
    margin-bottom: 6px;
}
.csa-eslider-card-title {
    font-family: var(--font-primary) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--csa-text) !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.csa-eslider-card-time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #999;
}

/* Empty state */
.csa-eslider-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 50px 20px;
    gap: 10px;
    background: #faf9fc;
    border-radius: 12px;
    border: 1px dashed #e0e0e0;
}
.csa-eslider-empty p {
    font-size: 14px;
    color: #999;
    margin: 0;
}

/* Responsive */
@media screen and (max-width: 768px) {
    .csa-eslider { margin: 24px auto; }
    .csa-eslider-title { font-size: 16px !important; }
    .csa-eslider-card { flex: 0 0 240px; }
    .csa-eslider-prev { left: 4px; }
    .csa-eslider-next { right: 4px; }
    .csa-eslider-header { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════════
   22. FAQ ACCORDION (Premium)
   ═══════════════════════════════════════════════════════════════════ */

.csa-faq-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0 40px;
}

/* ── Search Bar ── */
.csa-faq-search {
    margin-bottom: 28px;
}

.csa-faq-search-tools {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.csa-faq-search-inner {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    max-width: 100%;
    min-height: 52px;
    padding: 0 48px;
    border: 1px solid #ded8e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(82, 40, 78, 0.06);
    box-sizing: border-box;
    transition: border-color 0.25s, box-shadow 0.25s;
}

.csa-faq-search-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    color: #7d6a7b;
    font-size: 15px;
    pointer-events: none;
    text-align: center;
    z-index: 1;
}

.csa-faq-search-input {
    width: 100%;
    min-height: 50px;
    padding: 0 !important;
    font-size: 15px;
    font-family: var(--font-primary);
    line-height: 1.4;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    color: #333;
    outline: none;
    box-shadow: none !important;
    box-sizing: border-box;
}

.csa-faq-search-inner:focus-within {
    border-color: #52284E;
    box-shadow: 0 0 0 3px rgba(82, 40, 78, 0.10), 0 8px 22px rgba(82, 40, 78, 0.08);
}

.csa-faq-search-input:focus {
    border-color: transparent;
    box-shadow: none !important;
}

.csa-faq-search-input::placeholder {
    color: #aaa;
}

.csa-faq-search-clear {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    font-size: 22px;
    color: #999;
    cursor: pointer;
    line-height: 25px;
    text-align: center;
    border-radius: 50%;
    background: #f4f1f4;
    transition: color 0.2s;
}

.csa-faq-search-clear:hover {
    color: #52284E;
}

.csa-faq-reorder-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid #ded8e0;
    border-radius: 8px;
    background: #fff;
    color: #52284E !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(82, 40, 78, 0.05);
    transition: border-color 0.2s, box-shadow 0.2s, color 0.2s;
}

.csa-faq-reorder-link:hover {
    border-color: #cdbfcb;
    color: #b44e74 !important;
    box-shadow: 0 8px 22px rgba(82, 40, 78, 0.09);
}

.csa-faq-search-msg {
    margin-top: 8px;
    font-size: 13px;
    color: #888;
    min-height: 20px;
}

.csa-faq-search-msg i {
    margin-right: 4px;
    color: #b44e74;
}

/* ── Layout: Sidebar + Content ── */
.csa-faq-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* ── Category Sidebar ── */
.csa-faq-sidebar {
    flex: 0 0 292px;
    position: sticky;
    top: 120px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee;
    padding: 16px 12px 20px;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    margin-bottom: 40px;
    box-shadow: 0 6px 18px rgba(82,40,78,0.06);
}

.csa-faq-sidebar-title {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
    color: #52284E;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 6px 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid #f5bf34;
}

.csa-faq-cat-list {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
}

.csa-faq-cat-list li {
    margin: 0;
}

.csa-faq-cat-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 8px;
    margin: 1px 0;
    font-size: 13.5px;
    font-family: var(--font-primary);
    line-height: 1.28;
    color: #444 !important;
    text-decoration: none !important;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
    cursor: pointer;
}

.csa-faq-cat-link:hover {
    background: #f5f0f4;
    color: #52284E !important;
}

.csa-faq-cat-link.active {
    background: #52284E;
    color: #fff !important;
    font-weight: 500;
}

.csa-faq-cat-link.active .csa-faq-cat-count {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

.csa-faq-cat-count {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 600;
    background: #f1f1f1;
    color: #888;
    padding: 2px 7px;
    border-radius: 10px;
    min-width: 26px;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
}

/* ── FAQ Content Area ── */
.csa-faq-content {
    flex: 1;
    min-width: 0;
}

/* ── Category Group ── */
.csa-faq-category-group {
    margin-bottom: 32px;
}

.csa-faq-category-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-primary);
    font-size: 17px;
    font-weight: 600;
    color: #52284E;
    text-transform: uppercase;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.csa-faq-category-bar {
    display: inline-block;
    width: 4px;
    height: 22px;
    background: #f5bf34;
    border-radius: 2px;
    flex-shrink: 0;
}

/* Color cycle for category bars */
.csa-faq-category-group:nth-child(6n+1) .csa-faq-category-bar { background: #f5bf34; }
.csa-faq-category-group:nth-child(6n+2) .csa-faq-category-bar { background: #51b3af; }
.csa-faq-category-group:nth-child(6n+3) .csa-faq-category-bar { background: #7d5d81; }
.csa-faq-category-group:nth-child(6n+4) .csa-faq-category-bar { background: #b44e74; }
.csa-faq-category-group:nth-child(6n+5) .csa-faq-category-bar { background: #52284e; }
.csa-faq-category-group:nth-child(6n+6) .csa-faq-category-bar { background: #ead24c; }

.csa-faq-category-count {
    font-size: 12px;
    font-weight: 400;
    color: #999;
    margin-left: auto;
}

/* ── FAQ Item (Accordion) ── */
.csa-faq-items {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #fff;
    border: 1px solid #f0edf2;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(82, 40, 78, 0.035);
}

.csa-faq-item {
    border-bottom: 1px solid #f0edf2;
}

.csa-faq-item:last-child {
    border-bottom: none;
}

.csa-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: var(--font-primary);
    font-size: 14.5px;
    font-weight: 400;
    color: #333;
    text-align: left;
    transition: background 0.2s, color 0.2s;
    outline: none;
    gap: 12px;
}

.csa-faq-question:hover {
    background: #faf7f9;
    color: #52284E;
}

.csa-faq-item.open .csa-faq-question {
    background: #52284E;
    color: #fff;
    border-radius: 0;
}

.csa-faq-toggle-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1f1f1;
    color: #52284E;
    font-size: 12px;
    transition: all 0.25s;
}

.csa-faq-item.open .csa-faq-toggle-icon {
    background: rgba(255,255,255,0.2);
    color: #fff;
    transform: rotate(0deg);
}

/* ── Answer Panel ── */
.csa-faq-answer {
    display: none;
    overflow: hidden;
}

.csa-faq-answer-inner {
    padding: 18px 20px 22px;
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    background: #faf9fb;
    border-left: 0;
    border-radius: 0 0 6px 6px;
    box-shadow: inset 3px 0 0 #52284E;
}

.csa-faq-answer-inner p {
    margin: 0 0 10px;
}

.csa-faq-answer-inner p:last-child {
    margin-bottom: 0;
}

.csa-faq-answer-inner a {
    color: #52284E;
    text-decoration: underline;
}

.csa-faq-answer-inner a:hover {
    color: #b44e74;
}

/* ── Mark.js highlight ── */
.csa-faq-highlight,
mark {
    background: rgba(245, 191, 52, 0.35) !important;
    color: inherit;
    padding: 1px 2px;
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* ── Responsive ── */
@media screen and (max-width: 900px) {
    .csa-faq-layout {
        flex-direction: column;
        gap: 20px;
    }

    .csa-faq-sidebar {
        position: static;
        flex: none;
        width: 100%;
        max-height: none;
        overflow: visible;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .csa-faq-cat-list {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .csa-faq-cat-list li {
        flex: none;
    }

    .csa-faq-cat-link {
        padding: 6px 12px;
        font-size: 12px;
        border: 1px solid #eee;
        border-radius: 20px;
    }

    .csa-faq-cat-link.active {
        border-color: #52284E;
    }

    .csa-faq-cat-count {
        display: none;
    }

    .csa-faq-sidebar-title {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 600px) {
    .csa-faq-container {
        padding: 10px 0 20px;
    }

    .csa-faq-search-tools {
        flex-direction: column;
        gap: 8px;
    }

    .csa-faq-search-inner {
        min-height: 48px;
        padding: 0 42px;
    }

    .csa-faq-search-input {
        min-height: 46px;
        font-size: 14px;
    }

    .csa-faq-reorder-link {
        width: 100%;
        min-height: 44px;
    }

    .csa-faq-question {
        padding: 12px 12px;
        font-size: 13.5px;
    }

    .csa-faq-answer-inner {
        padding: 14px 16px 18px;
        font-size: 13px;
    }

    .csa-faq-category-title {
        font-size: 15px;
    }
}

/* ==========================================================================
   23. HOMEPAGE SECTIONS — Shared Styles
   ========================================================================== */

.csa-home-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
}

.csa-home-section-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--csa-primary, #52284e);
}

.csa-home-section-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(82, 40, 78, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--csa-primary, #52284e);
    flex-shrink: 0;
}

.csa-home-section-icon--decisions {
    background: rgba(230, 168, 23, 0.1);
    color: #e6a817;
}

.csa-home-section-icon--damier {
    background: rgba(81, 179, 175, 0.1);
    color: #51b3af;
}

.csa-home-section-title {
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--csa-text, #1a1a3e) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.csa-home-section-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-primary, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--csa-primary, #52284e) !important;
    text-decoration: none !important;
    padding: 8px 16px;
    border: 1.5px solid var(--csa-primary, #52284e);
    border-radius: 8px;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.csa-home-section-link:hover {
    background: var(--csa-primary, #52284e);
    color: #fff !important;
}

.csa-home-section-link:hover svg {
    stroke: #fff;
}

.csa-home-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
}

/* ==========================================================================
   23a. HOMEPAGE — Actualités Grid
   ========================================================================== */

.csa-home-actus {
    max-width: 1320px;
    margin: 48px auto;
    padding: 0 20px;
    font-family: var(--font-primary, 'Inter', sans-serif);
}

.csa-home-actus-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.csa-home-actus-card {
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    transition: all 0.3s ease;
}

.csa-home-actus-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(82,40,78,0.1);
    border-color: #e0e0e0;
}

.csa-home-actus-card:hover .csa-home-arrow {
    transform: translateX(4px);
}

.csa-home-actus-card-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
}

.csa-home-actus-card-img {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease;
}

.csa-home-actus-card:hover .csa-home-actus-card-img {
    transform: scale(1.03);
}

.csa-home-actus-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    font-family: var(--font-primary);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--csa-accent-gold, #f5bf34);
    color: #1a1a3e;
}

.csa-home-actus-card-body {
    padding: 18px 20px 22px;
}

.csa-home-actus-card-date {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-primary);
    font-size: 12px;
    color: #5f5f5f;
    margin-bottom: 8px;
}

.csa-home-actus-card-date svg {
    fill: #666;
}

.csa-home-actus-card-title {
    font-family: var(--font-primary) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--csa-text, #1a1a3e) !important;
    margin: 0 0 8px !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.csa-home-actus-card-excerpt {
    font-family: var(--font-primary);
    font-size: 13.5px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.csa-home-actus-card-cta {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 600;
    color: var(--csa-primary, #52284e);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.csa-home-actus-feature-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
    gap: 24px;
    align-items: stretch;
}

.csa-home-actus-feature-card,
.csa-home-actus-side-item,
.csa-home-actus-stack-item {
    background: #fff;
    border: 1px solid #ece8eb;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.csa-home-actus-feature-link {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.05fr);
    min-height: 360px;
    color: inherit !important;
    text-decoration: none !important;
}

.csa-home-actus-feature-img {
    min-height: 300px;
    background-size: cover;
    background-position: center;
}

.csa-home-actus-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.csa-home-actus-feature-kicker,
.csa-home-actus-side-date,
.csa-home-actus-stack-meta {
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8b6f86;
}

.csa-home-actus-feature-title {
    font-family: var(--font-primary) !important;
    font-size: 26px !important;
    line-height: 1.18 !important;
    color: var(--csa-primary, #52284e) !important;
    margin: 12px 0 12px !important;
}

.csa-home-actus-feature-excerpt {
    font-family: var(--font-primary);
    font-size: 15px;
    line-height: 1.65;
    color: #5f5860;
    margin: 0 0 20px;
}

.csa-home-actus-feature-cta,
.csa-home-actus-column-more {
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 700;
    color: var(--csa-primary, #52284e);
}

.csa-home-actus-feature-card:hover,
.csa-home-actus-side-item:hover,
.csa-home-actus-stack-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(82,40,78,0.1);
    border-color: rgba(82,40,78,0.2);
}

.csa-home-actus-feature-card:hover .csa-home-arrow,
.csa-home-actus-side-item:hover .csa-home-actus-side-arrow,
.csa-home-actus-stack-item:hover .csa-home-actus-stack-arrow {
    transform: translateX(4px);
}

.csa-home-actus-side-list {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.csa-home-actus-side-item {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 172px;
    padding: 14px 16px 14px 14px;
    color: inherit !important;
    text-decoration: none !important;
}

.csa-home-actus-side-img {
    width: 118px;
    height: 118px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
}

.csa-home-actus-side-copy {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.csa-home-actus-side-copy strong {
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.35;
    color: var(--csa-text, #1a1a3e);
}

.csa-home-actus-side-copy span:last-child {
    font-family: var(--font-primary);
    font-size: 13px;
    line-height: 1.5;
    color: #706a70;
}

.csa-home-actus-side-arrow,
.csa-home-actus-stack-arrow {
    color: var(--csa-primary, #52284e);
    font-size: 22px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.csa-home-actus-stack {
    display: grid;
    gap: 12px;
}

.csa-home-actus-stack-item {
    display: grid;
    grid-template-columns: 128px 54px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    min-height: 132px;
    padding: 14px 20px 14px 14px;
    color: inherit !important;
    text-decoration: none !important;
}

.csa-home-actus-stack-media {
    width: 128px;
    height: 96px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
}

.csa-home-actus-stack-index {
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: 800;
    color: var(--csa-accent-gold, #f5bf34);
}

.csa-home-actus-stack-copy {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.csa-home-actus-stack-copy strong {
    font-family: var(--font-primary);
    font-size: 18px;
    line-height: 1.32;
    color: var(--csa-primary, #52284e);
}

.csa-home-actus-stack-copy span:last-child {
    font-family: var(--font-primary);
    font-size: 13.5px;
    line-height: 1.55;
    color: #655f65;
}

/* ==========================================================================
   23b. HOMEPAGE — Dernières Décisions
   ========================================================================== */

.csa-home-decisions {
    max-width: 1320px;
    margin: 48px auto;
    padding: 0 20px;
    font-family: var(--font-primary, 'Inter', sans-serif);
}

.csa-home-decisions-list {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    overflow: hidden;
}

.csa-home-decisions-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px 22px;
    text-decoration: none !important;
    color: inherit !important;
    border-bottom: 1px solid #f5f5f5;
    transition: all 0.2s ease;
}

.csa-home-decisions-item:last-child {
    border-bottom: none;
}

.csa-home-decisions-item:hover {
    background: #faf7f9;
}

.csa-home-decisions-item:hover .csa-home-decisions-arrow {
    color: var(--csa-primary, #52284e);
    transform: translateX(3px);
}

.csa-home-decisions-item--first {
    border-left: 4px solid var(--csa-accent-gold, #f5bf34);
}

.csa-home-decisions-date {
    flex-shrink: 0;
    width: 56px;
    height: 62px;
    background: linear-gradient(135deg, #52284e 0%, #3a1c38 100%);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 4px 0;
}

.csa-home-decisions-day {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.csa-home-decisions-month {
    font-family: var(--font-primary);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--csa-accent-gold, #f5bf34);
    line-height: 1;
    margin-top: 2px;
}

.csa-home-decisions-year {
    font-family: var(--font-primary);
    font-size: 9px;
    color: rgba(255,255,255,0.5);
    line-height: 1;
}

.csa-home-decisions-content {
    flex: 1;
    min-width: 0;
}

.csa-home-decisions-tag {
    display: inline-block;
    font-family: var(--font-primary);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--csa-primary, #52284e);
    background: rgba(82,40,78,0.06);
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
}

.csa-home-decisions-title {
    font-family: var(--font-primary) !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: var(--csa-text, #1a1a3e) !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.csa-home-decisions-arrow {
    flex-shrink: 0;
    color: #ccc;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
}

.csa-home-decisions--columns {
    max-width: 1320px;
    margin: 56px auto;
    padding: 0;
}

.csa-home-decisions-columns-inner {
    background: #efefea;
    padding: 32px 48px 34px;
}

.csa-home-decisions-columns-heading {
    font-family: var(--font-primary) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #1f1f1f !important;
    margin: 0 0 24px !important;
    line-height: 1.25 !important;
}

.csa-home-decisions-columns-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 28px;
    align-items: stretch;
}

.csa-home-decisions-column-card {
    display: flex;
    flex-direction: column;
    min-height: 156px;
    padding: 0 26px 0 0;
    margin-right: 26px;
    border-right: 1px solid rgba(31,31,31,0.16);
    color: #1f1f1f !important;
    text-decoration: none !important;
}

.csa-home-decisions-column-card:nth-child(4n) {
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
}

.csa-home-decisions-column-date {
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: 700;
    color: #5f5a5e;
    margin-bottom: 8px;
}

.csa-home-decisions-column-title {
    font-family: var(--font-primary);
    font-size: 17px;
    line-height: 1.22;
    color: #1f1f1f;
    margin-bottom: 8px;
}

.csa-home-decisions-column-excerpt {
    font-family: var(--font-primary);
    font-size: 12.5px;
    line-height: 1.42;
    color: #5f5a5e;
}

.csa-home-decisions-column-more {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    margin-top: auto;
    padding-top: 14px;
    font-family: var(--font-primary);
    font-size: 12px;
    font-weight: 700;
    color: var(--csa-primary, #52284e);
}

.csa-home-decisions-column-card:hover .csa-home-arrow {
    transform: translateX(4px);
}

.csa-home-decisions-column-cta {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 156px;
    padding: 28px 30px;
    background: var(--csa-primary, #52284e);
    color: var(--csa-accent-gold, #f5bf34) !important;
    text-decoration: none !important;
    font-family: var(--font-primary);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
    transition: background 0.25s ease, transform 0.25s ease;
}

.csa-home-decisions-column-cta span {
    display: block;
    color: var(--csa-accent-gold, #f5bf34) !important;
    transition: color 0.25s ease;
}

.csa-home-decisions-column-cta svg {
    align-self: flex-end;
    color: var(--csa-accent-gold, #f5bf34);
    transition: transform 0.25s ease;
}

.csa-home-decisions-column-cta:hover {
    background: #3a1c38;
    transform: translateY(-3px);
}

.csa-home-decisions-column-cta:hover span,
.csa-home-decisions-column-cta:hover svg {
    color: #fff !important;
}

.csa-home-decisions-column-cta:hover svg {
    transform: translateX(5px);
}

/* ==========================================================================
   23c. HOMEPAGE — Damier Thématique (Mosaic Grid)
   ========================================================================== */

.csa-home-damier {
    max-width: 1320px;
    margin: 56px auto;
    padding: 0 20px;
    font-family: var(--font-primary, 'Inter', sans-serif);
}

.csa-home-damier-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    overflow: hidden;
    background: var(--csa-primary, #52284e);
}

.csa-home-damier-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    text-decoration: none !important;
    color: #fff !important;
    aspect-ratio: 16 / 10;
    min-height: 210px;
    display: flex;
    align-items: flex-end;
    outline-offset: 4px;
    transition: transform 0.35s cubic-bezier(0.2, 0, 0.2, 1);
}

.csa-home-damier-tile:hover,
.csa-home-damier-tile:focus-visible {
    z-index: 2;
}

.csa-home-damier-tile-img,
.csa-home-damier-tile-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.csa-home-damier-tile-img {
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 0.45s ease, filter 0.45s ease;
}

.csa-home-damier-tile-overlay {
    background: rgba(82, 40, 78, 0.88);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.csa-home-damier-tile:hover .csa-home-damier-tile-img,
.csa-home-damier-tile:focus-visible .csa-home-damier-tile-img {
    transform: scale(1.08);
    filter: saturate(0.9) contrast(1.05);
}

.csa-home-damier-tile:hover .csa-home-damier-tile-overlay,
.csa-home-damier-tile:focus-visible .csa-home-damier-tile-overlay {
    opacity: 1;
}

.csa-home-damier-tile-content {
    position: relative;
    z-index: 1;
    padding: 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 7px;
    min-height: 100%;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.csa-home-damier-tile:hover .csa-home-damier-tile-content,
.csa-home-damier-tile:focus-visible .csa-home-damier-tile-content {
    opacity: 1;
    transform: translateY(0);
}

.csa-home-damier-tile-icon {
    width: 42px;
    height: 42px;
    background: rgba(245, 191, 52, 0.14);
    border: 1px solid rgba(245, 191, 52, 0.38);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--csa-accent-gold, #f5bf34);
    margin-bottom: 3px;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.csa-home-damier-tile-icon svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

.csa-home-damier-tile:hover .csa-home-damier-tile-icon,
.csa-home-damier-tile:focus-visible .csa-home-damier-tile-icon {
    background: var(--csa-accent-gold, #f5bf34);
    color: var(--csa-primary, #52284e);
    transform: scale(1.05);
}

.csa-home-damier-tile-title {
    font-family: var(--font-primary) !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 !important;
    line-height: 1.25 !important;
}

.csa-home-damier-tile-desc {
    font-family: var(--font-primary);
    font-size: 13px;
    color: rgba(255,255,255,0.86);
    margin: 0;
    line-height: 1.45;
    max-width: 240px;
}

.csa-home-damier-tile-cta {
    font-family: var(--font-primary);
    font-size: 12.5px;
    font-weight: 800;
    color: var(--csa-accent-gold, #f5bf34);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
}

.csa-home-damier-tile:hover .csa-home-arrow,
.csa-home-damier-tile:focus-visible .csa-home-arrow {
    transform: translateX(4px);
}

/* ==========================================================================
   24. HOMEPAGE — Responsive
   ========================================================================== */

@media screen and (max-width: 1024px) {
    .csa-home-actus-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csa-home-actus-feature-layout {
        grid-template-columns: 1fr;
    }

    .csa-home-actus-side-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .csa-home-decisions-columns-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 0;
    }

    .csa-home-decisions-column-card:nth-child(even) {
        padding-right: 0;
        border-right: 0;
        margin-right: 0;
    }

    .csa-home-damier-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .csa-home-section-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .csa-home-section-title {
        font-size: 18px !important;
    }

    .csa-home-actus {
        margin: 32px auto;
    }

    .csa-home-actus-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .csa-home-actus-card-img {
        height: 180px;
    }

    .csa-home-actus-feature-link {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .csa-home-actus-feature-img {
        min-height: 220px;
    }

    .csa-home-actus-feature-copy {
        padding: 24px;
    }

    .csa-home-actus-feature-title {
        font-size: 21px !important;
    }

    .csa-home-actus-side-list {
        grid-template-columns: 1fr;
    }

    .csa-home-actus-side-item {
        grid-template-columns: 92px minmax(0, 1fr) auto;
        min-height: 122px;
    }

    .csa-home-actus-side-img {
        width: 92px;
        height: 92px;
    }

    .csa-home-actus-stack-item {
        grid-template-columns: 92px minmax(0, 1fr) auto;
        gap: 14px;
        padding: 12px 14px 12px 12px;
    }

    .csa-home-actus-stack-media {
        width: 92px;
        height: 74px;
    }

    .csa-home-actus-stack-index {
        display: none;
    }

    .csa-home-decisions {
        margin: 32px auto;
    }

    .csa-home-decisions-item {
        padding: 14px 16px;
        gap: 12px;
    }

    .csa-home-decisions-date {
        width: 48px;
        height: 54px;
    }

    .csa-home-decisions-day {
        font-size: 17px;
    }

    .csa-home-decisions-title {
        font-size: 13.5px !important;
    }

    .csa-home-decisions-columns-inner {
        padding: 26px 20px;
    }

    .csa-home-decisions-columns-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .csa-home-decisions-column-card {
        min-height: 0;
        padding: 18px 0;
        margin-right: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(31,31,31,0.16);
    }

    .csa-home-decisions-column-card:nth-child(2) {
        border-bottom: 1px solid rgba(31,31,31,0.16);
    }

    .csa-home-decisions-column-cta {
        min-height: 132px;
        margin-top: 20px;
    }

    .csa-home-damier {
        margin: 36px auto;
    }

    .csa-home-damier-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .csa-home-damier-tile {
        min-height: 190px;
    }

    .csa-home-damier-tile-overlay {
        opacity: 0.72;
    }

    .csa-home-damier-tile-content {
        opacity: 1;
        transform: none;
        padding: 18px;
    }

    .csa-home-damier-tile-title {
        font-size: 16px !important;
    }

    .csa-home-damier-tile-desc {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    .csa-home-damier-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .csa-home-damier-tile {
        aspect-ratio: 16 / 9;
        min-height: 210px;
        min-width: 0;
    }

    .csa-home-damier-tile-content {
        box-sizing: border-box;
        padding: 20px;
        min-width: 0;
    }

    .csa-home-damier-tile-icon {
        width: 44px;
        height: 44px;
    }

    .csa-home-damier-tile-icon svg {
        width: 27px;
        height: 27px;
    }

    .csa-home-damier-tile-title {
        font-size: 20px !important;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .csa-home-damier-tile-cta {
        font-size: 14px;
    }

    .csa-home-damier {
        box-sizing: border-box;
        margin: 30px auto;
        max-width: 100%;
        overflow: hidden;
        padding: 0 16px;
        width: 100%;
    }

    .csa-home-actus-side-item,
    .csa-home-actus-stack-item {
        grid-template-columns: 1fr auto;
    }

    .csa-home-actus-side-img,
    .csa-home-actus-stack-media {
        display: none;
    }
}

/* ==========================================================================
   11b. Document Single Page — Title Bar (matching csa.be production)
   ========================================================================== */

/* Ensure the title bar is not hidden behind the Divi header */
.csa-doc-title-bar {
    background: #52284e;
    padding: 18px 0;
    padding-top: 50px; /* 32px header offset + 18px normal padding */
    margin: 0;
}

.csa-doc-title-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

.csa-doc-title-bar h1 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    letter-spacing: 0.5px;
    line-height: 1.4;
    font-family: 'Poppins', sans-serif;
}

/* ---- Single document page — content area (match csa.be) ---- */
.single-document #main-content {
    background: #f5f5f5;
    padding-bottom: 30px;
}

.single-document #main-content .container {
    max-width: 1200px;
}

/* Override ALL Divi blue links inside document single pages */
.single-document #main-content a {
    color: #333;
    text-decoration: none;
}

.single-document #main-content a:hover {
    color: #52284e;
}

/* Back-to-search link: underlined dark text like production */
.single-document #content-area > #content > div > div:first-child a,
.single-document #content-area div[style*="margin-top"] a {
    color: #333;
    font-weight: 600;
    text-decoration: underline;
}

/* PDF download link — styled like production (blue for files) */
.single-document .panel-body a[href*=".pdf"],
.single-document .panel-body a[target="_blank"] {
    color: #1a73c7;
}

.single-document .panel-body a[href*=".pdf"]:hover,
.single-document .panel-body a[target="_blank"]:hover {
    color: #52284e;
}

/* Document card */
.single-document .panel-ref1 {
    background: #fff;
    border: 1px solid #ededed;
    border-radius: 2px;
    margin-top: 0;
}

.single-document .panel-ref1 h2 {
    font-size: 24px;
    font-weight: 400;
    color: #333;
    line-height: 1.4;
    margin-bottom: 10px;
    padding-bottom: 0;
}

.single-document .panel-ref1 h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
}

/* Remove excess spacing */
.single-document #main-content > .container {
    padding-top: 15px;
}

/* ==========================================================================
   11c. Document Sidebar — Collapse/Accordion Fix
   ========================================================================== */

/* Override Bootstrap collapse since it may conflict with Divi JS.
   Use a vanilla-JS-driven class .csa-panel-open instead. */
.documents-home .panel-collapse.collapse {
    display: none;
    height: auto !important;
    overflow: hidden;
}

.documents-home .panel-collapse.collapse.in,
.documents-home .panel-collapse.collapse.csa-panel-open {
    display: block;
}

/* Chevron rotation on open */
.documents-home .panel-heading .glyphicon-chevron-down {
    transition: transform 0.25s ease;
}

.documents-home .panel-heading.csa-expanded .glyphicon-chevron-down {
    transform: rotate(180deg);
}

/* Sidebar panel styling refinements */
.documents-home .panel {
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
}

.documents-home .panel-body {
    padding: 0 5px 10px 10px;
}

.documents-home .panel-body .table {
    margin-bottom: 0;
}

.documents-home .panel-body .table td {
    border-top: none;
    padding: 5px 0;
}

.documents-home .panel-body .table td a {
    color: #333;
    font-size: 13px;
}

.documents-home .panel-body .table td a:hover {
    color: #52284e;
}

/* ==========================================================================
   25. HOMEPAGE DIVI 5 VARIANTS
   ========================================================================== */

.csa-home-variant,
.csa-home-variant * {
    box-sizing: border-box;
}

.csa-home-variant {
    font-family: var(--font-primary, 'Inter', sans-serif);
    color: var(--csa-text, #1a1a3e);
}

.csa-home-v6-slider,
.csa-home-v6-slider *,
.csa-home-v7-building-hero,
.csa-home-v7-building-hero *,
.csa-home-v8-building-hero,
.csa-home-v8-building-hero *,
.csa-home-v8-quicklinks,
.csa-home-v8-quicklinks * {
    box-sizing: border-box;
}

.csa-home-variant a {
    text-decoration: none !important;
}

.csa-home-variant-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 14px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(245, 191, 52, 0.16);
    color: #f5bf34;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.csa-home-variant-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.csa-home-variant-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.csa-home-variant-btn:hover {
    transform: translateY(-2px);
}

.csa-home-variant-btn--primary {
    background: #f5bf34;
    color: #231126 !important;
    box-shadow: 0 10px 24px rgba(245, 191, 52, 0.24);
}

.csa-home-variant-btn--secondary {
    border: 1px solid rgba(255,255,255,0.42);
    color: #fff !important;
    background: rgba(255,255,255,0.08);
}

.csa-home-v6-slider.et_pb_slider,
.csa-home-v6-slider .et_pb_slides,
.csa-home-v6-slider .et_pb_slide {
    height: calc(100vh - 100px) !important;
    min-height: 560px;
    max-height: none;
    background: #231126 !important;
    overflow: hidden;
}

.csa-home-v6-slider .et_pb_slide {
    position: relative;
    padding: 0;
    background-color: #211126 !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.csa-home-v6-slider .et_pb_slide:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(34, 16, 38, 0.92), rgba(34, 16, 38, 0.54), rgba(34, 16, 38, 0.24));
}

.csa-home-v6-slider .et_parallax_bg {
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.csa-home-v6-slider .et_pb_slide.et-pb-active-slide {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3 !important;
}

.csa-home-v6-slider .et_pb_container {
    position: relative;
    z-index: 2;
    height: 100% !important;
    min-height: 100% !important;
    width: min(1240px, calc(100% - 52px));
    max-width: 1240px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.csa-home-v6-slider .et_pb_slider_container_inner {
    display: flex !important;
    align-items: center;
    height: 100% !important;
    width: 100%;
}

.csa-home-v6-slider .et_pb_slide_description {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: min(760px, 100%) !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.csa-home-v6-slider .et_pb_slide_title,
.csa-home-v6-slider .et_pb_slide_title a {
    color: #211126 !important;
    font-size: clamp(25px, 2.65vw, 44px) !important;
    line-height: 1.22 !important;
    font-weight: 850 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.18);
}

.csa-home-v6-slider .et_pb_slide_title {
    display: -webkit-box !important;
    max-width: 780px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0 0 22px !important;
    padding: 0 !important;
}

.csa-home-v6-slider .et_pb_slide_title a {
    display: inline;
    padding: 0.06em 0.16em 0.14em;
    background: #f5bf34;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.csa-home-v6-slider .et_pb_slide_content {
    position: relative;
    max-width: 720px;
    padding-left: 24px;
    color: #fff !important;
    font-size: clamp(18px, 1.45vw, 25px) !important;
    line-height: 1.34 !important;
    font-weight: 800 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,0.34);
}

.csa-home-v6-slider .et_pb_slide_content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.08em;
    width: 5px;
    height: calc(100% - 0.16em);
    min-height: 82px;
    background: #f5bf34;
}

.csa-home-v6-slider .et_pb_slide_content p {
    padding-bottom: 0 !important;
}

.csa-home-v6-slider .et_pb_more_button {
    width: fit-content;
    margin-top: 26px !important;
    border-radius: 8px !important;
    border-color: #f5bf34 !important;
    background: #f5bf34 !important;
    color: #231126 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

.csa-home-v6-slider .et-pb-controllers {
    bottom: 28px;
}

.csa-home-v6-slider .et-pb-controllers a {
    width: 34px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,0.5);
}

.csa-home-v6-slider .et-pb-controllers .et-pb-active-control {
    background: #f5bf34;
}

.csa-home-v3 {
    position: relative;
    isolation: isolate;
    overflow: visible;
    background-image: var(--hero-image);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

@media screen and (max-width: 980px) {
    body:not(.csa-et-fb):not(.et-fb) #et_top_search {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header {
        height: 70px !important;
        min-height: 70px !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header .container,
    body:not(.csa-et-fb):not(.et-fb) #main-header .container.clearfix.et_menu_container {
        display: flex !important;
        align-items: center !important;
        height: 70px !important;
        min-height: 70px !important;
        padding-top: 0 !important;
        padding-bottom: 3px !important;
        box-sizing: border-box;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header .logo_container {
        display: flex !important;
        align-items: center !important;
        height: 67px !important;
        padding: 0 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et-top-navigation {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        height: 67px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et_top_search,
    body:not(.csa-et-fb):not(.et-fb) #et_search_icon {
        align-self: center !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        transform: none !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et_search_icon:before {
        position: static !important;
        display: block !important;
        line-height: 1 !important;
        transform: translateY(4px) !important;
    }
}

.csa-home-v3:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(35,17,38,0.88) 0%, rgba(35,17,38,0.66) 52%, rgba(35,17,38,0.42) 100%);
    pointer-events: none;
}

.csa-home-v3-hero {
    min-height: 0;
    display: flex;
    align-items: flex-start;
    position: relative;
    background: transparent;
    padding: 56px 20px 135px;
}

.csa-home-v3-hero:before {
    display: none;
}

.csa-home-v3-hero-inner {
    width: min(1240px, 100%);
    height: 405px;
    margin: 0 auto;
    position: relative;
}

.csa-home-v3-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: none;
    padding: 34px 0;
}

.csa-home-v3-paired-slider {
    position: relative;
    height: 100%;
}

.csa-home-v3-paired-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(420px, 0.9fr);
    gap: 44px;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    animation: csa-v3-paired-slide 21s infinite;
}

.csa-home-v3-paired-slider.is-js .csa-home-v3-paired-slide {
    animation: none;
    transition: opacity 0.42s ease, visibility 0.42s ease;
}

.csa-home-v3-paired-slider.is-js .csa-home-v3-paired-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.csa-home-v3-paired-slide:nth-child(2) {
    animation-delay: 7s;
}

.csa-home-v3-paired-slide:nth-child(3) {
    animation-delay: 14s;
}

.csa-home-v3-media-frame {
    position: relative;
    z-index: 2;
    display: block;
    justify-self: end;
    width: 100%;
    max-width: 520px;
    aspect-ratio: 16 / 10;
    margin: 0;
    overflow: hidden;
    border-radius: 5px;
    background-image: var(--slide-image);
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 42px rgba(25, 10, 30, 0.28);
}

.csa-home-v3-media-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
}

@keyframes csa-v3-paired-slide {
    0%, 28% {
        opacity: 1;
        visibility: visible;
    }

    33%, 100% {
        opacity: 0;
        visibility: hidden;
    }
}

.csa-home-v3-hero h1 {
    margin: 0;
    width: 100%;
    max-width: 100%;
    color: #211126 !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: clamp(28px, 2.35vw, 40px) !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.18);
}

.csa-home-v3-hero h1 span {
    display: inline;
    line-height: 1.03;
    padding: 0 0.14em 0.03em;
    background: #f5bf34;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.csa-home-v3-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    color: #52284e;
    font-size: 34px;
    line-height: 36px;
    font-family: Arial, sans-serif;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(35,17,38,0.18);
    transform: translateY(-50%);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.csa-home-v3-slider-arrow:hover,
.csa-home-v3-slider-arrow:focus-visible {
    background: #f5bf34;
    color: #231126;
    transform: translateY(-50%) scale(1.04);
}

.csa-home-v3-slider-arrow--prev {
    left: -58px;
}

.csa-home-v3-slider-arrow--next {
    right: -58px;
}

.csa-home-v3-slider-dots {
    position: absolute;
    left: 0;
    bottom: -66px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 9px;
}

.csa-home-v3-slider-dot {
    width: 28px;
    height: 5px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,0.52);
    cursor: pointer;
    transition: width 0.2s ease, background 0.2s ease;
}

.csa-home-v3-slider-dot.is-active,
.csa-home-v3-slider-dot:hover,
.csa-home-v3-slider-dot:focus-visible {
    width: 38px;
    background: #f5bf34;
}

.csa-home-v4-hero h1 {
    margin: 0;
    color: #fff !important;
    font-family: var(--font-primary, 'Inter', sans-serif) !important;
    font-size: clamp(36px, 5vw, 68px) !important;
    line-height: 1.02 !important;
    font-weight: 850 !important;
}

.csa-home-v3-hero p {
    position: relative;
    max-width: 660px;
    margin: 30px 0 0;
    padding-left: 24px;
    color: #fff;
    font-size: clamp(20px, 1.75vw, 28px);
    line-height: 1.28;
    font-weight: 850;
    text-shadow: 0 3px 18px rgba(0,0,0,0.34);
}

.csa-home-v3-hero p:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 5px;
    height: calc(100% - 0.16em);
    min-height: 82px;
    background: #f5bf34;
}

.csa-home-v4-hero p {
    max-width: 660px;
    margin: 18px 0 0;
    color: rgba(255,255,255,0.84);
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.55;
}

.csa-home-v3-focus {
    position: relative;
    z-index: 4;
    width: 100%;
    margin: -42px auto 54px;
    padding: 0 20px 70px;
    background: linear-gradient(180deg, transparent 0, transparent 86px, #fff 86px, #fff 100%);
}

.csa-home-v4-routes {
    width: min(1320px, calc(100% - 40px));
    margin: -44px auto 54px;
    position: relative;
    z-index: 2;
}

.csa-home-v3-focus-grid {
    width: min(1080px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.csa-home-v3-focus-card,
.csa-home-v4-route-card {
    min-height: 128px;
    padding: 20px;
    border: 1px solid rgba(82, 40, 78, 0.08);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(35, 17, 38, 0.10);
    color: #52284e !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.csa-home-v3-focus-card:hover,
.csa-home-v4-route-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(35, 17, 38, 0.14);
}

.csa-home-v3-focus-card strong,
.csa-home-v4-route-card strong {
    display: block;
    margin-bottom: 8px;
    color: #231126;
    font-size: 15px;
    line-height: 1.25;
}

.csa-home-v3-focus-card span,
.csa-home-v4-route-card span {
    display: block;
    color: #756070;
    font-size: 13px;
    line-height: 1.45;
}

.csa-home-v3-focus-card {
    position: relative;
    z-index: 1;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 29px 20px 24px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: #231126 !important;
    text-align: center;
}

.csa-home-v3-focus-card:before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -10px;
    z-index: -1;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-right: 10px solid var(--csa-v3-card-accent, #f5bf34);
    border-bottom: 10px solid var(--csa-v3-card-accent, #f5bf34);
}

.csa-home-v3-focus-card:hover {
    transform: none;
    box-shadow: none;
}

.csa-home-v3-focus-card img {
    display: block;
    width: 92px;
    height: 58px;
    margin: 0 auto 18px;
    object-fit: contain;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon,
.csa-home-v3-focus-card > i {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    margin-bottom: 13px;
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal;
    font-weight: 900 !important;
    color: #52284e;
    font-size: 56px;
    line-height: 1;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon-img {
    display: block;
    width: 55px;
    height: 55px;
    margin: 4px auto 20px;
    object-fit: contain;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fas:before {
    display: block;
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal;
    font-weight: 900 !important;
    line-height: 1;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fa:before {
    display: block;
    font-family: "Font Awesome 5 Free" !important;
    font-style: normal;
    font-weight: 900 !important;
    line-height: 1;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fas.fa-balance-scale:before {
    content: "\f24e";
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fas.fa-book-open {
    width: 66px;
    min-height: 66px;
    font-size: 0;
    background-image: url("/csa/wp-content/uploads/2020/02/open-book.png"), url("/wp-content/uploads/2020/02/open-book.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 55px 55px;
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fas.fa-book-open:before {
    content: "";
}

.csa-home-v3-focus-card .csa-home-v3-focus-icon.fas.fa-play:before {
    content: "\f144";
}

.csa-home-v3-focus-card strong {
    margin: 0 0 10px;
    color: #231126;
    font-size: 18px;
    line-height: 1.06;
    font-weight: 600;
}

.csa-home-v3-focus-card .csa-home-v3-focus-copy {
    color: #231126;
    font-size: 15.5px;
    line-height: 1.42;
    font-weight: 500;
}

.csa-home-v3-focus-card .csa-home-v3-focus-cta {
    margin-top: auto;
    padding-top: 20px;
    color: #52284e;
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
}

.page-id-185481 .et_pb_section_1 > .et_pb_row,
.page-id-185483 .et_pb_section_2 > .et_pb_row {
    width: min(1080px, calc(100% - 40px)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.page-id-185483 .csa-home-v3-focus {
    margin: 0 auto !important;
    padding: 42px 20px !important;
    background: #fff !important;
}

.page-id-185483 .et_pb_section_2 {
    padding-top: 0 !important;
}

.page-id-185483 .et_pb_section_2 > .et_pb_row:first-child {
    padding-top: 0 !important;
}

.csa-home-v4-hero {
    min-height: 660px;
    display: flex;
    align-items: center;
    padding: 150px 20px 86px;
    background:
        linear-gradient(90deg, rgba(35, 17, 38, 0.94), rgba(82, 40, 78, 0.76)),
        var(--hero-image);
    background-size: cover;
    background-position: center;
}

.csa-home-v4-hero-inner {
    width: min(1320px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 40px;
    align-items: end;
}

.csa-home-v4-panel {
    max-width: 760px;
}

.csa-home-v4-metrics {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.csa-home-v4-metric {
    padding: 18px 20px;
    border-radius: 8px;
    background: rgba(255,255,255,0.11);
    border: 1px solid rgba(255,255,255,0.18);
    backdrop-filter: blur(10px);
}

.csa-home-v4-metric b {
    display: block;
    color: #f5bf34;
    font-size: 26px;
    line-height: 1;
}

.csa-home-v4-metric span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    line-height: 1.45;
}

.csa-home-v4-routes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.csa-home-v4-route-card {
    min-height: 116px;
}

.csa-home-v7-building-hero {
    position: relative;
    --csa-v7-header-height: 100px;
    --csa-v7-hero-height: calc(100vh - var(--csa-v7-header-height));
    --csa-v7-slider-height: calc(var(--csa-v7-hero-height) - 40px);
    height: var(--csa-v7-hero-height);
    min-height: 560px;
    display: flex;
    align-items: center;
    padding: 0 !important;
    overflow: hidden;
    background-size: cover !important;
    background-position: center !important;
}

.csa-home-v7-building-hero:before {
    display: none;
}

.csa-home-v7-building-hero .et_pb_row,
.csa-home-v7-building-hero .et_pb_column,
.csa-home-v7-building-hero .et_pb_module {
    position: relative;
    z-index: 2;
}

.csa-home-v7-building-hero .et_pb_row {
    width: min(1240px, calc(100% - 40px)) !important;
    max-width: 1240px !important;
    padding: 0 !important;
}

.csa-home-v7-glass-slider.et_pb_slider {
    width: 100%;
    height: var(--csa-v7-slider-height) !important;
    min-height: var(--csa-v7-slider-height) !important;
    max-height: var(--csa-v7-slider-height) !important;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.18);
    background: linear-gradient(105deg, rgba(35,17,38,0.82), rgba(82,40,78,0.66)) !important;
    box-shadow: 0 22px 70px rgba(35,17,38,0.28);
    overflow: hidden;
}

.csa-home-v7-glass-slider.et_pb_slider,
.csa-home-v7-glass-slider .et_pb_slides,
.csa-home-v7-glass-slider .et_pb_slide {
    height: var(--csa-v7-slider-height) !important;
    min-height: var(--csa-v7-slider-height) !important;
    max-height: var(--csa-v7-slider-height) !important;
}

.csa-home-v7-glass-slider .et_pb_slide {
    background: transparent !important;
    padding: 0;
}

.csa-home-v7-glass-slider .et_pb_slide.et-pb-active-slide {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3 !important;
}

.csa-home-v7-glass-slider .et_pb_container {
    position: relative;
    height: 100% !important;
    min-height: 100% !important;
    width: 100% !important;
    max-width: none !important;
}

.csa-home-v7-glass-slider .et_pb_slider_container_inner {
    display: grid !important;
    grid-template-columns: minmax(360px, 47%) minmax(0, 53%);
    align-items: stretch;
    height: 100%;
}

.csa-home-v7-glass-slider .et_pb_slide_image {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    border-radius: 8px 0 0 8px;
    overflow: hidden;
}

.csa-home-v7-glass-slider .et_pb_slide_image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 22px 60px rgba(0,0,0,0.18);
}

.csa-home-v7-glass-slider .et_pb_slide_description {
    position: relative;
    left: auto;
    top: auto;
    transform: none !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    height: 100%;
    margin: 0 !important;
    padding: 40px 48px !important;
    border: 0;
    border-left: 0;
    border-radius: 0 8px 8px 0;
    background: linear-gradient(105deg, rgba(35,17,38,0.58), rgba(82,40,78,0.38));
    backdrop-filter: none;
    text-align: left;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 4;
    box-shadow: none;
}

.csa-home-v7-glass-slider .et_pb_slide_title,
.csa-home-v7-glass-slider .et_pb_slide_title a {
    color: #211126 !important;
    font-size: clamp(20px, 1.55vw, 31px) !important;
    line-height: 1.13 !important;
    font-weight: 850 !important;
}

.csa-home-v7-glass-slider .et_pb_slide_title {
    margin: 0 0 22px !important;
    padding: 0 !important;
}

.csa-home-v7-glass-slider .et_pb_slide_title a {
    display: inline;
    padding: 0.02em 0.16em 0.08em;
    background: #f5bf34;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.csa-home-v7-glass-slider .et_pb_slide_content {
    position: relative;
    max-width: 760px;
    padding-left: 24px;
    color: #fff !important;
    font-size: clamp(20px, 1.55vw, 29px) !important;
    line-height: 1.22 !important;
    font-weight: 850 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,0.34);
}

.csa-home-v7-glass-slider .et_pb_slide_content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 6px;
    height: calc(100% - 0.16em);
    min-height: 120px;
    background: #f5bf34;
}

.csa-home-v7-glass-slider .et_pb_slide_content p {
    padding-bottom: 0 !important;
}

.csa-home-v7-glass-slider .et_pb_slide_content:after {
    display: block;
    max-width: 650px;
    margin-top: 16px;
    color: rgba(255,255,255,0.82);
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.55;
    font-weight: 650;
    text-shadow: none;
}

.csa-home-v7-glass-slider .et_pb_slide_0 .et_pb_slide_content:after {
    content: "Un focus sur les obligations, les responsabilites et les enjeux de regulation lies aux contenus d'information.";
}

.csa-home-v7-glass-slider .et_pb_slide_1 .et_pb_slide_content:after {
    content: "Des collaborations institutionnelles pour partager les methodes, les pratiques et les outils de supervision du secteur.";
}

.csa-home-v7-glass-slider .et_pb_slide_2 .et_pb_slide_content:after {
    content: "Accedez aux avis, decisions et reperes qui accompagnent les professionnels, les publics et les services de medias.";
}

.csa-home-v7-glass-slider .et_pb_more_button {
    width: fit-content;
    margin-top: 24px !important;
    border-radius: 8px !important;
    border-color: #f5bf34 !important;
    background: #f5bf34 !important;
    color: #231126 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

.csa-home-v7-glass-slider .et-pb-arrow-prev,
.csa-home-v7-glass-slider .et-pb-arrow-next {
    color: #fff !important;
}

body #page-container .csa-home-v7-glass-slider .et_pb_slider_container_inner {
    display: grid !important;
    grid-template-columns: minmax(320px, 46%) minmax(0, 54%) !important;
    align-items: stretch !important;
    height: 100% !important;
}

body #page-container .csa-home-v7-glass-slider .et_pb_slide_with_image .et_pb_slide_image,
body #page-container .csa-home-v7-glass-slider .et_pb_slide_image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    z-index: 5 !important;
}

body #page-container .csa-home-v7-glass-slider .et_pb_slide_image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

.csa-home-v7-glass-slider .et_pb_slide_0 .et_pb_slide_image {
    background-image: url("http://localhost/csa/wp-content/uploads/2025/04/Plan-pluriannuel-Media-Board.png") !important;
    background-size: cover !important;
    background-position: center !important;
}

.csa-home-v7-glass-slider .et_pb_slide_1 .et_pb_slide_image {
    background-image: url("http://localhost/csa/wp-content/uploads/2025/06/Haica-CSA-aterlier-PEM-1536x1024-1.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
}

.csa-home-v7-glass-slider .et_pb_slide_2 .et_pb_slide_image {
    background-image: url("http://localhost/csa/wp-content/uploads/2025/06/Medias1.jpeg") !important;
    background-size: cover !important;
    background-position: center !important;
}

body #page-container .csa-home-v7-glass-slider .et_pb_slide_with_image .et_pb_slide_description,
body #page-container .csa-home-v7-glass-slider .et_pb_slide_description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.csa-home-v8-building-hero {
    position: relative;
    --csa-v8-header-height: 100px;
    --csa-v8-hero-height: calc(100vh - var(--csa-v8-header-height));
    --csa-v8-slider-height: min(540px, calc(var(--csa-v8-hero-height) - 150px));
    height: var(--csa-v8-hero-height);
    min-height: 640px;
    display: flex;
    align-items: center;
    padding: 0 !important;
    overflow: hidden;
    background-size: cover !important;
    background-position: center !important;
}

.csa-home-v8-building-hero:before {
    display: none;
}

.csa-home-v8-building-hero .et_pb_row,
.csa-home-v8-building-hero .et_pb_column,
.csa-home-v8-building-hero .et_pb_module {
    position: relative;
    z-index: 2;
}

.csa-home-v8-building-hero .et_pb_row {
    width: min(1240px, calc(100% - 40px)) !important;
    max-width: 1240px !important;
    padding: 0 !important;
}

.csa-home-v8-bg-slider.et_pb_slider {
    width: 100%;
    min-width: 0;
    height: var(--csa-v8-slider-height) !important;
    min-height: 430px !important;
    max-height: 540px !important;
    margin: 0 auto !important;
    border-radius: 8px;
    background: #231126 !important;
    box-shadow: 0 24px 70px rgba(35,17,38,0.28);
    overflow: hidden;
}

.csa-home-v8-bg-slider.et_pb_slider,
.csa-home-v8-bg-slider .et_pb_slides,
.csa-home-v8-bg-slider .et_pb_slide {
    height: var(--csa-v8-slider-height) !important;
    min-height: 430px !important;
    max-height: 540px !important;
}

.csa-home-v8-bg-slider .et_pb_slide {
    position: relative;
    padding: 0;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 8px;
}

.csa-home-v8-bg-slider .et_pb_slide:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(35,17,38,0.10) 0%, rgba(35,17,38,0.54) 44%, rgba(35,17,38,0.92) 100%);
}

.csa-home-v8-bg-slider .et_pb_slide.et-pb-active-slide {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3 !important;
}

.csa-home-v8-bg-slider .et_pb_container {
    position: relative;
    z-index: 2;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
}

.csa-home-v8-bg-slider .et_pb_slider_container_inner {
    display: flex !important;
    align-items: flex-end;
    height: 100% !important;
}

.csa-home-v8-bg-slider .et_pb_slide_description {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 34px 38px 58px !important;
    text-align: left;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3;
}

.csa-home-v8-bg-slider .et_pb_slide_title,
.csa-home-v8-bg-slider .et_pb_slide_title a {
    color: #211126 !important;
    font-size: clamp(19px, 1.4vw, 28px) !important;
    line-height: 1.12 !important;
    font-weight: 850 !important;
}

.csa-home-v8-bg-slider .et_pb_slide_title {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.csa-home-v8-bg-slider .et_pb_slide_title a {
    display: inline;
    padding: 0.02em 0.16em 0.08em;
    background: #f5bf34;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.csa-home-v8-bg-slider .et_pb_slide_content {
    position: relative;
    max-width: 520px;
    padding-left: 22px;
    color: #fff !important;
    font-size: clamp(22px, 2.15vw, 35px) !important;
    line-height: 1.16 !important;
    font-weight: 850 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,0.34);
}

.csa-home-v8-bg-slider .et_pb_slide_content:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 5px;
    height: calc(100% - 0.16em);
    min-height: 96px;
    background: #f5bf34;
}

.csa-home-v8-bg-slider .et_pb_slide_content p {
    padding-bottom: 0 !important;
}

.csa-home-v8-bg-slider .et_pb_slide_content:after {
    display: block;
    max-width: 470px;
    margin-top: 14px;
    color: rgba(255,255,255,0.84);
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.52;
    font-weight: 650;
    text-shadow: none;
}

.csa-home-v8-bg-slider .et_pb_slide_0 .et_pb_slide_content:after {
    content: "Un focus sur les obligations, les responsabilites et les enjeux de regulation lies aux contenus d'information.";
}

.csa-home-v8-bg-slider .et_pb_slide_1 .et_pb_slide_content:after {
    content: "Des collaborations institutionnelles pour partager les methodes, les pratiques et les outils de supervision du secteur.";
}

.csa-home-v8-bg-slider .et_pb_slide_2 .et_pb_slide_content:after {
    content: "Accedez aux avis, decisions et reperes qui accompagnent les professionnels, les publics et les services de medias.";
}

.csa-home-v8-bg-slider .et_pb_more_button {
    width: fit-content;
    margin-top: 22px !important;
    border-radius: 8px !important;
    border-color: #f5bf34 !important;
    background: #f5bf34 !important;
    color: #231126 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

.csa-home-v8-bg-slider .et-pb-arrow-prev,
.csa-home-v8-bg-slider .et-pb-arrow-next {
    color: #fff !important;
}

.csa-home-v8-bg-slider .et-pb-controllers {
    bottom: 22px;
}

.csa-home-v8-bg-slider .et-pb-controllers a {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(255,255,255,0.56);
}

.csa-home-v8-bg-slider .et-pb-controllers .et-pb-active-control {
    background: #f5bf34;
}

.csa-home-v8-quicklinks-section {
    position: relative;
    z-index: 8;
    margin-top: -118px;
    padding: 0 20px 70px !important;
    background: transparent !important;
}

.csa-home-v8-quicklinks-section .et_pb_row {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.csa-home-v8-quicklinks {
    width: min(1080px, 100%);
    margin: 0 auto;
}

.csa-home-v8-quicklinks-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
}

.csa-home-v8-quicklink-card {
    position: relative;
    z-index: 1;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 28px 18px 22px;
    border-radius: 2px;
    background: #fff;
    color: #231126 !important;
    text-align: center;
    box-shadow: 0 18px 34px rgba(35,17,38,0.12);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.csa-home-v8-quicklink-card:before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -10px;
    z-index: -1;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-right: 10px solid var(--csa-v8-card-accent, #f5bf34);
    border-bottom: 10px solid var(--csa-v8-card-accent, #f5bf34);
}

.csa-home-v8-quicklink-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(35,17,38,0.16);
}

.csa-home-v8-quicklink-card img {
    display: block;
    width: 112px;
    height: 58px;
    margin: 2px auto 16px;
    object-fit: contain;
}

.csa-home-v8-quicklink-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    margin-bottom: 10px;
    color: #52284e;
    font-size: 48px;
    line-height: 1;
}

.csa-home-v8-quicklink-card strong {
    display: block;
    margin: 0 0 10px;
    color: #231126;
    font-size: 18px;
    line-height: 1.12;
    font-weight: 800;
}

.csa-home-v8-quicklink-card span {
    display: block;
    color: #231126;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.csa-home-v8-quicklink-cta {
    margin-top: auto;
    padding-top: 18px;
    color: #52284e;
    font-size: 18px;
    line-height: 1;
    font-weight: 850;
}

@media screen and (max-width: 1180px) {
    .csa-home-v8-quicklinks-grid {
        gap: 24px;
    }

    .csa-home-v8-quicklink-card {
        min-height: 270px;
    }
}

@media screen and (max-width: 980px) {
    .csa-home-v8-bg-slider.et_pb_slider {
        width: 72%;
        min-width: 0;
    }

    .csa-home-v8-quicklinks-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

@media screen and (max-width: 767px) {
    .csa-home-v8-building-hero {
        --csa-v8-header-height: 58px;
        --csa-v8-slider-height: 500px;
        height: auto;
        min-height: 640px;
        padding: 48px 0 122px !important;
        align-items: center;
    }

    .csa-home-v8-building-hero .et_pb_row {
        width: calc(100% - 40px) !important;
    }

    .csa-home-v8-bg-slider.et_pb_slider,
    .csa-home-v8-bg-slider .et_pb_slides,
    .csa-home-v8-bg-slider .et_pb_slide {
        width: 100%;
        height: 500px !important;
        min-height: 500px !important;
        max-height: 500px !important;
    }

    .csa-home-v8-bg-slider .et_pb_slide_description {
        padding: 28px 24px 54px !important;
    }

    .csa-home-v8-bg-slider .et_pb_slide_title,
    .csa-home-v8-bg-slider .et_pb_slide_title a {
        font-size: 21px !important;
    }

    .csa-home-v8-bg-slider .et_pb_slide_content {
        font-size: 27px !important;
    }

    .csa-home-v8-quicklinks-section {
        margin-top: -78px;
        padding: 0 18px 54px !important;
    }

    .csa-home-v8-quicklinks-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .csa-home-v8-quicklink-card {
        min-height: 250px;
    }
}

@media screen and (max-width: 980px) {
    .csa-home-v3-focus-grid,
    .csa-home-v4-routes-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csa-home-v4-hero-inner {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 640px) {
    .csa-home-v6-slider.et_pb_slider,
    .csa-home-v6-slider .et_pb_slides,
    .csa-home-v6-slider .et_pb_slide {
        height: 420px !important;
        min-height: 420px;
        max-height: 420px;
    }

    .csa-home-v6-slider .et_pb_slide {
        padding: 0;
    }

    .csa-home-v6-slider .et_pb_container {
        height: 420px !important;
        min-height: 420px;
    }

    .csa-home-v7-glass-slider.et_pb_slider,
    .csa-home-v7-glass-slider .et_pb_slides,
    .csa-home-v7-glass-slider .et_pb_slide {
        min-height: 640px;
    }

    .csa-home-v7-glass-slider .et_pb_container {
        width: calc(100vw - 40px);
        max-width: calc(100vw - 40px);
        height: 640px !important;
        min-height: 640px;
    }

    .csa-home-v7-glass-slider .et_pb_slide_description {
        width: calc(100vw - 64px) !important;
        max-width: calc(100vw - 64px) !important;
        padding: 26px 24px !important;
    }

    .csa-home-v7-glass-slider .et_pb_slide_content {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    .csa-home-v7-glass-slider .et_pb_slide_title,
    .csa-home-v7-glass-slider .et_pb_slide_title a {
        font-size: clamp(28px, 9vw, 38px) !important;
    }

    .csa-home-v3-hero,
    .csa-home-v4-hero {
        min-height: auto;
        padding: 120px 18px 70px;
    }

    .csa-home-v3-focus,
    .csa-home-v4-routes {
        width: calc(100% - 28px);
        margin-top: -28px;
    }

    .csa-home-v3-focus-grid,
    .csa-home-v4-routes-grid {
        grid-template-columns: 1fr;
    }

    .csa-home-variant-btn {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .csa-home-v7-building-hero {
        --csa-v7-header-height: 58px;
        --csa-v7-slider-height: calc(100vh - var(--csa-v7-header-height) - 40px);
        height: calc(100vh - var(--csa-v7-header-height));
        min-height: 700px;
        align-items: center;
    }

    .csa-home-v7-building-hero .et_pb_row {
        width: calc(100% - 40px) !important;
        max-width: 1240px !important;
    }

    .csa-home-v7-glass-slider.et_pb_slider,
    .csa-home-v7-glass-slider .et_pb_slides,
    .csa-home-v7-glass-slider .et_pb_slide {
        height: var(--csa-v7-slider-height) !important;
        min-height: var(--csa-v7-slider-height) !important;
        max-height: var(--csa-v7-slider-height) !important;
    }

    .csa-home-v7-glass-slider .et_pb_container {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }

    body #page-container .csa-home-v7-glass-slider .et_pb_slider_container_inner {
        grid-template-columns: 1fr !important;
        grid-template-rows: 220px minmax(0, 1fr) !important;
    }

    body #page-container .csa-home-v7-glass-slider .et_pb_slide_with_image .et_pb_slide_image,
    body #page-container .csa-home-v7-glass-slider .et_pb_slide_image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        border-radius: 8px 8px 0 0;
    }

    body #page-container .csa-home-v7-glass-slider .et_pb_slide_image img {
        border-radius: 8px 8px 0 0;
    }

    body #page-container .csa-home-v7-glass-slider .et_pb_slide_with_image .et_pb_slide_description,
    body #page-container .csa-home-v7-glass-slider .et_pb_slide_description {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start;
        width: calc(100vw - 80px) !important;
        max-width: calc(100vw - 80px) !important;
        height: 100% !important;
        padding: 26px 24px 48px !important;
        border-left: 1px solid rgba(255,255,255,0.20);
        border-radius: 0 0 8px 8px;
    }

    .csa-home-v7-glass-slider .et_pb_slide_title,
    .csa-home-v7-glass-slider .et_pb_slide_title a {
        max-width: 100%;
        font-size: clamp(15px, 4.2vw, 18px) !important;
        line-height: 1.14 !important;
        white-space: normal !important;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .csa-home-v7-glass-slider .et_pb_slide_title a {
        display: inline;
    }

    .csa-home-v7-glass-slider .et_pb_slide_content {
        width: 100% !important;
        max-width: calc(100vw - 138px) !important;
        padding-left: 20px;
        font-size: clamp(17px, 4.8vw, 20px) !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .csa-home-v7-glass-slider .et_pb_slide_content:before {
        width: 5px;
        min-height: 118px;
    }

    .csa-home-v7-glass-slider .et_pb_slide_content p {
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .csa-home-v7-glass-slider .et_pb_slide_content:after {
        margin-top: 12px;
        font-size: 13px;
        line-height: 1.45;
    }

    .csa-home-v7-glass-slider .et_pb_more_button {
        margin-top: 22px !important;
    }
}

/* ==========================================================================
   Current homepage/header corrections
   ========================================================================== */

@media screen and (min-width: 981px) {
    :root {
        --csa-main-header-height: 64px;
        --csa-main-header-scrolled-height: 54px;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header,
    body:not(.csa-et-fb):not(.et-fb) .et-l--header {
        height: var(--csa-main-header-height) !important;
        min-height: var(--csa-main-header-height) !important;
    }

    body.admin-bar:not(.csa-scrolled):not(.csa-et-fb):not(.et-fb) #main-header,
    body.admin-bar:not(.csa-scrolled):not(.csa-et-fb):not(.et-fb) .et-l--header {
        top: 0 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header .container,
    body:not(.csa-et-fb):not(.et-fb) #main-header .container.clearfix,
    body:not(.csa-et-fb):not(.et-fb) #main-header .container.clearfix.et_menu_container,
    body:not(.csa-et-fb):not(.et-fb) #main-header .et_menu_container {
        height: var(--csa-main-header-height) !important;
        min-height: var(--csa-main-header-height) !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header,
    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) .et-l--header,
    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header .container,
    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header .et_menu_container {
        height: var(--csa-main-header-scrolled-height) !important;
        min-height: var(--csa-main-header-scrolled-height) !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header .logo_container {
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #main-header #logo,
    body:not(.csa-et-fb):not(.et-fb) #main-header .logo_container img {
        height: 46px !important;
        max-height: 46px !important;
        padding: 3px !important;
    }

    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header #logo,
    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header .logo_container img {
        height: 36px !important;
        max-height: 36px !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et-top-navigation,
    body:not(.csa-et-fb):not(.et-fb) #top-menu-nav,
    body:not(.csa-et-fb):not(.et-fb) #mega-menu-wrap-primary-menu,
    body:not(.csa-et-fb):not(.et-fb) #mega-menu-primary-menu {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et-top-navigation {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
        height: 100% !important;
        min-height: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 0 14px !important;
        line-height: 1 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et_top_search {
        align-self: stretch !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 54px 0 10px !important;
        padding-left: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et_search_icon {
        position: relative !important;
        width: 32px !important;
        height: 32px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        line-height: 1 !important;
        transform: none !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #et_search_icon:before {
        position: static !important;
        display: block !important;
        line-height: 1 !important;
    }

    body:not(.csa-et-fb):not(.et-fb) #csa-menu-trigger {
        top: 51px;
        height: 34px !important;
        min-height: 34px !important;
        margin-top: 0 !important;
    }

    body.admin-bar:not(.csa-scrolled):not(.csa-et-fb):not(.et-fb) #csa-menu-trigger {
        top: 83px;
    }

    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) #csa-menu-trigger {
        top: 10px;
    }

    body.admin-bar.csa-scrolled:not(.csa-et-fb):not(.et-fb) #csa-menu-trigger {
        top: 42px;
    }

    body.csa-scrolled:not(.csa-et-fb):not(.et-fb) {
        padding-top: var(--csa-main-header-scrolled-height) !important;
    }
}

.csa-home-v6-slider .et-pb-slider-arrows,
.csa-home-v6-slider .et-pb-controllers {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 30 !important;
}

.csa-home-v6-slider .et-pb-arrow-prev,
.csa-home-v6-slider .et-pb-arrow-next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 42px !important;
    height: 42px !important;
    margin-top: -21px !important;
    border: 1px solid rgba(245,191,52,0.7);
    border-radius: 50%;
    background: rgba(35,17,38,0.48);
    color: #f5bf34 !important;
    text-shadow: none !important;
    z-index: 31 !important;
}

.csa-home-v6-slider .et-pb-arrow-prev {
    left: 28px !important;
}

.csa-home-v6-slider .et-pb-arrow-next {
    right: 28px !important;
}

.csa-home-v6-slider .et-pb-arrow-prev span,
.csa-home-v6-slider .et-pb-arrow-next span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

.csa-home-v6-slider .et-pb-controllers {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 28px !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    transform: translateX(-50%) !important;
}

.csa-home-v6-slider .et-pb-controllers a {
    display: block !important;
    width: 42px !important;
    height: 5px !important;
    min-width: 42px !important;
    min-height: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px;
    background: rgba(255,255,255,0.62) !important;
    opacity: 1 !important;
    overflow: hidden !important;
    text-indent: -999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.csa-home-v6-slider .et-pb-controllers a.et-pb-active-control,
.csa-home-v6-slider .et-pb-controllers a.is-active {
    background: #f5bf34 !important;
}

.csa-home-actus-card,
.csa-home-actus-feature-card,
.csa-home-actus-side-item,
.csa-home-actus-stack-item,
.csa-home-actus-card-img,
.csa-home-actus-feature-img,
.csa-home-actus-side-img,
.csa-home-actus-stack-media {
    border-radius: 0 !important;
}

html.csa-et-fb #main-header,
html.csa-et-fb .et-l--header,
html.csa-et-fb .csa-utility-bar,
body.csa-et-fb #main-header,
body.csa-et-fb .et-l--header,
body.csa-et-fb .csa-utility-bar,
body.et-fb #main-header,
body.et-fb .et-l--header,
body.et-fb .csa-utility-bar {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

html.csa-et-fb #csa-menu-trigger,
html.csa-et-fb .lateral-toggle-trigger,
body.csa-et-fb #csa-menu-trigger,
body.csa-et-fb .lateral-toggle-trigger,
body.et-fb #csa-menu-trigger,
body.et-fb .lateral-toggle-trigger {
    display: none !important;
}

/* Isolated Supreme Mega Menu preview: keep the Arcom-style test page free of the current CSA header. */
body.page-id-185543 #csa-utility-bar,
body.page-id-185543 .csa-utility-bar,
body.page-id-185543 #top-header,
body.page-id-185543 #main-header,
body.page-id-185543 .et-l--header,
body.page-id-185543 #csa-menu-trigger,
body.page-id-185543 .lateral-toggle-trigger,
body.page-id-185543 .csa-search-drawer {
    display: none !important;
}

body.page-id-185543 #page-container {
    padding-top: 0 !important;
}

body.page-id-185543 .csa-arcom-preview {
    width: min(1280px, 88vw);
    margin: 0 auto;
    color: #080830;
}

body.page-id-185543 .csa-arcom-brandbar {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: center;
    gap: 56px;
    padding: 26px 0 18px;
}

body.page-id-185543 .csa-arcom-logo img {
    display: block;
    width: 150px;
    height: auto;
}

body.page-id-185543 .csa-arcom-actions {
    display: grid;
    justify-items: end;
    gap: 22px;
}

body.page-id-185543 .csa-arcom-utils {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

body.page-id-185543 .csa-arcom-utils a,
body.page-id-185543 .csa-arcom-utils span {
    color: #080830 !important;
    white-space: nowrap;
}

body.page-id-185543 .csa-arcom-utils .csa-arcom-separator {
    width: 1px;
    height: 18px;
    background: #d8dbe2;
}

body.page-id-185543 .csa-arcom-searchline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    width: 100%;
}

body.page-id-185543 .csa-arcom-search {
    display: flex;
    width: min(600px, 58vw);
    height: 42px;
    background: #eaf2ff;
    border: 1px solid #d9e5f5;
}

body.page-id-185543 .csa-arcom-search input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0 !important;
    background: transparent !important;
    padding: 0 16px !important;
    color: #717790 !important;
    font-size: 16px;
}

body.page-id-185543 .csa-arcom-search-placeholder {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: #717790;
    font-size: 16px;
}

body.page-id-185543 .csa-arcom-search button {
    width: 54px;
    border: 0;
    background: #005bea;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
}

body.page-id-185543 .csa-arcom-search-submit {
    width: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #005bea;
    color: #ffffff !important;
    font-size: 18px;
}

body.page-id-185543 .csa-arcom-alert {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 24px;
    background: #080830;
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

body.page-id-185543 .et_pb_row:has(.dsm_mega_menu) {
    width: 100% !important;
    max-width: 100% !important;
    border-bottom: 3px solid #f6bd1a;
}

body.page-id-185543 .dsm_mega_menu {
    width: min(1280px, 88vw);
    margin: 0 auto !important;
}

body.page-id-185543 .dsm_mega_menu .dsm-mega-menu-container:not(.mobile-menu) {
    width: 100%;
}

body.page-id-185543 .dsm_mega_menu .dsm-root-menu {
    display: flex !important;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
}

body.page-id-185543 .dsm_mega_menu .dsm-mega-menu-link {
    padding: 19px 0 22px !important;
    color: #080830 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

body.page-id-185543 .dsm_mega_menu .dsm-mega-menu-link:hover,
body.page-id-185543 .dsm_mega_menu .dsm-mega-menu-item:hover > .dsm-mega-menu-link {
    color: #0057ff !important;
}

body.page-id-185543 .csa-arcom-panel {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    width: min(1280px, 88vw);
    min-height: 360px;
    margin: 0 auto;
    background: #ffffff;
    color: #080830;
}

body.page-id-185543 .csa-arcom-panel-side {
    background: #f4f5f7;
    padding: 32px 36px;
}

body.page-id-185543 .csa-arcom-panel-side h2 {
    color: #080830;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    padding-bottom: 22px;
}

body.page-id-185543 .csa-arcom-panel-side a,
body.page-id-185543 .csa-arcom-panel-main a {
    color: #080830 !important;
}

body.page-id-185543 .csa-arcom-panel-side .is-outlined {
    display: inline-flex;
    margin-top: 12px;
    padding: 8px 12px;
    border: 2px solid #0057ff;
    color: #0057ff !important;
}

body.page-id-185543 .csa-arcom-panel-main {
    padding: 30px 52px 40px;
}

body.page-id-185543 .csa-arcom-panel-close {
    margin-bottom: 26px;
    text-align: right;
}

body.page-id-185543 .csa-arcom-panel-close a {
    color: #0057ff !important;
    font-size: 14px;
    font-weight: 700;
}

body.page-id-185543 .csa-arcom-panel-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 56px;
    font-size: 16px;
    line-height: 1.45;
}

/* Supreme Mega Menu demo preview attached to the native "LE CSA" menu item. */
@media screen and (min-width: 981px) {
    #main-header,
    #main-header .container,
    #et-top-navigation,
    #et-top-navigation nav#top-menu-nav,
    #top-menu {
        overflow: visible !important;
    }

    #top-menu > li.csa-has-supreme-template > ul.sub-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    #top-menu > li.csa-has-supreme-template > .csa-supreme-menu-template {
        position: fixed;
        top: var(--csa-supreme-menu-top, 164px);
        left: 0;
        right: 0;
        z-index: 100000;
        width: auto;
        max-height: calc(100vh - var(--csa-supreme-menu-top, 164px) - 24px);
        overflow: auto;
        background: #ffffff;
        border: 1px solid rgba(82, 40, 78, 0.12);
        box-shadow: 0 22px 60px rgba(20, 12, 27, 0.18);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
        transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
    }

    #top-menu > li.csa-has-supreme-template:hover > .csa-supreme-menu-template,
    #top-menu > li.csa-has-supreme-template.csa-supreme-open > .csa-supreme-menu-template,
    #top-menu > li.csa-has-supreme-template:focus-within > .csa-supreme-menu-template {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    #top-menu > li.csa-has-supreme-template .csa-supreme-menu-template-inner {
        position: relative;
        width: 100%;
        background: #ffffff;
    }

    #top-menu > li.csa-has-supreme-template .csa-supreme-menu-template .et_pb_section,
    #top-menu > li.csa-has-supreme-template .csa-supreme-menu-template .et_pb_row {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media screen and (max-width: 980px) {
    .csa-supreme-menu-template {
        display: none !important;
    }
}

/* ==========================================================================
   Divi Theme Builder Supreme navigation
   ========================================================================== */

body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .et-l--header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100000 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #ffffff;
}

body.admin-bar.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .et-l--header {
    top: 32px !important;
}

body.admin-bar.et-tb-has-header:not(.csa-scrolled):not(.csa-et-fb):not(.et-fb) #main-header,
body.admin-bar.et-tb-has-header:not(.csa-scrolled):not(.csa-et-fb):not(.et-fb) .et-l--header {
    top: 0 !important;
}

body.admin-bar.et-tb-has-header.csa-scrolled:not(.csa-et-fb):not(.et-fb) #main-header,
body.admin-bar.et-tb-has-header.csa-scrolled:not(.csa-et-fb):not(.et-fb) .et-l--header {
    top: 32px !important;
}

body.et-tb-has-header.csa-scrolled:not(.csa-et-fb):not(.et-fb) {
    padding-top: 0 !important;
}

body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .et-l--header .et_builder_inner_content {
    overflow: visible !important;
    z-index: auto !important;
}

body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .csa-divi-supreme-header {
    position: relative;
    z-index: 100000;
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    border-bottom: 3px solid #f4bd24;
    box-shadow: 0 1px 0 rgba(82, 40, 78, 0.08);
}

body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .csa-divi-supreme-header .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 max(24px, calc((100vw - 1320px) / 2)) !important;
}

.csa-divi-supreme-header .et_pb_module,
.csa-divi-supreme-header .et_pb_code,
.csa-divi-supreme-header .et_pb_code_inner,
.csa-divi-supreme-header .et_pb_image {
    margin-bottom: 0 !important;
}

.csa-divi-utilitybar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    color: #ffffff;
    background: #52284e;
    font-family: var(--font-primary, Inter, Arial, sans-serif);
    font-size: 13px;
    line-height: 1;
}

.csa-divi-utility-row {
    background: #52284e;
}

.csa-divi-utilitybar-label {
    font-weight: 700;
    white-space: nowrap;
}

.csa-divi-utilitybar-links {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
}

.csa-divi-utilitybar-links a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.csa-divi-utilitybar-links a:hover {
    color: #f4bd24 !important;
}

.csa-divi-main-row {
    display: flex !important;
    align-items: stretch !important;
    min-height: 66px;
    background: #ffffff;
}

.csa-divi-main-row > .et_pb_column {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.csa-divi-logo-col {
    flex: 0 0 132px !important;
    width: 132px !important;
}

.csa-divi-menu-col {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0;
    padding-right: 30px;
    box-sizing: border-box;
}

.csa-divi-action-col {
    flex: 0 0 112px !important;
    width: 112px !important;
    justify-content: flex-end;
}

.csa-divi-logo-module img {
    display: block;
    width: 58px !important;
    max-width: 58px !important;
    height: auto !important;
}

.csa-divi-supreme-menu {
    width: 100%;
}

.csa-divi-supreme-menu .dsm-mega-menu-container,
.csa-divi-supreme-menu .dsm-root-menu {
    width: 100%;
    min-height: 66px;
}

.csa-divi-supreme-menu .dsm-root-menu,
.et-l--header .csa-divi-supreme-menu .dsm-root-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.csa-divi-supreme-menu .dsm-mega-menu-item {
    position: static !important;
    display: flex !important;
    align-items: stretch !important;
    min-height: 66px;
}

.csa-divi-supreme-menu .dsm-mega-menu-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 66px;
    padding: 0 !important;
    color: #222222 !important;
    text-decoration: none !important;
}

.csa-divi-supreme-menu .dsm-menu-text {
    display: inline-flex;
    align-items: center;
    color: #222222 !important;
    font-family: var(--font-primary, Inter, Arial, sans-serif);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-divi-supreme-menu .csa-divi5-search-item {
    flex: 0 0 auto;
    display: flex !important;
    align-items: center !important;
    min-height: 66px;
}

.csa-divi-supreme-menu .csa-divi5-search-trigger.dsm-mega-menu-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px;
    min-width: 28px;
    height: 66px;
    min-height: 66px;
    padding: 0 !important;
    border: 0;
    background: transparent;
    color: #222222 !important;
    cursor: pointer;
    line-height: 1 !important;
    transform: translateY(1px);
}

.csa-divi-supreme-menu .csa-divi5-search-trigger:hover,
.csa-divi-supreme-menu .csa-divi5-search-trigger:focus,
.csa-divi-supreme-menu .csa-divi5-search-trigger[aria-expanded="true"] {
    color: #52284e !important;
    outline: none;
}

.csa-divi-supreme-menu .csa-divi5-search-icon {
    display: block;
    width: 18px;
    height: 18px;
    font-family: FontAwesome !important;
    font-size: 17px;
    font-style: normal;
    font-weight: normal;
    line-height: 18px;
    text-align: center;
}

.csa-divi-supreme-menu .dsm-mega-menu-search-container,
.csa-divi-supreme-menu .dsm-mega-menu-search-box,
.csa-divi-supreme-menu .et_pb_menu__search {
    display: none !important;
}

.csa-divi-supreme-menu .dsm-dropdown-icon-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 10px;
    height: 10px;
    margin-left: 7px;
    line-height: 1 !important;
}

.csa-divi-supreme-menu .dsm_dropdown_close_icon,
.csa-divi-supreme-menu .dsm_dropdown_open_icon,
.csa-divi-supreme-menu .dsm_dropdown_icon {
    display: none !important;
    margin: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.csa-divi-supreme-menu .dsm-dropdown-icon-wrapper:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-right: 1.5px solid #f4bd24;
    border-bottom: 1.5px solid #f4bd24;
    transform: rotate(45deg);
}

.csa-divi-supreme-menu .dsm-mega-menu-item:hover > .dsm-mega-menu-link .dsm-dropdown-icon-wrapper:after,
.csa-divi-supreme-menu .dsm-mega-menu-item.dsm-active-menu > .dsm-mega-menu-link .dsm-dropdown-icon-wrapper:after {
    border-color: #52284e;
}

.csa-divi-supreme-menu .dsm-mega-menu-item:hover > .dsm-mega-menu-link .dsm-menu-text,
.csa-divi-supreme-menu .dsm-mega-menu-item.dsm-active-menu > .dsm-mega-menu-link .dsm-menu-text {
    color: #52284e !important;
}

.csa-divi-header-actions {
    display: none;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    width: 100%;
    padding-right: 86px;
}

.csa-divi-search-label {
    color: #222222 !important;
    font-family: var(--font-primary, Inter, Arial, sans-serif);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.csa-divi-search-label:hover {
    color: #52284e !important;
}

.csa-divi-search-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #111111 !important;
    text-decoration: none !important;
}

.csa-divi-search-icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.csa-divi-search-icon:after {
    content: "";
    position: absolute;
    right: -7px;
    bottom: -5px;
    width: 9px;
    height: 2px;
    background: currentColor;
    transform: rotate(-45deg);
    transform-origin: left center;
}

.csa-divi-search-button:hover {
    color: #52284e !important;
}

.csa-divi-supreme-menu .dsm-submenu-container {
    position: fixed !important;
    top: var(--csa-divi-dropdown-top, 103px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100001 !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-top: 3px solid #f4bd24;
    background: #ffffff;
    box-shadow: 0 24px 54px rgba(22, 12, 28, 0.16);
}

.csa-divi5-menu .csa-divi5-submenu-container {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
}

.csa-divi5-menu .csa-divi5-menu-item.csa-menu-open > .csa-divi5-submenu-container {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

body.et-tb-has-header .csa-divi-supreme-menu .dsm-mega-menu-container:not(.mobile-menu) .dsm-root-menu > .dsm-mega-menu-item > .dsm-submenu-container {
    position: fixed !important;
    top: var(--csa-divi-dropdown-top, 103px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.csa-divi-supreme-menu .dsm-submenu-inner-container {
    width: 100vw !important;
    max-width: none !important;
    background: #ffffff;
}

.csa-divi-nav-dropdown-section,
.csa-divi-nav-dropdown-section .et_pb_row {
    padding: 0 !important;
    background: #ffffff !important;
}

.csa-divi-nav-dropdown-section .et_pb_module {
    margin-bottom: 0 !important;
}

body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .csa-divi-supreme-header .csa-divi-nav-dropdown-section .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.csa-divi-nav-dropdown {
    width: 100%;
    background: #ffffff;
}

.csa-divi-nav-dropdown-inner {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    min-height: 330px;
    margin: 0;
    width: 100%;
    max-width: none;
    background: #ffffff;
}

.csa-divi-nav-dropdown-inner.et_pb_row {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.csa-divi-nav-dropdown-inner > .et_pb_column {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch;
}

.csa-divi-nav-dropdown-side {
    min-height: 330px !important;
    padding: 30px 36px 38px !important;
    background: #f3f3f4;
    color: #160d22;
    box-sizing: border-box;
}

.csa-divi-nav-dropdown-inner > .et_pb_column.csa-divi-nav-dropdown-side {
    padding: 30px 36px 38px !important;
}

.csa-divi-nav-kicker {
    display: block;
    margin-bottom: 20px;
    color: #52284e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
    text-transform: uppercase;
}

.csa-divi-nav-kicker-module .et_pb_text_inner {
    color: #52284e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
    text-transform: uppercase;
}

.csa-divi-nav-kicker-module {
    margin-bottom: 8px !important;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-kicker-module {
    margin-bottom: 8px !important;
}

.csa-divi-nav-dropdown-side h2 {
    margin: 0 0 18px;
    padding: 0;
    color: #11142a;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.12;
}

.csa-divi-nav-dropdown-side p {
    max-width: 250px;
    margin: 0;
    padding: 0;
    color: #4d4655;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.csa-divi-nav-feature-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 26px;
    color: #52284e !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}

.csa-divi-nav-feature-link:hover {
    color: #11142a !important;
}

.csa-divi-nav-dropdown-side .et_pb_button_module_wrapper {
    margin-top: 26px;
}

.csa-divi-nav-feature-link.et_pb_button,
.csa-divi-nav-feature-link.et_pb_button:hover {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 0 !important;
    border: 0 !important;
    color: #52284e !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

.csa-divi-nav-feature-link.et_pb_button:hover {
    color: #11142a !important;
}

.csa-divi-nav-feature-link.et_pb_button:after {
    display: none !important;
}

.csa-divi-nav-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 34px 42px 42px 52px;
}

.csa-divi-nav-grid.et_pb_column {
    display: grid !important;
    width: auto !important;
    margin: 0 !important;
    padding: 34px 42px 42px 52px !important;
    box-sizing: border-box;
}

.csa-divi-nav-dropdown-inner > .et_pb_column.csa-divi-nav-grid {
    padding: 34px 42px 42px 52px !important;
}

.csa-divi-nav-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 116px;
    padding: 0 28px 22px 0;
    color: #170923 !important;
    text-align: left !important;
    text-decoration: none !important;
}

.csa-divi-nav-card-title {
    display: block;
    margin-bottom: 9px;
    color: #11142a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.csa-divi-nav-card-text {
    display: block;
    max-width: 285px;
    color: #3e3548;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.csa-divi-nav-card.et_pb_blurb {
    background: transparent;
}

.csa-divi-nav-card .et_pb_blurb_content {
    width: 100%;
    max-width: none;
    margin: 0;
    text-align: left !important;
}

.csa-divi-nav-card .et_pb_blurb_container {
    width: 100%;
    text-align: left !important;
}

.csa-divi-nav-card .et_pb_module_header {
    margin: 0 0 9px;
    padding: 0;
    color: #11142a;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.csa-divi-nav-card .et_pb_module_header a {
    color: inherit !important;
    text-decoration: none !important;
}

.csa-divi-nav-card .et_pb_blurb_description,
.csa-divi-nav-card .et_pb_blurb_description p {
    max-width: 285px;
    margin: 0;
    padding: 0;
    color: #3e3548;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.csa-divi-nav-card:after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin: 17px 0 0;
    background: #f4bd24;
    transition: width 0.18s ease, background 0.18s ease;
}

.csa-divi-nav-card:hover .csa-divi-nav-card-title {
    color: #52284e;
}

.csa-divi-nav-card:hover .et_pb_module_header {
    color: #52284e;
}

.csa-divi-nav-card:hover:after {
    width: 58px;
    background: #52284e;
}

.csa-divi-nav-grid.csa-divi-nav-accordion,
.csa-divi-nav-grid.csa-divi-nav-accordion.et_pb_column {
    display: grid !important;
    grid-auto-columns: minmax(245px, 1fr);
    grid-auto-flow: column;
    grid-template-rows: repeat(2, minmax(78px, auto));
    gap: 0 36px;
    align-content: start;
    align-items: start;
    padding: 28px 46px 34px 52px !important;
}

.csa-divi-nav-dropdown-inner > .et_pb_column.csa-divi-nav-grid.csa-divi-nav-accordion {
    padding: 28px 46px 34px 52px !important;
}

.csa-divi-nav-media-row,
.csa-divi-nav-media-row.et_pb_row {
    grid-template-columns: 340px repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
}

.csa-divi-nav-dropdown-inner > .et_pb_column.csa-divi-nav-accordion-column {
    align-self: start;
    padding: 28px 36px 34px 0 !important;
    box-sizing: border-box;
}

.csa-divi-nav-dropdown-inner > .et_pb_column.csa-divi-nav-accordion-column-1 {
    padding-left: 52px !important;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item.et_pb_blurb {
    position: relative;
    align-self: start;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #ebe7ed !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item.et_pb_blurb:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 48px;
    width: 36px;
    height: 2px;
    background: #f4bd24;
    transition: width 0.18s ease, background 0.18s ease;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item.csa-accordion-open:after,
.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item:hover:after {
    width: 56px;
    background: #52284e;
}

.csa-divi-nav-accordion-item .et_pb_blurb_content {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 16px 34px 16px 0;
}

.csa-divi-nav-accordion-item .et_pb_main_blurb_image {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 34px;
    margin: 0 !important;
}

.csa-divi-nav-accordion-item .et_pb_blurb_container {
    grid-column: 2;
    min-width: 0;
}

.csa-divi-nav-accordion-item .et-pb-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f3f3f4;
    color: #52284e !important;
    font-size: 15px !important;
    line-height: 32px !important;
}

.csa-divi-nav-accordion-item.csa-accordion-open .et-pb-icon,
.csa-divi-nav-accordion-item:hover .et-pb-icon {
    background: #eee7ef;
}

.csa-divi-nav-accordion-item .et_pb_module_header {
    position: relative;
    grid-column: 2;
    margin: 0 !important;
    padding: 2px 30px 0 0 !important;
    color: #11142a !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    cursor: pointer;
}

.csa-divi-nav-accordion-item .et_pb_module_header:after {
    content: "+";
    position: absolute;
    right: 0;
    top: 1px;
    color: #52284e;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

.csa-divi-nav-accordion-item.csa-accordion-open .et_pb_module_header,
.csa-divi-nav-accordion-item:hover .et_pb_module_header {
    color: #52284e !important;
}

.csa-divi-nav-accordion-item.csa-accordion-open .et_pb_module_header:after {
    content: "-";
}

.csa-divi-nav-accordion-item .et_pb_blurb_description {
    display: none !important;
    padding: 10px 30px 4px 0 !important;
    color: #3e3548;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item.csa-accordion-closed .et_pb_blurb_description {
    display: none !important;
}

.csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item.csa-accordion-open .et_pb_blurb_description {
    display: block !important;
}

body.csa-et-fb .csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item .et_pb_blurb_description,
body.et-fb .csa-divi-nav-dropdown-section .csa-divi-nav-accordion-item .et_pb_blurb_description {
    display: block !important;
}

.csa-divi-nav-accordion-item .et_pb_blurb_description p {
    margin: 0 0 10px;
    padding: 0;
}

.csa-divi-nav-accordion-item .et_pb_blurb_description p:last-child {
    margin-bottom: 0;
}

.csa-divi-nav-toggle-link {
    display: inline-flex;
    align-items: center;
    color: #52284e !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none !important;
}

.csa-divi-nav-toggle-link:hover {
    color: #11142a !important;
}

@media screen and (max-width: 1180px) {
    .csa-divi-supreme-menu .dsm-root-menu {
        gap: 16px;
    }

    .csa-divi-supreme-menu .dsm-menu-text {
        font-size: 11px;
        letter-spacing: 0.7px;
    }

    .csa-divi-action-col {
        flex-basis: 104px !important;
        width: 104px !important;
    }

    .csa-divi-header-actions {
        gap: 14px;
    }
}

@media screen and (max-width: 980px) {
    body.et-tb-has-header:not(.csa-et-fb):not(.et-fb) .csa-divi-supreme-header .et_pb_row {
        padding: 0 20px !important;
    }

    .csa-divi-utilitybar {
        min-height: 32px;
        font-size: 12px;
    }

    .csa-divi-utilitybar-links {
        display: none;
    }

    .csa-divi-main-row {
        min-height: 62px;
    }

    .csa-divi-menu-col {
        display: none !important;
    }

    .csa-divi-logo-col {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .csa-divi-action-col {
        flex: 1 1 auto !important;
        width: auto !important;
    }

    .csa-divi-header-actions {
        padding-right: 74px;
    }

    .csa-divi-logo-module img {
        width: 52px !important;
        max-width: 52px !important;
    }
}

/*
 * Guide médias / Pluralisme
 * Mise en page stable hors du cache dynamique Divi 5.
 */
body.page-id-39519 #main-content {
    overflow: hidden;
}

body.page-id-39519 #main-content .et_pb_section_0 {
    height: auto !important;
    min-height: 600px;
    padding: 50px 0 90px !important;
    background-image:
        linear-gradient(135deg, rgba(35, 17, 38, 0.78), rgba(82, 40, 78, 0.48)),
        url("https://www.csa.be/wp-content/uploads/2019/03/bg-plr.jpg") !important;
    background-position: center !important;
    background-size: cover !important;
}

body.page-id-39519 #main-content .et_pb_section_0 > .et_pb_row_0,
body.page-id-39519 #main-content .et_pb_section_1 > .et_pb_row_1,
body.page-id-39519 #main-content .et_pb_section_2 > .et_pb_row_2 {
    width: min(1120px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.page-id-39519 #main-content .et_pb_section_0 > .et_pb_row_0 {
    padding: 0 !important;
}

body.page-id-39519 .pluralisme-home {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

body.page-id-39519 .pluralisme-hero h1,
body.page-id-39519 .et_pb_section_0 h2 {
    color: #fff !important;
}

body.page-id-39519 .plr-searchbar {
    width: min(820px, 100%);
    margin: 0 auto;
}

body.page-id-39519 .plr-search {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 6px 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(24, 9, 27, 0.2);
}

body.page-id-39519 .plr-search:focus-within {
    box-shadow:
        0 0 0 3px #f5bf34,
        0 14px 34px rgba(24, 9, 27, 0.2) !important;
}

body.page-id-39519 #plr-search-by-name {
    flex: 1 1 auto;
    width: 100% !important;
    min-width: 0;
    height: 44px;
    padding: 8px 46px 8px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #231126 !important;
    font-size: 17px;
}

body.page-id-39519 #plr-search-icon {
    flex: 0 0 36px;
    margin: 0 0 0 -42px !important;
    padding: 9px !important;
    color: #52284e;
    text-align: center;
}

body.page-id-39519 .plr-hub {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100%;
    margin: 28px 0 0 !important;
}

body.page-id-39519 .plr-card {
    min-width: 0;
    margin: 0 !important;
    padding: 24px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: rgba(45, 32, 46, 0.82) !important;
    box-shadow: 0 16px 34px rgba(24, 9, 27, 0.18) !important;
}

body.page-id-39519 .plr-card h3 {
    font-size: 17px !important;
    line-height: 1.3 !important;
}

body.page-id-39519 .plr-card .menu,
body.page-id-39519 .plr-card .plr-list {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-39519 .plr-card .menu > li,
body.page-id-39519 .plr-card .plr-list > li {
    width: 100%;
    margin: 0;
}

body.page-id-39519 .plr-card a {
    overflow-wrap: anywhere;
}

body.page-id-39519 .plr-card .submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none;
    margin: 6px 0 10px !important;
    padding: 8px 0 8px 16px !important;
    border: 0 !important;
    border-left: 2px solid rgba(245, 191, 52, 0.72) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.page-id-39519 .plr-card .submenu > li {
    width: 100%;
}

body.page-id-39519 .plr-card .submenu a {
    display: block;
    width: 100%;
    padding: 6px 8px !important;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
}

body.page-id-39519 .plr-card .submenu .submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none;
    margin: 5px 0 7px !important;
    padding: 5px 0 5px 14px !important;
    border: 0 !important;
    border-left: 1px solid rgba(245, 191, 52, 0.62) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.page-id-39519 .plr-card .menu li.has-sub > a.branch::after {
    content: "+";
    float: right;
    margin-left: 12px;
    color: #f5bf34;
    font-weight: 800;
    text-decoration: none;
}

body.page-id-39519 .plr-card .menu li.has-sub.is-open > a.branch::after {
    content: "−";
}

body.page-id-39519 .plr-card .menu a:focus {
    outline: 0 !important;
    outline-offset: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.page-id-39519 .plr-card .menu a:focus:not(:focus-visible) {
    background: transparent !important;
}

body.page-id-39519 .plr-card .menu a:focus-visible {
    color: #f5bf34 !important;
    background: rgba(245, 191, 52, 0.12) !important;
    border-radius: 4px;
    text-decoration-thickness: 2px;
}

body.page-id-39519 .plr-card .menu li.has-sub.is-open > a.branch {
    color: #f5bf34 !important;
}

body.page-id-39519 #main-content .et_pb_section_1 {
    padding: 0 !important;
}

body.page-id-39519 #main-content .et_pb_section_2 {
    padding: 54px 0 72px !important;
}

body.page-id-39519 #main-content .et_pb_section_2 > .et_pb_row_2 {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 48px;
}

body.page-id-39519 #main-content .et_pb_section_2 .et_pb_column {
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 980px) {
    body.page-id-39519 #main-content .et_pb_section_0 {
        min-height: 0;
        padding: 40px 0 56px !important;
        background-attachment: scroll !important;
    }

    body.page-id-39519 #main-content .et_pb_section_0 > .et_pb_row_0,
    body.page-id-39519 #main-content .et_pb_section_1 > .et_pb_row_1,
    body.page-id-39519 #main-content .et_pb_section_2 > .et_pb_row_2 {
        width: min(calc(100% - 32px), 720px) !important;
    }

    body.page-id-39519 .plr-hub {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    body.page-id-39519 .plr-card {
        padding: 20px !important;
    }

    body.page-id-39519 .plr-card .submenu {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none;
        max-height: none;
        margin: 10px 0 0 !important;
        padding: 12px 0 0 14px !important;
        border-left: 2px solid #f5bf34 !important;
        box-shadow: none !important;
    }

    body.page-id-39519 #main-content .et_pb_section_2 {
        padding: 42px 0 56px !important;
    }

    body.page-id-39519 #main-content .et_pb_section_2 > .et_pb_row_2 {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}

@media (max-width: 520px) {
    body.page-id-39519 #main-content .et_pb_section_0 > .et_pb_row_0,
    body.page-id-39519 #main-content .et_pb_section_1 > .et_pb_row_1,
    body.page-id-39519 #main-content .et_pb_section_2 > .et_pb_row_2 {
        width: calc(100% - 24px) !important;
    }

    body.page-id-39519 .et_pb_section_0 h2 {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    body.page-id-39519 #plr-search-by-name {
        font-size: 16px;
    }
}
