/*
 * "Runway": a premium theme for fashion and clothing shops.
 *
 * The fashion magazine. One campaign photograph across the whole page with
 * the title set huge over it; a running line of words; a photo board of
 * categories; new pieces; a lookbook spread like a magazine page; the piece
 * of the week; best sellers in tabs; a black footer. Black and white only,
 * square edges, a high-contrast Bodoni, red kept for a sale.
 *
 * Written by hand (not by build_theme_styles.py).
 */

:root {
    --skin-ink: #121212;
    --skin-muted: #6b6f76;
    --skin-line: #e8e8ea;
    --skin-surface: #f4f4f5;
    --skin-strip: #121212;
    --skin-radius: 12px;
    --skin-radius-lg: 20px;

    --rw-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
    --rw-accent: #4338ca;

    --sx-page: #ffffff;
    --sx-surface: #f4f4f5;
    --sx-accent: var(--rw-accent);
    --sx-radius: 20px;
    --sx-btn-radius: 999px;
    --sx-width: 1400px;
    --sx-heading-font: var(--rw-display);
    --sx-heading-weight: 600;
    --sx-heading-tracking: -.02em;
    --sx-tint-a: #e7e5f6;
    --sx-tint-b: #c9c5ee;
    --sx-tint-c: #f1f0f7;
}

body {
    background: #ffffff;
    color: var(--skin-ink);
    font-size: 15.5px;
}

h1, h2, h3, h4,
.heading_s1 h2, .heading_s1 h3, .heading_s2 h2, .heading_s4 h2,
.page-title h1,
.product_description .product_title,
.widget_title,
.bb-product-filter-title, .sx-h1, .page-title .sx-h1 {
    font-family: var(--rw-display);
    font-weight: 600;
    letter-spacing: -.02em;
    text-transform: none;
}

.btn {
    border-radius: 0 !important;
    padding: 13px 26px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.btn-fill-out,
.btn-primary {
    border-color: var(--skin-ink) !important;
    background: var(--skin-ink) !important;
    color: #ffffff !important;
}

/* ------------------------------------------------------------- masthead */

.header_wrap,
.middle-header,
.bottom_header {
    background: #ffffff !important;
}

.top-header {
    padding: 7px 0;
    background: var(--skin-ink) !important;
    font-size: 12.5px;
}

.top-header,
.top-header a,
.top-header a i,
.top-header span,
.top-header .contact_detail li,
.top-header .header_list li a,
.top-header .header_list li a span,
.top-header .btn-select-language,
.top-header .choose-currency,
.header_list li a {
    color: #ffffff !important; /* every piece of text on the dark strip, not only the links */
}

.bottom_header {
    margin-bottom: 0 !important;
}

@media (min-width: 992px) {
    .middle-header {
        padding: 20px 0 14px;
        border: 0;
    }

    .middle-header .nav_block {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 520px) minmax(0, 1fr);
        align-items: center;
        gap: clamp(18px, 3vw, 48px);
    }

    .middle-header .navbar-brand {
        margin: 0;
        padding: 0;
    }

    .middle-header .navbar-brand img {
        max-height: 36px;
    }

    .middle-header .product_search_form {
        width: 100%;
        margin: 0;
        border: 0;
        background: transparent;
    }

    .product_search_form .input-group-prepend {
        display: none;
    }

    .product_search_form .input-group {
        border: 0;
        border-radius: 0;
        background: var(--skin-surface);
        overflow: hidden;
    }

    .product_search_form input.form-control {
        height: 46px;
        padding: 0 54px 0 22px;
        border: 0 !important;
        background: transparent !important;
        font-size: 14.5px;
    }

    .product_search_form .search_btn {
        top: 4px;
        right: 4px;
        bottom: 4px;
        width: 40px;
        height: auto;
        border-radius: 0;
        background: var(--skin-ink);
        color: #ffffff;
    }

    .middle-header .contact_phone {
        justify-self: end;
    }

    .bottom_header {
        border-bottom: 1px solid var(--skin-line);
    }

    /* No category drawer: the menu, as tabs, has the line; the icons sit at its end. */
    .bottom_header .row > [class*="col-"]:first-child {
        display: none;
    }

    .bottom_header_sticky .row > [class*="col-"]:first-child {
        display: block;
    }

    .bottom_header .row > [class*="col-"]:last-child {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .bottom_header_sticky .row > [class*="col-"]:last-child {
        flex: 1 1 0;
    }

    .bottom_header .navbar {
        justify-content: space-between;
        padding: 6px 0 10px;
    }

    .bottom_header .navbar-collapse {
        flex-grow: 0;
    }

    .bottom_header .navbar-nav:not(.attr-nav) {
        gap: 2px;
    }

    .bottom_header .pr_search_icon {
        display: none;
    }
}

.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link {
    padding: 9px 16px;
    border-radius: 0;
    color: var(--skin-ink) !important;
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link:hover {
    background: var(--skin-surface);
}

.bottom_header .navbar-nav:not(.attr-nav) > li.active > .nav-link {
    background: var(--skin-ink);
    color: #ffffff !important;
}

.bottom_header .attr-nav > li > .nav-link,
.bottom_header .attr-nav i,
.bottom_header .navbar-toggler,
.bottom_header .pr_search_trigger {
    color: var(--skin-ink) !important;
}

.wishlist_count,
.cart_count {
    background: var(--sp-sale) !important;
    color: #ffffff !important;
}

@media (max-width: 991px) {
    .bottom_header .row > [class*="col-"]:first-child { display: none; }
    .bottom_header_sticky .row > [class*="col-"]:first-child { display: block; }
    .bottom_header .row > [class*="col-"]:last-child { flex: 0 0 100%; max-width: 100%; }
    .middle-header { padding: 14px 0 2px; border: 0; }
    .middle-header .product_search_form { display: none; }
}

/* -------------------------------------------------------- the home sections */

.sx-marquee {
    margin-top: var(--sp-space);
    padding: 16px 0;
    border-block: 1px solid var(--skin-line);
}

.sx-marquee span {
    font-size: clamp(16px, 1.5vw, 21px);
    font-weight: 500;
    letter-spacing: 0;
}

.sx-marquee i {
    width: 7px;
    height: 7px;
    background: var(--rw-accent);
}

.sx:last-of-type {
    padding-bottom: var(--sp-space);
}

/* ------------------------------------------- the theme's own product cards */

.section,
.breadcrumb_section,
.page-title-mini,
.bg_default,
.newsletter_small {
    background-color: #ffffff !important;
}

.product_wrap,
.product {
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
}

.product_wrap:hover,
.product:hover {
    box-shadow: none !important;
    transform: none;
}

.product .product_img,
.product_wrap .product_img {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    background: var(--skin-surface);
    aspect-ratio: 4 / 5;
}

.product .product_img img,
.product_wrap .product_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.product:hover .product_img img,
.product_wrap:hover .product_img img {
    transform: scale(1.04);
}

.product .rating_wrap,
.product .pr_desc,
.product .on_sale,
.shop_container.grid .on_sale {
    display: none;
}

.product_info {
    padding: 12px 4px 26px;
    text-align: left;
}

.product .product_title,
.product .product_title a,
.shop_container .product_title a {
    color: var(--skin-ink) !important;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
}

.product_price {
    margin-top: 4px;
}

.product_price .price {
    color: var(--skin-ink);
    font-size: 16.5px;
    font-weight: 700;
}

.pr_flash {
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    border-radius: 0;
    background: var(--sp-sale) !important;
    color: #ffffff !important;
    font-size: 11.5px;
    font-weight: 700;
}

.product_action_box {
    top: auto;
    bottom: 12px;
    left: 0;
    right: 0;
    transform: none;
    opacity: 0;
    transition: opacity .25s ease;
}

.product:hover .product_action_box,
.product_wrap:hover .product_action_box {
    opacity: 1;
}

.pr_action_btn li a {
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 8px 20px -10px rgba(18, 18, 18, .5);
    color: var(--skin-ink);
}

.pr_action_btn li a:hover {
    background: var(--skin-ink);
    color: #ffffff;
}

/* ----------------------------------------------- shop, filters, product */

.breadcrumb_section,
.page-title-mini {
    margin: 16px auto 0;
    padding: clamp(28px, 4vw, 54px) 0;
    width: min(100% - 40px, var(--sx-width));
    border-radius: 0;
    background-color: var(--skin-surface) !important;
}

.breadcrumb_section .page-title h1,
.page-title-mini h1, .breadcrumb_section .page-title .sx-h1, .page-title-mini .sx-h1 {
    font-size: clamp(30px, 3.6vw, 48px);
}

.sidebar .widget,
.bb-product-filter {
    padding: 20px !important;
    margin-bottom: 14px;
    border: 1px solid var(--skin-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.sidebar .widget_title::after,
.sidebar .widget_title::before {
    display: none;
}

body:has(.pr_detail) .breadcrumb_section .page-title {
    display: none;
}

body:has(.pr_detail) .breadcrumb_section {
    padding: 16px 0;
    background-color: transparent !important;
}

.product-image .product_img_box,
.product_img_box {
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--skin-surface);
}

.product-image .product_img_box img {
    width: 100%;
}

.pr_detail .product_description .product_title {
    font-size: clamp(30px, 3.2vw, 44px) !important;
    line-height: 1.08;
}

.pr_detail .product_price .price {
    font-size: 28px;
}

/* ------------------------------------------------- newsletter and footer */

.newsletter_small,
.bg_default {
    padding: 0 0 clamp(26px, 3vw, 44px);
}

.newsletter_small .container,
.bg_default .container {
    max-width: var(--sx-width);
    width: min(100% - 40px, var(--sx-width));
    padding: clamp(28px, 4vw, 60px);
    border-radius: 0;
    background: var(--skin-ink);
}

.newsletter_small h3,
.bg_default h3,
.newsletter_small .heading_s1 h3 {
    color: #ffffff !important;
    font-family: var(--rw-display);
    font-size: clamp(24px, 2.8vw, 38px);
    font-weight: 600;
}

.newsletter_small p,
.bg_default p {
    color: rgba(255, 255, 255, .72) !important;
}

.newsletter_form input.form-control {
    height: 54px;
    border: 0 !important;
    border-radius: 0 !important;
    padding-left: 24px;
}

.newsletter_form .btn {
    border-radius: 0 !important;
    background: var(--rw-accent) !important;
    border-color: var(--rw-accent) !important;
}

footer,
.footer_dark,
footer .footer_top,
footer .bottom_footer {
    background: var(--skin-surface) !important;
    color: var(--skin-ink);
}

footer .footer_top {
    padding: 60px 0 34px;
}

footer .widget_title {
    color: var(--skin-ink) !important;
    font-family: var(--rw-display);
    font-size: 16px;
    font-weight: 600;
}

footer a,
footer p,
footer .widget_links li a,
footer .widget_links li a span,
footer .contact_info li,
footer .bottom_footer p {
    color: var(--skin-muted) !important;
}

footer a:hover,
footer .widget_links li a:hover span {
    color: var(--skin-ink) !important;
}

footer .bottom_footer {
    border-top: 1px solid var(--skin-line);
    font-size: 13px;
}

.store-welcome h1, .store-welcome .sx-h1 {
    font-family: var(--rw-display);
    font-size: clamp(40px, 6vw, 80px);
    font-weight: 600;
    letter-spacing: -.03em;
}

/* The masthead, the pages and the footer share the home page's width. */
@media (min-width: 992px) {
    .header_wrap .container,
    footer .container,
    .main_content > .section > .container {
        width: min(100% - 40px, var(--sx-width));
        max-width: var(--sx-width);
        padding-inline: 0;
    }
}

/* Menus that open under an item line up with its left edge. The theme opens them leftwards, and with this
   style's menu starting at the edge of the page the first ones ran off the screen with their text. */
@media (min-width: 992px) {
    .bottom_header .navbar-nav:not(.attr-nav) > li > .dropdown-menu,
    .bottom_header .navbar-nav:not(.attr-nav) > li > .dropdown-menu.dropdown-reverse {
        left: 0 !important;
        right: auto !important;
    }

    .bottom_header .navbar-nav:not(.attr-nav) > li:nth-last-child(-n + 2) > .dropdown-menu {
        left: auto !important;
        right: 0 !important;
    }
}

/* ------------------------------------------------------ the header as one line (computer)
   Logo, menu, search and the account icons on a single row, in place of a logo row over a menu row.
   The rules are in clean.css (any shop can choose this layout); this style asks for it. */
:root { --pf-header: row; }

/* ------------------------------------------------ shop: filters on the right, three a row
   The filters move to a sticky column on the right of the products; three photo-led tiles a row. */
@media (min-width: 992px) {
    .pf-shop-filters { order: 2 !important; }
    .pf-shop-filters .sidebar { position: sticky; top: 100px; }
    .pf-shop .shop_container > .col { flex: 0 0 33.333%; max-width: 33.333%; }
}

.pf-shop-filters .bb-product-filter {
    padding: 0 0 18px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--skin-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* ------------------------------------------------ cart: list on the left, summary panel on the right */
@media (min-width: 992px) {
    .pf-cart .form--shopping-cart {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 40px;
        align-items: start;
    }

    .pf-cart .form--shopping-cart > .row { margin: 0; }
    .pf-cart-items { grid-column: 1; }
    .pf-cart-totals { grid-column: 2; grid-row: 1; position: sticky; top: 100px; }
    .pf-cart-totals > [class*="col-"] { flex: 0 0 100%; max-width: 100%; padding: 0; }
}

.pf-cart-divider { display: none; }
.pf-cart .shop_cart_table thead th { border-top: 0 !important; background: transparent !important; color: var(--skin-muted); }

.pf-cart-summary {
    border: 0 !important;
    border-radius: 0;
    background: #f4f4f5;
}

.pf-cart-summary .table td { background: transparent !important; }
.pf-cart-summary .btn { width: 100%; margin-top: 8px; padding: 15px; border-radius: 0 !important; background: var(--skin-ink) !important; border-color: var(--skin-ink) !important; }

/* ------------------------------------------------ sign in: welcome on the left, the form on the right */
@media (min-width: 992px) {
    .row:has(> [class*="col-"] > .auth-card) > [class*="col-"] { flex: 0 0 100%; max-width: 980px; }

    .auth-card {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        overflow: hidden;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .25) !important;
    }

    .auth-card__header {
        display: flex;
        align-items: flex-end;
        padding: 44px !important;
        background: #121212 !important;
        color: #ffffff;
    }

    .auth-card__header-title { color: #ffffff; font-size: 34px !important; }
    .auth-card__header-description { color: #a1a1aa !important; }
    .auth-card__body { padding: 44px !important; }
}

/* ------------------------------------------------ contact: the form, the details beside it */
@media (min-width: 992px) {
    .pf-contact { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 44px; align-items: start; padding-top: 60px; }
    .pf-contact-info { grid-column: 2; grid-row: 1; padding: 0 !important; }
    .pf-contact-form { grid-column: 1; grid-row: 1; padding: 0 !important; }
    .pf-contact-info .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
}

.pf-contact .contact_wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    padding: 18px !important;
    border: 0 !important;
    border-radius: 0;
    background: #f4f4f5;
    text-align: left !important;
}

.pf-contact .contact_icon { margin: 0 !important; }

/* ------------------------------------------------ not found: editorial, aligned left */
.pf-404 .error_wrap .row { justify-content: flex-start !important; }
.pf-404 .error_wrap .text-center { text-align: left !important; }
.pf-404 .error_txt { font-size: clamp(120px, 18vw, 220px); font-weight: 700; letter-spacing: -.05em; line-height: .9; }

/* ------------------------------------------------ footer: the store on the left, links on the right */
@media (min-width: 992px) {
    footer .footer_top .row > [class*="col-"]:first-child { flex: 0 0 38%; max-width: 38%; padding-right: 60px; }
    footer .footer_top .row > [class*="col-"]:not(:first-child) { flex: 1 1 0; max-width: none; }
}

footer .footer_top { border-top: 1px solid var(--skin-line); }

/* ------------------------------------------------ pages: an editorial column, headings beside the text */
@media (min-width: 992px) {
    .pf-page .ck-content:not(:has(.pf-contact)) { max-width: 760px; }
}

.pf-page .ck-content:not(:has(.pf-contact)) h2,
.pf-page .ck-content:not(:has(.pf-contact)) h3 { margin-top: 30px; font-weight: 700; letter-spacing: -.02em; }

/* ==========================================================================
   Identity: the fashion magazine. Black and white only, a high-contrast Bodoni for every title,
   square edges, black hairlines, small spaced capitals for navigation and buttons, red for sale.
   ========================================================================== */
:root {
    --skin-ink: #0a0a0a;
    --skin-line: #0a0a0a;
    --skin-surface: #f2f2f2;
    --skin-radius: 0px;
    --skin-radius-lg: 0px;
    --rw-accent: #0a0a0a;
    --sx-radius: 0px;
    --sx-btn-radius: 0px;
    --sx-surface: #f2f2f2;
    --sx-heading-weight: 500;
    --sx-heading-tracking: -.015em;
    --sx-tint-a: #ededed;
    --sx-tint-b: #d6d6d6;
    --sx-tint-c: #f5f5f5;
    --sp-radius: 0px;
    --sp-radius-sm: 0px;
    --sp-sale: #d6001c;
    --sp-new: #0a0a0a;
}

body { background: #ffffff !important; }

h1, h2, h3,
.page-title h1,
.heading_s1 h2, .heading_s1 h3,
.sx h1, .sx h2,
.pr_detail .product_title, .sx-h1, .page-title .sx-h1, .sx .sx-h1 { font-family: var(--rw-display) !important; font-weight: 500 !important; }

.sx h1, .sx .sx-h1 { font-size: clamp(48px, 7.4vw, 120px); line-height: .95; }
.sx h2 { font-size: clamp(34px, 4.6vw, 68px); line-height: 1; }
.page-title h1, .page-title .sx-h1 { font-size: clamp(40px, 5.6vw, 84px) !important; line-height: 1; }

.bottom_header,
.header_wrap { border-bottom: 1px solid #0a0a0a !important; }

.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link {
    background: transparent !important;
    color: #0a0a0a !important;
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase !important;
}

.bottom_header .navbar-nav:not(.attr-nav) > li.active > .nav-link,
.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link:hover { text-decoration: underline; text-underline-offset: 6px; }

.btn,
.sx-btn,
.sp-pill,
.sp-card-add,
.pf-cart-summary .btn,
.payment-checkout-btn {
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.breadcrumb_section {
    background: #ffffff !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #0a0a0a !important;
}

.pf-cart-summary,
.pf-contact .contact_wrap { border: 1px solid #0a0a0a !important; background: #ffffff !important; }

.pf-shop-filters .bb-product-filter { border-bottom-color: #0a0a0a !important; }

.pr_flash,
.sp-badge-sale { background: #d6001c !important; color: #ffffff !important; }

.product_search_form .input-group,
.pf-header-row nav.navbar > .product_search_form .input-group { border: 0 !important; border-bottom: 1px solid #0a0a0a !important; border-radius: 0 !important; background: transparent !important; }

footer,
footer .footer_top,
footer .bottom_footer { background: #ffffff !important; }

footer .footer_top { border-top: 1px solid #0a0a0a !important; }
footer .widget_title { font-family: var(--rw-display); font-size: 22px; font-weight: 500; text-transform: none; }

.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link { padding-left: 9px !important; padding-right: 9px !important; letter-spacing: .12em; white-space: nowrap; }

.product .pr_flash,
.product_wrap .pr_flash { background-color: #d6001c !important; color: #ffffff !important; }

/* ------------------------------------------------ review fixes */
:root { --sx-width: 1320px; }

/* The giant titles are for sections; inside a banner or a card the title stays in its box. */
.sp-banner h1,
.sp-banner strong,
.sp-promo h2,
.sp-promo strong, /* The giant titles are for sections; inside a banner or a card the title stays in its box. */
.sp-banner .sx-h1 { font-size: clamp(26px, 2.8vw, 44px) !important; line-height: 1.02; }

.sp-banners-3 .sp-banner:first-child h1, .sp-banners-3 .sp-banner:first-child .sx-h1 { font-size: clamp(30px, 3.2vw, 52px) !important; }

/* Square everything that was still round. */
.sp-tile-label,
.sp-button,
.sp-arrows button,
.sx-arrows button,
.sp-card-save,
.sp-badge,
.sx-flag,
.sp-tablist button,
.sp-pick-actions a,
.sp-pick-actions button,
.sx-link { border-radius: 0 !important; }

/* Readable text everywhere (contrast check). */
.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link.active,
.bottom_header .navbar-nav:not(.attr-nav) > li.active > .nav-link,
.bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link.nav_item { color: #0a0a0a !important; background: transparent !important; }

del,
.product_price del,
.sx-card-price del,
.sp-card-price del { color: #5b5b63 !important; }

/* ==========================================================================
   The editorial home: a campaign across the page, a running line, a magazine spread, a black footer.
   ========================================================================== */

/* The campaign: the photograph edge to edge under the header, the title huge at the bottom left. */
.sx-hero-full {
    min-height: min(calc(100vh - 120px), 860px);
    margin: 0;
    background: #0a0a0a;
}

.sx-hero-full .sx-hero-media img { filter: grayscale(.15) contrast(1.05); }

.sx-hero-full .sx-hero-media::after {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .58) 0, rgba(0, 0, 0, .22) 48%, rgba(0, 0, 0, 0) 72%),
        linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%);
}

/* The running line sits right under the campaign. */
.sx-hero-full + .sx-marquee,
.sx.sx-marquee { margin-block: 0 !important; }

/* Square the last round things: the tab bar and the newsletter box. */
.sp-tablist,
.sp-tablist button,
.newsletter_form input.form-control,
.newsletter_form .btn,
.newsletter_form .input-group { border-radius: 0 !important; }

.sx-hero-full .sx-hero-copy {
    width: min(100% - 40px, var(--sx-width));
    margin-inline: auto;
    padding: 0 0 clamp(40px, 6vw, 88px);
}

.sx-hero-full .sx-hero-inner { max-width: 980px; }

.sx-hero-full h1, .sx-hero-full .sx-h1 {
    margin: 10px 0 0;
    color: #ffffff;
    font-size: clamp(64px, 11vw, 176px) !important;
    font-weight: 400 !important;
    line-height: .86;
    letter-spacing: -.035em;
}

.sx-hero-full h1 .sx-h-light, .sx-hero-full .sx-h1 .sx-h-light { display: block; font-style: italic; }

.sx-hero-full .sx-kicker {
    color: #ffffff;
    font-size: 12px;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.sx-hero-full .sx-lead { max-width: 40ch; margin-top: 22px; color: rgba(255, 255, 255, .86); font-size: 17px; }

.sx-hero-full .sx-btn {
    margin-top: 26px;
    padding: 17px 34px;
    border: 1px solid #ffffff;
    background: #ffffff;
    color: #0a0a0a;
}

.sx-hero-full .sx-btn:hover { background: transparent; color: #ffffff; }

.sx-hero-full:has(.sx-art) h1,
.sx-hero-full:has(.sx-art) .sx-kicker, .sx-hero-full:has(.sx-art) .sx-h1 { color: #0a0a0a; }

/* The running line: italic Bodoni between two black rules. */
.sx-marquee {
    padding: 18px 0;
    border-top: 1px solid #0a0a0a;
    border-bottom: 1px solid #0a0a0a;
    background: #ffffff;
}

.sx-marquee span {
    font-family: var(--rw-display);
    font-size: clamp(26px, 3vw, 44px);
    font-style: italic;
    font-weight: 400;
    color: #0a0a0a;
}

.sx-marquee i { width: 8px; height: 8px; margin-inline: clamp(18px, 2.4vw, 36px); border-radius: 0; background: #0a0a0a; transform: rotate(45deg); }

/* The lookbook: a magazine spread with a numbered caption over a hairline. */
.sx-lookbook { padding-block: clamp(56px, 8vw, 120px); }

.sx-lookbook-main,
.sx-lookbook-second,
.sx-lookbook-third { border-radius: 0; }

.sx-lookbook-main { aspect-ratio: 3 / 4; }

.sx-lookbook-copy .sx-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #0a0a0a !important;
    font-size: 12px;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.sx-lookbook-copy .sx-kicker::before { content: "No. 01"; font-family: var(--rw-display); font-size: 15px; font-style: italic; letter-spacing: 0; text-transform: none; }
.sx-lookbook-copy .sx-kicker::after { content: ""; flex: 1 1 auto; height: 1px; background: #0a0a0a; }

.sx-lookbook-copy h2 { font-size: clamp(44px, 5.6vw, 88px) !important; line-height: .92; }
.sx-lookbook-copy .sx-lead { max-width: 34ch; color: #3f3f46; }

.sx-lookbook-copy .sx-btn {
    border: 1px solid #0a0a0a;
    background: #0a0a0a;
    color: #ffffff;
}

.sx-lookbook-copy .sx-btn:hover { background: #ffffff; color: #0a0a0a; }

/* Section titles: left aligned over a black hairline. */
.sp-head:not(.sp-head-centre) { padding-bottom: 16px; border-bottom: 1px solid #0a0a0a; }

/* The footer: black, the store on the left. */
footer,
footer .footer_top,
footer .bottom_footer { background: #0a0a0a !important; border-color: rgba(255, 255, 255, .16) !important; }

footer .footer_top { border-top: 0 !important; }

footer a,
footer p,
footer li,
footer .widget_links li a,
footer .widget_links li a span { color: #e7e7e7 !important; }

footer .widget_title,
footer .footer_logo,
footer .pf-footer-brand { color: #ffffff !important; }

footer .widget_links li a:hover span { color: #ffffff !important; text-decoration: underline; }
footer .footer_logo img { filter: brightness(0) invert(1); }
footer .bottom_footer p { color: #a1a1aa !important; }

@media (max-width: 767px) {
    .sp-mosaic-grid .sp-tile-media { width: 100%; aspect-ratio: 3 / 4; border-radius: 0 !important; box-shadow: none !important; }
    .sx-hero-full { min-height: 78vh; }
    .sx-hero-full h1, .sx-hero-full .sx-h1 { font-size: clamp(56px, 17vw, 84px) !important; }
    .sx-lookbook-copy h2 { font-size: 46px !important; }
}
