:root {
    --color-ae-anthracite: #28282D;
    --color-ae-green: #04442C;
    --color-ae-beige: #F1ECE2;
    --color-ae-dark-beige: #E3DACA;
    --color-ae-gold: #C8A370;
}

@font-face {
    font-family: 'Bitter';
    src: url('/assets/public/fonts/Bitter-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('/assets/public/fonts/Bitter-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bitter';
    src: url('/assets/public/fonts/Bitter-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

html, body, button, input, select, textarea {
    font-family: "Jost", sans-serif;
    /*font-family: 'Bitter', serif;*/
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Jost", sans-serif;
    /*font-family: 'Bitter', serif;*/
}

a {
    text-transform: none;
}

.header-logo img {
    width: 260px;
}

.header-style-05 .main-header_nav {
    padding-top: 15px;
    padding-bottom: 15px;
}

.offcanvas-menu_wrapper .offcanvas-body.style-02 {
    background-color: var(--color-ae-beige);
    color: var(--color-ae-anthracite);
}


.offcanvas-menu_wrapper .offcanvas-body.style-02 .inner-body .offcanvas-wrap .offcanvas-menu_area .offcanvas-navigation ul.mobile-menu li a {
    color: var(--color-ae-anthracite);
}

.offcanvas-menu_wrapper .offcanvas-body .inner-body .offcanvas-menu_area .offcanvas-navigation .mobile-menu li .sub-menu {
    background-color: var(--color-ae-dark-beige);
}

.offcanvas-menu_wrapper-academy,
.offcanvas-menu_wrapper-academy .offcanvas-body.style-02 .inner-body .offcanvas-wrap .offcanvas-menu_area .offcanvas-navigation ul.mobile-menu li a,
.offcanvas-menu_wrapper-academy .offcanvas-body .inner-body .offcanvas-menu_area .offcanvas-navigation .mobile-menu li .sub-menu,
.offcanvas-menu_wrapper-academy .offcanvas-body.style-02 {
    background-color: var(--color-ae-green);
    color: white;
}

.offcanvas-menu_wrapper-academy .offcanvas-body.style-02 .inner-body .offcanvas-wrap .offcanvas-menu_area .offcanvas-navigation ul.mobile-menu li a {
    color: #ffffff;
    font-size: 20px;
    line-height: 36px;
    text-transform: capitalize;
}

/* Espace au-dessus du bloc */
.offcanvas-menu_wrapper .offcanvas-bottom {
    margin-bottom: 14px;
}

/* Conteneur des 2 boutons */
.offcanvas-menu_wrapper .offcanvas-bottom .copyright span {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    width: 100%;
    max-width: 420px;
    background-color: var(--color-ae-anthracite);
    border-radius: 12px;
}

.offcanvas-menu_wrapper .offcanvas-bottom .copyright span a {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 10px 18px;
    border-radius: 9px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.2s ease;
}

/* Bouton actif */
.offcanvas-menu_wrapper .offcanvas-bottom .copyright span a.is-active {
    background-color: var(--color-ae-gold);
    color: var(--color-ae-anthracite);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Bouton inactif */
.offcanvas-menu_wrapper .offcanvas-bottom .copyright span a:not(.is-active) {
    background-color: transparent;
    color: white;
}

/* Hover sur inactif */
.offcanvas-menu_wrapper .offcanvas-bottom .copyright span a:not(.is-active):hover {
    color: var(--color-ae-gold);
}


.footer-top_area.with-border_bottom {
    border-bottom: 1px solid var(--color-ae-gold);
}

/**** ANTHRACITE ****/
.bckg-ae-anthracite, .bckg-ae-anthracite .main-header .main-nav > ul > li > ul.skudmart-dropdown {
    background-color: var(--color-ae-anthracite);
}

.bckg-ae-anthracite, .bckg-ae-anthracite a, .bckg-ae-anthracite .copyright span {
    color: white;
}

.bckg-ae-anthracite a:hover {
    color: var(--color-ae-gold);
}

.bckg-ae-anthracite .footer-widgets_area h3.heading {
    font-family: Verdana, Geneva, sans-serif;
    color: white;
}

/**** GREEN ****/
.bckg-ae-green, .bckg-ae-green .main-header .main-nav > ul > li > ul.skudmart-dropdown {
    background-color: var(--color-ae-green);
}

.bckg-ae-green, .bckg-ae-green a, .bckg-ae-green .copyright span {
    color: white;
}

.bckg-ae-green a:hover {
    color: var(--color-ae-gold);
}

.bckg-ae-green .footer-widgets_area h3.heading {
    font-family: Verdana, Geneva, sans-serif;
    color: white;
}

/**** BEIGE ****/
.bckg-ae-beige, .bckg-ae-beige .main-header .main-nav > ul > li > ul.skudmart-dropdown {
    background-color: white;
    background-color: var(--color-ae-beige);
}

.bckg-ae-beige, .bckg-ae-beige a, .bckg-ae-beige .copyright span {
    color: var(--color-ae-anthracite);
}

.bckg-ae-beige a:hover {
    color: var(--color-ae-gold);
}

.bckg-ae-beige .footer-widgets_area h3.heading {
    font-family: Verdana, Geneva, sans-serif;
    color: var(--color-ae-anthracite);
}


/**** ACCUEIL ACADEMY ****/
.about-banner_area {
    padding-top: 0;
}

.about-banner_area .single-content h2.heading {
    max-width: 100%;
}

.container.custom-space-2 {
    max-width: calc(100% - 0px);
    padding: 0 100px;
}


.breadcrumb-area.with-border {
    background-color: var(--color-ae-beige);
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px var(--color-ae-gold);
    margin-bottom: 25px;
}

.login-area li span, .login-area span a {
    display: block;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-ae-anthracite);
}

.login-area a, .login-area li a.lost-pass {
    color: var(--color-ae-anthracite);
    font-size: 16px;
    line-height: 28.8px;
    display: block;
}

.login-area li a.lost-pass:hover {
    color: var(--color-ae-gold);
}

.bootstrap-touchspin .input-group-btn-vertical > .btn.bootstrap-touchspin-down {
    position: absolute;
    height: 48px;
    width: 40px;
    background: transparent;
    padding: 0px 0px;
    left: -35px;
    top: -47px;
    border-right: none;
    border-radius: 0px;
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
    margin-top: 0px;
}


.border-t-gold {
    border-top: solid 1px var(--color-ae-gold);
}

.border-b-gold {
    border-bottom: solid 1px var(--color-ae-gold);
}

/******* ACCOUNT *********/
.ae-account-page {
    background: #f6f4f1;
    padding: 28px 0 80px;
}

.ae-account-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.ae-account-sidebar,
.ae-account-main-card,
.ae-account-subcard,
.ae-order-card,
.ae-address-card {
    background: #fff;
    border: 1px solid #ece7e0;
}

.ae-account-sidebar {
    padding: 18px;
}

.ae-account-user {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid #ece7e0;
    margin-bottom: 18px;
}

.ae-account-avatar {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #071321;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
}

.ae-account-user-name {
    font-size: 24px;
    line-height: 1.1;
    font-weight: 700;
    color: #111;
    margin: 0 0 6px;
}

.ae-account-user-sub {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.ae-side-group {
    padding: 8px 0 18px;
    border-bottom: 1px solid #ece7e0;
    margin-bottom: 18px;
}

.ae-side-group:last-of-type {
    border-bottom: 0;
    margin-bottom: 8px;
}

.ae-side-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px;
}

.ae-side-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ae-side-links li + li {
    margin-top: 8px;
}

.ae-side-link {
    display: block;
    padding: 10px 12px;
    color: #111;
    text-decoration: none;
    border-left: 3px solid transparent;
    background: transparent;
    transition: .2s ease;
}

.ae-side-link:hover,
.ae-side-link.is-active {
    background: #f6f4f1;
    border-left-color: #111;
    color: #111;
    text-decoration: none;
}

.ae-logout-link {
    display: inline-block;
    margin-top: 8px;
    color: #111;
    text-decoration: underline;
}

.ae-account-main-title {
    background: #fff;
    border: 1px solid #ece7e0;
    padding: 18px 22px;
    margin-bottom: 18px;
}

.ae-account-main-title h1 {
    margin: 0;
    font-size: 38px;
    line-height: 1.1;
    color: #111;
}

.ae-account-subcard {
    padding: 22px;
    margin-bottom: 18px;
}

.ae-account-subtitle {
    margin: 0 0 18px;
    font-size: 24px;
    line-height: 1.15;
    color: #111;
    font-weight: 700;
    text-transform: none;
}

.ae-account-block-title {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    color: #111;
}

.ae-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ae-form-grid--single {
    grid-template-columns: 1fr;
}

.ae-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ae-field label {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}

.ae-field input {
    width: 100%;
    height: 48px;
    border: 1px solid #bdb8b1;
    padding: 0 14px;
    background: #fff;
    color: #111;
}

.ae-field input:focus {
    outline: none;
    border-color: #111;
}

.ae-account-actions {
    display: flex;
    gap: 12px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.ae-account-btn,
.ae-account-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid #111;
    text-decoration: none;
    font-weight: 700;
    transition: .2s ease;
    cursor: pointer;
}

.ae-account-btn {
    background: #071321;
    color: #fff;
}

.ae-account-btn:hover {
    background: #111;
    color: #fff;
    text-decoration: none;
}

.ae-account-btn-secondary {
    background: #fff;
    color: #111;
}

.ae-account-btn-secondary:hover {
    background: #f6f4f1;
    color: #111;
    text-decoration: none;
}

.ae-inline-note {
    margin-top: 12px;
    color: #666;
    font-size: 14px;
}

.ae-alert {
    padding: 14px 16px;
    margin-bottom: 18px;
    border: 1px solid transparent;
    font-size: 14px;
}

.ae-alert--success {
    background: #edf7ef;
    border-color: #bcd9c1;
    color: #245b2b;
}

.ae-alert--error {
    background: #fff2f2;
    border-color: #ebc4c4;
    color: #8c2f2f;
}

.ae-address-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ae-address-card {
    padding: 18px;
}

.ae-address-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.ae-address-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #111;
}

.ae-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    background: #f6f4f1;
    color: #111;
    padding: 4px 9px;
    border-radius: 999px;
}

.ae-address-body {
    color: #333;
    line-height: 1.6;
    font-size: 14px;
}

.ae-address-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.ae-order-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ae-order-card {
    overflow: hidden;
}

.ae-order-card summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    background: #f6f4f1;
}

.ae-order-card summary::-webkit-details-marker {
    display: none;
}

.ae-order-summary-main {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ae-order-ref {
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.ae-order-meta {
    color: #444;
    font-size: 14px;
}

.ae-order-chevron {
    font-size: 18px;
    transition: transform .2s ease;
}

.ae-order-card[open] .ae-order-chevron {
    transform: rotate(180deg);
}

.ae-order-body {
    padding: 18px;
    background: #fff;
}

.ae-order-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ae-order-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.ae-order-item-thumb img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border: 1px solid #ece7e0;
    display: block;
    background: #fff;
}

.ae-order-item-name {
    margin: 0 0 4px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    color: #111;
}

.ae-order-item-meta {
    font-size: 14px;
    color: #555;
}

.ae-order-actions-row {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 18px;
    flex-wrap: wrap;
}

@media (max-width: 991px) {
    .ae-account-layout {
        grid-template-columns: 1fr;
    }

    .ae-address-grid,
    .ae-form-grid {
        grid-template-columns: 1fr;
    }

    .ae-account-main-title h1 {
        font-size: 30px;
    }
}


/*************************************************
 * PAGES INFORMATIVES ACADEMIE
 *************************************************/

.aca-page-hero,
.aca-page-banner,
.aca-page-section {
    background: #fff;
}

.aca-page-hero {
    padding: 52px 0 36px;
}

.aca-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 38px;
    align-items: center;
}

.aca-page-eyebrow,
.aca-page-section-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--color-ae-green);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.aca-page-hero__title,
.aca-page-banner__title,
.aca-page-section-title {
    color: var(--color-ae-green);
    text-transform: none;
    line-height: 1.1;
    margin-bottom: 18px;
}

.aca-page-hero__title,
.aca-page-banner__title {
    font-size: 48px;
}

.aca-page-section-title {
    font-size: 34px;
}

.aca-page-hero__lead,
.aca-page-banner__lead,
.aca-page-section-text,
.aca-content-card p,
.aca-mini-card p,
.aca-feature-card p,
.aca-event-card p,
.aca-highlight-panel p,
.aca-summary-note,
.aca-page-intro-card p {
    color: #202020;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 0;
}

.aca-page-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.aca-page-actions--stack-sm {
    align-items: flex-start;
}

.aca-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 999px;
    border: 1px solid var(--color-ae-green);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: all 0.2s ease;
}

.aca-btn--primary {
    background: var(--color-ae-green);
    color: #fff;
}

.aca-btn--primary:hover {
    background: #022d1d;
    color: #fff;
}

.aca-btn--ghost {
    background: #fff;
    color: var(--color-ae-green);
}

.aca-btn--ghost:hover {
    border-color: var(--color-ae-gold);
    color: var(--color-ae-gold);
}

.aca-btn--full {
    width: 100%;
}

.aca-page-hero__visual,
.aca-page-hero__image,
.aca-page-hero__placeholder {
    width: 100%;
}

.aca-page-hero__image,
.aca-page-hero__placeholder {
    min-height: 460px;
    border-radius: 28px;
}

.aca-page-hero__image {
    object-fit: cover;
    display: block;
}

.aca-page-hero__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(4, 68, 44, 0.08), rgba(200, 163, 112, 0.20));
    border: 1px solid rgba(4, 68, 44, 0.10);
}

.aca-page-hero__placeholder-label {
    color: var(--color-ae-green);
    font-size: 18px;
    font-weight: 700;
}

.aca-page-banner {
    padding: 48px 0 16px;
}

.aca-page-section {
    padding: 22px 0 64px;
}

.aca-page-section--soft {
    background: linear-gradient(to bottom, #ffffff 0%, #faf8f3 100%);
}

.aca-page-section--narrow {
    padding-top: 8px;
}

.aca-page-heading {
    max-width: 860px;
    margin-bottom: 34px;
}

.aca-page-intro-card,
.aca-content-card,
.aca-mini-card,
.aca-feature-card,
.aca-pricing-card__inner,
.aca-summary-card,
.aca-event-card,
.aca-highlight-panel {
    background: #fff;
    border: 1px solid rgba(4, 68, 44, 0.10);
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 27, 23, 0.05);
}

.aca-page-intro-card,
.aca-content-card,
.aca-summary-card,
.aca-highlight-panel {
    padding: 30px;
}

.aca-content-card--accent {
    background: linear-gradient(135deg, rgba(4, 68, 44, 0.05), rgba(200, 163, 112, 0.12));
}

.aca-two-col-grid,
.aca-subscribe-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.aca-feature-grid,
.aca-mini-grid,
.aca-event-grid {
    display: grid;
    gap: 24px;
}

.aca-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aca-mini-grid,
.aca-event-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aca-feature-card,
.aca-mini-card,
.aca-event-card {
    padding: 28px;
}

.aca-feature-card__icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-bottom: 18px;
    background: rgba(4, 68, 44, 0.08);
    color: var(--color-ae-green);
    font-size: 22px;
}

.aca-feature-card h3,
.aca-mini-card h3,
.aca-event-card h3,
.aca-subtitle,
.aca-pricing-card h2 {
    color: var(--color-ae-green);
    text-transform: none;
    margin-bottom: 12px;
}

.aca-subtitle {
    font-size: 24px;
    margin-top: 28px;
}

.aca-check-list,
.aca-pricing-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.aca-check-list li,
.aca-pricing-card__list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 16px;
    color: #202020;
    line-height: 1.75;
}

.aca-check-list li:last-child,
.aca-pricing-card__list li:last-child {
    margin-bottom: 0;
}

.aca-check-list li::before,
.aca-pricing-card__list li::before {
    content: "•";
    position: absolute;
    left: 8px;
    top: 0;
    color: var(--color-ae-gold);
    font-weight: 700;
}

.aca-highlight-panel {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
}

.aca-highlight-panel--compact {
    margin-top: 32px;
}

.aca-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.aca-pricing-card {
    display: block;
    cursor: pointer;
    position: relative;
}

.aca-pricing-card__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.aca-pricing-card__inner {
    height: 100%;
    padding: 30px;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.aca-pricing-card__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--color-ae-gold);
    color: var(--color-ae-anthracite);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.aca-pricing-card__price-wrap {
    margin-bottom: 20px;
}

.aca-pricing-card__price {
    color: var(--color-ae-green);
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
}

.aca-pricing-card__monthly {
    color: #555;
    font-size: 14px;
    margin-top: 8px;
}

.aca-pricing-card.is-featured .aca-pricing-card__inner,
.aca-pricing-card input:checked + .aca-pricing-card__badge + .aca-pricing-card__inner,
.aca-pricing-card input:checked + .aca-pricing-card__inner {
    border-color: rgba(200, 163, 112, 0.55);
    box-shadow: 0 18px 38px rgba(4, 68, 44, 0.10);
    transform: translateY(-4px);
}

.aca-goal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.aca-goal-pill {
    cursor: pointer;
}

.aca-goal-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.aca-goal-pill span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(4, 68, 44, 0.20);
    background: #fff;
    color: var(--color-ae-green);
    font-weight: 700;
    transition: all 0.2s ease;
}

.aca-goal-pill input:checked + span {
    background: var(--color-ae-green);
    border-color: var(--color-ae-green);
    color: #fff;
}

.aca-summary-list {
    display: grid;
    gap: 18px;
    margin: 0 0 26px;
}

.aca-summary-list div {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(4, 68, 44, 0.10);
}

.aca-summary-list dt {
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #666;
    margin-bottom: 8px;
}

.aca-summary-list dd {
    margin: 0;
    color: var(--color-ae-green);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

.aca-summary-note {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 1199px) {
    .container.custom-space-2 {
        padding: 0 40px;
    }

    .aca-feature-grid,
    .aca-mini-grid,
    .aca-event-grid,
    .aca-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .aca-page-hero__grid,
    .aca-two-col-grid,
    .aca-subscribe-layout,
    .aca-highlight-panel {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }

    .aca-page-hero__title,
    .aca-page-banner__title {
        font-size: 38px;
    }

    .aca-page-section-title {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .container.custom-space-2 {
        padding: 0 18px;
    }

    .aca-page-hero,
    .aca-page-banner {
        padding-top: 34px;
    }

    .aca-page-section {
        padding-bottom: 42px;
    }

    .aca-feature-grid,
    .aca-mini-grid,
    .aca-event-grid,
    .aca-pricing-grid {
        grid-template-columns: 1fr;
    }

    .aca-page-hero__title,
    .aca-page-banner__title {
        font-size: 31px;
    }

    .aca-page-hero__lead,
    .aca-page-banner__lead,
    .aca-page-section-text,
    .aca-content-card p,
    .aca-mini-card p,
    .aca-feature-card p,
    .aca-event-card p,
    .aca-highlight-panel p,
    .aca-page-intro-card p {
        font-size: 16px;
    }

    .aca-page-hero__image,
    .aca-page-hero__placeholder {
        min-height: 280px;
    }

    .aca-page-intro-card,
    .aca-content-card,
    .aca-summary-card,
    .aca-highlight-panel,
    .aca-feature-card,
    .aca-mini-card,
    .aca-event-card,
    .aca-pricing-card__inner {
        padding: 22px;
        border-radius: 18px;
    }

    .aca-btn,
    .aca-btn--full {
        width: 100%;
    }
}


/*************************************************
 * CHECKOUT STEPS (Panier / Livraison / Paiement)
 *************************************************/
.checkout-shell {
    background: #f6f6f6;
    padding: 40px 0 60px;
}

.checkout-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
    gap: 20px;
    flex-wrap: wrap;
}

.checkout-back {
    color: #1f1f1f;
    text-decoration: none;
    font-size: 15px;
}

.checkout-back:hover {
    text-decoration: underline;
}

.checkout-steps {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 14px;
    color: #666;
    min-width: 0;
}

.checkout-step {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    flex: 0 0 auto;
}

.checkout-step:not(:last-child)::after {
    content: "";
    width: 34px;
    height: 1px;
    background: #222;
    margin-left: 10px;
    flex: 0 0 auto;
}

.checkout-step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    background: #d9d9d9;
    color: #111;
    flex: 0 0 auto;
}

.checkout-step.is-done .checkout-step-dot,
.checkout-step.is-current .checkout-step-dot {
    background: #000;
    color: #fff;
}

.checkout-step-label {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .checkout-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .checkout-steps {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        gap: 12px;
        padding-bottom: 4px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .checkout-steps::-webkit-scrollbar {
        display: none;
    }

    .checkout-step {
        gap: 6px;
    }

    .checkout-step:not(:last-child)::after {
        width: 20px;
        margin-left: 6px;
    }

    .checkout-step-dot {
        width: 24px;
        height: 24px;
        font-size: 12px;
    }

    .checkout-step-label {
        font-size: 12px;
    }
}

.footer-widgets_area p.short-desc {
    max-width: 85%;
}

.footer-baseline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.footer-baseline-logo {
    flex: 0 0 auto;
    line-height: 0;
}

.footer-baseline-logo img {
    display: block;
}

.footer-baseline-text {
    line-height: 1.25;
}

.aca-v2-page {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 10px;
}

.ae-member-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 5px 12px 5px 9px;
    border: 2px solid var(--color-ae-gold);
    border-radius: 0;
    background: linear-gradient(to bottom, #04442c 0%, #086542 100%);
    color: var(--color-ae-gold) !important;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Jost', serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.ae-member-btn:hover,
.ae-member-btn:focus {
    background: linear-gradient(to bottom, #055639 0%, #0a7a50 100%);
    color: var(--color-ae-gold) !important;
    text-decoration: none;
}

.ae-member-btn__icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border: 2px solid var(--color-ae-gold);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    background: transparent;
}

.ae-member-btn__icon img {
    display: block;
    max-width: 13px;
    max-height: 13px;
    width: auto;
    height: auto;
}

.ae-member-btn__text {
    display: inline-block;
    color: var(--color-ae-gold) !important;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    position: relative;
    top: 1px;
}

@media (max-width: 1500px) {
    .banner-area-16 .banner-item .single-img .inner-content h3.product-offer {
        font-size: 50px;
        line-height: 1.4;
    }
}

.banner-area-16 .banner-item .single-img .inner-content h3.product-offer {
    font-size: 60px;
    line-height: 1.3;
}

.stock-out-box {
    display: inline-block;
    padding: 10px 16px;
    border: 1px solid #e3e3e3;
    background: #fafafa;
    border-radius: 4px;
    color: #666;
    font-weight: 600;
    line-height: 1.2;
}


/* =========================
   MENU MOBILE ACADEMIE
   Même esprit que le menu offcanvas principal
   ========================= */

.mobile-menu_wrapper .offcanvas-body {
    background-color: var(--color-ae-green);
    color: #fff;
}

.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu li a {
    color: #ffffff;
    font-size: 20px;
    line-height: 36px;
    text-transform: capitalize;
}

.mobile-menu_wrapper .offcanvas-navigation .mobile-menu li .sub-menu {
    background-color: var(--color-ae-green);
}

.mobile-menu_wrapper .offcanvas-top .btn-close,
.mobile-menu_wrapper .offcanvas-top .btn-close i {
    color: #ffffff;
}

/* Espace et structure générale du bloc bas */
.mobile-menu_wrapper .offcanvas-bottom {
    margin: 18px 0 14px;
    padding: 0 20px;
}

/* Le conteneur des 2 boutons prend presque toute la largeur */
.mobile-menu_wrapper .offcanvas-bottom .copyright {
    width: 100%;
}

.mobile-menu_wrapper .offcanvas-bottom .copyright span {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 4px;
    background-color: var(--color-ae-anthracite);
    border-radius: 12px;
}

/* Chaque bouton remplit la largeur disponible */
.mobile-menu_wrapper .offcanvas-bottom .copyright span a {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 9px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.2s ease;
}

/* Bouton actif */
.mobile-menu_wrapper .offcanvas-bottom .copyright span a.is-active {
    background-color: var(--color-ae-gold);
    color: var(--color-ae-anthracite);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Bouton inactif */
.mobile-menu_wrapper .offcanvas-bottom .copyright span a:not(.is-active) {
    background-color: transparent;
    color: #ffffff;
}

/* Hover */
.mobile-menu_wrapper .offcanvas-bottom .copyright span a:not(.is-active):hover {
    color: var(--color-ae-gold);
}

.mobile-menu_wrapper .offcanvas-body,
.mobile-menu_wrapper .inner-body {
    height: 100dvh !important;
}

.mobile-menu_wrapper .offcanvas-body,
.mobile-menu_wrapper .inner-body {
    display: flex;
    flex-direction: column;
}

.mobile-menu_wrapper .offcanvas-menu_area {
    flex: 1 1 auto;
    min-height: 0;
}

.mobile-menu_wrapper .offcanvas-bottom {
    margin-top: auto;
    margin-bottom: 0 !important;
    padding: 0 20px 2px;
}

.mobile-menu_wrapper .inner-body {
    justify-content: flex-start;
}

.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a,
.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a .mm-text,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a .mm-text {
    color: #ffffff !important;
    font-weight: 500 !important;
}

.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a:hover,
.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a:hover .mm-text,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:hover,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:hover .mm-text,
.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a:focus,
.offcanvas-menu_wrapper-academy .offcanvas-navigation ul.mobile-menu > li > a:focus .mm-text,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:focus,
.mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:focus .mm-text {
    color: #ffffff !important;
}

/*** MENU ACADEMY STICKY ***/
.main-header_area.bckg-ae-green {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
}

.main-header_area.bckg-ae-green .main-header {
    background-color: var(--color-ae-green);
}

/* =========================
   MENU MOBILE BOUTIQUE
   Même couleurs que le menu desktop boutique
   ========================= */

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-body {
    background-color: var(--color-ae-beige);
    color: var(--color-ae-anthracite);
}

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu li a,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu li a .mm-text {
    color: var(--color-ae-anthracite) !important;
}

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation .mobile-menu li .sub-menu {
    background-color: var(--color-ae-dark-beige);
}

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-top .btn-close,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-top .btn-close i {
    color: var(--color-ae-anthracite);
}

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:hover,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:hover .mm-text,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:focus,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a:focus .mm-text {
    color: var(--color-ae-anthracite) !important;
}

/* =========================================
   HEADER BOUTIQUE : mobile + sticky
   ========================================= */

.main-header_area.bckg-ae-beige {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
}

.main-header_area.bckg-ae-beige .main-header {
    background-color: var(--color-ae-beige);
}

@media (max-width: 767px) {
    .main-header_area.bckg-ae-beige .main-header_nav {
        position: relative;
        min-height: 78px;
        display: flex;
        align-items: center;
    }

    .col-shop-mobile-center {
        position: static;
    }

    .col-shop-mobile-center .header-logo {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .col-shop-mobile-center .header-logo img {
        width: 180px;
        max-width: 70vw;
        margin: 0 auto;
    }

    .col-shop-mobile-actions,
    .col-shop-mobile-actions .header-right {
        position: static;
    }

    .col-shop-mobile-actions .header-right > ul {
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 3;
        margin: 0;
        padding: 0 15px;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
    }

    .col-shop-mobile-actions .mobile-menu_wrap {
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
    }

    .col-shop-mobile-actions .search-box,
    .col-shop-mobile-actions .d-none.d-md-block,
    .col-shop-mobile-actions .search-btn.toolbar-btn {
        display: none !important;
    }

    .col-shop-mobile-actions .minicart-wrap {
        display: flex !important;
        align-items: center;
    }
}

/* Mobile menu boutique : même logique que l'académie */
.mobile-menu_wrapper .offcanvas-bottom {
    margin-top: auto;
    margin-bottom: 0 !important;
    padding: 0 20px 2px;
}

.mobile-menu_wrapper .offcanvas-bottom .copyright {
    width: 100%;
}

.mobile-menu_wrapper .offcanvas-bottom .copyright span {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 4px;
    background-color: var(--color-ae-anthracite);
    border-radius: 12px;
}

.mobile-menu_wrapper .offcanvas-bottom .copyright span a {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 9px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.2s ease;
}

/* =========================
   MENU MOBILE BOUTIQUE
   typo + sous-menu plus compact
   ========================= */

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation ul.mobile-menu > li > a .mm-text {
    font-size: 18px;
    line-height: 27px;
    font-weight: 500 !important;
}

/* Sous-menu plus compact */
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation .mobile-menu li .sub-menu li a,
.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation .mobile-menu li .sub-menu li a .mm-text {
    font-size: 15px;
    line-height: 17px;
    font-weight: 500 !important;
}

.main-header_area.bckg-ae-beige .mobile-menu_wrapper .offcanvas-navigation .mobile-menu li .sub-menu li a {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.mobile-menu_wrapper .offcanvas-body .inner-body .offcanvas-menu_area .offcanvas-navigation .mobile-menu li:not(:last-child) {
    padding-bottom: 10px;
}

@media (min-width: 1501px) {
    .container.custom-space {
        max-width: calc(100% - 20px);
    }
}

@media (max-width: 767px) {
    .banner-area-16 .banner-item .single-img .inner-content h3.product-offer {
        font-size: 30px;
        line-height: 1.3;
    }
}

.offcanvas-menu_wrapper .offcanvas-body.style-02 .inner-body .offcanvas-wrap .offcanvas-menu_area .offcanvas-navigation ul.mobile-menu li ul.sub-menu li a {
    text-transform: none;
}


.main-header .main-nav > ul > li > ul.skudmart-dropdown {
    z-index: 30;
}