/* =====================================================================
   GymHorse — redesign
   Chargé en dernier dans layout.blade.php : il prime sur l'ancien CSS
   par l'ordre de chargement et la spécificité (préfixe .gh-).
   ===================================================================== */

/* ---------- 1. Charte graphique ---------- */
:root {
    --gh-font: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --gh-text: #111111;
    --gh-bg: #FFFFFF;
    --gh-grey: #F0F0EE;
    --gh-muted: #6E6E6E;
    --gh-muted-2: #555555;
    --gh-border: #EBEBEB;
    --gh-border-2: #D6D6D6;
    --gh-accent: #BFEB14;
    --gh-dark-hover: #2B2B2B;
    --gh-radius-pill: 999px;
    --gh-gutter: 32px;
    --gh-header-h: 64px;
    --gh-tap: 44px;
}

/* ---------- 2. Base ---------- */
body {
    font-family: var(--gh-font);
    color: var(--gh-text);
    background: var(--gh-bg);
    -webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6,
body button, body input, body select, body textarea {
    font-family: var(--gh-font);
}
body h1, body h2, body h3 {
    font-weight: 500;
    letter-spacing: -0.03em;
}

/* style.css colore tous les <nav> en noir (ancien menu) : on neutralise */
nav { background-color: transparent; }

.gh-sr {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.gh-dot-accent { color: var(--gh-accent); }

/* ---------- 3. Boutons ---------- */
.gh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 26px;
    border-radius: var(--gh-radius-pill);
    font-family: var(--gh-font);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.gh-btn--dark { background: var(--gh-text); color: #FFFFFF; border-color: var(--gh-text); }
.gh-btn--dark:hover { background: var(--gh-dark-hover); border-color: var(--gh-dark-hover); color: #FFFFFF; }
.gh-btn--line { background: transparent; color: var(--gh-text); border-color: var(--gh-text); }
.gh-btn--line:hover { background: var(--gh-text); color: #FFFFFF; }
.gh-btn--white { background: #FFFFFF; color: var(--gh-text); border-color: #FFFFFF; }
.gh-btn--white:hover { background: #E9E9E9; border-color: #E9E9E9; color: var(--gh-text); }
.gh-btn--ghost-white { background: transparent; color: #FFFFFF; border-color: #FFFFFF; }
.gh-btn--ghost-white:hover { background: #FFFFFF; color: var(--gh-text); }
.gh-btn--sm { min-height: 44px; padding: 0 22px; font-size: 14px; }

.gh-iconbtn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--gh-tap);
    height: var(--gh-tap);
    padding: 0;
    border: 0;
    background: none;
    color: var(--gh-text);
    cursor: pointer;
    border-radius: 50%;
}
.gh-iconbtn:hover { color: var(--gh-muted-2); }

/* ---------- 4. Bandeau promo ---------- */
.gh-promobar {
    background: var(--gh-text);
    color: #FFFFFF;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    padding: 8px 16px;
}

/* ---------- 5. En-tête ---------- */
.gh-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--gh-bg);
    padding: 0 var(--gh-gutter);
    border-bottom: 1px solid var(--gh-border);
}
.gh-header__bar {
    height: var(--gh-header-h);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;
}
.gh-header__left { display: flex; align-items: center; min-width: 0; }
.gh-header__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}
.gh-logo { display: block; line-height: 0; }
.gh-logo img { height: 40px; width: auto; display: block; }

.gh-burger { display: none; margin-left: -10px; }

/* Navigation principale */
.gh-nav__list {
    display: flex;
    align-items: center;
    gap: 26px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.gh-nav__item { position: static; }
.gh-nav__item > a {
    display: inline-flex;
    align-items: center;
    height: var(--gh-header-h);
    font-size: 14px;
    font-weight: 500;
    color: var(--gh-text);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 1.5px solid transparent;
}
.gh-nav__item > a:hover,
.gh-nav__item:hover > a { border-bottom-color: var(--gh-text); color: var(--gh-text); }

.gh-nav__sub {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px 56px;
    padding: 32px var(--gh-gutter) 40px;
    background: var(--gh-bg);
    border-top: 1px solid var(--gh-border);
    border-bottom: 1px solid var(--gh-border);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
}
.gh-nav__item.has-sub:hover .gh-nav__sub,
.gh-nav__item.has-sub:focus-within .gh-nav__sub { opacity: 1; visibility: visible; }
.gh-nav__col { display: flex; flex-direction: column; gap: 10px; min-width: 140px; }
.gh-header .gh-nav__col a { font-size: 14px; color: var(--gh-muted-2); text-decoration: none; }
.gh-header .gh-nav__col a:hover { color: var(--gh-text); }
.gh-header .gh-nav__col .gh-nav__subtitle { font-size: 15px; font-weight: 500; color: var(--gh-text); }

/* Compteur panier + pastille compte */
.gh-count {
    position: absolute;
    top: 6px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: var(--gh-text);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
}
.gh-dot {
    position: absolute;
    top: 10px;
    right: 9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gh-accent);
}

/* Menus déroulants (compte + mini-panier) */
.gh-account, .gh-cart { position: relative; }
.gh-header .gh-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    z-index: 950;
    width: 300px;
    margin-top: 10px;
    padding: 20px;
    background: var(--gh-bg);
    border: 1px solid var(--gh-border);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease, margin-top .2s ease;
}
.gh-header .gh-account:hover .gh-dropdown,
.gh-header .gh-account:focus-within .gh-dropdown,
.gh-header .gh-cart:hover .gh-dropdown,
.gh-header .gh-cart.force-open .gh-dropdown { opacity: 1; visibility: visible; margin-top: 0; }

.gh-dropdown__title { margin: 0 0 14px; font-size: 14px; color: var(--gh-muted-2); line-height: 1.4; }
.gh-dropdown__btns { display: flex; gap: 8px; margin-bottom: 14px; }
.gh-dropdown__btns .gh-btn { flex: 1; min-height: 44px; padding: 0 12px; font-size: 14px; }
.gh-dropdown__links { display: flex; flex-direction: column; border-top: 1px solid var(--gh-border); padding-top: 6px; }
.gh-dropdown__links a {
    display: flex;
    align-items: center;
    min-height: 40px;
    font-size: 14px;
    color: var(--gh-text);
    text-decoration: none;
}
.gh-dropdown__links a:hover { color: var(--gh-muted-2); }

/* Contenu du mini-panier (markup carts/cart.blade.php, rechargé en AJAX) */
.gh-minicart { width: 340px; }
.gh-minicart .cart_droptitle {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--gh-border);
    font-size: 14px;
}
.gh-minicart .cart_droptitle h4 { margin: 0; font-size: 15px !important; font-weight: 600; color: var(--gh-text) !important; }
.gh-minicart .cartsdrop_wrap { max-height: 320px; overflow-y: auto; }
.gh-minicart .single_cartdrop { display: flex; gap: 12px; padding-right: 24px; margin-bottom: 14px; color: var(--gh-text); }
.gh-minicart .cartdrop_img img { width: 64px; height: 80px; object-fit: cover; object-position: top center; background: var(--gh-grey); border-radius: 6px; }
.gh-minicart .cartdrop_cont { padding-left: 0; font-size: 13px; line-height: 1.4; color: var(--gh-muted-2); }
.gh-minicart .cartdrop_cont h5 { font-size: 14px; font-weight: 500; color: var(--gh-text); margin-bottom: 2px; }
.gh-minicart .cartdrop_cont p { margin: 0; }
.gh-minicart span.remove_cart { top: 0; right: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; }
.gh-minicart .total_cartdrop {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 12px;
    border-top: 1px solid var(--gh-border);
}
.gh-minicart .total_cartdrop h4 { margin: 0; font-size: 15px !important; font-weight: 500; text-transform: none; color: var(--gh-text) !important; }
.gh-minicart .cartdrop_footer { margin-top: 14px !important; }
.gh-minicart .cartdrop_footer .default_btn {
    width: 100% !important;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border-color: var(--gh-text) !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500;
}
.gh-minicart .cart-empty1 { margin: 0; font-size: 14px; color: var(--gh-muted-2); }

/* Bouton panier mobile (tiroir #mobileCart) : masqué sur desktop */
.gh-cart-mobile { display: none; }

/* ---------- 6. Recherche plein écran ---------- */
.mobile_search_bar.gh-search {
    position: fixed;
    inset: 0 0 auto 0;
    height: auto;
    z-index: 1000;
    padding: 0 var(--gh-gutter);
    background: var(--gh-bg);
    border-bottom: 1px solid var(--gh-border);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
}
.gh-search__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    max-width: 960px;
    margin: 0 auto;
}
.gh-search .search-bar { position: relative; flex: 1; display: flex; align-items: center; border-bottom: 1px solid var(--gh-text); }
.gh-search .search-bar input {
    flex: 1;
    min-width: 0;
    height: 52px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 20px;
    color: var(--gh-text);
}
.gh-search .search-bar input:focus { outline: none; }
.gh-search .search-bar button {
    position: static;
    width: var(--gh-tap);
    height: var(--gh-tap);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: none;
    color: var(--gh-text);
}
.gh-search .close_mbsearch { position: static; font-size: inherit; }

/* ---------- 7. Tiroir menu (burger) ---------- */
#mobile_catwrap.gh-drawer {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, .4);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}
#mobile_catwrap.gh-drawer.active { opacity: 1; visibility: visible; }
#mobile_catwrap .gh-drawer__panel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(360px, 88vw);
    height: 100%;
    margin: 0 !important;
    padding: 0 24px 32px;
    overflow-y: auto;
    background: var(--gh-bg);
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible !important;
    transform: translateX(-100%);
    transition: transform .3s ease;
}
#mobile_catwrap.active .gh-drawer__panel { transform: translateX(0); }
#mobile_catwrap .gh-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--gh-header-h);
    margin-bottom: 8px;
    border-bottom: 1px solid var(--gh-border);
    font-size: 14px;
    color: var(--gh-muted);
}
#mobile_catwrap .gh-drawer__head .gh-iconbtn { margin-right: -10px; }
#mobile_catwrap .singlecats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--gh-border);
    background: none;
    color: var(--gh-text);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-decoration: none;
}
#mobile_catwrap .singlecats:hover { background: none; color: var(--gh-text); }
#mobile_catwrap .singlecats > a { color: var(--gh-text); text-decoration: none; flex: 1; min-height: 56px; display: flex; align-items: center; }
#mobile_catwrap .singlecats span.txt { font-size: inherit; padding: 0; color: inherit; text-transform: none; }
#mobile_catwrap .singlecats, #mobile_catwrap .singlecats a { text-transform: none; }
#mobile_catwrap .singlecats .wsicon {
    position: static;
    width: var(--gh-tap);
    height: var(--gh-tap);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: -10px;
    cursor: pointer;
    transform: none;
    transition: transform .2s ease;
}
#mobile_catwrap .singlecats.active .wsicon { transform: rotate(180deg); }
#mobile_catwrap .mega_menu {
    position: static;
    display: none;
    width: 100%;
    padding: 0 0 16px;
    margin: 0;
    background: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
}
#mobile_catwrap .singlecats.active .mega_menu { display: block; }
#mobile_catwrap .single_mega_menu, #mobile_catwrap .mega_menu_wrap { padding: 0; width: 100%; }
#mobile_catwrap .mega_menu_wrap > a,
#mobile_catwrap .mega_categories a {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--gh-muted-2);
    text-decoration: none;
}
#mobile_catwrap .mega_categories { display: block; padding-left: 14px; }
#mobile_catwrap .gh-drawer__foot { display: flex; flex-direction: column; margin-top: 24px; }
#mobile_catwrap .gh-drawer__foot a {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: 15px;
    color: var(--gh-muted-2);
    text-decoration: none;
}

/* Tiroir panier mobile : même logique que le tiroir menu */
#mobileCart.mobile_menwrap { z-index: 1000; }

/* ---------- 8. Pied de page ---------- */
.gh-footer {
    background: var(--gh-grey);
    color: var(--gh-text);
    padding: 64px var(--gh-gutter) 32px;
    font-size: 14px;
    line-height: 1.5;
}
.gh-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
    gap: 40px;
}
.gh-footer__news { display: flex; flex-direction: column; gap: 14px; max-width: 360px; }
.gh-footer__col { display: flex; flex-direction: column; gap: 10px; }
.gh-footer__title { font-size: 14px; font-weight: 500; color: var(--gh-text); }
.gh-footer__news .gh-footer__title { font-size: 18px; }
.gh-footer__col a, .gh-footer__col span:not(.gh-footer__title) {
    color: var(--gh-muted-2);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.gh-footer__col a:hover { color: var(--gh-text); }
.gh-footer__social { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; }
.gh-footer__form {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--gh-text);
}
.gh-footer__form input {
    flex: 1;
    min-width: 0;
    height: 48px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 15px;
    color: var(--gh-text);
}
.gh-footer__form input:focus { outline: none; }
.gh-footer__form button {
    width: var(--gh-tap);
    height: var(--gh-tap);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: none;
    color: var(--gh-text);
    cursor: pointer;
}
.gh-footer #msg:empty { display: none; }
.gh-footer #msg { font-size: 13px; }
.gh-footer__wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: var(--gh-tap);
    color: var(--gh-muted-2);
    text-decoration: none;
}
.gh-footer__wa:hover { color: var(--gh-text); }
.gh-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 56px;
    padding-top: 24px;
    border-top: 1px solid var(--gh-border-2);
    font-size: 13px;
    color: var(--gh-muted-2);
}
.gh-footer__pay { height: 28px; width: auto; max-width: 100%; }
.gh-footer__paytxt { color: var(--gh-text); }

/* Boutons flottants : position harmonisée */
#whatsapp-float { bottom: 24px; }

/* ---------- 9a. Sections & titres communs ---------- */
.gh-pad { padding-left: var(--gh-gutter); padding-right: var(--gh-gutter); }
.gh-section { padding-top: 88px; }
.gh-section--tight { padding-top: 12px; }
.gh-home > .gh-section:last-child { padding-bottom: 96px; }
.gh-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}
body .gh-h2 {
    margin: 0;
    font-size: 32px !important;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--gh-text) !important;
}
.gh-link { font-size: 14px; font-weight: 500; color: var(--gh-text); text-decoration: underline; text-underline-offset: 4px; }
.gh-link:hover { color: var(--gh-muted-2); }
.gh-section__more { display: flex; justify-content: center; margin-top: 32px; }

/* Onglets */
.gh-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.gh-tab {
    height: 40px;
    padding: 0 18px;
    border-radius: var(--gh-radius-pill);
    border: 1px solid var(--gh-border-2);
    background: var(--gh-bg);
    color: var(--gh-text);
    font-family: var(--gh-font);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.gh-tab:hover { border-color: var(--gh-text); }
.gh-tab[aria-selected="true"] { background: var(--gh-text); border-color: var(--gh-text); color: #FFFFFF; }

/* Carrousel horizontal (scroll-snap natif) */
.gh-carousel { position: relative; }
.gh-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.gh-track::-webkit-scrollbar { display: none; }
.gh-slide { flex: 0 0 calc((100% - 36px) / 3.4); min-width: 0; scroll-snap-align: start; display: flex; }
.gh-slide[hidden] { display: none; }
.gh-arrow {
    position: absolute;
    top: calc(50% - 60px);
    z-index: 2;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--gh-text);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
    cursor: pointer;
    transition: opacity .2s ease;
}
.gh-arrow--prev { left: 12px; }
.gh-arrow--next { right: 12px; }
.gh-arrow[disabled] { opacity: 0; pointer-events: none; }

/* ---------- 9b. Carte produit ---------- */
.gh-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    min-width: 0;
    background: none;
    border: 0;
}
.gh-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--gh-grey);
}
.gh-card__media .front,
.gh-card__media .back { position: absolute; inset: 0; display: block; }
.gh-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: top center;
    transition: transform .6s ease, opacity .4s ease;
}
.gh-card__media img.gh-card__placeholder { object-fit: contain; padding: 25%; }
.gh-card__media .back { opacity: 0; transition: opacity .4s ease; }
.gh-card:hover .gh-card__media .back { opacity: 1; }
.gh-card:hover .gh-card__media .front img { transform: scale(1.03); }
.gh-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; }
.gh-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: var(--gh-radius-pill);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: capitalize;
}
.gh-badge--accent { background: var(--gh-accent); color: var(--gh-text); }
.gh-badge--dark { background: var(--gh-text); color: #FFFFFF; }
.gh-badge--muted { background: #FFFFFF; color: var(--gh-muted-2); }
.gh-card__body { display: flex; flex-direction: column; gap: 3px; }
.gh-card__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--gh-text);
    text-decoration: none;
}
.gh-card__name:hover { color: var(--gh-muted-2); }
.gh-card__type { font-size: 14px; line-height: 1.4; color: var(--gh-muted); }
.gh-card__price {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.4;
    color: var(--gh-text);
    white-space: nowrap;
}
.gh-card__price sup { top: 0; font-size: 1em; vertical-align: baseline; }
.gh-card__price del { margin-left: 6px; color: var(--gh-muted); }
.gh-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 28px;
    margin-top: auto;
}
.gh-card .color-variant.bloccolor,
.gh-card .color-variant {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0 0 0 2px;
    list-style: none;
}
.gh-card .color-variant li {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid #C8C8C8;
    box-shadow: none;
    cursor: pointer;
    position: relative;
}
.gh-card .color-variant li::after { content: ""; position: absolute; inset: -12px; }
.gh-card .color-variant li > div { width: 100%; height: 100%; border-radius: 50%; }
.gh-card .color-variant li.active { box-shadow: 0 0 0 1.5px #FFFFFF, 0 0 0 2.5px var(--gh-text); }
.gh-card__add { margin-left: auto; padding: 0 !important; }
.gh-card__add .ti-shopping-carts {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 1px solid var(--gh-border-2) !important;
    border-radius: 50% !important;
    background: var(--gh-bg) !important;
    color: var(--gh-text) !important;
}
.gh-card__add .ti-shopping-carts:hover { background: var(--gh-text) !important; border-color: var(--gh-text) !important; color: #FFFFFF !important; }

/* ---------- 9c. Accueil ---------- */
.gh-hero { position: relative; background: #555555; overflow: hidden; }
.gh-hero__slide { position: relative; height: 760px; }
.gh-hero__img, .gh-hero picture { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.gh-hero__img { object-fit: cover; object-position: center 35%; }
.gh-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.45) 100%); }
.gh-hero__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding-bottom: 64px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    color: #FFFFFF;
}
body .gh-hero__title {
    margin: 0;
    max-width: 759px;
    font-size: 72px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.035em;
    color: #FFFFFF;
}
.gh-hero__text { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.5; }
.gh-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.gh-hero .slick-dots { bottom: 24px; }

.gh-zoom img { transition: transform .6s ease; }
.gh-zoom:hover img { transform: scale(1.03); }

.gh-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gh-tile, .gh-banner {
    position: relative;
    display: block;
    overflow: hidden;
    background: #1A1A1A;
    color: #FFFFFF;
    text-decoration: none;
}
.gh-tile { height: 620px; }
.gh-banner { height: 680px; }
.gh-tile img, .gh-banner img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}
.gh-tile__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.45) 100%); }
.gh-tile__body {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
.gh-tile__title { font-size: 34px; font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; }
.gh-banner__body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 56px;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
}
.gh-banner__kicker { font-size: 14px; }
.gh-banner__title { font-size: 56px; font-weight: 500; line-height: 1; letter-spacing: -0.035em; }
.gh-tile:hover, .gh-banner:hover { color: #FFFFFF; }

.gh-affiche { display: block; overflow: hidden; }
.gh-affiche img { width: 100%; height: auto; display: block; }

.gh-store {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    background: var(--gh-text);
    color: #FFFFFF;
}
.gh-store__media { position: relative; min-height: 720px; overflow: hidden; }
.gh-store__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.gh-store__body {
    padding: 64px 56px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 18px;
}
.gh-store__kicker { font-size: 14px; color: #BDBDBD; }
body .gh-store__title {
    margin: 0;
    font-size: 48px !important;
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: #FFFFFF !important;
}
.gh-store__text { margin: 0; max-width: 420px; font-size: 17px; line-height: 1.55; color: #D6D6D6; }
.gh-store__text a { color: #D6D6D6; }
.gh-store__text a:hover { color: #FFFFFF; }
.gh-store__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.gh-store__points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; max-width: 520px; }
.gh-store__point { display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; }
.gh-store__city { font-size: 13px; color: #BDBDBD; text-transform: uppercase; letter-spacing: 0.08em; }
.gh-store__place { font-size: 20px; font-weight: 500; color: #FFFFFF; line-height: 1.2; }
.gh-store__map { margin-top: 6px; font-size: 14px; color: #D6D6D6; text-decoration: underline; text-underline-offset: 3px; }
.gh-store__map:hover { color: #FFFFFF; }
@media (max-width: 479px) {
    .gh-store__points { grid-template-columns: minmax(0, 1fr); }
    .gh-store__point { padding: 16px; }
}

.gh-perks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.gh-perk {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 28px;
    background: var(--gh-grey);
}
.gh-perk__icon { width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
.gh-perk__body { display: flex; flex-direction: column; gap: 4px; }
.gh-perk__title { font-size: 16px; font-weight: 500; }
.gh-perk__text { font-size: 14px; line-height: 1.45; color: var(--gh-muted-2); }

@media (max-width: 1024px) {
    .gh-slide { flex-basis: calc((100% - 12px) / 2.3); }
    .gh-tile { height: 480px; }
    .gh-banner { height: 560px; }
    .gh-store__media { min-height: 560px; }
    .gh-store__body { padding: 48px 32px; }
    .gh-perks { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 759px) {
    .gh-section { padding-top: 64px; }
    .gh-section--tight { padding-top: 12px; }
    body .gh-h2 { font-size: 26px !important; }
    .gh-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: calc(100% + var(--gh-gutter)); margin-right: calc(-1 * var(--gh-gutter)); padding-right: var(--gh-gutter); }
    .gh-tabs::-webkit-scrollbar { display: none; }
    .gh-tab { flex-shrink: 0; }
    .gh-hero__btns .gh-btn { min-height: 44px; padding: 0 20px; font-size: 14px; }
    .gh-slide { flex-basis: 78%; }
    .gh-arrow { display: none; }
    .gh-hero__slide { height: 620px; }
    body .gh-hero__title { font-size: 44px; }
    .gh-hero__content { padding-bottom: 40px; }
    .gh-trio { grid-template-columns: minmax(0, 1fr); }
    .gh-tile { height: 520px; }
    .gh-banner { height: 560px; }
    body .gh-banner__title { font-size: 40px; }
    .gh-store { grid-template-columns: minmax(0, 1fr); }
    .gh-store__media { min-height: 420px; }
    .gh-store__body { padding: 40px 24px; }
    body .gh-store__title { font-size: 36px !important; }
    .gh-perk { padding: 20px; }
}

/* ---------- 9d. Liste produits (catégories, recherche, promotions, nouveautés) ---------- */
.gh-plp-head { padding-top: 24px; }
.gh-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    background: none;
    font-size: 13px;
    color: var(--gh-muted);
}
.gh-crumbs a { color: var(--gh-muted); text-decoration: none; padding: 0; }
.gh-crumbs a:hover { color: var(--gh-text); }
.gh-crumbs [aria-current] { color: var(--gh-text); }
.gh-plp-head__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
}
body .gh-plp-title {
    margin: 0;
    font-size: 44px;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--gh-text);
}
.gh-plp-head .gh-tab { display: inline-flex; align-items: center; text-decoration: none; }
.gh-plp-head .gh-tab[aria-current="page"] { background: var(--gh-text); border-color: var(--gh-text); color: #FFFFFF; }

.gh-plp { padding-top: 32px; padding-bottom: 96px; }
.gh-shop { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 48px; align-items: start; }
.gh-shop--full { grid-template-columns: minmax(0, 1fr); }

/* Barre latérale de filtres */
.gh-side { position: sticky; top: calc(var(--gh-header-h) + 16px); }
.gh-side .filter_box.gh-side__box {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: auto;
    height: auto;
    padding: 0 !important;
    background: none;
    box-shadow: none;
    border: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    overflow: visible;
}
.gh-side__head { display: none; }
.gh-side .collection-collapse-block,
.gh-side .collection-collapse-block-content { padding: 0; margin: 0; border: 0; }
.gh-filter { display: flex; flex-direction: column; gap: 12px; }
.gh-filter__title { font-size: 14px; font-weight: 500; color: var(--gh-text); }
.gh-filter__list { display: flex; flex-direction: column; }
.gh-check {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    margin: 0;
    font-size: 14px;
    color: var(--gh-text);
    cursor: pointer;
}
.gh-check--sub { padding-left: 26px; color: var(--gh-muted-2); }
.gh-check input {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 0;
    border: 1.5px solid var(--gh-border-2);
    border-radius: 4px;
    background: var(--gh-bg);
    cursor: pointer;
    display: grid;
    place-content: center;
}
.gh-check input:checked { background: var(--gh-text); border-color: var(--gh-text); }
.gh-check input:checked::after {
    content: "";
    width: 8px;
    height: 4px;
    border-left: 1.5px solid #FFFFFF;
    border-bottom: 1.5px solid #FFFFFF;
    transform: rotate(-45deg) translate(1px, -1px);
}
.gh-check input:focus-visible { outline: 2px solid var(--gh-text); outline-offset: 2px; }

.gh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gh-chip { position: relative; margin: 0; cursor: pointer; }
.gh-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gh-chip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--gh-border-2);
    border-radius: 8px;
    font-size: 14px;
    color: var(--gh-text);
    background: var(--gh-bg);
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.gh-chip:hover span { border-color: var(--gh-text); }
.gh-chip input:checked + span { background: var(--gh-text); border-color: var(--gh-text); color: #FFFFFF; }
.gh-chip input:focus-visible + span { outline: 2px solid var(--gh-text); outline-offset: 2px; }

.gh-swatches ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.gh-swatches li {
    position: relative;
    width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    border: 1px solid #C8C8C8;
    cursor: pointer;
    overflow: visible;
}
.gh-swatches li > div { width: 100%; height: 100% !important; border-radius: 50%; }
.gh-swatches li::after { content: ""; position: absolute; inset: -8px; }
.gh-swatches li.active { box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 3.5px var(--gh-text); }

.gh-price { display: flex; align-items: center; gap: 8px; color: var(--gh-muted); }
.gh-price input {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--gh-border-2);
    border-radius: 8px;
    background: var(--gh-bg);
    font-size: 14px;
    color: var(--gh-text);
}
.gh-price input:focus { outline: none; border-color: var(--gh-text); }
.gh-side__reset { align-self: flex-start; }

/* Barre d'outils */
.gh-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.gh-toolbar__filters { display: none; }
.gh-toolbar__count { font-size: 14px; color: var(--gh-muted); }
.gh-toolbar__sort { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--gh-muted); }
.gh-toolbar__sort select {
    height: 44px;
    padding: 0 36px 0 14px;
    border: 1px solid var(--gh-border-2);
    border-radius: var(--gh-radius-pill);
    background: var(--gh-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
    font-family: var(--gh-font);
    font-size: 14px;
    color: var(--gh-text);
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

/* Grille */
#productContainer.gh-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 12px;
    margin: 0;
}
.gh-shop--full #productContainer.gh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gh-grid__item { display: flex; min-width: 0; }
.gh-grid__item[hidden] { display: none; }
.gh-empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 80px 16px;
    background: var(--gh-grey);
    text-align: center;
}
.gh-empty__title { font-size: 18px; font-weight: 500; color: var(--gh-text); }

@media (max-width: 1024px) {
    .gh-shop { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .gh-toolbar__filters { display: inline-flex; }
    .gh-toolbar { flex-wrap: wrap; }
    .gh-toolbar__count { order: 3; width: 100%; }
    #productContainer.gh-grid,
    .gh-shop--full #productContainer.gh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    /* Filtres en tiroir (ouverts par #mobile_filter_btn) */
    .gh-side { position: static; }
    .gh-side .filter_box.gh-side__box {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 1000;
        width: min(360px, 88vw);
        height: 100%;
        padding: 0 24px 32px !important;
        overflow-y: auto;
        background: var(--gh-bg);
        box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .4);
        transform: translateX(-110%);
        visibility: hidden;
        transition: transform .3s ease, visibility .3s ease;
    }
    .gh-side .filter_box.gh-side__box.active { transform: translateX(0); visibility: visible; }
    .gh-side__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: sticky;
        top: 0;
        z-index: 1;
        height: var(--gh-header-h);
        margin: 0 -24px;
        padding: 0 14px 0 24px;
        background: var(--gh-bg);
        border-bottom: 1px solid var(--gh-border);
        font-size: 16px;
        font-weight: 500;
    }
}
@media (max-width: 759px) {
    .gh-plp-head { padding-top: 16px; }
    body .gh-plp-title { font-size: 32px; }
    .gh-plp-head .gh-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: calc(100% + var(--gh-gutter)); margin-right: calc(-1 * var(--gh-gutter)); padding-right: var(--gh-gutter); }
    .gh-plp-head .gh-tabs::-webkit-scrollbar { display: none; }
    .gh-plp-head .gh-tab { flex-shrink: 0; }
    .gh-plp { padding-top: 24px; padding-bottom: 64px; }
    #productContainer.gh-grid,
    .gh-shop--full #productContainer.gh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 8px; }
    .gh-toolbar__sort > span { display: none; }
}

/* ---------- 9e. Fiche produit (markup existant conservé, piloté par scriptfront.js) ---------- */
.gh-crumbs.gh-pdp-crumbs { padding: 24px var(--gh-gutter) 0; }
.gh-pdp.section_detail { padding-top: 24px !important; padding-bottom: 32px !important; margin-top: 0 !important; }
.gh-pdp .pro_details_pos, .gh-pdp .product_detail_slider { margin-top: 0 !important; padding-top: 0 !important; }
.gh-pdp > .container { max-width: none; padding: 0; }
/* Galerie avant le démarrage de slick (qui masque toutes les .slick-slide) : 1re photo et miniatures visibles, pas de saut */
.gh-pdp .style4-slider-big:not(.slick-initialized) > .slick-slide:first-child { display: block; float: none; }
.gh-pdp .style4-slider-small:not(.slick-initialized) { display: flex; overflow: hidden; }
.gh-pdp .style4-slider-small:not(.slick-initialized) > .slick-slide { display: block; float: none; flex: 0 0 25%; }
.gh-pdp .detailproduits { --bs-gutter-x: 56px; margin-left: calc(-.5 * var(--bs-gutter-x)); margin-right: calc(-.5 * var(--bs-gutter-x)); }
.gh-pdp .pt-sm-5 { padding-top: 0 !important; }
.gh-pdp .col-lg-6:first-child { flex: 0 0 auto; width: 58%; }
.gh-pdp .col-lg-6:last-child { flex: 0 0 auto; width: 42%; }

/* Galerie */
.gh-pdp .product_details_sticky { position: sticky; top: calc(var(--gh-header-h) + 16px); }
.gh-pdp .product_detail_img,
.gh-pdp .product_img_top { margin: 0; padding: 0; border: 0; }
.gh-pdp .style4-slider-big .slick-slide a,
.gh-pdp .style4-slider-big .slick-slide a figure {
    display: block;
    margin: 0;
    border: 0;
    border-radius: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background-color: var(--gh-grey);
}
.gh-pdp .style4-slider-big .slick-slide a figure img,
.gh-pdp .style4-slider-big .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.gh-pdp .full-view {
    top: 16px;
    right: 16px;
    bottom: auto;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--gh-text);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
    z-index: 3;
}
.gh-pdp .pro-slider { margin-top: 12px; }
.gh-pdp .pro-detail-slider .slick-list { margin: 0 -6px; }
.gh-pdp .pro-detail-slider .slick-slide { padding: 0 6px; }
.gh-pdp .pro-detail-slider .slick-slide a.product-single__thumbnail {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1.5px solid transparent;
    border-radius: 0;
    background: var(--gh-grey);
}
.gh-pdp .pro-detail-slider .slick-slide a.product-single__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    opacity: .7;
    border: 0;
    transition: opacity .2s ease;
}
.gh-pdp .pro-detail-slider .slick-current a.product-single__thumbnail { border-color: var(--gh-text); }
.gh-pdp .pro-detail-slider .slick-current a.product-single__thumbnail img,
.gh-pdp .pro-detail-slider .slick-slide a.product-single__thumbnail:hover img { opacity: 1; }

/* Informations */
.gh-pdp .product_info_wrapper { padding: 0; }
.gh-pdp .product_base_info { display: flex; flex-direction: column; }
.gh-pdp__kicker { font-size: 14px; color: var(--gh-muted); margin-bottom: 8px; }
body .gh-pdp .product_base_info h1 {
    margin: 0;
    font-size: 36px !important;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-transform: none;
    color: var(--gh-text) !important;
    font-family: var(--gh-font) !important;
}
.gh-pdp .product_other_info {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 20px;
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    font-size: 13px;
    color: var(--gh-muted);
}
.gh-pdp .product_other_info p { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--gh-muted); font-size: 13px; }
.gh-pdp .product_other_info span { color: var(--gh-muted); font-weight: 400; }
.gh-pdp .product_other_info .taille_img { height: 22px; width: auto; max-width: 80px; object-fit: contain; }
.gh-pdp .price.price-detail1 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin: 18px 0 8px !important;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--gh-border);
}
.gh-pdp .price.price-detail1 .org_price {
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 500;
    color: var(--gh-text) !important;
    font-family: var(--gh-font);
}
.gh-pdp .price.price-detail1 .prev_price { font-size: 16px !important; color: var(--gh-muted); text-decoration: line-through; }
.gh-pdp .price.price-detail1 sup { top: 0; font-size: 1em; vertical-align: baseline; }
.gh-pdp .text_econom {
    padding: 4px 10px !important;
    border-radius: var(--gh-radius-pill);
    background: var(--gh-text);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
}

/* Choix couleur / taille (li.attribut gérés par scriptfront.js) */
.gh-pdp .addeffect-section { margin-top: 24px; }
.gh-pdp .addeffect-section h5.product-title {
    margin: 0 0 12px !important;
    font-size: 14px !important;
    font-weight: 500;
    color: var(--gh-text);
    text-transform: none;
}
.gh-pdp .size-box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0 !important;
    list-style: none;
}
.gh-pdp .size-box ul li.attribut {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 44px;
    margin: 0 !important;
    padding: 0 14px;
    border: 1px solid var(--gh-border-2);
    border-radius: 8px;
    background: var(--gh-bg);
    color: var(--gh-text);
    font-size: 14px;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.gh-pdp .size-box ul li.attribut span { color: inherit; font-size: inherit; padding: 0; }
.gh-pdp .size-box ul li.attribut:hover { border-color: var(--gh-text); }
.gh-pdp .size-box ul li.attribut.active { background: var(--gh-text); border-color: var(--gh-text); color: #FFFFFF; }
/* Pastilles couleur (fond inline) */
.gh-pdp .size-box ul li.attribut[style*="background"] {
    min-width: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    border-color: #C8C8C8;
}
.gh-pdp .size-box ul li.attribut[style*="background"].active {
    border-color: #C8C8C8;
    box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 3.5px var(--gh-text);
}
/* Taille épuisée : barrée et non cliquable */
.gh-pdp .size-box ul li.attribut.gh-out {
    color: #B5B5B5;
    border-color: var(--gh-border);
    background: linear-gradient(to top right, transparent calc(50% - .5px), #C8C8C8 calc(50% - .5px), #C8C8C8 calc(50% + .5px), transparent calc(50% + .5px));
    pointer-events: none;
}
.gh-pdp .error-size-box { margin-top: 8px; font-size: 13px; color: #C0392B; }

/* Quantité + boutons */
.gh-pdp .cart_qnty.product_buttons { margin: 28px 0 0 !important; padding: 0 !important; }
.gh-pdp .cart_qnty h5 { margin: 0 0 12px; font-size: 14px !important; font-weight: 500; color: var(--gh-text) !important; }
.gh-pdp .cart_qnty > .d-flex { flex-wrap: wrap; gap: 10px; }
.gh-pdp .cart_qnty_btn,
.gh-pdp .cart_qnty .input-number { height: 52px; }
.gh-pdp .cart_qnty > .d-flex > .cart_qnty_btn:first-child { border-radius: var(--gh-radius-pill) 0 0 var(--gh-radius-pill); border-right: 0; }
.gh-pdp .cart_qnty_btn {
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--gh-border-2);
    background: var(--gh-bg);
    cursor: pointer;
}
.gh-pdp .cart_qnty .input-number {
    width: 48px;
    margin: 0 -10px;
    border: 1px solid var(--gh-border-2);
    border-left: 0;
    border-right: 0;
    text-align: center;
    font-size: 15px;
    -moz-appearance: textfield;
}
.gh-pdp .cart_qnty > .d-flex > .input-number + .cart_qnty_btn { border-radius: 0 var(--gh-radius-pill) var(--gh-radius-pill) 0; border-left: 0; }
.gh-pdp .cart_qnty > .d-flex > .d-flex { flex: 1 1 260px; padding-left: 0 !important; }
.gh-pdp .btnadd { display: flex; flex: 1; gap: 10px; }
.gh-pdp .btnadd a,
.gh-pdp .btnadd button {
    flex: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 52px;
    margin: 0 !important;
    padding: 0 20px !important;
    border-radius: var(--gh-radius-pill) !important;
    font-family: var(--gh-font) !important;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none;
    white-space: nowrap;
}
.gh-pdp .btnadd .addtocart {
    order: -1;
    background: var(--gh-text) !important;
    border: 1.5px solid var(--gh-text) !important;
    color: #FFFFFF !important;
}
.gh-pdp .btnadd .addtocart:hover { background: var(--gh-dark-hover) !important; border-color: var(--gh-dark-hover) !important; }
.gh-pdp .btnadd .addtobuy {
    background: var(--gh-bg) !important;
    border: 1.5px solid var(--gh-text) !important;
    color: var(--gh-text) !important;
}
.gh-pdp .btnadd .addtobuy:hover { background: var(--gh-text) !important; color: #FFFFFF !important; }
.gh-pdp .btnadd .stockepuise {
    background: var(--gh-grey) !important;
    border: 1.5px solid var(--gh-grey) !important;
    color: var(--gh-muted-2) !important;
}
.gh-pdp .alertstock { margin-top: 12px; border-radius: 8px; font-size: 14px; }

.gh-pdp__extra { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
.gh-pdp__wa { width: 100%; min-height: 52px; }
.gh-pdp__ship { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; color: var(--gh-muted-2); }

/* Sections dépliables */
.gh-pdp .pd_dtails { margin-top: 28px; padding-top: 0 !important; border-top: 0 !important; }
.gh-pdp .product_accordion { border-top: 1px solid var(--gh-border); }
.gh-pdp .accordion_item { border: 0; border-bottom: 1px solid var(--gh-border); border-radius: 0; margin: 0; background: none; }
.gh-pdp .accordion_header {
    width: 100%;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--gh-text);
    font-family: var(--gh-font);
    font-size: 15px;
    font-weight: 500;
    text-align: left;
}
.gh-pdp .accordion_title { font-size: 15px; font-weight: 500; }
.gh-pdp .accordion_panel_inner { padding: 0 0 20px; font-size: 14px; line-height: 1.6; color: var(--gh-muted-2); }
.gh-pdp .accordion_panel_inner p { color: var(--gh-muted-2) !important; }
.gh-pdp .size_guide_table { width: 100%; font-size: 13px; border-collapse: collapse; }
.gh-pdp .size_guide_table th,
.gh-pdp .size_guide_table td { padding: 10px 8px; border-bottom: 1px solid var(--gh-border); text-align: left; }
.gh-pdp .size_guide_table th { font-weight: 500; color: var(--gh-text); }

/* Partage */
.gh-pdp .cart_qnty.pt-3 { padding-top: 24px !important; }
.gh-pdp .share_icons { gap: 8px; }
.gh-pdp .share_icons a {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--gh-border-2);
    border-radius: 50%;
    background: var(--gh-bg) !important;
    color: var(--gh-text) !important;
}

/* Produits similaires */
.gh-pdp-related { padding-bottom: 96px; }
.gh-slide--4 { flex-basis: calc((100% - 36px) / 4); }

@media (max-width: 991.98px) {
    .gh-pdp .col-lg-6:first-child,
    .gh-pdp .col-lg-6:last-child { width: 100%; }
    .gh-pdp .product_details_sticky { position: static; }
    .gh-pdp .col-lg-6:last-child { margin-top: 28px; }
    .gh-slide--4 { flex-basis: calc((100% - 12px) / 2.3); }
}
@media (max-width: 759px) {
    .gh-crumbs.gh-pdp-crumbs { padding-top: 16px; }
    .gh-pdp.section_detail { padding-top: 16px !important; }
    .gh-pdp .detailproduits { --bs-gutter-x: 32px; }
    body .gh-pdp .product_base_info h1 { font-size: 28px !important; }
    .gh-pdp .cart_qnty > .d-flex > .d-flex { flex-basis: 100%; }
    .gh-slide--4 { flex-basis: 78%; }
    .gh-pdp-related { padding-bottom: 64px; }
}

/* ---------- 9f. Panier ---------- */
.gh-cartpage { padding-top: 24px; padding-bottom: 96px; }
.gh-cartpage__title { margin: 20px 0 32px !important; }
.gh-cartpage__count { color: var(--gh-muted); font-weight: 400; }
.gh-cartpage .cart_area { padding: 0; }
.gh-cartgrid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; }
.gh-cartgrid .shop_cart_wrap { border-top: 1px solid var(--gh-border); }
.gh-line.single_shop_cart {
    max-width: none;
    width: 100%;
}
.gh-line {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 20px;
    margin: 0 !important;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid var(--gh-border);
    border-radius: 0 !important;
    background: none;
    box-shadow: none;
}
.gh-line__img { aspect-ratio: 4 / 5; overflow: hidden; background: var(--gh-grey); }
.gh-line__img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.gh-line__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gh-line__top { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.gh-line__name { font-size: 16px; font-weight: 500; color: var(--gh-text); }
.gh-line__total { margin: 0; font-size: 16px; font-weight: 500; white-space: nowrap; color: var(--gh-text); }
.gh-line__total sup, .gh-sum sup { top: 0; font-size: 1em; vertical-align: baseline; }
.gh-line__variant { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--gh-muted); }
.gh-line__variant > * { margin: 0 !important; }
.gh-line__unit { font-size: 13px; color: var(--gh-muted); }
.gh-line__alert:empty { display: none; }
.gh-line__alert { font-size: 13px; color: #C0392B; }
.gh-line__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 10px; }
.gh-line__remove { font-size: 14px; color: var(--gh-muted-2); text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }
.gh-line__remove:hover { color: var(--gh-text); }

.gh-qty.cart_qnty {
    display: inline-flex;
    align-items: center;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--gh-border-2);
    border-radius: var(--gh-radius-pill);
    background: var(--gh-bg);
}
.gh-qty .cart_qnty_btn {
    width: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    background: none !important;
    color: var(--gh-text);
    cursor: pointer;
}
.gh-qty .input-number {
    width: 36px;
    height: 100%;
    padding: 0;
    border: 0 !important;
    background: none;
    text-align: center;
    font-size: 15px;
    -moz-appearance: textfield;
    box-shadow: none !important;
}
.gh-qty .input-number::-webkit-outer-spin-button,
.gh-qty .input-number::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.gh-cart__links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.gh-link--muted { color: var(--gh-muted-2); }

.gh-sum.cart_summary {
    max-width: none;
    width: auto;
    margin: 0;
    position: sticky;
    top: calc(var(--gh-header-h) + 16px);
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px;
    border: 0;
    border-radius: 0 !important;
    background: var(--gh-grey);
    box-shadow: none;
}
.gh-sum__title { font-size: 18px; font-weight: 500; margin-bottom: 4px; }
.gh-sum__row { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; }
.gh-sum__row--muted { font-size: 14px; color: var(--gh-muted-2); }
.gh-sum__note { margin: -6px 0 0; font-size: 13px; color: var(--gh-muted); }
.gh-sum__row--total { padding-top: 14px; border-top: 1px solid var(--gh-border-2); font-size: 17px; font-weight: 500; }
.gh-sum .cart_sum_pros { margin: 6px 0 0; padding: 0; }
.gh-sum .cart_sum_pros .gh-sum__cta {
    width: 100%;
    min-height: 52px;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border: 1.5px solid var(--gh-text) !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    text-transform: none;
}
.gh-sum .cart_sum_pros .gh-sum__cta:hover { background: var(--gh-dark-hover) !important; }
.gh-sum__wa { width: 100%; min-height: 52px; background: var(--gh-bg); }
.gh-sum__pay { width: 100%; max-width: 280px; height: auto; margin: 6px auto 0; display: block; }
.gh-sum__paytxt { margin: 6px 0 0; text-align: center; font-size: 13px; color: var(--gh-muted); }
/* Panier : barre « Plus que X TND pour la livraison offerte » (maquette panier-mobile.html) */
.gh-ship { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; background: var(--gh-bg); border-radius: 10px; font-size: 13px; }
.gh-ship__bar { display: block; height: 6px; border-radius: 3px; background: var(--gh-border-2); overflow: hidden; }
.gh-ship__fill { display: block; height: 100%; background: var(--gh-text); transition: width .3s; }
/* Fiche produit : « Taille : Choisissez votre taille » */
.gh-pdp .gh-size-choisie { font-weight: 600; }
/* Commande : réassurance sous « Valider » */
.gh-checkout__reassure { width: 100%; margin: 8px 0 0; text-align: center; font-size: 13px; color: var(--gh-muted); }

.gh-cart-empty { margin-top: 8px; }
.cart-shop > .cart-empty,
.cart-shop > p.cart-empty {
    margin: 0;
    padding: 80px 16px;
    background: var(--gh-grey);
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: var(--gh-text);
}

/* Tiroir panier mobile (carts/cart2.blade.php) */
#mobileCart .mobile_cart_wrap {
    width: min(380px, 90vw);
    background: var(--gh-bg);
}
#mobileCart .mobile_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--gh-header-h);
    margin: 0;
    padding: 0 12px 0 20px;
    background: var(--gh-bg) !important;
    color: var(--gh-text) !important;
    border-bottom: 1px solid var(--gh-border);
    font-size: 16px;
    font-weight: 500;
    text-transform: none;
}
#mobileCart .sidebarclose {
    position: static;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--gh-text);
    font-size: 20px;
    cursor: pointer;
}
#mobileCart .cart_droptitle { border-bottom: 1px solid var(--gh-border); margin-bottom: 14px; padding-bottom: 10px; }
#mobileCart .cart_droptitle h4 { margin: 0; font-size: 14px !important; font-weight: 500; color: var(--gh-muted-2) !important; }
#mobileCart .single_cartdrop { display: flex; gap: 12px; padding-right: 28px; color: var(--gh-text); }
#mobileCart .cartdrop_img img { width: 72px; height: 90px; object-fit: cover; object-position: top center; background: var(--gh-grey); }
#mobileCart .cartdrop_cont { padding-left: 0; font-size: 13px; color: var(--gh-muted-2); }
#mobileCart .cartdrop_cont h5 { font-size: 15px; font-weight: 500; color: var(--gh-text); }
#mobileCart span.remove_cart { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; }
#mobileCart .total_cartdrop { display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--gh-border); }
#mobileCart .total_cartdrop h4 { margin: 0; font-size: 16px !important; font-weight: 500; text-transform: none; color: var(--gh-text) !important; }
#mobileCart .cartdrop_footer .default_btn {
    width: 100% !important;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border-color: var(--gh-text) !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 500;
}

@media (max-width: 1024px) {
    .gh-cartgrid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .gh-sum.cart_summary { position: static; }
}
@media (max-width: 759px) {
    .gh-cartpage { padding-top: 16px; padding-bottom: 64px; }
    .gh-cartpage__title { margin: 16px 0 20px !important; }
    .gh-line { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; }
    .gh-line__top { flex-direction: column; gap: 2px; }
    .gh-sum.cart_summary { padding: 22px; }
}

/* ---------- 9g. Commande (modale #chekoutModal, markup de checkout.blade.php conservé) ---------- */
#chekoutModal .modal-dialog { max-width: 680px; margin: 32px auto; }
#chekoutModal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    font-family: var(--gh-font);
    color: var(--gh-text);
}
#chekoutModal .modal-header {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 18px 24px;
    background: var(--gh-bg);
    border-bottom: 1px solid var(--gh-border);
}
#chekoutModal .modal-title { font-size: 20px; font-weight: 500; letter-spacing: -0.02em; }
#chekoutModal .modal-body { padding: 24px; }
#chekoutModal .billing_form { padding: 0; margin: 0; background: none; box-shadow: none; }
body #chekoutModal .section_title_4 {
    margin: 0 0 12px !important;
    font-size: 16px !important;
    font-weight: 500;
    text-transform: none;
    color: var(--gh-text) !important;
}
#chekoutModal .section_title_4::before, #chekoutModal .section_title_4::after { display: none; }

/* Produits commandés */
#chekoutModal .single_check_order {
    align-items: flex-start;
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--gh-border);
}
#chekoutModal .single_check_order img { aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; background: var(--gh-grey); }
body #chekoutModal .checkorder_cont h4,
body #chekoutModal .checkorder_cont h5,
body #chekoutModal .checkorder_cont h6 { font-size: 14px !important; font-weight: 500; color: var(--gh-text) !important; margin: 0; }
#chekoutModal .color-cart2,
#chekoutModal .size-cart2 { width: 24px; height: 24px; flex: 0 0 24px; margin: 4px 6px 0 0 !important; padding: 0; border-radius: 50%; border: 1px solid #C8C8C8; font-size: 11px; line-height: 22px; text-align: center; }
#chekoutModal .size-cart2 { width: auto; min-width: 32px; padding: 0 6px; border-radius: 6px; background: var(--gh-grey); border-color: var(--gh-border-2); color: var(--gh-text); }
#chekoutModal .checkorder_price { margin: 0; font-size: 14px; font-weight: 500; white-space: nowrap; }

/* Champs */
#chekoutModal label { margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--gh-muted-2); }
#chekoutModal label span { color: var(--gh-muted); }
#chekoutModal input[type="text"],
#chekoutModal input[type="email"],
#chekoutModal input[type="tel"],
#chekoutModal select,
#chekoutModal .nice-select,
#chekoutModal .form-control {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--gh-border-2) !important;
    border-radius: 8px !important;
    background-color: var(--gh-bg);
    box-shadow: none !important;
    font-family: var(--gh-font);
    font-size: 15px;
    color: var(--gh-text);
    line-height: 46px;
}
#chekoutModal input:focus,
#chekoutModal select:focus,
#chekoutModal .nice-select.open { border-color: var(--gh-text) !important; outline: none; }
#chekoutModal .nice-select { float: none; display: flex; align-items: center; }
#chekoutModal .nice-select .list { width: 100%; max-height: 260px; overflow-y: auto; border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,.12); }
#chekoutModal .invalid-feedback:empty { display: none !important; }
#chekoutModal .invalid-feedback { font-size: 12px; margin-top: 4px; }

/* Totaux */
#chekoutModal .subtotal-h,
#chekoutModal .checkorder_cont { flex: 1; }
#chekoutModal .d-flex > .checkorder_cont + .checkorder_price,
#chekoutModal .d-flex .checkorder_price { margin-left: auto; }
body #chekoutModal h4 { font-size: 16px !important; }

/* Code promo */
#chekoutModal #code_promo { flex: 1; }
#chekoutModal #applyPromoBtn {
    flex-shrink: 0;
    height: 48px;
    padding: 0 22px;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border: 0 !important;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 500;
}
#chekoutModal #promoMessage:empty { display: none; }
#chekoutModal #promoMessage { font-size: 13px; }

/* Flocage : mis en avant (option existante) */
#chekoutModal .form-switch,
#chekoutModal .flockage-box,
#chekoutModal #flockage_check { accent-color: var(--gh-text); }
#chekoutModal #flockage_check { cursor: pointer; box-shadow: none; }
#chekoutModal #flockage_check:checked { background-color: var(--gh-text); border-color: var(--gh-text); }
#chekoutModal label[for="flockage_check"] { font-size: 15px; font-weight: 500; color: var(--gh-text); cursor: pointer; }
#chekoutModal label[for="flockage_check"] .badge {
    background: var(--gh-accent) !important;
    color: var(--gh-text) !important;
    border-radius: var(--gh-radius-pill);
    font-weight: 600;
}

/* Paiement */
#chekoutModal .radio-option {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    padding: 14px 16px;
    border: 1px solid var(--gh-border-2);
    border-radius: 10px;
    cursor: pointer;
}
#chekoutModal .radio-option:has(input:checked) { border-color: var(--gh-text); box-shadow: inset 0 0 0 1px var(--gh-text); }
#chekoutModal .radio-option input[type="radio"] { width: 18px; height: 18px; margin: 0 !important; accent-color: var(--gh-text); }
#chekoutModal .radio-option label { margin: 0; font-size: 14px !important; color: var(--gh-text); display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
#chekoutModal .radio-option label img { height: 22px; width: auto; }

/* Valider */
#chekoutModal .modal-footer {
    position: sticky;
    bottom: 0;
    padding: 16px 24px !important;
    background: var(--gh-bg);
    border-top: 1px solid var(--gh-border);
}
#chekoutModal .modal-footer .btn_Valider,
#chekoutModal .modal-footer .default_btn {
    width: 100%;
    min-height: 52px;
    margin: 0;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border: 1.5px solid var(--gh-text) !important;
    color: #FFFFFF !important;
    font-family: var(--gh-font) !important;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none;
}
#chekoutModal .modal-footer .btn_Valider:hover { background: var(--gh-dark-hover) !important; }

@media (max-width: 575.98px) {
    #chekoutModal .modal-dialog { max-width: none; margin: 0; min-height: 100%; }
    #chekoutModal .modal-content { min-height: 100vh; border-radius: 0; }
    #chekoutModal .modal-body { padding: 20px 16px; }
    #chekoutModal .modal-header, #chekoutModal .modal-footer { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ---------- 9h. Confirmation de commande (orders/valider) ---------- */
.gh-confirm { padding-top: 64px; padding-bottom: 96px; }
.gh-confirm__inner { max-width: 880px; margin: 0 auto; }
.gh-confirm__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; margin-bottom: 48px; }
.gh-confirm__icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gh-accent);
    color: var(--gh-text);
}
body .gh-confirm__title { margin: 0; font-size: 44px !important; font-weight: 500; line-height: 1.05; letter-spacing: -0.035em; color: var(--gh-text) !important; }
.gh-confirm__text { margin: 0; max-width: 520px; font-size: 16px; line-height: 1.55; color: var(--gh-muted-2); }
.gh-confirm__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }

.gh-confirm .order-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
    background: var(--gh-border);
    border: 1px solid var(--gh-border);
}
.gh-confirm .order-details li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 18px 20px;
    border: 0;
    background: var(--gh-bg);
    font-size: 13px;
    color: var(--gh-muted);
}
.gh-confirm .order-details li strong { font-size: 15px; font-weight: 500; color: var(--gh-text); }
.gh-confirm .order-details sup { top: 0; font-size: 1em; vertical-align: baseline; }
body .gh-confirm h2.order-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 16px;
    font-size: 22px !important;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--gh-text) !important;
}
.gh-confirm h2.order-title .view {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--gh-border-2);
    border-radius: 50%;
    color: var(--gh-text);
    font-size: 20px;
}
.gh-confirm .order_table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gh-confirm .order_table th,
.gh-confirm .order_table td { padding: 14px 10px; border: 0; border-bottom: 1px solid var(--gh-border); text-align: left; vertical-align: middle; background: none; }
.gh-confirm .order_table thead th { font-size: 13px; font-weight: 500; color: var(--gh-muted); }
.gh-confirm .order_table td img { height: 64px !important; width: 52px; object-fit: cover; object-position: top center; background: var(--gh-grey); }
.gh-confirm .order_table sup { top: 0; font-size: 1em; vertical-align: baseline; }
.gh-confirm .order_table tfoot th { font-weight: 400; color: var(--gh-muted-2); }
.gh-confirm .order_table .order_total { background: none !important; }
.gh-confirm .order_table .order_total strong { font-size: 17px !important; font-weight: 500 !important; }
.gh-confirm .order_table .alert { margin: 0; border: 0; border-radius: 8px; }

@media (max-width: 759px) {
    .gh-confirm { padding-top: 40px; padding-bottom: 64px; }
    body .gh-confirm__title { font-size: 32px !important; }
    .gh-confirm .order-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 9i. Compte client : connexion / inscription / mot de passe ---------- */
.gh-auth-page .breadcrumbs { display: none; }
.gh-auth-page > .container:has(> .breadcrumbs),
.gh-acc-page > .container:has(> .breadcrumbs) { display: none; }
.gh-auth-page .register_wrap,
.gh-auth-page > .container:not(:first-child) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: calc(100vh - var(--gh-header-h) - 34px);
    max-width: none;
    margin: 0;
    padding: 0 !important;
}
.gh-auth-page .register_wrap::after,
.gh-auth-page > .container:not(:first-child)::after {
    content: "";
    background: #1A1A1A url("../img/accueil/banniere-survetements.jpg") center 30% / cover no-repeat;
    min-height: 100%;
}
.gh-auth-page .register_wrap > .container,
.gh-auth-page > .container:not(:first-child) > .row {
    max-width: none;
    margin: 0;
    padding: 64px var(--gh-gutter);
    display: flex;
    align-items: center;
    justify-content: center;
}
.gh-auth-page .register_wrap > .container > .row { width: 100%; margin: 0; justify-content: center; }
.gh-auth-page .register_wrap .row > [class*="col-"],
.gh-auth-page > .container:not(:first-child) > .row > [class*="col-"] { width: 100%; max-width: 440px; flex: 0 0 auto; padding: 0; margin: 0 auto !important; }
.gh-auth-page .register_form {
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none !important;
}
.gh-authtabs { display: flex; gap: 8px; margin-bottom: 28px; }
.gh-authtabs .gh-tab { display: inline-flex; align-items: center; text-decoration: none; }
.gh-auth-page .title { margin: 0; }
body .gh-auth-page .section_title_4 {
    margin: 0 0 8px !important;
    font-size: 40px !important;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.035em;
    text-transform: none;
    color: var(--gh-text) !important;
}
.gh-auth-page .section_title_4::before,
.gh-auth-page .section_title_4::after { display: none; }
.gh-auth-page p.text_md,
.gh-auth-page .register_form > p { font-size: 15px; color: var(--gh-muted-2); }
.gh-auth-page .bg-google,
.gh-auth-page .btn-goo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-bg) !important;
    border: 1.5px solid var(--gh-border-2) !important;
    color: var(--gh-text) !important;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none !important;
}
.gh-auth-page .bg-google:hover { border-color: var(--gh-text) !important; }
.gh-auth-page .bg-google img { height: 20px; width: auto; }
.gh-auth-page .dif_regway { display: flex; align-items: center; gap: 12px; margin: 20px 0 !important; color: var(--gh-muted); }
.gh-auth-page .dif_regway::before,
.gh-auth-page .dif_regway::after { content: ""; flex: 1; height: 1px; background: var(--gh-border); position: static; }
.gh-auth-page .dif_regway .txt { padding: 0; background: none; font-size: 12px; text-transform: none; letter-spacing: 0; }

/* Champs communs (connexion, inscription, compte) */
.gh-auth-page .single_billing_inp,
.gh-acc-page .single_billing_inp { margin-bottom: 16px; }
.gh-auth-page label,
.gh-acc-page label { margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--gh-muted-2); text-transform: none; }
.gh-auth-page label span,
.gh-acc-page label span { color: var(--gh-muted); }
.gh-auth-page input[type="text"], .gh-auth-page input[type="email"], .gh-auth-page input[type="password"], .gh-auth-page input[type="tel"], .gh-auth-page select, .gh-auth-page .nice-select, .gh-auth-page .form-control,
.gh-acc-page input[type="text"], .gh-acc-page input[type="email"], .gh-acc-page input[type="password"], .gh-acc-page input[type="tel"], .gh-acc-page select, .gh-acc-page .nice-select, .gh-acc-page .form-control {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--gh-border-2) !important;
    border-radius: 8px !important;
    background-color: var(--gh-bg);
    box-shadow: none !important;
    font-family: var(--gh-font);
    font-size: 15px;
    color: var(--gh-text);
    line-height: 46px;
}
.gh-auth-page input:focus, .gh-auth-page select:focus, .gh-auth-page .nice-select.open,
.gh-acc-page input:focus, .gh-acc-page select:focus, .gh-acc-page .nice-select.open { border-color: var(--gh-text) !important; outline: none; }
.gh-auth-page .nice-select, .gh-acc-page .nice-select { float: none; display: flex; align-items: center; }
.gh-auth-page .nice-select .list, .gh-acc-page .nice-select .list { width: 100%; max-height: 260px; overflow-y: auto; }
.gh-auth-page .unmask, .gh-acc-page .unmask { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.gh-auth-page .custom_check label { font-size: 14px; color: var(--gh-text); }
.gh-auth-page a.text-color, .gh-acc-page a.text-color { color: var(--gh-text) !important; text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.gh-auth-page button[type="submit"],
.gh-acc-page button[type="submit"] {
    width: 100%;
    min-height: 52px;
    border-radius: var(--gh-radius-pill) !important;
    background: var(--gh-text) !important;
    border: 1.5px solid var(--gh-text) !important;
    color: #FFFFFF !important;
    font-family: var(--gh-font) !important;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none !important;
}
.gh-auth-page button[type="submit"]:hover,
.gh-acc-page button[type="submit"]:hover { background: var(--gh-dark-hover) !important; }
.gh-auth-page .alert, .gh-acc-page .alert { border: 0; border-radius: 8px; font-size: 14px; }

/* ---------- 9j. Compte client : tableau de bord ---------- */
.gh-acc-page .breadcrumbs { display: none; }
.gh-acc-page > .container:not(:first-child),
.gh-acc-page .my_account_wrap > .container {
    max-width: none;
    padding: 48px var(--gh-gutter) 96px;
}
.gh-acc-page .row > .col-lg-3 { width: 260px; flex: 0 0 auto; }
.gh-acc-page .row > .col-lg-9 { flex: 1 1 0; width: auto; min-width: 0; padding-left: 48px; }
.gh-accnav { position: sticky; top: calc(var(--gh-header-h) + 16px); }
.gh-accnav__hello { display: flex; flex-direction: column; gap: 6px; margin-bottom: 28px; }
.gh-accnav__kicker { font-size: 14px; color: var(--gh-muted); }
.gh-accnav__name { font-size: 32px; font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; }
.gh-accnav__links { display: flex; flex-direction: column; border-top: 1px solid var(--gh-border); }
.gh-accnav__links a {
    display: flex;
    align-items: center;
    min-height: 52px;
    border-bottom: 1px solid var(--gh-border);
    font-size: 15px;
    color: var(--gh-muted-2);
    text-decoration: none;
}
.gh-accnav__links a:hover,
.gh-accnav__links a[aria-current="page"] { color: var(--gh-text); font-weight: 500; }
.gh-accnav__links a[aria-current="page"]::before { content: ""; width: 6px; height: 6px; margin-right: 10px; border-radius: 50%; background: var(--gh-accent); }
.gh-accnav__links .gh-accnav__logout { color: var(--gh-muted); }

.gh-acc-page .acprof_info_wrap,
.gh-acc-page .acorder_wrapper {
    padding: 0 !important;
    border: 0;
    border-radius: 0 !important;
    background: none;
    box-shadow: none !important;
}
body .gh-acc-page .section_title_4 {
    margin: 0 0 24px !important;
    font-size: 28px !important;
    font-weight: 500;
    letter-spacing: -0.03em;
    text-transform: none;
    color: var(--gh-text) !important;
}
.gh-acc-page .section_title_4::before,
.gh-acc-page .section_title_4::after { display: none; }
.gh-acc-page .acorder_wrapper > .shadow_sm,
.gh-acc-page .acorder_wrapper .single_acorder,
.gh-acc-page .acorder_wrapper > .row {
    align-items: center;
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--gh-border);
    border-radius: 0;
    background: none;
    box-shadow: none !important;
}
.gh-acc-page .acorder_wrapper > .shadow_sm:first-child { border-bottom-color: var(--gh-border-2); }
body .gh-acc-page .prorder_txt h5 { margin: 0; font-size: 13px !important; font-weight: 500; color: var(--gh-muted) !important; text-transform: none; }
.gh-acc-page .prorder_txt p,
.gh-acc-page .prorder_txt { font-size: 14px; color: var(--gh-text); }
.gh-acc-page .prorder_txt a,
.gh-acc-page .acorder_wrapper a.default_btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px !important;
    border-radius: var(--gh-radius-pill) !important;
    font-size: 13px !important;
}

@media (max-width: 991.98px) {
    .gh-auth-page .register_wrap,
    .gh-auth-page > .container:not(:first-child) { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .gh-auth-page .register_wrap::after,
    .gh-auth-page > .container:not(:first-child)::after { display: none; }
    .gh-acc-page .row > .col-lg-3,
    .gh-acc-page .row > .col-lg-9 { width: 100%; padding-left: calc(var(--bs-gutter-x) * .5); }
    .gh-accnav { position: static; margin-bottom: 32px; }
    .gh-accnav__links { flex-direction: row; flex-wrap: nowrap; gap: 8px; overflow-x: auto; scrollbar-width: none; border: 0; }
    .gh-accnav__links::-webkit-scrollbar { display: none; }
    .gh-accnav__links a { flex-shrink: 0; min-height: 40px; padding: 0 16px; border: 1px solid var(--gh-border-2); border-radius: var(--gh-radius-pill); font-size: 14px; }
    .gh-accnav__links a[aria-current="page"] { background: var(--gh-text); border-color: var(--gh-text); color: #FFFFFF; }
    .gh-accnav__links a[aria-current="page"]::before { display: none; }
}
@media (max-width: 759px) {
    .gh-auth-page .register_wrap > .container,
    .gh-auth-page > .container:not(:first-child) > .row { padding-top: 32px; padding-bottom: 64px; }
    body .gh-auth-page .section_title_4 { font-size: 32px !important; }
    .gh-acc-page > .container:not(:first-child), .gh-acc-page .my_account_wrap > .container { padding-top: 24px; padding-bottom: 64px; }
    .gh-accnav__name { font-size: 26px; }
}

/* ---------- 9k. Compte : correctifs (police des titres, gouttières des formulaires) ---------- */
body .gh-auth-page .section_title_4,
body .gh-acc-page .section_title_4,
body .gh-auth-page h1, body .gh-auth-page h2,
body .gh-acc-page h1, body .gh-acc-page h2 { font-family: var(--gh-font) !important; }
.gh-auth-page .register_form .row,
.gh-acc-page .acprof_info_wrap .row { margin-left: 0; margin-right: 0; }
.gh-auth-page .register_form .row > *,
.gh-acc-page .acprof_info_wrap form .row > * { padding-left: 0; padding-right: 0; }
.gh-acc-page .acprof_info_wrap form .row { column-gap: 16px; }
.gh-acc-page .acprof_info_wrap form .row > .col-md-6 { flex: 1 1 calc(50% - 8px); width: auto; }
.gh-auth-page .bg-google,
.gh-auth-page .btn-goo { box-shadow: none !important; }
.gh-auth-page .custom_check input + label::before,
.gh-auth-page .check_inp + label::before { border-color: var(--gh-border-2) !important; border-radius: 4px; }
@media (max-width: 759px) {
    .gh-acc-page .acprof_info_wrap form .row > .col-md-6 { flex-basis: 100%; }
}

/* ---------- 9l. Pages simples (contact, contenus, paiement) ---------- */
.gh-page { padding-top: 24px; padding-bottom: 96px; }
.gh-page .container,
.gh-page .container-fluid { max-width: none; padding-left: 0; padding-right: 0; }
.gh-page .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 32px;
    padding: 0;
    background: none;
    font-size: 13px;
}
.gh-page .breadcrumbs a { padding: 0; color: var(--gh-muted); text-transform: none; text-decoration: none; font-size: 13px; }
.gh-page .breadcrumbs a::after, .gh-page .breadcrumbs a::before { display: none; }
.gh-page .breadcrumbs a + a::before { content: "/"; display: inline; margin-right: 8px; color: var(--gh-muted); }
.gh-page .breadcrumbs a.active { color: var(--gh-text); }
.gh-page .section_padding,
.gh-page .contact_form { padding: 0 !important; margin: 0; }
body .gh-page .section_title_3,
body .gh-page .section_title_5,
body .gh-page .title_2 {
    margin: 0 0 20px !important;
    font-family: var(--gh-font) !important;
    font-size: 44px !important;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.035em;
    text-transform: none;
    text-align: left;
    color: var(--gh-text) !important;
}
.gh-page .section_title_3::before, .gh-page .section_title_3::after,
.gh-page .ligne::before, .gh-page .ligne::after { display: none !important; }
.gh-page .about_hiscont { max-width: 759px; }
.gh-page .about_hiscont p,
.gh-page .about_hiscont li { font-size: 16px; line-height: 1.7; color: var(--gh-muted-2) !important; }
.gh-page .about_imgs img { width: 100%; height: auto; object-fit: contain; }

/* Contact */
.gh-page .billing_form,
.gh-page .padding_default { padding: 0 !important; border: 0; background: none; box-shadow: none !important; }
.gh-page .contact_form .row > [class*="col-xl-8"] { padding-right: 48px; }
.gh-page .contact_form .row > [class*="col-xl-4"] .padding_default { padding: 28px !important; background: var(--gh-grey); }
body .gh-page .contact_form [class*="col-xl-4"] .title_2 { font-size: 22px !important; margin-bottom: 16px !important; }
.gh-page p.text_md { font-size: 15px; color: var(--gh-muted-2); }
.gh-page .single_billing_inp { margin-bottom: 16px; }
.gh-page label { margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--gh-muted-2); }
.gh-page input[type="text"], .gh-page input[type="tel"], .gh-page input[type="email"], .gh-page textarea {
    width: 100%;
    padding: 0 14px;
    border: 1px solid var(--gh-border-2) !important;
    border-radius: 8px !important;
    background: var(--gh-bg);
    box-shadow: none !important;
    font-family: var(--gh-font);
    font-size: 15px;
    color: var(--gh-text);
}
.gh-page input[type="text"], .gh-page input[type="tel"], .gh-page input[type="email"] { height: 48px; }
.gh-page textarea { padding-top: 12px; min-height: 140px; }
.gh-page input:focus, .gh-page textarea:focus { border-color: var(--gh-text) !important; outline: none; }
.gh-page button[type="submit"],
.gh-page button[type="reset"] {
    min-height: 52px;
    padding: 0 28px !important;
    margin-right: 8px;
    border-radius: var(--gh-radius-pill) !important;
    font-family: var(--gh-font) !important;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none !important;
}
.gh-page button[type="submit"] { background: var(--gh-text) !important; border: 1.5px solid var(--gh-text) !important; color: #FFFFFF !important; }
.gh-page button[type="reset"] { background: var(--gh-bg) !important; border: 1.5px solid var(--gh-text) !important; color: var(--gh-text) !important; }
.gh-page .footer_contact p { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--gh-muted-2) !important; }
.gh-page .footer_contact .icn { color: var(--gh-text); font-size: 18px; }
.gh-page .map { margin-top: 24px; overflow: hidden; }
.gh-page .alert { border: 0; border-radius: 8px; font-size: 15px; }

@media (max-width: 991.98px) {
    .gh-page .contact_form .row > [class*="col-xl-8"] { padding-right: calc(var(--bs-gutter-x) * .5); }
}
@media (max-width: 759px) {
    .gh-page { padding-top: 16px; padding-bottom: 64px; }
    body .gh-page .section_title_3,
    body .gh-page .section_title_5,
    body .gh-page .title_2 { font-size: 32px !important; }
}

/* ---------- 9. Responsive ---------- */
@media (max-width: 1024px) {
    .gh-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gh-nav__list { gap: 18px; }
}
@media (max-width: 900px) {
    .gh-nav { display: none; }
    .gh-burger { display: inline-flex; }
    .gh-header .gh-account .gh-dropdown { display: none; }
}
@media (max-width: 991.98px) {
    /* Le tiroir #mobileCart n'existe qu'en < 992px (classe d-lg-none) */
    .gh-header .gh-cart { display: none; }
    .gh-cart-mobile { display: inline-flex; }
}
@media (max-width: 759px) {
    :root { --gh-gutter: 16px; --gh-header-h: 56px; }
    .gh-header__bar { gap: 8px; }
    .gh-logo img { height: 32px; }
    .gh-footer { padding-top: 48px; }
    .gh-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .gh-footer__news { max-width: none; }
}

/* ---------- 10. Accueil : alignement exact sur maquette-gymhorse/accueil.html ---------- */
/* Hero */
.gh-hero__shade { background: rgba(0, 0, 0, .38); }
.gh-hero__content { padding: 0 48px 64px; gap: 18px; }
body .gh-hero__title { font-family: var(--gh-font); font-size: 72px; font-weight: 500; line-height: 1; letter-spacing: -0.035em; max-width: 759px; }
.gh-hero__text { margin: 0; max-width: 460px; font-size: 18px; line-height: 1.5; color: #FFFFFF; }
.gh-hero__btns { gap: 12px; margin-top: 8px; }
.gh-hero__btns .gh-btn { height: 48px; min-height: 48px; padding: 0 26px; font-size: 15px; font-weight: 500; }

/* Les nouveautés */
.gh-news .gh-section__head { margin-bottom: 24px; }
body .gh-news .gh-h2 { font-size: 32px !important; letter-spacing: -0.025em; }
.gh-news .gh-tab { height: 40px; padding: 0 18px; font-size: 14px; font-weight: 500; border: 1px solid #D6D6D6; }
.gh-news .gh-tab[aria-selected="true"] { background: #111111; border-color: #111111; color: #FFFFFF; }
.gh-news .gh-card__name { min-height: 0; }

/* Bannière Survêtements */
.gh-banner { height: 680px; background: #1A1A1A; }
.gh-banner img { object-position: center 45%; }
.gh-banner__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, .34); }
.gh-banner__body { bottom: 56px; gap: 14px; }
.gh-banner__kicker { font-size: 14px; }
body .gh-banner__title { font-size: 56px; font-weight: 500; letter-spacing: -0.035em; line-height: 1; }
.gh-banner .gh-btn { height: 48px; min-height: 48px; padding: 0 26px; font-size: 15px; font-weight: 500; }

/* Services sous la boutique */
.gh-home > .gh-services,
.gh-services { padding: 80px 32px; }
.gh-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    max-width: 1376px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.gh-service {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 18px;
    border-top: 1px solid #111111;
}
.gh-service__title { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: #111111; }
.gh-service__text { font-size: 14px; line-height: 1.55; color: #6E6E6E; }

@media (max-width: 1024px) {
    .gh-banner { height: 680px; }
}
@media (max-width: 759px) {
    .gh-hero__slide { height: 620px; }
    .gh-hero__content { padding: 0 16px 64px; }
    body .gh-hero__title { font-size: 44px; }
    .gh-hero__btns .gh-btn { height: 48px; min-height: 48px; padding: 0 26px; font-size: 15px; }
    .gh-news .gh-tabs { flex-wrap: wrap; overflow: visible; width: auto; margin-right: 0; padding-right: 0; }
    .gh-home > .gh-services, .gh-services { padding: 80px 16px; }
    .gh-services__grid { grid-template-columns: minmax(0, 1fr); }
    .gh-home > .gh-news.gh-section { padding-top: 88px; }
    .gh-banner { height: 680px; }
    body .gh-banner__title { font-size: 56px; }
}

/* ---------- 11. Hero : valeurs exactes de maquette-gymhorse/accueil.html, proportion 1440/760 ---------- */
.gh-hero { position: relative; overflow: hidden; background: #555555; width: 100%; }
.gh-hero__slide { position: relative; width: 100%; height: auto; aspect-ratio: 1440 / 760; min-height: 620px; max-height: 92vh; }
.gh-hero__img, .gh-hero picture { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.gh-hero__img { object-fit: cover; object-position: center 35%; -webkit-mask-image: none; mask-image: none; filter: none; }
.gh-hero__shade { position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, 0.38); }
.gh-hero__content { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 0 48px 64px; color: #FFFFFF; display: flex; flex-direction: column; gap: 18px; }
body .gh-hero__title { margin: 0; font-size: 72px; font-weight: 500; line-height: 1; letter-spacing: -0.035em; max-width: 759px; }
.gh-hero__title .gh-dot-accent { color: #BFEB14; }
.gh-hero__text { margin: 0; font-size: 18px; line-height: 1.5; max-width: 460px; }
.gh-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.gh-hero__btns .gh-btn { height: 48px; min-height: 48px; padding: 0 26px; border-radius: 999px; font-size: 15px; font-weight: 500; }
.gh-hero__btns .gh-btn--white { background: #FFFFFF; color: #111111; border-color: #FFFFFF; }
.gh-hero__btns .gh-btn--ghost-white { background: transparent; color: #FFFFFF; border: 1.5px solid #FFFFFF; }

@media (max-width: 759px) {
    .gh-hero__slide { aspect-ratio: auto; height: 620px; }
    body .gh-hero__title { font-size: 44px; }
    .gh-hero__content { padding: 0 16px 48px; }
}

/* ---------- 12. Bannières Homme / Femme / Enfant : cases portrait 900/1240 (maquette) ---------- */
.gh-home > .gh-univers.gh-section, .gh-univers.gh-section { padding: 96px 32px 0; }
.gh-univers .gh-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gh-univers .gh-tile { position: relative; display: block; overflow: hidden; background: #1A1A1A; aspect-ratio: 900 / 1240; height: auto; }
.gh-univers .gh-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.gh-univers .gh-tile__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.22); }
.gh-univers .gh-tile__body { position: absolute; left: 28px; right: 28px; bottom: 28px; display: flex; flex-direction: column; align-items: stretch; gap: 12px; color: #FFFFFF; }
.gh-univers .gh-tile__title { font-size: 34px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.05; }
.gh-univers .gh-tile__text { font-size: 16px; }
.gh-univers .gh-tile__body .gh-btn { align-self: flex-start; height: 44px; min-height: 44px; padding: 0 22px; border-radius: 999px; background: #FFFFFF; color: #111111; border-color: #FFFFFF; font-size: 14px; font-weight: 500; }

@media (max-width: 759px) {
    .gh-home > .gh-univers.gh-section, .gh-univers.gh-section { padding: 96px 16px 0; }
    .gh-univers .gh-trio { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 13. Bannière Survêtements : la case garde le format de la photo (2576/1431), plus de hauteur fixe ---------- */
.gh-banner { width: 100%; height: auto; aspect-ratio: 2576 / 1431; max-height: 92vh; }
.gh-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
@media (max-width: 759px) {
    .gh-banner { aspect-ratio: auto; height: 520px; }
}
.gh-card__media img.gh-card__placeholder { object-position: center; }

/* ---------- 14. Mobile (< 760px) : en-tête et hero ---------- */
.gh-hero__genres { display: contents; }   /* desktop : les boutons restent sur la même ligne que « Acheter maintenant » */

@media (max-width: 759px) {
    /* En-tête : burger | logo centré | recherche + panier (marge 12px gérée par la barre) */
    .gh-header { padding: 0; }
    .gh-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 60px; padding: 0 8px; gap: 0; }
    .gh-header__left { justify-content: flex-start; }
    .gh-burger { width: 44px; height: 44px; margin-left: 0; }
    .gh-logo { justify-self: center; }
    .gh-logo img { height: 28px; }
    .gh-header__right { justify-content: flex-end; gap: 0; }
    .gh-header__right .gh-iconbtn { width: 44px; height: 44px; }
    .gh-header .gh-account { display: none; }   /* « Mon compte » est dans le menu burger */

    /* Hero */
    .gh-hero__slide { aspect-ratio: auto; height: 600px; min-height: 0; max-height: none; }
    .gh-hero__img { object-fit: cover; object-position: center top; }
    .gh-hero__shade { background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.65) 100%); }
    .gh-hero__content { padding: 0 20px 28px; gap: 12px; }
    body .gh-hero__title { font-size: 38px; line-height: 1.05; letter-spacing: -0.03em; max-width: 300px; }
    .gh-hero__text { display: none; }
    .gh-hero__btns { flex-direction: column; flex-wrap: nowrap; gap: 8px; margin-top: 4px; }
    .gh-hero__btns .gh-btn--white { width: 100%; height: 50px; min-height: 50px; justify-content: center; font-size: 15px; }
    .gh-hero__genres { display: flex; gap: 8px; }
    .gh-hero__genres .gh-btn { flex: 1 1 0; min-width: 0; height: 42px; min-height: 42px; padding: 0; font-size: 14px; justify-content: center; }
    .gh-hero.banner_slider ul.slick-dots { bottom: 8px; }   /* sous les boutons, plus dessus (écrase style.css) */
}

/* ---------- 15. Mobile (< 760px) : maquette-gymhorse/maquette-mobile/ ---------- */
/* 15.1 Menu burger (accueil-mobile.html) */
#mobile_catwrap .gh-drawer__logo,
#mobile_catwrap .gh-drawer__mfoot { display: none; }

@media (max-width: 759px) {
    .gh-header { border-bottom-color: #EBEBEB; }
    .gh-header .gh-count { top: 6px; right: 4px; }

    #mobile_catwrap .gh-drawer__panel { width: 320px; max-width: 100%; padding: 12px 20px 28px; display: flex; flex-direction: column; gap: 4px; }
    #mobile_catwrap .gh-drawer__head { height: 48px; margin-bottom: 12px; border-bottom: 0; }
    #mobile_catwrap .gh-drawer__head .gh-iconbtn { width: 44px; height: 44px; margin-right: -12px; }
    #mobile_catwrap .gh-drawer__label { display: none; }
    #mobile_catwrap .gh-drawer__logo { display: block; height: 26px; width: auto; }

    /* Liens principaux : 20px, trait gris, chevron › ; pas de sous-menu dépliant sur téléphone */
    #mobile_catwrap .singlecats { min-height: 54px; border-bottom: 1px solid #EBEBEB; font-size: 20px; font-weight: 500; letter-spacing: 0; flex-wrap: nowrap; }
    #mobile_catwrap .singlecats > a { min-height: 54px; }
    #mobile_catwrap .singlecats .wsicon,
    #mobile_catwrap .singlecats .mega_menu { display: none !important; }
    #mobile_catwrap .singlecats::after,
    #mobile_catwrap .singlecats.withsub > a::after { content: "›"; font-size: 20px; font-weight: 500; }
    #mobile_catwrap .singlecats.withsub::after { content: none; }
    #mobile_catwrap .singlecats.withsub > a { justify-content: space-between; }
    #mobile_catwrap .gh-drawer__contact,
    #mobile_catwrap .gh-drawer__foot { display: none; }

    #mobile_catwrap .gh-drawer__mfoot { display: flex; flex-direction: column; gap: 4px; margin-top: 20px; font-size: 15px; }
    #mobile_catwrap .gh-drawer__mfoot a { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--gh-text); text-decoration: none; }
    #mobile_catwrap .gh-drawer__mfoot a.gh-drawer__wa { color: #555555; }
}

/* 15.2 Accueil (accueil-mobile.html) */
.gh-hero-m,
.gh-news__all,
.gh-footer__macc,
.gh-footer__country { display: none; }

@media (max-width: 759px) {
    /* Hero : le slider admin (images avec texte incrusté, .hero_area de style.css en flex !important) est remplacé
       par le bloc .gh-hero-m de la maquette : photo de groupe en haut, bloc noir en dessous */
    body .gh-hero { display: none !important; }
    body .gh-hero-m { display: flex; flex-direction: column !important; align-items: stretch; width: 100%; background: #111111; color: #FFFFFF; }
    body .gh-hero-m__img { display: block; width: 100%; height: auto; aspect-ratio: 1350 / 900; object-fit: cover; object-position: center; max-width: none; }
    body .gh-hero-m__content { width: 100%; box-sizing: border-box; padding: 28px 20px 32px; display: flex; flex-direction: column; gap: 14px; background: #111111; }
    body .gh-hero-m__title { margin: 0; font-family: var(--gh-font); font-size: 38px; font-weight: 500; line-height: 1.04; letter-spacing: -0.03em; color: #FFFFFF; }
    body .gh-hero-m__title .gh-dot-accent { color: #BFEB14; }
    body .gh-hero-m__text { margin: 0; font-size: 15px; line-height: 1.5; color: #CFCFCF; }
    body .gh-hero-m__buy { display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; margin-top: 6px; border-radius: 999px; background: #FFFFFF; color: #111111; font-size: 15px; font-weight: 500; text-decoration: none; }
    body .gh-hero-m__genres { display: flex; gap: 8px; }
    body .gh-hero-m__genres a { flex: 1 1 0; min-width: 0; padding: 0; display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 999px; border: 1.5px solid #FFFFFF; color: #FFFFFF; font-size: 14px; font-weight: 500; text-decoration: none; }

    /* Les nouveautés : titre + Voir tout, onglets défilants, carrousel de cartes 280px */
    body .gh-home > .gh-news.gh-section { padding: 48px 0 0; }
    body .gh-news .gh-section__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 18px 12px; padding: 0 16px; margin-bottom: 18px; }
    body .gh-news .gh-h2 { font-size: 26px !important; letter-spacing: -0.025em; }
    body .gh-news .gh-news__all { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 500; color: #111111; text-decoration: underline; text-underline-offset: 4px; }
    body .gh-news .gh-tabs { order: 3; flex: 0 0 calc(100% + 32px); width: auto; margin: 0 -16px; padding: 0 16px; flex-wrap: nowrap; overflow-x: auto; gap: 8px; scrollbar-width: none; }
    body .gh-news .gh-tabs::-webkit-scrollbar { display: none; }
    body .gh-news .gh-tab { flex: 0 0 auto; height: 38px; padding: 0 16px; font-size: 14px; }
    body .gh-news .gh-track { gap: 10px; padding: 0 16px; scroll-padding-left: 16px; scroll-snap-type: x mandatory; }
    body .gh-news .gh-track::after { content: ""; flex: 0 0 6px; }
    body .gh-news .gh-slide { flex: 0 0 280px; }
    body .gh-news .gh-card { gap: 12px; }
    body .gh-news .gh-card__name { font-size: 15px; }
    body .gh-news .gh-card__type { font-size: 13px; }
    body .gh-news .gh-card__price { font-size: 15px; margin-top: 2px; }

    /* Bannières Homme / Femme / Enfant empilées */
    body .gh-home > .gh-univers.gh-section, body .gh-univers.gh-section { padding: 48px 16px 0; }
    body .gh-univers .gh-trio { gap: 10px; }
    body .gh-univers .gh-tile { aspect-ratio: auto; height: 448px; }
    body .gh-univers .gh-tile__body { left: 20px; right: 20px; bottom: 20px; gap: 10px; }
    body .gh-univers .gh-tile__title { font-size: 30px; }
    body .gh-univers .gh-tile__text { font-size: 15px; }

    /* Bannière Survêtements */
    body .gh-home > .gh-section--tight { padding-top: 10px; }
    body .gh-banner { height: 520px; aspect-ratio: auto; }
    body .gh-banner img { object-position: 46% top; }
    body .gh-banner__body { left: 20px; right: 20px; bottom: 28px; padding: 0; gap: 10px; }
    body .gh-banner__kicker { font-size: 13px; }
    body .gh-banner__title { font-size: 38px !important; }
    body .gh-banner .gh-btn { height: 46px; min-height: 46px; padding: 0 24px; font-size: 14px; margin-top: 4px; }

    /* Boutique : image 380px puis bloc noir, bouton Itinéraire */
    body .gh-store { display: block; }
    body .gh-store__media { min-height: 0; height: 380px; }
    body .gh-store__body { padding: 28px 20px 32px; gap: 12px; }
    body .gh-store__kicker { font-size: 13px; }
    body .gh-store__title { font-size: 30px !important; line-height: 1.05; letter-spacing: -0.03em; }
    body .gh-store__text { font-size: 15px; }
    body .gh-store__btns { margin-top: 4px; }
    body .gh-store__btns .gh-btn { height: 46px; min-height: 46px; padding: 0 24px; font-size: 14px; }
    body .gh-store__btns .gh-btn--ghost-white { display: none; }

    /* Services empilés */
    body .gh-home > .gh-services, body .gh-services { padding: 48px 16px; }
    body .gh-services__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    body .gh-service { padding-top: 14px; gap: 4px; }
    body .gh-service__title svg { display: none; }
    body .gh-service__text { line-height: 1.5; }

    /* Pied de page : newsletter puis sections dépliables */
    body .gh-footer { padding: 36px 16px 92px; }   /* 28px de la maquette + place pour le bouton WhatsApp flottant */
    body .gh-footer__grid { gap: 24px; }
    body .gh-footer__col,
    body .gh-footer__wa,
    body .gh-footer__pay { display: none; }
    body .gh-footer__news { gap: 12px; }
    body .gh-footer__news .gh-footer__title { font-size: 17px; }
    body .gh-footer__form input { height: 48px; font-size: 16px; }
    body .gh-footer__macc { display: block; margin-top: 24px; border-top: 1px solid #D6D6D6; }
    .gh-footer__macc details { border-bottom: 1px solid #D6D6D6; }
    .gh-footer__macc summary { display: flex; justify-content: space-between; align-items: center; min-height: 52px; font-size: 15px; font-weight: 500; list-style: none; cursor: pointer; }
    .gh-footer__macc summary::-webkit-details-marker { display: none; }
    .gh-footer__plus { font-size: 22px; font-weight: 400; transition: transform .2s; }
    .gh-footer__macc details[open] .gh-footer__plus { transform: rotate(45deg); }
    .gh-footer__mlinks { display: flex; flex-direction: column; padding-bottom: 12px; font-size: 14px; }
    .gh-footer__mlinks a { min-height: 40px; display: flex; align-items: center; color: #555555; text-decoration: none; }
    body .gh-footer__bottom { margin-top: 24px; padding-top: 0; border-top: 0; font-size: 12px; color: #555555; flex-wrap: nowrap; }
    body .gh-footer__country { display: inline; }
    body .gh-footer__bottom:has(.gh-footer__paytxt) { flex-wrap: wrap; row-gap: 8px; }
    body .gh-footer__paytxt { flex-basis: 100%; }

    /* Bouton WhatsApp flottant */
    body #whatsapp-float { right: 16px; bottom: 24px; width: 56px; height: 56px; font-size: 28px; box-shadow: 0 4px 14px rgba(0,0,0,0.18); transition: opacity .2s ease, transform .2s ease; }
    body #whatsapp-float.gh-wa-hidden { opacity: 0; transform: scale(.8); pointer-events: none; }   /* au-dessus d'un bouton : voir layout.blade.php */
}

/* 15.3 Boutique / liste produits (boutique-mobile.html) */
.gh-plp-genres,
.gh-plp-mcount,
.gh-toolbar__mlabel,
.gh-side__handle,
.gh-side__mactions,
.gh-card__type--m { display: none; }
@media (min-width: 760px) {
    .gh-toolbar__n { display: none; }
}

@media (max-width: 759px) {
    /* En-tête de liste : fil d'Ariane 12px, titre 32px, onglets Tout / Homme / Femme / Enfant */
    body .gh-plp-head { padding-top: 20px; }
    body .gh-plp-head .gh-crumbs { font-size: 12px; gap: 6px; color: #6E6E6E; }
    body .gh-plp-head .gh-crumbs a, body .gh-plp-head .gh-crumbs [aria-current] { color: #6E6E6E; }
    body .gh-plp-head__row { margin-top: 6px; gap: 0; }
    body .gh-plp-title { font-size: 32px; line-height: 1; letter-spacing: -0.03em; }
    body .gh-plp-head__row .gh-tabs { display: none; }   /* sous-catégories : dans Filtres > Catégorie */
    body .gh-plp-genres { display: flex; gap: 8px; margin: 16px -16px 0; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
    body .gh-plp-genres::-webkit-scrollbar { display: none; }
    body .gh-plp-genres__tab { flex: 0 0 auto; display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid #D6D6D6; border-radius: 999px; background: #FFFFFF; color: #111111; font-size: 14px; font-weight: 500; text-decoration: none; }
    body .gh-plp-genres__tab[aria-current="page"] { background: #111111; border-color: #111111; color: #FFFFFF; }

    /* Barre collante sous l'en-tête : Filtres (n) | Trier */
    body .gh-plp { padding-top: 16px; padding-bottom: 48px; }
    body .gh-toolbar { position: sticky; top: 60px; z-index: 10; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 -16px; background: #FFFFFF; border-top: 1px solid #EBEBEB; border-bottom: 1px solid #EBEBEB; }
    body .gh-toolbar:not(:has(.gh-toolbar__filters)) { grid-template-columns: minmax(0, 1fr); }
    body .gh-toolbar__count { display: none; }
    body .gh-toolbar .gh-toolbar__filters { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 50px; min-height: 50px; padding: 0; border: 0; border-right: 1px solid #EBEBEB; border-radius: 0; background: #FFFFFF; color: #111111; font-size: 14px; font-weight: 500; }
    body .gh-toolbar .gh-toolbar__filters svg { width: 18px; height: 18px; }
    body .gh-toolbar__sort { position: relative; display: flex; align-items: center; justify-content: center; height: 50px; margin: 0; color: #111111; font-size: 14px; font-weight: 500; }
    body .gh-toolbar__mlabel { display: inline; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 8px; }
    body .gh-toolbar__sort select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }

    /* Compteur puis grille 2 colonnes */
    body .gh-plp-mcount { display: block; margin: 14px 0; font-size: 13px; color: #6E6E6E; }
    body #productContainer.gh-grid,
    body .gh-shop--full #productContainer.gh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 10px; row-gap: 28px; }
    body .gh-plp .gh-card { gap: 10px; }
    body .gh-plp .gh-card__badges { top: 8px; left: 8px; }
    body .gh-plp .gh-badge { padding: 3px 8px; font-size: 11px; }
    body .gh-plp .gh-card__body { gap: 2px; }
    body .gh-plp .gh-card__name { min-height: 0; font-size: 14px; line-height: 1.3; }
    body .gh-plp .gh-card__type { font-size: 12px; line-height: 1.4; color: #6E6E6E; }
    body .gh-plp .gh-card__type--m { display: block; }
    body .gh-plp .gh-card__price { margin-top: 2px; font-size: 14px; }
    body .gh-plp .gh-card__foot { min-height: 0; }
    body .gh-plp .gh-card .color-variant { gap: 5px; }
    body .gh-plp .gh-card .color-variant li { width: 12px; height: 12px; }

    /* Filtres : feuille qui monte du bas, poignée grise, coins 18px */
    body .gh-side::before { content: ""; position: fixed; inset: 0; z-index: 999; background: rgba(0, 0, 0, 0.4); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
    body .gh-side:has(.filter_box.active)::before { opacity: 1; visibility: visible; }
    body:has(.gh-side .filter_box.active) { overflow: hidden; }
    body:has(.gh-side .filter_box.active) #whatsapp-float { display: none; }
    body .gh-side .filter_box.gh-side__box { top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: auto; max-height: calc(100% - 80px); padding: 8px 20px 0 !important; gap: 22px; border-radius: 18px 18px 0 0; box-shadow: none; transform: translateY(105%); }
    body .gh-side .filter_box.gh-side__box.active { transform: translateY(0); }
    body .gh-side__head { order: 0; position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 12px; height: auto; margin: 0; padding: 0; border: 0; font-size: 20px; font-weight: 500; }
    body .gh-side__handle { display: block; grid-column: 1 / -1; justify-self: center; width: 40px; height: 4px; border-radius: 2px; background: #D6D6D6; }
    body .gh-side__head .close_filter { width: 44px; height: 44px; margin-right: -12px; }
    body .gh-side .collection-collapse-block { order: 1; }
    body .gh-side .gh-filter--size { order: 2; }
    body .gh-side .gh-filter--color { order: 3; }
    body .gh-side .gh-filter--price { order: 4; }
    body .gh-side .gh-filter { gap: 10px; }
    body .gh-side .gh-filter__title { font-size: 15px; font-weight: 500; }

    /* Catégorie : pilules */
    body .gh-side .gh-filter__list { flex-direction: row; flex-wrap: wrap; gap: 8px; }
    body .gh-side .gh-check { position: relative; min-height: 0; height: 38px; padding: 0 16px; border: 1px solid #D6D6D6; border-radius: 999px; background: #FFFFFF; color: #111111; font-size: 14px; font-weight: 500; }
    body .gh-side .gh-check input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
    body .gh-side .gh-check:has(input:checked) { background: #111111; border-color: #111111; color: #FFFFFF; }
    body .gh-side .gh-check:has(input:focus-visible) { outline: 2px solid #111111; outline-offset: 2px; }

    /* Taille : 6 boutons par ligne */
    body .gh-side .gh-filter--size .gh-chips { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
    body .gh-side .gh-filter--size .gh-chip span { width: 100%; min-width: 0; height: 44px; padding: 0 2px; border-color: #D6D6D6; font-size: 13px; }

    /* Couleur : ronds 34px */
    body .gh-side .gh-swatches ul { gap: 12px; }
    body .gh-side .gh-swatches li { width: 34px; height: 34px; }
    body .gh-side .gh-swatches li::after { inset: -5px; }
    body .gh-side .gh-swatches li.active { box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #111111; }

    /* Effacer | Voir X produits */
    body .gh-side__reset { display: none; }
    body .gh-side__mactions { order: 5; position: sticky; bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 10px; margin-top: 4px; padding: 0 0 calc(20px + env(safe-area-inset-bottom)); background: #FFFFFF; }
    body .gh-side__mactions button { height: 50px; border-radius: 999px; font-family: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
    body .gh-side__mreset { border: 1px solid #111111; background: #FFFFFF; color: #111111; }
    body .gh-side__msee.close_filter { position: static; inset: auto; width: auto; border: 0; background: #111111; color: #FFFFFF; }   /* close_filter : positionné en absolu par style.css */
}

/* ==========================================================================
   SweetAlert2 : thème clair (remplace theme-dark) — fond blanc, Albert Sans, bouton noir arrondi
   ========================================================================== */
div:where(.swal2-container) div:where(.swal2-popup) { background: var(--gh-bg); color: var(--gh-text); font-family: var(--gh-font); border-radius: 16px; }
div:where(.swal2-container) :where(.swal2-title) { color: var(--gh-text); font-weight: 600; }
div:where(.swal2-container) :where(.swal2-html-container) { color: var(--gh-muted-2); }
div:where(.swal2-container) button:where(.swal2-styled) { font-family: var(--gh-font); font-weight: 500; border-radius: var(--gh-radius-pill); padding: 12px 28px; }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) { background-color: var(--gh-text); color: #FFFFFF; }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover { background-color: var(--gh-dark-hover); background-image: none; }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible { box-shadow: 0 0 0 3px rgba(17,17,17,.25); }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) { background-color: var(--gh-grey); color: var(--gh-text); }
