/*
Theme Name: Energy Cities Child
Theme URI: https://www.energy-cities.eu/
Template: Energy-Cities
Author: Mohamed DABOUB
Author URI: https://www.idfr.net
Description: Child theme of Energy Cities. Colors, typography and logos are set per site through ACF Pro (the "General settings" options page). Built for WordPress multisite: every site keeps its own branding.
Requires at least: WordPress 6.0
Version: 1.0.0
Text Domain: energy-cities-child
*/

/* VARIABLES GLOBALES */
:root {
    --ec-container: 1280px;
}

body {
    margin: 0;
    background-color: var(--ec-background);
    color: var(--ec-text);
    line-height: 1.6;
}

a {
    color: var(--ec-primary);
}

a:hover {
    color: var(--ec-tertiary);
}

img {
    max-width: 100%;
    height: auto;
}

/* --- Typographie --- */
h1 {
    font-size: var(--ec-h1);
}

h2 {
    font-size: var(--ec-h2);
}

h3 {
    font-size: var(--ec-h3);
}

h4 {
    font-size: var(--ec-h4);
}

h5 {
    font-size: var(--ec-h5);
}

h6 {
    font-size: var(--ec-h6);
}

p {
    font-size: var(--ec-paragraph);
    color: var(--ec-text);
}

/* --- En‑tête (header) --- */
.ec-header {
    background-color: var(--ec-background);
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    position: sticky;
    top: 0;
    z-index: 100;
}

.ec-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: var(--ec-container);
    margin: 0 auto;
    padding: 12px 5vw;
}

.ec-header__logo a {
    display: inline-block;
    line-height: 0;
}

.ec-header__logo img {
    max-height: 46px;
    width: auto;
}

.ec-logo-fallback {
    font-size: var(--ec-h4);
    font-weight: 700;
    line-height: 1.3;
    color: var(--ec-text);
}

.ec-menu {
    display: flex;
    align-items: center;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-logo-mobile {
    display: none;
}

@media (max-width: 991px) {
    .ec-logo-desktop {
        display: none !important;
    }

    .ec-logo-mobile {
        display: block !important;
    }
}

.ec-menu a {
    color: var(--ec-text);
    text-decoration: none;
    font-weight: 500;
    padding-bottom: 4px;
    border-bottom: 3px solid transparent;
}

.ec-menu a:hover {
    color: var(--ec-primary);
}

/* --- Burger (mobile) --- */
.ec-header__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 0;
    background: none;
    border: 0;
    cursor: pointer;
}

.ec-header__burger span {
    display: block;
    height: 3px;
    width: 24px;
    margin: 0 auto;
    background: var(--ec-text);
    border-radius: 2px;
}

/* --- Menu mobile (overlay + panneau latéral) --- */
body.ec-menu-open {
    overflow: hidden;
}

.ec-mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0, 0, 0, .5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

body.ec-menu-open .ec-mobile-overlay {
    opacity: 1;
    visibility: visible;
}

.ec-mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 999;
    display: flex;
    flex-direction: column;
    width: min(360px, 100%);
    height: 100dvh;
    overflow-y: auto;
    background: var(--ec-text);
    color: var(--ec-on-dark);
    visibility: hidden;
    transition: right .4s cubic-bezier(.77, 0, .175, 1), visibility .4s ease;
}

body.ec-menu-open .ec-mobile-menu {
    right: 0;
    visibility: visible;
}

body.admin-bar .ec-mobile-menu {
    top: 32px;
    height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
    body.admin-bar .ec-mobile-menu {
        top: 46px;
        height: calc(100dvh - 46px);
    }
}

.ec-mobile-menu__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.ec-mobile-menu__logo {
    max-height: 40px;
    width: auto;
}

.ec-mobile-menu__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-left: auto;
    padding: 0;
    background: none;
    border: 0;
    color: var(--ec-on-dark);
    cursor: pointer;
}

.ec-mobile-menu__nav {
    flex-grow: 1;
    padding: 20px;
}

.ec-mobile-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-mobile-menu__list a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    color: var(--ec-on-dark);
    font-weight: 600;
    text-decoration: none;
}

.ec-mobile-menu__list a:hover,
.ec-mobile-menu__list a:focus-visible {
    color: var(--ec-secondary);
}

.ec-mobile-menu__list [aria-current="page"],
.ec-mobile-menu__list .current-menu-item>a {
    color: var(--ec-secondary);
    text-decoration: underline;
}

.ec-mobile-menu__list .sub-menu {
    list-style: none;
    margin: 0;
    padding-left: 16px;
}

.ec-mobile-menu__list .sub-menu a {
    font-weight: 400;
    opacity: .85;
}

/* --- Boutons (menu + générique) --- */
.btn-menu>a,
a.btn-menu,
.menu-item.btn-menu>a,
.wp-block-navigation-item.btn-menu>a {
    display: inline-block;
    background-color: var(--ec-primary);
    color: var(--ec-on-dark) !important;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    border-bottom: 3px solid transparent !important;
    transition: background-color .2s ease;
}

.btn-menu>a:hover,
a.btn-menu:hover,
.menu-item.btn-menu>a:hover,
.wp-block-navigation-item.btn-menu>a:hover {
    background-color: var(--ec-tertiary);
    color: var(--ec-on-dark) !important;
}

.ec-btn {
    display: inline-block;
    background-color: var(--ec-primary);
    color: var(--ec-on-dark);
    padding: 12px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color .2s ease;
}

.ec-btn:hover {
    background-color: var(--ec-tertiary);
    color: var(--ec-on-dark);
}

/* --- Élément de menu actif (souligné) --- */
.current-menu-item>a,
.current_page_item>a,
.current-menu-ancestor>a,
.wp-block-navigation-item.current-menu-item>a {
    border-bottom-color: var(--ec-primary);
    color: var(--ec-text);
}

.btn-menu.current-menu-item>a,
.btn-menu.current_page_item>a {
    border-bottom-color: transparent !important;
}

/* --- hero --- */
.ec-hero {
    position: relative;
    display: flex;
    align-items: center;
    padding: 60px 40px;
    color: var(--ec-on-dark);
}

.ec-hero--gradient {
    background: var(--ec-gradient);
}

.ec-hero--image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.ec-hero--image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .38);
}



.ec-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--ec-container);
    margin: 0 auto;
}

.ec-hero__title {
    font-size: var(--ec-h1);
    font-weight: 700;
    color: var(--ec-background);
}

h2.wp-block-heading {
    display: contents;
}

.ec-banner {
    background: var(--ec-gradient);
    color: var(--ec-on-dark);
    padding: 22px 5vw;
    font-size: var(--ec-h2);
    font-weight: 700;
}

/* --- Contenu Gutenberg --- */
.ec-content {
    padding: 32px 0;
    max-width: var(--ec-container);
    margin: auto;
}

.ec-content>.alignwide {
    max-width: var(--ec-container);
}

.ec-content>.alignfull {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

/* --- Banner block (full-bleed, image bleeds past the 1280px container) --- */
.ec-banner,
.ec-content>.ec-banner {
    position: relative;
    width: auto;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 0;
    padding-right: 0;
    background: var(--ec-secondary);
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

/* Text stays inside the normal 1280px content container */
.ec-banner__inner {
    max-width: var(--ec-container);
    margin: 0 auto;
    padding: 64px 0px;
}

.ec-banner__text {
    max-width: 50%;
    color: var(--ec-text);
    line-height: 1.8;
}

.ec-banner__text p {
    margin: 0 0 1em;
}

.ec-banner__text :last-child {
    margin-bottom: 0;
}

/* Image positioned absolutely on the right, diagonal left edge */
.ec-banner__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 52%;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}

.ec-banner__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: none;
}

@media (max-width: 767px) {

    .ec-banner__inner {
        padding: 32px 20px;
    }

    .ec-banner__text {
        max-width: 100%;
    }

    /* Stack the image under the text on small screens */
    .ec-banner {
        display: flex;
        flex-direction: column;
    }

    .ec-banner__media {
        position: relative;
        width: 100%;
        height: 220px;
        clip-path: none;
        order: 2;
    }

    .ec-banner__inner {
        order: 1;
    }
}

/* --- Event cards (page-events.php) --- */
.ec-event-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    padding: 0 5vw;
    max-width: var(--ec-container);
    margin: 0 auto;
}

.ec-event-card {
    display: block;
}

.ec-event-card__link {
    display: flex;
    align-items: stretch;
    gap: 18px;
    padding: 18px 22px;
    background: var(--ec-quaternary);
    border-radius: 16px;
    text-decoration: none;
    color: var(--ec-text);
    transition: box-shadow .2s ease, transform .2s ease;
}

.ec-event-card__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    text-decoration: none;
}

.ec-event-card__badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding-right: 18px;
    border-right: 3px solid var(--ec-secondary);
    line-height: 1.1;
}

.ec-event-card__month {
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ec-text);
}

.ec-event-card__day {
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--ec-text);
}

.ec-event-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.ec-event-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ec-text);
}

.ec-event-card__range,
.ec-event-card__city {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: .9rem;
    color: var(--ec-text);
}

.ec-event-card__icon {
    flex: 0 0 auto;
    color: var(--ec-primary);
}

.ec-events-disabled {
    padding: 24px 5vw;
    color: var(--ec-text);
    opacity: .7;
}

/* --- Back to top button --- */
.ec-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    background: var(--ec-primary);
    color: var(--ec-on-dark);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .3s ease, transform .3s ease, background-color .2s ease;
}

.ec-back-to-top[hidden] {
    display: none;
}

.ec-back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.ec-back-to-top:hover,
.ec-back-to-top:focus-visible {
    background: var(--ec-tertiary);
}

@media (prefers-reduced-motion: reduce) {
    .ec-back-to-top {
        transition: opacity .3s ease;
        transform: none;
    }
}

/* --- Partners block --- */
.ec-partners__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 20px;
    padding: 20px 0px;
}

.ec-partner-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: var(--ec-background);
    border: 1px solid var(--ec-primary);
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    text-align: center;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.ec-partner-card:hover,
.ec-partner-card:focus-visible {
    box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
    transform: translateY(-2px);
}

.ec-partner-card.is-active {
    border-color: var(--ec-primary);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}

.ec-partner-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 120px;
    padding: 24px;
}

.ec-partner-card__logo img {
    max-height: 84px;
    width: auto;
    object-fit: contain;
}

.ec-partner-card__name {
    display: block;
    padding: 12px;
    background: var(--ec-secondary);
    color: var(--ec-background);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Detail panels (revealed on click) */
.ec-partners__panels {
    max-width: var(--ec-container);
    margin: 0 auto;
}

.ec-partner-panel {
    margin-top: 32px;
    padding-top: 24px;
}

.ec-partner-panel[hidden] {
    display: none;
}

.ec-partner-panel__card {
    display: flex;
    flex-direction: column;
    width: 200px;
    max-width: 100%;
    margin-bottom: 24px;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 6px;
    overflow: hidden;
    text-align: center;
}

.ec-partner-panel__card .ec-partner-card__logo {
    min-height: 96px;
    padding: 18px;
}

.ec-partner-panel__title {
    display: inline-block;
    margin: 0 0 20px;
    padding-bottom: 8px;
    font-size: var(--ec-h3);
    font-weight: 700;
    border-bottom: 3px solid var(--ec-secondary);
}

.ec-partner-panel__subtitle {
    margin: 20px 0 8px;
    font-size: var(--ec-h5);
    font-weight: 700;
}

.ec-partner-panel__text {
    margin: 0 0 16px;
    max-width: 900px;
}

.ec-partner-panel__text> :last-child {
    margin-bottom: 0;
}

.ec-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin: 0 auto 24px;
    padding: 16px 20px;
    background: var(--ec-quaternary);
    border-left: 4px solid var(--ec-secondary);
}

.ec-event-meta__item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-weight: 600;
    color: var(--ec-text);
}

/* --- Article cards (archive / home / index / search) --- */
.ec-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 40px 32px;
    padding: 0 5vw;
    max-width: var(--ec-container);
    margin: 0 auto;
}

.ec-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
}

.ec-card__media {
    display: block;
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 4 / 3;
    background: var(--ec-quaternary);
}

.ec-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.ec-card__img--placeholder {
    background: var(--ec-gradient);
}

.ec-card:hover .ec-card__img {
    transform: scale(1.03);
}

.ec-card__body {
    position: relative;
    padding: 20px 0 0 20px;
}

.ec-card__body::before {
    content: "";
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 8px;
    width: 4px;
    border-radius: 4px;
    background: var(--ec-secondary);
}

.ec-card__title {
    font-size: var(--ec-h4);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px;
    color: var(--ec-text);
}

.ec-card__title a {
    color: inherit;
    text-decoration: none;
}

.ec-card__title a:hover {
    text-decoration: underline;
}

.ec-card__date {
    margin: 0;
    color: var(--ec-primary);
    font-weight: 700;
    font-size: 1rem;
}

/* --- Social sprite widget --- */
.ec-social-sprite {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-social-sprite li {
    margin: 0;
}

.ec-social-sprite a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--ec-background);
    border-radius: 10px;
    text-decoration: none;
    transition: transform .2s ease;
}

.ec-social-sprite a:hover,
.ec-social-sprite a:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.ec-social-icon {
    display: block;
    width: 22px;
    height: 22px;
    background-color: var(--ec-primary);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.ec-social-linkedin {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4.98 3.5a2.5 2.5 0 1 1 0 5.001 2.5 2.5 0 0 1 0-5.001zM3 9h4v12H3zM9 9h3.8v1.7h.06c.53-1 1.82-2.06 3.75-2.06C20.4 8.64 21 11.1 21 14.14V21h-4v-6c0-1.43-.03-3.27-1.99-3.27-2 0-2.31 1.56-2.31 3.17V21H9z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4.98 3.5a2.5 2.5 0 1 1 0 5.001 2.5 2.5 0 0 1 0-5.001zM3 9h4v12H3zM9 9h3.8v1.7h.06c.53-1 1.82-2.06 3.75-2.06C20.4 8.64 21 11.1 21 14.14V21h-4v-6c0-1.43-.03-3.27-1.99-3.27-2 0-2.31 1.56-2.31 3.17V21H9z'/></svg>");
}

.ec-social-facebook {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 22v-8h2.7l.4-3.2h-3.1V8.7c0-.93.26-1.56 1.6-1.56h1.7V4.24A22 22 0 0 0 14.32 4C11.9 4 10.25 5.5 10.25 8.28v2.52H7.5V14h2.75v8z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 22v-8h2.7l.4-3.2h-3.1V8.7c0-.93.26-1.56 1.6-1.56h1.7V4.24A22 22 0 0 0 14.32 4C11.9 4 10.25 5.5 10.25 8.28v2.52H7.5V14h2.75v8z'/></svg>");
}

.ec-social-x {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M18.244 3H21l-6.52 7.45L22 21h-6.828l-4.77-6.234L4.8 21H2.043l6.98-7.97L2 3h6.914l4.312 5.7zm-1.196 16.2h1.53L7.05 4.7H5.41z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M18.244 3H21l-6.52 7.45L22 21h-6.828l-4.77-6.234L4.8 21H2.043l6.98-7.97L2 3h6.914l4.312 5.7zm-1.196 16.2h1.53L7.05 4.7H5.41z'/></svg>");
}

.ec-social-youtube {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill-rule='evenodd' d='M23.5 6.5a3 3 0 0 0-2.1-2.1C19.5 3.9 12 3.9 12 3.9s-7.5 0-9.4.5A3 3 0 0 0 .5 6.5C0 8.4 0 12 0 12s0 3.6.5 5.5a3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1c.5-1.9.5-5.5.5-5.5s0-3.6-.5-5.5zM9.6 15.5V8.5L15.7 12z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill-rule='evenodd' d='M23.5 6.5a3 3 0 0 0-2.1-2.1C19.5 3.9 12 3.9 12 3.9s-7.5 0-9.4.5A3 3 0 0 0 .5 6.5C0 8.4 0 12 0 12s0 3.6.5 5.5a3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1c.5-1.9.5-5.5.5-5.5s0-3.6-.5-5.5zM9.6 15.5V8.5L15.7 12z'/></svg>");
}

.ec-social-instagram {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2c3.2 0 3.58 0 4.85.07 1.17.05 1.8.25 2.23.42.56.22.96.48 1.38.9.42.42.68.82.9 1.38.17.42.37 1.06.42 2.23.06 1.27.07 1.65.07 4.85s0 3.58-.07 4.85c-.05 1.17-.25 1.8-.42 2.23a3.7 3.7 0 0 1-.9 1.38 3.7 3.7 0 0 1-1.38.9c-.42.17-1.06.37-2.23.42-1.27.06-1.65.07-4.85.07s-3.58 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.42a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.17-.42-.37-1.06-.42-2.23C2.2 15.58 2.2 15.2 2.2 12s0-3.58.07-4.85c.05-1.17.25-1.8.42-2.23.22-.56.48-.96.9-1.38a3.7 3.7 0 0 1 1.38-.9c.42-.17 1.06-.37 2.23-.42C8.42 2.2 8.8 2.2 12 2.2M12 0C8.74 0 8.33 0 7.05.07 5.78.13 4.9.33 4.14.63a5.9 5.9 0 0 0-2.13 1.38 5.9 5.9 0 0 0-1.38 2.13C.33 4.9.13 5.78.07 7.05.01 8.33 0 8.74 0 12s0 3.67.07 4.95c.06 1.27.26 2.15.56 2.91a5.9 5.9 0 0 0 1.38 2.13 5.9 5.9 0 0 0 2.13 1.38c.76.3 1.64.5 2.91.56C8.33 24 8.74 24 12 24s3.67 0 4.95-.07c1.27-.06 2.15-.26 2.91-.56a5.9 5.9 0 0 0 2.13-1.38 5.9 5.9 0 0 0 1.38-2.13c.3-.76.5-1.64.56-2.91C24 15.67 24 15.26 24 12s0-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91a5.9 5.9 0 0 0-1.38-2.13A5.9 5.9 0 0 0 19.86.63c-.76-.3-1.64-.5-2.91-.56C15.67 0 15.26 0 12 0zm0 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zm0 10.16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.4-11.85a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2c3.2 0 3.58 0 4.85.07 1.17.05 1.8.25 2.23.42.56.22.96.48 1.38.9.42.42.68.82.9 1.38.17.42.37 1.06.42 2.23.06 1.27.07 1.65.07 4.85s0 3.58-.07 4.85c-.05 1.17-.25 1.8-.42 2.23a3.7 3.7 0 0 1-.9 1.38 3.7 3.7 0 0 1-1.38.9c-.42.17-1.06.37-2.23.42-1.27.06-1.65.07-4.85.07s-3.58 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.42a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.17-.42-.37-1.06-.42-2.23C2.2 15.58 2.2 15.2 2.2 12s0-3.58.07-4.85c.05-1.17.25-1.8.42-2.23.22-.56.48-.96.9-1.38a3.7 3.7 0 0 1 1.38-.9c.42-.17 1.06-.37 2.23-.42C8.42 2.2 8.8 2.2 12 2.2M12 0C8.74 0 8.33 0 7.05.07 5.78.13 4.9.33 4.14.63a5.9 5.9 0 0 0-2.13 1.38 5.9 5.9 0 0 0-1.38 2.13C.33 4.9.13 5.78.07 7.05.01 8.33 0 8.74 0 12s0 3.67.07 4.95c.06 1.27.26 2.15.56 2.91a5.9 5.9 0 0 0 1.38 2.13 5.9 5.9 0 0 0 2.13 1.38c.76.3 1.64.5 2.91.56C8.33 24 8.74 24 12 24s3.67 0 4.95-.07c1.27-.06 2.15-.26 2.91-.56a5.9 5.9 0 0 0 2.13-1.38 5.9 5.9 0 0 0 1.38-2.13c.3-.76.5-1.64.56-2.91C24 15.67 24 15.26 24 12s0-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91a5.9 5.9 0 0 0-1.38-2.13A5.9 5.9 0 0 0 19.86.63c-.76-.3-1.64-.5-2.91-.56C15.67 0 15.26 0 12 0zm0 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zm0 10.16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.4-11.85a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z'/></svg>");
}

.ec-social-spotify {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5.5 17.3a.75.75 0 0 1-1 .25c-2.8-1.7-6.3-2.1-10.4-1.15a.75.75 0 1 1-.33-1.46c4.5-1 8.4-.6 11.5 1.3.36.22.47.7.24 1.06zm1.5-3.3a.94.94 0 0 1-1.3.32c-3.2-2-8.1-2.55-11.9-1.4a.94.94 0 1 1-.55-1.8c4.3-1.3 9.7-.7 13.4 1.6.44.27.58.85.32 1.28zm.13-3.4C15.4 8.4 8.9 8.2 5.3 9.3a1.13 1.13 0 1 1-.65-2.16c4.2-1.27 11.3-1.03 15.6 1.5a1.13 1.13 0 0 1-1.15 1.94z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm5.5 17.3a.75.75 0 0 1-1 .25c-2.8-1.7-6.3-2.1-10.4-1.15a.75.75 0 1 1-.33-1.46c4.5-1 8.4-.6 11.5 1.3.36.22.47.7.24 1.06zm1.5-3.3a.94.94 0 0 1-1.3.32c-3.2-2-8.1-2.55-11.9-1.4a.94.94 0 1 1-.55-1.8c4.3-1.3 9.7-.7 13.4 1.6.44.27.58.85.32 1.28zm.13-3.4C15.4 8.4 8.9 8.2 5.3 9.3a1.13 1.13 0 1 1-.65-2.16c4.2-1.27 11.3-1.03 15.6 1.5a1.13 1.13 0 0 1-1.15 1.94z'/></svg>");
}

.ec-social-scoopit {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm-1 4.5h2v9h-2zm1 11.5a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm-1 4.5h2v9h-2zm1 11.5a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5z'/></svg>");
}

.ec-social-soundcloud {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1.5 15.2v-4a.5.5 0 1 1 1 0v4a.5.5 0 1 1-1 0zm2 1.3v-6.6a.5.5 0 1 1 1 0v6.6a.5.5 0 1 1-1 0zm2 .3v-7.2a.5.5 0 1 1 1 0v7.2a.5.5 0 1 1-1 0zm2 0v-8.6a.5.5 0 1 1 1 0v8.6a.5.5 0 1 1-1 0zm2 0V6.3a.5.5 0 1 1 1 0v10.5a.5.5 0 1 1-1 0zM12 17V6a.5.5 0 1 1 1 0v11a.5.5 0 1 1-1 0zm2.5 0V7a.5.5 0 1 1 1 0v10a.5.5 0 1 1-1 0zm4 0h-2.5V8.8a4 4 0 0 1 6-.5 4.5 4.5 0 0 1 1.5 8.7z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1.5 15.2v-4a.5.5 0 1 1 1 0v4a.5.5 0 1 1-1 0zm2 1.3v-6.6a.5.5 0 1 1 1 0v6.6a.5.5 0 1 1-1 0zm2 .3v-7.2a.5.5 0 1 1 1 0v7.2a.5.5 0 1 1-1 0zm2 0v-8.6a.5.5 0 1 1 1 0v8.6a.5.5 0 1 1-1 0zm2 0V6.3a.5.5 0 1 1 1 0v10.5a.5.5 0 1 1-1 0zM12 17V6a.5.5 0 1 1 1 0v11a.5.5 0 1 1-1 0zm2.5 0V7a.5.5 0 1 1 1 0v10a.5.5 0 1 1-1 0zm4 0h-2.5V8.8a4 4 0 0 1 6-.5 4.5 4.5 0 0 1 1.5 8.7z'/></svg>");
}

.ec-social-mastodon {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21.6 8.2c0-4.5-3-5.8-3-5.8-1.5-.7-4-1-6.6-1h-.07c-2.6 0-5.1.3-6.6 1 0 0-3 1.3-3 5.8v3.4c0 4.5 2.9 4.6 5.5 4.7 1 .04 2 .1 2.9.2v-.02c1.7.1 3-.7 3-.7v1.7c0 0-1 .5-3 .7-1.2.05-2.4-.05-4-.5 0 0-.4 1.5.9 2 2.5 1 5.2 1.2 8-.3.6-.3 1-.9 1.4-1.7.3-.7.5-1.5.6-2.3.1-1 .2-2.2.2-3.4V8.2zm-3.7 6.2h-2.4v-6c0-1.3-.5-2-1.6-2-1.2 0-1.8.8-1.8 2.3v3.4h-2.3V8.7c0-1.5-.6-2.3-1.8-2.3-1.1 0-1.6.7-1.6 2v6H4v-6.2c0-1.3.3-2.3 1-3 .7-.7 1.6-1 2.7-1 1.3 0 2.3.5 3 1.5l.6 1 .6-1c.7-1 1.7-1.5 3-1.5 1 0 2 .3 2.7 1 .7.7 1 1.7 1 3v6.2z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21.6 8.2c0-4.5-3-5.8-3-5.8-1.5-.7-4-1-6.6-1h-.07c-2.6 0-5.1.3-6.6 1 0 0-3 1.3-3 5.8v3.4c0 4.5 2.9 4.6 5.5 4.7 1 .04 2 .1 2.9.2v-.02c1.7.1 3-.7 3-.7v1.7c0 0-1 .5-3 .7-1.2.05-2.4-.05-4-.5 0 0-.4 1.5.9 2 2.5 1 5.2 1.2 8-.3.6-.3 1-.9 1.4-1.7.3-.7.5-1.5.6-2.3.1-1 .2-2.2.2-3.4V8.2zm-3.7 6.2h-2.4v-6c0-1.3-.5-2-1.6-2-1.2 0-1.8.8-1.8 2.3v3.4h-2.3V8.7c0-1.5-.6-2.3-1.8-2.3-1.1 0-1.6.7-1.6 2v6H4v-6.2c0-1.3.3-2.3 1-3 .7-.7 1.6-1 2.7-1 1.3 0 2.3.5 3 1.5l.6 1 .6-1c.7-1 1.7-1.5 3-1.5 1 0 2 .3 2.7 1 .7.7 1 1.7 1 3v6.2z'/></svg>");
}

.ec-social-tiktok {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19.6 6.7a5.6 5.6 0 0 1-3.4-2.2A5.5 5.5 0 0 1 15.1 1H11.7v13.5a3 3 0 1 1-3-3c.3 0 .6 0 .9.1V8.1a6.5 6.5 0 0 0-.9-.06 6.4 6.4 0 1 0 6.4 6.4V8.8a9 9 0 0 0 5.2 1.7V7.1c-.2 0-.4-.2-.7-.4z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19.6 6.7a5.6 5.6 0 0 1-3.4-2.2A5.5 5.5 0 0 1 15.1 1H11.7v13.5a3 3 0 1 1-3-3c.3 0 .6 0 .9.1V8.1a6.5 6.5 0 0 0-.9-.06 6.4 6.4 0 1 0 6.4 6.4V8.8a9 9 0 0 0 5.2 1.7V7.1c-.2 0-.4-.2-.7-.4z'/></svg>");
}

.ec-social-rss {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='6' cy='18' r='2.2'/><path d='M4 4v3a13 13 0 0 1 13 13h3A16 16 0 0 0 4 4z'/><path d='M4 10v3a7 7 0 0 1 7 7h3a10 10 0 0 0-10-10z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='6' cy='18' r='2.2'/><path d='M4 4v3a13 13 0 0 1 13 13h3A16 16 0 0 0 4 4z'/><path d='M4 10v3a7 7 0 0 1 7 7h3a10 10 0 0 0-10-10z'/></svg>");
}

/* --- Pied de page (footer) --- */
.ec-footer {
    background: var(--ec-gradient);
    color: var(--ec-on-dark);
    padding: 48px 5vw 24px;
}

.ec-footer a {
    color: var(--ec-on-dark);
    text-decoration: none;
}

.ec-footer a:hover {
    text-decoration: underline;
}

.ec-footer__inner {
    max-width: var(--ec-container);
    margin: 0 auto;
}

/* Force footer widget text (tagline, paragraphs, headings) to stay legible
   on the gradient, even when a block widget carries its own dark color. */
.ec-footer__widget,
.ec-footer__widget p,
.ec-footer__widget h1,
.ec-footer__widget h2,
.ec-footer__widget h3,
.ec-footer__tagline {
    color: var(--ec-on-dark);
}

/* 1. Head : logo 1 + tagline (left) | logo 2 (right) */
.ec-footer__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
    margin-bottom: 36px;
}

.ec-footer__brand img,
.ec-footer__brand-right img,
.ec-footer__widget img {
    max-width: 180px;
    height: auto;
}

.ec-footer__tagline {
    margin: 16px 0 0;
    max-width: 340px;
    font-weight: 700;
    line-height: 1.35;
}

/* 2. Nav row : menu (left) | social (right) — flex space-between */
.ec-footer__nav-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    margin-bottom: 20px;
}

.ec-footer__menu ul,
.ec-footer__menu-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-footer__menu li,
.ec-footer__menu-list li {
    margin: 0;
}

/* Social icons (native block or custom sprite widget) aligned to the right */
.ec-footer__social-zone .ec-social-sprite,
.ec-footer__social-zone ul {
    justify-content: flex-end;
}

.ec-footer__social-zone ul {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-footer__social-zone a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--ec-background);
    color: var(--ec-primary);
    border-radius: 10px;
    text-decoration: none;
}

.ec-footer__social-zone a:hover {
    text-decoration: none;
    opacity: .85;
}

/* 3. Separator */
.ec-footer__separator {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .5);
    margin: 0 0 20px;
}

/* 4. Bottom : legal menu (left) | copyright (right) — flex space-between */
.ec-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: .85rem;
}

.ec-footer__legal ul,
.ec-footer__legal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ec-footer__legal li {
    margin: 0;
    position: relative;
    padding-right: 16px;
}

.ec-footer__legal li:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: 0;
    opacity: .6;
}

.ec-footer__copy {
    text-align: right;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .ec-header__burger {
        display: flex;
    }

    .ec-header__nav {
        display: none;
    }
}

@media (max-width: 767px) {

    .ec-footer__head,
    .ec-footer__nav-row,
    .ec-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .ec-footer__social-zone .ec-social-sprite,
    .ec-footer__social-zone ul {
        justify-content: flex-start;
    }

    .ec-footer__copy {
        text-align: left;
    }
}

/* --- Accessibilité (RGAA) --- */
.ec-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    padding: 10px 16px;
    background: var(--ec-primary);
    color: var(--ec-on-dark);
    border-radius: 0 0 6px 0;
    text-decoration: none;
}

.ec-skip-link:focus {
    left: 0;
    color: var(--ec-on-dark);
}

:focus-visible {
    outline: 3px solid var(--ec-tertiary);
    outline-offset: 2px;
}

.ec-main:focus {
    outline: none;
}

.ec-menu [aria-current="page"] {
    border-bottom-color: var(--ec-primary);
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}

#menu-header-menu-en-2 {
    display: flex;
    list-style: none;
    gap: 20px;
    padding-left: 0px;
}