

:root {
    --fsth-blue: #63B5E5;
    --fsth-orange: #F4C890;
    --fsth-ink: #2C2D2C;
    --fsth-muted: #66757d;
    --fsth-soft-blue: #eef8fd;
    --fsth-line: #d9eaf1;
    --fsth-white: #ffffff;
    --fsth-green: #14b8a6;
    --fsth-violet: #8b5cf6;
    --fsth-amber: #f59e0b;
    --fsth-pink: #ec4899;
}

html,
body,
input,
button,
select,
textarea {
    font-family: Arial, Helvetica, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar,
.service,
.footer-box {
    font-family: Arial, Helvetica, sans-serif !important;
}

img {
    max-width: 100%;
}

.testimonial-text {
    font-style: normal !important;
}

.rtl-news {
    direction: rtl;
    text-align: right;
}

.ltr-news {
    direction: ltr;
    text-align: left;
}

@media print{
    a[href]::after {
        content: none !important;
    }

    a {
        color: #000 !important;
        text-decoration: none !important;
    }
}

.fsth-menu-header-v2 {
    position: relative;
    z-index: 100000;
    width: 100%;
    padding: 0 0 8px;
    overflow: visible;
    background: linear-gradient(
        118deg,
        rgba(99, 181, 229, 0.075),
        rgba(244, 200, 144, 0.055)
    );
    box-shadow: none;
}

.fsth-menu-top-accent {
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        var(--fsth-blue) 0%,
        var(--fsth-blue) 50%,
        var(--fsth-orange) 50%,
        var(--fsth-orange) 100%
    );
    opacity: 0.88;
}

.fsth-nav-wrapper {
    width: 100%;
    margin: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.fsth-menu-navbar-v2.navbar {
    width: 100%;
    min-height: 104px;
    margin: 0 !important;
    padding: 0;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.fsth-menu-navbar-v2 > .container-fluid {
    width: 100%;
    padding: 8px 14px;
}

.fsth-menu-layout {
    display: flex;
    min-height: 88px;
    align-items: center;
    gap: 14px;
    overflow: visible;
}







.fsth-cluster-toggle {
    display: none;
}

.fsth-menu-collapse-v2 {
    display: block;
    min-width: 0;
    padding: 0 !important;
    flex: 1 1 auto;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fsth-menu-nav-v2.navbar-nav {
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    gap: 5px;
    float: none !important;
    overflow: visible;
    background: transparent !important;
}

.fsth-menu-nav-v2.navbar-nav > li {
    position: relative;
    display: flex;
    min-width: 0;
    margin: 0;
    flex: 1 1 0;
    float: none !important;
}

.fsth-menu-nav-v2.navbar-nav > li > a {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 88px;
    min-height: 88px;
    padding: 7px 5px 12px !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    overflow: visible;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: var(--fsth-ink) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.fsth-menu-nav-v2.navbar-nav > li > a > i {
    display: inline-flex !important;
    width: 60px;
    height: 60px;
    margin: 0 !important;
    flex: 0 0 60px;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--fsth-orange) !important;
    border-radius: 19px;
    background: var(--fsth-blue) !important;
    color: var(--fsth-orange) !important;
    font-size: 27px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    transition: none !important;
}

.fsth-menu-nav-v2.navbar-nav > li > a > i::before {
    color: var(--fsth-orange) !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

.fsth-menu-nav-v2 .menu-text {
    display: block;
    color: var(--fsth-ink) !important;
    white-space: nowrap;
}

.fsth-menu-nav-v2.navbar-nav > li > a::after {
    content: "";
    position: absolute;
    right: 14%;
    bottom: 4px;
    left: 14%;
    display: block;
    width: 0;
    height: 4px;
    margin: 0 auto;
    border: 0;
    border-radius: 999px;
    background: var(--fsth-orange);
    opacity: 0;
    transition: width .18s ease, opacity .18s ease;
}

.fsth-menu-nav-v2.navbar-nav > li > a:hover,
.fsth-menu-nav-v2.navbar-nav > li > a:focus {
    border-color: rgba(244, 200, 144, 0.58) !important;
    background: rgba(244, 200, 144, 0.10) !important;
    color: var(--fsth-ink) !important;
    outline: 0;
}

.fsth-menu-nav-v2.navbar-nav > li > a:hover .menu-text,
.fsth-menu-nav-v2.navbar-nav > li > a:focus .menu-text {
    color: var(--fsth-ink) !important;
}

.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:focus,
.fsth-menu-nav-v2.navbar-nav > li.active > a,
.fsth-menu-nav-v2.navbar-nav > li.active > a:hover,
.fsth-menu-nav-v2.navbar-nav > li.active > a:focus,
.fsth-menu-nav-v2.navbar-nav > li.open > a,
.fsth-menu-nav-v2.navbar-nav > li.open > a:hover,
.fsth-menu-nav-v2.navbar-nav > li.show > a,
.fsth-menu-nav-v2.navbar-nav > li.show > a:hover,
.fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"] {
    border-color: transparent !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--fsth-ink) !important;
    box-shadow: none !important;
    filter: none !important;
}

.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a::after,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover::after,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:focus::after,
.fsth-menu-nav-v2.navbar-nav > li.active > a::after,
.fsth-menu-nav-v2.navbar-nav > li.active > a:hover::after,
.fsth-menu-nav-v2.navbar-nav > li.active > a:focus::after {
    width: 72%;
    background: var(--fsth-orange) !important;
    opacity: 1;
}

.fsth-menu-nav-v2.navbar-nav > li > a > i,
.fsth-menu-nav-v2.navbar-nav > li:hover > a > i,
.fsth-menu-nav-v2.navbar-nav > li:focus-within > a > i,
.fsth-menu-nav-v2.navbar-nav > li > a:hover > i,
.fsth-menu-nav-v2.navbar-nav > li > a:focus > i {
    border-color: var(--fsth-orange) !important;
    background: var(--fsth-blue) !important;
    background-image: none !important;
    color: var(--fsth-orange) !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

.fsth-menu-nav-v2.navbar-nav > li > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li:hover > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li > a:hover > i::before,
.fsth-menu-nav-v2.navbar-nav > li > a:focus > i::before {
    color: var(--fsth-orange) !important;
}

.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current:focus-within > a > i,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover > i,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:focus > i,
.fsth-menu-nav-v2.navbar-nav > li.active > a > i,
.fsth-menu-nav-v2.navbar-nav > li.active:hover > a > i,
.fsth-menu-nav-v2.navbar-nav > li.active:focus-within > a > i,
.fsth-menu-nav-v2.navbar-nav > li.active > a:hover > i,
.fsth-menu-nav-v2.navbar-nav > li.active > a:focus > i,
.fsth-menu-nav-v2.navbar-nav > li.open > a > i,
.fsth-menu-nav-v2.navbar-nav > li.open:hover > a > i,
.fsth-menu-nav-v2.navbar-nav > li.open:focus-within > a > i,
.fsth-menu-nav-v2.navbar-nav > li.show > a > i,
.fsth-menu-nav-v2.navbar-nav > li.show:hover > a > i,
.fsth-menu-nav-v2.navbar-nav > li.show:focus-within > a > i,
.fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"] > i,
.fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"]:hover > i,
.fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"]:focus > i {
    border-color: var(--fsth-blue) !important;
    background: var(--fsth-orange) !important;
    background-image: none !important;
    color: var(--fsth-blue) !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover > i::before,
.fsth-menu-nav-v2.navbar-nav > li.active > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.active:hover > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.active > a:hover > i::before,
.fsth-menu-nav-v2.navbar-nav > li.open > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.open:hover > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.show > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li.show:hover > a > i::before,
.fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"] > i::before {
    color: var(--fsth-blue) !important;
}

.fsth-menu-nav-v2 .caret {
    position: absolute;
    right: 7px;
    bottom: 15px;
    margin: 0;
    border-top-color: var(--fsth-orange) !important;
}

.fsth-menu-nav-v2.navbar-nav > li.dropdown:hover,
.fsth-menu-nav-v2.navbar-nav > li.dropdown:focus-within,
.fsth-menu-nav-v2.navbar-nav > li.dropdown.open,
.fsth-menu-nav-v2.navbar-nav > li.dropdown.show {
    z-index: 100030;
}

.fsth-menu-dropdown.dropdown-menu {
    top: 100%;
    z-index: 100050 !important;
    min-width: 245px;
    margin-top: 0 !important;
    padding: 8px !important;
    overflow: visible;
    border: 1px solid rgba(99, 181, 229, 0.58) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.99) !important;
    box-shadow: 0 12px 26px rgba(44, 45, 44, 0.14) !important;
}

.fsth-menu-dropdown.dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    width: 55px;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: var(--fsth-orange);
}

.fsth-menu-dropdown.dropdown-menu > li > a {
    display: flex !important;
    min-height: 43px;
    padding: 9px 11px !important;
    align-items: center;
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--fsth-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35;
    text-decoration: none !important;
    white-space: normal;
}

.fsth-menu-dropdown.dropdown-menu > li > a:hover,
.fsth-menu-dropdown.dropdown-menu > li > a:focus {
    background: rgba(99, 181, 229, 0.12) !important;
    color: var(--fsth-ink) !important;
}

.fsth-menu-dropdown .divider,
.fsth-menu-dropdown .dropdown-divider {
    height: 1px;
    margin: 5px 7px !important;
    background: #e8eef1 !important;
}

.home-services-section,
.home-news-groups-section,
.home-stats-section,
.home-gallery-section,
.home-location-section,
.home-featured-news-section {
    clear: both;
    padding: 40px 0 46px;
}

.home-section-title,
.home-location-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

.home-section-title.testimonials-title,
.home-section-title.testimonials-title::before,
.home-section-title.testimonials-title::after {
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.home-section-title.testimonials-title::before,
.home-section-title.testimonials-title::after {
    display: none !important;
    content: none !important;
}

.home-news-groups-section .home-section-title h2 {
    white-space: nowrap;
}

.home-section-title-icon,
.home-location-heading-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--fsth-blue), #2aa8df);
    color: #fff;
    font-size: 16px;
    box-shadow: 0 8px 18px rgba(99, 181, 229, 0.18);
}

.home-section-title-text,
.home-location-heading-copy {
    min-width: 0;
}

.home-section-title h2,
.home-location-heading-copy h2 {
    margin: 0 !important;
    color: #2c657f;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.28;
}

.home-section-title p,
.home-location-heading-copy p {
    margin: 5px 0 0;
    color: #687d84;
    font-size: 14px;
    line-height: 1.55;
}

.home-news-groups-section > .container > .row:first-child,
.home-stats-section > .container > .row:first-child,
.home-gallery-section > .container > .row:first-child,
.home-news-groups-section .home-section-title,
.home-stats-section .home-section-title,
.home-gallery-section .home-section-title,
.home-news-groups-section .home-section-title-text,
.home-stats-section .home-section-title-text,
.home-gallery-section .home-section-title-text,
.home-news-groups-section .home-section-title h2,
.home-stats-section .home-section-title h2,
.home-gallery-section .home-section-title h2,
.home-news-groups-section .home-section-title p,
.home-stats-section .home-section-title p,
.home-gallery-section .home-section-title p {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.home-news-groups-section .home-section-title::before,
.home-news-groups-section .home-section-title::after,
.home-stats-section .home-section-title::before,
.home-stats-section .home-section-title::after,
.home-gallery-section .home-section-title::before,
.home-gallery-section .home-section-title::after,
.home-news-groups-section .home-section-title-text::before,
.home-news-groups-section .home-section-title-text::after,
.home-stats-section .home-section-title-text::before,
.home-stats-section .home-section-title-text::after,
.home-gallery-section .home-section-title-text::before,
.home-gallery-section .home-section-title-text::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
}

.home-bs-slider-section {
    position: relative;
    clear: both;
    padding: 20px 0 34px;
    overflow: hidden;
    background: linear-gradient(180deg, #f7fcff 0%, #ffffff 100%);
}

.home-bs-slider-container {
    padding-right: 16px !important;
    padding-left: 16px !important;
}

.home-bs-slider-shell {
    position: relative;
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 6px;
    overflow: hidden;
    border: 1px solid #d9edf4;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(32, 76, 91, 0.13);
}

.home-fsth-carousel,
.home-bs-carousel-inner,
.home-bs-slide {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

.home-bs-slide {
    aspect-ratio: 1200 / 540;
    background: #eef3f5;
}

.home-bs-media {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
}

.home-bs-bg,
.home-bs-img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.home-bs-bg {
    z-index: 0;
    object-fit: cover;
    filter: blur(18px) brightness(.92);
    transform: scale(1.06);
}

.home-bs-img {
    z-index: 1;
    object-fit: contain;
    object-position: center;
}

.home-bs-static-slide .home-bs-bg {
    display: none;
}

.home-bs-static-slide .home-bs-img {
    object-fit: cover;
}

.home-bs-news-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    color: inherit !important;
    text-decoration: none !important;
}

.home-bs-news-overlay {
    position: absolute;
    right: 4.5%;
    bottom: 7%;
    left: 4.5%;
    z-index: 5;
    display: flex;
    max-width: 74%;
    min-height: 102px;
    padding: 16px 18px;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 18px;
    background: rgba(99,181,229,.58);
    color: #fff;
    box-shadow: 0 12px 28px rgba(15,55,75,.18);
    backdrop-filter: blur(5px);
}

.home-bs-news-content {
    display: block;
    min-width: 0;
}

.home-bs-news-title {
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: clamp(18px, 2vw, 31px);
    font-weight: 800;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-shadow: 0 2px 5px rgba(0,0,0,.20);
}

.home-bs-news-readmore-row {
    display: flex;
    margin-top: 11px;
}

.home-bs-news-more {
    display: inline-flex;
    padding: 7px 11px;
    align-items: center;
    gap: 7px;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    color: #2c657f;
    font-size: 12px;
    font-weight: 800;
}

.home-bs-news-date-floating {
    position: absolute;
    top: 6%;
    right: 4%;
    z-index: 6;
    display: inline-flex;
    padding: 7px 11px;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 18px;
    background: rgba(255,255,255,.90);
    color: #2c657f;
    font-size: 13px;
    font-weight: 800;
}

.home-bs-slide[dir="rtl"] .home-bs-news-overlay {
    right: auto;
    left: 4.5%;
    text-align: right;
}

.home-bs-slide[dir="rtl"] .home-bs-news-readmore-row {
    justify-content: flex-start;
}

.home-bs-control {
    position: absolute;
    top: 50%;
    z-index: 8;
    display: inline-flex;
    width: 46px;
    height: 56px;
    margin-top: -28px;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    background: transparent !important;
    color: #202020 !important;
    font-size: 31px;
    text-shadow: 0 1px 0 rgba(255,255,255,.8);
    opacity: 0;
    transition: opacity .18s ease;
}

.home-bs-control-prev {
    left: 12px;
}

.home-bs-control-next {
    right: 12px;
}

.home-fsth-carousel:hover .home-bs-control,
.home-fsth-carousel:focus-within .home-bs-control {
    opacity: .92;
}

.home-bs-amo-caption {
    position: absolute;
    left: 34px;
    bottom: 30px;
    z-index: 6;
    display: flex;
    max-width: 520px;
    padding: 12px 15px;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 15px;
    background: rgba(30,38,43,.82);
    color: #fff;
    box-shadow: 0 12px 28px rgba(0,0,0,.24);
}

.home-bs-amo-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(255,255,255,.13);
}

.home-bs-amo-text {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.home-bs-amo-text strong {
    font-size: 15px;
}

.home-bs-amo-text a {
    margin-top: 3px;
    color: rgba(255,255,255,.94) !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
}

.home-featured-news-section {
    background: linear-gradient(180deg, #fff 0%, #f7fcfe 100%);
    border-top: 1px solid #e4f1f5;
    border-bottom: 1px solid #e4f1f5;
}

.home-featured-news-wrapper {
    float: none !important;
}

.home-featured-news-panel {
    position: relative;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 14px;
    border: 1px solid #dcebef;
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 15px 36px rgba(35,79,92,.09);
}

.news-tab-content {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-featured-news {
    margin: 0 !important;
    padding: 0 !important;
}





.home-featured-news-category-media.category-students {
    background: linear-gradient(145deg, #dfeeff, #f8fbff);
}

.home-featured-news-category-media.category-recruitment {
    background: linear-gradient(145deg, #fff0ce, #fffaf0);
}

.home-featured-news-category-media.category-events {
    background: linear-gradient(145deg, #eee6ff, #fbf8ff);
}

.home-featured-news-category-media.category-cultural {
    background: linear-gradient(145deg, #ffe8f1, #fff9fb);
}

.home-featured-news-category-media.category-other,
.home-featured-news-category-media.category-general {
    background: linear-gradient(145deg, #dff9f6, #f7fffd);
}

.home-featured-news-category-media.category-admission {
    background: linear-gradient(145deg, #e8f7ff, #ffffff);
}

.home-featured-news-category-icon {
    display: flex;
    padding: 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #2f596d;
    text-align: center;
}

.home-featured-news-category-icon i {
    font-size: 34px;
}

.home-featured-news-category-icon span {
    max-width: 120px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
}

.category-students .home-featured-news-category-icon i,
.news-category-icon.category-students {
    color: #2563eb;
}

.category-recruitment .home-featured-news-category-icon i,
.news-category-icon.category-recruitment {
    color: #d97706;
}

.category-events .home-featured-news-category-icon i,
.news-category-icon.category-events {
    color: #7546eb;
}

.category-cultural .home-featured-news-category-icon i,
.news-category-icon.category-cultural {
    color: #db4a78;
}

.category-other .home-featured-news-category-icon i,
.category-general .home-featured-news-category-icon i,
.news-category-icon.category-other {
    color: #0f8176;
}

.category-admission .home-featured-news-category-icon i,
.news-category-icon.category-admission {
    color: #1596c8;
}

.home-featured-news-number {
    position: absolute;
    left: 9px;
    bottom: 9px;
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 9px;
    background: rgba(255,255,255,.93);
    color: #2c657f;
    font-size: 10px;
    font-weight: 900;
}

























.home-featured-news-navigation {
    display: flex !important;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto !important;
    padding: .4cm 0 0 !important;
    flex-wrap: wrap;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.home-featured-news-pagination-wrap {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
}

.actualites-pagination {
    display: flex !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0 !important;
    list-style: none;
}

.actualites-pagination > li {
    display: flex !important;
    float: none !important;
    margin: 0 !important;
}

.actualites-pagination > li > a {
    display: inline-flex !important;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--fsth-blue) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #2c657f !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(35,79,92,.08);
}

.actualites-pagination > li > a:hover,
.actualites-pagination > li > a:focus {
    background: #eaf7fd !important;
    color: #2c657f !important;
}

.actualites-pagination > li > a.nav-link.active {
    border-color: var(--fsth-blue) !important;
    background: var(--fsth-blue) !important;
    color: #fff !important;
}

.actualites-plus {
    display: flex !important;
    width: 100% !important;
    margin-top: .4cm;
    justify-content: center;
}

.home-featured-news-all,
.btn-plus-actu {
    display: inline-flex !important;
    min-height: 42px;
    padding: 9px 16px !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 2px solid var(--fsth-blue) !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #2c657f !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.home-featured-news-all:hover,
.home-featured-news-all:focus,
.btn-plus-actu:hover,
.btn-plus-actu:focus {
    background: var(--fsth-blue) !important;
    color: #fff !important;
}

.home-featured-news-message {
    display: flex;
    max-width: 1040px;
    min-height: 90px;
    margin: 0 auto;
    padding: 18px 20px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px dashed #b9dce7;
    border-radius: 16px;
    background: #f5fcff;
    color: #55737d;
    font-size: 13px;
    font-weight: 700;
}

.home-featured-news-error {
    border-color: #e6c4c4;
    background: #fff7f7;
    color: #9b4444;
}

.home-services-section {
    background: linear-gradient(180deg, #f8fcfe 0%, #fff 100%);
    border-top: 1px solid #e3f0f4;
    border-bottom: 1px solid #e3f0f4;
}

.home-news-groups-section {
    background: linear-gradient(180deg, #f2fbfe 0%, #fff 100%);
    border-bottom: 1px solid #e3f0f4;
}

.home-service-grid {
    display: flex;
    flex-wrap: wrap;
}

.home-service-column {
    display: flex;
    margin-bottom: 18px;
}

.service.home-service-card {
    --card-accent: var(--fsth-blue);
    --card-dark: #3a91bf;
    --card-light: #eef8fd;

    position: relative;
    display: flex;
    width: 100%;
    min-height: 230px;
    margin: 0 !important;
    padding: 22px 18px !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    border: 1px solid #dcebef !important;
    border-top: 4px solid var(--card-accent) !important;
    border-radius: 17px !important;
    background: linear-gradient(145deg, var(--card-light), #fff 72%) !important;
    color: #324d58 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 8px 22px rgba(35,79,92,.06) !important;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.service.home-service-card:hover,
.service.home-service-card:focus {
    border-color: var(--card-accent) !important;
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(35,79,92,.12) !important;
}

.service.home-service-card .home-service-icon {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, var(--card-dark), var(--card-accent)) !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.service.home-service-card .home-service-icon i {
    margin: 0 !important;
    color: #fff !important;
    font-size: inherit !important;
}

.service.home-service-card h3 {
    min-height: 42px;
    margin: 0 0 9px !important;
    color: #2f4852 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.38 !important;
}

.home-services-section .service.home-service-card h3 {
    text-transform: uppercase !important;
}

.service.home-service-card p {
    margin: 0 0 15px !important;
    color: #71848b !important;
    font-size: 12.5px !important;
    line-height: 1.58 !important;
    text-align: left !important;
}

.service.home-service-card .home-service-link {
    display: inline-flex !important;
    margin-top: auto !important;
    padding: 7px 12px !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(99,181,229,.38);
    border-radius: 18px;
    background: #fff;
    color: var(--card-dark) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.home-service-card.service-dean {
    --card-accent: #63B5E5;
    --card-dark: #318bb8;
    --card-light: #eef8fd;
}

.home-service-card.service-schedule,
.news-group-card.news-group-students {
    --card-accent: #3b82f6;
    --card-dark: #2563eb;
    --card-light: #edf4ff;
}

.home-service-card.service-training,
.news-group-card.news-group-events {
    --card-accent: #8b5cf6;
    --card-dark: #7546eb;
    --card-light: #f4efff;
}

.home-service-card.service-career,
.news-group-card.news-group-other {
    --card-accent: #14b8a6;
    --card-dark: #0f8176;
    --card-light: #eafbf8;
}

.news-group-card.news-group-recruitment {
    --card-accent: #f59e0b;
    --card-dark: #d97706;
    --card-light: #fff7e6;
}

.news-group-card.news-group-cultural {
    --card-accent: #ec4899;
    --card-dark: #db2777;
    --card-light: #fff0f7;
}

.news-group-card.news-group-admission {
    --card-accent: #38bdf8;
    --card-dark: #0284c7;
    --card-light: #effaff;
}

.home-news-group-actions {
    display: flex;
    margin-top: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 11px;
}

.home-news-all,
.home-news-archive {
    display: inline-flex;
    min-height: 44px;
    padding: 9px 18px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 23px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.home-news-all {
    border: 2px solid var(--fsth-blue);
    background: var(--fsth-blue);
    color: #fff !important;
}

.home-news-archive {
    border: 2px solid #9aa9b3;
    background: #fff;
    color: #536976 !important;
}

.home-stats-section {
    background: #fff;
    border-bottom: 1px solid #e8f0f3;
}

.home-stats-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.home-stat-card {
    display: flex;
    min-height: 142px;
    padding: 18px 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #dcebef;
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, #f8fcfe);
    text-align: center;
    box-shadow: 0 7px 18px rgba(35,79,92,.06);
}

.home-stat-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--fsth-blue);
    color: #fff;
    font-size: 15px;
}

.home-stat-number {
    color: #244d5d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.home-stat-label {
    color: #667b84;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.home-gallery-section {
    background: linear-gradient(180deg, #f8fcfe, #fff);
}

.home-gallery-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.home-gallery-item {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid #dbeaf0;
    border-radius: 14px;
    background: #eef5f8;
    box-shadow: 0 7px 18px rgba(35,79,92,.07);
}

.home-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.home-gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(44,101,127,.28);
    color: #fff;
    font-size: 23px;
    opacity: 0;
    transition: opacity .2s ease;
}

.home-gallery-item:hover img,
.home-gallery-item:focus img {
    transform: scale(1.035);
}

.home-gallery-item:hover .home-gallery-overlay,
.home-gallery-item:focus .home-gallery-overlay {
    opacity: 1;
}

.home-location-section {
    background: #fff;
}

.home-location-heading--left {
    justify-content: flex-start;
}













































.site-footer {
    position: relative;
    clear: both !important;
    width: 100%;
    padding: 0 0 20px;
    overflow: hidden;
    direction: ltr !important;
    border-top: 1px solid #d9ebf1;
    background: linear-gradient(180deg, #f5fbfe 0%, #fff 100%) !important;
    color: #536d77 !important;
}

.site-footer .container {
    padding-top: 26px;
}

.site-footer .footer-box {
    margin-bottom: 18px;
    text-align: left !important;
}

.site-footer .footer-box h4 {
    margin: 0 0 13px !important;
    color: #2e515e !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}

.site-footer .footer-links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.site-footer .footer-links li {
    margin: 0 !important;
    border-bottom: 1px solid #edf4f6;
}

.site-footer .footer-links li:last-child {
    border-bottom: 0;
}

.site-footer .footer-links a {
    display: flex;
    min-height: 38px;
    padding: 8px 2px;
    align-items: center;
    color: #5d747d !important;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none !important;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus {
    color: #2c7fa9 !important;
}

.site-footer .footer-social-link {
    display: inline-flex;
    min-height: 42px;
    padding: 7px 11px;
    align-items: center;
    gap: 9px;
    border: 1px solid #d7e9ef;
    border-radius: 12px;
    background: #fff;
    color: #365764 !important;
    font-size: 11.5px;
    font-weight: 800;
    text-decoration: none !important;
}

.site-footer address {
    margin: 0;
    font-style: normal;
}

.site-footer address p {
    margin: 0 0 9px;
    color: #637981;
    font-size: 11.5px;
    line-height: 1.5;
}

.site-footer address a {
    color: #2c7fa9 !important;
    font-weight: 700;
    text-decoration: none !important;
}

.site-footer .footer-copyright {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #dcecf2;
    color: #7b8f96;
    font-size: 10.5px;
    text-align: center;
}

.site-footer.site-footer-light {
    position: relative;

    clear: both !important;

    margin-top: 0;
    padding: 0 0 18px !important;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #f5fbfe 0%,
            #ffffff 100%
        ) !important;

    color: #45616b !important;

    border-top: 1px solid #d9ebf1;
}

.site-footer-light
.site-footer-accent {
    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #078dc2 0%,
            #15b6f7 35%,
            #3b82f6 70%,
            #14b8a6 100%
        );
}

.site-footer-light
.container {
    padding-top: 26px !important;
}

.site-footer-heading {
    display: flex;

    margin-bottom: 20px;
    padding-bottom: 18px;

    align-items: center;
    justify-content: space-between;

    gap: 16px;

    border-bottom: 1px solid #dcecf2;
}

.site-footer-brand {
    display: flex;

    min-width: 0;

    align-items: center;

    gap: 11px;
}

.site-footer-brand-icon {
    display: inline-flex;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #078dc2,
            #15b6f7
        );

    color: #ffffff;

    font-size: 16px;

    box-shadow:
        0 8px 18px rgba(21, 182, 247, 0.16);
}

.site-footer-brand-text {
    display: flex;

    min-width: 0;

    flex-direction: column;
}

.site-footer-brand-text strong {
    color: #294d5b !important;

    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.site-footer-brand-text span {
    margin-top: 2px;

    color: #159fd5 !important;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.55px;

    text-transform: uppercase;
}

.site-footer-top-link {
    display: inline-flex;

    min-height: 36px;

    padding: 7px 12px;

    flex: 0 0 auto;

    align-items: center;
    justify-content: center;

    gap: 7px;

    border: 1px solid #cde7ef;
    border-radius: 18px;

    background: #ffffff;

    color: #087eac !important;

    font-size: 10px;
    font-weight: 800;

    text-decoration: none !important;

    box-shadow:
        0 5px 13px rgba(35, 79, 92, 0.06);

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.site-footer-top-link:hover,
.site-footer-top-link:focus {
    border-color: #15b6f7;

    transform: translateY(-2px);

    box-shadow:
        0 8px 17px rgba(21, 182, 247, 0.12);
}

.site-footer-light
.site-footer-grid {
    display: flex;

    flex-wrap: wrap;
}

.site-footer-light
.footer-box {
    display: flex;

    margin-bottom: 18px;

    text-align: left !important;
}

.site-footer-light
.site-footer-card {
    width: 100%;
    min-height: 205px;

    padding: 17px !important;

    border: 1px solid #dcebf0 !important;
    border-top: 3px solid #15b6f7 !important;
    border-radius: 15px !important;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fcfe
        ) !important;

    box-shadow:
        0 8px 22px rgba(35, 79, 92, 0.055) !important;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.site-footer-light
.site-footer-card:hover {
    border-color: #bfe4ef !important;

    transform: translateY(-3px);

    box-shadow:
        0 13px 28px rgba(35, 79, 92, 0.10) !important;
}

.site-footer-light
.site-footer-card-title {
    display: flex;

    margin-bottom: 14px;

    align-items: center;

    gap: 9px;
}

.site-footer-light
.site-footer-card-icon {
    display: inline-flex;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #078dc2,
            #15b6f7
        ) !important;

    color: #ffffff !important;

    font-size: 12px;
}

.site-footer-light
.site-footer-card h4 {
    margin: 0 !important;

    color: #2e515e !important;

    font-size: 12.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px;

    text-transform: uppercase;
}

.site-footer-light
.footer-links {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}

.site-footer-light
.footer-links li {
    margin: 0 !important;

    border-bottom: 1px solid #edf4f6;
}

.site-footer-light
.footer-links li:last-child {
    border-bottom: 0;
}

.site-footer-light
.footer-links a {
    display: flex;

    min-height: 39px;

    padding: 8px 2px;

    align-items: center;

    gap: 8px;

    color: #5d747d !important;

    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;

    text-decoration: none !important;

    transition:
        color 0.18s ease,
        transform 0.18s ease;
}

.site-footer-light
.footer-links a i {
    color: #15a8dd !important;

    font-size: 8px;
}

.site-footer-light
.footer-links a:hover,
.site-footer-light
.footer-links a:focus {
    color: #078dc2 !important;

    transform: translateX(3px);
}

.site-footer-light
.site-footer-social-text {
    margin: 0 0 15px;

    color: #74878e !important;

    font-size: 11.5px;
    line-height: 1.6;
}

.site-footer-light
.footer-social-link {
    display: flex !important;

    min-height: 44px;

    padding: 7px 10px;

    align-items: center;

    gap: 9px;

    border: 1px solid #d7e9ef;
    border-radius: 12px;

    background: #ffffff;

    color: #365764 !important;

    font-size: 11.5px;
    font-weight: 800;

    text-decoration: none !important;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.site-footer-light
.footer-social-link:hover,
.site-footer-light
.footer-social-link:focus {
    border-color: #8fcff0;

    transform: translateY(-2px);

    box-shadow:
        0 8px 16px rgba(24, 119, 242, 0.10);
}

.site-footer-light
.footer-social-icon {
    display: inline-flex;

    width: 30px;
    height: 30px;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #1877f2;

    color: #ffffff;

    font-size: 12px;
}

.site-footer-light
.footer-link-arrow {
    margin-left: auto;

    color: #159fd5 !important;

    font-size: 9px;
}

.site-footer-light
.site-footer-contact {
    margin: 0 !important;

    font-style: normal;
}

.site-footer-light
.site-footer-contact p {
    display: flex;

    margin: 0 0 9px !important;

    align-items: flex-start;

    gap: 9px;

    color: #637981 !important;

    font-size: 11.5px;
    line-height: 1.5;
}

.site-footer-light
.site-footer-contact-icon {
    display: inline-flex;

    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #e9f8fd;

    color: #078dc2 !important;

    font-size: 10px;
}

.site-footer-light
.site-footer-contact a {
    color: #087eac !important;

    font-weight: 800;

    text-decoration: none !important;
}

.site-footer-light
.site-footer-bottom {
    display: flex;

    margin-top: 1px !important;
    padding-top: 15px !important;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    border-top: 1px solid #dcecf2 !important;
}

.site-footer-light
.site-footer-bottom p {
    margin: 0 !important;

    color: #7b8f96 !important;

    font-size: 10.5px;
}

.site-footer-bottom-links {
    display: flex;

    align-items: center;

    gap: 8px;
}

.site-footer-bottom-links a {
    display: inline-flex;

    min-height: 31px;

    padding: 5px 10px;

    align-items: center;
    justify-content: center;

    gap: 5px;

    border: 1px solid #d6e8ee;
    border-radius: 16px;

    background: #ffffff;

    color: #087eac !important;

    font-size: 9.5px;
    font-weight: 800;

    text-decoration: none !important;
}

@media (max-width: 991px){
    .site-footer-light
    .site-footer-card {
        min-height: 0;
    }
}

@media (max-width: 767px){
    .site-footer-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-footer-top-link {
        align-self: flex-start;
    }

    .site-footer-light
    .footer-box {
        width: 100%;
    }

    .site-footer-light
    .site-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px){
    .site-footer-brand-icon {
        width: 38px;
        height: 38px;

        flex-basis: 38px;
    }

    .site-footer-brand-text strong {
        font-size: 12px;
    }

    .site-footer-light
    .site-footer-card {
        padding: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce){
    .site-footer-top-link,
    .site-footer-light .site-footer-card,
    .site-footer-light .footer-links a,
    .site-footer-light .footer-social-link {
        transition: none !important;
    }
}

@media (max-width: 1199px){
    

    .fsth-menu-nav-v2.navbar-nav > li > a {
        min-width: 76px;
        font-size: 12.5px !important;
    }

    .fsth-menu-nav-v2.navbar-nav > li > a > i {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        font-size: 23px !important;
    }

    .home-stats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991px){
    .fsth-menu-navbar-v2.navbar {
        min-height: 0;
    }

    .fsth-menu-layout {
        display: block;
        min-height: 0;
    }

    

    .fsth-cluster-toggle {
        display: block !important;
        position: static !important;
        margin-left: auto !important;
        padding: 9px 10px !important;
        border: 1px solid rgba(99,181,229,.55) !important;
        border-radius: 10px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .fsth-cluster-toggle .icon-bar {
        display: block;
        width: 23px;
        height: 2px;
        margin: 4px 0;
        border-radius: 2px;
        background: #2c657f !important;
    }

    .fsth-menu-collapse-v2 {
        width: 100%;
        padding: 5px 0 10px !important;
        border-top: 1px solid #dfe8ed !important;
        background: #fff !important;
    }

    .fsth-menu-collapse-v2.collapse:not(.show):not(.in) {
        display: none !important;
    }

    .fsth-menu-collapse-v2.collapse.show,
    .fsth-menu-collapse-v2.collapse.in {
        display: block !important;
    }

    .fsth-menu-nav-v2.navbar-nav {
        display: block !important;
        width: 100%;
    }

    .fsth-menu-nav-v2.navbar-nav > li {
        display: block;
        width: 100%;
    }

    .fsth-menu-nav-v2.navbar-nav > li > a {
        min-width: 0;
        min-height: 56px;
        padding: 9px 14px !important;
        flex-direction: row;
        justify-content: flex-start;
        gap: 11px;
        font-size: 15px !important;
        text-align: left;
    }

    .fsth-menu-nav-v2.navbar-nav > li > a > i {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        border-width: 2px !important;
        border-radius: 13px;
        font-size: 18px !important;
    }

    .fsth-menu-nav-v2.navbar-nav > li > a::after {
        display: none;
    }

    .fsth-menu-nav-v2 .caret {
        position: static;
        margin-left: auto;
    }

    .fsth-menu-dropdown.dropdown-menu {
        position: static !important;
        float: none !important;
        width: calc(100% - 20px);
        min-width: 0;
        margin: 3px 0 8px 20px !important;
        box-shadow: none !important;
    }

    .home-stats-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px){
    .home-services-section,
    .home-news-groups-section,
    .home-stats-section,
    .home-gallery-section,
    .home-location-section,
    .home-featured-news-section {
        padding: 30px 0 36px;
    }

    .home-section-title,
    .home-location-heading {
        align-items: flex-start;
    }

    .home-section-title-icon,
    .home-location-heading-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        font-size: 14px;
    }

    .home-section-title h2,
    .home-location-heading-copy h2 {
        font-size: 23px;
    }

    .home-bs-slider-section {
        padding: 14px 0 26px;
    }

    .home-bs-slider-shell {
        padding: 4px;
        border-radius: 18px;
    }

    .home-fsth-carousel,
    .home-bs-carousel-inner,
    .home-bs-slide {
        border-radius: 14px;
    }

    .home-bs-news-overlay {
        right: 3%;
        bottom: 5%;
        left: 3%;
        max-width: 82%;
        min-height: 82px;
        padding: 11px 13px;
        border-radius: 14px;
    }

    .home-bs-news-title {
        font-size: clamp(15px, 4.2vw, 23px);
    }

    .home-bs-news-date-floating {
        top: 4%;
        right: 3%;
        font-size: 11px;
    }

    .home-bs-amo-caption {
        right: 12px;
        bottom: 12px;
        left: 12px;
        max-width: none;
    }

    

    

    

    .actualites-pagination > li > a {
        width: 40px;
        min-width: 40px;
        height: 40px;
        font-size: 14px !important;
    }

    .home-service-column {
        width: 50%;
    }

    .home-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    

    
}



@media (max-width: 560px){
    .home-news-groups-section .home-section-title h2 {
        white-space: normal;
    }

    

    

    

    

    

    

    
}

@media (max-width: 480px){
    

    .home-service-column {
        width: 100%;
    }

    .service.home-service-card {
        min-height: 0;
        padding: 19px 16px !important;
    }

    .home-news-group-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .home-news-all,
    .home-news-archive {
        width: 100%;
    }

    .home-stats-grid,
    .home-gallery-grid {
        grid-template-columns: 1fr;
    }

    .actualites-pagination {
        gap: 5px;
    }

    .actualites-pagination > li > a {
        width: 36px;
        min-width: 36px;
        height: 36px;
        border-radius: 9px !important;
        font-size: 13px !important;
    }

    

    

    

    

    

    

    

    

    .site-footer .footer-box {
        width: 100%;
    }

}

@media (hover: none) and (pointer: coarse){
    .home-bs-control {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
    }

    .fsth-menu-nav-v2.navbar-nav > li > a,
    .home-gallery-item img,
    .home-gallery-overlay,
    .service.home-service-card,
    .home-bs-control {
        transition: none !important;
    }
}























html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current):hover > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).show > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).open > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a[aria-expanded="true"] > i {
    border-color: var(--fsth-orange) !important;
    background: var(--fsth-blue) !important;
    background-image: none !important;
    color: var(--fsth-orange) !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current):hover > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a[aria-expanded="true"] > i::before {
    color: var(--fsth-orange) !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a[aria-expanded="true"] > i {
    border-color: var(--fsth-blue) !important;
    background: var(--fsth-orange) !important;
    background-image: none !important;
    color: var(--fsth-blue) !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover > i::before {
    color: var(--fsth-blue) !important;
}

@media (min-width: 992px) and (hover: hover) and (pointer: fine){
    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown > .fsth-menu-dropdown.dropdown-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown:hover > .fsth-menu-dropdown.dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown:not(:hover) > .fsth-menu-dropdown.dropdown-menu,
    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown:not(:hover) > .fsth-menu-dropdown.dropdown-menu.show {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}



























html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a > i {
    border-color: var(--fsth-orange) !important;
    background: var(--fsth-blue) !important;
    background-image: none !important;
    color: var(--fsth-orange) !important;
    box-shadow: none !important;
    filter: none !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a > i::before {
    color: var(--fsth-orange) !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a[aria-expanded="true"] > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a.dropdown-toggle.show > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).show > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).open > a > i {
    border-color: var(--fsth-blue) !important;
    background: var(--fsth-orange) !important;
    background-image: none !important;
    color: var(--fsth-blue) !important;
    box-shadow: none !important;
    filter: none !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a[aria-expanded="true"] > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current) > a.dropdown-toggle.show > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).show > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li:not(.fsth-current).open > a > i::before {
    color: var(--fsth-blue) !important;
}

@media (min-width: 992px) and (hover: hover) and (pointer: fine){
    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown:not(.fsth-current):hover > a > i {
        border-color: var(--fsth-blue) !important;
        background: var(--fsth-orange) !important;
        color: var(--fsth-blue) !important;
    }

    html body .fsth-menu-nav-v2.navbar-nav > li.dropdown:not(.fsth-current):hover > a > i::before {
        color: var(--fsth-blue) !important;
    }
}

html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:focus-within > a > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:hover > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a:focus > i,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a[aria-expanded="true"] > i {
    border-color: var(--fsth-blue) !important;
    background: var(--fsth-orange) !important;
    background-image: none !important;
    color: var(--fsth-blue) !important;
    box-shadow: none !important;
    filter: none !important;
}

html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:hover > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current:focus-within > a > i::before,
html body .fsth-menu-nav-v2.navbar-nav > li.fsth-current > a[aria-expanded="true"] > i::before {
    color: var(--fsth-blue) !important;
}

@media (max-width: 991px){
    html body .fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"] > i,
    html body .fsth-menu-nav-v2.navbar-nav > li > a.dropdown-toggle.show > i {
        border-color: var(--fsth-blue) !important;
        background: var(--fsth-orange) !important;
        color: var(--fsth-blue) !important;
    }

    html body .fsth-menu-nav-v2.navbar-nav > li > a[aria-expanded="true"] > i::before,
    html body .fsth-menu-nav-v2.navbar-nav > li > a.dropdown-toggle.show > i::before {
        color: var(--fsth-blue) !important;
    }
}















@media (max-width: 991px){
    html body .fsth-menu-nav-v2.navbar-nav > li > a > i {
        position: relative !important;
        display: inline-flex !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        flex: 0 0 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        vertical-align: middle !important;
        text-align: center !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
    }

    html body .fsth-menu-nav-v2.navbar-nav > li > a > i::before {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
        transform: translate(-50%, -50%) !important;
        transform-origin: center center !important;
    }
}

html body .home-featured-news-section > .container > .row:first-child,
html body .home-featured-news-section > .container > .row:first-child > [class*="col-"],
html body .home-featured-news-section .home-section-title,
html body .home-featured-news-section .home-section-title.testimonials-title,
html body .home-featured-news-section .home-section-title-text,
html body .home-featured-news-section .home-section-title h2,
html body .home-featured-news-section .home-section-title p {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body .home-featured-news-section .home-section-title::before,
html body .home-featured-news-section .home-section-title::after,
html body .home-featured-news-section .home-section-title-text::before,
html body .home-featured-news-section .home-section-title-text::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body .home-featured-news-section .home-section-title h2 {
    font-size: 32px !important;
    line-height: 1.22 !important;
}

html body .home-featured-news-section .home-section-title p {
    margin-top: 6px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px){
    html body .home-featured-news-section .home-section-title h2 {
        font-size: 27px !important;
    }

    html body .home-featured-news-section .home-section-title p {
        font-size: 14.5px !important;
    }
}

.home-services-section .home-service-grid-primary,
.home-services-section .home-service-grid-secondary {
    align-items: stretch;
}

.home-services-section .home-service-grid-secondary {
    margin-top: 2px;
}

.home-service-card.service-presentation {
    --card-accent: #4f9fd1;
    --card-dark: #2c79a8;
    --card-light: #eef8fd;
}

.home-service-card.service-gallery {
    --card-accent: #e58ab0;
    --card-dark: #c75f8d;
    --card-light: #fff1f7;
}

.home-service-card.service-clubs {
    --card-accent: #f0a45d;
    --card-dark: #d47d2f;
    --card-light: #fff6ec;
}

.home-services-section .home-service-card {
    height: 100%;
    min-height: 230px;
}

@media (min-width: 768px){
    .home-services-section .home-service-grid-secondary {
        display: flex;
        justify-content: center;
    }

    .home-services-section .home-service-grid-secondary .home-service-column {
        width: 33.333333%;
    }
}

@media (min-width: 560px) and (max-width: 767px){
    .home-services-section .home-service-grid-primary .home-service-column,
    .home-services-section .home-service-grid-secondary .home-service-column {
        width: 50%;
    }
}

@media (max-width: 559px){
    .home-services-section .home-service-grid-primary .home-service-column,
    .home-services-section .home-service-grid-secondary .home-service-column {
        width: 100%;
    }
}

.home-service-card.service-download {
    --card-accent: #7c91d8;
    --card-dark: #5f73bd;
    --card-light: #f1f3ff;
}

@media (min-width: 768px){
    .home-services-section .home-service-grid-secondary {
        display: flex;
        justify-content: center;
    }

    .home-services-section .home-service-grid-secondary .home-service-column {
        width: 25% !important;
    }
}

.home-service-card.service-research {
    --card-accent: #6f8ed6;
    --card-dark: #4f6fb8;
    --card-light: #eef3ff;
}

@media (min-width: 768px){
    .home-services-section .home-service-grid-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .home-services-section .home-service-grid-row .home-service-column {
        width: 33.333333% !important;
        max-width: 33.333333% !important;
        flex: 0 0 33.333333% !important;
    }
}

@media (max-width: 767px){
    .home-services-section .home-service-grid-row .home-service-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 767px){
    html body .home-bs-slider-section .home-bs-news-overlay {
        right: 10px !important;
        bottom: 10px !important;
        left: 10px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        justify-content: flex-start !important;
        border-radius: 13px !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-title {
        display: -webkit-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.28 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        width: 100% !important;
        margin-top: 7px !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 6px 9px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: 8px !important;
        right: 8px !important;
        max-width: calc(100% - 16px) !important;
        padding: 5px 8px !important;
        font-size: 9.5px !important;
        line-height: 1.15 !important;
    }

    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        right: 10px !important;
        left: 10px !important;
        text-align: right !important;
    }
}

@media (max-width: 767px){
    html body .home-featured-news-section .home-featured-news-panel {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        border-radius: 17px !important;
    }

    

    

    html body .home-featured-news-section .home-featured-news-category-icon {
        padding: 8px !important;
        gap: 5px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon i {
        font-size: 30px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon span {
        max-width: 180px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    html body .home-featured-news-section .home-featured-news-number {
        left: 8px !important;
        bottom: 8px !important;
        width: 28px !important;
        height: 28px !important;
        font-size: 9px !important;
    }

    

    

    

    

    

    

    

    

    

    

    html body .home-featured-news-section .home-featured-news-navigation {
        padding-top: 12px !important;
        gap: 7px !important;
    }
}



@media (min-width: 768px){
    html body .home-bs-slider-section .home-bs-news-overlay {
        position: absolute !important;
        top: 41.5% !important;
        left: 26.6% !important;
        right: auto !important;
        bottom: auto !important;

        width: 26.2% !important;
        max-width: 26.2% !important;
        height: 45.5% !important;
        min-height: 0 !important;
        max-height: 45.5% !important;

        padding:
            clamp(8px, 1.20vw, 17px)
            clamp(9px, 1.35vw, 19px)
            clamp(7px, 1.05vw, 15px) !important;

        box-sizing: border-box !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: clamp(4px, 0.60vw, 9px) !important;

        overflow: hidden !important;

        border: 1px solid rgba(255, 255, 255, 0.78) !important;
        border-radius: clamp(8px, 1vw, 15px) !important;

        background:
            linear-gradient(
                138deg,
                rgba(239, 250, 255, 0.94) 0%,
                rgba(211, 242, 255, 0.88) 28%,
                rgba(163, 222, 249, 0.76) 54%,
                rgba(102, 197, 240, 0.54) 76%,
                rgba(89, 184, 234, 0.18) 100%
            ) !important;

        color: #064b70 !important;
        text-align: left !important;

        box-shadow:
            0
            clamp(4px, 0.85vw, 12px)
            clamp(10px, 2vw, 28px)
            rgba(29, 139, 194, 0.18) !important;

        -webkit-backdrop-filter: blur(3px) !important;
        backdrop-filter: blur(3px) !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-title {
        display: -webkit-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        color: #064b70 !important;

        font-size: clamp(14px, 1.45vw, 25px) !important;
        font-weight: 900 !important;
        line-height: 1.14 !important;

        text-align: left !important;
        text-shadow: none !important;

        overflow-wrap: anywhere !important;
        word-break: normal !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 4 !important;
    }

    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        text-align: right !important;
        direction: rtl !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        width: 100% !important;
        margin-top: clamp(5px, 0.65vw, 10px) !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 28px !important;
        max-width: 100% !important;

        padding:
            clamp(5px, 0.52vw, 8px)
            clamp(8px, 1.10vw, 18px) !important;

        border-radius: clamp(8px, 0.75vw, 12px) !important;

        background:
            linear-gradient(
                135deg,
                #2adfff 0%,
                #17bce9 50%,
                #148ecb 100%
            ) !important;

        color: #ffffff !important;

        font-size: clamp(9px, 0.82vw, 13px) !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;

        white-space: normal !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        position: absolute !important;
        left: 7.3% !important;
        right: auto !important;
        top: 69% !important;
        bottom: auto !important;

        width: auto !important;
        max-width: 18% !important;
        min-width: 110px !important;
        min-height: 38px !important;

        padding: 7px 12px !important;

        font-size: clamp(11px, 1vw, 16px) !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;

        border-radius: 12px !important;

        background:
            linear-gradient(
                135deg,
                #eef4f8 0%,
                #ffffff 35%,
                #c7ebfb 100%
            ) !important;

        color: #075d8c !important;

        box-shadow:
            0 8px 20px
            rgba(0, 90, 160, 0.20) !important;
    }
}

@media (max-width: 767px){
    html body .home-bs-slider-section .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        position: absolute !important;

        top: 39% !important;
        left: 21% !important;
        right: auto !important;
        bottom: auto !important;

        width: 38% !important;
        max-width: 38% !important;
        height: 52% !important;
        min-height: 0 !important;
        max-height: 52% !important;

        padding: 7px 8px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 4px !important;

        box-sizing: border-box !important;
        overflow: hidden !important;

        border: 1px solid rgba(255,255,255,.72) !important;
        border-radius: 9px !important;

        background:
            linear-gradient(
                138deg,
                rgba(239, 250, 255, 0.90) 0%,
                rgba(199, 238, 255, 0.80) 48%,
                rgba(100, 197, 240, 0.42) 78%,
                rgba(100, 197, 240, 0.12) 100%
            ) !important;

        color: #064b70 !important;

        box-shadow:
            0 4px 12px
            rgba(29,139,194,0.14) !important;

        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-title {
        display: -webkit-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        color: #064b70 !important;

        font-size: clamp(10px, 3vw, 14px) !important;
        font-weight: 900 !important;
        line-height: 1.12 !important;

        text-align: left !important;
        text-shadow: none !important;

        overflow-wrap: anywhere !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        direction: rtl !important;
        text-align: right !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        width: 100% !important;
        margin-top: 4px !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        display: inline-flex !important;

        width: auto !important;
        min-width: 0 !important;
        min-height: 23px !important;
        max-width: 100% !important;

        padding: 4px 6px !important;

        border-radius: 8px !important;

        font-size: clamp(7.5px, 2.15vw, 10px) !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;

        white-space: normal !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        left: 4% !important;
        right: auto !important;
        top: 72% !important;
        bottom: auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 16% !important;
        min-height: 22px !important;

        padding: 3px 5px !important;
        gap: 3px !important;

        font-size: clamp(6.5px, 1.9vw, 9px) !important;
        line-height: 1.05 !important;

        border-radius: 7px !important;
    }
}

@media (max-width: 420px){
    html body .home-bs-slider-section .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        top: 37% !important;
        left: 17% !important;

        width: 43% !important;
        max-width: 43% !important;
        height: 55% !important;
        max-height: 55% !important;

        padding: 6px 7px !important;
    }

    html body .home-bs-slider-section .home-bs-news-title {
        font-size: clamp(9px, 3.1vw, 12px) !important;
        line-height: 1.10 !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-height: 21px !important;
        padding: 3px 5px !important;
        font-size: clamp(7px, 2.1vw, 8.5px) !important;
    }
}

html body .home-bs-slider-section .home-bs-slide {
    position: relative !important;
    aspect-ratio: 1200 / 540 !important;
}

html body .home-bs-slider-section .home-bs-img {
    object-fit: contain !important;
    object-position: center !important;
}

@media (min-width: 768px){
    html body .home-bs-slider-section .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        position: absolute !important;

        top: 41.5% !important;
        left: 26.6% !important;
        right: auto !important;
        bottom: auto !important;

        width: 26.2% !important;
        max-width: 26.2% !important;
        height: 45.5% !important;
        min-height: 0 !important;
        max-height: 45.5% !important;

        padding: clamp(8px, 1.05vw, 15px) clamp(9px, 1.25vw, 18px) !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(5px, .55vw, 9px) !important;

        box-sizing: border-box !important;
        overflow: hidden !important;

        text-align: center !important;

        border: 1px solid rgba(255,255,255,.78) !important;
        border-radius: clamp(8px, 1vw, 15px) !important;

        background:
            linear-gradient(
                138deg,
                rgba(239,250,255,.94) 0%,
                rgba(211,242,255,.88) 28%,
                rgba(163,222,249,.76) 54%,
                rgba(102,197,240,.54) 76%,
                rgba(89,184,234,.18) 100%
            ) !important;

        box-shadow: 0 10px 28px rgba(29,139,194,.18) !important;
        backdrop-filter: blur(3px) !important;
        -webkit-backdrop-filter: blur(3px) !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex: 0 1 auto !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(4px, .45vw, 7px) !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        display: -webkit-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;

        overflow: hidden !important;

        color: #064b70 !important;
        font-size: clamp(13px, 1.32vw, 23px) !important;
        font-weight: 900 !important;
        line-height: 1.16 !important;

        direction: inherit !important;
        text-align: center !important;
        text-shadow: none !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        display: -webkit-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;

        overflow: hidden !important;

        color: rgba(5,67,103,.94) !important;
        font-size: clamp(8px, .78vw, 13px) !important;
        font-weight: 700 !important;
        line-height: 1.28 !important;

        direction: inherit !important;
        text-align: center !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        order: 3 !important;
        display: flex !important;
        width: 100% !important;
        margin-top: 2px !important;
        justify-content: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 28px !important;
        padding: 6px 11px !important;
        font-size: clamp(8.5px, .72vw, 11.5px) !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }
}

@media (max-width: 767px){
    html body .home-bs-slider-section .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        position: absolute !important;

        top: 41.5% !important;
        left: 26.6% !important;
        right: auto !important;
        bottom: auto !important;

        width: 32% !important;
        max-width: 32% !important;
        height: 47% !important;
        min-height: 0 !important;
        max-height: 47% !important;

        padding: 5px 6px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;

        overflow: hidden !important;
        box-sizing: border-box !important;

        text-align: center !important;

        border: 1px solid rgba(255,255,255,.70) !important;
        border-radius: 8px !important;

        background:
            linear-gradient(
                138deg,
                rgba(239,250,255,.88) 0%,
                rgba(199,238,255,.76) 48%,
                rgba(100,197,240,.36) 78%,
                rgba(100,197,240,.08) 100%
            ) !important;

        box-shadow: 0 3px 9px rgba(29,139,194,.12) !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        display: -webkit-box !important;
        width: 100% !important;
        margin: 0 !important;

        color: #064b70 !important;
        font-size: clamp(8.5px, 2.55vw, 12px) !important;
        font-weight: 900 !important;
        line-height: 1.10 !important;

        direction: inherit !important;
        text-align: center !important;
        text-shadow: none !important;

        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        display: -webkit-box !important;
        width: 100% !important;
        margin: 0 !important;

        color: rgba(5,67,103,.92) !important;
        font-size: clamp(5.5px, 1.55vw, 7.5px) !important;
        font-weight: 700 !important;
        line-height: 1.12 !important;

        direction: inherit !important;
        text-align: center !important;

        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        display: flex !important;
        width: 100% !important;
        margin-top: 2px !important;
        justify-content: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-width: 0 !important;
        min-height: 19px !important;
        max-width: 100% !important;
        padding: 3px 5px !important;
        font-size: clamp(5.5px, 1.55vw, 7.5px) !important;
        line-height: 1 !important;
        white-space: normal !important;
    }
}

@media (max-width: 767px){

    html body .home-featured-news-section .home-featured-news-panel {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    

    

    html body .home-featured-news-section .home-featured-news-category-icon {
        padding: 7px !important;
        gap: 4px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon i {
        font-size: 29px !important;
    }

    

    

    

    

    

    

    

    

    

    
}



@media (min-width: 768px){

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: clamp(12px, 1.15vw, 20px) !important;
        line-height: 1.16 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        font-size: clamp(7.5px, .70vw, 11.5px) !important;
        line-height: 1.24 !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-height: 36px !important;
        padding: 8px 16px !important;
        border-radius: 18px !important;
        font-size: clamp(10px, .90vw, 14px) !important;
        line-height: 1.10 !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: auto !important;
        right: auto !important;
        bottom: 4.5% !important;
        left: 7.3% !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px){

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: clamp(7.5px, 2.15vw, 10px) !important;
        line-height: 1.08 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        font-size: clamp(5px, 1.40vw, 6.5px) !important;
        line-height: 1.10 !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-height: 20px !important;
        padding: 3px 6px !important;
        font-size: clamp(5.5px, 1.55vw, 7.5px) !important;
        line-height: 1 !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: auto !important;
        right: auto !important;
        bottom: 4% !important;
        left: 4% !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px){

    

    

    html body .home-featured-news-section .home-featured-news-category-icon {
        padding: 7px !important;
        gap: 4px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon i {
        font-size: 29px !important;
    }

    

    

    

    

    

    

    

    

    

    
}



@media (max-width: 767px){
    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: clamp(6.2px, 1.78vw, 8.4px) !important;
        line-height: 1.07 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        font-size: clamp(4.7px, 1.25vw, 6px) !important;
        line-height: 1.08 !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        font-size: clamp(5.2px, 1.35vw, 6.8px) !important;
        line-height: 1 !important;
    }
}

@media (max-width: 767px){

    

    

    html body .home-featured-news-section .home-featured-news-category-icon {
        padding: 6px !important;
        gap: 3px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon i {
        font-size: 27px !important;
    }

    

    

    

    

    

    

    

    

    

    
}



@media (min-width: 768px){

    html body .home-bs-slider-section .home-bs-news-overlay {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: clamp(11px, 1.03vw, 18px) !important;
        line-height: 1.16 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        display: -webkit-box !important;
        width: 100% !important;
        margin-top: 7px !important;
        overflow: hidden !important;

        font-size: clamp(7.2px, .68vw, 11px) !important;
        line-height: 1.26 !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        display: flex !important;
        width: 100% !important;
        margin-top: auto !important;
        padding-top: 8px !important;
        justify-content: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        min-height: 38px !important;
        padding: 9px 18px !important;
        border-radius: 19px !important;
        font-size: clamp(10.5px, .92vw, 14px) !important;
        line-height: 1.1 !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: auto !important;
        bottom: 1.8% !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px){

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: clamp(5.8px, 1.60vw, 7.6px) !important;
        line-height: 1.06 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        margin-top: 2px !important;
        font-size: clamp(4.2px, 1.10vw, 5.5px) !important;
        line-height: 1.06 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        display: flex !important;
        width: 100% !important;
        margin-top: auto !important;
        padding-top: 2px !important;
        justify-content: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        width: auto !important;
        min-width: 0 !important;
        max-width: 68% !important;
        min-height: 16px !important;
        max-height: 18px !important;
        padding: 2px 4px !important;
        border-radius: 7px !important;
        font-size: clamp(4.3px, 1.15vw, 5.8px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        display: inline-flex !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: 34% !important;
        min-height: 18px !important;
        height: auto !important;
        padding: 3px 5px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;

        font-size: clamp(4.4px, 1.15vw, 5.8px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;

        top: auto !important;
        bottom: 1.8% !important;
    }
}





/* ==========================================================================
   FSTH — SLIDER MOBILE + AMO SIMPLIFIÉ — 12/08/2026
   ========================================================================== */

/* AMO : une seule légende cliquable. */
html body .home-bs-amo-caption {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none !important;
    cursor: pointer;
}

html body .home-bs-amo-caption:hover,
html body .home-bs-amo-caption:focus {
    color: #fff !important;
    text-decoration: none !important;
}

html body .home-bs-amo-one-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
}

@media (min-width: 768px){
    html body .home-bs-slider-section .home-bs-amo-caption {
        padding: 7px 10px !important;
        border-radius: 10px !important;
    }

    html body .home-bs-slider-section .home-bs-amo-one-line {
        font-size: 9px !important;
        line-height: 1 !important;
    }

    html body .home-bs-slider-section .home-bs-amo-one-line i {
        font-size: 8px !important;
    }
}

@media (max-width: 767px){

    html body .home-bs-slider-section .home-bs-amo-caption,
    html body .home-bs-slider-section .home-bs-amo-caption * {
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    html body .home-bs-slider-section .home-bs-amo-caption {
        left: 6px !important;
        right: auto !important;
        bottom: 6px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 42% !important;

        padding: 3px 5px !important;
        border-radius: 6px !important;

        overflow: hidden !important;

        background: rgba(30, 38, 43, .68) !important;
        box-shadow: 0 3px 7px rgba(0, 0, 0, .14) !important;
        backdrop-filter: blur(1.5px) !important;
        -webkit-backdrop-filter: blur(1.5px) !important;
    }

    html body .home-bs-slider-section .home-bs-amo-one-line {
        max-width: 100% !important;
        gap: 2px !important;

        overflow: hidden !important;

        font-size: 5px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    html body .home-bs-slider-section .home-bs-amo-one-line i {
        font-size: 4.5px !important;
    }

    /* Cartouche actualité : un peu plus grand pour afficher 3 lignes. */
    html body .home-bs-slider-section .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-overlay {
        top: 46% !important;
        left: 26.6% !important;
        right: auto !important;
        bottom: auto !important;

        width: 35% !important;
        max-width: 35% !important;
        height: 47% !important;
        min-height: 0 !important;
        max-height: 47% !important;

        padding: 5px 6px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;

        box-sizing: border-box !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-content {
        display: flex !important;
        width: 100% !important;
        min-height: 0 !important;

        flex: 1 1 auto !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 3px !important;

        overflow: hidden !important;
        text-align: center !important;
    }

    /* Pas de description sur mobile. */
    html body .home-bs-slider-section .home-bs-news-description,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-description {
        display: none !important;
    }

    /* Titre : jusqu'à 3 lignes. */
    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        order: 1 !important;
        display: -webkit-box !important;

        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        flex: 0 0 auto !important;
        overflow: hidden !important;

        color: #064b70 !important;
        opacity: 1 !important;
        visibility: visible !important;

        font-size: clamp(6.8px, 1.85vw, 8.6px) !important;
        font-weight: 900 !important;
        line-height: 1.13 !important;

        text-align: center !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    /* Badge seulement pour les actualités de moins de 20 jours. */
    html body .home-bs-slider-section .home-bs-news-new-badge-slider {
        order: 2 !important;
        display: inline-flex !important;

        min-height: 13px !important;
        padding: 2px 5px !important;

        align-items: center !important;
        justify-content: center !important;

        border: 1px solid rgba(180, 35, 77, .30) !important;
        border-radius: 8px !important;
        background: rgba(255, 240, 243, .88) !important;
        color: #B4234D !important;

        font-size: 4.8px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html body .home-bs-slider-section .home-bs-news-readmore-row {
        display: flex !important;
        width: 100% !important;

        margin-top: auto !important;
        padding-top: 2px !important;

        justify-content: center !important;
    }

    html body .home-bs-slider-section .home-bs-news-more {
        width: auto !important;
        min-width: 0 !important;
        max-width: 72% !important;

        min-height: 17px !important;
        padding: 3px 5px !important;

        font-size: clamp(5.2px, 1.35vw, 6.6px) !important;
        line-height: 1 !important;

        white-space: nowrap !important;
    }

    /* Même position à gauche, mais date descendue. */
    html body .home-bs-slider-section .home-bs-news-date-floating {
        position: absolute !important;

        left: 12% !important;
        right: auto !important;

        top: 61% !important;
        bottom: auto !important;

        width: max-content !important;
        min-width: 0 !important;
        max-width: 28% !important;

        margin: 0 !important;
        padding: 3px 5px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;

        font-size: 5.2px !important;
        line-height: 1 !important;
        white-space: nowrap !important;

        transform: translate(-50%, -50%) !important;
        z-index: 7 !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating i {
        font-size: 4.8px !important;
    }
}

@media (max-width: 420px){
    html body .home-bs-slider-section .home-bs-amo-caption {
        max-width: 46% !important;
        padding: 2px 4px !important;
    }

    html body .home-bs-slider-section .home-bs-amo-one-line {
        font-size: 4.5px !important;
    }

    html body .home-bs-slider-section .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"] .home-bs-news-title {
        font-size: 6.6px !important;
        line-height: 1.12 !important;
        -webkit-line-clamp: 3 !important;
    }

    html body .home-bs-slider-section .home-bs-news-date-floating {
        left: 13% !important;
        top: 62% !important;
        font-size: 4.8px !important;
        padding: 2px 4px !important;
    }
}















/* --------------------------------------------------------------------------
   ÉCRAN INTERMÉDIAIRE
   992–1199 px : 300 px réels.
   -------------------------------------------------------------------------- */





/* --------------------------------------------------------------------------
   TABLETTE / MOBILE — CONSERVÉ
   -------------------------------------------------------------------------- */


/* Petit mobile — conservé */

/* ==========================================================================
   FSTH — CORRECTION V5 CIBLÉE — 13/08/2026
   Slider : ancien style conservé tel quel.
   Footer : inchangé.
   Desktop menu : inchangé.
   ========================================================================== */


/* ==========================================================================
   1. ACTUALITÉS — RESTAURATION VISUELLE COMMUNE
   ========================================================================== */

html body .home-featured-news-section .home-featured-news-card {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid #e0edf1 !important;
    border-radius: 17px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(35,79,92,.055) !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body .home-featured-news-section .home-featured-news-card-link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    border-radius: inherit !important;
    text-decoration: none !important;
}

html body .home-featured-news-section .home-featured-news-media,
html body .home-featured-news-section .home-featured-news-content {
    position: relative !important;
    z-index: 2 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body .home-featured-news-section .home-featured-news-media {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Couleurs des catégories restaurées. */
html body .home-featured-news-section
.home-featured-news-category-media.category-students {
    background: linear-gradient(145deg, #dfeeff, #f8fbff) !important;
}

html body .home-featured-news-section
.home-featured-news-category-media.category-recruitment {
    background: linear-gradient(145deg, #fff0ce, #fffaf0) !important;
}

html body .home-featured-news-section
.home-featured-news-category-media.category-events {
    background: linear-gradient(145deg, #eee6ff, #fbf8ff) !important;
}

html body .home-featured-news-section
.home-featured-news-category-media.category-cultural {
    background: linear-gradient(145deg, #ffe8f1, #fff9fb) !important;
}

html body .home-featured-news-section
.home-featured-news-category-media.category-other,
html body .home-featured-news-section
.home-featured-news-category-media.category-general {
    background: linear-gradient(145deg, #dff9f6, #f7fffd) !important;
}

html body .home-featured-news-section
.home-featured-news-category-media.category-admission {
    background: linear-gradient(145deg, #e8f7ff, #ffffff) !important;
}

html body .home-featured-news-section .home-featured-news-content {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

html body .home-featured-news-section .home-featured-news-title-row,
html body .home-featured-news-section .home-featured-news-description-row {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body .home-featured-news-section .news-title {
    display: -webkit-box !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #284b57 !important;
    font-weight: 800 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

html body .home-featured-news-section .news-description {
    display: -webkit-box !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #6d8087 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

/* Deux lignes d'action réellement distinctes. */
html body .home-featured-news-section .home-featured-news-actions {
    position: relative !important;
    z-index: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body .home-featured-news-section .home-featured-news-action-line {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
}

html body .home-featured-news-section .home-featured-news-action-line--new {
    order: 1 !important;
}

html body .home-featured-news-section .home-featured-news-action-line--readmore {
    order: 2 !important;
}

/* Couleur Nouveau restaurée. */
html body .home-featured-news-section .home-featured-news-new-badge {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: 0 !important;
    border: 1px solid #f0a1b2 !important;
    border-radius: 15px !important;
    background: #fff0f3 !important;
    color: #b4234d !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 10px rgba(180,35,77,.10) !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

/* Couleur Lire l'annonce restaurée. */
html body .home-featured-news-section .home-featured-news-readmore {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
    border: 1px solid var(--fsth-blue) !important;
    border-radius: 16px !important;
    background: var(--fsth-blue) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 14px rgba(99,181,229,.16) !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

html body .home-featured-news-section .home-featured-news-readmore i {
    color: #ffffff !important;
}


/* ==========================================================================
   2. ACTUALITÉS — PC
   FR : boutons à droite.
   AR : boutons à gauche.
   ========================================================================== */

@media (min-width: 768px) {

    html body .home-featured-news-section .home-featured-news-card {
        display: grid !important;
        grid-template-columns: 142px minmax(0, 1fr) !important;
        width: 100% !important;
        height: 178px !important;
        min-height: 178px !important;
        max-height: 178px !important;
        padding: 0 !important;
    }

    html body .home-featured-news-section .home-featured-news-media {
        width: 142px !important;
        min-width: 142px !important;
        max-width: 142px !important;
        height: 178px !important;
        min-height: 178px !important;
        max-height: 178px !important;
        border-radius: 16px 0 0 16px !important;
    }

    html body .home-featured-news-section .home-featured-news-content {
        display: grid !important;
        width: 100% !important;
        height: 178px !important;
        min-height: 178px !important;
        max-height: 178px !important;
        padding: 14px 17px !important;
        grid-template-rows: auto auto !important;
        align-content: center !important;
        align-items: center !important;
        column-gap: 18px !important;
        row-gap: 7px !important;
        overflow: hidden !important;
    }

    /* FR : texte à gauche, actions à droite. */
    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-content {
        grid-template-columns: minmax(0, 1fr) 164px !important;
        direction: ltr !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-title-row {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-description-row {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-actions {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        width: 154px !important;
        align-self: center !important;
        justify-self: end !important;
        direction: ltr !important;
    }

    /* AR : actions à gauche, texte à droite. */
    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-content {
        grid-template-columns: 164px minmax(0, 1fr) !important;
        direction: ltr !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-title-row {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-description-row {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-actions {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 154px !important;
        align-self: center !important;
        justify-self: start !important;
        direction: rtl !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .news-title,
    html body .home-featured-news-section
    .home-featured-news.ltr-news .news-description {
        direction: ltr !important;
        text-align: left !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .news-title,
    html body .home-featured-news-section
    .home-featured-news.rtl-news .news-description {
        direction: rtl !important;
        unicode-bidi: plaintext !important;
        text-align: right !important;
    }

    html body .home-featured-news-section .news-title {
        max-height: calc(1.28em * 2) !important;
        font-size: 16px !important;
        line-height: 1.28 !important;
    }

    html body .home-featured-news-section .news-description {
        max-height: calc(1.40em * 3) !important;
        font-size: 11.8px !important;
        line-height: 1.40 !important;
    }

    /* Badge Nouveau : compact. */
    html body .home-featured-news-section .home-featured-news-new-badge {
        width: 130px !important;
        min-width: 130px !important;
        max-width: 130px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        padding: 0 8px !important;
        font-size: 10.5px !important;
        line-height: 1 !important;
    }

    /* Lire l'annonce complète : volontairement sur DEUX LIGNES sur PC. */
    html body .home-featured-news-section .home-featured-news-readmore {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 5px 10px !important;
        gap: 7px !important;
        border-radius: 18px !important;
        font-size: 14.5px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: normal !important;
        text-wrap: balance !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    html body .home-featured-news-section .home-featured-news-readmore i {
        flex: 0 0 auto !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    html body .home-featured-news-section .home-featured-news-readmore span {
        display: inline !important;
        white-space: normal !important;
        text-wrap: balance !important;
        line-height: 1.15 !important;
    }
}


/* ==========================================================================
   3. ACTUALITÉS — MOBILE
   Suppression d'environ 70 % du grand espace ajouté en V4.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-featured-news-section .home-featured-news-panel {
        width: 100% !important;
        padding: 9px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body .home-featured-news-section .home-featured-news-card {
        display: flex !important;
        width: 100% !important;
        height: auto !important;
        min-height: 286px !important;
        max-height: none !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    html body .home-featured-news-section .home-featured-news-media {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 78px !important;
        min-height: 78px !important;
        max-height: 78px !important;
        flex: 0 0 78px !important;
        border-radius: 15px 15px 0 0 !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon {
        padding: 5px !important;
        gap: 3px !important;
    }

    html body .home-featured-news-section .home-featured-news-category-icon i {
        font-size: 27px !important;
    }

    html body .home-featured-news-section .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-content {
        display: flex !important;
        width: 100% !important;
        height: auto !important;
        min-height: 208px !important;
        max-height: none !important;
        padding: 10px 13px 11px !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        overflow: hidden !important;
    }

    html body .home-featured-news-section .news-title {
        max-height: calc(1.28em * 2) !important;
        font-size: 14px !important;
        line-height: 1.28 !important;
    }

    html body .home-featured-news-section .news-description {
        max-height: calc(1.36em * 3) !important;
        font-size: 11.2px !important;
        line-height: 1.36 !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .news-title,
    html body .home-featured-news-section
    .home-featured-news.ltr-news .news-description {
        direction: ltr !important;
        text-align: left !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .news-title,
    html body .home-featured-news-section
    .home-featured-news.rtl-news .news-description {
        direction: rtl !important;
        unicode-bidi: plaintext !important;
        text-align: right !important;
    }

    /* Pas de margin:auto : aucun grand vide entre description et boutons. */
    html body .home-featured-news-section .home-featured-news-actions {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        margin-top: 5px !important;
        gap: 6px !important;
    }

    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-actions {
        align-self: flex-start !important;
        direction: ltr !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-actions {
        align-self: flex-end !important;
        direction: rtl !important;
    }

    html body .home-featured-news-section .home-featured-news-new-badge,
    html body .home-featured-news-section .home-featured-news-readmore {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        padding: 0 8px !important;
        font-size: 8.8px !important;
        line-height: 1 !important;
    }
}


/* ==========================================================================
   4. LOCALISATION — RÈGLES EXACTES
   Distances juste au-dessus de l'adresse.
   FST Al Hoceima + Google Maps sur l'image.
   ========================================================================== */

html body .home-location-card {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 18px !important;
    overflow: hidden !important;
    border: 1px solid #dcebef !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #ffffff, #f7fcfe) !important;
    box-shadow: 0 14px 34px rgba(35,79,92,.09) !important;
    box-sizing: border-box !important;
}

html body .home-location-desktop-grid {
    width: 100% !important;
}

html body .home-location-map-panel {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dcebef !important;
    border-radius: 18px !important;
    background: #eef5f8 !important;
}

html body .home-location-map-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}

/* FST Al Hoceima sur l'image. */
html body .home-location-map-kicker {
    position: absolute !important;
    top: 13px !important;
    left: 13px !important;
    z-index: 5 !important;
    display: inline-flex !important;
    min-height: 29px !important;
    padding: 6px 10px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.86) !important;
    color: #284b57 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 5px 14px rgba(20,50,60,.13) !important;
}

/* Ouvrir dans Google Maps : toujours SUR l'image. */
html body .home-location-map-panel .home-location-action-row {
    position: absolute !important;
    left: 13px !important;
    right: 13px !important;
    bottom: 13px !important;
    z-index: 6 !important;
    display: flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: center !important;
}

html body .home-location-map-panel .home-location-action {
    display: inline-flex !important;
    min-width: 220px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid rgba(255,255,255,.90) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #20ddf4, #0daedc 52%, #087fc4) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(8,126,196,.22) !important;
}

html body .home-location-info-panel {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 1px solid #dcebef !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #f7fcfe, #ffffff 78%) !important;
}

html body .home-location-brand-row {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
}

html body .home-location-logo-wrap {
    display: flex !important;
    width: 180px !important;
    min-width: 180px !important;
    min-height: 100px !important;
    margin: 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
}

html body .home-location-logo {
    display: block !important;
    width: 165px !important;
    max-width: 165px !important;
    height: auto !important;
    max-height: 98px !important;
    object-fit: contain !important;
}

html body .home-location-identity,
html body .home-location-identity h3,
html body .home-location-address,
html body .home-location-city {
    width: 100% !important;
    text-align: center !important;
}

html body .home-location-identity h3 {
    margin: 0 0 9px !important;
    color: #294d5b !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.30 !important;
}

/* Les deux légendes de distance juste AVANT l'adresse. */
html body .home-location-distances--above-address {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    pointer-events: none !important;
}

html body .home-location-distance {
    display: inline-flex !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    flex: 1 1 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-radius: 12px !important;
}

html body .home-location-distance > span {
    display: flex !important;
    flex-direction: column !important;
}

html body .home-location-distance small {
    font-size: 8px !important;
    font-weight: 700 !important;
}

html body .home-location-distance strong {
    font-size: 12px !important;
}

html body .home-location-distance--blue {
    border: 1px solid #cfe9f5 !important;
    background: #eaf7fd !important;
    color: #287ba6 !important;
}

html body .home-location-distance--orange {
    border: 1px solid #f3d4ad !important;
    background: #fff5e8 !important;
    color: #b96c1f !important;
}

html body .home-location-address {
    display: flex !important;
    margin: 0 0 4px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    color: #526d77 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

html body .home-location-city {
    margin: 0 !important;
    color: #7b8d94 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

@media (min-width: 992px) {

    html body .home-location-desktop-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-areas: "map info" !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    html body .home-location-map-panel {
        grid-area: map !important;
        height: 355px !important;
        min-height: 355px !important;
        max-height: 355px !important;
    }

    html body .home-location-info-panel {
        grid-area: info !important;
        height: 355px !important;
        min-height: 355px !important;
        max-height: 355px !important;
        padding: 16px 21px !important;
    }
}

@media (max-width: 991.98px) {

    html body .home-location-desktop-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 13px !important;
    }

    html body .home-location-info-panel {
        order: 1 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 14px !important;
    }

    html body .home-location-map-panel {
        order: 2 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
    }

    html body .home-location-distances--above-address {
        flex-wrap: wrap !important;
    }

    html body .home-location-distance {
        min-width: 138px !important;
        flex: 1 1 138px !important;
    }

    html body .home-location-map-kicker {
        top: 9px !important;
        left: 9px !important;
        font-size: 8px !important;
    }

    html body .home-location-map-panel .home-location-action-row {
        left: 9px !important;
        right: 9px !important;
        bottom: 9px !important;
    }
}




@media (max-width: 991.98px) {

    
    

    

    

    /* Dimensions visuelles agrandies, sans augmenter le header. */
    

    

    

    
}




/* ==========================================================================
   FSTH — CORRECTIONS V6 CIBLÉES
   ========================================================================== */


/* ==========================================================================
   A. SLIDER — DATE PLUS BAS, MÊME AXE HORIZONTAL
   ========================================================================== */

/* PC : on garde la même position horizontale, seulement plus bas. */
@media (min-width: 768px) {
    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: auto !important;
        bottom: 0.6% !important;
    }
}

/* Mobile : même axe horizontal, seulement descendue. */
@media (max-width: 767.98px) {
    html body .home-bs-slider-section .home-bs-news-date-floating {
        top: 68% !important;
        bottom: auto !important;
    }
}


/* ==========================================================================
   B. ACTUALITÉS — ACTIONS CENTRÉES ET UN PEU PLUS BAS
   ========================================================================== */

/* Titre explicitement cliquable. */
html body .home-featured-news-section
.home-featured-news-title-link {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: auto !important;
}

html body .home-featured-news-section
.home-featured-news-title-link:hover,
html body .home-featured-news-section
.home-featured-news-title-link:focus {
    color: var(--fsth-blue) !important;
    text-decoration: none !important;
}

/* PC */
@media (min-width: 768px) {

    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-actions {
        align-self: center !important;
        margin-top: 10px !important;
    }

    /* Garder FR à droite et AR à gauche, mais boutons centrés dans leur colonne. */
    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-actions {
        justify-self: center !important;
    }

    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-actions {
        justify-self: center !important;
    }

    html body .home-featured-news-section
    .home-featured-news-action-line {
        text-align: center !important;
    }

    html body .home-featured-news-section
    .home-featured-news-new-badge,
    html body .home-featured-news-section
    .home-featured-news-readmore {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {

    html body .home-featured-news-section
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.ltr-news .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news .home-featured-news-actions {
        align-self: center !important;
        margin: 10px auto 0 !important;
    }

    html body .home-featured-news-section
    .home-featured-news-action-line {
        text-align: center !important;
    }

    html body .home-featured-news-section
    .home-featured-news-new-badge,
    html body .home-featured-news-section
    .home-featured-news-readmore {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* ==========================================================================
   C. LOCALISATION — TEXTE GAUCHE / IMAGE DROITE
   Distances sous l'adresse.
   Google Maps sur l'image.
   ========================================================================== */

html body .home-location-distances--below-address {
    position: static !important;

    display: flex !important;

    width: 100% !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;

    pointer-events: none !important;
}

html body .home-location-distances--below-address
.home-location-distance {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

/* PC : texte à gauche / image à droite. */
@media (min-width: 992px) {

    html body .home-location-desktop-grid {
        grid-template-areas:
            "info map" !important;
    }

    html body .home-location-info-panel {
        grid-area: info !important;
    }

    html body .home-location-map-panel {
        grid-area: map !important;
    }
}

/* Mobile : texte puis image. */
@media (max-width: 991.98px) {

    html body .home-location-info-panel {
        order: 1 !important;
    }

    html body .home-location-map-panel {
        order: 2 !important;
    }

    html body .home-location-distances--below-address {
        flex-wrap: wrap !important;
    }

    html body .home-location-distances--below-address
    .home-location-distance {
        min-width: 138px !important;
        flex: 1 1 138px !important;
    }
}

/* Google Maps reste toujours SUR l'image. */
html body .home-location-map-panel
.home-location-action-row {
    position: absolute !important;
    left: 13px !important;
    right: 13px !important;
    bottom: 13px !important;
    z-index: 6 !important;
    margin: 0 !important;
    justify-content: center !important;
}


/* ==========================================================================
   FSTH — CORRECTIONS V7 CIBLÉES — 13/08/2026
   ========================================================================== */




html body .home-location-info-panel {
    background:
        linear-gradient(
            145deg,
            rgba(238, 248, 253, .98) 0%,
            rgba(255, 255, 255, .98) 54%,
            rgba(255, 248, 239, .96) 100%
        ) !important;

    border-color:
        rgba(99, 181, 229, .30) !important;
}


html body .home-location-logo-wrap {
    width: 205px !important;
    min-width: 205px !important;
    min-height: 118px !important;
}

html body .home-location-logo {
    width: 192px !important;
    max-width: 192px !important;
    max-height: 114px !important;
}

/*
 * Les deux distances sont maintenant le dernier élément
 * de la partie texte.
 */
html body .home-location-distances--below-address {
    margin-top: auto !important;
    margin-bottom: 0 !important;

    padding-top: 12px !important;
}

/* Couleurs plus proches de la charte FSTH. */
html body .home-location-map-panel
.home-location-action {
    border:
        2px solid
        rgba(244, 200, 144, .96) !important;

    background:
        linear-gradient(
            135deg,
            #63B5E5 0%,
            #48a9d9 58%,
            #2c8fc2 100%
        ) !important;

    color: #ffffff !important;

    box-shadow:
        0 9px 22px
        rgba(99, 181, 229, .28) !important;
}

html body .home-location-map-panel
.home-location-action i {
    color: #F4C890 !important;
}

html body .home-location-map-panel
.home-location-action:hover,
html body .home-location-map-panel
.home-location-action:focus {
    border-color: #63B5E5 !important;

    background:
        linear-gradient(
            135deg,
            #F4C890 0%,
            #efb66f 100%
        ) !important;

    color: #284b57 !important;
}

html body .home-location-map-panel
.home-location-action:hover i,
html body .home-location-map-panel
.home-location-action:focus i {
    color: #2c657f !important;
}


@media (max-width: 767.98px) {

    html body .home-location-logo-wrap {
        width: 188px !important;
        min-width: 188px !important;
        min-height: 108px !important;
    }

    html body .home-location-logo {
        width: 178px !important;
        max-width: 178px !important;
        max-height: 104px !important;
    }

    html body .home-location-distances--below-address {
        margin-top: 12px !important;
        padding-top: 0 !important;
    }
}


/* ==========================================================================
   B. MENU — POINTILLÉS DISCRETS SUR LE TEXTE
   Aucun changement des dimensions du menu.
   ========================================================================== */

html body .fsth-menu-nav-v2 .menu-text {
    text-decoration-line: underline !important;
    text-decoration-style: dotted !important;
    text-decoration-color:
        rgba(99, 181, 229, .70) !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 5px !important;
}

html body .fsth-menu-nav-v2
> li.fsth-current > a .menu-text,
html body .fsth-menu-nav-v2
> li.active > a .menu-text {
    text-decoration-color:
        rgba(244, 200, 144, .98) !important;
}


/* ==========================================================================
   C. BOUTONS ARABES — POLICE PLUS GRANDE
   ========================================================================== */

/* Actualités mises en avant : عربي. */
html body .home-featured-news-section
.home-featured-news.rtl-news
.home-featured-news-new-badge {
    font-size: 11.5px !important;
    font-weight: 900 !important;
}

@media (min-width: 768px) {
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-readmore {
        font-size: 14.5px !important;
        font-weight: 900 !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }
}

/* Mobile : encore un peu plus lisible. */
@media (max-width: 767.98px) {

    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-new-badge,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-readmore {
        font-size: 12px !important;
    }

    /* Slider arabe : اقرأ المزيد + جديد un peu plus grands,
       sans changer la taille du cartouche. */
    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-more {
        font-size: 7.2px !important;
        font-weight: 900 !important;
    }

    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-new-badge-slider {
        font-size: 5.8px !important;
        font-weight: 900 !important;
    }
}


/* ==========================================================================
   D. PAGE TOUTES LES ACTUALITÉS — 9 CATÉGORIES
   3 x 3 sur grand écran, 2 colonnes tablette, 1 colonne mobile.
   ========================================================================== */

html body.news-list-page .news-services-grid {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

/* Couleurs complémentaires pour les catégories 8 et 9. */
html body.news-list-page
.news-category-card.category-research
.news-category-icon {
    color: #6f8ed6 !important;
}

html body.news-list-page
.news-category-card.category-cooperation
.news-category-icon {
    color: #0f9f8a !important;
}

html body.news-list-page
.news-category-card.category-research {
    border-color:
        rgba(111, 142, 214, .34) !important;

    background:
        linear-gradient(
            145deg,
            #f1f4ff,
            #ffffff
        ) !important;
}

html body.news-list-page
.news-category-card.category-cooperation {
    border-color:
        rgba(20, 184, 166, .30) !important;

    background:
        linear-gradient(
            145deg,
            #eafbf8,
            #ffffff
        ) !important;
}

@media (min-width: 560px) and (max-width: 767.98px) {
    html body.news-list-page .news-services-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 559.98px) {
    html body.news-list-page .news-services-grid {
        grid-template-columns:
            1fr !important;
    }
}


/* ==========================================================================
   FSTH — CORRECTIONS V8 — 13/08/2026
   ========================================================================== */


/* ==========================================================================
   A. FILTRAGE DES ACTUALITÉS — dynamique BDD, 3 cartes par ligne
   ========================================================================== */

html body .home-news-groups-section
.home-news-category-count {
    display: inline-flex !important;
    min-height: 30px !important;
    margin: 0 0 14px !important;
    padding: 5px 10px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(99,181,229,.30) !important;
    border-radius: 15px !important;
    background: #f4fbfe !important;
    color: #2c657f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

html body .home-news-groups-section
.home-news-category-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

html body .home-news-groups-section
.home-news-category-column {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body .home-news-groups-section
.home-news-category-column
.news-group-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 255px !important;
}

/* Catégories 8 et 9. */
html body .news-group-card.news-group-research {
    --card-accent: #6f8ed6;
    --card-dark: #4f6fb8;
    --card-light: #eef3ff;
}

html body .news-group-card.news-group-cooperation {
    --card-accent: #14b8a6;
    --card-dark: #0f8176;
    --card-light: #eafbf8;
}

@media (min-width: 601px) and (max-width: 991.98px) {
    html body .home-news-groups-section
    .home-news-category-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    html body .home-news-groups-section
    .home-news-category-grid {
        grid-template-columns:
            1fr !important;
    }
}




html body .home-location-logo-wrap {
    width: 230px !important;
    min-width: 230px !important;
    min-height: 128px !important;
}

html body .home-location-logo {
    width: 218px !important;
    max-width: 218px !important;
    max-height: 124px !important;
}

html body .home-location-identity h3 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
}

html body .home-location-title-city {
    display: block !important;
    width: 100% !important;
    color: #2c657f !important;
}

@media (max-width: 767.98px) {
    html body .home-location-logo-wrap {
        width: 205px !important;
        min-width: 205px !important;
        min-height: 116px !important;
    }

    html body .home-location-logo {
        width: 194px !important;
        max-width: 194px !important;
        max-height: 111px !important;
    }
}


/* ==========================================================================
   C. SLIDER MOBILE — DATE PLUS BAS
   Même axe horizontal, niveau du bouton Lire plus.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-bs-slider-section
    .home-bs-news-date-floating {
        top: auto !important;
        bottom: 5.5% !important;

        /* left reste celui de la version précédente. */
        right: auto !important;

        transform:
            translateX(-50%) !important;
    }
}


/* ==========================================================================
   D. ACTUALITÉS — Nouveau + Lire l'annonce plus bas
   ========================================================================== */

/* PC : groupe déplacé légèrement vers le bas sans changer sa colonne. */
@media (min-width: 768px) {

    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-actions {
        transform:
            translateY(18px) !important;
    }
}

/*
 * Mobile : déplacement d'environ une hauteur de bouton.
 * La hauteur utile de la carte augmente uniquement de ce qu'il faut
 * pour ne pas couper les deux légendes.
 */
@media (max-width: 767.98px) {

    html body .home-featured-news-section
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-content {
        min-height: 234px !important;
    }

    html body .home-featured-news-section
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-actions {
        margin-top: 28px !important;
    }
}


/* ==========================================================================
   FSTH — CORRECTIONS V9 CIBLÉES — 13/08/2026
   ========================================================================== */


/* ==========================================================================
   A. SLIDER MOBILE
   - légende supérieure/AMO transformée en petite bande en bas ;
   - cartouche actualité remonté de 0,5 cm et déplacé à gauche ;
   - taille du cartouche réduite d'environ 10 %.
   ========================================================================== */

@media (max-width: 767.98px) {

    /*
     * Petite bande de légende en bas de l'image.
     * On garde le contenu, mais on enlève l'effet de gros cartouche.
     */
    html body .home-bs-slider-section
    .home-bs-amo-caption {
        position: absolute !important;

        left: 8px !important;
        right: 8px !important;
        bottom: 5px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        min-height: 18px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 3px 8px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border: 0 !important;
        border-radius: 5px !important;

        background:
            rgba(36, 77, 93, .58) !important;

        box-shadow: none !important;

        -webkit-backdrop-filter: blur(1px) !important;
        backdrop-filter: blur(1px) !important;

        overflow: hidden !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line {
        width: 100% !important;

        max-width: 100% !important;

        justify-content: center !important;

        gap: 3px !important;

        overflow: hidden !important;

        color: #ffffff !important;

        font-size: 4.8px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line i {
        font-size: 4.4px !important;
    }

    /*
     * Cartouche actualité :
     * - 0,5 cm vers le haut ;
     * - légèrement vers la gauche ;
     * - environ 10 % plus petit.
     *
     * La V8 était basée sur ~35 % de largeur.
     * 31.5 % ≈ -10 %.
     */
    html body .home-bs-slider-section
    .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-overlay {
        top: calc(46% - .5cm) !important;

        left: 23.8% !important;
        right: auto !important;
        bottom: auto !important;

        width: 31.5% !important;
        max-width: 31.5% !important;

        height: 42.3% !important;
        min-height: 0 !important;
        max-height: 42.3% !important;

        padding: 4px 5px !important;

        transform: none !important;
    }

    /*
     * Texte légèrement ajusté pour rester proportionnel
     * dans le cartouche réduit.
     */
    html body .home-bs-slider-section
    .home-bs-news-title,
    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-title {
        font-size:
            clamp(6.2px, 1.68vw, 7.8px) !important;
    }

    html body .home-bs-slider-section
    .home-bs-news-more {
        min-height: 15px !important;

        padding: 2px 4px !important;

        font-size:
            clamp(4.8px, 1.25vw, 6.1px) !important;
    }
}


/* ==========================================================================
   B. ACTUALITÉS
   Lire l'annonce complète devient la vraie fin de la carte.
   Aucun espace vide après.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-featured-news-section
    .home-featured-news-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    html body .home-featured-news-section
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-content {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding-bottom: 0 !important;

        flex: 0 0 auto !important;

        overflow: hidden !important;
    }

    html body .home-featured-news-section
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-actions {
        margin-top: 22px !important;
        margin-bottom: 0 !important;

        padding-bottom: 0 !important;
    }

    /*
     * Le bouton inférieur touche visuellement la fin utile du contenu.
     */
    html body .home-featured-news-section
    .home-featured-news-action-line--readmore {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    html body .home-featured-news-section
    .home-featured-news-readmore {
        margin-bottom: 0 !important;
    }
}


/* PC : même principe, pas de vide artificiel sous les actions. */
@media (min-width: 768px) {

    html body .home-featured-news-section
    .home-featured-news-content {
        padding-bottom: 8px !important;
    }

    html body .home-featured-news-section
    .home-featured-news-actions {
        margin-bottom: 0 !important;
    }
}


/* ==========================================================================
   C. LOCALISATION
   - bouton Google Maps PC ~50 % plus petit et transparent ;
   - partie texte avec pointillés inspirés du menu/footer ;
   - même logique visuelle sur mobile.
   ========================================================================== */

html body .home-location-info-panel {
    position: relative !important;

    border:
        1px dashed
        rgba(99, 181, 229, .58) !important;

    background:
        linear-gradient(
            145deg,
            rgba(238, 248, 253, .84) 0%,
            rgba(255, 255, 255, .92) 54%,
            rgba(255, 248, 239, .82) 100%
        ) !important;
}

/*
 * Pointillés internes discrets autour des informations.
 */
html body .home-location-brand-row {
    position: relative !important;

    padding: 12px 14px !important;

    border:
        1px dashed
        rgba(244, 200, 144, .64) !important;

    border-radius: 14px !important;
}

html body .home-location-distances--below-address {
    padding-top: 10px !important;

    border-top:
        1px dashed
        rgba(99, 181, 229, .54) !important;
}

/*
 * Les petits blocs distance reprennent aussi l'esprit pointillé.
 */
html body .home-location-distance--blue {
    border:
        1px dashed
        rgba(99, 181, 229, .75) !important;
}

html body .home-location-distance--orange {
    border:
        1px dashed
        rgba(244, 200, 144, .95) !important;
}


/* PC : Google Maps beaucoup plus petit et translucide. */
@media (min-width: 992px) {

    html body .home-location-map-panel
    .home-location-action {
        min-width: 118px !important;
        min-height: 26px !important;

        padding: 4px 8px !important;

        gap: 5px !important;

        border:
            1px dashed
            rgba(244, 200, 144, .84) !important;

        border-radius: 9px !important;

        background:
            rgba(99, 181, 229, .56) !important;

        color: #ffffff !important;

        font-size: 7.2px !important;
        font-weight: 800 !important;
        line-height: 1 !important;

        box-shadow:
            0 4px 10px
            rgba(44, 101, 127, .12) !important;

        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }

    html body .home-location-map-panel
    .home-location-action i {
        font-size: 7px !important;

        color: #F4C890 !important;
    }
}


/* Mobile : même transparence/pointillés, mais encore lisible au toucher. */
@media (max-width: 991.98px) {

    html body .home-location-info-panel {
        border-style: dashed !important;
    }

    html body .home-location-map-panel
    .home-location-action {
        min-width: 170px !important;
        min-height: 34px !important;

        padding: 6px 10px !important;

        border:
            1px dashed
            rgba(244, 200, 144, .90) !important;

        background:
            rgba(99, 181, 229, .62) !important;

        font-size: 10px !important;

        box-shadow:
            0 5px 12px
            rgba(44, 101, 127, .14) !important;

        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }
}


/* ==========================================================================
   FSTH — CORRECTIONS V10 CIBLÉES — 13/08/2026
   ========================================================================== */


/* ==========================================================================
   A. SLIDER MOBILE — LÉGENDE AMO
   2 lignes maximum et hauteur limitée à 10 % du slide.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-bs-slider-section
    .home-bs-amo-caption {
        position: absolute !important;

        left: 8px !important;
        right: 8px !important;
        bottom: 5px !important;

        width: auto !important;
        max-width: none !important;

        /*
         * La légende ne dépasse jamais 10 % de la hauteur
         * disponible du slide.
         */
        height: auto !important;
        min-height: 0 !important;
        max-height: 10% !important;

        margin: 0 !important;
        padding: 2px 7px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        overflow: hidden !important;

        border: 0 !important;
        border-radius: 4px !important;

        background:
            rgba(36, 77, 93, .54) !important;

        box-shadow: none !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line {
        display: -webkit-box !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        overflow: hidden !important;

        color: #ffffff !important;

        font-size: 4.7px !important;
        font-weight: 700 !important;
        line-height: 1.08 !important;

        text-align: center !important;

        white-space: normal !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line i {
        display: inline !important;

        margin-right: 2px !important;

        font-size: 4.2px !important;
    }
}


/* ==========================================================================
   B. SLIDER MOBILE — CARTOUCHE ACTUALITÉ
   +1 cm vers le bas par rapport à la V9.
   +0,2 cm vers la droite.
   Taille réduite conservée.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-bs-slider-section
    .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-overlay {
        /*
         * V9 : top = calc(46% - .5cm)
         * V10 : +1cm -> calc(46% + .5cm)
         */
        top: calc(46% + .5cm) !important;

        /*
         * Décalage horizontal supplémentaire de 0,2 cm
         * vers la droite.
         */
        left: calc(23.8% + .2cm) !important;

        right: auto !important;
        bottom: auto !important;

        width: 31.5% !important;
        max-width: 31.5% !important;

        height: 42.3% !important;
        min-height: 0 !important;
        max-height: 42.3% !important;

        transform: none !important;
    }
}


/* ==========================================================================
   C. SECTION ACTUALITÉS — CARTE FIXE
   Même taille pour toutes les actualités.
   Le fond et l'espace ne varient plus.
   ========================================================================== */

/* PC : déjà fixe, on verrouille explicitement. */
@media (min-width: 768px) {

    html body .home-featured-news-section
    .home-featured-news-card {
        height: 178px !important;
        min-height: 178px !important;
        max-height: 178px !important;
    }

    html body .home-featured-news-section
    .home-featured-news-content {
        height: 178px !important;
        min-height: 178px !important;
        max-height: 178px !important;

        overflow: hidden !important;
    }
}


/*
 * Mobile :
 * hauteur fixe identique pour chaque actualité,
 * dimensionnée sur les cartes longues (type actualité 3 / 4).
 */
@media (max-width: 767.98px) {

    html body .home-featured-news-section
    .home-featured-news-card {
        display: flex !important;

        width: 100% !important;

        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;

        flex-direction: column !important;

        overflow: hidden !important;
    }

    html body .home-featured-news-section
    .home-featured-news-media {
        height: 78px !important;
        min-height: 78px !important;
        max-height: 78px !important;

        flex: 0 0 78px !important;
    }

    html body .home-featured-news-section
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-content,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-content {
        height: 222px !important;
        min-height: 222px !important;
        max-height: 222px !important;

        padding:
            10px 13px 8px !important;

        flex: 0 0 222px !important;

        overflow: hidden !important;
    }

    /*
     * Les actions restent à la fin de la zone fixe.
     * Pas de variation de fond entre les actualités.
     */
    html body .home-featured-news-section
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.ltr-news
    .home-featured-news-actions,
    html body .home-featured-news-section
    .home-featured-news.rtl-news
    .home-featured-news-actions {
        margin-top: auto !important;
        margin-bottom: 0 !important;
    }

    html body .home-featured-news-section
    .home-featured-news-action-line--readmore,
    html body .home-featured-news-section
    .home-featured-news-readmore {
        margin-bottom: 0 !important;
    }
}


/* ==========================================================================
   FSTH — V11 : LÉGENDE AMO PC +30 % PAR RAPPORT AU MOBILE
   ========================================================================== */

@media (min-width: 768px) {

    html body .home-bs-slider-section
    .home-bs-amo-caption {
        position: absolute !important;

        left: 12px !important;
        right: 12px !important;
        bottom: 8px !important;

        width: auto !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        /* 10 % mobile -> 13 % PC */
        max-height: 13% !important;

        margin: 0 !important;
        padding: 3px 9px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        overflow: hidden !important;

        border: 0 !important;
        border-radius: 6px !important;

        background:
            rgba(36, 77, 93, .56) !important;

        box-shadow: none !important;

        -webkit-backdrop-filter: blur(1.2px) !important;
        backdrop-filter: blur(1.2px) !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line {
        display: -webkit-box !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        overflow: hidden !important;

        color: #ffffff !important;

        /* 4.7 px mobile × 1.30 ≈ 6.1 px */
        font-size: 6.1px !important;
        font-weight: 700 !important;
        line-height: 1.10 !important;

        text-align: center !important;

        white-space: normal !important;

        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-one-line i {
        font-size: 5.5px !important;
    }
}


/* ==========================================================================
   FSTH — CORRECTIONS V12 — 13/08/2026
   ========================================================================== */


/* ==========================================================================
   A. LÉGENDE AMO — TEXTE COMPLET + LIEN CLIQUABLE
   ========================================================================== */

html body .home-bs-slider-section
.home-bs-amo-caption-link {
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

html body .home-bs-slider-section
.home-bs-amo-caption-link:hover,
html body .home-bs-slider-section
.home-bs-amo-caption-link:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

html body .home-bs-slider-section
.home-bs-amo-text {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    overflow: hidden !important;
    text-align: center !important;
}

html body .home-bs-slider-section
.home-bs-amo-text strong,
html body .home-bs-slider-section
.home-bs-amo-link-label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #ffffff !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

html body .home-bs-slider-section
.home-bs-amo-link-label {
    opacity: .94 !important;
}


/* MOBILE : +10 % sur la taille globale, police un peu plus petite. */
@media (max-width: 767.98px) {

    html body .home-bs-slider-section
    .home-bs-amo-caption {
        left: 7px !important;
        right: 7px !important;
        bottom: 4px !important;

        max-height: 11% !important;

        padding: 2px 8px !important;

        border-radius: 4px !important;

        background:
            rgba(36, 77, 93, .50) !important;

        overflow: hidden !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-icon {
        width: 15px !important;
        height: 15px !important;
        flex: 0 0 15px !important;
        border-radius: 5px !important;
        font-size: 4px !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-text strong {
        font-size: 4.3px !important;
        line-height: 1.05 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-link-label {
        font-size: 3.9px !important;
        line-height: 1.05 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-link-label i {
        font-size: 3.7px !important;
    }
}


/* PC : toujours environ 30 % plus grand que mobile. */
@media (min-width: 768px) {

    html body .home-bs-slider-section
    .home-bs-amo-caption {
        left: 11px !important;
        right: 11px !important;
        bottom: 7px !important;

        max-height: 14.3% !important;

        padding: 3px 10px !important;

        border-radius: 6px !important;

        background:
            rgba(36, 77, 93, .54) !important;

        overflow: hidden !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-icon {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
        border-radius: 6px !important;
        font-size: 5.3px !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-text strong {
        font-size: 5.6px !important;
        line-height: 1.08 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-link-label {
        font-size: 5.1px !important;
        line-height: 1.08 !important;
    }

    html body .home-bs-slider-section
    .home-bs-amo-link-label i {
        font-size: 4.8px !important;
    }
}


/* ==========================================================================
   B. SLIDER ACTUALITÉ MOBILE — POSITION COMME PC
   Recentré dans la zone vide de l'image.
   ========================================================================== */

@media (max-width: 767.98px) {

    html body .home-bs-slider-section
    .home-bs-news-overlay,
    html body .home-bs-slide[dir="rtl"]
    .home-bs-news-overlay {
        top: 41.5% !important;

        left: 26.6% !important;
        right: auto !important;
        bottom: auto !important;

        width: 31.5% !important;
        max-width: 31.5% !important;

        height: 42.3% !important;
        min-height: 0 !important;
        max-height: 42.3% !important;

        transform: none !important;
    }
}


/* ==========================================================================
   C. GOOGLE MAPS — MOBILE TRÈS TRANSPARENT / PC PLUS GRAND
   ========================================================================== */

/* Mobile : très transparent et plus bas. */
@media (max-width: 991.98px) {

    html body .home-location-map-panel
    .home-location-action-row {
        left: 6px !important;
        right: 6px !important;
        bottom: 2px !important;
        justify-content: center !important;
    }

    html body .home-location-map-panel
    .home-location-action {
        min-width: 150px !important;
        min-height: 30px !important;

        padding: 5px 9px !important;

        border:
            1px dashed
            rgba(244, 200, 144, .48) !important;

        background:
            rgba(99, 181, 229, .24) !important;

        color:
            rgba(255, 255, 255, .92) !important;

        font-size: 9px !important;

        box-shadow: none !important;

        -webkit-backdrop-filter: blur(1.5px) !important;
        backdrop-filter: blur(1.5px) !important;
    }

    html body .home-location-map-panel
    .home-location-action i {
        color:
            rgba(244, 200, 144, .90) !important;
    }
}


/* PC : plus grand, aligné en bas à gauche sur l'image. */
@media (min-width: 992px) {

    html body .home-location-map-panel
    .home-location-action-row {
        left: 14px !important;
        right: auto !important;
        bottom: 14px !important;
        justify-content: flex-start !important;
    }

    html body .home-location-map-panel
    .home-location-action {
        min-width: 190px !important;
        min-height: 40px !important;

        padding: 8px 14px !important;

        border:
            1px dashed
            rgba(244, 200, 144, .88) !important;

        border-radius: 12px !important;

        background:
            rgba(99, 181, 229, .60) !important;

        color: #ffffff !important;

        font-size: 10.5px !important;
        font-weight: 850 !important;

        box-shadow:
            0 6px 14px
            rgba(44, 101, 127, .14) !important;

        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }

    html body .home-location-map-panel
    .home-location-action i {
        font-size: 10px !important;
        color: #F4C890 !important;
    }
}




/* Base commune */






/* Ordre immuable : 1 / 2 / 3 */







/* --------------------------------------------------------------------------
   PC / TABLETTE PAYSAGE — réduction continue de 992 px au grand écran.
   Les valeurs 2 / 6 / 2 cm sont des MAXIMUMS.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {

    

    
    

    
    

    
    

    /* Images : largeur de la cellule, hauteur toujours naturelle */
    

    /*
     * Le menu reçoit tout l'espace restant.
     * Les intitulés restent sur une seule ligne.
     */
    html body header.fsth-menu-header-v2 .fsth-menu-layout {
        width: 100% !important;
        min-width: 0 !important;

        gap: clamp(4px, .55vw, 10px) !important;
    }

    html body header.fsth-menu-header-v2 .fsth-menu-collapse-v2 {
        min-width: 0 !important;

        flex: 1 1 0 !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav {
        width: 100% !important;
        min-width: 0 !important;

        gap: clamp(1px, .16vw, 3px) !important;

        flex-wrap: nowrap !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav > li {
        min-width: 0 !important;

        flex: 1 1 0 !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav > li > a {
        min-width: 0 !important;

        padding-left: 2px !important;
        padding-right: 2px !important;

        font-size:
            clamp(9.7px, .70vw, 12.4px) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2 .menu-text {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        white-space: nowrap !important;

        word-break: normal !important;
        overflow-wrap: normal !important;

        text-align: center !important;
    }
}


/* --------------------------------------------------------------------------
   MOBILE — réduction supplémentaire + hamburger.
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {

    

    

    

    

    

    html body header.fsth-menu-header-v2 .fsth-cluster-toggle {
        display: block !important;

        margin-left: auto !important;

        flex: 0 0 auto !important;
    }
}


/* Très petit téléphone */















/* Très petit téléphone : +40 % également, avec protection du hamburger. */








/* Très petits écrans mobiles : même augmentation +25 %. */
@media (max-width: 420px) {

    

    /*
     * 2.94cm -> 3.675cm
     * 29.4vw -> 36.75vw
     * 4.2cm -> 5.25cm
     */
    
}





/* =========================
   BASE COMMUNE
   ========================= */










/* Ordre fixe */







/* Images communes */







/* =========================
   PC / TABLETTE >= 992px
   ========================= */

@media (min-width: 992px) {

    

    
    

    
    

    
    


    /* Menu garde l'espace restant */
    html body header.fsth-menu-header-v2
    .fsth-menu-layout {
        width: 100% !important;
        min-width: 0 !important;

        gap: clamp(3px, .45vw, 8px) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-collapse-v2 {
        min-width: 0 !important;

        flex: 1 1 0 !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav {
        width: 100% !important;
        min-width: 0 !important;

        gap: clamp(1px, .14vw, 3px) !important;

        flex-wrap: nowrap !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav > li {
        min-width: 0 !important;

        flex: 1 1 0 !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2.navbar-nav > li > a {
        min-width: 0 !important;

        padding-left: 2px !important;
        padding-right: 2px !important;

        font-size:
            clamp(9.7px, .70vw, 12.4px) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-menu-nav-v2 .menu-text {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        white-space: nowrap !important;

        word-break: normal !important;
        overflow-wrap: normal !important;

        text-align: center !important;
    }
}


/* =========================
   MOBILE <= 991.98px
   ========================= */

@media (max-width: 991.98px) {

    

    

    
    

    
    

    html body header.fsth-menu-header-v2
    .fsth-cluster-toggle {
        display: block !important;

        margin-left: auto !important;

        flex: 0 0 auto !important;
    }
}


/* =========================
   TRÈS PETIT MOBILE <= 420px
   ========================= */







/* --------------------------------------------------------------------------
   BASE COMMUNE : espacement quasi nul
   -------------------------------------------------------------------------- */


/* ==========================================================================
   FSTH — LOGOS — VERSION SANS ESPACE
   - Espace entre logos : 0
   - Logo 1 : max 2 cm
   - Logo 2 : max 6 cm
   - Logo 3 : max 2 cm
   - Hauteur visuelle du logo 2 : +25 %
   - Logo 3 transparent
   ========================================================================== */

html body header.fsth-menu-header-v2
.fsth-logo-cluster {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 30vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body header.fsth-menu-header-v2
.fsth-three-logos {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    overflow: visible !important;
}

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-cluster-logo {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 1 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-1 { order: 1 !important; }

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-2 { order: 2 !important; }

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-3 { order: 3 !important; }

@media (min-width: 992px) {

    html body header.fsth-menu-header-v2
    .fsth-logo-cluster {
        max-width: min(30vw, 10cm) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-1,
    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-3 {
        width: clamp(1.2cm, 5.2vw, 2cm) !important;
        max-width: clamp(1.2cm, 5.2vw, 2cm) !important;
        flex: 0 1 clamp(1.2cm, 5.2vw, 2cm) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-2 {
        width: clamp(3.6cm, 15.6vw, 6cm) !important;
        max-width: clamp(3.6cm, 15.6vw, 6cm) !important;
        flex: 0 1 clamp(3.6cm, 15.6vw, 6cm) !important;
        overflow: visible !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-1 > img.logo-1,
    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-3 > img.logo-3 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        transform: none !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-2 > img.logo-2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        transform: scaleY(1.25) !important;
        transform-origin: center center !important;
    }
}

@media (max-width: 991.98px) {

    html body header.fsth-menu-header-v2
    .fsth-logo-cluster {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 2px 4px !important;
        justify-content: space-between !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos {
        max-width: calc(100% - 48px) !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        column-gap: 0 !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-1,
    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-3 {
        width: clamp(1.19cm, 11.2vw, 1.75cm) !important;
        max-width: clamp(1.19cm, 11.2vw, 1.75cm) !important;
        flex: 0 1 clamp(1.19cm, 11.2vw, 1.75cm) !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-2 {
        width: clamp(4.4625cm, 42vw, 6.5625cm) !important;
        max-width: clamp(4.4625cm, 42vw, 6.5625cm) !important;
        flex: 0 1 clamp(4.4625cm, 42vw, 6.5625cm) !important;
        overflow: visible !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-1 > img.logo-1,
    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-3 > img.logo-3 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        transform: none !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-three-logos .fsth-logo-2 > img.logo-2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        transform: scaleY(1.25) !important;
        transform-origin: center center !important;
    }

    html body header.fsth-menu-header-v2
    .fsth-cluster-toggle {
        display: block !important;
        margin-left: auto !important;
        flex: 0 0 auto !important;
    }
}

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-3,
html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-3 > img.logo-3 {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body header.fsth-menu-header-v2
.fsth-three-logos .fsth-logo-3 > img.logo-3 {
    mix-blend-mode: multiply !important;
}


/* ==========================================================================
   FSTH EN CHIFFRES — 15 INDICATEURS
   PC : 5 éléments par ligne = 3 lignes régulières
   ========================================================================== */

@media (min-width: 992px) {

    html body .home-stats-section
    .home-stats-grid {
        display: grid !important;

        grid-template-columns:
            repeat(5, minmax(0, 1fr)) !important;

        gap: 14px !important;
    }

    html body .home-stats-section
    .home-stat-card {
        min-width: 0 !important;
        min-height: 148px !important;

        padding: 18px 10px !important;
    }

    html body .home-stats-section
    .home-stat-number {
        font-size:
            clamp(25px, 2vw, 32px) !important;
    }

    html body .home-stats-section
    .home-stat-label {
        font-size:
            clamp(11.5px, .9vw, 13px) !important;

        line-height: 1.30 !important;
    }
}


/* Tablette : 3 éléments par ligne */
@media (min-width: 768px) and (max-width: 991.98px) {

    html body .home-stats-section
    .home-stats-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }
}


/* Mobile : 2 éléments par ligne */
@media (min-width: 561px) and (max-width: 767.98px) {

    html body .home-stats-section
    .home-stats-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}


/* Petit mobile : 1 élément par ligne */
@media (max-width: 560px) {

    html body .home-stats-section
    .home-stats-grid {
        grid-template-columns:
            1fr !important;
    }
}


/* ==========================================================================
   FSTH — ORGANISATION > GOUVERNANCE
   ACCORDÉON NATIF : visible dans la même colonne.
   Aucun JavaScript ni dropdown Bootstrap imbriqué.
   ========================================================================== */

.fsth-menu-dropdown > .fsth-governance-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.fsth-governance-details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fsth-governance-summary {
    display: flex !important;
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--fsth-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    list-style: none !important;
    cursor: pointer !important;
    user-select: none !important;
}

.fsth-governance-summary::-webkit-details-marker {
    display: none !important;
}

.fsth-governance-summary::marker {
    content: "" !important;
}

.fsth-governance-summary:hover,
.fsth-governance-summary:focus {
    outline: 0 !important;
    background: rgba(99, 181, 229, .13) !important;
    color: var(--fsth-ink) !important;
}

.fsth-governance-caret {
    width: 0 !important;
    height: 0 !important;
    flex: 0 0 auto !important;
    border-top: 5px solid transparent !important;
    border-bottom: 5px solid transparent !important;
    border-left: 6px solid var(--fsth-orange) !important;
    transition: transform .16s ease !important;
}

.fsth-governance-details[open]
> .fsth-governance-summary
> .fsth-governance-caret {
    transform: rotate(90deg) !important;
}

.fsth-governance-list {
    display: none !important;
    width: calc(100% - 14px) !important;
    margin: 1px 0 7px 14px !important;
    padding: 5px 0 5px 8px !important;
    list-style: none !important;
    border-left: 2px solid rgba(99, 181, 229, .55) !important;
    background: transparent !important;
}

.fsth-governance-details[open]
> .fsth-governance-list {
    display: block !important;
}

.fsth-governance-list > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fsth-governance-list > li > a {
    display: flex !important;
    width: 100% !important;
    min-height: 39px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    align-items: center !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--fsth-ink) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.fsth-governance-list > li > a:hover,
.fsth-governance-list > li > a:focus {
    background: rgba(99, 181, 229, .13) !important;
    color: var(--fsth-ink) !important;
}

/* Réseau FST : dernier élément + ligne séparatrice */
.fsth-menu-dropdown .fsth-network-divider {
    height: 1px !important;
    margin: 8px 7px 7px !important;
    border: 0 !important;
    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(99, 181, 229, .70) 16%,
            rgba(244, 168, 79, .88) 50%,
            rgba(99, 181, 229, .70) 84%,
            transparent 100%
        ) !important;
}

.fsth-menu-dropdown .fsth-network-menu-item > a {
    font-weight: 800 !important;
}

/* PC : ouverture aussi au survol */
@media (min-width: 992px) {

    .fsth-governance-item:hover
    .fsth-governance-list {
        display: block !important;
    }

    .fsth-governance-item:hover
    .fsth-governance-caret {
        transform: rotate(90deg) !important;
    }

    .fsth-menu-dropdown.dropdown-menu {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Mobile / tablette */
@media (max-width: 991.98px) {

    .fsth-governance-summary {
        min-height: 44px !important;
    }

    .fsth-governance-list {
        width: calc(100% - 10px) !important;
        margin-left: 10px !important;
    }

    .fsth-governance-list > li > a {
        min-height: 41px !important;
        padding-left: 11px !important;
    }
}


/* ==========================================================================
   FSTH — ACCESSIBILITÉ CONTRASTE — 15/08/2026
   Correction ciblée Lighthouse / WCAG AA.
   Aucun changement de dimensions, structure ou mise en page.
   ========================================================================== */

/* Textes secondaires sur fonds blancs / très clairs */
html body .home-section-title p,
html body .home-location-heading-copy p {
    color: #637981 !important;
}

html body .service.home-service-card p {
    color: #65777f !important;
}

html body .home-stat-label {
    color: #5f747c !important;
}

html body .home-featured-news-section .news-description {
    color: #63767e !important;
}

html body .site-footer-light .site-footer-social-text {
    color: #64777f !important;
}

html body .site-footer-light .site-footer-bottom p {
    color: #667981 !important;
}

html body .site-footer-brand-text span {
    color: #087eac !important;
}

html body .home-location-city {
    color: #63767e !important;
}

/* Distances : contraste AA sur leurs fonds pastel */
html body .home-location-distance--blue {
    color: #246e92 !important;
}

html body .home-location-distance--orange {
    color: #8b4c12 !important;
}

/* Boutons comportant du texte blanc :
   fond bleu légèrement assombri pour dépasser 4.5:1 */
html body .actualites-pagination > li > a.nav-link.active,
html body .home-news-all,
html body .home-featured-news-section .home-featured-news-readmore {
    border-color: #0d78a5 !important;
    background: #0d78a5 !important;
    color: #ffffff !important;
}

html body .home-featured-news-all:hover,
html body .home-featured-news-all:focus,
html body .btn-plus-actu:hover,
html body .btn-plus-actu:focus {
    border-color: #0d78a5 !important;
    background: #0d78a5 !important;
    color: #ffffff !important;
}

/* Slider : bouton Lire plus, même teinte mais contraste renforcé */
html body .home-bs-slider-section .home-bs-news-more {
    background:
        linear-gradient(
            135deg,
            #167ba6 0%,
            #0d78a5 52%,
            #0b729d 100%
        ) !important;

    color: #ffffff !important;
}

/* Google Maps : conserver l'effet translucide tout en assurant
   suffisamment de contraste pour le texte blanc. */
html body .home-location-map-panel .home-location-action {
    background:
        rgba(11, 114, 157, .94) !important;

    color: #ffffff !important;
}

/* Le texte des liens reste lisible également au survol */
html body .home-location-map-panel .home-location-action:hover,
html body .home-location-map-panel .home-location-action:focus {
    background: #f4c890 !important;
    color: #284b57 !important;
}

html body .home-location-map-panel .home-location-action:hover i,
html body .home-location-map-panel .home-location-action:focus i {
    color: #2c657f !important;
}


/* ==========================================================================
   FSTH — RÉSERVATION ICÔNES — PERFORMANCE + CLS — 15/08/2026
   Font Awesome reste différé sur l'accueil, mais son espace est réservé
   avant son arrivée afin d'éviter les décalages de mise en page.
   ========================================================================== */

html body i.fa,
html body i.fas,
html body i.far,
html body i.fab {
    display: inline-block;
    width: 1.25em;
    min-width: 1.25em;
    height: 1em;
    min-height: 1em;
    line-height: 1;
    text-align: center;
    vertical-align: -0.125em;
    box-sizing: border-box;
}

/*
 * Les composants qui possèdent déjà une boîte d'icône explicite
 * gardent leurs dimensions existantes grâce à leurs règles plus spécifiques.
 */

/* ==========================================================================
   FSTH_FINAL_ACCESSIBILITY_CLS_V11
   Contraste WCAG AA renforcé — sans modification de structure/dimensions.
   ========================================================================== */

html body .home-section-title p,
html body .home-location-heading-copy p,
html body .service.home-service-card p,
html body .home-featured-news-section .news-description,
html body .home-stat-label,
html body .home-location-city,
html body .home-location-address,
html body .site-footer-light .site-footer-social-text,
html body .site-footer-light .site-footer-bottom p {
    color: #455b64 !important;
}

html body .site-footer-brand-text span {
    color: #075f86 !important;
}

html body .service.home-service-card .home-service-link,
html body .news-group-card .home-service-link {
    color: #245c75 !important;
    border-color: rgba(36, 92, 117, .42) !important;
}

html body .home-location-distance--blue {
    color: #205f7d !important;
}

html body .home-location-distance--orange {
    color: #7b400d !important;
}

html body .actualites-pagination > li > a.nav-link.active,
html body .home-news-all,
html body .home-featured-news-section .home-featured-news-readmore {
    border-color: #0b6f99 !important;
    background: #0b6f99 !important;
    color: #ffffff !important;
}

html body .home-featured-news-all:hover,
html body .home-featured-news-all:focus,
html body .btn-plus-actu:hover,
html body .btn-plus-actu:focus {
    border-color: #0b6f99 !important;
    background: #0b6f99 !important;
    color: #ffffff !important;
}

html body .home-bs-slider-section .home-bs-news-more {
    background:
        linear-gradient(
            135deg,
            #126f99 0%,
            #0b6f99 52%,
            #095f85 100%
        ) !important;
    color: #ffffff !important;
}

html body .home-location-map-panel .home-location-action {
    background: rgba(9, 95, 133, .97) !important;
    color: #ffffff !important;
}

html body .home-location-map-panel .home-location-action:hover,
html body .home-location-map-panel .home-location-action:focus {
    background: #f4c890 !important;
    color: #203f4c !important;
}

html body .home-location-map-panel .home-location-action:hover i,
html body .home-location-map-panel .home-location-action:focus i {
    color: #24576e !important;
}
