/*
 * Adaptation CodeIgniter du thème Jovenca pour Shine By Luz.
 * Le thème source reste responsable du layout ; ce fichier ne traite que les
 * contrats dynamiques (routes, états, formulaires et composants existants).
 */
:root {
    --sbl-cream: #f9e0c0;
    --sbl-black: #010101;
    --sbl-white: #ffffff;
    --sbl-bg: var(--sbl-white);
    --sbl-surface: var(--sbl-cream);
    --sbl-surface-subtle: #fffaf3;
    --sbl-surface-accent: #e8bb81;
    --sbl-surface-translucent: rgba(249, 224, 192, 0.9);
    --sbl-text: var(--sbl-black);
    --sbl-text-body: #45413d;
    --sbl-text-muted: #66615c;
    --sbl-copy: var(--sbl-text-body);
    --sbl-muted: var(--sbl-text-muted);
    --sbl-border: #d8cfc4;
    --sbl-border-strong: #8a8179;
    --sbl-error: #a62b25;
    --sbl-danger: var(--sbl-error);
    --sbl-success: #246b3b;
    --sbl-warning: #7a5200;
    --sbl-focus: var(--sbl-black);
    --sbl-overlay: rgba(1, 1, 1, 0.62);
    --sbl-disabled-bg: #eee9e2;
    --sbl-disabled-text: #68625c;
    --sbl-z-base: 0;
    --sbl-z-header: 100;
    --sbl-z-dropdown: 300;
    --sbl-z-sticky: 400;
    --sbl-z-panel-backdrop: 700;
    --sbl-z-panel: 710;
    --sbl-z-modal-backdrop: 800;
    --sbl-z-modal: 900;
    --sbl-z-modal-dropdown: 910;
    --sbl-z-popover: 1000;
    --sbl-z-toast: 1100;
    --sbl-z-skip-link: 1200;
    --sbl-motion-fast: 180ms;
    --sbl-motion-base: 260ms;
    --sbl-motion-slow: 420ms;
    --sbl-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Contrats transversaux auparavant injectés dans le <head>. */
.sbl-public .product-card .price {
    white-space: nowrap;
    font-size: 15px;
}

.sbl-public .product-card .discount-original-price {
    color: var(--sbl-text-muted);
    white-space: nowrap;
    font-size: 14px;
}

.sbl-public .btn-cart-remove-mobile {
    display: none;
}

.sbl-public .mega-menu :is(.mega-menu-content, .dropdown-menu-large) {
    max-height: 600px;
    overflow-y: auto;
}

.sbl-public .is-invalid-stars i {
    color: var(--sbl-error);
}

.sbl-public .btn-edit-product {
    position: relative;
    top: -1px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--sbl-text-muted);
    border-radius: 5px;
    font-size: 10px;
}

.sbl-public .profile-actions-shipping a {
    padding: 8px 12px;
}

.sbl-public ::selection {
    color: var(--sbl-cream);
    background: var(--sbl-black);
}

.sbl-public :is(input, textarea) {
    caret-color: var(--sbl-black);
}

.sbl-public {
    scrollbar-color: var(--sbl-border-strong) var(--sbl-surface-subtle);
    scrollbar-width: thin;
}

.sbl-public::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.sbl-public::-webkit-scrollbar-track {
    background: var(--sbl-surface-subtle);
}

.sbl-public::-webkit-scrollbar-thumb {
    background: var(--sbl-border-strong);
    border: 2px solid var(--sbl-surface-subtle);
}

/* LOT 06.6 — fiche bracelet riche dans la composition Shine By Luz. */
.page-product .breadCrumbHeader {
    border-bottom: 1px solid var(--sbl-border);
}

.page-product .productDetailsArea {
    padding: 42px 0 96px;
}

.page-product .sbl-product-main-row {
    align-items: flex-start;
    margin-bottom: 72px;
}

.page-product .col-product-details-left,
.page-product .col-product-details-right {
    min-width: 0;
}

.page-product .col-product-details-left {
    padding-right: 28px;
}

.page-product .col-product-details-right {
    padding-left: 28px;
}

.page-product .product-details-container {
    min-height: 0;
    margin-bottom: 0;
}

.page-product .product-slider-wrapper {
    gap: 16px;
}

.page-product .product-slider-wrapper .slider-for-container {
    aspect-ratio: 1 / 1;
    margin-bottom: 0;
    background: var(--sbl-surface-subtle);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
}

/* Le cadre porte la géométrie ; les packshots restent entiers dans le Swiper. */
.page-product .product-slider-wrapper :is(.product-slider, .product-slider .swiper-wrapper, .product-slider .swiper-slide, .product-slider .swiper-slide > a) {
    width: 100%;
    height: 100%;
}

.page-product .product-slider-wrapper .product-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: block;
    aspect-ratio: auto;
    object-fit: contain;
}

.page-product .product-slider-wrapper .thumb-slider .swiper-slide,
.page-product .product-slider-wrapper .thumb-slider .swiper-slide button,
.page-product .product-slider-wrapper .thumb-slider .swiper-slide img {
    border-radius: 0;
}

.page-product .product-slider-wrapper .thumb-slider .swiper-slide button {
    border: 1px solid var(--sbl-border);
}

.page-product .product-slider-wrapper .thumb-slider .swiper-slide-thumb-active button {
    border-color: var(--sbl-black);
}

.page-product .product-slider-wrapper .thumb-slider .swiper-slide-thumb-active img {
    border-color: transparent;
}

.page-product .sbl-purchase-panel {
    width: 100%;
    padding: 4px 0 0;
}

.page-product .sbl-product-collection,
.page-product .sbl-section-kicker {
    margin: 0 0 10px;
    color: var(--sbl-muted);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.page-product .sbl-product-collection a {
    color: inherit;
    text-decoration: none;
}

.page-product .sbl-product-collection a:hover {
    color: var(--sbl-black);
}

.page-product .product-content-details .product-title {
    max-width: 620px;
    margin: 0;
    color: var(--sbl-black);
    font-size: clamp(34px, 3vw, 50px);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

.page-product .sbl-purchase-reviews {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.page-product .sbl-purchase-reviews .rating {
    display: inline-flex;
    gap: 2px;
}

.page-product .sbl-purchase-reviews .review-text {
    color: var(--sbl-muted);
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page-product .sbl-purchase-price {
    margin: 26px 0 22px;
}

.page-product .sbl-purchase-price .product-price-container {
    min-height: 0;
}

.page-product .sbl-purchase-price .product-price-container .final-price,
.page-product .sbl-purchase-price .product-price .price {
    color: var(--sbl-black);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
}

.page-product .sbl-product-summary {
    max-width: 620px;
    margin: 0 0 24px;
    color: var(--sbl-copy);
    font-size: 17px;
    font-weight: 300;
    line-height: 1.7;
}

.page-product .sbl-purchase-status {
    display: grid;
    gap: 10px;
    margin: 0 0 28px;
    padding: 18px 0;
    border-top: 1px solid var(--sbl-border);
    border-bottom: 1px solid var(--sbl-border);
}

.page-product .sbl-purchase-status > div {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
}

.page-product .sbl-purchase-status :is(dt, dd) {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

.page-product .sbl-purchase-status dt {
    color: var(--sbl-muted);
    font-weight: 400;
}

.page-product .sbl-purchase-status dd {
    color: var(--sbl-black);
    font-weight: 400;
    overflow-wrap: anywhere;
}

.page-product .sbl-availability {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sbl-success);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-product .sbl-availability::before {
    width: 7px;
    height: 7px;
    background: currentColor;
    border-radius: 50%;
    content: "";
}

.page-product .sbl-availability.text-danger,
.page-product .sbl-availability.is-unavailable {
    color: var(--sbl-danger);
}

.page-product .sbl-availability.text-success {
    color: var(--sbl-success);
}

.page-product .sbl-product-configuration .product-options-container {
    margin-bottom: 6px;
}

.page-product .sbl-product-configuration .product-options-container .title-option {
    margin-bottom: 11px;
    color: var(--sbl-black);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.page-product .product-add-to-cart-container {
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--sbl-border);
}

.page-product .product-add-to-cart-container .number-spinner,
.page-product .product-add-to-cart-container .button-container {
    margin-bottom: 0;
}

.page-product .product-add-to-cart-container .button-container {
    flex: 1 1 210px;
    min-width: 0;
}

.page-product .product-add-to-cart-container .button-container-wishlist {
    flex: 0 1 auto;
}

.page-product .product-add-to-cart-container .btn-product-cart {
    min-height: 50px;
    height: 50px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.page-product .product-add-to-cart-container .btn-wishlist {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    color: var(--sbl-black);
    line-height: 1.2;
}

.page-product .product-add-to-cart-container .btn-wishlist i {
    color: currentColor;
    font-size: 24px;
}

.page-product .product-add-to-cart-container .btn-wishlist span {
    top: 0;
    font-size: 13px;
}

.page-product .sbl-product-share {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    color: var(--sbl-muted);
    font-size: 12px;
}

.page-product .sbl-product-share > span {
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-product .sbl-product-share .product-share ul {
    float: none;
}

.page-product .sbl-product-information-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    gap: 56px;
    padding: 64px 0;
    border-top: 1px solid var(--sbl-border);
}

.page-product .sbl-product-information-panel h2,
.page-product .sbl-product-commerce h2,
.page-product .sbl-product-section-heading h2 {
    margin: 0;
    color: var(--sbl-black);
    font-size: clamp(28px, 2.4vw, 38px);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.18;
}

.page-product .sbl-product-editorial-copy {
    max-width: 760px;
    margin-top: 24px;
    color: var(--sbl-copy);
    font-size: 17px;
    line-height: 1.85;
}

.page-product .sbl-product-editorial-copy > :last-child {
    margin-bottom: 0;
}

.page-product .sbl-product-facts {
    padding: 32px;
    background: var(--sbl-surface-subtle);
    border: 1px solid var(--sbl-border);
}

.page-product .sbl-product-facts h2 {
    font-size: 26px;
}

.page-product .sbl-product-facts dl {
    display: grid;
    gap: 0;
    margin: 24px 0 0;
}

.page-product .sbl-product-facts dl > div {
    display: grid;
    grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1fr);
    gap: 18px;
    padding: 13px 0;
    border-top: 1px solid var(--sbl-border);
}

.page-product .sbl-product-facts :is(dt, dd) {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.page-product .sbl-product-facts dt {
    color: var(--sbl-muted);
    font-weight: 400;
}

.page-product .sbl-product-facts dd,
.page-product .sbl-product-facts a {
    color: var(--sbl-black);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.page-product .sbl-product-commerce {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
    gap: 48px;
    padding: 48px;
    background: var(--sbl-surface);
}

.page-product .sbl-product-commerce-content {
    align-self: center;
}

.page-product .sbl-product-commerce-lead {
    margin: 0 0 14px;
    color: var(--sbl-black);
    font-size: 17px;
    line-height: 1.6;
}

.page-product .sbl-product-delivery-location {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.page-product .sbl-product-delivery-result {
    color: var(--sbl-copy);
}

.page-product .sbl-product-location-action {
    color: var(--sbl-black);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.page-product .sbl-product-reviews,
.page-product .sbl-product-related {
    padding-top: 72px;
}

.page-product .sbl-product-section-heading {
    margin-bottom: 30px;
}

.page-product .sbl-product-section-heading h2 span {
    color: var(--sbl-muted);
    font-size: 0.55em;
}

.page-product .sbl-product-reviews .reviews-container {
    padding: 32px;
    background: var(--sbl-white);
    border: 1px solid var(--sbl-border);
}

.page-product .sbl-product-reviews .review-total {
    margin-bottom: 20px;
}

.page-product .sbl-product-reviews .no-comments-found {
    margin: 0;
    color: var(--sbl-muted);
    font-size: 15px;
}

.page-product .sbl-product-related {
    margin-bottom: 72px;
}

.page-product .sbl-product-related .row-product {
    row-gap: 28px;
}

@media (max-width: 1199px) {
    .page-product .col-product-details-left {
        padding-right: 18px;
    }

    .page-product .col-product-details-right {
        padding-left: 18px;
    }

    .page-product .sbl-product-information-grid {
        gap: 36px;
    }
}

@media (max-width: 991px) {
    .page-product .productDetailsArea {
        padding: 28px 0 72px;
    }

    .page-product .sbl-product-main-row {
        margin-bottom: 54px;
    }

    .page-product .col-product-details-left,
    .page-product .col-product-details-right {
        padding-right: 15px;
        padding-left: 15px;
    }

    .page-product .col-product-details-right {
        margin-top: 36px;
    }

    .page-product .sbl-product-information-grid {
        grid-template-columns: 1fr;
        padding: 48px 0;
    }

    .page-product .sbl-product-commerce {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 36px;
    }
}

@media (max-width: 575px) {
    .page-product .productDetailsArea {
        padding: 20px 0 56px;
    }

    .page-product .sbl-product-main-row {
        margin-bottom: 42px;
    }

    .page-product .product-slider-wrapper {
        gap: 10px;
    }

    .page-product .product-content-details .product-title {
        font-size: 34px;
    }

    .page-product .sbl-product-summary {
        font-size: 16px;
    }

    .page-product .sbl-purchase-status > div {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .page-product .product-add-to-cart-container .number-spinner {
        width: 118px;
    }

    .page-product .product-add-to-cart-container .button-container:not(.button-container-wishlist) {
        flex: 1 1 calc(100% - 130px);
    }

    .page-product .product-add-to-cart-container .button-container-wishlist {
        flex-basis: 100%;
    }

    .page-product .sbl-product-information-grid {
        gap: 30px;
        padding: 40px 0;
    }

    .page-product .sbl-product-editorial-copy {
        margin-top: 18px;
        font-size: 16px;
        line-height: 1.75;
    }

    .page-product .sbl-product-facts,
    .page-product .sbl-product-commerce,
    .page-product .sbl-product-reviews .reviews-container {
        padding: 24px 20px;
    }

    .page-product .sbl-product-facts dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .page-product .sbl-product-reviews,
    .page-product .sbl-product-related {
        padding-top: 52px;
    }
}

html,
body.sbl-public {
    max-width: 100%;
    overflow-x: clip;
}

body.sbl-public {
    color: var(--sbl-copy);
    background: var(--sbl-bg);
    font-family: "Jost", sans-serif;
    font-size: 16px;
    font-weight: 300;
    --bs-body-color: var(--sbl-copy);
    --bs-body-bg: var(--sbl-bg);
    --bs-border-color: var(--sbl-border);
    --bs-secondary-color: var(--sbl-muted);
}

.sbl-public .button-link {
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    font: inherit;
}

.sbl-public :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 0;
    box-shadow: 0 0 0 2px var(--sbl-focus);
}

.sbl-public .btn-close:focus {
    outline: 1px solid var(--sbl-focus);
    outline-offset: 3px;
    box-shadow: none;
}

.sbl-public #main-content:focus {
    outline: 0;
}

.sbl-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: var(--sbl-z-skip-link);
    padding: 10px 16px;
    color: var(--sbl-cream);
    background: var(--sbl-black);
    transform: translateY(-160%);
}

.sbl-skip-link:focus-visible {
    color: var(--sbl-cream);
    outline: 0;
    box-shadow: 0 0 0 2px var(--sbl-focus);
    transform: translateY(0);
}

#pageHeader .logo img {
    width: auto;
    max-width: 190px;
    max-height: 78px;
    object-fit: contain;
}

#pageHeader {
    position: relative;
    z-index: var(--sbl-z-header);
    color: var(--sbl-text);
    background: var(--sbl-bg);
}

#pageHeader .phWrapper .phActionsList > li > button {
    color: var(--sbl-text);
    text-transform: capitalize;
}

#pageHeader .phWrapper .phActionsList > li > button:hover {
    color: var(--sbl-muted);
}

#pageHeader .phTopBar .sbl-topbar-action {
    color: var(--sbl-white);
    line-height: inherit;
}

#pageHeader .phTopBar .sbl-topbar-action:hover,
#pageHeader .phTopBar .sbl-topbar-action:focus-visible {
    color: var(--sbl-cream);
}

#pageHeader .phWrapper .sbl-header-location .txt {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#pageHeader .sbl-account-trigger {
    gap: 8px;
}

#pageHeader .sbl-account-avatar {
    width: 28px;
    height: 28px;
    border: 1px solid var(--sbl-border);
    border-radius: 50%;
    object-fit: cover;
}

#pageHeader .sbl-account-menu {
    z-index: var(--sbl-z-dropdown);
    min-width: 220px;
    padding: 8px 0;
    border: 1px solid var(--sbl-border);
    box-shadow: none;
}

#pageHeader .sbl-account-menu > li {
    margin: 0;
}

#pageHeader .sbl-account-menu .dropdown-item {
    width: 100%;
    padding: 10px 18px;
    color: var(--sbl-black);
    background: var(--sbl-white);
    border: 0;
    font: inherit;
    font-weight: 300;
    text-align: left;
}

#pageHeader .sbl-account-menu .dropdown-item:hover,
#pageHeader .sbl-account-menu .dropdown-item:focus-visible {
    color: var(--sbl-black);
    background: var(--sbl-cream);
}

#pageHeader .sbl-account-menu .form-logout {
    margin: 0;
}

#mainNavigation .dropdown-menu {
    display: none;
    z-index: var(--sbl-z-dropdown);
}

#mainNavigation .dropdown:hover > .dropdown-menu,
#mainNavigation .dropdown:focus-within > .dropdown-menu {
    display: block;
}

.theme-panel {
    position: fixed;
    z-index: var(--sbl-z-panel);
    visibility: hidden;
    background: var(--sbl-white);
    transform: translate3d(0, -100%, 0);
    transition: visibility 0.3s ease, transform 0.3s ease;
}

#searchCol {
    height: 100vh;
}

.theme-panel.offcanvas-start {
    transform: translate3d(-100%, 0, 0);
}

.theme-panel.offcanvas-end {
    transform: translate3d(100%, 0, 0);
}

.theme-panel.is-open {
    visibility: visible;
    transform: translate3d(0, 0, 0);
}

.theme-panel-overlay {
    z-index: var(--sbl-z-panel-backdrop);
}

.theme-panel-overlay.is-open {
    display: block;
    opacity: 0.52;
}

body.theme-panel-open {
    overflow: hidden;
}

/* LOT 07.5 — panier synchronisé, lisible et tactile sur toutes les largeurs. */
#cartDrawer {
    top: 0;
    right: 0;
    width: min(440px, 100vw);
    height: 100vh;
    overflow: hidden;
    border-left: 1px solid var(--sbl-border);
}

#cartDrawer .offcanvas-header {
    background: var(--sbl-disabled-bg);
}

#cartDrawer .imgholder {
    width: 88px;
    height: 104px;
    overflow: hidden;
}

#cartDrawer .imgholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#cartDrawer .HDtotal,
#cartDrawer .HDprice,
#cartDrawer .btns {
    color: var(--sbl-black);
    font-size: 18px;
    line-height: 24px;
}

#cartDrawer .cartHding {
    color: var(--sbl-black);
    font-size: 16px;
    line-height: 21px;
    overflow-wrap: anywhere;
}

#cartDrawer .subheading,
#cartDrawer .sbl-mini-cart__collection {
    color: var(--sbl-muted);
    font-size: 12px;
    line-height: 17px;
}

#cartDrawer .offcanvas-body {
    min-height: 0;
    overflow-y: auto;
}

#cartDrawer .sbl-mini-cart__items {
    flex: 1 0 auto;
}

#cartDrawer .sbl-mini-cart__item {
    position: relative;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 40px;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--sbl-border);
}

#cartDrawer .sbl-mini-cart__item:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

#cartDrawer .sbl-mini-cart__details {
    min-width: 0;
}

#cartDrawer .sbl-mini-cart__collection {
    display: block;
    margin-bottom: 3px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#cartDrawer .sbl-mini-cart__price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
}

#cartDrawer .sbl-mini-cart__price strong {
    color: var(--sbl-black);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

#cartDrawer .sbl-mini-cart__remove,
.page-cart-sbl .sbl-cart-line__remove {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--sbl-muted);
    background: transparent;
    border: 0;
}

#cartDrawer .sbl-mini-cart__remove:hover,
.page-cart-sbl .sbl-cart-line__remove:hover {
    color: var(--sbl-black);
}

.sbl-cart-loading {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    color: var(--sbl-muted);
}

[data-cart-line][aria-busy="true"] {
    opacity: 0.58;
    transition: opacity 0.2s ease;
}

[data-cart-line][aria-busy="true"] :is(button, input) {
    cursor: wait;
}

.sbl-configuration {
    display: grid;
    gap: 4px;
    margin: 10px 0 0;
}

.sbl-configuration__item {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 7px;
    margin: 0;
    color: var(--sbl-copy);
    font-size: 13px;
    line-height: 18px;
}

.sbl-configuration__item :is(dt, dd) {
    margin: 0;
}

.sbl-configuration__item dt {
    color: var(--sbl-muted);
    font-weight: 400;
}

.sbl-configuration__item dt::after {
    content: ":";
}

.sbl-configuration__item dd {
    min-width: 0;
    color: var(--sbl-black);
    font-weight: 400;
    overflow-wrap: anywhere;
}

.sbl-configuration__item q {
    quotes: "\201c" "\201d";
}

.sbl-configuration--compact {
    gap: 2px;
    margin-top: 6px;
}

.sbl-configuration--compact .sbl-configuration__item {
    font-size: 12px;
    line-height: 17px;
}

.sbl-configuration--legacy .option-item {
    display: block;
    margin: 0;
}

.page-cart-sbl .sbl-cart-lines {
    border-top: 1px solid var(--sbl-border);
}

.page-cart-sbl .sbl-cart-line {
    display: grid;
    grid-template-areas: "product unit quantity total remove";
    grid-template-columns: minmax(320px, 1fr) 112px 146px 112px 44px;
    align-items: center;
    gap: 16px;
    padding: 24px 0;
    border-bottom: 1px solid var(--sbl-border);
}

.page-cart-sbl .sbl-cart-line__product {
    min-width: 0;
    display: grid;
    grid-area: product;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

.page-cart-sbl .sbl-cart-line__image-link,
.page-cart-sbl .sbl-cart-line__image {
    display: block;
    width: 112px;
    height: 112px;
}

.page-cart-sbl .sbl-cart-line__image {
    object-fit: cover;
}

.page-cart-sbl .sbl-cart-line__details {
    min-width: 0;
}

.page-cart-sbl .sbl-cart-line__collection {
    display: block;
    margin-bottom: 5px;
    color: var(--sbl-muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 16px;
    text-transform: uppercase;
}

.page-cart-sbl .sbl-cart-line__title {
    display: block;
    color: var(--sbl-black);
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.page-cart-sbl .sbl-cart-line__title:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.page-cart-sbl .sbl-cart-line__metric {
    min-width: 0;
}

.page-cart-sbl .sbl-cart-line__unit-price {
    grid-area: unit;
}

.page-cart-sbl .sbl-cart-line__quantity {
    grid-area: quantity;
}

.page-cart-sbl .sbl-cart-line__total {
    grid-area: total;
}

.page-cart-sbl .sbl-cart-line__label {
    display: block;
    margin-bottom: 8px;
    color: var(--sbl-muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 16px;
    text-transform: uppercase;
}

.page-cart-sbl .sbl-cart-line__value {
    color: var(--sbl-black);
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    line-height: 22px;
    white-space: nowrap;
}

.page-cart-sbl .sbl-cart-line__remove {
    grid-area: remove;
}

.page-cart-sbl .sbl-cart-line__remove span {
    display: none;
}

.page-cart-sbl [data-cart-quantity] {
    width: 138px;
    flex-wrap: nowrap;
    border: 1px solid var(--sbl-border);
}

.page-cart-sbl [data-cart-quantity] :is(button, input) {
    min-width: 44px;
    height: 44px;
    padding: 0;
    color: var(--sbl-black);
    background: var(--sbl-white);
    border-radius: 0;
    box-shadow: none;
}

.page-cart-sbl [data-cart-quantity] input {
    min-width: 48px;
    border: 0;
    border-right: 1px solid var(--sbl-border);
    border-left: 1px solid var(--sbl-border);
    font-variant-numeric: tabular-nums;
}

.page-cart-sbl .sbl-cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 24px;
}

.page-cart-sbl .couponform {
    width: min(100%, 360px);
}

.page-cart-sbl .couponform .form-control {
    min-width: 0;
    min-height: 46px;
    border-color: var(--sbl-border);
    border-radius: 0;
}

.page-cart-sbl .sbl-cart-continue {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sbl-black);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
}

.page-cart-sbl .sbl-cart-continue:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.page-cart-sbl .sbl-cart-summary {
    padding: 28px;
    background: var(--sbl-surface-subtle);
    border-top: 1px solid var(--sbl-border);
}

.page-cart-sbl .sbl-cart-summary__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.page-cart-sbl .sbl-cart-summary__row :last-child {
    text-align: right;
}

.page-cart-sbl .sbl-cart-summary__row--muted {
    color: var(--sbl-muted);
    font-size: 13px;
}

.page-cart-sbl .sbl-cart-summary__total {
    margin-top: 18px;
    margin-bottom: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--sbl-border);
}

.page-cart-sbl .sbl-cart-summary__note {
    margin: 12px 0 0;
    color: var(--sbl-muted);
    font-size: 12px;
    line-height: 18px;
    text-align: center;
}

.page-cart-sbl [data-cart-quantity] input:focus-visible,
.page-cart-sbl :is(.sbl-cart-line__remove, .sbl-cart-continue):focus-visible,
#cartDrawer [data-cart-remove]:focus-visible {
    outline: 2px solid var(--sbl-black);
    outline-offset: 2px;
}

@media (min-width: 1200px) {
    .page-cart-sbl .sbl-cart-summary {
        position: sticky;
        top: 110px;
    }
}

@media (max-width: 991px) {
    .page-cart-sbl .sbl-cart-line {
        grid-template-areas:
            "product product product remove"
            "unit quantity total total";
        grid-template-columns: minmax(100px, 1fr) 146px minmax(100px, 1fr) 44px;
        align-items: start;
    }

    .page-cart-sbl .sbl-cart-line__metric {
        padding-top: 4px;
    }

    .page-cart-sbl .sbl-cart-summary {
        margin-top: 42px;
    }
}

@media (max-width: 575px) {
    .page-cart-sbl {
        padding-top: 24px;
        padding-bottom: 56px;
    }

    .page-cart-sbl .mnHding {
        margin-bottom: 30px;
        font-size: 34px;
        line-height: 40px;
    }

    .page-cart-sbl .sbl-cart-line {
        grid-template-areas:
            "product product"
            "quantity quantity"
            "unit total"
            "remove remove";
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px 14px;
        padding: 22px 0;
    }

    .page-cart-sbl .sbl-cart-line__product {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 14px;
    }

    .page-cart-sbl .sbl-cart-line__image-link,
    .page-cart-sbl .sbl-cart-line__image {
        width: 88px;
        height: 104px;
    }

    .page-cart-sbl .sbl-cart-line__title {
        font-size: 16px;
        line-height: 21px;
    }

    .page-cart-sbl .sbl-cart-line__quantity {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .page-cart-sbl .sbl-cart-line__quantity .sbl-cart-line__label {
        margin-bottom: 0;
    }

    .page-cart-sbl .sbl-cart-line__remove {
        width: max-content;
        min-height: 44px;
        justify-content: flex-start;
        gap: 9px;
        color: var(--sbl-muted);
        font-size: 12px;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .page-cart-sbl .sbl-cart-line__remove span {
        display: inline;
    }

    .page-cart-sbl .sbl-cart-actions {
        align-items: stretch;
        flex-direction: column;
        padding-top: 22px;
    }

    .page-cart-sbl .couponform {
        width: 100%;
    }

    .page-cart-sbl .sbl-cart-continue {
        align-self: flex-start;
    }

    .page-cart-sbl .sbl-cart-summary {
        margin-top: 34px;
        padding: 24px 20px;
    }

    #cartDrawer .sbl-mini-cart__item {
        grid-template-columns: 80px minmax(0, 1fr) 40px;
        gap: 12px;
    }

    #cartDrawer .imgholder {
        width: 80px;
        height: 96px;
    }
}

/* Le résumé checkout garde le total lisible face aux titres longs. */
.page-checkout-sbl .sbl-order-line {
    gap: 12px;
}

.page-checkout-sbl .sbl-order-line__product {
    min-width: 0;
    flex: 1 1 auto;
}

.page-checkout-sbl .sbl-order-line__details {
    min-width: 0;
}

.page-checkout-sbl .sbl-order-line__details .tb-heading {
    overflow-wrap: anywhere;
}

.page-checkout-sbl .sbl-order-line__total {
    min-width: max-content;
    flex: 0 0 auto;
    white-space: nowrap;
}

.page-checkout-sbl #payment-button-container.is-ready {
    visibility: visible;
}

.page-checkout-sbl .sbl-payment-submit__icon {
    margin-top: 1px;
}

.page-checkout-sbl .sbl-checkout-feedback {
    margin: 0 0 14px;
    padding: 12px 14px;
    color: var(--sbl-error);
    background: var(--sbl-surface-subtle);
    border: 1px solid var(--sbl-error);
    font-size: 14px;
    line-height: 1.5;
}

.page-checkout-sbl .sbl-checkout-feedback[data-feedback-type="success"] {
    color: var(--sbl-success);
    border-color: var(--sbl-success);
}

.page-checkout-sbl .sbl-checkout-field-error {
    margin: -6px 0 14px;
    color: var(--sbl-error);
    font-size: 13px;
    line-height: 1.5;
}

.page-checkout-sbl .sbl-checkout-recovery {
    display: inline-flex;
    margin: 0 0 18px;
    color: var(--sbl-black);
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page-checkout-sbl [data-checkout-finalize][data-ajax-state="loading"] [data-checkout-submit-label],
.page-checkout-sbl [data-checkout-submit-loading][hidden],
.page-checkout-sbl [data-checkout-field-error][hidden],
.page-checkout-sbl [data-checkout-recovery][hidden] {
    display: none;
}

.page-checkout-sbl [data-checkout-finalize][data-ajax-state="loading"] [data-checkout-submit-loading] {
    display: inline;
}

/* 09.R2 — confirmation de commande, dans le Design System public existant. */
.page-order-confirmation {
    background: var(--sbl-white);
}

.page-order-confirmation .sbl-confirmation {
    padding: 72px 0 96px;
    color: var(--sbl-copy);
}

.page-order-confirmation .sbl-confirmation__hero {
    max-width: 760px;
    margin-bottom: 46px;
}

.page-order-confirmation .sbl-confirmation__mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border: 1px solid var(--sbl-black);
    font-size: 16px;
}

.page-order-confirmation .sbl-confirmation__eyebrow,
.page-order-confirmation .sbl-confirmation-line__collection {
    margin: 0 0 9px;
    color: var(--sbl-muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.page-order-confirmation .sbl-confirmation__hero h1 {
    max-width: 720px;
    margin: 0;
    color: var(--sbl-black);
    font-size: clamp(36px, 4vw, 58px);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.08;
}

.page-order-confirmation .sbl-confirmation__intro {
    max-width: 620px;
    margin: 22px 0 0;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.7;
}

.page-order-confirmation .sbl-confirmation__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 64px;
    border-top: 1px solid var(--sbl-border);
    border-bottom: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__facts > div {
    min-width: 0;
    padding: 22px 20px;
    border-right: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__facts > div:first-child {
    padding-left: 0;
}

.page-order-confirmation .sbl-confirmation__facts > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.page-order-confirmation .sbl-confirmation__facts span,
.page-order-confirmation .sbl-confirmation__facts small {
    display: block;
    color: var(--sbl-muted);
    font-size: 12px;
    line-height: 1.5;
}

.page-order-confirmation .sbl-confirmation__facts strong {
    display: block;
    margin-top: 7px;
    color: var(--sbl-black);
    font-size: 15px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.page-order-confirmation .sbl-confirmation__facts small {
    margin-top: 4px;
}

.page-order-confirmation .sbl-status::before {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    background: var(--sbl-border-strong);
    border-radius: 50%;
    content: "";
}

.page-order-confirmation .sbl-status--pending::before,
.page-order-confirmation .sbl-status--review::before,
.page-order-confirmation .sbl-status--preparing::before {
    background: var(--sbl-warning);
}

.page-order-confirmation .sbl-status--confirmed::before,
.page-order-confirmation .sbl-status--completed::before,
.page-order-confirmation .sbl-status--shipped::before {
    background: var(--sbl-success);
}

.page-order-confirmation .sbl-status--cancelled::before {
    background: var(--sbl-danger);
}

.page-order-confirmation .sbl-confirmation__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 70px;
    align-items: start;
}

.page-order-confirmation .sbl-confirmation__section-heading {
    margin-bottom: 24px;
}

.page-order-confirmation :is(.sbl-confirmation__section-heading, .sbl-confirmation__summary, .sbl-confirmation__next) h2 {
    margin: 0;
    color: var(--sbl-black);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.page-order-confirmation .sbl-confirmation-line {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) 160px;
    gap: 24px;
    padding: 26px 0;
    border-top: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation-line:last-child {
    border-bottom: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation-line__media {
    display: flex;
    width: 132px;
    height: 158px;
    align-items: center;
    justify-content: center;
    color: var(--sbl-muted);
    background: var(--sbl-surface-subtle);
    border: 1px solid var(--sbl-border);
    font-size: 12px;
    letter-spacing: 0.12em;
}

.page-order-confirmation .sbl-confirmation-line__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-order-confirmation .sbl-confirmation-line__content {
    min-width: 0;
    padding-top: 2px;
}

.page-order-confirmation .sbl-confirmation-line__content h3 {
    margin: 0 0 15px;
    color: var(--sbl-black);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.page-order-confirmation .sbl-confirmation-line__configuration {
    display: grid;
    gap: 5px;
    margin: 0;
}

.page-order-confirmation .sbl-confirmation-line__configuration > div,
.page-order-confirmation .sbl-confirmation-line__prices > div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.page-order-confirmation .sbl-confirmation-line__configuration :is(dt, dd),
.page-order-confirmation .sbl-confirmation-line__prices :is(dt, dd) {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}

.page-order-confirmation .sbl-confirmation-line__configuration dt,
.page-order-confirmation .sbl-confirmation-line__prices dt {
    color: var(--sbl-muted);
}

.page-order-confirmation .sbl-confirmation-line__configuration dd,
.page-order-confirmation .sbl-confirmation-line__prices dd {
    color: var(--sbl-black);
    text-align: right;
}

.page-order-confirmation .sbl-confirmation-line__legacy-options {
    margin: 0;
    color: var(--sbl-muted);
    font-size: 13px;
    line-height: 1.6;
}

.page-order-confirmation .sbl-confirmation-line__prices {
    display: grid;
    align-content: start;
    gap: 7px;
    margin: 0;
}

.page-order-confirmation .sbl-confirmation-line__line-total {
    margin-top: 7px;
    padding-top: 10px;
    border-top: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__summary {
    padding: 28px;
    background: var(--sbl-surface-subtle);
    border: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__summary > dl {
    display: grid;
    gap: 13px;
    margin: 26px 0 0;
}

.page-order-confirmation .sbl-confirmation__summary > dl > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.page-order-confirmation .sbl-confirmation__summary :is(dt, dd) {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.page-order-confirmation .sbl-confirmation__summary dd {
    color: var(--sbl-black);
    text-align: right;
    white-space: nowrap;
}

.page-order-confirmation .sbl-confirmation__summary .sbl-confirmation__grand-total {
    margin-top: 9px;
    padding-top: 18px;
    border-top: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__grand-total :is(dt, dd) {
    color: var(--sbl-black);
    font-size: 19px;
    font-weight: 500;
}

.page-order-confirmation .sbl-confirmation__grand-total small {
    display: block;
    margin-top: 2px;
    color: var(--sbl-muted);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
}

.page-order-confirmation .sbl-confirmation__next {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-top: 72px;
    padding: 34px 0;
    border-top: 1px solid var(--sbl-border);
    border-bottom: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-confirmation__next > div:first-child {
    max-width: 650px;
}

.page-order-confirmation .sbl-confirmation__next p:last-child {
    margin: 14px 0 0;
    font-size: 15px;
    line-height: 1.7;
}

.page-order-confirmation .sbl-confirmation__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
}

.page-order-confirmation .sbl-confirmation__actions .btn {
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 0;
}

.page-order-confirmation .sbl-commercial-revision-actions {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--sbl-border);
}

.page-order-confirmation .sbl-commercial-revision-actions > p {
    margin: 0 0 14px;
}

.page-order-confirmation .sbl-commercial-revision-actions form,
.page-order-detail-sbl .sbl-commercial-revision-actions form {
    margin: 0;
}

.page-order-detail-sbl .sbl-commercial-revision-actions {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid var(--sbl-border);
    background: var(--sbl-surface, #fff);
}

.page-order-detail-sbl .sbl-commercial-revision-actions > p {
    margin: 0 0 14px;
}

.page-order-detail-sbl .sbl-commercial-revision-actions .sbl-confirmation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 991px) {
    .page-order-confirmation .sbl-confirmation__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-order-confirmation .sbl-confirmation__facts > div:nth-child(2) {
        border-right: 0;
    }

    .page-order-confirmation .sbl-confirmation__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--sbl-border);
    }

    .page-order-confirmation .sbl-confirmation__facts > div:nth-child(3) {
        padding-left: 0;
    }

    .page-order-confirmation .sbl-confirmation__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }
}

@media (max-width: 767px) {
    .page-order-confirmation .sbl-confirmation {
        padding: 46px 0 72px;
    }

    .page-order-confirmation .sbl-confirmation__hero {
        margin-bottom: 34px;
    }

    .page-order-confirmation .sbl-confirmation__hero h1 {
        font-size: 36px;
    }

    .page-order-confirmation .sbl-confirmation__facts {
        grid-template-columns: minmax(0, 1fr);
        margin-bottom: 48px;
    }

    .page-order-confirmation .sbl-confirmation__facts > div,
    .page-order-confirmation .sbl-confirmation__facts > div:first-child,
    .page-order-confirmation .sbl-confirmation__facts > div:nth-child(3),
    .page-order-confirmation .sbl-confirmation__facts > div:last-child {
        padding: 17px 0;
        border-right: 0;
        border-bottom: 1px solid var(--sbl-border);
    }

    .page-order-confirmation .sbl-confirmation__facts > div:last-child {
        border-bottom: 0;
    }

    .page-order-confirmation .sbl-confirmation-line {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 16px;
    }

    .page-order-confirmation .sbl-confirmation-line__media {
        width: 92px;
        height: 112px;
    }

    .page-order-confirmation .sbl-confirmation-line__prices {
        grid-column: 1 / -1;
        padding-left: 108px;
    }

    .page-order-confirmation .sbl-confirmation__summary {
        padding: 24px 20px;
    }

    .page-order-confirmation .sbl-confirmation__next {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 54px;
    }

    .page-order-confirmation .sbl-confirmation__actions,
    .page-order-confirmation .sbl-confirmation__actions .btn {
        width: 100%;
    }

    .page-order-confirmation .sbl-commercial-revision-actions form,
    .page-order-detail-sbl .sbl-commercial-revision-actions form,
    .page-order-detail-sbl .sbl-commercial-revision-actions .btn {
        width: 100%;
    }
}

@media (max-width: 389px) {
    .page-order-confirmation .sbl-confirmation-line {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .page-order-confirmation .sbl-confirmation-line__media {
        width: 76px;
        height: 94px;
    }

    .page-order-confirmation .sbl-confirmation-line__prices {
        padding-left: 92px;
    }
}

.sidebarMenu .nav-tabs .button-link {
    color: var(--sbl-muted);
    text-transform: uppercase;
}

.sidebarMenu .nav-tabs .button-link.active {
    color: var(--sbl-black);
}

.sidebarMenu .mainmenu .nav-link,
.sidebarMenu .mainmenu button.nav-link {
    width: 100%;
    color: var(--sbl-black);
    text-align: left;
}

.introBlock .ibsColumn .imgHolder img,
.bannerColumn .bcImage,
.sbl-editorial-banner .ibBgImage,
.signupAsideBlock .ibBgImage {
    object-fit: cover;
}

.page-home .introBlock .ibsColumn,
.page-home .introBlock .ibsColumn .imgHolder {
    min-height: clamp(520px, 43vw, 640px);
}

.page-home .introBlock .ibsColumn .imgHolder {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.page-home .introBlock .ibsColumn > .col-md-5 {
    display: flex;
    align-items: center;
}

.page-home .introBlock .ahAlign {
    width: min(100%, 540px);
}

.page-home .introBlock .hhHeadingI {
    max-width: 12ch;
    font-size: clamp(38px, 4.2vw, 68px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.page-home .introBlock .subHeading {
    max-width: 54ch;
    color: var(--sbl-copy);
    font-size: clamp(16px, 1.35vw, 20px);
    line-height: 1.5;
}

.page-home .introBlock picture {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: block;
}

.page-home .introBlock .ibsColumn .imgHolder img {
    height: 100%;
    margin: 0;
    padding: 0;
    display: block;
}

.page-home .sbl-media--hero {
    object-position: 65% 50%;
}

.page-home .sbl-editorial-banner .sbl-story-banner .sbl-media--story {
    z-index: 0;
    object-position: 50% 50%;
}

.page-home .sbl-media--campaign {
    object-position: 72% 50%;
}

.page-home .sbl-media--personalization {
    object-position: 50% 58%;
}

.page-home .sbl-media--collection {
    object-position: 50% 50%;
}

.page-home .introBlock .ibSlickDots {
    bottom: 14px;
    gap: 2px;
}

.page-home .introBlock .ibSlickDots li {
    min-width: 32px;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-home .introBlock .ibSlickDots button {
    transition: background-color var(--sbl-motion-fast) var(--sbl-ease-out), transform var(--sbl-motion-fast) var(--sbl-ease-out);
}

.page-home .introBlock[data-slide-count="1"] .ibSlickDots {
    display: none;
}

.sbl-editorial-banner .ibBgImage,
.signupAsideBlock .ibBgImage,
.bannerColumn .bcImage {
    inset: 0;
}

.signupAsideBlock {
    color: var(--sbl-white);
    background: var(--sbl-black);
    isolation: isolate;
}

.signupAsideBlock .ibBgImage {
    z-index: var(--sbl-z-base);
}

.signupAsideBlock:not(.sbl-newsletter-plain)::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--sbl-overlay);
    content: "";
    pointer-events: none;
}

.sbl-editorial-banner .txtblock,
.signupAsideBlock .newsCol > .container,
.bannerColumn .txt {
    position: relative;
    z-index: 1;
}

.signupAsideBlock .newsCol > .container {
    z-index: 2;
}

.page-home .sbl-story-banner {
    min-height: 480px;
    background: var(--sbl-cream);
}

.page-home .sbl-story-banner .sbl-story-copy {
    z-index: 2;
    width: min(44%, 520px);
    margin-left: auto;
    padding: 80px 7% 80px 24px;
    color: var(--sbl-black);
    background: var(--sbl-surface-translucent);
}

.sbl-editorial-placeholder {
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--sbl-black);
    background:
        radial-gradient(circle at 72% 38%, rgba(1, 1, 1, 0.9) 0 13px, transparent 14px),
        radial-gradient(circle at 78% 46%, rgba(249, 224, 192, 0.95) 0 12px, transparent 13px),
        radial-gradient(circle at 84% 54%, rgba(1, 1, 1, 0.78) 0 11px, transparent 12px),
        linear-gradient(135deg, var(--sbl-surface-subtle) 0%, var(--sbl-cream) 64%, var(--sbl-surface-accent) 100%);
}

.sbl-editorial-placeholder::after {
    position: absolute;
    right: 11%;
    bottom: 13%;
    width: 116px;
    height: 116px;
    content: "";
    border: 1px solid rgba(1, 1, 1, 0.34);
    border-radius: 50%;
}

.sbl-editorial-placeholder--hero,
.sbl-editorial-placeholder--banner {
    min-height: inherit;
}

.sbl-editorial-placeholder--collection {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.introBlock .ibsColumn.bgclr,
.introBlock .ibsColumn.bgclr2,
.introBlock .ibsColumn.bgclr3,
.feedAsideBlock.bgclr {
    background-color: var(--sbl-cream);
}

.badgerIIAsideBlock .babWrapper,
.btnTheme,
.btnThemeOutlined:hover,
.productColumn .pcBtnSubmit:hover,
#pageHeader .phWrapper .phActionsList .phCartBubble {
    color: var(--sbl-cream);
    background-color: var(--sbl-black);
    border-color: var(--sbl-black);
}

.btnTheme:hover,
.btnThemeOutlined {
    color: var(--sbl-black);
    background-color: transparent;
    border-color: var(--sbl-black);
}

.sbl-public :is(.btnTheme, .btnThemeOutlined, .btn-dark, .btn-primary, .btn-outline-dark) {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border-radius: 0;
    font-family: "Jost", sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.sbl-public :is(.btnTheme, .btnThemeOutlined, .btn-dark, .btn-primary, .btn-outline-dark):disabled,
.sbl-public :is(.btnTheme, .btnThemeOutlined, .btn-dark, .btn-primary, .btn-outline-dark)[aria-disabled="true"] {
    opacity: 0.48;
    cursor: not-allowed;
}

.sbl-public .sbl-page-banner {
    color: var(--sbl-black);
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.72), rgba(249, 224, 192, 0.92)),
        var(--sbl-cream);
    border-top: 1px solid rgba(1, 1, 1, 0.08);
    border-bottom: 1px solid rgba(1, 1, 1, 0.08);
}

.page-home .categoriesBlock,
.page-home .collectionBlock,
.page-home .sbl-customize-section,
.page-home .sbl-editorial-banner,
.page-home .blogsBlock,
.page-home .feedAsideBlock {
    padding-top: 88px;
    padding-bottom: 88px;
}

.page-home .headingHead {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
}

/* Les collections s'adaptent au contenu réel sans conserver les colonnes fixes du thème. */
.page-home .sbl-collection-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(168px, 220px));
    justify-content: center;
    gap: 32px;
    margin: 0;
}

.page-home .sbl-collection-grid .chCol {
    width: auto;
    padding: 0;
}

.page-home .sbl-collection-grid .catColumn {
    margin: 0;
}

.page-home .sbl-collection-grid .catColumn .imgHolder {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--sbl-surface-subtle);
}

.page-home .sbl-collection-grid .ctHeading {
    max-width: 100%;
    margin: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.page-home .sbl-collection-grid .imgHolder img,
.page-home .sbl-journal-grid .imgHolder img,
.page-home .sbl-community-grid img {
    transition: transform var(--sbl-motion-base) var(--sbl-ease-out);
}

.page-home .collectionBlock .bannerColumn {
    min-height: 0;
    aspect-ratio: 3 / 4;
    background: var(--sbl-surface-subtle);
}

.page-home .sbl-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 36px 24px;
}

.page-home .sbl-product-grid__item {
    min-width: 0;
    display: flex;
}

.page-home .sbl-new-arrivals-layout[data-product-count="1"] .sbl-product-grid {
    grid-template-columns: minmax(220px, 300px);
    justify-content: center;
}

.page-home .sbl-new-arrivals-layout[data-product-count="2"] .sbl-product-grid {
    grid-template-columns: repeat(2, minmax(220px, 300px));
    justify-content: center;
}

.page-home .sbl-customize-block {
    min-height: 520px;
    background: var(--sbl-surface-subtle);
}

.page-home .sbl-customize-media {
    min-height: 520px;
}

.page-home .sbl-customize-copy {
    width: min(100%, 540px);
    padding: 64px;
}

.page-home .sbl-customize-copy > span,
.page-home .headingHead > span {
    color: var(--sbl-muted);
    font-size: 12px;
    letter-spacing: 0.16em;
}

.page-home .sbl-journal-grid > div {
    display: flex;
}

.page-home .sbl-journal-grid .blogColumn {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.page-home .sbl-journal-grid .imgHolder {
    aspect-ratio: 415 / 276;
    overflow: hidden;
    background: var(--sbl-surface-subtle);
}

.page-home .sbl-journal-grid .imgHolder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-home .sbl-journal-grid .blgHeading {
    overflow-wrap: anywhere;
}

.page-home .sbl-journal-grid .btnLink {
    align-self: flex-start;
    margin-top: auto;
}

.page-home .sbl-community-grid .figColumn {
    aspect-ratio: 1;
    background: var(--sbl-surface-subtle);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) {
    color: var(--sbl-white);
    background: var(--sbl-black);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) :is(.sabHeading, .hhHeading) {
    color: var(--sbl-cream);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) p {
    color: var(--sbl-white);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) .subscribeForm .form-control {
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border-color: var(--sbl-cream);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) .subscribeForm .btnTheme {
    color: var(--sbl-black);
    background: var(--sbl-cream);
    border-color: var(--sbl-cream);
}

.sbl-public :is(.discountAsideBlock, .signupAsideBlock) .subscribeForm .btnTheme:is(:hover, :focus-visible) {
    color: var(--sbl-black);
    background: var(--sbl-white);
    border-color: var(--sbl-white);
}

.page-home .sbl-newsletter-plain .newsCol {
    min-height: 300px;
    padding: 64px 0;
}

.sbl-public .headingHead .btnHeader::before {
    right: -18px;
    content: "→";
    font-family: inherit;
}

.theme-empty-state {
    width: 100%;
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    color: var(--sbl-muted);
    border: 1px solid var(--sbl-border);
    text-align: center;
}

.theme-empty-state.flex-column {
    gap: 18px;
}

.theme-empty-state p {
    margin: 0;
}

.theme-empty-state > i {
    margin-right: 10px;
    color: var(--sbl-black);
    font-size: 22px;
}

.productColumn.product-card {
    height: 100%;
}

.sbl-product-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.sbl-product-card__content {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 4px;
}

.sbl-product-card .product-title {
    min-height: 49px;
    max-height: 49px;
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.35;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sbl-product-card .pcPrice {
    margin-top: auto;
    opacity: 1;
    visibility: visible;
    transform: none;
}

.productColumn .imgHolder > .sbl-product-card__media-link {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
}

.productColumn .imgHolder {
    aspect-ratio: 420 / 470;
    overflow: hidden;
}

.productColumn .imgHolder img {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    aspect-ratio: 1 / 1.12;
    object-fit: cover;
    transition: transform var(--sbl-motion-base) var(--sbl-ease-out);
}

/* Badges commerciaux publics : compacts, contrastés et indépendants des états Admin. */
.sbl-public .sbl-product-card .sbl-product-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 4;
    max-width: calc(100% - 28px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    pointer-events: none;
}

.sbl-public .sbl-product-card .sbl-product-badge {
    position: static;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 6px 8px;
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border: 1px solid var(--sbl-black);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: uppercase;
}

.sbl-public .sbl-product-card .sbl-product-badge--discount,
.sbl-public .sbl-product-card .sbl-product-badge--unavailable {
    color: var(--sbl-white);
    background: var(--sbl-danger);
    border-color: var(--sbl-danger);
}

.sbl-public .sbl-product-card .sbl-product-badge--limited {
    color: var(--sbl-black);
    background: var(--sbl-cream);
}

.sbl-public .sbl-product-card .pcActionsList {
    opacity: 1;
    transform: none;
}

.sbl-public .sbl-product-card .imgHolder .pcBtnSubmit {
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 3;
    min-width: 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    color: var(--sbl-cream);
    background: var(--sbl-black);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--sbl-motion-fast) ease, transform var(--sbl-motion-fast) var(--sbl-ease-out), visibility var(--sbl-motion-fast) ease;
}

.sbl-public .sbl-product-card:hover .pcPrice {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.productColumn .pcActionsList .action-btn {
    width: 100%;
    height: 100%;
    padding: 0;
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border: 0;
}

.productColumn .pcActionsListII .action-btn {
    width: 100%;
    height: 100%;
    padding: 0;
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border: 0;
}

.productColumn .pcActionsListII .action-btn:hover {
    color: var(--sbl-cream);
    background: var(--sbl-black);
}

.productColumn :is(.pcActionsList, .pcActionsListII) :is(a, .action-btn):focus-visible {
    color: var(--sbl-white);
    background: var(--sbl-black);
}

.productColumn .pcActionsList .action-btn:hover {
    color: var(--sbl-cream);
    background: var(--sbl-black);
}

.productColumn .product-price,
.productColumn .product-price .price,
.productColumn .product-price .discount-original-price {
    display: inline;
    color: inherit;
    font: inherit;
}

.productColumn .product-price .discount-original-price {
    margin-left: 7px;
    color: var(--sbl-muted);
}

.productColumn .product-price-prefix {
    margin-right: 4px;
    color: var(--sbl-muted);
    font-size: 0.75em;
    text-transform: uppercase;
}

.productColumn:focus-within .pcActionsList {
    opacity: 1;
    transform: translateX(0);
}

.sbl-public .sbl-product-card .imgHolder .pcBtnSubmit:focus-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.productColumn .pcBtnSubmit {
    display: inline-block;
    line-height: 20px;
}

.productColumn .product-availability {
    margin: 5px 0 0;
    font-size: 13px;
}

.productColumn .product-availability.is-available {
    color: var(--sbl-success);
}

.productColumn .product-availability.is-unavailable {
    color: var(--sbl-danger);
}

.productsBlock .container-products-page,
.productsBlock .product-list-content,
.productsBlock .product-list-header {
    width: 100%;
}

.productsBlock .product-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

/* LOT 05.2 — le Shop conserve le composant de filtres du thème source. */
.productsBlock .filtersHead .filterRow:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.productsBlock .filtersHead .filterRow:first-child .mainHD {
    color: var(--sbl-black);
    font-size: 24px;
    font-weight: 400;
}

.productsBlock .filtersHead .btnReset {
    color: var(--sbl-copy);
    font-size: 12px;
    letter-spacing: 0.08em;
}

.productsBlock .filterBtnWrap .filterRowOpener {
    color: var(--sbl-black);
    font-weight: 400;
}

.productsBlock .filterBtnWrap .filterRowOpener[aria-expanded="true"]::after {
    transform: rotate(225deg);
    top: 2px;
}

.productsBlock .filterRowCollapse {
    padding-top: 20px;
}

.productsBlock .filterRowCollapse .form-check {
    min-height: 24px;
    margin-bottom: 12px;
    padding-left: 26px;
}

.productsBlock .filterRowCollapse .form-check-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    color: var(--sbl-copy);
    cursor: pointer;
}

.productsBlock .filterRowCollapse .form-check-input {
    width: 16px;
    height: 16px;
    margin-top: 4px;
    margin-left: -26px;
    accent-color: var(--sbl-black);
}

.productsBlock .catalog-price-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
}

.productsBlock .catalog-price-fields label {
    margin: 0;
    color: var(--sbl-copy);
    font-size: 13px;
}

.productsBlock .filterRowCollapse .form-control {
    min-height: 44px;
    color: var(--sbl-black);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
}

.productsBlock .catalog-filter-submit {
    min-height: 48px;
    margin-top: 30px;
}

.productsBlock .catalog-empty-state {
    display: flex;
    min-height: 330px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 64px 24px;
    text-align: center;
    border: 1px solid var(--sbl-border);
}

.productsBlock .catalog-empty-state i {
    display: block;
    margin-bottom: 18px;
    color: var(--sbl-black);
    font-size: 32px;
}

.productsBlock .catalog-empty-state h2 {
    margin-bottom: 8px;
    color: var(--sbl-black);
    font-size: 24px;
    font-weight: 400;
}

.productsBlock .catalog-empty-state p {
    margin-bottom: 24px;
}

.productsBlock .catalog-pagination .pagination {
    justify-content: center;
    margin-bottom: 0;
}

#catalogFiltersPanel {
    top: 0;
    right: 0;
    width: 100vw;
    max-width: 390px;
    height: 100vh;
    border-left: 1px solid var(--sbl-border);
}

#catalogFiltersPanel .theme-panel__header {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border-bottom: 1px solid var(--sbl-border);
}

#catalogFiltersPanel .theme-panel__title {
    margin: 0;
    color: var(--sbl-black);
    font-size: 22px;
    font-weight: 400;
}

#catalogFiltersPanel .theme-panel__close {
    width: 40px;
    height: 40px;
    padding: 0;
    color: var(--sbl-black);
    background: transparent;
    border: 0;
}

#catalogFiltersPanel .theme-panel__body {
    height: calc(100vh - 72px);
    padding: 26px 22px 40px;
    overflow-y: auto;
}

#catalogFiltersPanel .filtersHead {
    margin-bottom: 0;
}

.productsBlock .btn-filter-products-mobile .btn {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: var(--sbl-black);
    white-space: nowrap;
}

.productsBlock .btn-filter-products-mobile svg {
    flex: 0 0 20px;
    fill: currentColor;
}

.productsBlock .filter-reset-tag-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.productsBlock .filter-reset-tag {
    display: flex;
    gap: 8px;
    padding: 5px 9px;
    border: 1px solid var(--sbl-border);
}

.productsBlock .filter-reset-tag .right {
    display: flex;
    gap: 5px;
}

.productsBlock .btn-remove-active-product-filter {
    padding: 0;
    background: transparent;
    border: 0;
}

.productsBlock .row-product {
    row-gap: 30px;
}

.productsBlock .col-product {
    margin-bottom: 0;
}

.productDetailsArea .product-details-container,
.productDetailsArea .product-content-details {
    width: 100%;
}

.productDetailsArea .product-slider-wrapper {
    opacity: 1;
}

.productDetailsArea .product-content-details .product-title {
    margin: 0 0 8px;
    color: var(--sbl-text);
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.productDetailsArea .product-content-details .product-price .price {
    color: var(--sbl-text);
    font-size: 22px;
    font-weight: 400;
}

.productDetailsArea .btn-product-cart {
    min-height: 48px;
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border: 1px solid var(--sbl-black);
    border-radius: 0;
}

.productDetailsArea .btn-product-cart:hover {
    color: var(--sbl-black);
    background: var(--sbl-cream);
}

.sbl-public .auth-box,
.sbl-public .formBlock form,
.sbl-public .checkout-form,
.sbl-public .cart-form {
    border-radius: 0;
    box-shadow: none;
}

.sbl-public :is(.form-control, .form-select) {
    min-height: 50px;
    color: var(--sbl-text);
    background-color: var(--sbl-bg);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
    font-family: "Jost", sans-serif;
    font-weight: 300;
}

.sbl-public :is(.form-control, .form-select)::placeholder {
    color: var(--sbl-muted);
    opacity: 1;
}

.sbl-public :is(.form-control, .form-select):focus {
    color: var(--sbl-text);
    background-color: var(--sbl-bg);
    border-color: var(--sbl-black);
    box-shadow: none;
}

.sbl-public :is(.form-control, .form-select):disabled,
.sbl-public :is(.form-control, .form-select)[readonly] {
    color: var(--sbl-disabled-text);
    background: var(--sbl-disabled-bg);
    opacity: 1;
    cursor: not-allowed;
}

.sbl-public :is(.form-control, .form-select)[aria-invalid="true"],
.sbl-public :is(.form-control, .form-select).is-invalid {
    border-color: var(--sbl-error);
}

.sbl-public .form-check-input:focus {
    border-color: var(--sbl-black);
    outline: 1px solid var(--sbl-focus);
    outline-offset: 2px;
    box-shadow: none;
}

.sbl-public .form-check-input:checked,
.sbl-public .form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--sbl-black);
    border-color: var(--sbl-black);
}

.sbl-public .form-check-input:disabled {
    background-color: var(--sbl-disabled-bg);
    border-color: var(--sbl-border);
    opacity: 1;
}

.sbl-public :is(.formBlock, .auth-box, .checkout-form, .cart-form) :is(button, input, select, textarea):disabled {
    cursor: not-allowed;
}

.sbl-public :is(.btnTheme, .btn-dark, .btn-primary, .btn-custom) {
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border-color: var(--sbl-black);
}

.sbl-public :is(.btnTheme, .btn-dark, .btn-primary, .btn-custom):is(:hover, :focus-visible, :active) {
    color: var(--sbl-black);
    background: var(--sbl-cream);
    border-color: var(--sbl-black);
}

.sbl-public :is(.btnThemeOutlined, .btn-outline-dark) {
    color: var(--sbl-black);
    background: transparent;
    border-color: var(--sbl-black);
}

.sbl-public :is(.btnThemeOutlined, .btn-outline-dark):is(:hover, :focus-visible, :active) {
    color: var(--sbl-black);
    background: var(--sbl-cream);
    border-color: var(--sbl-black);
}

.sbl-public :is(.btnTheme, .btnThemeOutlined, .btn-dark, .btn-primary, .btn-outline-dark, .btn-custom):disabled,
.sbl-public :is(.btnTheme, .btnThemeOutlined, .btn-dark, .btn-primary, .btn-outline-dark, .btn-custom)[aria-disabled="true"] {
    color: var(--sbl-disabled-text);
    background: var(--sbl-disabled-bg);
    border-color: var(--sbl-border);
    opacity: 1;
}

.sbl-public .select2-container--default .select2-selection--single {
    min-height: 50px;
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border-color: var(--sbl-border);
    border-radius: 0;
}

.sbl-public .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--sbl-text);
    line-height: 30px;
}

.sbl-public .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--sbl-muted);
}

.sbl-public .select2-container--default.select2-container--focus .select2-selection--single,
.sbl-public .select2-container--default .select2-selection--single:focus-visible {
    border-color: var(--sbl-black);
    outline: 1px solid var(--sbl-focus);
    outline-offset: 2px;
}

.sbl-public .select2-dropdown {
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border-color: var(--sbl-border);
    border-radius: 0;
}

.sbl-public .select2-search--dropdown .select2-search__field {
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border-color: var(--sbl-border);
}

.sbl-public .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: var(--sbl-text);
    background: var(--sbl-cream);
}

.sbl-public .select2-container--default .select2-results__option[aria-disabled="true"] {
    color: var(--sbl-disabled-text);
    background: var(--sbl-disabled-bg);
}

.sbl-public .dropdown-menu {
    z-index: var(--sbl-z-dropdown);
    color: var(--sbl-text);
    background: var(--sbl-bg);
    border-color: var(--sbl-border);
}

body.sbl-public > .select2-container--open {
    z-index: var(--sbl-z-dropdown);
}

body.sbl-public > .modal-backdrop {
    z-index: var(--sbl-z-modal-backdrop);
    background: var(--sbl-black);
}

body.sbl-public > .modal-backdrop.show {
    opacity: 0.62;
}

.sbl-public .modal {
    --bs-modal-zindex: var(--sbl-z-modal);
    z-index: var(--sbl-z-modal);
}

.sbl-public .modal-content {
    color: var(--sbl-copy);
    background: var(--sbl-bg);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: 0 18px 50px rgba(1, 1, 1, 0.18);
}

.sbl-public .modal .dropdown-menu,
.sbl-public .modal > .select2-container--open {
    z-index: var(--sbl-z-modal-dropdown);
}

.sbl-public .modal > .select2-container--open {
    max-width: calc(100vw - 32px);
}

.sbl-public .modal-newsletter .modal-title {
    color: var(--sbl-text);
}

.sbl-public .modal-newsletter .modal-desc {
    color: var(--sbl-muted);
}

.sbl-public .modal-newsletter .btn {
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border-color: var(--sbl-black);
}

.sbl-public .modal-newsletter .btn:is(:hover, :focus-visible) {
    color: var(--sbl-black);
    background: var(--sbl-cream);
}

.sbl-public .scrollup {
    z-index: var(--sbl-z-sticky);
}

.sbl-public .cookies-warning {
    z-index: var(--sbl-z-sticky);
    color: var(--sbl-copy);
    background: var(--sbl-bg);
    border: 1px solid var(--sbl-border);
    box-shadow: 0 12px 36px rgba(1, 1, 1, 0.14);
}

.sbl-public .search-results-ajax {
    z-index: var(--sbl-z-popover);
}

/* GLightbox impose un z-index interne ; cette exception ramène uniquement son
 * conteneur plein écran dans l'échelle publique partagée. */
.sbl-public .glightbox-container {
    z-index: var(--sbl-z-popover) !important;
}

.sbl-public .featuresBlock {
    background: var(--sbl-bg);
    border-bottom: 1px solid var(--sbl-border);
}

.sbl-public .footerAreaWrap {
    background: var(--sbl-surface-subtle);
}

.sbl-public .sbl-footer-main {
    padding: 64px 0 58px;
}

.sbl-public .footerAside .ftColsWrap.sbl-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 56px;
    margin: 0;
}

.sbl-public .footerAside .ftColsWrap.sbl-footer-grid .ftCol {
    width: auto;
    min-width: 0;
    padding: 0;
}

.footerAreaWrap .ftLogo {
    max-width: none;
    margin-bottom: 22px;
}

.footerAreaWrap .ftLogo img {
    width: auto;
    max-width: 180px;
    max-height: 70px;
}

.sbl-public .sbl-footer-signature {
    max-width: 280px;
    margin: 0 0 26px;
    color: var(--sbl-text-body);
    font-size: 17px;
    line-height: 1.6;
}

.sbl-public .footerAside .ftColsWrap .ftHeading {
    margin: 4px 0 22px;
    color: var(--sbl-black);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList {
    margin: 0;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList li {
    margin: 0 0 11px;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList li:last-child {
    margin-bottom: 0;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList a,
.sbl-public .footerAside .ftColsWrap .ftLinksList > li > span {
    color: var(--sbl-text-body);
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList a {
    text-decoration-color: transparent;
    text-underline-offset: 4px;
    transition: color var(--sbl-motion-fast) ease, text-decoration-color var(--sbl-motion-fast) ease;
}

.sbl-public .footerAside .ftColsWrap .ftLinksList a:is(:hover, :focus-visible) {
    color: var(--sbl-black);
    text-decoration: underline;
    text-decoration-color: currentColor;
}

.sbl-public .footerAside .ftColsWrap .ftSocialNetworks {
    gap: 10px;
    color: var(--sbl-text-body);
    font-size: 17px;
}

.footerAreaWrap .footer-payment-icons img {
    width: auto;
    height: 22px;
    margin: 0;
}

.footerAreaWrap address {
    font-style: normal;
}

.sbl-public :is(#pageFooter, .footerAside, .featuresBlock .fbbSubheading) {
    color: var(--sbl-copy);
}

.footerAreaWrap .ftSocialNetworks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--sbl-text-body);
    border: 1px solid var(--sbl-border);
    border-radius: 50%;
    text-decoration: none;
    transition: color var(--sbl-motion-fast) ease, border-color var(--sbl-motion-fast) ease, background-color var(--sbl-motion-fast) ease;
}

.footerAreaWrap .ftSocialNetworks a:is(:hover, :focus-visible) {
    color: var(--sbl-cream);
    background: var(--sbl-black);
    border-color: var(--sbl-black);
}

.sbl-public .sbl-footer-contact-list :is(a, li > span) {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sbl-public .sbl-footer-contact-list i {
    flex: 0 0 18px;
    margin-top: 3px;
    color: var(--sbl-black);
    font-size: 16px;
    text-align: center;
}

.sbl-public .sbl-footer-legal {
    padding: 22px 0;
    color: var(--sbl-text-muted);
    background: var(--sbl-surface-subtle);
    border-top: 1px solid var(--sbl-border);
    font-size: 13px;
    line-height: 1.5;
}

.sbl-public .sbl-footer-legal-grid,
.sbl-public .sbl-footer-legal-links {
    display: flex;
    align-items: center;
}

.sbl-public .sbl-footer-legal-grid {
    justify-content: space-between;
    gap: 24px;
}

.sbl-public .sbl-footer-legal-links {
    justify-content: flex-end;
    gap: 24px;
}

.sbl-public .sbl-footer-legal .footer-payment-icons,
.sbl-public .sbl-footer-legal .footerNav {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sbl-public .sbl-footer-legal .footerNav {
    row-gap: 6px;
}

.sbl-public .sbl-footer-legal .footerNav a {
    color: var(--sbl-text-muted);
    text-decoration: none;
    text-underline-offset: 3px;
}

.sbl-public .sbl-footer-legal .footerNav a:is(:hover, :focus-visible) {
    color: var(--sbl-black);
    text-decoration: underline;
}

@media (max-width: 1199.98px) {
    .sbl-public .sbl-footer-main {
        padding: 54px 0;
    }

    .sbl-public .footerAside .ftColsWrap.sbl-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 56px;
    }
}

@media (max-width: 767.98px) {
    .sbl-public .sbl-footer-main {
        padding: 46px 0;
    }

    .sbl-public .footerAside .ftColsWrap.sbl-footer-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .sbl-public .sbl-footer-signature {
        max-width: 310px;
    }

    .sbl-public .sbl-footer-legal-grid,
    .sbl-public .sbl-footer-legal-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .sbl-public .sbl-footer-legal-grid,
    .sbl-public .sbl-footer-legal-links {
        gap: 14px;
    }
}

/* LOT 03.10.1 — surfaces client alignées sur le Design System public. */
.sbl-public :is(.page-settings-sbl, .page-account-sbl, .page-wishlist-sbl) {
    padding: 42px 0 72px;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl, .page-wishlist-sbl) .page-title {
    margin: 0 0 30px;
    color: var(--sbl-black);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs {
    border: 1px solid var(--sbl-border);
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav {
    display: block;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-item {
    width: 100%;
    margin: 0;
    border-bottom: 1px solid var(--sbl-border);
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-item:last-child {
    border-bottom: 0;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-link {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: var(--sbl-copy);
    background: var(--sbl-white);
    border: 0;
    border-radius: 0;
    font-weight: 300;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-item.active .nav-link,
.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-link:hover {
    color: var(--sbl-black);
    background: var(--sbl-cream);
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .icon,
.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs svg path:not(:first-child) {
    fill: currentColor;
}

.sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs-content {
    min-height: 240px;
    padding: 30px;
    border: 1px solid var(--sbl-border);
    background: var(--sbl-white);
}

.sbl-public .page-settings-sbl .sidebar-tabs-content .form-control {
    min-height: 48px;
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
    font-family: "Jost", sans-serif;
    font-weight: 300;
}

.sbl-public .page-settings-sbl .sidebar-tabs-content textarea.form-control {
    min-height: 120px;
}

.sbl-public .page-settings-sbl .edit-profile-cover {
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
}

.sbl-public .page-account-sbl .order-list-item {
    margin: 0;
    padding: 22px 0;
    border: 0;
    border-bottom: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
}

.sbl-public .page-account-sbl .order-list-item:first-child {
    padding-top: 0;
}

.sbl-public .page-account-sbl .order-list-item:last-child {
    border-bottom: 0;
}

.sbl-public .page-account-sbl .badge {
    border-radius: 0;
    font-weight: 400;
}

/* LOT 04 — états AJAX partagés, alignés sur le thème public. */
.sbl-public .sbl-ajax-notice {
    position: fixed;
    z-index: var(--sbl-z-toast);
    top: 88px;
    right: 24px;
    width: min(360px, calc(100vw - 48px));
    padding: 14px 18px;
    color: var(--sbl-black);
    background: var(--sbl-cream);
    border: 1px solid var(--sbl-black);
    font-size: 15px;
    line-height: 1.45;
}

.sbl-public .sbl-ajax-notice[data-notice-type="error"] {
    color: var(--sbl-white);
    background: var(--sbl-danger);
    border-color: var(--sbl-danger);
}

.sbl-public [data-ajax-catalog] [data-catalog-fragment="catalog"] {
    min-height: 280px;
    transition: opacity 180ms ease;
}

.sbl-public [data-ajax-catalog][data-ajax-state="loading"] [data-catalog-fragment="catalog"] {
    opacity: 0.48;
    pointer-events: none;
}

.sbl-public [data-ajax-catalog][data-ajax-state="loading"]::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--sbl-black);
    content: "";
    animation: sbl-ajax-progress 900ms ease-in-out infinite alternate;
    transform-origin: left center;
}

.sbl-public .btn-add-remove-wishlist[data-ajax-state="loading"] {
    opacity: 0.55;
    cursor: wait;
}

/* LOT 05.4 — états de la fiche bracelet et déclinaisons vérifiées côté serveur. */
.page-product .product-options-container {
    position: relative;
    transition: opacity 180ms ease;
}

.page-product .product-options-container[data-ajax-state="loading"] {
    opacity: 0.58;
}

.page-product .product-option-values {
    gap: 12px;
}

.page-product .product-options-container .option-base {
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    color: var(--sbl-black);
    background-color: var(--sbl-white);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
}

.page-product .product-options-container .option-base:is(:hover, :focus-visible, .selected) {
    border-color: var(--sbl-black);
    outline: 0;
}

.page-product .product-options-container .option-base:focus-visible {
    box-shadow: 0 0 0 2px var(--sbl-cream);
}

.page-product .product-options-container .option-swatch {
    width: 42px;
    min-width: 42px;
    height: 42px;
}

.page-product .product-options-container .option-image-swatch {
    width: 58px;
    height: 58px;
    overflow: hidden;
}

.page-product .product-options-container .option-image-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-product .product-options-container .option-radio-label {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    cursor: pointer;
}

.page-product .product-options-container .option-dropdown {
    width: 100%;
    min-height: 46px;
    padding: 10px 36px 10px 12px;
    color: var(--sbl-black);
    background-color: var(--sbl-white);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
}

.page-product .product-options-container .option-dropdown:focus {
    color: var(--sbl-black);
    border-color: var(--sbl-black);
    box-shadow: 0 0 0 2px var(--sbl-cream);
}

.page-product .product-options-container .option-base.is-unavailable {
    opacity: 0.48;
}

.page-product .product-variant-feedback {
    margin: 4px 0 0;
    color: var(--sbl-copy);
    font-size: 13px;
    line-height: 1.45;
}

.page-product .product-variant-feedback[data-feedback-type="error"] {
    color: var(--sbl-danger);
}

.page-product .product-slider-wrapper.has-single-image .thumb-slider-wrapper,
.page-product .product-slider-wrapper.has-single-image .swiper-button-next,
.page-product .product-slider-wrapper.has-single-image .swiper-button-prev {
    display: none;
}

.page-product .btn-product-cart:disabled {
    color: var(--sbl-disabled-text);
    background: var(--sbl-disabled-bg);
    border-color: var(--sbl-border);
    opacity: 1;
    cursor: not-allowed;
}

/* LOT 06.2 — personnalisation native du bracelet, sans composant visuel parallèle. */
.page-product #extra-options-container {
    display: grid;
    width: 100%;
    gap: 20px;
    margin-top: 20px;
}

.page-product #extra-options-container > [data-configuration-option-id] {
    width: 100%;
    margin: 0;
}

.page-product #extra-options-container .title-option {
    display: block;
    margin-bottom: 10px;
    color: var(--sbl-black);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.page-product #extra-options-container .form-input {
    min-height: 46px;
    padding: 10px 12px;
    color: var(--sbl-black);
    background: var(--sbl-white);
    border: 1px solid var(--sbl-border);
    border-radius: 0;
    box-shadow: none;
}

.page-product #extra-options-container .form-input:focus {
    border-color: var(--sbl-black);
    box-shadow: none;
}

.page-product #extra-options-container :is(.form-input, .custom-control-input).is-invalid {
    border-color: var(--sbl-danger);
}

.page-product #extra-options-container .custom-control-input:focus-visible + .custom-control-label {
    outline: 1px solid var(--sbl-focus);
    outline-offset: 3px;
}

.page-product #extra-options-container .custom-control-input.is-invalid + .custom-control-label {
    color: var(--sbl-danger);
}

.page-product .product-character-counter,
.page-product .product-configuration-error {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.45;
}

.page-product .product-character-counter {
    color: var(--sbl-muted);
}

.page-product .product-configuration-error {
    color: var(--sbl-danger);
}

.page-product .product-configuration-summary {
    margin-top: 28px;
    padding: 22px 0;
    color: var(--sbl-copy);
    border-top: 1px solid var(--sbl-border);
    border-bottom: 1px solid var(--sbl-border);
}

.page-product .product-configuration-summary h2 {
    margin: 0 0 14px;
    color: var(--sbl-black);
    font-size: 20px;
    font-weight: 500;
}

.page-product .product-configuration-summary dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.page-product .product-configuration-summary dl > div {
    display: grid;
    grid-template-columns: minmax(110px, 0.42fr) minmax(0, 1fr);
    gap: 16px;
}

.page-product .product-configuration-summary :is(dt, dd) {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.page-product .product-configuration-summary dt {
    color: var(--sbl-muted);
    font-weight: 400;
}

.page-product .product-configuration-summary dd {
    color: var(--sbl-black);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.page-product .product-configuration-note {
    margin: 16px 0 0;
    color: var(--sbl-muted);
    font-size: 12px;
    line-height: 1.5;
}

.page-product #form-add-to-cart[aria-busy="true"] .btn-product-cart {
    cursor: wait;
}

.page-product .number-spinner :is(input, button):disabled {
    color: var(--sbl-disabled-text);
    background: var(--sbl-disabled-bg);
    border-color: var(--sbl-border);
    opacity: 1;
    cursor: not-allowed;
}

.sbl-public form[data-ajax-contact] [data-submit-loading] {
    display: none;
}

.sbl-public form[data-ajax-contact][data-ajax-state="loading"] [data-submit-label] {
    display: none;
}

.sbl-public form[data-ajax-contact][data-ajax-state="loading"] [data-submit-loading] {
    display: inline;
}

.sbl-public .sbl-field-error {
    margin: 7px 0 0;
    color: var(--sbl-danger);
    font-size: 13px;
    line-height: 1.4;
}

.sbl-public .formBlock .form-control[aria-invalid="true"] {
    border-color: var(--sbl-danger);
}

.sbl-public [data-ajax-catalog] .product-result-count:focus {
    outline: 1px solid var(--sbl-black);
    outline-offset: 4px;
}

@keyframes sbl-ajax-progress {
    from {
        transform: scaleX(0.18);
    }

    to {
        transform: scaleX(1);
    }
}

@media (max-width: 767.98px) {
    .sbl-public .shopping-cart .item .list-item .product-title {
        line-height: 24px;
    }

    .sbl-public .shopping-cart .item {
        width: 100%;
        display: block;
    }

    .sbl-public .shopping-cart .item .cart-item-quantity {
        width: 100%;
        display: flex;
        gap: 15px;
        margin-top: 10px;
        padding-left: 80px;
    }

    .sbl-public .product-image-box-md {
        width: 70px;
        height: 70px;
    }

    .sbl-public .shopping-cart .number-spinner {
        width: 120px;
        height: 40px;
    }

    .sbl-public .shopping-cart .number-spinner input {
        height: 40px;
        padding: 8px 4px;
    }

    .sbl-public .shopping-cart .number-spinner button {
        width: 40px;
        height: 40px;
    }

    .sbl-public .shopping-cart .btn-cart-remove {
        display: none;
    }

    .sbl-public .shopping-cart .btn-cart-remove-mobile {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0;
        padding: 0;
    }

    .sbl-public .shopping-cart .btn-cart-remove-mobile i {
        margin: 0;
    }

    .sbl-public .shopping-cart .btn-cart-remove-mobile span {
        display: none;
    }

    .sbl-public .product-delivery-est .item {
        margin-top: 5px;
    }

    [dir="rtl"] .sbl-public .shopping-cart .item .cart-item-quantity {
        padding-right: 80px;
        padding-left: 0;
    }

    .productColumn .pcActionsList {
        opacity: 1;
        transform: translateX(0);
    }

    .sbl-public .sbl-product-card .imgHolder .pcBtnSubmit {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    #pageHeader .logo img {
        max-width: 132px;
        max-height: 52px;
    }

    .page-home .introBlock .ibsColumn {
        min-height: 0;
    }

    .page-home .introBlock .ibsColumn > .col-md-5 {
        min-height: 300px;
        padding: 48px 28px;
    }

    .page-home .introBlock .hhHeadingI {
        max-width: 11ch;
        font-size: clamp(38px, 12vw, 54px);
    }

    .page-home .introBlock .ibsColumn .imgHolder {
        min-height: 320px;
    }

    .page-home .sbl-media--hero {
        object-position: 58% 50%;
    }

    .page-home .sbl-story-banner {
        min-height: 520px;
    }

    .page-home .sbl-story-banner .sbl-story-copy {
        width: calc(100% - 32px);
        margin: 188px 16px 16px;
        padding: 28px 22px;
        background: var(--sbl-surface-translucent);
    }

    .page-home .sbl-media--story {
        object-position: 30% 50%;
    }

    .page-home .categoriesBlock,
    .page-home .collectionBlock,
    .page-home .sbl-customize-section,
    .page-home .sbl-editorial-banner,
    .page-home .blogsBlock,
    .page-home .feedAsideBlock {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .page-home .sbl-collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 16px;
    }

    .page-home .sbl-product-grid,
    .page-home .sbl-new-arrivals-layout[data-product-count="1"] .sbl-product-grid,
    .page-home .sbl-new-arrivals-layout[data-product-count="2"] .sbl-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 14px;
    }

    .page-home .sbl-new-arrivals-layout[data-product-count="1"] .sbl-product-grid__item {
        grid-column: 1 / -1;
        width: min(100%, 280px);
        justify-self: center;
    }

    .sbl-product-card__content {
        padding-right: 0;
        padding-left: 0;
    }

    .page-home .sbl-customize-block,
    .page-home .sbl-customize-media {
        min-height: 380px;
    }

    .page-home .sbl-customize-copy {
        padding: 36px 24px;
    }

    .productsBlock .product-list-header {
        align-items: center;
        flex-direction: row;
        margin-bottom: 22px;
    }

    .productDetailsArea .col-product-details-right {
        margin-top: 30px;
    }

    .sbl-public .sbl-ajax-notice {
        top: 72px;
        right: 16px;
        width: calc(100vw - 32px);
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl, .page-wishlist-sbl) {
        padding: 28px 0 52px;
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl, .page-wishlist-sbl) .page-title {
        margin-bottom: 22px;
        font-size: 28px;
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs {
        margin-bottom: 24px;
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-item {
        border-right: 1px solid var(--sbl-border);
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .nav-link {
        height: 100%;
        min-height: 46px;
        padding: 10px 12px;
        font-size: 14px;
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs .icon {
        display: none;
    }

    .sbl-public :is(.page-settings-sbl, .page-account-sbl) .sidebar-tabs-content {
        padding: 20px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .sbl-public .sbl-product-card:is(:hover, :focus-within) .imgHolder .pcBtnSubmit {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .sbl-public .productColumn:hover .imgHolder img,
    .page-home .sbl-collection-grid .catColumn:hover .imgHolder img,
    .page-home .sbl-journal-grid .blogColumn:hover .imgHolder img,
    .page-home .sbl-community-grid .figColumn:hover img {
        transform: scale(1.025);
    }
}

@media (hover: none), (pointer: coarse) {
    .sbl-public .sbl-product-card .imgHolder .pcBtnSubmit {
        opacity: 1;
        visibility: visible;
        transform: none;
    }
}

/* 404 publique : même rythme, mêmes actions et même palette que la boutique. */
.page-error .page-error-sbl {
    min-height: 60vh;
    padding: 96px 0 112px;
    background: var(--sbl-surface-subtle);
}

.page-error .page-error-sbl .row {
    justify-content: center;
}

.page-error .error-404 {
    width: min(100%, 680px);
    padding: 0 24px;
    text-align: center;
}

.page-error .error-404 h1 {
    margin: 0 0 16px;
    color: var(--sbl-black);
    font-size: clamp(72px, 14vw, 152px);
    font-weight: 400;
    line-height: 0.9;
    letter-spacing: -0.04em;
}

.page-error .error-404 h2 {
    margin: 0 0 12px;
    color: var(--sbl-text);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 400;
    line-height: 1.15;
}

.page-error .error-404 p {
    max-width: 560px;
    margin: 0 auto 32px;
    color: var(--sbl-muted);
    font-size: 17px;
    line-height: 1.65;
}

.page-error .error-404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
    align-items: center;
    justify-content: center;
}

.page-error .error-404__home {
    color: var(--sbl-text);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

@media (max-width: 575px) {
    .page-error .page-error-sbl {
        padding: 72px 0 88px;
    }

    .page-error .error-404__actions {
        flex-direction: column;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .page-home .sbl-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-home .sbl-new-arrivals-layout[data-product-count="1"] .sbl-product-grid {
        grid-template-columns: minmax(220px, 300px);
    }
}

@media (max-width: 389.98px) {
    .page-home .introBlock .ibsColumn > .col-md-5 {
        padding-right: 22px;
        padding-left: 22px;
    }

    .page-home .sbl-collection-grid {
        column-gap: 12px;
    }

    .page-home .sbl-product-grid,
    .page-home .sbl-new-arrivals-layout[data-product-count="1"] .sbl-product-grid,
    .page-home .sbl-new-arrivals-layout[data-product-count="2"] .sbl-product-grid {
        column-gap: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sbl-public .theme-panel,
    .sbl-public [data-ajax-catalog] [data-catalog-fragment="catalog"],
    .sbl-public .product-options-container,
    .sbl-public .slick-track,
    .sbl-public .slick-slide,
    .sbl-public .introBlock .ibSlickDots button,
    .sbl-public .productColumn .imgHolder img,
    .sbl-public .sbl-product-card .imgHolder .pcBtnSubmit,
    .sbl-public .categoriesBlock .imgHolder img,
    .sbl-public .blogColumn .imgHolder img,
    .sbl-public .figColumn img {
        transition-duration: 0.01ms;
    }

    .sbl-public .productColumn:hover .imgHolder img,
    .sbl-public .sbl-product-card .imgHolder .pcBtnSubmit {
        transform: none;
    }

    .sbl-public [data-ajax-catalog][data-ajax-state="loading"]::before {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }
}

/* La composition LOT 06.6 reste prioritaire sur les adaptations historiques. */
.page-product .productDetailsArea .product-content-details .product-title {
    margin: 0;
    font-size: clamp(34px, 3vw, 50px);
    font-weight: 400;
    line-height: 1.08;
}

.page-product .productDetailsArea .sbl-purchase-price .product-price .price {
    font-size: 28px;
    font-weight: 500;
}

@media (max-width: 991px) {
    .page-product .productDetailsArea .col-product-details-right {
        margin-top: 36px;
    }
}

@media (max-width: 575px) {
    .page-product .productDetailsArea .product-content-details .product-title {
        font-size: 34px;
    }
}
