:root {
    --dts-luxury-maroon: #6e1423;
    --dts-luxury-maroon-deep: #4a0d18;
    --dts-luxury-gold: #a9812f;
    --dts-luxury-gold-light: #d9c08a;
    --dts-luxury-ivory: #f6eee0;
    --dts-luxury-ivory-deep: #efe3ce;
    --dts-luxury-ink: #2b1b16;
}

/* Keep shared chrome shrink-safe at every device width. */
.v2-site-header,
.v2-main-header,
.v2-footer-info-bar,
.v2-footer {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}
.v2-hrow,
.v2-logo-area,
.v2-logo-link,
.v2-desktop-nav,
.v2-footer-newsletter,
.v2-footer-bottom-inner {
    min-width: 0;
}
.v2-logo-area { overflow: hidden; }
.v2-header-icons { flex-shrink: 0; }
.v2-footer-newsletter-form { min-width: 0; }

/* Reference typography: Jost for interface copy, Marcellus for the wordmark. */
.v2-ticker-bar,
.v2-site-header,
.v2-site-header button,
.v2-site-header input,
.v2-footer-info-bar,
.v2-footer,
.v2-footer input,
.v2-footer button {
    font-family: 'Jost', sans-serif !important;
}

/* Announcement bar */
.v2-ticker-bar {
    background: var(--dts-luxury-maroon-deep) !important;
    color: var(--dts-luxury-gold-light) !important;
}
.v2-ticker-text,
.v2-ticker-sep {
    color: var(--dts-luxury-gold-light) !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* Header */
.v2-main-header {
    background: var(--dts-luxury-ivory) !important;
    border-bottom: 1px solid var(--dts-luxury-gold) !important;
    box-shadow: 0 4px 18px rgba(43, 27, 22, .06) !important;
}
.v2-logo-svg text {
    font-family: 'Marcellus', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: .04em;
}
.v2-cnav {
    color: var(--dts-luxury-ink) !important;
    font-size: 13px;
    font-weight: 500 !important;
    letter-spacing: .055em;
}
.v2-cnav:hover,
.v2-cnav--active {
    color: var(--dts-luxury-maroon-deep) !important;
    border-bottom-color: var(--dts-luxury-gold) !important;
}
.v2-cnav-submenu,
.v2-dd {
    border-color: rgba(43, 27, 22, .14) !important;
    background: var(--dts-luxury-ivory) !important;
}
.v2-cnav-sublink,
.v2-dd-item,
.v2-user-info .fw-semibold {
    color: var(--dts-luxury-ink) !important;
    font-family: 'Jost', sans-serif !important;
}
.v2-cnav-sublink:hover,
.v2-dd-item:hover {
    background: var(--dts-luxury-ivory-deep) !important;
    color: var(--dts-luxury-maroon) !important;
}
.v2-user-info { background: var(--dts-luxury-ivory-deep) !important; }
.v2-icon-btn,
#cart_items .navbar-tool-icon-box,
#cart_items .navbar-tool-icon-box.bg-secondary,
#cart_items .navbar-tool-icon-box.v2-icon-btn {
    border-color: var(--dts-luxury-gold) !important;
    background: transparent !important;
    color: var(--dts-luxury-maroon-deep) !important;
}
.v2-icon-btn i,
#cart_items .navbar-tool-icon {
    color: var(--dts-luxury-maroon-deep) !important;
}
.v2-icon-btn:hover,
#cart_items .navbar-tool-icon-box:hover {
    border-color: var(--dts-luxury-maroon) !important;
    background: var(--dts-luxury-maroon) !important;
    color: var(--dts-luxury-ivory) !important;
}
.v2-icon-btn:hover i,
#cart_items .navbar-tool-icon-box:hover .navbar-tool-icon {
    color: var(--dts-luxury-ivory) !important;
}
.v2-icon-btn .v2-badge,
#cart_items .navbar-tool-label {
    border-color: var(--dts-luxury-gold) !important;
    background: var(--dts-luxury-maroon) !important;
    color: var(--dts-luxury-ivory) !important;
}
.v2-hamburger i { color: var(--dts-luxury-maroon-deep) !important; }

/* Mobile navigation */
#navbarCollapse,
#navbarCollapse .v2-mob-nav {
    border-color: var(--dts-luxury-gold) !important;
    background: var(--dts-luxury-ivory) !important;
}
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:link,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:visited,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link span,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link i {
    color: var(--dts-luxury-ink) !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;
}
#navbarCollapse .v2-mob-nav .nav-item.active .v2-mob-link,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:hover,
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:focus {
    background: var(--dts-luxury-ivory-deep) !important;
    color: var(--dts-luxury-maroon-deep) !important;
}
.v2-mobile-close,
.v2-mobile-close .navbar-toggler,
.v2-mobile-close .navbar-toggler i { color: var(--dts-luxury-ink) !important; }

/* Footer information strip */
.v2-footer-info-bar {
    border-color: var(--dts-luxury-gold) !important;
    background: var(--dts-luxury-maroon) !important;
}
.v2-footer-info-item:hover { background: rgba(217, 192, 138, .1) !important; }
.v2-footer-info-icon {
    border-color: var(--dts-luxury-gold-light) !important;
    background: var(--dts-luxury-maroon-deep) !important;
    box-shadow: none !important;
}
.v2-footer-info-title { color: var(--dts-luxury-gold-light) !important; font-weight: 500 !important; }
.v2-footer-info-desc { color: rgba(246, 238, 224, .72) !important; }

/* Main footer */
.v2-footer-main {
    background: var(--dts-luxury-ink) !important;
    color: rgba(246, 238, 224, .75) !important;
}
.v2-footer-newsletter-title,
.v2-footer-col-title {
    color: var(--dts-luxury-ivory) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    letter-spacing: .1em !important;
}
.v2-footer-newsletter-desc,
.v2-footer-links a,
.v2-footer-contact li,
.v2-footer-contact a {
    color: rgba(246, 238, 224, .72) !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important;
}
.v2-footer-links a:hover,
.v2-footer-contact a:hover { color: var(--dts-luxury-gold-light) !important; }
.v2-footer-col-title::after { background: var(--dts-luxury-gold) !important; }
.v2-footer-contact li i { color: var(--dts-luxury-gold-light) !important; }
.v2-footer-brand-text {
    color: var(--dts-luxury-ivory) !important;
    font-family: 'Marcellus', Georgia, serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    letter-spacing: .04em !important;
}
.v2-footer-divider { background: rgba(246, 238, 224, .12) !important; }
.v2-footer-newsletter-form {
    border-color: rgba(246, 238, 224, .3) !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.v2-footer-newsletter-input { color: var(--dts-luxury-ivory) !important; font-family: 'Jost', sans-serif !important; }
.v2-footer-newsletter-input::placeholder { color: rgba(246, 238, 224, .5) !important; }
.v2-footer-newsletter-btn {
    background: var(--dts-luxury-maroon) !important;
    color: var(--dts-luxury-ivory) !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;
}
.v2-footer-payment-section {
    width: 100%;
    max-width: 240px;
}
.v2-footer-payment-group + .v2-footer-payment-group { margin-top: 16px; }
.v2-footer-payment-label {
    margin: 0 0 9px;
    color: var(--dts-luxury-gold-light) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}
.v2-footer-payment-icons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
    width: 100%;
}
.v2-footer-payment-icons--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 154px;
}
.v2-payment-badge {
    min-width: 0;
    height: 43px;
    padding: 6px 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(246, 238, 224, .22);
    border-radius: 5px;
    background: #fffdf8;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .12);
}
.v2-payment-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 27px;
    object-fit: contain;
}
.v2-payment-logo--google-pay {
    max-width: 54px;
    max-height: 34px;
}
.v2-payment-logo--cod { max-height: 30px; }
.v2-payment-logo--mastercard { max-height: 29px; }
@media (max-width: 991.98px) {
    .v2-footer-payment-section { max-width: 290px; }
    .v2-footer-payment-icons--cards { max-width: 187px; }
}
@media (max-width: 479.98px) {
    .v2-footer-payment-section { max-width: 270px; }
    .v2-payment-badge { height: 42px; }
}
.v2-footer-bottom { background: #1f1512 !important; }
.v2-footer-copyright,
.v2-footer-bottom-links li a {
    color: rgba(246, 238, 224, .48) !important;
    font-family: 'Jost', sans-serif !important;
}
.v2-footer-bottom-links li a:hover { color: var(--dts-luxury-gold-light) !important; }

/* Keep homepage typography aligned with the supplied reference. */
.dts-home,
.dts-home button,
.dts-home input { font-family: 'Jost', sans-serif !important; }
.dts-home h1,
.dts-home h2,
.dts-home h3,
.dts-home blockquote { font-family: 'Marcellus', Georgia, serif !important; }

/* iPad landscape and narrow laptops need the tablet header: the full desktop
   navigation otherwise runs into the action icons between 992px and 1120px. */
@media (min-width: 992px) and (max-width: 1139.98px) {
    .v2-hamburger.d-lg-none {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
    .v2-desktop-nav.d-lg-flex { display: none !important; }
    .v2-hrow {
        grid-template-columns: auto minmax(0, 1fr) auto;
        height: 66px;
        gap: 10px;
    }
    .v2-logo-area { justify-content: center; }
    .v2-logo-link { width: 100%; max-width: 420px; }
    .v2-logo-svg { width: 100%; height: auto; max-height: 54px; }
    #navbarCollapse {
        padding: 0 14px 14px;
        border-top: 1px solid var(--dts-luxury-gold) !important;
    }
    #navbarCollapse:not(.show):not(.collapsing) { display: none !important; }
    #navbarCollapse.show,
    #navbarCollapse.collapsing { display: block !important; }
}

@media (max-width: 767.98px) {
    .v2-main-header .container-fluid { padding-right: 12px !important; padding-left: 12px !important; }
    .v2-logo-link { width: 100%; }
    .v2-logo-svg { width: 100%; height: auto; max-height: 46px; }
    .v2-header-icons > a.v2-icon-btn:not(.v2-search-trigger),
    #cart_items .navbar-tool-icon-box,
    #cart_items .navbar-tool-icon-box.bg-secondary,
    #cart_items .navbar-tool-icon-box.v2-icon-btn {
        border-color: var(--dts-luxury-gold) !important;
        background: transparent !important;
        color: var(--dts-luxury-maroon-deep) !important;
    }
    .v2-header-icons > a.v2-icon-btn:not(.v2-search-trigger) i,
    #cart_items .navbar-tool-icon { color: var(--dts-luxury-maroon-deep) !important; }

    /* Mobile drawer: keep the navigation on the same ivory / maroon / gold
       system as the header instead of the former solid-red panel. */
    #navbarCollapse,
    #navbarCollapse.show,
    #navbarCollapse.collapsing,
    #navbarCollapse .navbar-nav,
    #navbarCollapse .nav-item,
    #navbarCollapse .logout-btn {
        background: var(--dts-luxury-ivory) !important;
        color: var(--dts-luxury-ink) !important;
    }
    #navbarCollapse {
        padding: 0 14px 24px !important;
        border: 0 !important;
        border-left: 1px solid var(--dts-luxury-gold) !important;
        box-shadow: -14px 0 36px rgba(43, 27, 22, .18) !important;
    }
    #navbarCollapse .v2-mobile-close {
        margin-bottom: 8px !important;
        padding: 13px 2px 11px !important;
        border-bottom: 1px solid rgba(169, 129, 47, .32) !important;
        background: transparent !important;
    }
    #navbarCollapse .v2-mobile-close .navbar-toggler,
    #navbarCollapse .v2-mobile-close .navbar-toggler i {
        color: var(--dts-luxury-maroon-deep) !important;
    }
    #navbarCollapse .v2-mob-nav {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    #navbarCollapse .v2-mob-nav .nav-item {
        margin: 0 !important;
        border-bottom: 1px solid rgba(169, 129, 47, .24) !important;
    }
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:link,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:visited {
        min-height: 47px;
        padding: 12px 10px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--dts-luxury-maroon-deep) !important;
        font-weight: 500 !important;
        letter-spacing: .015em;
    }
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link i {
    color: var(--dts-luxury-gold) !important;
}
#navbarCollapse .v2-mob-nav .nav-item .v2-mob-link i.fa,
#navbarCollapse .logout-btn .v2-mob-link i.fa {
    font-family: 'FontAwesome' !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    line-height: 1 !important;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
    #navbarCollapse .v2-mob-nav .nav-item.active .v2-mob-link,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:hover,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:focus {
        background: var(--dts-luxury-maroon-deep) !important;
        color: var(--dts-luxury-ivory) !important;
    }
    #navbarCollapse .v2-mob-nav .nav-item.active .v2-mob-link i,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:hover i,
    #navbarCollapse .v2-mob-nav .nav-item .v2-mob-link:focus i {
        color: var(--dts-luxury-gold-light) !important;
    }
    #navbarCollapse .logout-btn hr {
        border-color: rgba(169, 129, 47, .32) !important;
    }
    #navbarCollapse .logout-btn .v2-mob-link,
    #navbarCollapse .logout-btn .v2-mob-link i,
    #navbarCollapse .logout-btn .v2-mob-link strong {
        color: var(--dts-luxury-maroon-deep) !important;
    }
}

@media (max-width: 575.98px) {
    .v2-main-header .container-fluid { padding-right: 10px !important; padding-left: 10px !important; }
    .v2-logo-svg { max-height: 44px; }
    .v2-footer-info-item { min-width: 0; }
    .v2-footer-info-item > div:last-child { min-width: 0; }
    .v2-footer-info-title,
    .v2-footer-info-desc { overflow-wrap: anywhere; }
}
