:root {
  --brand-primary: #111111;
  --brand-secondary: #333333;
  --brand-accent: #c09e6c; /* Luxury gold/beige */
  --brand-text: #555555;
  /* Template accent was pink (#ee2761) — drives toolbar icon circles, badges, many SVG currentColor fills */
  --secondary-color: var(--brand-accent);
  /* Star ratings used amber; align with brand gold */
  --yellow-color: var(--brand-accent);
}

.color-scheme-1,
.color-scheme-2 {
  --secondary-color: var(--brand-accent);
}

/* Avoid rare horizontal scroll from full-bleed sections or wide tables */
html {
  overflow-x: clip;
}

/* Button & Background Overrides */
.primary__btn, 
.bg__secondary,
.header__search--button,
.minicart__button--link,
.slider__btn {
    background-color: var(--brand-primary) !important;
    color: #ffffff !important;
    border-color: var(--brand-primary) !important;
}

.primary__btn:hover, 
.header__search--button:hover,
.minicart__button--link:hover,
.slider__btn:hover {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
}

/* Text color overrides */
.header__menu--link:hover,
.offcanvas__menu_item:hover,
.footer__widget--menu__text:hover,
.product__items--content__title a:hover,
.minicart__subtitle a:hover {
    color: var(--brand-accent) !important;
}

.text-primary {
    color: var(--brand-accent) !important;
}

.bg__black {
    background-color: #000000 !important;
}

/* Adjustments for Logo if needed */
.main__logo--img {
    max-height: 72px;
    object-fit: contain;
}

/* Global overlay failsafe — prevents accidental dark masks */
body.overlay__active::before {
    display: none !important;
}

/* ================================================================
   HERO SLIDER — Clean White Studio Style
   ================================================================ */

/* Force dark charcoal text on slider for contrast with clean white backgrounds */
section.hero__slider--section .slider__content .slider__content--maintitle,
section.hero__slider--section .slider__content .slider__content--desc,
section.hero__slider--section .slider__content p.slider__content--desc.desc1,
section.hero__slider--section .slider__content p.slider__content--desc.desc2,
section.hero__slider--section .slider__content h2.slider__content--maintitle.h1 {
    color: #1a1a1a !important;
    text-shadow: none !important;
}

/* Remove dark gradient overlays from slider backgrounds */
.home1__slider--bg,
.home1__slider--bg.two,
.home1__slider--bg.three {
    background-image: none !important; /* Will be overridden by images below */
    background-color: #f8f8f8 !important; /* Fallback */
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.home1__slider--bg {
    background-image: url(/assets/img/slider/hero-slide-1-white.png) !important;
}

.home1__slider--bg.two {
    background-image: url(/assets/img/slider/hero-slide-2-white.png) !important;
}

.home1__slider--bg.three {
    background-image: url(/assets/img/slider/hero-slide-3-white.png) !important;
}

/* Slider button adjustments */
.hero__slider--section .slider__btn,
.hero__slider--section .primary__btn {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: #ffffff !important;
    text-shadow: none;
}

.hero__slider--section .slider__btn:hover,
.hero__slider--section .primary__btn:hover {
    background-color: #ffffff !important;
    color: var(--brand-primary) !important;
    border-color: #ffffff !important;
}

/* Slider nav buttons */
.hero__slider--activation .swiper__nav--btn {
    background-color: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.hero__slider--activation .swiper__nav--btn:hover {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent);
}

/* ================================================================
   PROMOTIONAL BANNER (mid-page)
   ================================================================ */

.banner__section--inner__style2 {
    border-radius: 8px;
    overflow: hidden;
}

.banner__section--inner__content {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    z-index: 2;
}

.banner__section--inner__content--subtitle {
    font-size: 1.4rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 500;
}

.banner__section--inner__content--title {
    line-height: 1.2;
}

.banner__section--inner__img {
    width: 100%;
    height: auto;
    display: block;
}

/* ================================================================
   PRODUCT CARDS — Clean presentation
   ================================================================ */

.product__items--thumbnail {
    background-color: #f8f8f8;
    border-radius: 6px;
    overflow: hidden;
}

.product__items--img {
    transition: transform 0.4s ease;
}

.product__items:hover .product__items--img {
    transform: scale(1.05);
}

.product__items--content {
    padding-top: 15px;
}

.product__items--content__title a {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--brand-primary);
    text-decoration: none;
}

.current__price {
    font-weight: 600;
    color: var(--brand-primary);
}

.product__badge--items.style1 {
    background-color: var(--brand-accent) !important;
    color: #ffffff;
}

/* ================================================================
   SECTION HEADINGS
   ================================================================ */

.section__heading--maintitle {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--brand-primary);
    position: relative;
    padding-bottom: 15px;
}

.section__heading--maintitle::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background-color: var(--brand-accent);
}

/* ================================================================
   SHIPPING/TRUST BAR
   ================================================================ */

.shipping__inner {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
}

.shipping__items {
    flex: 1;
    padding: 25px 20px;
    border-right: 1px solid #eee;
}

.shipping__items:last-child {
    border-right: none;
}

.shipping__items--icon {
    margin-right: 15px;
    color: var(--brand-accent);
}

.shipping__items--content__title {
    font-size: 1.5rem !important;
    font-weight: 600;
    margin-bottom: 3px;
}

.shipping__items--content__desc {
    font-size: 1.3rem;
    color: var(--brand-text);
    margin: 0;
}

/* Mobile responsive for shipping */
@media only screen and (max-width: 991px) {
    .shipping__inner {
        flex-wrap: wrap;
    }
    .shipping__items {
        flex: 0 0 50%;
        border-bottom: 1px solid #eee;
    }
    .shipping__items:nth-child(2) {
        border-right: none;
    }
}

@media only screen and (max-width: 575px) {
    .shipping__items {
        flex: 0 0 100%;
        border-right: none;
    }
}

/* ================================================================
   NEWSLETTER POPUP — Force hidden (removed from layout)
   ================================================================ */

.newsletter__popup {
    display: none !important;
}

/* ================================================================
   CATEGORY GRID REDESIGN
   ================================================================ */

.banner__items--content__link.border-link {
    text-decoration: underline;
    font-weight: 500;
    font-size: 1.4rem;
    color: var(--brand-primary);
    transition: color 0.3s ease;
}

.banner__items--content__link.border-link:hover {
    color: var(--brand-accent);
}

@media only screen and (min-width: 992px) {
    /* Ensure the left featured banner matches the total height of the two right ones plus gap */
    .banner__section .row {
        display: flex;
    }
    
    .banner__section .col-lg-6:first-child .banner__items,
    .banner__section .col-lg-6:first-child .banner__items--thumbnail,
    .banner__section .col-lg-6:first-child .banner__items--thumbnail__img {
        height: 528px !important; /* Matches 250px + 28px gap + 250px */
        object-fit: cover;
    }
    
    .banner__section .col-lg-6:last-child .banner__items--thumbnail__img {
        height: 250px; /* Further reduced height for stacked banners */
        object-fit: cover;
    }
}

@media only screen and (max-width: 991px) {
    .banner__items--thumbnail__img {
        height: 250px;
        object-fit: cover;
    }
}

/* Banner Content White Utility */
.banner__content--white .banner__items--content__subtitle,
.banner__content--white .banner__items--content__title,
.banner__content--white .banner__items--content__link {
    color: #ffffff !important;
}

.banner__content--white .banner__items--content__link:hover {
    color: var(--brand-accent) !important;
}

/* Breadcrumb — same imagery as home hero slider, with overlay for white headline text */
@keyframes breadcrumb__hero_slides {
    0%,
    30% {
        background-image: url(/assets/img/slider/hero-slide-1-white.png);
    }
    33%,
    63% {
        background-image: url(/assets/img/slider/hero-slide-2-white.png);
    }
    66%,
    96% {
        background-image: url(/assets/img/slider/hero-slide-3-white.png);
    }
    100% {
        background-image: url(/assets/img/slider/hero-slide-1-white.png);
    }
}

.breadcrumb__bg {
    background-color: #f8f8f8 !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-image: url(/assets/img/slider/hero-slide-1-white.png) !important;
    width: 100%;
    animation: breadcrumb__hero_slides 21s ease-in-out infinite;
}

.breadcrumb__bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
        135deg,
        rgba(6, 19, 35, 0.88) 0%,
        rgba(8, 26, 45, 0.72) 45%,
        rgba(6, 19, 35, 0.85) 100%
    );
}

.breadcrumb__bg > .container {
    position: relative;
    z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
    .breadcrumb__bg {
        animation: none !important;
        background-image: url(/assets/img/slider/hero-slide-1-white.png) !important;
    }
}

/* ================================================================
   HEADER THEME — Deep navy with gold text
   ================================================================ */
:root {
    --brand-header-bg: #081a2d;
    --brand-header-gold: #c4a05a;
    --brand-header-gold-hover: #e1bf7a;
}

.header__section,
.main__header,
.header__bottom {
    background-color: var(--brand-header-bg) !important;
}

.header__topbar {
    background-color: #061323 !important;
    border-bottom: 1px solid rgba(196, 160, 90, 0.25);
}

.header__menu--link,
.header__account--btn,
.offcanvas__header--menu__open--btn,
.header__shipping--text,
.header__shipping--text__link,
.language__switcher,
.account__currency--link {
    color: var(--brand-header-gold) !important;
}

.header__menu--link:hover,
.header__account--btn:hover,
.header__account--btn:hover .header__account--btn__text,
.header__shipping--text__link:hover,
.language__switcher:hover,
.account__currency--link:hover {
    color: var(--brand-header-gold-hover) !important;
}

.header__menu--items::before {
    background-color: var(--brand-header-gold) !important;
}

/* Current page — main navigation */
.header__menu--link.is-active {
    color: var(--brand-header-gold-hover) !important;
    font-weight: 600;
    border-bottom: 2px solid var(--brand-header-gold-hover);
}

.offcanvas__menu_item.is-active {
    color: var(--brand-accent) !important;
    font-weight: 600;
}

/* Offcanvas side menu — bg__secondary (brand primary) with gold nav text */
.offcanvas__header.bg__secondary {
    background-color: var(--brand-primary) !important;
    color: var(--brand-header-gold, #c4a05a);
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.35);
}

.offcanvas__header.bg__secondary .offcanvas__menu_item {
    color: var(--brand-header-gold, #c4a05a);
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.offcanvas__header.bg__secondary .offcanvas__menu_item:hover,
.offcanvas__header.bg__secondary .offcanvas__menu_item.is-active {
    color: var(--brand-header-gold-hover, #e1bf7a) !important;
}

.offcanvas__header.bg__secondary .offcanvas__menu_li,
.offcanvas__header.bg__secondary .offcanvas__sub_menu_li {
    border-color: rgba(196, 160, 90, 0.25);
}

.offcanvas__header.bg__secondary .offcanvas__close--btn::before,
.offcanvas__header.bg__secondary .offcanvas__close--btn::after {
    background-color: var(--brand-header-gold, #c4a05a);
}

.offcanvas__header.bg__secondary .offcanvas__account--items__label,
.offcanvas__header.bg__secondary .offcanvas__language--switcher,
.offcanvas__header.bg__secondary .offcanvas__account--currency__menu {
    color: var(--brand-header-gold, #c4a05a);
}

.offcanvas__header.bg__secondary .offcanvas__account--items__icon {
    background: var(--brand-accent);
    color: var(--brand-primary);
}

.offcanvas__header.bg__secondary .offcanvas__account--items__icon svg {
    stroke: var(--brand-primary);
}

.offcanvas__header.bg__secondary .offcanvas__dropdown--language,
.offcanvas__header.bg__secondary .offcanvas__account--currency__submenu {
    background-color: #061323;
    border: 1px solid rgba(196, 160, 90, 0.3);
}

.offcanvas__header.bg__secondary .language__text,
.offcanvas__header.bg__secondary .currency__text {
    color: var(--brand-header-gold, #c4a05a);
}

.offcanvas__header.bg__secondary .language__currency {
    border-top: 1px solid rgba(196, 160, 90, 0.25);
    padding-top: 1rem;
    margin-top: 0.5rem;
}

.widget__categories--sub__menu--link.is-active .widget__categories--sub__menu--text {
    color: var(--brand-accent) !important;
    font-weight: 600;
}

.offcanvas__stikcy--toolbar__btn.is-active {
    color: var(--brand-accent) !important;
}

.offcanvas__stikcy--toolbar__btn.is-active .offcanvas__stikcy--toolbar__label {
    font-weight: 600;
}

.footer__widget--menu__text.is-active {
    color: var(--brand-accent) !important;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.main__header--inner,
.header__bottom--inner {
    min-height: 72px;
}

/* ================================================================
   HIDE PRODUCT PRICES — catalog, quickview, minicart line items
   Cart summary (subtotal/total) stays visible for checkout.
   ================================================================ */

.product__items--price:not(.product__items--price--on-request),
.product__list--items__price,
.product__details--info__price:not(.product__details--price-on-request),
.minicart__price {
    display: none !important;
}

.product__items--price.product__items--price--on-request {
    display: flex !important;
    justify-content: center;
}

/* PDP — show “price on request” line (exception to catalog price hiding) */
.product__details--info__price.product__details--price-on-request {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.product__details--info__price.product__details--price-on-request .current__price {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--brand-primary, #111);
}

/* Shopping cart page only: remove Price + Total columns (per-line amounts) */
.cart__table--shopping .cart__table--header__items .cart__table--header__list:nth-child(2),
.cart__table--shopping .cart__table--header__items .cart__table--header__list:nth-child(4),
.cart__table--shopping .cart__table--body__items .cart__table--body__list:nth-child(2),
.cart__table--shopping .cart__table--body__items .cart__table--body__list:nth-child(4) {
    display: none !important;
}

/* ================================================================
   CONTACT — info card matches navy / gold theme (replaces template pink)
   ================================================================ */

.contact__info {
    background: linear-gradient(155deg, #061323 0%, #0a2740 55%, #081a2d 100%) !important;
    border: 1px solid rgba(196, 160, 90, 0.35);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25);
}

.contact__info--icon {
    color: var(--brand-header-gold) !important;
}

.contact__info--content__desc a {
    color: #f0d78c !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact__info--content__desc a:hover {
    color: var(--brand-header-gold-hover) !important;
}

.contact__info--social__icon:hover {
    color: var(--brand-header-gold) !important;
}

/* ================================================================
   FOOTER — four widgets in one row (About, Quick links, Instagram, Newsletter)
   ================================================================ */

.footer__section .main__footer--widgets {
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 2rem;
    row-gap: 3rem;
}

.footer__section .main__footer--widgets > .footer__widget--width {
    margin-right: 0 !important;
    flex: 1 1 18rem;
    max-width: 100%;
    min-width: 0;
}

@media only screen and (min-width: 1200px) {
    .footer__section .main__footer--widgets > .footer__widget--width {
        flex: 1 1 0;
    }
}

/* Newsletter — keep column narrow (form does not need equal width to other footer blocks) */
.footer__section .main__footer--widgets > .footer__widget--width.footer__widget--newsletter {
    flex: 0 1 20rem;
    max-width: min(20rem, 100%);
    min-width: 0;
}

@media only screen and (min-width: 1200px) {
    .footer__section .main__footer--widgets > .footer__widget--width.footer__widget--newsletter {
        flex: 0 0 20rem;
        max-width: 20rem;
    }
}

.footer__lw-instagram-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    max-width: 21rem;
}

.footer__lw-instagram-grid__link {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    line-height: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.footer__lw-instagram-grid__link:hover {
    opacity: 0.92;
}

.footer__lw-instagram-grid__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.footer__section .newsletter__subscribe--button.footer__newsletter--submit {
    background-color: var(--brand-accent) !important;
    color: #ffffff !important;
    margin-top: 1.2rem;
}

.footer__section .newsletter__subscribe--button.footer__newsletter--submit:hover {
    background-color: #ffffff !important;
    color: var(--brand-primary) !important;
}

.footer__alert--success {
    color: var(--brand-header-gold, #c4a05a);
    font-size: 1.4rem;
}

.footer__alert--error {
    color: #f0a8a8;
    font-size: 1.4rem;
}

/* Shop sidebar — category thumbnails (fixed size, no broken layout) */
.widget__categories--menu__img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 4px;
    margin-right: 10px;
    flex-shrink: 0;
}

.widget__categories--sub__menu--img {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 3px;
    margin-right: 8px;
    flex-shrink: 0;
}

/* ================================================================
   MOBILE RESPONSIVENESS & LAYOUT HARDENING
   ================================================================ */

.main__content_wrapper {
    overflow-x: clip;
}

@media (max-width: 991.98px) {
    .container-fluid {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }
}

/* Media never wider than the viewport (exclude full-bleed home hero) */
.main__content_wrapper img,
.main__content_wrapper video:not(.lw-hero-video__element),
.main__content_wrapper iframe,
.modal img {
    max-width: 100%;
    height: auto;
}

/* Preserve fixed dimensions only where layout depends on them (icons stay crisp) */
.header__shipping--text__icon,
.language__switcher--icon__img,
.product__items--action__btn--svg,
.rating__list--icon__svg {
    max-width: none;
}

/* Fluid type — long titles and hero lines */
.section__heading--maintitle {
    font-size: clamp(1.75rem, 4vw + 0.5rem, 2.6rem);
}

.breadcrumb__content--title {
    font-size: clamp(1.75rem, 3.5vw + 0.5rem, 2.75rem);
    word-break: break-word;
    padding-inline: 0.5rem;
}

section.hero__slider--section .slider__content--maintitle.h1 {
    font-size: clamp(1.85rem, 5vw + 0.5rem, 3.5rem);
    line-height: 1.15;
}

section.hero__slider--section .slider__content--desc {
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    line-height: 1.5;
}

/* Hero: minimum height on small screens so backgrounds read */
@media (max-width: 767.98px) {
    .hero__slider--items {
        min-height: 22rem;
    }

    .hero__slider--items__inner {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}

/* Top bar: avoid horizontal scroll from long tagline */
@media (max-width: 575.98px) {
    .header__shipping--wrapper {
        flex-wrap: wrap;
        row-gap: 0.35rem;
    }

    .header__shipping--text {
        font-size: 1.25rem;
        line-height: 1.35;
    }
}

/* Shop toolbar: stack count on narrow widths */
@media (max-width: 575.98px) {
    .shop__header--toolbar {
        row-gap: 0.75rem;
    }

    .shop__header--toolbar .product__showing--count {
        width: 100%;
        text-align: center;
        order: 3;
        margin-bottom: 0;
    }

    .shop__header--toolbar .widget__filter--btn {
        order: 1;
    }

    .shop__header--toolbar .product__view--mode {
        order: 2;
        margin-left: auto;
    }
}

/* Cart: horizontal scroll with touch momentum; coupon row wraps */
.lw-table-responsive {
    -webkit-overflow-scrolling: touch;
}

.cart__summary--footer ul {
    flex-wrap: wrap;
    gap: 0.75rem;
}

.cart__summary--footer ul li {
    flex: 1 1 auto;
    min-width: min(100%, 11rem);
}

.cart__coupon--field,
.coupon__code--field {
    flex-wrap: wrap;
    gap: 0.75rem;
}

.coupon__code--field__input {
    min-width: 0;
    flex: 1 1 12rem;
}

/* Product detail: gallery and checkout strip */
.pdp__main-media .product__media--preview__items--img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.pdp__safe-checkout-img {
    display: block;
    max-width: 100%;
    height: auto;
}

.product__details--section .quickview__social--wrapper {
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Quick view modal: use viewport on small screens */
@media (max-width: 767.98px) {
    #modal1 .modal-dialog.quickview__main--wrapper {
        max-width: calc(100vw - 1.25rem);
        margin: 0.75rem auto;
    }

    #modal1 .quickview__inner {
        max-height: min(90vh, 100%);
        overflow-y: auto;
    }
}

/* Locations (content page) */
.lw-locations-section__lead {
    font-size: clamp(1.4rem, 2vw, 1.65rem);
    line-height: 1.6;
    color: var(--brand-text, #555);
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}

.lw-locations-section .section__heading--maintitle {
    margin-bottom: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .product__items:hover .product__items--img {
        transform: none;
    }
}

/* ================================================================
   HOME — Dunhill-inspired video hero & luxury header
   ================================================================ */

.page-home .header__section > .header__topbar,
.page-home .header__section > .main__header,
.page-home .header__section > .header__bottom {
    display: none !important;
}

.page-home .header__section {
    background: transparent !important;
    box-shadow: none !important;
    position: static;
    pointer-events: none;
}

.page-home .header__section .offcanvas__header,
.page-home .header__section .predictive__search--box,
.page-home .header__section .offCanvas__minicart {
    pointer-events: auto;
}

.page-home .offcanvas__stikcy--toolbar {
    display: none !important;
}

.page-home .main__content_wrapper--home {
    padding-top: 0;
    margin-top: 0;
}

/*
 * Luxury home header & hero — font sizes in rem (site base is 62.5% → 1rem ≈ 10px).
 * Target ~14–15px nav, ~20–24px kicker, ~16px CTA on desktop.
 */
.lw-luxury-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    padding: 1.5rem 2.5rem;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.35s ease,
        border-color 0.35s ease;
    transform: translateY(0);
    border-bottom: 1px solid transparent;
}

.lw-luxury-header--hidden {
    transform: translateY(-100%);
}

.lw-luxury-header--solid {
    background-color: rgba(8, 26, 45, 0.96);
    border-bottom-color: rgba(196, 160, 90, 0.2);
    backdrop-filter: blur(8px);
}

.lw-luxury-header__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    max-width: 100%;
}

.lw-luxury-header__left,
.lw-luxury-header__right {
    display: flex;
    align-items: center;
    gap: 2.25rem;
}

.lw-luxury-header__right {
    justify-content: flex-end;
}

.lw-luxury-header__center {
    justify-self: center;
}

.lw-luxury-header__link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-family: inherit;
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.25s ease;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.lw-luxury-header__link:hover {
    opacity: 0.75;
    color: #ffffff;
}

.lw-luxury-header--solid .lw-luxury-header__link {
    color: var(--brand-header-gold, #c4a05a);
    text-shadow: none;
}

.lw-luxury-header--solid .lw-luxury-header__link:hover {
    color: var(--brand-header-gold-hover, #e1bf7a);
}

.lw-luxury-header__icon {
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
}

.lw-luxury-header__icon--bag {
    width: 1.65rem;
    height: 1.65rem;
}

.lw-luxury-header__logo-img {
    max-height: 4.25rem;
    width: auto;
    filter: brightness(0) invert(1);
    transition: filter 0.35s ease;
}

.lw-luxury-header--solid .lw-luxury-header__logo-img {
    filter: none;
}

.lw-luxury-header__count {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.06em;
}

.lw-luxury-header__count:empty,
.lw-luxury-header__count[data-wishlist-count="0"] {
    display: none;
}

/* Full-viewport video hero */
.lw-hero-video {
    position: relative;
    width: 100%;
    height: 100svh;
    height: 100dvh;
    min-height: 100svh;
    min-height: 100dvh;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    background-color: #111;
    isolation: isolate;
}

.lw-hero-video__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.lw-hero-video__element {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center center;
}

.lw-hero-video__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform-origin: center center;
    animation: lw-hero-poster-kenburns 24s ease-in-out infinite alternate;
}

@keyframes lw-hero-poster-kenburns {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.06);
    }
}

/* Dunhill-style hero copy: wide bottom band, kicker + dashed CTA only */
.lw-hero-video__content {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    color: #ffffff;
    padding: 0 clamp(2rem, 6vw, 5rem) clamp(3.5rem, 8vh, 5rem);
}

.lw-hero-video__kicker {
    margin: 0 0 1.1rem;
    font-size: clamp(1.2rem, 1.6vw, 1.45rem);
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    line-height: 1.4;
    color: #ffffff !important;
}

.lw-hero-video__cta {
    display: inline-block;
    color: #ffffff !important;
    font-size: clamp(1.15rem, 1.4vw, 1.35rem);
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
    padding-bottom: 0.25rem;
    transition: opacity 0.25s ease, border-color 0.25s ease;
}

.lw-hero-video__cta:hover {
    opacity: 0.75;
    color: #ffffff !important;
    border-bottom-color: #ffffff;
}

.lw-hero-video__controls {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 3;
    display: flex;
    gap: 0.65rem;
}

.lw-hero-video__control {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(0, 0, 0, 0.25);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.25s ease, border-color 0.25s ease;
}

.lw-hero-video__control:hover {
    background: rgba(0, 0, 0, 0.45);
    border-color: #ffffff;
}

.lw-hero-video__control-icon {
    width: 1.35rem;
    height: 1.35rem;
}

.lw-hero-video__control-icon--unmuted,
.lw-hero-video__control-icon--play,
.lw-hero-video__control.is-muted .lw-hero-video__control-icon--unmuted,
.lw-hero-video__control:not(.is-paused) .lw-hero-video__control-icon--play {
    display: none;
}

.lw-hero-video__control.is-muted .lw-hero-video__control-icon--muted,
.lw-hero-video__control:not(.is-muted) .lw-hero-video__control-icon--unmuted,
.lw-hero-video__control.is-paused .lw-hero-video__control-icon--play,
.lw-hero-video__control:not(.is-paused) .lw-hero-video__control-icon--pause {
    display: block;
}

/* Editorial category blocks (below hero) */
.lw-editorial {
    background-color: #ffffff;
}

.lw-editorial__block {
    border-top: 1px solid #ebebeb;
}

.lw-editorial__link {
    display: grid;
    grid-template-columns: 1fr;
    text-decoration: none;
    color: inherit;
}

@media (min-width: 992px) {
    .lw-editorial__link {
        grid-template-columns: 1fr 1fr;
        min-height: 28rem;
    }

    .lw-editorial__block--alt .lw-editorial__media {
        order: 2;
    }
}

.lw-editorial__media {
    position: relative;
    overflow: hidden;
    min-height: 18rem;
    background-color: #f4f4f4;
}

.lw-editorial__img {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.lw-editorial__link:hover .lw-editorial__img {
    transform: scale(1.03);
}

.lw-editorial__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 3rem 2rem;
}

.lw-editorial__subtitle {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--brand-text, #555);
}

.lw-editorial__title {
    margin: 0 0 1.25rem;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--brand-primary, #111);
}

.lw-editorial__discover {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--brand-primary, #111);
    border-bottom: 1px dashed rgba(17, 17, 17, 0.45);
    padding-bottom: 0.15rem;
    transition: border-color 0.25s ease;
}

.lw-editorial__link:hover .lw-editorial__discover {
    border-bottom-color: var(--brand-accent, #c09e6c);
}

@media (min-width: 992px) {
    .lw-luxury-header__link {
        font-size: 1.45rem;
    }
}

@media (max-width: 767.98px) {
    .lw-luxury-header {
        padding: 1.25rem 1.25rem;
    }

    .lw-luxury-header__left,
    .lw-luxury-header__right {
        gap: 1.25rem;
    }

    .lw-luxury-header__link {
        font-size: 1.2rem;
    }

    .lw-luxury-header__link span:not(.lw-luxury-header__count) {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .lw-luxury-header__icon {
        width: 2rem;
        height: 2rem;
    }

    .lw-luxury-header__logo-img {
        max-height: 3.5rem;
    }

    .lw-hero-video__content {
        padding: 0 1.5rem max(3.5rem, calc(env(safe-area-inset-bottom) + 2rem));
    }

    .lw-hero-video__controls {
        right: 1rem;
        bottom: max(1rem, env(safe-area-inset-bottom));
    }
}

@media (prefers-reduced-motion: reduce) {
    .lw-hero-video__poster {
        animation: none;
    }

    .lw-luxury-header {
        transition: none;
    }

    .lw-editorial__link:hover .lw-editorial__img {
        transform: none;
    }
}

/* ================================================================
   SHOP & PRODUCT — Brunello Cucinelli–inspired catalog
   ================================================================ */

.page-shop .header__section > .header__topbar,
.page-shop .header__section > .main__header,
.page-shop .header__section > .header__bottom,
.page-product .header__section > .header__topbar,
.page-product .header__section > .main__header,
.page-product .header__section > .header__bottom {
    display: none !important;
}

.page-shop .header__section,
.page-product .header__section {
    background: transparent !important;
    box-shadow: none !important;
    position: static;
    pointer-events: none;
}

.page-shop .header__section .offcanvas__header,
.page-shop .header__section .predictive__search--box,
.page-shop .header__section .offCanvas__minicart,
.page-product .header__section .offcanvas__header,
.page-product .header__section .predictive__search--box,
.page-product .header__section .offCanvas__minicart {
    pointer-events: auto;
}

.page-shop .offcanvas__stikcy--toolbar,
.page-product .offcanvas__stikcy--toolbar {
    display: none !important;
}

.page-shop .lw-luxury-header,
.page-product .lw-luxury-header {
    position: sticky;
    top: 0;
    transform: none !important;
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
    padding: 1.75rem 4rem;
    z-index: 900;
}

.page-shop .lw-luxury-header__inner,
.page-product .lw-luxury-header__inner {
    max-width: 100%;
}

.page-shop .lw-luxury-header__link,
.page-product .lw-luxury-header__link {
    color: #1a1a1a;
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-shadow: none;
}

.page-shop .lw-luxury-header__left > .lw-luxury-header__link:first-child,
.page-product .lw-luxury-header__left > .lw-luxury-header__link:first-child {
    color: var(--brand-header-gold, #c4a05a);
}

.page-shop .lw-luxury-header__left > .lw-luxury-header__link:first-child:hover,
.page-product .lw-luxury-header__left > .lw-luxury-header__link:first-child:hover {
    color: var(--brand-header-gold-hover, #a8894a);
}

.page-shop .lw-luxury-header__link:hover,
.page-product .lw-luxury-header__link:hover {
    color: #666666;
}

.page-shop .lw-luxury-header--catalog .lw-luxury-header__logo-img,
.page-product .lw-luxury-header--catalog .lw-luxury-header__logo-img,
.page-shop .lw-luxury-header__logo-img,
.page-product .lw-luxury-header__logo-img {
    filter: none;
    max-height: none;
    height: 6.4rem;
    width: auto;
    max-width: min(28rem, 46vw);
    object-fit: contain;
}

.page-shop .lw-luxury-header__icon,
.page-product .lw-luxury-header__icon {
    width: 1.5rem;
    height: 1.5rem;
}

/* —— Shop listing —— */
.lw-shop {
    background: #ffffff;
    color: #1a1a1a;
    padding-bottom: 5rem;
}

.lw-shop__head {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
    gap: 1rem 2rem;
    padding: 1.75rem 4rem 2.25rem;
    border-bottom: 0;
}

.lw-shop__breadcrumbs {
    grid-column: 1;
    justify-self: start;
}

.lw-shop__breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.15rem;
    letter-spacing: 0.02em;
    text-transform: none;
}

.lw-shop__breadcrumbs-item {
    display: inline-flex;
    align-items: center;
    color: #6b6b6b;
}

.lw-shop__breadcrumbs-item:not(:last-child)::after {
    content: "/";
    margin: 0 0.55rem;
    color: #b0b0b0;
}

.lw-shop__breadcrumbs-item a {
    color: inherit;
    text-decoration: none;
}

.lw-shop__breadcrumbs-item a:hover {
    color: #1a1a1a;
}

.lw-shop__breadcrumbs-item span {
    color: #1a1a1a;
}

.lw-shop__title {
    grid-column: 1 / -1;
    justify-self: center;
    margin: 1.25rem 0 0;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 5.5vw, 5.6rem);
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1;
    color: #1a1a1a;
    text-align: center;
}

.lw-shop__filters-btn {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1a1a1a;
    font-family: inherit;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
}

.lw-shop__filters-btn:hover {
    opacity: 0.65;
}

.lw-shop__empty {
    padding: 4rem 3rem;
    text-align: center;
    font-size: 1.4rem;
    color: #6b6b6b;
}

.lw-shop__empty a {
    color: #1a1a1a;
}

.lw-shop__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    padding: 2px 2rem 0;
    max-width: 100%;
}

@media (min-width: 1200px) {
    .lw-shop__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.lw-shop__grid--related {
    padding-top: 0;
}

/* Product card — Brunello-style */
.lw-shop-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #ffffff;
}

.lw-shop-card__media {
    position: relative;
    background: #ececec;
    overflow: hidden;
    aspect-ratio: 4 / 5;
}

.lw-shop-card__slider {
    position: relative;
    width: 100%;
    height: 100%;
}

.lw-shop-card__link {
    display: block;
    width: 100%;
    height: 100%;
}

.lw-shop-card__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.lw-shop-card__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
}

.lw-shop-card__slide img,
.lw-shop-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.lw-shop-card__nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1a1a1a;
    opacity: 0;
    transform: translateY(-50%);
    cursor: pointer;
    transition: opacity 0.28s ease, transform 0.28s ease;
    pointer-events: none;
}

.lw-shop-card__nav svg {
    display: block;
}

.lw-shop-card__nav--prev {
    left: 0.65rem;
}

.lw-shop-card__nav--next {
    right: 0.65rem;
}

.lw-shop-card--multi .lw-shop-card__media:hover .lw-shop-card__nav,
.lw-shop-card--multi .lw-shop-card__media:focus-within .lw-shop-card__nav {
    opacity: 1;
    pointer-events: auto;
}

.lw-shop-card__nav:hover {
    transform: translateY(-50%) scale(1.08);
}

@media (hover: none) {
    .lw-shop-card--multi .lw-shop-card__nav {
        opacity: 0.9;
        pointer-events: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lw-shop-card__track {
        transition: none;
    }
}

.lw-shop-card__pager {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
}

.lw-shop-card__pager-track {
    display: block;
    width: 100%;
    height: 2px;
    background: rgba(0, 0, 0, 0.12);
}

.lw-shop-card__pager-fill {
    display: block;
    height: 100%;
    background: #1a1a1a;
    transition: width 0.15s ease;
}

.lw-shop-card__tag {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    z-index: 3;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #1a1a1a;
    line-height: 1;
}

.lw-shop-card__wishlist {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #1a1a1a;
    cursor: pointer;
}

.lw-shop-card__wishlist:hover {
    background: #ffffff;
}

.lw-shop-card__meta {
    padding: 1.4rem 0 2.6rem;
}

.lw-shop-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.lw-shop-card__title {
    margin: 0;
    font-family: inherit;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.3;
}

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

.lw-shop-card__title a:hover {
    opacity: 0.55;
}

.lw-shop-card__quick {
    flex-shrink: 0;
    margin-top: 0;
    font-size: 2rem;
    font-weight: 200;
    line-height: 1;
    color: #1a1a1a;
    text-decoration: none;
}

.lw-shop-card__quick:hover {
    opacity: 0.55;
}

.lw-shop-card__price {
    margin: 0.55rem 0 0;
    font-size: 1.3rem;
    font-weight: 400;
    color: #1a1a1a;
}

.lw-shop-card__colors {
    margin: 0.65rem 0 0;
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #767676;
}

/* Filters drawer */
.lw-shop-filters[hidden] {
    display: none;
}

.lw-shop-filters:not([hidden]) {
    display: block;
}

.lw-shop-filters__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.35);
}

.lw-shop-filters__panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1101;
    width: min(420px, 92vw);
    height: 100%;
    background: #ffffff;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lw-shop-filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.75rem 2rem;
    border-bottom: 1px solid #efefef;
}

.lw-shop-filters__title {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 2.4rem;
    font-weight: 500;
}

.lw-shop-filters__close {
    border: 0;
    background: transparent;
    font-size: 2.4rem;
    line-height: 1;
    color: #1a1a1a;
    cursor: pointer;
}

.lw-shop-filters__body {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem 2rem 2rem;
}

.lw-shop-filters__label {
    margin: 0 0 1rem;
    font-size: 1rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.lw-shop-filters__list {
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.lw-shop-filters__list--sub {
    padding-left: 1.25rem;
}

.lw-shop-filters__link {
    display: block;
    padding: 0.45rem 0;
    color: #1a1a1a;
    font-size: 1.35rem;
    text-decoration: none;
}

.lw-shop-filters__link.is-active,
.lw-shop-filters__link:hover {
    opacity: 0.55;
}

.lw-shop-filters__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.lw-shop-filters__tag {
    display: inline-block;
    padding: 0.4rem 0.85rem;
    border: 1px solid #e0e0e0;
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    color: #4a4a4a;
}

html.lw-shop-filters-open {
    overflow: hidden;
}

/* —— Product detail —— */
.lw-pdp {
    background: #ffffff;
    color: #1a1a1a;
    padding: 2rem 3rem 5rem;
}

.lw-pdp__breadcrumbs {
    margin-bottom: 2.5rem;
}

.lw-pdp__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 4rem 5rem;
    align-items: start;
    max-width: 1400px;
    margin: 0 auto;
}

.lw-pdp__stage {
    background: #f4f4f4;
    aspect-ratio: 4 / 5;
}

.lw-pdp__stage-link {
    display: block;
    width: 100%;
    height: 100%;
}

.lw-pdp__stage-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.lw-pdp__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.lw-pdp__thumb {
    padding: 0;
    border: 1px solid transparent;
    background: #f4f4f4;
    cursor: pointer;
    width: 5.5rem;
}

.lw-pdp__thumb.is-active {
    border-color: #1a1a1a;
}

.lw-pdp__thumb img {
    display: block;
    width: 100%;
    height: 6.5rem;
    object-fit: cover;
}

.lw-pdp__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.lw-pdp__title {
    margin: 0 0 0.5rem;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(3rem, 4vw, 4.2rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.lw-pdp__subtitle {
    margin: 0 0 1.25rem;
    font-size: 1.4rem;
    color: #6b6b6b;
}

.lw-pdp__price {
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
}

.lw-pdp__lead {
    margin: 0 0 2rem;
    font-size: 1.4rem;
    line-height: 1.65;
    color: #4a4a4a;
    max-width: 36em;
}

.lw-pdp__fieldset {
    margin: 0 0 1.75rem;
    padding: 0;
    border: 0;
}

.lw-pdp__legend {
    margin: 0 0 0.85rem;
    padding: 0;
    font-size: 1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.lw-pdp__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lw-pdp__swatch {
    padding: 2px;
    border: 1px solid #e0e0e0;
    background: #fff;
    cursor: pointer;
}

.lw-pdp__swatch.is-active {
    border-color: #1a1a1a;
}

.lw-pdp__swatch img {
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    object-fit: cover;
}

.lw-pdp__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lw-pdp__size {
    cursor: pointer;
}

.lw-pdp__size input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lw-pdp__size span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.25rem;
    height: 3.25rem;
    padding: 0 0.75rem;
    border: 1px solid #d8d8d8;
    font-size: 1.2rem;
    letter-spacing: 0.06em;
}

.lw-pdp__size input:checked + span {
    border-color: #1a1a1a;
    background: #1a1a1a;
    color: #ffffff;
}

.lw-pdp__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.lw-pdp__qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d8d8d8;
}

.lw-pdp__qty-btn {
    width: 3rem;
    height: 3rem;
    border: 0;
    background: transparent;
    font-size: 1.4rem;
    cursor: pointer;
}

.lw-pdp__qty-input {
    width: 3.5rem;
    border: 0;
    border-left: 1px solid #d8d8d8;
    border-right: 1px solid #d8d8d8;
    text-align: center;
    font-size: 1.3rem;
    -moz-appearance: textfield;
}

.lw-pdp__qty-input::-webkit-outer-spin-button,
.lw-pdp__qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.lw-pdp__wishlist {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    border: 1px solid #d8d8d8;
    background: transparent;
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
}

.lw-pdp__cta {
    display: block;
    width: 100%;
    max-width: 28rem;
    margin-bottom: 2rem;
    padding: 1.15rem 2rem;
    background: #1a1a1a;
    color: #ffffff !important;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.lw-pdp__cta:hover {
    background: #333333;
    color: #ffffff !important;
}

.lw-pdp__meta {
    display: grid;
    gap: 0.5rem;
    margin: 0 0 2.5rem;
    font-size: 1.2rem;
    color: #6b6b6b;
}

.lw-pdp__meta div {
    display: flex;
    gap: 0.5rem;
}

.lw-pdp__meta dt {
    font-weight: 500;
    color: #1a1a1a;
}

.lw-pdp__meta dd {
    margin: 0;
}

.lw-pdp__accordions {
    border-top: 1px solid #efefef;
}

.lw-pdp__details {
    border-bottom: 1px solid #efefef;
}

.lw-pdp__details summary {
    padding: 1.25rem 0;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.lw-pdp__details summary::-webkit-details-marker {
    display: none;
}

.lw-pdp__details-body {
    padding: 0 0 1.5rem;
    font-size: 1.35rem;
    line-height: 1.65;
    color: #4a4a4a;
}

.lw-pdp__details-body ul {
    margin: 1rem 0 0;
    padding-left: 1.25rem;
}

.lw-pdp__related {
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: 1px solid #efefef;
}

.lw-pdp__related-title {
    margin: 0 0 2rem;
    text-align: center;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 3rem;
    font-weight: 500;
}

@media (max-width: 991.98px) {
    .lw-pdp__layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .lw-shop__head {
        grid-template-columns: 1fr auto;
        padding: 1.5rem 1.5rem 2rem;
    }

    .page-shop .lw-luxury-header,
    .page-product .lw-luxury-header {
        padding: 1.35rem 1.5rem;
    }

    .page-shop .lw-luxury-header__logo-img,
    .page-product .lw-luxury-header__logo-img {
        height: 5rem;
        max-width: 55vw;
    }

    .lw-shop__title {
        grid-column: 1 / -1;
    }

    .lw-shop__filters-btn {
        grid-column: 2;
    }

    .lw-shop__grid {
        padding: 0.35rem 1.5rem 0;
    }

    .lw-pdp {
        padding: 1.5rem 1.5rem 4rem;
    }
}

@media (max-width: 575.98px) {
    .page-shop .lw-luxury-header,
    .page-product .lw-luxury-header {
        padding: 1.15rem 1.25rem;
    }

    .page-shop .lw-luxury-header__logo-img,
    .page-product .lw-luxury-header__logo-img {
        height: 4.2rem;
    }
}

