/* Desktop navigation follows the original site's local-first Helvetica face. */
@font-face {
    font-family: "Luxanora Desktop Helvetica";
    src: local("Helvetica"), url("../fonts/Helvetica-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Luxanora Helvetica";
    src: url("../fonts/Helvetica-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Luxanora Helvetica";
    src: url("../fonts/Helvetica-Light.woff") format("woff");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Luxanora Plumb";
    src: url("../fonts/PlumbLightC.otf") format("opentype");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Luxanora Home Helvetica";
    src: local("Helvetica"), url("../fonts/Helvetica-Thin.woff") format("woff");
    font-style: normal;
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: "Luxanora Home Helvetica";
    src: local("Helvetica"), url("../fonts/Helvetica-Light.woff") format("woff");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Luxanora Home Helvetica";
    src: local("Helvetica"), url("../fonts/Helvetica-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

:root {
    /* Fixed site-wide scale; H3 remains 75% of H2. */
    --luxanora-h2-size: 44px;
    --luxanora-h3-size: 33px;
    /* Body paragraphs + descriptions: one shared type style site-wide. */
    --luxanora-p-size: 16px;
    --luxanora-p-line-height: 1.65;
    --luxanora-p-weight: 300;
    --luxanora-p-letter-spacing: .005em;
    --luxanora-desc-size: var(--luxanora-p-size);
    --luxanora-desc-line-height: var(--luxanora-p-line-height);
    --luxanora-desc-weight: var(--luxanora-p-weight);
    --luxanora-desc-letter-spacing: var(--luxanora-p-letter-spacing);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Luxanora Home Helvetica", Helvetica, sans-serif;
}

/* Site-wide heading scale: every H2 shares one size; every H3 is 75% of H2. */
h2 {
    font-size: var(--luxanora-h2-size) !important;
}

h3 {
    font-size: var(--luxanora-h3-size) !important;
}

/* Site-wide paragraph rhythm. */
p {
    font-family: "Luxanora Home Helvetica", Helvetica, Arial, sans-serif;
    font-size: var(--luxanora-p-size);
    font-weight: var(--luxanora-p-weight);
    letter-spacing: var(--luxanora-p-letter-spacing);
    line-height: var(--luxanora-p-line-height);
}

/* Descriptions use the exact same type style as paragraphs. */
.luxanora-home-hero__subtitle,
.luxanora-certified__description,
.luxanora-home-categories__description,
.luxanora-collection-intro__description,
.luxanora-home-uae-gcc__text,
.luxanora-catalog__description,
.luxanora-product-page__description,
.luxanora-product-page__description p,
.luxanora-product-content__subtitle,
.luxanora-product-content,
.luxanora-product-content__intro p,
.luxanora-product-content__section p,
.luxanora-product-content__faq-item p,
.luxanora-home-faq__answer,
.luxanora-home-faq__answer p,
.luxanora-home-story__copy p,
.luxanora-home-why__copy p,
.luxanora-gun-collection-page .col-50 .text,
.luxanora-gun-collection-page .new-main-catalog .text {
    font-family: "Luxanora Home Helvetica", Helvetica, Arial, sans-serif;
    font-size: var(--luxanora-p-size);
    font-weight: var(--luxanora-p-weight);
    letter-spacing: var(--luxanora-p-letter-spacing);
    line-height: var(--luxanora-p-line-height);
}

.luxanora-header,
.luxanora-footer {
    color: #fff;
    font-family: "Luxanora Helvetica", Helvetica, sans-serif;
}

/* Keep footer above page panels that extend with negative offsets (Brand/Warranty). */
.luxanora-footer {
    position: relative;
    z-index: 2;
}

.luxanora-header a,
.luxanora-footer a {
    color: inherit;
    text-decoration: none;
}

.luxanora-header .top-menu {
    position: fixed;
    z-index: 30;
    inset: 0 0 auto;
    padding: 34px 0 22px;
    background: #131313;
    transition: background-color .4s, box-shadow .4s;
}

.luxanora-header .top-menu.is-scrolled {
    background: rgba(19, 19, 19, .96);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.luxanora-header .wrap,
.luxanora-footer .wrap {
    position: relative;
    margin-inline: auto;
    width: min(81%, 1440px);
}

.luxanora-header__wrap {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.luxanora-header__contact {
    flex: 1 1 33%;
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
}

.luxanora-header__contact .phnedstp {
    color: #939393;
    margin-right: 0px;
    font-size: 11px;
}

.luxanora-header__contact a + a {
    margin-left: 20px;
}

.luxanora-header .logo {
    display: block;
    flex: 0 0 150px;
    width: 150px;
    margin: 0;
    line-height: 0;
}

.luxanora-header .logo img,
.luxanora-footer .logo img {
    display: block;
    width: 100%;
    height: auto;
}

.luxanora-header__navigation {
    flex: 1 1 40%;
    display: flex;
    justify-content: flex-end;
    font-family: "Luxanora Plumb", "Luxanora Helvetica", sans-serif;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.luxanora-menu,
.luxanora-header .menu,
.luxanora-footer .menu,
.luxanora-header .soc,
.luxanora-footer .soc,
.luxanora-header .s-mneu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.luxanora-menu--primary,
.luxanora-menu--footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 22px;
}

.luxanora-header__navigation a {
    color: #a4a4a4;
    font-size: 12px;
    letter-spacing: .04em;
    transition: color .2s;
}

.luxanora-header__navigation a:hover,
.luxanora-header__navigation .current-menu-item > a {
    color: #fff;
}

/* Match original desktop primary-navigation typography. */
@media (min-width: 801px) {
    .luxanora-header__navigation .luxanora-menu--primary {
        column-gap: 1.3vw;
    }

    .luxanora-header__navigation .luxanora-menu--primary a {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: .8vw;
        font-weight: 400;
        line-height: normal;
        letter-spacing: .05vw;
    }
}

/* Match the original desktop primary-navigation visibility breakpoint. */
@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-header__navigation .luxanora-menu--primary {
        display: none;
    }
}

.luxanora-header .mobileonly,
.luxanora-header .notdesctop {
    display: none;
}

.luxanora-header .catalog-btn {
    position: relative;
    border: 0;
    padding: 10px 8px;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.luxanora-header .catalog-btn span,
.luxanora-header .catalog-btn::before,
.luxanora-header .catalog-btn::after {
    position: absolute;
    display: block;
    height: 1px;
    margin: 0;
    background: #fff;
    content: "";
    transition: transform .3s ease, opacity .3s ease;
}

.luxanora-header .catalog-btn span {
    top: 18px;
    left: 0;
    width: 25.5px;
    transform: translateX(0);
}

.luxanora-header .top-menu.nomobile .luxanora-header__wrap .catalog-btn.luxanora-menu-toggle span {
    top: 18px;
    left: 0;
    width: 25.5px;
    transform: translateX(0);
}

.luxanora-header .catalog-btn::before {
    top: 9px;
    left: 25%;
    width: 17px;
    transform: translateX(-50%);
}

.luxanora-header .catalog-btn::after {
    top: 25px;
    right: 25%;
    width: 17px;
    transform: translateX(50%);
}

@media (hover: hover) and (pointer: fine) {
    body:not(.open-menu) .luxanora-header .catalog-btn:hover::before {
        transform: translateX(50%);
    }

    body:not(.open-menu) .luxanora-header .catalog-btn:hover span {
        transform: translateX(25%);
    }

    body:not(.open-menu) .luxanora-header .top-menu .luxanora-header__wrap .catalog-btn.luxanora-menu-toggle:hover span {
        transform: translateX(25%);
    }

    body:not(.open-menu) .luxanora-header .catalog-btn:hover::after {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .luxanora-header .catalog-btn span,
    .luxanora-header .catalog-btn::before,
    .luxanora-header .catalog-btn::after {
        transition-duration: .01ms;
    }

    .luxanora-navigation-drawer {
        transition-duration: .01ms;
    }
}

.luxanora-menu-backdrop {
    position: fixed;
    z-index: 39;
    inset: 0;
    border: 0;
    background: rgba(0, 0, 0, .58);
}

.luxanora-menu-backdrop[hidden] {
    display: none;
}

.luxanora-navigation-drawer {
    position: fixed;
    z-index: 40;
    inset: 0 auto 0 0;
    width: 65%;
    overflow-y: auto;
    padding: 120px 6vw 48px;
    background: #000;
    color: #fff;
    opacity: 0;
    transform: translateX(-100%);
    transition: transform .45s ease, opacity .3s ease;
    visibility: hidden;
}

body.open-menu .luxanora-navigation-drawer {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}

.luxanora-navigation-drawer .vertical {
    position: absolute;
    inset: 0 auto 0 0;
    width: 30px;
    background: #131313;
}

.luxanora-navigation-drawer .vertical .soc {
    position: absolute;
    bottom: 15%;
    left: -130px;
    display: flex;
    width: 290px;
    justify-content: space-around;
    transform: rotate(-90deg);
    font-size: 10px;
    text-transform: uppercase;
}

.luxanora-navigation-drawer .col-50 {
    width: 50%;
    display: inline-block;
    vertical-align: top;
}

.luxanora-navigation-drawer__secondary {
    padding-left: 34px;
    border-left: 1px solid #252525;
}

.luxanora-navigation-drawer .menu li {
    list-style: none;
}

.luxanora-navigation-drawer .menu a {
    display: inline-block;
    padding: 13px 0;
    color: #d0d0d0;
    font-size: clamp(14px, 1.1vw, 18px);
    font-weight: 300;
    letter-spacing: .08em;
}

.luxanora-navigation-drawer .menu a:hover,
.luxanora-navigation-drawer .current-menu-item > a {
    color: #fff;
}

.luxanora-navigation-drawer__secondary .menu a,
.luxanora-navigation-drawer .s-mneu a,
.luxanora-contact-menu span {
    color: #808080;
    font-size: clamp(12px, .9vw, 15px);
}

.luxanora-navigation-drawer .luxanora-contact-menu {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #252525;
}

.luxanora-navigation-drawer .luxanora-contact-menu li {
    padding: 7px 0;
}

.luxanora-navigation-drawer .luxanora-catalog-link {
    margin-top: 22px;
}

.luxanora-navigation-drawer .luxanora-catalog-link a {
    color: #a4a4a4;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.luxanora-navigation-drawer .luxanora-social-links {
    display: flex;
    gap: 18px;
    margin-top: 24px;
    text-transform: uppercase;
    font-size: 11px;
}

.luxanora-menu-close {
    position: absolute;
    top: 28px;
    right: 34px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.luxanora-menu-close::before,
.luxanora-menu-close::after {
    position: absolute;
    top: 18px;
    left: 9px;
    width: 18px;
    height: 1px;
    background: #fff;
    content: "";
}

.luxanora-menu-close::before { transform: rotate(45deg); }
.luxanora-menu-close::after { transform: rotate(-45deg); }

.luxanora-header .whatsapp-fixed {
    position: fixed;
    z-index: 35;
    bottom: 20px;
    left: 20px;
    display: block;
    width: 48px;
    height: 48px;
}

.luxanora-header .whatsapp-fixed img {
    display: block;
    width: 100%;
    height: auto;
}

.luxanora-footer .bottommob {
    display: block;
    padding: clamp(48px, 6vw, 88px) 0 clamp(36px, 4vw, 56px);
    background: #0c0c0c;
    text-align: center;
}

.luxanora-footer__mobile-inner {
    width: min(84%, 720px);
    margin-inline: auto;
}

.luxanora-footer__brand-contacts {
    display: block;
}

.luxanora-footer .bottommob .logo {
    position: relative;
    display: block;
    width: min(420px, 56vw);
    margin: 0 auto 28px;
}

.luxanora-footer .bottommob .logo img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.luxanora-footer .bottommob .logo::after {
    display: block;
    width: min(188px, 48%);
    height: 1px;
    margin: 18px auto 0;
    background-color: #1a1a1a;
    content: "";
}

.luxanora-footer .bottommob .luxanora-footer__email {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 22px;
    margin: 0 0 28px;
    padding-top: 4px;
    color: #6b6b6b;
    font-family: Helvetica, Arial, sans-serif;
    font-size: clamp(14px, 1.05vw, 16px);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.5px;
}

.luxanora-footer .bottommob .luxanora-footer__email a {
    display: inline;
    padding-left: 0;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
    font-size: inherit;
    font-weight: 300;
    line-height: inherit;
    letter-spacing: 1px;
    text-decoration: none;
}

.luxanora-footer .bottommob .soc {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
    padding: 0;
    list-style: none;
}

.luxanora-footer .bottommob .soc a {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid #2b2b2b;
    border-radius: 50%;
    color: #8a8a8a;
}

.luxanora-footer .bottommob .soc img {
    display: block;
    width: 24px;
    height: 24px;
    opacity: 0.5;
}

.luxanora-footer .bottom {
    padding: 22px 0;
    background: #0c0c0c;
}

.luxanora-footer__desktop-inner {
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    gap: 22px;
}

.luxanora-footer__copy {
    margin: 0;
    color: #808080;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: .08em;
    line-height: 1.4;
    text-align: center;
}

.luxanora-footer .bottom a {
    color: #808080;
    font-size: 11px;
    letter-spacing: .08em;
}

.luxanora-footer .bottom a:hover {
    color: #fff;
}

.luxanora-footer .luxanora-menu--footer {
    justify-content: center;
}

@media (max-width: 1000px) {
    .luxanora-header .nomobile,
    .luxanora-footer .nomobile {
        display: none;
    }

    .luxanora-header .notdesctop {
        display: block;
    }

    .luxanora-header .mobileonly {
        display: block;
    }

    .luxanora-header .top-menu {
        padding: 12px 0 16px;
    }

    .luxanora-header__wrap {
        min-height: 38px;
        width: 84%;
    }

    .luxanora-header .top-menu .logo {
        flex: 0 0 116px;
        width: 116px;
    }

    .luxanora-header .catalog-btn {
        width: 42px;
        height: 21px;
        margin-left: auto;
        padding: 0;
    }

    .luxanora-header .catalog-btn span {
        top: 6px;
    }

    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap .catalog-btn.luxanora-menu-toggle span {
        top: 6px;
    }

    .luxanora-header .catalog-btn::before {
        top: 0;
    }

    .luxanora-header .catalog-btn::after {
        top: 13px;
    }

    body.open-menu .luxanora-header .catalog-btn::before {
        opacity: 0;
    }

    body.open-menu .luxanora-header .catalog-btn span {
        top: 8px;
        left: calc(50% - 12px);
        width: 24px;
        background: #fff;
        transform: rotate(45deg);
    }

    body.open-menu .luxanora-header .top-menu.notdesctop .luxanora-header__wrap .catalog-btn.luxanora-menu-toggle span {
        top: 8px;
        left: calc(50% - 12px);
        width: 24px;
        background: #fff;
        transform: rotate(45deg);
    }

    body.open-menu .luxanora-header .catalog-btn::after {
        top: 8px;
        right: auto;
        left: calc(50% - 12px);
        width: 24px;
        transform: rotate(-45deg);
    }

    .luxanora-navigation-drawer {
        width: min(100%, 520px);
        padding: 84px 8vw 42px;
    }

    .luxanora-navigation-drawer .col-50 {
        display: block;
        width: 100%;
    }

    .luxanora-navigation-drawer__secondary {
        margin-top: 18px;
        padding: 16px 0 0;
        border-top: 1px solid #252525;
        border-left: 0;
    }

    .luxanora-navigation-drawer .menu a {
        padding: 10px 0;
        font-size: 18px;
    }

    .luxanora-navigation-drawer .phones-mobile {
        margin: 0 -8vw 20px;
        padding: 10px 8vw;
        border-top: 1px solid #2f2f2f;
        border-bottom: 1px solid #2f2f2f;
        color: #d7d7d7;
    }

    .luxanora-navigation-drawer .phones-mobile a {
        display: block;
        padding: 5px 0;
        font-size: 14px;
    }

    .luxanora-header .whatsapp-fixed {
        bottom: 14px;
        left: 14px;
        width: 42px;
        height: 42px;
    }

    .luxanora-footer .bottommob {
        padding: 28px 0 24px;
    }

    .luxanora-footer__mobile-inner {
        width: 84%;
    }

    .luxanora-footer .bottommob .logo {
        width: 78vw;
        max-width: none;
        margin-bottom: 20px;
    }

    .luxanora-footer .bottommob .logo img {
        width: 68%;
    }

    .luxanora-footer .bottommob .logo::after {
        margin-top: 12px;
    }

    .luxanora-footer .bottommob .luxanora-footer__email {
        margin-bottom: 20px;
        font-size: 14px;
    }

    .luxanora-footer .bottommob .soc {
        gap: 14px;
        margin-top: 14px;
    }

    .luxanora-footer__desktop-inner {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .luxanora-header__wrap,
    .luxanora-footer__mobile-inner {
        width: 86%;
    }

    .luxanora-navigation-drawer {
        padding-right: 7vw;
        padding-left: 7vw;
    }

    .luxanora-navigation-drawer .phones-mobile {
        margin-right: -7vw;
        margin-left: -7vw;
        padding-right: 7vw;
        padding-left: 7vw;
    }
}

/* Match the original desktop header transition above 800px. */
@media (min-width: 801px) and (max-width: 1000px) {
    .luxanora-header .top-menu.nomobile {
        display: block;
        padding: 34px 0 22px;
    }

    .luxanora-header .top-menu.notdesctop {
        display: none;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        width: min(81%, 1440px);
        min-height: 52px;
    }

    .luxanora-header .top-menu.nomobile .logo {
        flex: 0 0 150px;
        width: 150px;
    }

    .luxanora-header .luxanora-navigation-drawer {
        width: 65%;
        max-width: none;
        padding: 120px 6vw 48px;
    }

    .luxanora-header .luxanora-navigation-drawer .nomobile {
        display: block;
    }

    .luxanora-header .luxanora-navigation-drawer .notdesctop {
        display: none;
    }

    .luxanora-header .luxanora-navigation-drawer .col-50 {
        display: inline-block;
        width: calc(50% - 3px);
        vertical-align: top;
    }

    .luxanora-header .luxanora-navigation-drawer__secondary {
        margin-top: 0;
        padding: 0 0 0 34px;
        border-top: 0;
        border-left: 1px solid #252525;
    }
}

@media (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer {
        inset: 0;
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        box-sizing: border-box;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px));
    }

    body.open-menu .luxanora-header .top-menu.notdesctop {
        z-index: 45;
    }

    .luxanora-header .luxanora-menu-close {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .luxanora-navigation-drawer {
        transition-duration: .01ms;
    }
}

/* Match the original two-column Email block in the mobile navigation drawer. */
@media (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer .phones-mobile {
        margin: -4px 0 5vh;
        padding: 0;
        border-top: 1px solid #2f2f2f;
        border-bottom: 1px solid #2f2f2f;
    }

    .luxanora-header .luxanora-navigation-drawer .phones-mobile > .phones {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 -8vw;
        padding: 4px 8vw;
        border: 0;
        background: #000;
    }

    .luxanora-header .luxanora-navigation-drawer .phones-mobile .phone {
        display: flex;
        min-height: 36px;
        align-items: center;
        justify-content: flex-end;
        box-sizing: border-box;
        margin: 0;
        padding: 10px 0;
        font-size: 0;
        line-height: 16px;
        text-align: right;
    }

    .luxanora-header .luxanora-navigation-drawer .phones-mobile .phone:first-child {
        justify-content: flex-start;
        text-align: left;
    }

    .luxanora-header .luxanora-navigation-drawer .phones-mobile .phone > a {
        display: inline;
        padding: 0;
        font-family: Helvetica, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 15px;
        letter-spacing: 1.3px;
        color: #d7d7d7;
        text-decoration: none;
    }

    .luxanora-header .luxanora-navigation-drawer .phones-mobile .phone .ph_code {
        font-size: 12px;
        font-weight: 400;
        color: #858585;
    }
}

@media (max-width: 420px) {
    .luxanora-header .luxanora-navigation-drawer .phones-mobile {
        margin-right: 1vw;
        margin-left: 1vw;
    }
}


/* Restore the original responsive typography and row separators in the mobile primary menu. */
@media (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li {
        margin-top: 0;
        border-bottom: 1px solid #161616;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li > a {
        display: inline-block;
        padding: 3.5vh 0;
        font-family: Helvetica, sans-serif;
        font-size: 4.2vw;
        font-weight: 300;
        line-height: normal;
        letter-spacing: 1.3px;
        color: #808080;
        text-transform: none;
        text-decoration: none;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li:first-child > a {
        font-weight: 400;
        color: #727272;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li > a:hover {
        color: #808080;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li:first-child > a:hover {
        color: #727272;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li.current-menu-item > a,
    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li.current_page_item > a {
        font-weight: 300;
        color: #fff;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li:first-child > a {
        font-weight: 300;
        color: #fff;
    }
}

@media (max-width: 420px) {
    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer {
        margin-left: 1vw;
    }
}

@media (max-width: 360px) {
    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer {
        margin-top: calc(18px - 5vh);
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li > a {
        padding: 2.5vh 0;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li:first-child > a {
        font-size: 12px;
        font-weight: 400;
        color: #727272;
    }

    .luxanora-header .luxanora-navigation-drawer__primary .luxanora-menu--drawer > li:first-child > a {
        font-weight: 300;
        color: #fff;
    }
}

/* Match the original Luxanora phone-link flow in the Mega Menu only. */
.luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
    margin: 0;
    padding: 6px 0 0;
    border: 0;
    font-family: Helvetica, sans-serif;
    font-size: 0;
    line-height: normal;
}

.luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li {
    display: inline;
    margin: 0;
    padding: 0;
}

.luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li > a {
    display: inline-block;
    margin: 0;
    padding: .9vw 0 .8vw;
    color: #808080;
    font-family: Helvetica, sans-serif;
    font-size: .9vw;
    font-weight: 300;
    line-height: normal;
    letter-spacing: .09vw;
    white-space: nowrap;
}

.luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li:first-child > a {
    margin-right: 26px;
}

@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li > a {
        font-size: 1.1vw;
        letter-spacing: .13vw;
    }
}

@media (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        display: inline-block;
        max-width: calc(100% - 13.4px);
        position: relative;
        top: -19px;
        margin: 3vh 0 2vh 6vw;
        padding: 6px 0 0 13.4px;
        box-sizing: border-box;
        vertical-align: top;
    }

    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu::before {
        content: "‧";
        position: absolute;
        left: 0;
        color: #727272;
        font-size: 14px;
        line-height: 1;
    }

    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li > a {
        padding: 1.2vh 0;
        color: #727272;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 1.2px;
        line-height: normal;
        white-space: normal;
    }

    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li:first-child > a {
        margin-right: 26px;
    }
}

@media (max-width: 360px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu > li > a {
        padding: 2.5vh 0;
        font-size: 12px;
    }
}

@media (min-width: 801px) and (max-width: 1000px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        position: relative;
        top: -68px;
        left: -34px;
        width: max-content;
        max-width: none;
    }
}

@media (min-width: 1001px) and (max-width: 1200px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        position: relative;
        top: -25px;
    }
}

@media (min-width: 1201px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        position: relative;
        top: -12px;
    }
}

@media (max-width: 420px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        max-width: 74vw;
    }
}

@media (min-width: 769px) and (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        position: relative;
        top: -91px;
        left: 205.7px;
        width: 398.77px;
    }
}

@media (min-width: 421px) and (max-width: 768px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        position: relative;
        top: -19px;
        left: -7.7px;
        width: 398.77px;
        max-width: none;
    }
}

@media (max-width: 360px) {
    .luxanora-header .luxanora-navigation-drawer .luxanora-contact-menu {
        top: -22.8px;
        max-width: 79vw;
    }
}

/* Restore the original mobile Secondary Menu metrics. */
@media (max-width: 800px) {
    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary {
        display: inline-block;
        margin: calc(3vh - 35px) 0 2vh 5vw;
        padding: 6px 0 0;
    }

    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary li {
        padding-left: 0;
        border-bottom: 1px solid #161616;
        color: #808080;
        list-style: none;
    }

    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary li::before {
        display: inline-block;
        margin-right: 10px;
        font-size: 8pt;
        content: "\2027";
    }

    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary li > a {
        padding: 1.2vh 0;
        color: #727272;
        font-family: Helvetica, sans-serif;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 1.2px;
        line-height: normal;
    }

    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary .current-menu-item > a {
        color: #fff;
        font-weight: 300;
    }
}

@media (max-width: 420px) {
    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary {
        margin-left: 6vw;
    }
}

@media (max-width: 360px) {
    .luxanora-header .luxanora-navigation-drawer__secondary .luxanora-menu--secondary li > a {
        font-size: 12px;
    }
}

/* Align the open mobile close icon with the original Luxanora header. */
@media (max-width: 800px) {
    body.open-menu .luxanora-header .top-menu.notdesctop .luxanora-menu-toggle {
        transform: translate(calc(10px + clamp(10px, 3vw, 18px)), -1px);
    }
}


/* Match the original homepage logo position within the 801-1200px header range. */
@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap .logo {
        left: calc(50% + 2.75vw);
        top: calc(7px - 0.9vw);
        transform: translateX(-50%);
    }
}

/* Match the original independent Bespoke Safes header link. */
.luxanora-header .luxanora-header__wrap > .luxanora-header__bespoke {
    position: absolute;
    z-index: 1;
    top: calc(30px - 0.83vw);
    left: calc(18.5vw + 38.5px);
    white-space: nowrap;
}

.luxanora-header .luxanora-header__bespoke .luxanora-menu {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: normal;
}

.luxanora-header .luxanora-header__bespoke .luxanora-menu li {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
}

.luxanora-header .luxanora-header__bespoke .luxanora-menu a {
    display: block;
    width: max-content;
    color: #a4a4a4;
    font-family: Helvetica, sans-serif;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.3px;
    line-height: normal;
    text-decoration: blink;
    text-transform: uppercase;
    margin-right: 1vw;
}

@media (max-width: 1200px) {
    .luxanora-header .luxanora-header__wrap > .luxanora-header__bespoke {
        top: calc(19px - 1vw);
        left: calc(24.4vw + 44px);
    }

    .luxanora-header .luxanora-header__bespoke .luxanora-menu a {
        font-size: 1.05vw;
    }

    /* Tablet strip: Bespoke collides with the centered logo; keep it in the drawer. */
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__bespoke {
        display: none;
    }
}


/* Expand the mobile menu toggle hit target without changing its visual footprint. */
@media (max-width: 800px) {
    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle {
        width: 44px;
        height: 44px;
        margin-top: -11.5px;
        margin-right: -2px;
        margin-bottom: -11.5px;
    }

    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle span {
        top: 17.5px;
    }

    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle span {
        top: 17.5px;
    }

    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle::before {
        top: 11.5px;
        left: 10.5px;
    }

    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle::after {
        top: 24.5px;
        right: 12.5px;
    }

    body.open-menu .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle span {
        top: 19.5px;
        left: calc(50% - 13px);
    }

    body.open-menu .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle span {
        top: 19.5px;
        left: calc(50% - 13px);
    }

    body.open-menu .luxanora-header .top-menu.notdesctop .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle::after {
        top: 19.5px;
        left: calc(50% - 13px);
    }
}

/* Match the original overlapping mobile/tablet breakpoint at exactly 800px. */
@media (min-width: 800px) and (max-width: 800px) {
    body:not(.open-menu) .luxanora-header .top-menu.notdesctop .luxanora-header__wrap .logo {
        left: 47%;
    }
}

/* Restore the original home-header geometry across its 801-1200px tablet range. */
@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-header .top-menu.nomobile:not(.is-scrolled),
    .luxanora-header .top-menu.nomobile.is-scrolled {
        padding: 43px 0 13px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        width: auto;
        min-height: 0;
        margin: 0 4vw 0 9.5vw;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap .logo {
        left: 50%;
        top: calc(-0.9vw);
        transform: translateX(-50%);
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .catalog-btn.luxanora-menu-toggle {
        top: -10px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__bespoke {
        top: calc(12px - 1vw);
    }
}

/* Restore the original adaptive typography for desktop header contacts. */
@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__contact {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: 8.5pt;
        line-height: normal;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__contact a {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: 1.05vw;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.3px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__contact .phnedstp {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: 0.95vw;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 1px;
    }
}

@media (min-width: 1201px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__contact a {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: 0.75vw;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.3px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__contact .phnedstp {
        font-family: "Luxanora Desktop Helvetica", Helvetica, sans-serif;
        font-size: 0.7vw;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.03vw;
    }
}

@media (min-width: 801px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__contact a,
    .luxanora-header .top-menu.nomobile .luxanora-header__contact .phnedstp {
        vertical-align: baseline;
    }
}

@media (min-width: 801px) {
    body.open-menu .luxanora-header .top-menu.nomobile .luxanora-header__contact {
        text-transform: uppercase;
    }
}

/* Match the original desktop primary navigation alignment. */
@media (min-width: 1201px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__navigation {
        padding-right: 7.3vw;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__navigation .luxanora-menu--primary {
        column-gap: calc(1vw + 4.175px);
    }
}

@media (min-width: 1778px) and (max-width: 2200px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__navigation {
        padding-right: max(72px, calc(720px - 33.2vw));
    }
}

/* Match the original homepage primary-navigation top offset. */
@media (min-width: 1201px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__navigation {
        align-self: flex-start;
        margin-top: 17px;
        padding-top: 2px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__navigation .luxanora-menu--primary > li > a {
        display: block;
    }
}
/* Match original homepage logo vertical position above the tablet breakpoint. */
@media (min-width: 1201px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > #logo {
        top: calc(17px - 0.9vw);
    }
}

/* Mobile lower footer row: centered copyright only. */
@media (max-width: 800px) {
    .luxanora-footer .bottom {
        padding: 10px 0;
        background: #000;
        text-align: center;
        position: relative;
        z-index: 10;
    }

    .luxanora-footer .luxanora-footer__desktop-inner {
        display: block;
        width: auto;
        min-height: 0;
        margin: 0 8vw;
        position: relative;
        text-align: center;
        font-family: Helvetica, sans-serif;
        line-height: normal;
    }

    .luxanora-footer__copy {
        font-family: Helvetica, sans-serif;
        font-size: 12px;
        letter-spacing: 1px;
    }
}

/* Desktop footer: logo left, contacts in one row on the right. */
@media (min-width: 801px) {
    .luxanora-footer {
        background-color: #0c0c0c;
    }

    .luxanora-footer .bottommob {
        padding: 48px 0 40px;
        background-color: #0c0c0c;
        text-align: left;
    }

    .luxanora-footer__mobile-inner {
        display: flex;
        width: auto;
        max-width: none;
        margin: 0 9.5vw;
        align-items: center;
        justify-content: space-between;
        gap: 48px;
    }

    .luxanora-footer .bottommob .logo {
        flex: 0 0 auto;
        width: 180px;
        margin: 0;
    }

    .luxanora-footer .bottommob .logo::after {
        display: none;
        content: none;
    }

    .luxanora-footer__brand-contacts {
        display: flex;
        flex: 1 1 auto;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 28px 40px;
        min-width: 0;
        border: 0;
        border-left: 0;
        box-shadow: none;
    }

    .luxanora-footer .bottommob .luxanora-footer__email {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 8px 28px;
        margin: 0;
        padding-top: 0;
        font-size: 14px;
        text-align: right;
    }

    .luxanora-footer .bottommob .soc {
        justify-content: flex-end;
        gap: 14px;
        margin: 0;
    }

    .luxanora-footer .bottommob .soc a {
        width: 48px;
        height: 48px;
    }

    .luxanora-footer .bottom {
        position: relative;
        box-sizing: content-box;
        height: auto;
        min-height: 0;
        padding: 24px 0 32px;
        overflow: visible;
        background-color: #0c0c0c;
        border-top: 1px solid #1a1a1a;
    }

    .luxanora-footer .luxanora-footer__desktop-inner {
        display: flex;
        position: relative;
        box-sizing: content-box;
        width: auto;
        max-width: none;
        height: auto;
        min-height: 10px;
        margin: 0 9.5vw;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 24px;
    }

    .luxanora-footer__copy {
        width: 100%;
        text-align: center;
    }
}

@media (min-width: 801px) and (max-width: 1200px) {
    .luxanora-footer__mobile-inner,
    .luxanora-footer .luxanora-footer__desktop-inner {
        margin: 0 4vw 0 9.5vw;
    }

    .luxanora-footer .bottommob .logo {
        width: 150px;
    }
}

/* Shared Header uses the original transparent top-bar treatment until it scrolls. */
.luxanora-header .top-menu:not(.is-scrolled) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* Shared Header geometry uses the accepted homepage layout on all theme pages. */
@media only screen and (min-width: 801px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        position: relative;
    }

    .luxanora-header .top-menu.nomobile .logo {
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
    }

    .luxanora-header .top-menu.nomobile .luxanora-menu-toggle {
        position: absolute;
        top: 9px;
        right: 50px;
        display: block;
        width: 34px;
        height: 39px;
        margin: 0;
        padding: 0;
    }

    .luxanora-header .top-menu.nomobile .luxanora-menu-toggle span {
        position: absolute;
        top: 50%;
        left: 4px;
        width: 26px;
        transform: translateY(-50%);
    }
}

@media only screen and (max-width: 800px) {
    .luxanora-header .top-menu.notdesctop .luxanora-header__wrap {
        position: relative;
    }

    .luxanora-header .top-menu.notdesctop .logo {
        position: absolute;
        top: 3px;
        left: 50%;
        flex: 0 0 150px;
        width: 150px;
        transform: translateX(-50%);
    }

    .luxanora-header .top-menu.notdesctop .luxanora-menu-toggle {
        transform: translateX(10px);
    }
}

@media only screen and (min-width: 801px) {
    .luxanora-header .top-menu.nomobile {
        padding: 36px 0 34px;
    }

    .luxanora-header .top-menu.nomobile .logo {
        top: 4px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-menu-toggle {
        top: 7px;
    }

    .luxanora-header__navigation {
        padding-right: 90px;
    }
}

@media only screen and (max-width: 800px) {
    .luxanora-header .top-menu.notdesctop {
        padding-bottom: 27px;
    }
}


/* Keep desktop contacts and Bespoke in the original adjacent flow. */
@media (min-width: 801px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        justify-content: flex-start;
        gap: 0;
        column-gap: 0;
        transition: margin .4s ease, padding-left .4s ease;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__contact {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: max-content;
        flex: 0 0 auto;
        margin: 0;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__bespoke {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: max-content;
        flex: 0 0 auto;
        margin: 0 0 0 3vw;
        transition: transform .4s ease;
    }

    body.open-menu .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        justify-content: flex-start;
        gap: 0;
        column-gap: 0;
        padding-left: 10vw;
        transition: margin .4s ease, padding-left .4s ease;
    }

    body.open-menu .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__contact {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: max-content;
        flex: 0 0 auto;
        margin: 0;
    }

    body.open-menu .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__bespoke {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: max-content;
        flex: 0 0 auto;
        margin: 0 0 0 3vw;
    }
}

@media (min-width: 801px) and (max-width: 1200px) {
    body.open-menu .luxanora-header .top-menu.nomobile .luxanora-header__wrap {
        padding-left: calc(10vw + 10px);
    }
}

@media (min-width: 1201px) {
    .luxanora-header .top-menu.nomobile .luxanora-header__wrap > .luxanora-header__bespoke {
        transform: translateY(-2px);
    }
}

/* Cap vw-based header type/geometry on ultra-wide and 4K viewports so the
   centered logo and burger no longer collide with nav labels. */
@media (min-width: 1601px) {
    .luxanora-header__navigation .luxanora-menu--primary {
        flex-wrap: nowrap;
        column-gap: clamp(16px, 1.3vw, 24px);
    }

    .luxanora-header__navigation .luxanora-menu--primary a {
        font-size: clamp(11px, .8vw, 13px);
        letter-spacing: .05em;
    }

    .luxanora-header .luxanora-header__bespoke .luxanora-menu a {
        font-size: clamp(11px, .75vw, 12px);
        margin-right: 12px;
    }

    .luxanora-header .luxanora-header__wrap > .luxanora-header__bespoke {
        left: min(calc(18.5vw + 38.5px), calc(50% - 190px));
        top: 18px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__navigation {
        box-sizing: border-box;
        flex: 0 1 auto;
        margin-left: auto;
        max-width: calc(50% - 110px);
        overflow: hidden;
        padding-right: 112px;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__navigation .luxanora-menu--primary {
        width: 100%;
        justify-content: flex-end;
        column-gap: clamp(16px, 1.3vw, 24px);
    }

    .luxanora-header .top-menu.nomobile .logo {
        z-index: 2;
    }

    .luxanora-header .top-menu.nomobile .luxanora-menu-toggle {
        right: 12px;
        z-index: 3;
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__contact,
    .luxanora-header .top-menu.nomobile .luxanora-header__contact a {
        font-size: clamp(11px, .7vw, 12px);
    }

    .luxanora-header .top-menu.nomobile .luxanora-header__contact .phnedstp {
        font-size: clamp(10px, .65vw, 11px);
    }
}
