@import url("https://fonts.googleapis.com/css?family=Poppins:400,700,500%7CSpecial+Elite:400%7CMontserrat:400%7CLato:700,400,300,900%7CRoboto:400");
/* CLIENT SETTINGS — EDIT THESE VALUES FOR EACH NEW STORE
   Keep this block in sync with the separate Customer account area stylesheet.
   Theme: links, selected states and tinted surfaces.
   Accent: primary buttons and the cart icon. Theme: derived background shades.
   Logo width: desktop size; mobile is capped to protect the cart/menu controls.
   Use a dark enough accent for white button text. Keep all comments in English. */
:where(:root) {
    --store-theme: #707070;
    --store-accent: #000;
    /* Primary actions and cart inherit the accent; theme controls tinted surfaces. */
    --store-action-background: var(--store-accent);
    --store-action-text: #fff;
    --store-logo-width: 200px;
    /* Top bar: block = visible, none = hidden (including its spacing). */
    --store-topbar-display: block;
    /* Checkout forms: block = visible, none = hidden (storefront only).
       Hides the entire row, including its spacing; does not disable redemption. */
    --store-coupon-form-display: block;
    --store-gift-certificate-form-display: block;

    --store-logo-mobile-width: min(var(--store-logo-width), 150px);
    --store-banner-background: #e93a3e;
    --store-banner-text: #fff;
}

/* AUTOMATIC PALETTE — follows the client settings above. */
:root {
    --store-accent-hover: color-mix(in srgb, var(--store-accent) 80%, #000);
    --store-theme-dark: color-mix(in srgb, var(--store-theme) 68%, #000);
    --store-soft: color-mix(in srgb, var(--store-theme) 12%, #fff);
    --store-surface: color-mix(in srgb, var(--store-theme) 5%, #fff);
    --store-surface-hover: color-mix(in srgb, var(--store-theme) 9%, #fff);
    --store-border: color-mix(in srgb, var(--store-theme) 18%, #fff);
    --store-border-strong: color-mix(in srgb, var(--store-theme) 30%, #fff);
    --store-accent-shadow: color-mix(in srgb, var(--store-accent) 15%, transparent);
}

/* STORE — Custom DecoNetwork CSS
   Updated September 26, 2026.

   CONTENTS
   0. Shared design tokens
   1. Header and mobile navigation
   2. Top banner
   3. Product page: layout, images, colors and purchase controls
   4. Accordions and headings
   5. Slider / banner (legacy styles retained)
   6. Cart and point-of-sale message
   7. Popup windows
   8. Product typography and quantity stepper
   9. Phone, tablet and touch layouts
   10. Cart and checkout
   11. Add-to-cart confirmation
   12. Catalog layout
   13. Account and contact forms
   14. Footer alignment

   MAINTENANCE
   This file extends the theme CSS rather than replacing it.
   Existing detailed selectors and !important flags preserve precedence
   over DecoNetwork styles. Edit values in their section instead of
   stacking overrides at the end of the file.
   Empty declarations and ineffective Firefox, checkout-button and coupon
   blocks were removed during cleanup. Keep all comments in English. */

/* 0. SHARED DESIGN TOKENS
   Change these values once to update custom components consistently. */
:root {
    --store-font: Poppins, Helvetica, sans-serif;
    --store-gutter: 24px;
}
@media (max-width: 900px) {
    :root { --store-gutter: 16px; }
}

/* 1. HEADER AND MOBILE NAVIGATION */

/* Logo dimensions follow the client settings; preserve the original aspect ratio. */
.dn-logo img {
    width: var(--store-logo-width) !important;
    max-width: 100%; height: auto;
}

/* Equal side columns center navigation on the page, independently of logo
   and account-link widths. Preserve native More/dropdown behavior and mobile header. */
@media (min-width: 768px) {
    body.dn-inline-header header .dn-large-header {
        display: grid !important;
        grid-template-columns: max(240px, var(--store-logo-width)) minmax(0, 1fr) max(240px, var(--store-logo-width)) !important;
        align-items: center !important;
        column-gap: 24px !important;
        min-height: 113px !important;
        padding: 15px 40px !important;
        box-sizing: border-box !important;
    }
    body.dn-inline-header header .dn-large-header .dn-logo-and-nav-container,
    body.dn-inline-header header .dn-large-header .dn-logo-and-nav-container > div {
        display: contents !important;
    }
    body.dn-inline-header header .dn-large-header .dn-logo-container {
        grid-column: 1 !important;
        width: auto !important;
        padding: 0 !important;
        min-width: 0 !important;
    }
    body.dn-inline-header header .dn-large-header .dn-logo {
        margin: 0 !important;
        padding: 0 !important;
    }
    body.dn-inline-header header .dn-large-header .dn-header-nav-container {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    body.dn-inline-header header .dn-large-header .dn-other {
        grid-column: 3 !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        justify-self: end !important;
    }
    body.dn-inline-header header .dn-large-header #main_nav { text-align: center !important; }
}

/* Center the logo in both DecoNetwork mobile header variants. */
body.dn-inline-header header .dn-small-header,
body.dn-inline-header header .dn-small-header-always {
    text-align: center;
    margin-top: 15px;
}

/* Position the mobile menu icon 15 px from the right edge. */
header .dn-small-header .dn-menu-icon,
header .dn-small-header-always .dn-menu-icon {
    right: 15px;
}

/* 2. TOP BANNER */

/* Shared font size and color for the banner and its links. */
#topbar,
#topbar a {
    font-size: 16px;
    color: var(--store-banner-text);
}

/* Background, alignment and spacing when the banner is present. */
#topbar {
    display: var(--store-topbar-display, block) !important;
    text-align: center;
    padding: 15px;
    background-color: var(--store-banner-background);
    line-height: normal;
}

/* 3. PRODUCT PAGE */
/* Center the capped product-page wrapper before laying out its two columns. */
.dn-page-section:has(.dn-widget-page_content_view_product) .dn-page-section-content {
  margin-left: auto !important;
  margin-right: auto !important;
}


/* Explicit columns replace the theme's large-image negative-margin layout.
   This prevents the 1250 px component breakpoint from overlaying the details
   on the image. The bottom panel spans both columns; phones keep native flow. */
@media (min-width: 767px) {
    div.dn-product-display.dn-decorated-product.dn-product-image-left > .dn-product-panels {
        display: grid !important;
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
        align-items: start;
        gap: 32px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
        box-sizing: border-box;
    }
    div.dn-product-display.dn-decorated-product.dn-product-image-left .dn-product-main-image-panel,
    div.dn-product-display.dn-decorated-product.dn-product-image-left #properties_product_details {
        width: 100% !important;
        min-width: 0;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        box-sizing: border-box;
    }
    div.dn-product-display.dn-decorated-product.dn-product-image-left .dn-product-bottom-panel {
        grid-column: 1 / -1;
        min-width: 0;
    }
}

/* Every size uses the full panel width. The cart follows all size rows. */
#properties_product_details .dn-product-size-container,
#properties_product_details .dn-product-add-to-cart-container {
    display: block;
    float: none;
    width: 100%;
    box-sizing: border-box;
}
#properties_product_details .dn-product-add-to-cart-container {
    margin-top: 12px !important;
}

/* Align mixed price sizes without baseline expansion when unit price appears.
   The smaller unit price can wrap within its own column on narrow screens. */
#properties_product_details #price {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}
#properties_product_details #price > .dn-price-container {
    flex: 0 0 auto;
    line-height: inherit;
}
#properties_product_details #price .dn-unit-price {
    min-width: 0;
    font-size: 14px;
    line-height: 1.4;
}

/* Hide thumbnail captions such as Front and Back. */
div.dn-product-display div.dn-product-main-image-panel div.dn-product-views-container ul li label {
    display: none;
}

/* Remove thumbnail borders at the internal DecoNetwork 600 px breakpoint. */
div.dn-product-display[data-breakpoint-600="true"] .dn-product-views-container-bottom .dn-product-views-container ul li {
    border: 0 !important;
    padding: 2px !important;
}

/* Remove the main product image border. */
div.dn-product-display div.dn-product-main-image-panel div.dn-product-main-image-container div.dn-product-view-container img.dn-product-main-image {
    border: 0 !important;
}

/* Color swatch dimensions and rounded corners. */
div.dn-product-display .dn-color-panel-cell {
    height: 36px !important;
    width: 36px !important;
    border-radius: 10px !important;
}

/* Highlight the selected swatch in the many-colors layout. */
div.dn-product-display .dn-color-panel.dn-colors-heaps .dn-color-panel-cell.dn-selected {
    border: 2px solid #000000 !important;
}

/* Product shipping information / disclaimer panel. */
.dn-product-shipping-info {
    background: #f7f7f7;
    padding: 20px 20px 8px;
    border-radius: 5px;
}

/* Place additional details below floated blocks. */
.dn-product-extra-details-container {
    clear: both;
}

/* Align the swatches beside their selected color label.
   Long color names wrap beside the swatch instead of underneath it. */
#properties_product_details #color_field_container {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    max-width: 50%;
    margin: 15px 10px 0 0;
}
#properties_product_details #dn_selected_color_label {
    display: inline-flex;
    vertical-align: middle;
    align-items: center;
    max-width: calc(100% - 64px);
    min-height: 36px;
    margin: 15px 0 0;
    font-size: 16px;
    overflow-wrap: anywhere;
}
/* Start purchase controls below the complete swatch and label row. */
#properties_product_details .dn-product-size-container,
#properties_product_details .dn-product-qty-container,
#properties_product_details .dn-product-add-to-cart-container {
    clear: both;
}

/* Hide Color / Size headings and secondary product options. */
#color_field_container h4,
.dn-product-size-container h4,
div.dn-product-display div.dn-product-details-panel .dn-product-other-product-opts li {
    display: none;
}

/* Add to Cart matches the current size and quantity fields.
   Flex centers the icon and label. All desktop purchase controls use a 44 px border-box height. */
#add_to_cart_button {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    min-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: normal;
    background: var(--store-accent);
    color: #fff;
    border: 1px solid var(--store-accent);
    border-radius: 6px;
}
#add_to_cart_button:hover { background: var(--store-accent-hover); }
/* Keep the label and icon white in every state, overriding the theme's black hover icon. */
#add_to_cart_button .dn-btn-label span,
#add_to_cart_button .dn-btn-icon,
#add_to_cart_button .dn-btn-icon::before { color: #fff !important; }

/* Quantity-only products use the same control height; native bundle logic stays intact. */
#properties_product_details .dn-product-qty-container input.dn-styled {
    height: 44px;
    min-width: 64px;
    box-sizing: border-box;
    font: 16px/1.4 var(--store-font);
}
@media (max-width: 1100px), (pointer: coarse) {
    #properties_product_details .dn-product-qty-container input.dn-styled { height: 48px; }
}

/* 4. ACCORDIONS AND HEADINGS */

/* Collapsible section headers such as description and sizing. */
.dn-collapse-container .dn-collapse-header {
    border-top: 1px solid #ccc;
    padding: 0 10px;
    margin-bottom: -3px;
}

/* Shared vertical margins for product headings and the +/- indicator.
   Both selectors retain their original specificity. */
div.dn-product-display div.dn-product-details-panel > div:not(:first-child) h4,
.dn-collapse-container .dn-collapse-header::after {
    margin: 10px 0;
}

/* Center H3 headings and their links in theme widgets. */
h3.dn-styled,
h3.dn-styled a,
.dn-widget-heading h3,
.dn-widget-heading h3 a,
.dn-widget-html h3,
.dn-widget-html h3 a,
.dn-commercial-content h3 {
    text-align: center;
}

/* 5. SLIDER / BANNER — LEGACY STYLES
   Retained because absence on one page does not establish that a style
   is unused on other pages or in reusable widgets. */

/* Shared text color for the title, highlighted text and subtitle. */
.dn-widget .c-slider-title,
.dn-widget .c-slider-title span.highlight,
.dn-widget .c-slider-lead {
    color: white;
}

/* Shared capitalization and weight for title and subtitle. */
.dn-widget .c-slider-title,
.dn-widget .c-slider-lead {
    text-transform: uppercase;
    font-weight: 600;
}

/* Main banner title. */
.dn-widget .c-slider-title {
    font-size: 92px;
    line-height: 1.1em;
}

/* Enlarged title segment on a separate line. */
.dn-widget .c-slider-title span.bigly {
    font-weight: 900;
    font-size: 122px;
    display: block;
}

/* Subtitle size and spacing below the main title. */
.dn-widget .c-slider-lead {
    font-size: 24px;
    line-height: 1.2;
    margin: 20px 0 0;
}

/* 6. CART AND POINT-OF-SALE MESSAGE */

/* Light gray cart drawer background. */
div.dn-shopping-cart-container {
    background-color: #f7f7f7;
}

/* Preserve the existing POS message appearance when displayed. */
.dn-pos-message {
    text-align: center;
    background-color: orangered;
    color: white;
    padding: 10px 30px;
    font-size: 16px;
}

/* 7. POPUP WINDOWS */

/* Rounded popup container corners. */
.dn-popup-container .dn-popup {
    border-radius: 10px;
}

/* Remove borders from popup footers and headings. */
.dn-popup-container .dn-popup .dn-popup-footer,
.dn-popup-container .dn-popup > h3,
.dn-popup-container .dn-popup .dn-popup-passthrough > h3 {
    border: 0;
}

/* Center popup footer actions. */
.dn-popup-container .dn-popup .dn-popup-footer {
    text-align: center;
}

/* Shared white background for popup footers and headings.
   Specific selectors preserve precedence over the DecoNetwork designer,
   message-box and font-selector styles. */
.dn-popup-footer,
.dn-popup.dn-designer-popup .dn-popup-footer,
.dn-popup-msgbox .dn-popup-footer,
.dn-popup-container.dn-alt .dn-font-selector-popup.dn-popup .dn-popup-footer,
.dn-popup-container .dn-popup > h3,
.dn-popup-container .dn-popup .dn-popup-passthrough > h3 {
    background-color: #fff;
}

/* 8. PRODUCT TYPOGRAPHY AND QUANTITY STEPPER */

/* Use the same Poppins family as the surrounding product page.
   Keep the existing font size and height to preserve row alignment. */
#properties_product_details select.dn-styled,
#properties_product_details input.dn-styled {
    font-family: var(--store-font);
}

/* Activated only after JavaScript has added the stepper buttons.
   Reserve the same remove-action column even on the first size row. */
#properties_product_details .store-quantity-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 108px 32px;
    align-items: start;
    gap: 8px;
    padding: 0;
    margin-bottom: 8px;
    box-sizing: border-box;
}
#properties_product_details .store-quantity-row .dn-sizes-container {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    padding-right: 0;
}
#properties_product_details .store-quantity-row .dn-size-selector {
    width: 100%;
    padding-right: 0;
}

/* Fixed dimensions keep new rows identical to the original row. */
#properties_product_details .store-quantity-row select.dn-styled {
    width: 100%;
    min-width: 0;
    height: 44px;
    box-sizing: border-box;
}
#properties_product_details .store-quantity-row .dn-size-remove {
    position: static;
    grid-column: 3;
    width: 32px;
    height: 44px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* One bordered group containing minus, the original input and plus.
   Shared by multi-size rows and the native quantity-only product field. */
#properties_product_details :is(.dn-size-qty-container, .dn-d-qty-disabled-container).store-quantity {
    display: inline-flex;
    grid-column: 2;
    width: 108px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    overflow: hidden;
}
#properties_product_details .store-quantity input.dn-styled {
    flex: 1;
    width: 40px;
    min-width: 0;
    height: 100%;
    padding: 0 2px;
    margin: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    box-sizing: border-box;
}

/* Native buttons support mouse, touch, Enter and Space. */
#properties_product_details .store-quantity-button {
    flex: 0 0 32px;
    width: 32px;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #f7f7f7;
    color: #222;
    font: 18px/1 var(--store-font);
    cursor: pointer;
    touch-action: manipulation;
}
#properties_product_details .store-quantity-button:hover {
    background: #eaeaea;
}
#properties_product_details .store-quantity-button[aria-disabled="true"] {
    color: #aaa;
    cursor: default;
}
/* Inset focus indicators stay visible inside the rounded group. */
#properties_product_details .store-quantity-button:focus-visible,
#properties_product_details .store-quantity input:focus-visible {
    outline: 2px solid var(--store-accent);
    outline-offset: -2px;
}

/* A sole generic size is selected by DecoNetwork and retained for submission.
   JavaScript applies this class only when there is no meaningful size choice. */
#properties_product_details .store-quantity-label { display: none; }
#properties_product_details .store-single-size .store-quantity-label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
}
#properties_product_details .store-single-size :is(.dn-sizes-container, .dn-size-add) {
    display: none !important;
}
#properties_product_details .store-single-size .store-quantity-row {
    grid-template-columns: auto;
    justify-content: start;
    margin-bottom: 0;
}
#properties_product_details .store-single-size .store-quantity {
    grid-column: 1;
}

/* 9. PHONE, TABLET AND TOUCH LAYOUTS
   Keep controls tall and readable on touch screens.
   Balance quantity buttons with enough room for a multi-digit value. */
@media (max-width: 1100px), (pointer: coarse) {
    /* Reserve a remove-action column on every row, including the first.
       Compact spacing keeps size and quantity on the same row. */
    #properties_product_details .store-quantity-row {
        grid-template-columns: minmax(0, 1fr) 114px 44px;
        gap: 4px;
        margin-bottom: 12px;
    }
    #properties_product_details .store-quantity-row select.dn-styled {
        height: 48px;
        padding-left: 8px;
        padding-right: 22px;
        font-size: 16px;
    }
    #properties_product_details :is(.dn-size-qty-container, .dn-d-qty-disabled-container).store-quantity {
        width: 114px;
        height: 48px;
    }
    #properties_product_details .store-quantity-button {
        flex-basis: 36px;
        width: 36px;
        min-width: 36px;
        min-height: 44px;
    }
    #properties_product_details .store-quantity input.dn-styled {
        font-size: 16px;
        width: 44px;
    }
    #add_to_cart_button {
        width: 100%;
        height: 48px;
        min-height: 48px;
    }

    /* Secondary actions need usable touch targets too. */
    #properties_product_details .dn-size-add {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        padding: 0 4px;
        box-sizing: border-box;
    }
    #properties_product_details .store-quantity-row .dn-size-remove {
        grid-row: 1;
        justify-self: end;
        width: 44px;
        height: 48px;
    }
    #properties_product_details .dn-collapse-header {
        min-height: 48px;
        box-sizing: border-box;
    }
    /* Match the label height to the larger touch swatch. */
    #properties_product_details #dn_selected_color_label {
        min-height: 44px;
    }
    div.dn-product-display .dn-color-panel-cell {
        width: 44px !important;
        height: 44px !important;
    }
}

/* Give phone content breathing room without changing image scaling. */
@media (max-width: 766px) {
    #properties_product_details {
        padding: 0 12px;
        box-sizing: border-box;
    }
    #properties_product_details h1 {
        font-size: 26px;
        line-height: 1.25;
        overflow-wrap: break-word;
    }
}

/* 10. CART AND CHECKOUT
   Scoped to native checkout widgets. Keep native validation, payment controls,
   prices, consent fields and step visibility managed by DecoNetwork. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) #dn_section_main_section {
    max-width: 1160px !important; margin: 32px auto 64px !important; padding: 0 24px !important; box-sizing: border-box !important;
}
body:has(.dn-checkout-page) #dn_section_main_section .dn-page-columns-container {
    display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) !important; gap: 48px !important;
}
body:has(.dn-checkout-page) #dn_section_main_section .dn-page-column {
    width: 100% !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
}
body:has(.dn-checkout-page) #dn_section_main_section .dn-page-column-content {
    padding: 0 !important; margin: 0 !important;
}
/* Quieter typography and consistent form rhythm. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main h1.dn-styled {
    font-size: 30px !important; line-height: 1.25 !important; font-weight: 600 !important; text-transform: none !important; margin: 0 0 28px !important;
}
body:has(.dn-checkout-page) main h2.dn-styled {
    font-size: 21px !important; line-height: 1.35 !important; font-weight: 600 !important; text-transform: none !important; margin: 28px 0 18px !important;
}
.dn-checkout-page .dn-form > li { margin-bottom: 16px !important; box-sizing: border-box !important; }
.dn-checkout-page .dn-form label { font-size: 13px !important; font-weight: 500 !important; line-height: 1.5 !important; }
.dn-checkout-page .dn-form-field-label { margin-bottom: 6px !important; }
.dn-checkout-page input.dn-styled:not([type=checkbox]):not([type=radio]):not([type=submit]),
.dn-checkout-page select.dn-styled,
.dn-checkout-page textarea.dn-styled,
.dn-widget-page_content_view_cart input[type=text] {
    width: 100% !important; min-width: 0 !important; min-height: 50px !important; padding: 12px !important;
    border: 1px solid #c9c9ce !important; border-radius: 6px !important; background-color: #fff !important;
    color: #202024 !important; font: 16px/1.4 var(--store-font) !important; box-sizing: border-box !important;
}
.dn-checkout-page select.dn-styled { padding-right: 32px !important; }
.dn-checkout-page textarea.dn-styled { min-height: 70px !important; resize: vertical !important; }
.dn-checkout-page :is(input, select, textarea):focus-visible {
    outline: 2px solid var(--store-accent) !important; outline-offset: 2px !important;
}
.dn-checkout-page :is(input[type=radio], input[type=checkbox]) {
    accent-color: var(--store-accent) !important; width: 18px !important; height: 18px !important; vertical-align: middle !important; margin-right: 8px !important;
}
/* Align each checkbox with the first text line, including wrapped consent text.
   Links inherit the label metrics so they cannot enlarge the line box. */
.dn-checkout-page .dn-form-field-checkbox label {
    display: flex !important; align-items: flex-start !important; gap: 8px !important;
    line-height: 24px !important; padding-top: 0 !important;
}
.dn-checkout-page .dn-form-field-checkbox label > span,
.dn-checkout-page .dn-form-field-checkbox label a {
    font: inherit !important; line-height: inherit !important;
}
.dn-checkout-page .dn-form-field-checkbox input {
    flex: 0 0 18px !important; margin: 3px 0 0 !important;
    position: static !important;
}
.dn-checkout-page .dn-form-field-checkbox a { text-decoration: underline !important; }
/* Five equal step cards stay within the checkout's left column.
   Native child visibility and links still determine which steps can be revisited. */
.dn-checkout-progress-container { width: 100% !important; margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; }
#checkout_steps { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px !important; width: 100%; }
#checkout_steps > .dn-checkout-step { width: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important; border: 1px solid var(--store-border); border-radius: 8px; background: var(--store-surface); color: #716b76; font: 500 14px/1.4 var(--store-font) !important; text-align: center; }
#checkout_steps > .dn-checkout-step > div { width: 100% !important; padding: 0 !important; margin: 0 !important; font: inherit !important; color: inherit !important; }
#checkout_steps > .dn-checkout-step > div > div { display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 4px; box-sizing: border-box; }
#checkout_steps span, #checkout_steps a { font: inherit !important; color: inherit !important; text-decoration: none !important; white-space: normal !important; }
#checkout_steps a { display: flex; align-items: center; justify-content: center; min-height: 28px; }
/* Completed cards use pale purple; the current card uses solid store purple. */
#checkout_steps > .dn-checkout-step:first-child,
#checkout_steps.dn-current-step-shipping > .dn-checkout-step-address,
#checkout_steps.dn-current-step-billing > .dn-checkout-step-address,
#checkout_steps.dn-current-step-billing > .dn-checkout-step-shipping,
#checkout_steps.dn-current-step-confirm > .dn-checkout-step:not(.dn-checkout-step-confirm) { background: var(--store-soft); border-color: var(--store-border-strong); color: var(--store-theme); }
#checkout_steps.dn-current-step-address > .dn-checkout-step-address,
#checkout_steps.dn-current-step-shipping > .dn-checkout-step-shipping,
#checkout_steps.dn-current-step-billing > .dn-checkout-step-billing,
#checkout_steps.dn-current-step-confirm > .dn-checkout-step-confirm { background: var(--store-accent); border-color: var(--store-accent); color: #fff; font-weight: 600 !important; box-shadow: 0 3px 8px var(--store-accent-shadow); }
/* Keep all five compact steps on one line, including narrow phones. */
@media(max-width: 600px) {
 #checkout_steps { gap: 4px !important; }
 #checkout_steps > .dn-checkout-step { font-size: 10px !important; border-radius: 5px; }
 #checkout_steps > .dn-checkout-step > div > div { min-height: 34px; padding: 3px 1px; }
 #checkout_steps span, #checkout_steps a { white-space: nowrap !important; }
 #checkout_steps a { min-height: 26px; }
}
@media(max-width: 360px) { #checkout_steps { gap: 2px !important; } #checkout_steps > .dn-checkout-step { font-size: 9px !important; } }
/* Radio choices remain recognizable and easy to activate. */
.dn-checkout-page .dn-checkout-choose-customer-type { text-align: left !important; margin: 0 0 24px !important; }
.dn-checkout-page .dn-checkout-choose-customer-type label { display: inline-flex !important; align-items: center !important; min-height: 44px !important; font-size: 14px !important; }
.dn-checkout-page .dn-radio-collapse-header { padding: 12px 14px !important; border: 1px solid #dedce1 !important; border-radius: 6px !important; margin: 8px 0 !important; }
.dn-checkout-page .dn-radio-collapse-header h4 { margin: 0 !important; font-size: 14px !important; font-weight: 400 !important; text-transform: none !important; }
/* Address and shipping-method choices retain individual borders without an outer frame. */
#dn_checkout_shipping_address_container > .dn-checkout-shipping-address-options,
.dn-checkout-page .dn-checkout-shipping-freight-options {
    border: 0 !important; box-shadow: none !important;
}
/* Primary actions fill their column and use the store's muted purple. */
.dn-checkout-page .dn-form-footer-actions { margin-top: 24px !important; text-align: right !important; }
.dn-checkout-page .dn-btn-major,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important;
    min-height: 54px !important; padding: 14px 20px !important; box-sizing: border-box !important; border-radius: 6px !important;
    background: var(--store-accent) !important; border: 1px solid var(--store-accent) !important; color: #fff !important; font-size: 15px !important; line-height: 1.4 !important;
}
.dn-checkout-page .dn-btn-major:hover,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn:hover { background: var(--store-accent-hover) !important; }
/* A single calm summary surface with aligned labels and amounts. */
body:has(.dn-checkout-page) main .dn-shopping-cart-container,
.dn-widget-page_content_view_cart .dn-checkout-cart-summary-container {
    background: var(--store-surface) !important; border: 1px solid var(--store-border) !important; border-radius: 10px !important; padding: 28px !important; box-sizing: border-box !important;
}
body:has(.dn-checkout-page) main .dn-shopping-cart-container h2 { margin: 0 0 24px !important; }
body:has(.dn-checkout-page) main .dn-shopping-cart-line-item { min-height: 0 !important; padding: 0 0 24px !important; margin-bottom: 20px !important; border-bottom: 1px solid var(--store-border) !important; }
body:has(.dn-checkout-page) main .dn-line-item-details-name { font-size: 14px !important; font-weight: 500 !important; }
body:has(.dn-checkout-page) main .dn-line-item-details-options { font-size: 12px !important; line-height: 1.5 !important; color: #66616b !important; }
body:has(.dn-checkout-page) main .dn-line-item-thumbnail img { border-radius: 8px !important; border: 1px solid var(--store-border) !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row:not(.dn-add-coupon) {
    display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 12px !important;
    padding: 10px 0 !important; margin: 0 !important; width: 100% !important; box-sizing: border-box !important;
}
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-footer-label { width: auto !important; text-align: left !important; flex: 1 !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer .dn-checkout-c-total { width: auto !important; white-space: nowrap !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-c-equal { display: none !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total {
    border-top: 1px solid var(--store-border-strong) !important; margin-top: 14px !important; padding-top: 20px !important; font-size: 20px !important; font-weight: 600 !important;
}
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-after-cart-note { font-size: 12px !important; color: #716b76 !important; margin-top: 20px !important; text-align: left !important; }
/* Compact cart amount rows: remove nested theme padding from labels and amounts.
   Shared row targeting includes shipping and tax rows when those are present. */
body:has(.dn-widget-page_content_view_cart) main .dn-checkout-footer-row:not(.dn-total):not(.dn-add-coupon):not(.dn-add-gc) {
    padding: 4px 0 !important; min-height: 0 !important; line-height: 22px !important;
}
body:has(.dn-widget-page_content_view_cart) main .dn-checkout-footer-row:not(.dn-total):not(.dn-add-coupon):not(.dn-add-gc) > div {
    padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; line-height: 22px !important;
}
/* Currency and tax notes share compact spacing throughout cart and checkout. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-after-cart-note {
    padding: 0 !important; margin: 12px 0 0 !important; line-height: 18px !important;
}
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-after-cart-note ~ .dn-after-cart-note { margin-top: 2px !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-after-cart-note p { margin: 0 !important; line-height: inherit !important; }
/* Checkout notes sit directly below Total; the cart keeps its checkout-action spacing. */
body:has(.dn-checkout-page) main .dn-checkout-footer-row.dn-total { padding-bottom: 4px !important; }
body:has(.dn-checkout-page) main .dn-after-cart-note { margin-top: 6px !important; }
body:has(.dn-checkout-page) main .dn-after-cart-note ~ .dn-after-cart-note { margin-top: 2px !important; }

/* Set total typography on the actual children; native address styles otherwise win. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total .dn-footer-label { font: 600 20px/28px var(--store-font) !important; }
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total .dn-checkout-c-total { font: 700 26px/36.4px var(--store-font) !important; }
/* Cart products and totals use a two-column layout instead of a wide table. */
.dn-widget-page_content_view_cart .dn-checkout-cart-body { display: grid !important; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) !important; gap: 32px !important; align-items: start !important; }
.dn-widget-page_content_view_cart :is(.dn-checkout-cart-detail-container, .dn-checkout-cart-detail-col1, .dn-checkout-cart-summary-col2) { width: 100% !important; padding: 0 !important; }
.dn-widget-page_content_view_cart :is(.dn-checkout-cart-detail-col2, .dn-checkout-cart-summary-col1, .dn-checkout-header, .dn-checkout-c-times) { display: none !important; }
.dn-widget-page_content_view_cart .dn-checkout-row { display: flex !important; gap: 18px !important; padding: 22px 0 !important; border-bottom: 1px solid var(--store-border) !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-thumbnail { flex: 0 0 88px !important; width: 88px !important; position: static !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; width: auto !important; flex: 1 !important; min-width: 0 !important; padding: 0 !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > :is(.dn-checkout-c-product,.dn-checkout-c-options) { grid-column: 1 / -1 !important; width: 100% !important; padding: 0 !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > :is(.dn-checkout-c-qty,.dn-checkout-c-price,.dn-checkout-c-total) { width: auto !important; padding: 0 !important; text-align: left !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details .dn-checkout-c-lv > label { display: block !important; font-size: 12px !important; color: #716b76 !important; width: auto !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-name { font-size: 16px !important; font-weight: 500 !important; }
/* Keep quantity, unit price, tax (when present), and total in one metric row.
   Use three columns for untaxed carts and four for carts with a native tax cell. */
.dn-widget-page_content_view_cart .dn-checkout-c-row-details:has(> .dn-checkout-c-tax) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-qty { grid-column: 1; grid-row: 3; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-price { grid-column: 2; grid-row: 3; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-tax { grid-column: 3; grid-row: 3; width: auto !important; padding: 0 !important; text-align: left !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-total { grid-column: 3; grid-row: 3; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details:has(> .dn-checkout-c-tax) > .dn-checkout-c-total { grid-column: 4; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-tax-plus { display: none !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-lv { min-width: 0; }
.dn-widget-page_content_view_cart .dn-checkout-c-qty input { min-width: 0 !important; padding: 4px !important; min-height: 30px !important; height: 30px !important; }
@media(max-width: 600px) {
 .dn-widget-page_content_view_cart .dn-checkout-c-row-details { column-gap: 6px !important; }
 .dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-lv > label { font-size: 10px !important; white-space: nowrap; }
 .dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-lv > span { font-size: 12px !important; }
}
/* Compact item actions retain button styling and the native deletion confirmation. */
.dn-widget-page_content_view_cart .dn-checkout-c-product-actions { display: flex !important; flex-wrap: wrap; gap: 6px; margin-top: 6px !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-actions > div { margin: 0 !important; padding: 0 !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-actions a { display: inline-flex !important; align-items: center; justify-content: center; min-height: 24px; padding: 0 7px !important; border: 1px solid var(--store-border); border-radius: 4px; background: var(--store-surface); color: #716b76; text-decoration: none !important; font: 400 11px/1.4 var(--store-font) !important; box-sizing: border-box; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-remove a { background: #faf0f0; border-color: #ecdada; color: #97575d; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-edit a:hover { background: var(--store-surface-hover); }
.dn-widget-page_content_view_cart .dn-checkout-c-product-remove a:hover { background: #f3e1e2; color: #82454c; }
.dn-widget-page_content_view_cart .dn-add-coupon { margin: 18px 0 !important; }
/* Keep the label left-aligned above the input/button row at every width. */
.dn-widget-page_content_view_cart .dn-checkout-inline-form form { text-align: left !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px !important; font-size: 13px !important; }
/* Coupon and gift certificate controls share a 44 px border-box height.
   Reset the theme's 48 px button line-height to keep Apply centered. */
.dn-widget-page_content_view_cart .dn-checkout-inline-form input[type=text] {
    grid-column: 1; grid-row: 2; width: 100% !important;
    height: 44px !important; min-height: 44px !important;
    padding: 0 12px !important; line-height: normal !important;
}
.dn-widget-page_content_view_cart .dn-checkout-inline-form input[type=submit] {
    grid-column: 2; grid-row: 2;
    height: 44px !important; min-height: 44px !important;
    padding: 0 16px !important; line-height: 42px !important;
    box-sizing: border-box !important; border-radius: 6px !important;
    margin: 0 !important; vertical-align: middle !important;
}
/* Stack columns before either form becomes cramped. Keep all controls visible. */
@media(max-width: 900px) {
    body:has(.dn-checkout-page) #dn_section_main_section .dn-page-columns-container,
    .dn-widget-page_content_view_cart .dn-checkout-cart-body { grid-template-columns: minmax(0,1fr) !important; gap: 28px !important; }
    body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) #dn_section_main_section { padding: 0 16px !important; margin-top: 20px !important; }
}
@media(max-width: 480px) {
    body:has(.dn-checkout-page) main .dn-shopping-cart-container,
    .dn-widget-page_content_view_cart .dn-checkout-cart-summary-container { padding: 20px 16px !important; }
    .dn-checkout-page .dn-form > li.dn-form-field-inline { width: 100% !important; padding-left: 0 !important; }
    .dn-widget-page_content_view_cart .dn-checkout-c-product-thumbnail { flex-basis: 64px !important; width: 64px !important; }
    .dn-widget-page_content_view_cart .dn-checkout-row { gap: 12px !important; }
}

/* Remove legacy summary spacing and table alignment at all breakpoints. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer { padding: 0 !important; margin: 0 !important; }
body:has(.dn-checkout-page) main .dn-checkout-footer-row > div { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Reset offsets left over from the legacy thumbnail/table layout. */
.dn-widget-page_content_view_cart .dn-checkout-c-row-details,
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > div { margin: 0 !important; left: auto !important; position: static !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-product-thumbnail img { width: 100% !important; height: auto !important; border-radius: 8px; }
.dn-widget-page_content_view_cart .dn-checkout-c-lv > :is(label,span) { position: static !important; float: none !important; text-align: left !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-options .dn-checkout-c-o-field { display: flex !important; gap: 8px; padding: 0 !important; }
.dn-widget-page_content_view_cart .dn-checkout-c-row-details > .dn-checkout-c-lv > span { display: block !important; }
.dn-widget-page_content_view_cart .dn-checkout-inline-form { width: 100% !important; }


/* Selected methods and quantity badges stay legible without heavy borders. */
.dn-checkout-page .dn-radio-collapse-header:has(input:checked) { border-color: var(--store-accent) !important; background: var(--store-surface) !important; }
.dn-checkout-billing-container .dn-radio-collapse-container { border: 0 !important; }
.dn-checkout-billing-container .dn-radio-collapse-panel { border: 0 !important; border-radius: 6px; }
.dn-checkout-page .dn-btn-major .dn-btn-label { color: #fff !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
body:has(.dn-checkout-page) main .dn-line-item-thumbnail > span { background: #716b76 !important; color: #fff !important; font: 12px/22px var(--store-font) !important; min-width: 22px; height: 22px; text-align: center; border-radius: 50%; }
/* Counter the page builder's negative gutters only inside checkout. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) #dn_section_main_section :is(.dn-page-section-margin,.dn-page-section-content,.dn-padding-container) { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Keep primary action text readable inside the native nested label. */
.dn-checkout-page .dn-btn-major .dn-btn-label span { color: #fff !important; }

/* 11. ADD-TO-CART CONFIRMATION
   Style only the native cart notice; keep its existing actions and lifecycle. */
#cart_notice .dn-popup-background {
    background: rgba(28, 23, 34, .42) !important;
    opacity: 1 !important;
    backdrop-filter: blur(3px);
}
#cart_notice #cart_notice_content {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(520px, calc(100vw - 32px)) !important;
    max-width: none !important;
    max-height: calc(100dvh - 32px);
    height: auto !important;
    margin: 0 !important;
    padding: 28px !important;
    box-sizing: border-box;
    overflow-y: auto;
    border: 1px solid var(--store-border) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 24px 80px rgba(28, 23, 34, .24) !important;
    font-family: var(--store-font);
}
/* A restrained confirmation mark and a readable sentence-case heading. */
#cart_notice_content > h3 {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    font: 600 21px/1.35 var(--store-font) !important;
    color: #29232f !important;
}
#cart_notice_content > h3::before {
    content: '';
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--store-theme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='m10 16 4 4 8-8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}
/* Reset legacy offsets so thumbnail and product text form one tidy row. */
#cart_notice_content .dn-popup-content-container,
#cart_notice_content .dn-popup-content {
    margin: 0 !important; padding: 0 !important; height: auto !important; max-height: none !important;
}
#cart_notice_content .dn-popup-content-scroll {
    display: flex !important; align-items: center; gap: 18px;
    padding: 18px !important; margin: 0 !important;
    height: auto !important; max-height: none !important;
    border: 1px solid var(--store-border); border-radius: 12px; background: var(--store-surface);
}
#cart_notice_content .dn-d-cart-notice-product-thumbnail {
    position: static !important; float: none !important;
    flex: 0 0 88px; width: 88px !important; height: 88px !important; margin: 0 !important;
}
#cart_notice_content .dn-d-cart-notice-product-thumbnail img {
    display: block; width: 100% !important; height: 100% !important; object-fit: contain;
    border: 0 !important; border-radius: 8px;
}
#cart_notice_content .dn-d-cart-notice-product-details {
    position: static !important; flex: 1; min-width: 0;
    width: auto !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
}
#cart_notice_content .dn-d-cart-notice-product-details p {
    margin: 0 !important; font: 500 15px/1.6 var(--store-font) !important;
    color: #29232f; overflow-wrap: anywhere;
}
/* Outline secondary action; purple checkout action matches the new checkout. */
#cart_notice_content .dn-popup-footer {
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px;
    height: auto !important; min-height: 0 !important;
    margin: 24px 0 0 !important; padding: 0 !important; border: 0 !important;
}
#cart_notice_content .dn-popup-footer .dn-btn {
    display: flex !important; align-items: center; justify-content: center;
    width: 100% !important; min-width: 0 !important; min-height: 50px;
    height: auto !important; margin: 0 !important; padding: 12px !important;
    box-sizing: border-box; border: 1px solid #000 !important; border-radius: 8px !important;
    background: #fff !important; color: #000 !important;
    font: 500 14px/1.4 var(--store-font) !important;
    text-transform: none !important;
}
#cart_notice_content .dn-popup-footer .dn-btn-major { background: var(--store-accent) !important; color: #fff !important; border-color: var(--store-accent) !important; }
#cart_notice_content .dn-popup-footer .dn-btn-std:hover { background: var(--store-surface) !important; }
#cart_notice_content .dn-popup-footer .dn-btn-major:hover { background: var(--store-accent-hover) !important; }
#cart_notice_content .dn-popup-footer .dn-btn :is(.dn-btn-label, span) {
    color: inherit !important; font: inherit !important; text-transform: none !important;
    white-space: normal !important; overflow: visible !important; padding: 0 !important;
}
#cart_notice_content .dn-popup-footer .dn-btn:focus-visible { outline: 2px solid var(--store-accent); outline-offset: 3px; }
/* Stack actions on phones without changing their reading or keyboard order. */
@media(max-width: 480px) {
    #cart_notice #cart_notice_content { padding: 22px !important; border-radius: 14px !important; }
    #cart_notice_content > h3 { font-size: 19px !important; gap: 10px; }
    #cart_notice_content .dn-popup-content-scroll { padding: 12px !important; gap: 12px; }
    #cart_notice_content .dn-d-cart-notice-product-thumbnail { flex-basis: 64px; width: 64px !important; height: 64px !important; }
    #cart_notice_content .dn-popup-footer { grid-template-columns: 1fr; gap: 10px; margin-top: 20px !important; }
}

/* 12. CATALOG LAYOUT
   A single outer gutter replaces the builder's negative column gutters.
   Scope this reset to catalog sections; image aspect-ratio padding is required. */
main .dn-page-section:has(.dn-widget-decorated_product_listing) {
    min-height: 160px;
    max-width: 1248px;
    margin: 32px auto 48px !important;
    padding: 0 var(--store-gutter);
    box-sizing: border-box;
}
main .dn-page-section:has(.dn-widget-decorated_product_listing) :is(.dn-page-section-margin, .dn-page-section-content, .dn-padding-container, .dn-page-column, .dn-page-column-content) {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    box-sizing: border-box;
}
.dn-widget-decorated_product_listing { margin: 0 !important; }
/* Keep card titles clear of adjacent cards while retaining full text. */
.dn-widget-decorated_product_listing .dn-product-name { padding: 0 6px !important; box-sizing: border-box; }
/* Reserve equal title space without clipping long product names. */
.dn-widget-decorated_product_listing .dn-product-name h4 {
    min-height: 2.8em;
    margin: 12px 0 8px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    overflow-wrap: break-word;
}
@media (max-width: 600px) {
    .dn-widget-decorated_product_listing .dn-product-name h4 {
        /* Let mobile titles use their actual height instead of reserving four lines. */
        min-height: 0;
        font-size: 14px !important;
    }
}
/* An empty category has a readable status and the same page gutters. */
.store-empty-category { padding: 24px 0; margin: 0; color: #625e68; }

/* 13. ACCOUNT AND CONTACT FORMS
   One centered wrapper owns the page spacing. Nested builder columns no
   longer multiply the same padding on the registration page. */
body:has(main .dn-widget-login) main > div > .dn-page-section ,

body:has(main .dn-widget-signup) main > div > .dn-page-section ,

body:has(main .dn-widget-forgot_password) main > div > .dn-page-section ,

body:has(main .dn-widget-login_email_token) main > div > .dn-page-section ,

body:has(main .dn-widget-form) main > div > .dn-page-section {
    max-width: 600px !important;
    margin: 32px auto 56px !important;
    padding: 0 var(--store-gutter) !important;
    box-sizing: border-box !important;
}
body:has(main .dn-widget-login) main .dn-page-section-margin ,
body:has(main .dn-widget-login) main .dn-page-section-content ,
body:has(main .dn-widget-login) main .dn-padding-container ,
body:has(main .dn-widget-login) main .dn-page-column ,
body:has(main .dn-widget-login) main .dn-page-column-content ,
body:has(main .dn-widget-signup) main .dn-page-section-margin ,
body:has(main .dn-widget-signup) main .dn-page-section-content ,
body:has(main .dn-widget-signup) main .dn-padding-container ,
body:has(main .dn-widget-signup) main .dn-page-column ,
body:has(main .dn-widget-signup) main .dn-page-column-content ,
body:has(main .dn-widget-forgot_password) main .dn-page-section-margin ,
body:has(main .dn-widget-forgot_password) main .dn-page-section-content ,
body:has(main .dn-widget-forgot_password) main .dn-padding-container ,
body:has(main .dn-widget-forgot_password) main .dn-page-column ,
body:has(main .dn-widget-forgot_password) main .dn-page-column-content ,
body:has(main .dn-widget-login_email_token) main .dn-page-section-margin ,
body:has(main .dn-widget-login_email_token) main .dn-page-section-content ,
body:has(main .dn-widget-login_email_token) main .dn-padding-container ,
body:has(main .dn-widget-login_email_token) main .dn-page-column ,
body:has(main .dn-widget-login_email_token) main .dn-page-column-content ,
body:has(main .dn-widget-form) main .dn-page-section-margin ,
body:has(main .dn-widget-form) main .dn-page-section-content ,
body:has(main .dn-widget-form) main .dn-padding-container ,
body:has(main .dn-widget-form) main .dn-page-column ,
body:has(main .dn-widget-form) main .dn-page-column-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
/* Empty side columns were previously used to center the form. */
body:has(main .dn-widget-login) main .dn-page-column:has(> .dn-page-column-content > .dn-widgets:empty) ,

body:has(main .dn-widget-signup) main .dn-page-column:has(> .dn-page-column-content > .dn-widgets:empty) ,

body:has(main .dn-widget-forgot_password) main .dn-page-column:has(> .dn-page-column-content > .dn-widgets:empty) ,

body:has(main .dn-widget-login_email_token) main .dn-page-column:has(> .dn-page-column-content > .dn-widgets:empty) ,

body:has(main .dn-widget-form) main .dn-page-column:has(> .dn-page-column-content > .dn-widgets:empty) { display: none !important; }
.dn-widget-login .dn-widget-content ,
.dn-widget-login .dn-widget-content-container ,
.dn-widget-login .dn-login-container ,
.dn-widget-login .dn-register-container ,
.dn-widget-signup .dn-widget-content ,
.dn-widget-signup .dn-widget-content-container ,
.dn-widget-signup .dn-login-container ,
.dn-widget-signup .dn-register-container ,
.dn-widget-forgot_password .dn-widget-content ,
.dn-widget-forgot_password .dn-widget-content-container ,
.dn-widget-forgot_password .dn-login-container ,
.dn-widget-forgot_password .dn-register-container ,
.dn-widget-login_email_token .dn-widget-content ,
.dn-widget-login_email_token .dn-widget-content-container ,
.dn-widget-login_email_token .dn-login-container ,
.dn-widget-login_email_token .dn-register-container ,
.dn-widget-form .dn-widget-content ,
.dn-widget-form .dn-widget-content-container ,
.dn-widget-form .dn-login-container ,
.dn-widget-form .dn-register-container {
    padding: 0 !important;
    margin: 0 !important;
}
/* Share checkout typography and field sizing, including on iOS. */
.dn-widget-login h2.dn-styled ,

.dn-widget-login h3.dn-styled ,

.dn-widget-signup h2.dn-styled ,

.dn-widget-signup h3.dn-styled ,

.dn-widget-forgot_password h2.dn-styled ,

.dn-widget-forgot_password h3.dn-styled ,

.dn-widget-login_email_token h2.dn-styled ,

.dn-widget-login_email_token h3.dn-styled ,

.dn-widget-form h2.dn-styled ,

.dn-widget-form h3.dn-styled {
    text-align: left !important;
    text-transform: none !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 24px !important;
}
.dn-widget-login h2.dn-styled ,
.dn-widget-signup h2.dn-styled ,
.dn-widget-forgot_password h2.dn-styled { font-size: 28px !important; }
.dn-widget-signup h3.dn-styled { margin-top: 28px !important; font-size: 20px !important; }
.dn-widget-login .dn-form ,
.dn-widget-signup .dn-form ,
.dn-widget-forgot_password .dn-form ,
.dn-widget-login_email_token .dn-form ,
.dn-widget-form .dn-form { margin: 0 !important; padding: 0 !important; }
.dn-widget-login .dn-form > li ,
.dn-widget-signup .dn-form > li ,
.dn-widget-forgot_password .dn-form > li ,
.dn-widget-login_email_token .dn-form > li ,
.dn-widget-form .dn-form > li { margin: 0 0 18px !important; box-sizing: border-box !important; }
.dn-widget-login .dn-form-field-label ,
.dn-widget-signup .dn-form-field-label ,
.dn-widget-forgot_password .dn-form-field-label ,
.dn-widget-login_email_token .dn-form-field-label ,
.dn-widget-form .dn-form-field-label {
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin-bottom: 6px !important;
}
.dn-widget-login input[type=text] ,
.dn-widget-login input[type=email] ,
.dn-widget-login input[type=password] ,
.dn-widget-login select ,
.dn-widget-login textarea ,
.dn-widget-signup input[type=text] ,
.dn-widget-signup input[type=email] ,
.dn-widget-signup input[type=password] ,
.dn-widget-signup select ,
.dn-widget-signup textarea ,
.dn-widget-forgot_password input[type=text] ,
.dn-widget-forgot_password input[type=email] ,
.dn-widget-forgot_password input[type=password] ,
.dn-widget-forgot_password select ,
.dn-widget-forgot_password textarea ,
.dn-widget-login_email_token input[type=text] ,
.dn-widget-login_email_token input[type=email] ,
.dn-widget-login_email_token input[type=password] ,
.dn-widget-login_email_token select ,
.dn-widget-login_email_token textarea ,
.dn-widget-form input[type=text] ,
.dn-widget-form input[type=email] ,
.dn-widget-form input[type=password] ,
.dn-widget-form select ,
.dn-widget-form textarea {
    width: 100% !important; min-width: 0 !important; min-height: 50px !important;
    padding: 12px !important; border: 1px solid #c9c9ce !important; border-radius: 6px !important;
    background: #fff !important; color: #202024 !important; font: 16px/1.4 var(--store-font) !important;
    box-sizing: border-box !important;
}
.dn-widget-login input[type=password] ,
.dn-widget-signup input[type=password] { padding-right: 48px !important; }
.dn-widget-login .dn-password-toggle ,
.dn-widget-signup .dn-password-toggle { min-width: 44px !important; min-height: 44px !important; }
.dn-widget-form textarea { min-height: 140px !important; resize: vertical !important; }
/* Remove the old second-column indent after stacking login fields. */
.dn-widget-login .dn-form-field-padding-left .dn-form-field ,

.dn-widget-login .dn-form-field-padding-left .dn-form-field-label { padding-left: 0 !important; }
.dn-widget-login .dn-form-footer-actions { padding-top: 0 !important; }
/* Stacked login fields avoid narrow half-width inputs on tablets. */
.dn-widget-login .dn-form > li.dn-form-field-inline { width: 100% !important; padding: 0 !important; }
.dn-widget-signup .dn-form > li > p { margin: 6px 0 0 !important; font-size: 12px !important; line-height: 1.6 !important; color: #625e68 !important; }
.dn-widget-signup label.dn-form-field-label:empty { display: none !important; }
.dn-widget-login .dn-form-field-checkbox label ,
.dn-widget-signup .dn-form-field-checkbox label ,
.dn-widget-form .dn-form-field-checkbox label {
    display: flex !important; gap: 8px !important; align-items: flex-start !important; min-height: 28px !important;
}
.dn-widget-login input[type=checkbox] ,
.dn-widget-signup input[type=checkbox] ,
.dn-widget-form input[type=checkbox] {
    flex: 0 0 18px !important; width: 18px !important; height: 18px !important; margin: 2px 0 0 !important; accent-color: var(--store-accent) !important;
}
/* Native handlers still submit the forms; only presentation is shared. */
.dn-widget-login .dn-btn ,

.dn-widget-signup .dn-btn ,

.dn-widget-forgot_password .dn-btn ,

.dn-widget-login_email_token .dn-btn ,

.dn-widget-form .dn-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; min-height: 50px !important; height: auto !important; padding: 12px 20px !important;
    box-sizing: border-box !important; border: 1px solid var(--store-accent) !important; border-radius: 6px !important;
    background: var(--store-accent) !important; color: #fff !important; font: 500 15px/1.4 var(--store-font) !important;
}
.dn-widget-login .dn-btn .dn-btn-label ,
.dn-widget-login .dn-btn span ,
.dn-widget-signup .dn-btn .dn-btn-label ,
.dn-widget-signup .dn-btn span ,
.dn-widget-forgot_password .dn-btn .dn-btn-label ,
.dn-widget-forgot_password .dn-btn span ,
.dn-widget-login_email_token .dn-btn .dn-btn-label ,
.dn-widget-login_email_token .dn-btn span ,
.dn-widget-form .dn-btn .dn-btn-label ,
.dn-widget-form .dn-btn span {
    color: inherit !important; font: inherit !important; white-space: normal !important; padding: 0 !important;
}
.dn-widget-login .dn-btn:hover ,
.dn-widget-signup .dn-btn:hover ,
.dn-widget-forgot_password .dn-btn:hover ,
.dn-widget-login_email_token .dn-btn:hover ,
.dn-widget-form .dn-btn:hover { background: var(--store-accent-hover) !important; }
.dn-widget-login a.dn-btn { background: #fff !important; color: var(--store-accent) !important; }
.dn-widget-login a.dn-btn:hover { background: var(--store-surface) !important; }
.dn-login-extra-links { display: flex !important; flex-wrap: wrap !important; gap: 8px 24px !important; margin-top: 20px !important; }
.dn-login-extra-links a { display: inline-flex !important; align-items: center !important; min-height: 44px !important; text-decoration: underline !important; }
/* Keyboard focus is visible on native fields and enhanced legacy actions. */
main input:focus-visible ,

main select:focus-visible ,

main textarea:focus-visible ,

main button:focus-visible ,

main a:focus-visible ,

main [role=button]:focus-visible {
    outline: 2px solid var(--store-accent) !important; outline-offset: 2px !important;
}


/* Keep the form surface neutral in every interaction state.
   Explicit account selectors avoid ambiguous grouping in the theme processor. */
main .dn-widget-signup,
main .dn-widget-login,
main .dn-widget-forgot_password,
main .dn-widget-login_email_token,
main .dn-widget-form {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* 14. FOOTER ALIGNMENT
   Center the theme's capped content wrapper at every breakpoint.
   One outer gutter prevents nested builder padding from shifting its center. */
footer #dn_section_footer1 > .dn-page-section-margin {
    margin: 0 !important;
    padding: 0 var(--store-gutter) !important;
    box-sizing: border-box !important;
}
footer #dn_section_footer1 .dn-page-section-content {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
footer #dn_section_footer1 .dn-padding-container,
footer #dn_section_footer1 .dn-page-columns-container,
footer #dn_section_footer1 .dn-page-column,
footer #dn_section_footer1 .dn-page-column-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
/* Wrap each row of navigation links around the same center on small screens. */
footer .dn-links-list.dn-list-horizontal {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
footer .dn-links-list.dn-list-horizontal > li {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
footer .dn-links-list.dn-list-horizontal > li > a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 !important;
}
footer .dn-widget-text p {
    text-align: center !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}


/* 15. CART ICON AND DRAWER
   Keep the native counter and cart actions; separate the badge from the icon. */
header .dn-shopping-cart-icon-over-right-container { position: relative !important; display: inline-flex !important; align-items: center; justify-content: center; width: 48px !important; height: 48px !important; margin: 0 !important; padding: 0 !important; vertical-align: middle; color: var(--store-action-background, var(--store-accent)); }
header .dn-shopping-cart-icon-over-right-container::before { font-size: 32px !important; line-height: 1 !important; }
header .dn-shopping-cart-icon-over-right-container > span { position: absolute !important; top: 0 !important; right: -2px !important; left: auto !important; bottom: auto !important; display: flex !important; align-items: center; justify-content: center; min-width: 20px; height: 20px !important; width: auto !important; padding: 0 5px !important; border: 2px solid #fff; border-radius: 12px; background: var(--store-action-background, var(--store-accent)) !important; color: #fff !important; font: 600 10px/16px var(--store-font) !important; box-sizing: border-box; }
header .dn-shopping-cart-icon-over-right-container > span[data-cart-items="0"] { display: none !important; }
/* The native popup still controls visibility and its slide animation. */
#dn_cart_over_right_popup { width: min(440px, 100%) !important; height: 100dvh !important; max-height: 100dvh; padding: 0 !important; background: #fff !important; box-shadow: -12px 0 48px #29232f26; border: 0 !important; overflow-y: auto !important; overscroll-behavior: contain; }
#dn_cart_over_right_popup_background { background: rgba(28,23,34,.38) !important; opacity: 1 !important; backdrop-filter: blur(2px); }
#dn_cart_over_right_popup .store-cart-heading { height: auto !important; position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; background: #fff; border-bottom: 1px solid var(--store-border); }
#dn_cart_over_right_popup .store-cart-heading h2 { margin: 0; font: 600 22px/1.4 var(--store-font); color: #29232f; }
#dn_cart_over_right_popup .store-cart-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--store-border); border-radius: 50%; background: var(--store-surface); color: var(--store-theme); font: 28px/1 sans-serif; cursor: pointer; }
#dn_cart_over_right_popup .dn-shopping-cart-container { height: auto !important; min-height: calc(100dvh - 82px); padding: 8px 24px 0 !important; background: #fff !important; }
#dn_cart_over_right_popup .dn-shopping-cart-line-item { display: flex !important; gap: 18px; padding: 20px 0 !important; margin: 0 !important; min-height: 0 !important; border-bottom: 1px solid var(--store-border); }
#dn_cart_over_right_popup .dn-line-item-thumbnail { position: static !important; flex: 0 0 88px; width: 88px !important; height: 88px !important; margin: 0 !important; padding: 0 !important; }
#dn_cart_over_right_popup .dn-line-item-thumbnail img { display: block; width: 88px !important; height: 88px !important; object-fit: contain; border: 1px solid var(--store-border); border-radius: 10px; background: #f7f7f7; }
#dn_cart_over_right_popup .dn-line-item-details-container, #dn_cart_over_right_popup .dn-line-item-details { position: static !important; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important; flex: 1; }
#dn_cart_over_right_popup .dn-line-item-details-name { font: 500 14px/1.6 var(--store-font) !important; color: #29232f; }
#dn_cart_over_right_popup .dn-line-item-details-price-with-name { margin-top: 4px; font: 600 15px/1.5 var(--store-font) !important; color: var(--store-theme); }
/* Match the cart page's compact secondary actions; preserve the native Configure link. */
#dn_cart_over_right_popup .dn-line-item-details-edit-link a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 24px; padding: 0 7px; margin-top: 6px; box-sizing: border-box;
  border: 1px solid var(--store-border); border-radius: 4px;
  background: var(--store-surface); color: #716b76;
  font: 400 11px/1.4 var(--store-font); text-decoration: none;
}
#dn_cart_over_right_popup .dn-line-item-details-edit-link a:hover { background: var(--store-surface-hover); }
#dn_cart_over_right_popup .dn-line-item-details-edit-link a:focus-visible { outline: 2px solid var(--store-accent); outline-offset: 2px; }
/* Keep checkout reachable while the product list scrolls. */
#dn_cart_over_right_popup .dn-shopping-cart-actions { position: sticky; bottom: 0; z-index: 2; padding: 20px 0 max(20px, env(safe-area-inset-bottom)) !important; margin: 0 !important; background: #fff; border-top: 1px solid var(--store-border); }
#dn_cart_over_right_popup .dn-shopping-cart-actions .dn-btn { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 52px; height: auto !important; padding: 14px 16px !important; border: 1px solid var(--store-accent) !important; border-radius: 8px; background: var(--store-accent) !important; color: #fff !important; font: 500 14px/1.5 var(--store-font) !important; }
#dn_cart_over_right_popup .dn-btn-valign, #dn_cart_over_right_popup .dn-btn-icon { display: none !important; }
#dn_cart_over_right_popup .dn-btn-label, #dn_cart_over_right_popup .dn-btn-label span { padding: 0 !important; color: inherit !important; font: inherit !important; white-space: normal !important; }
@media(max-width: 480px) {
 #dn_cart_over_right_popup .store-cart-heading { padding: 14px 20px; }
 #dn_cart_over_right_popup .dn-shopping-cart-container { padding: 4px 20px 0 !important; }
 #dn_cart_over_right_popup .dn-line-item-details-edit-link a { min-height: 44px; }
}

/* Match the hidden position to the wider drawer; the native dn-alt state opens it. */
#dn_cart_over_right_popup:not(.dn-alt) { right: min(-440px, -100vw) !important; visibility: hidden; }

/* Mobile cart stays left of the centered logo and opposite the menu. */
header .dn-small-header-fixed-container { position: relative; }
header .dn-shopping-cart-icon-over-right-container.store-mobile-cart { position: absolute !important; left: 16px; top: 50%; transform: translateY(-50%); }

/* 16. ORDER REVIEW
   Scope review cards to step five; the separate summary column is untouched. */
.dn-checkout-page-confirm .dn-checkout-confirm-container-col1 { width: 100% !important; padding: 0 !important; margin: 0 !important; }
.dn-checkout-page-confirm .dn-checkout-confirm-instructions-container { margin: 0 0 22px !important; padding: 0 !important; }
.dn-checkout-page-confirm .dn-checkout-confirm-instructions-container h2 { margin: 0 0 8px !important; }
.dn-checkout-page-confirm .dn-checkout-page-instruction { margin: 0 !important; color: #716b76; font: 400 13px/1.6 var(--store-font); }
.dn-checkout-page-confirm .dn-checkout-address-container { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.dn-checkout-page-confirm .dn-checkout-address-billing-form-container,
.dn-checkout-page-confirm .dn-checkout-address-shipping-form-container,
.dn-checkout-page-confirm .dn-checkout-shipping-container,
.dn-checkout-page-confirm .dn-checkout-payment-container {
 display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 12px;
 width: 100% !important; box-sizing: border-box; padding: 20px !important; margin: 0 0 16px !important;
 border: 1px solid var(--store-border) !important; border-radius: 10px; background: #fff;
}
.dn-checkout-page-confirm h3.dn-styled { margin: 0 !important; padding: 0 !important; text-align: left !important; font: 600 16px/1.5 var(--store-font) !important; color: #29232f; align-self: center; }
.dn-checkout-page-confirm .dn-link-change { position: static !important; padding: 0 !important; margin: 0 !important; align-self: start; }
.dn-checkout-page-confirm .dn-link-change a { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border: 1px solid var(--store-border); border-radius: 5px; background: var(--store-surface); color: var(--store-theme); font: 500 11px/1.4 var(--store-font); text-decoration: none; }
.dn-checkout-page-confirm .dn-form { grid-column: 1 / -1; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.dn-checkout-page-confirm .dn-form > li { width: 100% !important; padding: 0 !important; margin: 0 0 4px !important; min-height: 0 !important; }
.dn-checkout-page-confirm .dn-form > li:last-child { margin-bottom: 0 !important; }
.dn-checkout-page-confirm .dn-form > li > div { width: auto !important; padding: 0 !important; margin: 0 !important; }
.dn-checkout-page-confirm .dn-value { display: block; font: 400 13px/1.7 var(--store-font) !important; color: #625e68; overflow-wrap: anywhere; }
.dn-checkout-page-confirm .dn-no-labels > li:first-child .dn-value { color: #29232f; font-weight: 500 !important; }
.dn-checkout-page-confirm .dn-label-left-field > li { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; }
.dn-checkout-page-confirm .dn-label-left-field label { position: static !important; width: auto !important; padding: 0 !important; margin: 0 !important; color: #716b76; font: 400 12px/1.8 var(--store-font) !important; }
@media(max-width: 480px) {
 .dn-checkout-page-confirm .dn-checkout-address-billing-form-container,
 .dn-checkout-page-confirm .dn-checkout-address-shipping-form-container,
 .dn-checkout-page-confirm .dn-checkout-shipping-container,
 .dn-checkout-page-confirm .dn-checkout-payment-container { padding: 16px !important; }
}


/* 17. HOSTED CARD PAYMENT
   DecoNetwork renders this sixth step outside .dn-checkout-page.
   Scope its layout to the Stripe mount; native payment handling stays intact. */
body:has(.dn-current-step-finalise) #dn_section_main_section {
  max-width: 808px !important;
  margin: 32px auto 64px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}
body:has(.dn-current-step-finalise) #dn_section_main_section :is(.dn-page-section-margin, .dn-page-section-content, .dn-padding-container, .dn-page-columns-container, .dn-page-column, .dn-page-column-content, .dn-widget-page_content, .dn-widget-content-container) {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
/* Six equal columns keep the additional payment step on the same row. */
.dn-step-count-6 #checkout_steps { grid-template-columns: repeat(6, minmax(0, 1fr)); }
#checkout_steps.dn-current-step-finalise > .dn-checkout-step {
  background: var(--store-soft); border-color: var(--store-border-strong); color: var(--store-theme);
}
#checkout_steps.dn-current-step-finalise > .dn-checkout-step-finalise {
  background: var(--store-accent); border-color: var(--store-accent); color: #fff;
  font-weight: 600 !important; box-shadow: 0 3px 8px var(--store-accent-shadow);
}
body:has(.dn-current-step-finalise) .dn-checkout-step-position h4 {
  margin: 0 0 12px !important;
  font: 500 12px/1.5 var(--store-font) !important;
  color: #716b76; text-transform: none !important;
}
/* A single card groups the embedded fields without constraining iframe height. */
body:has(.dn-current-step-finalise) #elements-mount {
  padding: 24px !important; margin: 0 !important;
  border: 1px solid var(--store-border); border-bottom: 0;
  border-radius: 12px 12px 0 0; background: #fff;
  box-sizing: border-box;
}
body:has(.dn-current-step-finalise) #elements-mount::before {
  content: 'Card details'; display: block; margin-bottom: 20px;
  color: #29232f; font: 600 21px/1.4 var(--store-font);
}
body:has(.dn-current-step-finalise) #elements-mount + div {
  padding: 0 24px 24px !important; margin: 0 !important;
  border: 1px solid var(--store-border); border-top: 0;
  border-radius: 0 0 12px 12px; background: #fff;
}
/* Compact primary action keeps a comfortable touch target. */
body:has(.dn-current-step-finalise) #mybutton {
  display: block !important; width: 100% !important;
  height: 46px !important; min-height: 46px !important;
  padding: 0 16px !important; margin: 0 !important; box-sizing: border-box;
  border: 1px solid var(--store-accent) !important; border-radius: 6px !important;
  background: var(--store-accent) !important; color: #fff !important;
  font: 500 14px/44px var(--store-font) !important; text-transform: none !important;
  cursor: pointer;
}
body:has(.dn-current-step-finalise) #mybutton:hover { background: var(--store-accent-hover) !important; }
/* Preserve all native fee amounts and disclosures in a quiet supporting panel. */
body:has(.dn-current-step-finalise) .dn-payment-surcharge-notice {
  margin: 16px 0 0 !important; padding: 18px 20px !important;
  border: 1px solid var(--store-border); border-radius: 10px; background: var(--store-surface);
  color: #625e68; font: 400 12px/1.8 var(--store-font) !important;
}
body:has(.dn-current-step-finalise) .dn-payment-surcharge-notice::before {
  content: 'Card processing fees'; display: block; margin-bottom: 6px;
  color: #29232f; font: 500 13px/1.5 var(--store-font);
}
body:has(.dn-current-step-finalise) .dn-payment-surcharge-notice a {
  color: var(--store-accent); font: inherit; text-decoration: underline;
}
/* On phones labels may wrap inside each card, never into a second step row. */
@media(max-width: 600px) {
  body:has(.dn-current-step-finalise) #dn_section_main_section { padding: 0 16px !important; margin-top: 20px !important; }
  .dn-step-count-6 #checkout_steps { gap: 3px !important; }
  .dn-step-count-6 #checkout_steps > .dn-checkout-step { font-size: 10px !important; }
  .dn-step-count-6 #checkout_steps span, .dn-step-count-6 #checkout_steps a { white-space: normal !important; }
  .dn-step-count-6 #checkout_steps > .dn-checkout-step > div > div { min-height: 44px; padding: 3px 2px; }
  body:has(.dn-current-step-finalise) #elements-mount { padding: 18px 16px !important; }
  body:has(.dn-current-step-finalise) #elements-mount + div { padding: 0 16px 18px !important; }
  body:has(.dn-current-step-finalise) .dn-payment-surcharge-notice { padding: 16px !important; }
}

/* Extra-small phones retain readable labels within all six cards. */
@media(max-width: 360px) {
  .dn-step-count-6 #checkout_steps > .dn-checkout-step { font-size: 9px !important; }
}


/* 18. ORDER COMPLETION
   This page has no summary column: restore one centered content column.
   Keep all native order references, notices and destination links intact. */
body:has(.dn-checkout-page-complete) #dn_section_main_section {
  max-width: 808px !important; margin: 24px auto 56px !important;
}
body:has(.dn-checkout-page-complete) #dn_section_main_section .dn-page-columns-container {
  grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important;
}
body:has(.dn-checkout-page-complete) main .dn-page-alert.dn-notice {
  max-width: 760px; margin: 28px auto 0 !important; padding: 14px 20px !important;
  box-sizing: border-box; border: 1px solid var(--store-border) !important; border-radius: 8px;
  background: var(--store-surface) !important; color: var(--store-theme) !important;
  font: 400 13px/1.6 var(--store-font) !important; text-align: center;
}
/* A calm confirmation card replaces the legacy floating half-width block. */
.dn-checkout-page-complete .dn-checkout-complete-container,
.dn-checkout-page-complete .dn-checkout-complete-container-col1 {
  width: 100% !important; float: none !important; margin: 0 !important;
  padding: 0 !important; box-sizing: border-box;
}
.dn-checkout-page-complete .dn-checkout-complete-container-col1 {
  padding: 32px !important; border: 1px solid var(--store-border);
  border-radius: 14px; background: #fff; text-align: center;
}
/* Decorative confirmation mark; the real heading conveys the status. */
.dn-checkout-page-complete .dn-checkout-complete-container-col1::before {
  content: ''; display: block; width: 52px; height: 52px; margin: 0 auto 18px;
  border-radius: 50%; background: var(--store-theme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='m16 26 7 7 14-14' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}
body:has(.dn-checkout-page-complete) main .dn-checkout-page-complete h2.dn-styled {
  margin: 0 0 10px !important; font: 600 28px/1.3 var(--store-font) !important;
  color: #29232f; text-transform: none !important;
}
.dn-checkout-page-complete .dn-checkout-page-instruction {
  margin: 0 0 16px !important; padding: 0 !important;
  color: #716b76; font: 400 14px/1.7 var(--store-font) !important;
  overflow-wrap: anywhere;
}
.dn-checkout-page-complete .dn-checkout-page-instruction p { margin: 0 !important; font: inherit !important; }
/* Order reference and statement descriptor remain separate, readable details. */
.dn-checkout-page-complete .dn-checkout-complete-container-col1 > p:nth-of-type(2) {
  display: inline-block; margin: 4px 0 22px !important; padding: 10px 18px !important;
  border-radius: 6px; background: var(--store-surface); color: var(--store-theme);
}
.dn-checkout-page-complete .dn-checkout-complete-container-col1 > p:nth-of-type(3) {
  padding: 16px !important; border: 1px solid var(--store-border); border-radius: 8px;
  background: var(--store-surface); font-size: 12px !important;
}
.dn-checkout-page-complete .dn-checkout-complete-container-col1 > p:nth-of-type(3) strong { font-weight: 400; }
/* Equal-height actions: subdued shopping link and primary order details link. */
.dn-checkout-page-complete .dn-form-footer-actions {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px; margin: 24px 0 0 !important; padding: 0 !important;
}
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn {
  display: flex !important; align-items: center; justify-content: center;
  width: 100% !important; min-width: 0 !important; height: 46px !important;
  min-height: 46px !important; margin: 0 !important; padding: 0 12px !important;
  box-sizing: border-box; border: 1px solid var(--store-border-strong) !important; border-radius: 6px !important;
  background: #fff !important; color: var(--store-theme) !important;
  font: 500 13px/1.4 var(--store-font) !important; text-transform: none !important;
}
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn-major {
  background: var(--store-accent) !important; border-color: var(--store-accent) !important; color: #fff !important;
}
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn-std:hover { background: var(--store-surface) !important; }
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn-major:hover { background: var(--store-accent-hover) !important; }
.dn-checkout-page-complete .dn-form-footer-actions :is(.dn-btn-valign, .dn-btn-icon) { display: none !important; }
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn .dn-btn-label,
.dn-checkout-page-complete .dn-form-footer-actions .dn-btn .dn-btn-label span {
  padding: 0 !important; color: inherit !important; font: inherit !important;
  text-transform: none !important; white-space: normal !important;
  overflow: visible !important; text-overflow: clip !important;
}
/* Preserve comfortable side gutters and touch targets on small screens. */
@media(max-width: 808px) {
  body:has(.dn-checkout-page-complete) main .dn-page-alert.dn-notice { margin: 20px 16px 0 !important; }
}
@media(max-width: 480px) {
  .dn-checkout-page-complete .dn-checkout-complete-container-col1 { padding: 24px 18px !important; }
  body:has(.dn-checkout-page-complete) main .dn-checkout-page-complete h2.dn-styled { font-size: 24px !important; }
  .dn-checkout-page-complete .dn-form-footer-actions { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}


/* 19. EMPTY CART
   Target the native empty state only; populated carts keep their own layout. */
body:has(.dn-view-cart-empty) #dn_section_main_section {
  max-width: 808px !important; margin: 32px auto 64px !important;
}
body:has(.dn-view-cart-empty) #dn_section_main_section :is(.dn-page-column, .dn-page-column-content) {
  width: 100% !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box;
}
body:has(.dn-view-cart-empty) main h1.dn-styled { text-align: center !important; }
.dn-view-cart-empty {
  padding: 44px 28px !important; margin: 0 !important;
  border: 1px solid var(--store-border); border-radius: 14px;
  background: var(--store-surface); text-align: center; box-sizing: border-box;
}
/* Decorative bag icon uses the store accent without adding screen-reader text. */
.dn-view-cart-empty::before {
  content: ''; display: block; width: 72px; height: 72px;
  margin: 0 auto 22px; border-radius: 50%;
  background: var(--store-theme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M10 13h20l2 21H8l2-21Zm5 1V9a5 5 0 0 1 10 0v5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
}
body:has(.dn-view-cart-empty) main .dn-view-cart-empty h2.dn-styled {
  margin: 0 0 12px !important; color: #29232f;
  font: 600 25px/1.35 var(--store-font) !important; text-transform: none !important;
}
.dn-view-cart-empty .store-empty-cart-description {
  max-width: 400px; margin: 0 auto 26px; color: #716b76;
  font: 400 14px/1.7 var(--store-font);
}
.dn-view-cart-empty .store-empty-cart-action {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 26px; box-sizing: border-box;
  border: 1px solid var(--store-accent); border-radius: 6px;
  background: var(--store-accent); color: #fff;
  font: 500 14px/1.4 var(--store-font); text-decoration: none;
}
.dn-view-cart-empty .store-empty-cart-action:hover { background: var(--store-accent-hover); }
@media(max-width: 480px) {
  .dn-view-cart-empty { padding: 32px 20px !important; }
  body:has(.dn-view-cart-empty) main .dn-view-cart-empty h2.dn-styled { font-size: 22px !important; }
  .dn-view-cart-empty .store-empty-cart-action { width: 100%; }
}


/* 20. EMPTY CART DRAWER
   Only enhance the native empty message, including after cart refreshes. */
#dn_cart_over_right_popup .dn-shopping-cart-container:has(.store-drawer-empty) {
  display: flex; align-items: center; justify-content: center;
  min-height: calc(100dvh - 100px); padding: 24px !important;
}
#dn_cart_over_right_popup .store-drawer-empty {
  width: 100%; padding: 32px 20px; box-sizing: border-box;
  border: 1px solid var(--store-border); border-radius: 14px;
  background: var(--store-surface); text-align: center;
}
/* A simple shopping bag illustrates the empty state without extra spoken content. */
#dn_cart_over_right_popup .store-drawer-empty::before {
  content: ''; display: block; width: 92px; height: 92px; margin: 0 auto 24px;
  border-radius: 50%; background: var(--store-theme) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 22h30l3 32H14l3-32ZM25 23v-8a7 7 0 0 1 14 0v8'/%3E%3C/g%3E%3C/svg%3E") center no-repeat;
}
#dn_cart_over_right_popup .store-drawer-empty h3 {
  margin: 0 0 12px; color: #29232f; font: 600 23px/1.35 var(--store-font);
  text-transform: none;
}
#dn_cart_over_right_popup .store-drawer-empty p {
  margin: 0 0 26px; color: #716b76; font: 400 14px/1.7 var(--store-font);
}
#dn_cart_over_right_popup .store-drawer-empty button {
  display: flex; align-items: center; justify-content: center; width: 100%;
  min-height: 46px; padding: 10px 14px; border: 1px solid var(--store-accent);
  border-radius: 6px; background: var(--store-accent); color: #fff;
  font: 500 14px/1.4 var(--store-font); cursor: pointer;
}
#dn_cart_over_right_popup .store-drawer-empty button:hover { background: var(--store-accent-hover); }
#dn_cart_over_right_popup .store-drawer-empty button:focus-visible { outline: 2px solid var(--store-accent); outline-offset: 3px; }


/* Cap mobile logos independently of wider desktop client logos. */
@media(max-width: 767px) {
  header .dn-logo img { width: var(--store-logo-mobile-width) !important; }
}

/* Checkout form visibility follows the client settings at the top of this file.
   Target separate native rows: both inner forms share the same DecoNetwork class. */
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-add-coupon {
    display: var(--store-coupon-form-display, block) !important;
}
body:has(.dn-checkout-page, .dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-add-gc {
    display: var(--store-gift-certificate-form-display, block) !important;
}

/* Reusable contact page. Brand colors and typography follow the template settings. */
.dn-page-contact .store-contact-original{display:none!important}
.dn-page-contact .store-contact-page{max-width:1120px;margin:36px auto 64px;padding:0 24px;font-family:var(--store-font,inherit);color:#27252b}
.dn-page-contact .store-contact-hero{padding:36px 40px;border-radius:20px;background:var(--store-soft,#f0f0f0);border:1px solid var(--store-border,#dedede);margin-bottom:32px;text-align:left}
.dn-page-contact .store-contact-page .store-contact-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;color:#595959;margin:0 0 12px}
.dn-page-contact .store-contact-hero h1{font:600 clamp(28px,3.5vw,40px)/1.2 var(--store-font,inherit)!important;letter-spacing:-.02em;margin:0 0 14px!important;text-align:left!important}
.dn-page-contact .store-contact-hero>p:last-child{font-size:16px;line-height:1.7;margin:0;max-width:650px;color:#625e69}
.dn-page-contact .store-contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:start}
.dn-page-contact .store-contact-page h2{font-size:24px!important;line-height:1.35!important;font-weight:600!important;text-align:left!important;margin:0 0 20px!important}
/* Contact help cards retain visible surfaces with a light accent palette. */
.dn-page-contact .store-contact-help{padding:8px 0}
.dn-page-contact .store-contact-tip{padding:22px 24px;margin:0 0 14px;border:1px solid var(--store-border,#dedede);border-radius:14px;background:var(--store-surface,#f7f7f7)}
.dn-page-contact .store-contact-tip h3{font-size:17px!important;font-weight:600!important;line-height:1.4!important;margin:0 0 8px!important;text-align:left!important}
.dn-page-contact .store-contact-tip p,.dn-page-contact .store-contact-required{font-size:15px;line-height:1.7;margin:0;color:#625e69}
.dn-page-contact .store-contact-card{padding:30px;border:1px solid var(--store-border,#dedede);border-radius:18px;background:var(--store-surface,#f7f7f7);box-shadow:0 8px 28px rgba(0,0,0,.04);min-width:0}
.dn-page-contact .store-contact-card>h2{margin-bottom:6px!important}
.dn-page-contact .store-contact-required{margin-bottom:24px}
.dn-page-contact .store-contact-card .dn-widget-form{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.dn-page-contact .store-contact-card .dn-widget-content-container,.dn-page-contact .store-contact-card .dn-widget-content,.dn-page-contact .store-contact-card .dn-widget-form-container{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;max-width:none!important;width:100%!important}
.dn-page-contact .store-contact-card .dn-form-field-50{width:50%!important;box-sizing:border-box}
.dn-page-contact .store-contact-card .dn-form-field-50:has(.dn-name_firstname){padding-right:6px!important}
.dn-page-contact .store-contact-card .dn-form-field-50:has(.dn-name_lastname){padding-left:6px!important}
.dn-page-contact .store-contact-card textarea{min-height:150px;resize:vertical}
.dn-page-contact .store-contact-card input,.dn-page-contact .store-contact-card textarea{font-family:inherit!important}
.dn-page-contact .store-contact-card .dn-form-field-hint{font-size:12px;margin-top:5px;color:#625e69}
@media(max-width:767px){.dn-page-contact .store-contact-page{padding:0 16px;margin:22px auto 40px}.dn-page-contact .store-contact-hero{padding:26px 24px;margin-bottom:24px}.dn-page-contact .store-contact-layout{grid-template-columns:minmax(0,1fr);gap:20px}.dn-page-contact .store-contact-card{padding:24px 18px}.dn-page-contact .store-contact-help{padding:0}.dn-page-contact .store-contact-tip{padding:18px 20px}}

/* Mobile header: a 48px touch target centered automatically on the logo row. */
header .dn-small-header-fixed-container{min-height:48px;display:flex;align-items:center;justify-content:center}
header .dn-small-header .dn-menu-icon,header .dn-small-header-always .dn-menu-icon{position:absolute!important;top:50%!important;right:8px!important;transform:translateY(-50%);display:flex!important;align-items:center;justify-content:center;width:48px!important;height:48px!important;min-width:48px;min-height:48px;padding:0!important;margin:0!important;box-sizing:border-box;border-radius:8px;cursor:pointer;touch-action:manipulation}
header .dn-small-header .dn-menu-icon::before,header .dn-small-header-always .dn-menu-icon::before{font-size:31px!important;line-height:1!important}
header .dn-small-header-fixed-container .dn-small-logo-container{margin:0!important;max-width:calc(100% - 128px)}
header .dn-small-header-fixed-container .dn-small-logo-container img{display:block;max-width:100%;height:auto}
header .dn-small-header .dn-menu-icon:focus-visible,header .dn-small-header-always .dn-menu-icon:focus-visible{outline:2px solid var(--store-accent);outline-offset:2px}

/* Mobile navigation drawer: shared branding, generous touch targets and quiet hierarchy. */
@media(max-width:767px){
#main_nav_dropdown{border-radius:20px 0 0 20px;box-shadow:-12px 0 40px #24202b20;background:#fff}
#main_nav_dropdown>nav.dn-nav-dropdown{width:min(320px,88vw);min-width:0;box-sizing:border-box;border:0!important;padding:20px 20px max(24px,env(safe-area-inset-bottom));height:auto;min-height:100%;text-align:left}
#main_nav_dropdown .dn-nav-item{padding:0!important;margin:0;color:#29252f;text-align:left}
#main_nav_dropdown .dn-nav-item>a,#main_nav_dropdown .dn-nav-cart a{display:flex;align-items:center;min-height:48px;padding:10px 14px;box-sizing:border-box;font:500 17px/1.4 var(--store-font,inherit)!important;letter-spacing:0;text-decoration:none!important;color:#29252f!important;border-radius:10px}
#main_nav_dropdown .dn-nav-item>a:hover,#main_nav_dropdown .dn-nav-item>a:focus-visible{background:#f4f1f6;background:color-mix(in srgb,var(--store-accent) 9%,white);color:var(--store-accent)!important}
#main_nav_dropdown .dn-nav-item>a:focus-visible{outline:2px solid var(--store-accent);outline-offset:-2px}
#main_nav_dropdown .dn-nav-close{height:48px!important;margin:0 0 22px!important;border:0!important;background:#f7f5f8;border-radius:10px}
#main_nav_dropdown .dn-nav-close span{display:flex!important;align-items:center;height:48px;padding:0 14px;color:var(--store-accent)!important;font:500 14px/1 var(--store-font,inherit)!important}
#main_nav_dropdown .dn-nav-close::after{font-size:18px!important;right:15px!important;top:15px!important;color:var(--store-accent)!important;width:18px!important}
#main_nav_dropdown .dn-nav-separator-usernav{border:0!important;border-top:1px solid #e8e4ec!important;margin:20px 0 12px!important}
#main_nav_dropdown .dn-nav-login>a,#main_nav_dropdown .dn-nav-register>a,#main_nav_dropdown .dn-nav-cart a{font-size:15px!important;color:#68616e!important}
#main_nav_dropdown .dn-nav-cart{margin-top:12px;background:#f7f5f8;border-radius:10px}
#main_nav_dropdown .dn-nav-with-submenu::after{top:16px!important;right:8px!important;font-size:16px!important}
}

/* Keep the cart checkout label and icon white in every interaction state. */
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn:is(:hover,:focus,:active),
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn *,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn:is(:hover,:focus,:active) *,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn::before,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn .dn-btn-icon::before,
.dn-widget-page_content_view_cart .dn-cart-checkout-options .dn-btn:is(:hover,:focus,:active) .dn-btn-icon::before{color:#fff!important}

/* Active desktop navigation: subtle lift and black underline without layout shift. */
@media(min-width:768px){
body.dn-inline-header header #main_nav .dn-nav-item>a span{position:relative;display:inline-block}
body.dn-inline-header header #main_nav .dn-selected>a span{transform:translateY(-3px);font-weight:600!important}
body.dn-inline-header header #main_nav .dn-selected>a span::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:#000;border-radius:2px;pointer-events:none}
}

/* Navigation hover: remove text underlines while keeping the active black bar. */
body.dn-inline-header header #main_nav .dn-nav-item>a:hover,
body.dn-inline-header header #main_nav .dn-nav-item>a:hover span,
#main_nav_dropdown nav.dn-nav-dropdown .dn-nav-item>a:hover,
#main_nav_dropdown nav.dn-nav-dropdown .dn-nav-item>a:hover span{text-decoration:none!important}

/* Homepage welcome banner: compact, responsive and driven by the template palette. */
main.dn-content>.store-welcome{box-sizing:border-box;max-width:1152px;margin:28px auto 36px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--store-soft,#f4f1f6);border-radius:20px;color:#29252f}
.store-welcome-copy{max-width:700px;min-width:0}
.store-welcome .store-welcome-eyebrow{margin:0 0 12px;font:600 12px/1.5 var(--store-font);letter-spacing:.14em;color:var(--store-accent)}
.store-welcome #store-welcome-title{font:600 clamp(28px,3vw,40px)/1.2 var(--store-font)!important;letter-spacing:-.025em;margin:0 0 16px!important;text-align:left!important}
.store-welcome .store-welcome-description{font:400 16px/1.7 var(--store-font);color:#625e68;max-width:580px;margin:0}
.store-welcome .store-welcome-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;padding:14px 20px;min-height:48px;box-sizing:border-box;border-radius:10px;background:var(--store-accent);color:#fff!important;font:500 14px/1.4 var(--store-font);text-decoration:none!important}
.store-welcome .store-welcome-action:hover{background:var(--store-accent-hover)}
.store-welcome .store-welcome-action:focus-visible{outline:2px solid var(--store-accent);outline-offset:4px}
#store-home-collection{scroll-margin-top:120px}
@media(max-width:1200px){main.dn-content>.store-welcome{margin-left:24px;margin-right:24px}}
@media(max-width:767px){main.dn-content>.store-welcome{margin:20px 16px 28px;padding:28px 24px;display:block;border-radius:16px}.store-welcome .store-welcome-description{font-size:15px}.store-welcome .store-welcome-action{margin-top:22px}.store-welcome #store-welcome-title{font-size:29px!important}}

/* Category collections: shared editorial introduction and native product cards. */
.store-collection-hero{max-width:1152px;box-sizing:border-box;margin:28px auto 44px;padding:40px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;background:var(--store-soft);border-radius:24px}
.store-collection-eyebrow{font:600 12px/1.5 var(--store-font);letter-spacing:.14em;color:var(--store-accent);margin:0 0 16px}
.store-collection-intro h1{font:600 clamp(32px,3.5vw,46px)/1.14 var(--store-font)!important;letter-spacing:-.035em;max-width:470px;text-align:left!important;margin:0 0 20px!important;color:#29252f}
.store-collection-intro>p:not(.store-collection-eyebrow){font:400 16px/1.7 var(--store-font);color:#625e68;margin:0 0 24px;max-width:440px}








.store-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px;text-align:left}
.store-collection-heading h2{font:600 26px/1.3 var(--store-font)!important;margin:0!important;letter-spacing:-.02em;text-align:left!important}
.store-collection-heading p{font:400 14px/1.5 var(--store-font);color:#625e68;margin:0}
:is(.store-collection,body:has(.store-welcome)) .dn-grid-item-container{border:1px solid var(--store-border);border-radius:16px;overflow:hidden;background:#fff;padding-bottom:16px;box-sizing:border-box}
:is(.store-collection,body:has(.store-welcome)) .dn-grid-item-container .dn-product-name{padding:0 14px!important;text-align:left}
:is(.store-collection,body:has(.store-welcome)) .dn-grid-item-container .dn-product-name h4{font-size:14px!important;text-align:left!important;min-height:0}
:is(.store-collection,body:has(.store-welcome)) .dn-product-price,:is(.store-collection,body:has(.store-welcome)) .dn-product-colors{padding-left:14px!important;padding-right:14px!important;text-align:left!important}

@media(max-width:1200px){.store-collection-hero{margin-left:24px;margin-right:24px}}
@media(max-width:767px){.store-collection-hero{margin:20px 16px 28px;padding:28px 24px;grid-template-columns:1fr;gap:28px}.store-collection-intro h1{font-size:34px!important}.store-collection-heading{display:block}.store-collection-heading h2{font-size:23px!important}.store-collection-heading p{margin-top:8px}:is(.store-collection,body:has(.store-welcome)) .dn-grid-item-container .dn-product-name{padding:0 10px!important}:is(.store-collection,body:has(.store-welcome)) .dn-product-price,:is(.store-collection,body:has(.store-welcome)) .dn-product-colors{padding-left:10px!important;padding-right:10px!important}}

/* Empty collections keep an honest, compact introduction. */
.store-collection-hero.store-collection-empty{grid-template-columns:1fr}.store-collection-empty .store-collection-tags:empty{display:none}

/* Desktop overflow navigation: a quiet floating menu, using the shared palette. */
@media(min-width:768px){
#main_nav_dropdown.dn-more-dropdown{background:transparent;border-radius:12px;box-shadow:0 12px 32px rgba(35,26,46,.14);min-width:210px}
#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown{box-sizing:border-box;min-width:210px;background:#fff;border:1px solid var(--store-border)!important;border-radius:12px;padding:8px!important;text-align:left}
#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown .dn-nav-item{padding:0!important}
#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown .dn-nav-item>a{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:10px 14px!important;border-radius:7px;font:500 14px/1.5 var(--store-font)!important;color:#29252f!important;text-decoration:none!important;text-align:left}
#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown .dn-nav-item>a:hover,#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown .dn-nav-item>a:focus-visible{background:var(--store-soft);color:var(--store-accent)!important;text-decoration:none!important}
#main_nav_dropdown.dn-more-dropdown>nav.dn-nav-dropdown .dn-nav-item>a:focus-visible{outline:2px solid var(--store-accent);outline-offset:-2px}
}

/* Compact category banners: match the homepage rhythm without fixed-height clipping. */
.store-collection-hero{padding:28px 36px;grid-template-columns:minmax(0,1fr) 290px;gap:32px;min-height:226px;margin-bottom:36px}
.store-collection-eyebrow{font-size:11px;margin-bottom:8px}
.store-collection-intro h1{font-size:30px!important;line-height:1.18!important;max-width:none;margin-bottom:10px!important}
.store-collection-intro>p:not(.store-collection-eyebrow){font-size:14px;line-height:1.6;max-width:620px;margin-bottom:14px}







@media(max-width:1000px) and (min-width:768px){.store-collection-hero{grid-template-columns:minmax(0,1fr) 240px;padding:26px;gap:24px}.store-collection-intro h1{font-size:27px!important}}
@media(max-width:767px){.store-collection-hero{display:block;min-height:0;padding:28px 24px;margin:20px 16px 28px}.store-collection-intro h1{font-size:29px!important}.store-collection-intro>p:not(.store-collection-eyebrow){font-size:15px;margin-bottom:22px}}

/* Smooth collection anchor navigation; honor reduced-motion preferences. */
@media(prefers-reduced-motion:no-preference){html:has(.store-welcome){scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html:has(.store-welcome){scroll-behavior:auto}}

/* Homepage and category listings share the same product-card presentation. */

/* Product page proposal: presentation only, with native purchase controls.
 * Scoped to product pages; no extra JavaScript, requests, or image assets.
 */
body.dn-page-predecorated_product .dn-product-panels {gap:48px!important;align-items:start!important;}
body.dn-page-predecorated_product .dn-product-main-image-panel {border-radius:0;overflow:visible;background:transparent;}
/* Keep alternate-view thumbnails outside the main image frame. */
body.dn-page-predecorated_product .dn-product-main-image-container {border-radius:20px;overflow:hidden;background:#f7f7f7;}
body.dn-page-predecorated_product .dn-product-views-container {margin-top:16px!important;background:transparent!important;}
body.dn-page-predecorated_product #properties_product_details {padding:4px 0 0!important;min-width:0;}
body.dn-page-predecorated_product .dn-product-heading-container-above-content h1 {font-size:clamp(26px,2.5vw,34px)!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.025em!important;margin:0 0 16px!important;}
body.dn-page-predecorated_product .dn-product-price-container {margin:0 0 24px!important;padding:0 0 22px!important;border-bottom:1px solid var(--store-border,#e5e3e8);}
body.dn-page-predecorated_product .dn-product-price-container .dn-price {font-size:26px!important;line-height:1.3!important;font-weight:500!important;}
body.dn-page-predecorated_product .dn-product-color-container {margin-bottom:20px!important;}
body.dn-page-predecorated_product #add_to_cart_button {min-height:52px!important;border-radius:10px!important;box-shadow:0 4px 12px rgba(30,20,40,.08);font-size:15px!important;}
body.dn-page-predecorated_product #add_to_cart_button .dn-btn-icon {font-size:22px!important;}
body.dn-page-predecorated_product .dn-product-add-to-cart-container {margin-top:20px!important;margin-bottom:24px!important;}
/* Quiet accordion rows keep supporting information easy to scan. */
body.dn-page-predecorated_product .dn-product-extra-details-container .dn-collapse-container {border:0!important;border-radius:0!important;}
body.dn-page-predecorated_product .dn-product-extra-details-container .dn-collapse-header {background:transparent!important;border:0!important;border-top:1px solid var(--store-border,#e5e3e8)!important;padding:17px 32px 17px 0!important;min-height:54px;}
body.dn-page-predecorated_product .dn-product-extra-details-container .dn-collapse-header h4 {font-size:14px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;}
body.dn-page-predecorated_product .dn-product-extra-details-container .dn-collapse-header::after {right:2px!important;}
body.dn-page-predecorated_product .dn-product-extra-details-container .dn-collapse-panel {border:0!important;padding-left:0!important;padding-right:0!important;line-height:1.7;}
/* Preserve the existing made-to-order notice, with a softer visual hierarchy. */
body.dn-page-predecorated_product .dn-product-shipping-info {background:var(--store-soft,#f6f3f8)!important;border:0!important;border-radius:12px!important;padding:18px 20px!important;margin-top:18px!important;}
body.dn-page-predecorated_product .dn-product-shipping-info h4 {font-size:12px!important;font-weight:600!important;letter-spacing:.08em!important;margin:0 0 8px!important;}
body.dn-page-predecorated_product .dn-product-shipping-info p {font-size:13px!important;line-height:1.65!important;margin:0!important;}
body.dn-page-predecorated_product .dn-product-shipping-info p span {font-size:inherit!important;}
@media(min-width:768px) and (max-width:1050px){body.dn-page-predecorated_product .dn-product-panels{gap:28px!important;}}
@media(max-width:767px){
 body.dn-page-predecorated_product .dn-product-panels{gap:24px!important;}
 body.dn-page-predecorated_product .dn-product-main-image-container{border-radius:14px;}
 body.dn-page-predecorated_product .dn-product-heading-container-above-content h1{font-size:26px!important;line-height:1.25!important;margin-bottom:12px!important;}
 body.dn-page-predecorated_product .dn-product-price-container{padding-bottom:18px!important;margin-bottom:20px!important;}
 body.dn-page-predecorated_product .dn-product-price-container .dn-price{font-size:23px!important;}
 body.dn-page-predecorated_product .dn-product-shipping-info{padding:16px!important;}
}

/* Keep the purchase area compact and align the selected color label. */
body.dn-page-predecorated_product #properties_product_details .dn-product-price-container{display:block!important;width:100%!important;padding-bottom:16px!important;margin-bottom:20px!important;}
body.dn-page-predecorated_product #properties_product_details .dn-product-color-container{margin:0 10px 0 0!important;vertical-align:middle!important;}
body.dn-page-predecorated_product #properties_product_details .dn-product-color-selected-label{margin:0!important;vertical-align:middle!important;}
body.dn-page-predecorated_product #add_to_cart_button .dn-btn-icon::before{font-size:22px!important;}

/* Thumbnail corners match the main image radius at each breakpoint. */
body.dn-page-predecorated_product #product_views li img,
body.dn-page-predecorated_product #product_views li > b {border-radius:20px!important;}
@media(max-width:767px){
 body.dn-page-predecorated_product #product_views li img,
 body.dn-page-predecorated_product #product_views li > b {border-radius:14px!important;}
}

/* Product-page corner scale: imagery and compact interface elements. */
body.dn-page-predecorated_product {--store-product-image-radius:20px;--store-product-control-radius:10px;}
body.dn-page-predecorated_product .dn-product-main-image-container {border-radius:var(--store-product-image-radius)!important;}
body.dn-page-predecorated_product #product_views li img,
body.dn-page-predecorated_product #product_views li > b {border-radius:var(--store-product-control-radius)!important;}
body.dn-page-predecorated_product .dn-product-shipping-info,
body.dn-page-predecorated_product #add_to_cart_button,
body.dn-page-predecorated_product .dn-product-color-container .dn-color-panel-cell,
body.dn-page-predecorated_product .dn-size-selector select,
body.dn-page-predecorated_product .store-quantity {border-radius:var(--store-product-control-radius)!important;}
@media(max-width:767px){body.dn-page-predecorated_product{--store-product-image-radius:14px;}}

/* Mobile product gutters: one consistent inset, without nested padding. */
@media(max-width:767px){
 body.dn-page-predecorated_product .dn-widget-page_content_view_product > .dn-widget-content-container {padding-left:16px!important;padding-right:16px!important;box-sizing:border-box;}
}
/* Alternate views use a quiet rounded frame instead of the native dark square border. */
body.dn-page-predecorated_product #product_views li {border:1px solid var(--store-border,#e5e3e8)!important;border-radius:var(--store-product-control-radius,10px)!important;overflow:hidden;background:#f7f7f7;}
body.dn-page-predecorated_product #product_views li:focus-visible {outline:2px solid var(--store-accent)!important;outline-offset:3px;}

/* Inset the native CSS size chevron and reserve space for its label. */
body.dn-page-predecorated_product #properties_product_details .dn-size-selector select.dn-styled {background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%!important;padding-right:34px!important;}

/* MOBILE AUDIT: one outer gutter for catalogue content, no nested side padding. */
@media(max-width:1100px){
 :root{--store-page-gutter:24px;}
 :is(body.store-collection,body:has(.store-welcome)) main .dn-page-section:has(.dn-widget-decorated_product_listing){padding-left:var(--store-page-gutter)!important;padding-right:var(--store-page-gutter)!important;}
 :is(body.store-collection,body:has(.store-welcome)) .dn-widget-decorated_product_listing > .dn-widget-content-container{padding-left:0!important;padding-right:0!important;}
}
@media(max-width:767px){:root{--store-page-gutter:16px;}}
/* Readable footer navigation on the existing white surface. */
footer .dn-links-list.dn-list-horizontal > li > a{color:#595461!important;}
footer .dn-links-list.dn-list-horizontal > li > a:is(:hover,:focus-visible){color:#342f3b!important;text-decoration:underline;}
footer .dn-links-list.dn-list-horizontal > li > a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:4px;}

/* Keep account actions and cart on one row at intermediate desktop widths. */
@media(min-width:768px){
 body.dn-inline-header header .dn-large-header .dn-other-nav{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap;}
 body.dn-inline-header header .dn-large-header .dn-other-nav>div{flex-shrink:0;}
 body.dn-inline-header header .dn-large-header .dn-other-nav>.dn-nav-valign{display:none!important;}
}

/* Text-only collection banners: no duplicate product previews or scroll action. */
.store-collection-hero{display:block;min-height:0;}
.store-collection-intro>p:not(.store-collection-eyebrow){max-width:none;margin-bottom:0;}

/* Reusable footer: clear navigation, shared brand colors and consistent gutters. */
footer.store-footer{background:var(--store-soft,#f4f2f6);border-top:1px solid var(--store-border,#e5e3e8);margin-top:48px;padding:48px 24px 24px;color:#595461;}
footer.store-footer .dn-page-section{max-width:1152px!important;margin:0 auto!important;padding:0!important;background:transparent!important;}
footer.store-footer :is(.dn-page-section-margin,.dn-page-section-content,.dn-padding-container,.dn-page-columns-container,.dn-page-column,.dn-page-column-content,.dn-widgets,.dn-widget-content-container){padding:0!important;margin:0!important;}
footer.store-footer .dn-widget-links_list .dn-widget-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:64px;text-align:left;}
.store-footer-eyebrow{text-transform:uppercase!important;color:var(--store-accent);font:600 11px/1.5 var(--store-font);letter-spacing:.13em;margin:0 0 12px;}
footer.store-footer .store-footer-intro h2{font:600 clamp(18px,2.1vw,28px)/1.2 var(--store-font)!important;letter-spacing:-.025em;text-align:left!important;color:#29252f;margin:0 0 14px!important;max-width:none;}
.store-footer-intro>p:last-child{font:400 14px/1.7 var(--store-font);max-width:none;margin:0;}
footer.store-footer .store-footer-nav-title{font:600 13px/1.5 var(--store-font)!important;text-align:left!important;color:#29252f;margin:0 0 8px!important;}
footer.store-footer .dn-links-list.dn-list-horizontal{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0!important;padding:0!important;text-align:left!important;}
footer.store-footer .dn-links-list.dn-list-horizontal>li{display:block;margin:0!important;padding:0!important;}
footer.store-footer .dn-links-list.dn-list-horizontal>li>a{display:flex!important;align-items:center;min-height:44px;padding:0!important;font:400 14px/1.4 var(--store-font)!important;text-align:left!important;color:#595461!important;}
footer.store-footer .dn-widget-text{border-top:1px solid var(--store-border,#e5e3e8);margin-top:32px!important;padding-top:20px!important;}
footer.store-footer .dn-widget-text p{font:400 12px/1.8 var(--store-font)!important;color:#595461;margin:0!important;text-align:center!important;}
footer.store-footer .dn-widget-text a{font-weight:600!important;color:inherit!important;}
@media(max-width:767px){
 footer.store-footer{margin-top:32px;padding:32px 16px 20px;}
 footer.store-footer .dn-widget-links_list .dn-widget-content{grid-template-columns:1fr;gap:28px;}
 /* Keep the full footer headline on one line at typical mobile widths. */
 footer.store-footer .store-footer-intro h2{font-size:clamp(17px,4.6vw,24px)!important;}
 footer.store-footer .dn-widget-text{margin-top:24px!important;}
}

/* Avoid the native section gutter duplicating the footer outer gutter. */
footer.store-footer #dn_section_footer1>.dn-page-section-margin{padding-left:0!important;padding-right:0!important;}

/* Compact footer rows on pointer devices; preserve comfortable touch targets. */
@media(min-width:768px) and (pointer:fine){footer.store-footer .dn-links-list.dn-list-horizontal>li>a{min-height:32px!important;}}

/* Match the product layout breakpoint to the mobile header and page gutters.
   Native component breakpoints otherwise leave two touching columns below 768px. */
@media(max-width:767px){
 body.dn-page-predecorated_product div.dn-product-display.dn-decorated-product.dn-product-image-left>.dn-product-panels{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;padding:0!important;}
 body.dn-page-predecorated_product div.dn-product-display.dn-decorated-product.dn-product-image-left :is(.dn-product-main-image-panel,#properties_product_details){width:100%!important;max-width:none!important;min-width:0;margin:0!important;padding:0!important;float:none!important;box-sizing:border-box;}
}

/* Legal pages: readable measure and responsive tables. Original wording stays intact. */
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content){max-width:820px!important;margin:32px auto 64px!important;padding:0 24px!important;box-sizing:border-box;font:400 16px/1.8 var(--store-font)!important;color:#39363e;overflow-wrap:anywhere;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content)>h2:first-child{font:600 clamp(28px,4vw,40px)/1.2 var(--store-font)!important;text-align:left!important;letter-spacing:-.025em;margin:0 0 28px!important;padding:28px 32px!important;background:var(--store-surface);border:1px solid var(--store-border);border-radius:16px;color:#252229;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) p{font:inherit!important;line-height:1.8!important;margin:0 0 20px!important;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) p> :is(strong,b){display:block;font:600 18px/1.45 var(--store-font);color:#252229;margin:28px 0 12px;padding-top:20px;border-top:1px solid var(--store-border);}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) p> :is(strong,b)+br{display:none;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content)>h2+p>strong:first-child{display:inline;border:0;padding:0;margin:0;font:inherit;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) a{color:#27596d!important;text-decoration:underline!important;text-underline-offset:3px;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) a:focus-visible{outline:2px solid #27596d;outline-offset:3px;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) table{width:100%!important;max-width:100%!important;table-layout:fixed;border-collapse:collapse;border:1px solid var(--store-border);margin:24px 0;font-size:14px;line-height:1.65;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) td{width:auto!important;padding:14px 12px!important;border:1px solid var(--store-border);vertical-align:top;overflow-wrap:anywhere;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) tr:first-child{background:var(--store-soft);color:#252229;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) tr:nth-child(even){background:var(--store-surface);}
@media(max-width:767px){
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content){padding:0!important;margin:24px 0 40px!important;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content)>h2:first-child{padding:22px 20px!important;border-radius:12px;}
:is(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) td{padding:10px 7px!important;font-size:12px;}
}

/* Preserve the line break after the effective date. */
.dn-privacy-content>h2+p>strong:first-child+br{display:initial;}

/* Center the native legal-page wrapper within the viewport, not its left-aligned parent. */
.dn-page-section:has(.dn-useragree-content,.dn-privacy-content,.dn-returns-content) .dn-page-section-content{width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;float:none!important;}
/* Give both policy dates a matching standalone line without changing their wording. */
.dn-useragree-content>h2+p,.dn-privacy-content>h2+p>strong:first-child{font:400 14px/1.6 var(--store-font)!important;color:#65616a;}
.dn-privacy-content>h2+p>strong:first-child{display:block!important;margin:0 0 20px!important;padding:0!important;border:0!important;}
.dn-privacy-content>h2+p>strong:first-child+br{display:none!important;}

/* Neutral surfaces with high-contrast primary actions. */
/* Surface shades and hover colors are derived from the settings above. */
body :is(.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button,.store-welcome-action,.store-empty-cart-action,#dn_cart_over_right_popup .store-drawer-empty button){background:var(--store-action-background)!important;border-color:var(--store-action-background)!important;color:var(--store-action-text)!important;}
body :is(.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button,.store-welcome-action,.store-empty-cart-action) :is(span,.dn-btn-icon),body :is(.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button) .dn-btn-icon::before{color:var(--store-action-text)!important;}
body :is(.store-welcome-eyebrow,.store-collection-eyebrow,.store-footer-eyebrow){color:#595959!important;}

/* Product recommendations: white section and fine divider around the native catalog module.
   Native responsive columns, image transforms and hover behavior remain intact. */
body.dn-page-predecorated_product main .dn-page-section:has(.dn-widget-decorated_product_listing){max-width:1200px;margin:48px auto!important;padding:28px 24px!important;border-top:1px solid var(--store-border);background:#fff!important;box-sizing:border-box;}
body.dn-page-predecorated_product .dn-page-section:has(.dn-widget-decorated_product_listing) .dn-widget-text{margin:0 0 24px!important;}
body.dn-page-predecorated_product .dn-page-section:has(.dn-widget-decorated_product_listing) .dn-widget-text .dn-widget-content-container{padding:0!important;}
body.dn-page-predecorated_product .dn-page-section:has(.dn-widget-decorated_product_listing) .dn-widget-text p{margin:0!important;}
body.dn-page-predecorated_product .dn-page-section:has(.dn-widget-decorated_product_listing) .dn-widget-text p span{font:600 26px/1.3 var(--store-font)!important;letter-spacing:-.02em;color:#29252f;}
body.dn-page-predecorated_product .dn-widget-decorated_product_listing>.dn-widget-content-container{padding:0!important;}
body.dn-page-predecorated_product .dn-widget-decorated_product_listing .dn-grid-item-container{border:1px solid var(--store-border);border-radius:16px;overflow:hidden;background:#fff;padding-bottom:16px;box-sizing:border-box;}
body.dn-page-predecorated_product .dn-widget-decorated_product_listing :is(.dn-product-name,.dn-product-price,.dn-product-colors){padding-left:14px!important;padding-right:14px!important;text-align:left!important;}
body.dn-page-predecorated_product .dn-widget-decorated_product_listing .dn-product-name h4{font-size:14px!important;min-height:0;text-align:left!important;}
@media(max-width:767px){body.dn-page-predecorated_product main .dn-page-section:has(.dn-widget-decorated_product_listing){margin:32px auto!important;padding:24px 16px!important;}body.dn-page-predecorated_product .dn-page-section:has(.dn-widget-decorated_product_listing) .dn-widget-text p span{font-size:23px!important;}body.dn-page-predecorated_product .dn-widget-decorated_product_listing :is(.dn-product-name,.dn-product-price,.dn-product-colors){padding-left:10px!important;padding-right:10px!important;}}

/* Footer navigation: no hover decoration; underline the current page like the main menu. */
footer.store-footer .dn-links-list.dn-list-horizontal > li > a,
footer.store-footer .dn-links-list.dn-list-horizontal > li > a:is(:hover,:focus-visible){text-decoration:none!important;color:#595461!important;}
footer.store-footer .dn-links-list.dn-list-horizontal > li.dn_selected > a,
footer.store-footer .dn-links-list.dn-list-horizontal > li.dn-selected > a{ text-decoration:underline!important;text-decoration-color:#000!important;text-decoration-thickness:2px!important;text-underline-offset:7px;font-weight:600!important;}

/* Collection and homepage cards match recommendations; native swatch padding owns the bottom gap. */
body.store-collection main .dn-widget-decorated_product_listing .dn-grid-item-container,
body:has(.store-welcome) main .dn-widget-decorated_product_listing .dn-grid-item-container{border:1px solid var(--store-border)!important;border-radius:16px!important;overflow:hidden;background:#fff!important;padding-bottom:0!important;box-sizing:border-box;}

/* Return policy: readable spacing for the original eligibility list. */
.dn-returns-content ul{margin:0 0 24px!important;padding-left:24px!important;list-style:disc outside!important;}
.dn-returns-content li{font:inherit!important;line-height:1.8!important;margin:0 0 10px!important;padding-left:4px;}

/* Homepage, collection and recommendation cards: keep the price close to the full product title. */
:is(body.store-collection,body:has(.store-welcome),body.dn-page-predecorated_product) main .dn-widget-decorated_product_listing .dn-product-name{display:block!important;}
:is(body.store-collection,body:has(.store-welcome),body.dn-page-predecorated_product) main .dn-widget-decorated_product_listing .dn-product-name h4{min-height:0!important;height:auto!important;margin-bottom:4px!important;}
:is(body.store-collection,body:has(.store-welcome),body.dn-page-predecorated_product) main .dn-widget-decorated_product_listing .dn-product-price{display:block!important;margin-top:0!important;padding-top:0!important;}

/* Keep primary actions and their icons high-contrast in every interaction state. */
body :is(#add_to_cart_button,#cart_notice_content .dn-popup-footer .dn-btn-major,#dn_cart_over_right_popup .dn-shopping-cart-actions .dn-btn,.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,.dn-cart-checkout-options .dn-btn,.store-welcome-action,.store-empty-cart-action,#dn_cart_over_right_popup .store-drawer-empty button,body:has(.dn-current-step-finalise) #mybutton){background:var(--store-action-background)!important;border-color:var(--store-action-background)!important;color:var(--store-action-text)!important;}

/* Header cart follows the primary action color, including its hover state. */
header .dn-shopping-cart-icon-over-right-container,header .dn-shopping-cart-icon-over-right-container::before{color:var(--store-action-background,var(--store-accent))!important;}

/* Checkout parity with the master: neutralize extra page-builder wrappers.
   The summary card itself retains its shared surface, padding and fine border. */
body:has(.dn-checkout-page) #dn_section_main_section .dn-page-column-margin{padding:0!important;margin:0!important;width:100%!important;box-sizing:border-box;}
body:has(.dn-checkout-page) main .dn-widget-shopping_cart{margin-top:0!important;}
body:has(.dn-checkout-page) main .dn-widget-shopping_cart>.dn-widget-content-container{border:0!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;width:100%!important;box-sizing:border-box;}

/* Discount forms follow the shared action palette. */
body main :is(.dn-add-coupon,.dn-add-gc) .dn-btn{background:var(--store-action-background,var(--store-accent))!important;border-color:var(--store-action-background,var(--store-accent))!important;color:var(--store-action-text,#fff)!important;}

/* Compact sticky navigation: preserve native links, menus and cart controls. */
header.store-header-compact{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:auto!important;margin:0!important;background:#fff!important;z-index:900!important;box-shadow:0 2px 12px rgba(0,0,0,.08);border-bottom:1px solid var(--store-border,#e5e5e5);}
header.store-header-compact .dn-large-header-container{height:auto!important;min-height:0!important;}
body.dn-inline-header header.store-header-compact .dn-large-header{height:72px!important;min-height:72px!important;padding-top:8px!important;padding-bottom:8px!important;align-items:center!important;}
header.store-header-compact .dn-logo-container img{max-height:44px!important;width:auto!important;max-width:var(--store-logo-width)!important;object-fit:contain;}
header.store-header-compact .dn-text-logo{font-size:22px!important;line-height:1.2!important;padding-top:0!important;padding-bottom:0!important;}
header.store-header-compact :is(.dn-small-header,.dn-small-header-always,.dn-small-header-fixed-container){height:64px!important;min-height:64px!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box;}
header.store-header-compact .dn-small-logo-container img{max-height:40px!important;width:auto!important;object-fit:contain;}
header.store-header-compact .dn-small-header-fixed-container{position:relative!important;top:auto!important;}
@media(max-width:767px){header.store-header-compact .dn-text-logo{font-size:20px!important;}}
@media print{header.store-header-compact{position:static!important;box-shadow:none!important;}.store-header-spacer{display:none!important;}}

/* Checkout login popup: readable fields and native authentication actions. */
#dn_existing_member_login_popup{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%);width:440px!important;max-width:calc(100% - 32px)!important;max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:28px!important;background:#fff!important;border:1px solid #e3e3e3!important;border-radius:16px!important;box-shadow:0 20px 70px #0003!important;font-family:inherit;color:#171717;}
#dn_existing_member_login_popup:before,#dn_existing_member_login_popup:after{display:none!important;}
#dn_existing_member_login_popup_background{background:rgba(0,0,0,.4)!important;}
#dn_existing_member_login_popup h2{font-size:24px;font-weight:600;line-height:1.3;margin:0 40px 24px 0!important;padding:0!important;background:none!important;color:#171717!important;}
#dn_existing_member_login_popup .dn-form{margin:0!important;padding:0!important;}
#dn_existing_member_login_popup .dn-form>li{display:block!important;margin:0 0 18px!important;padding:0!important;width:100%!important;}
#dn_existing_member_login_popup .dn-form>li>label{display:block!important;float:none!important;width:100%!important;margin:0 0 8px!important;padding:0!important;text-align:left!important;font-size:14px;line-height:1.5;font-weight:500;}
#dn_existing_member_login_popup :is(.dn-form-field,.dn-form-field-value){display:block!important;float:none!important;width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box;}
#dn_existing_member_login_popup input:is([type=text],[type=password]){width:100%!important;height:48px!important;box-sizing:border-box;padding:10px 14px!important;border:1px solid #cfcfcf!important;border-radius:10px!important;background:#fff!important;color:#171717!important;font-family:inherit!important;font-size:16px!important;}
#dn_existing_member_login_popup input[type=password]{padding-right:48px!important;}
#dn_existing_member_login_popup .dn-password-toggle{width:44px!important;height:44px!important;}
#dn_existing_member_login_popup .dn-btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;height:auto!important;width:100%!important;box-sizing:border-box;padding:12px 16px!important;border-radius:10px!important;font-family:inherit!important;font-size:14px!important;line-height:1.5!important;white-space:normal!important;}
#dn_existing_member_login_popup .dn-btn :is(.dn-btn-valign,.dn-btn-icon){display:none!important;}
#dn_existing_member_login_popup .dn-btn-label{height:auto!important;white-space:normal!important;color:inherit!important;}
#dn_existing_member_login_popup a.dn-btn{background:#f7f7f7!important;border:1px solid #d8d8d8!important;color:#171717!important;}
#dn_existing_member_login_popup .dn-form-action-footer .dn-btn{background:var(--store-action-background,#000)!important;border:1px solid var(--store-action-background,#000)!important;color:var(--store-action-text,#fff)!important;}
#dn_existing_member_login_popup h4{display:flex;align-items:center;gap:12px;font-size:12px!important;font-weight:400!important;color:#737373;margin:4px 0!important;}
#dn_existing_member_login_popup h4:before,#dn_existing_member_login_popup h4:after{content:'';height:1px;background:#e5e5e5;flex:1;}
#dn_existing_member_login_popup .dn-forgot-password{margin:0!important;text-align:center;font-size:13px;line-height:1.6;}
#dn_existing_member_login_popup .dn-forgot-password a{color:#444!important;text-decoration:underline;}
#dn_existing_member_login_popup :is(input,a,.dn-btn,button):focus-visible{outline:2px solid #171717!important;outline-offset:3px;}
#dn_existing_member_login_popup .store-login-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#444;font:28px/1 Arial;cursor:pointer;}
#dn_existing_member_login_popup .store-login-close:hover{background:#f2f2f2;}
@media(max-width:480px){#dn_existing_member_login_popup{padding:24px 20px!important;}#dn_existing_member_login_popup h2{font-size:22px!important;}}

/* Preserve dark text inside the native secondary login action. */
#dn_existing_member_login_popup a.dn-btn :is(.dn-btn-label,span){color:#171717!important;}
#dn_existing_member_login_popup .dn-form-action-footer .dn-btn :is(.dn-btn-label,span){color:var(--store-action-text,#fff)!important;}

/* Rebuilt checkout sections: use content-based selectors, not generated page IDs. */
main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart){box-sizing:border-box;padding:24px!important;margin:0!important;}
main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart)>.dn-page-section-margin{padding:0!important;margin:0!important;}
main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart)>.dn-page-section-margin>.dn-page-section-content{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0!important;}
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%!important;left:auto!important;margin:0!important;align-items:start;}
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart)>.dn-page-column{width:100%!important;min-width:0!important;padding:0!important;margin:0!important;float:none!important;}
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart)>.dn-page-column-first{grid-column:1;}
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart)>.dn-page-column-last{grid-column:2;}
main .dn-page-column:has(.dn-checkout-page,.dn-widget-shopping_cart)>.dn-page-column-content>.dn-page-column-margin{margin:0!important;padding:0!important;}
/* A small secondary login button; comfortable touch target, quiet visual weight. */
.dn-checkout-existing-member-login{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:0!important;margin:0 0 20px!important;font-size:13px;}
.dn-checkout-existing-member-login a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid #d3d3d3;border-radius:8px;background:#fff;color:#171717!important;text-decoration:none!important;font:500 13px/1.4 var(--store-font);box-sizing:border-box;}
.dn-checkout-existing-member-login a:hover{background:#f3f3f3;}
.dn-checkout-existing-member-login a:focus-visible{outline:2px solid #171717;outline-offset:3px;}
/* Compact, shared order-summary rhythm across all checkout steps. */
body:has(.dn-checkout-page) main .dn-shopping-cart-container,.dn-widget-page_content_view_cart .dn-checkout-cart-summary-container{padding:20px!important;border:0!important;border-radius:12px!important;box-shadow:none!important;}
body:has(.dn-checkout-page) main .dn-shopping-cart-container h2{font-size:20px!important;line-height:1.35!important;margin:0 0 18px!important;}
body:has(.dn-checkout-page) main .dn-shopping-cart-line-item{display:flex!important;gap:12px;align-items:flex-start;padding:0 0 16px!important;margin:0 0 16px!important;}
body:has(.dn-checkout-page) main .dn-line-item-thumbnail{position:relative!important;flex:0 0 64px;width:64px!important;height:64px!important;margin:0!important;}
body:has(.dn-checkout-page) main .dn-line-item-thumbnail img{width:64px!important;height:64px!important;object-fit:contain;border-radius:8px;}
body:has(.dn-checkout-page) main .dn-line-item-details-container{position:static!important;display:flex!important;gap:10px;width:auto!important;flex:1;min-width:0;padding:0!important;}
body:has(.dn-checkout-page) main .dn-line-item-details{flex:1;min-width:0;width:auto!important;padding:0!important;}
body:has(.dn-checkout-page) main .dn-line-item-details-name{font-size:13px!important;line-height:1.5!important;overflow-wrap:anywhere;}
body:has(.dn-checkout-page) main .dn-line-item-details-options{font-size:12px!important;line-height:1.5!important;margin-top:4px;}
body:has(.dn-checkout-page) main .dn-line-item-price{position:static!important;width:auto!important;flex:none;font-size:13px!important;line-height:1.5!important;padding:0!important;white-space:nowrap;}
body:has(.dn-checkout-page,.dn-widget-page_content_view_cart) main .dn-checkout-footer-row:not(.dn-total):not(.dn-add-coupon):not(.dn-add-gc){padding:5px 0!important;margin:0!important;}
body:has(.dn-checkout-page,.dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total{margin-top:10px!important;padding:12px 0 4px!important;}
body:has(.dn-checkout-page,.dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total .dn-footer-label{font:600 18px/26px var(--store-font)!important;}
body:has(.dn-checkout-page,.dn-widget-page_content_view_cart) main .dn-checkout-footer-row.dn-total .dn-checkout-c-total{font:700 22px/28px var(--store-font)!important;}
/* One column before the forms become cramped; equal outer margins on phones. */
@media(max-width:900px){
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart){grid-template-columns:minmax(0,1fr);gap:24px;}
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart)>.dn-page-column{grid-column:1!important;}
}
@media(max-width:767px){
body:has(.dn-checkout-page,.dn-widget-page_content_view_cart) main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart){padding:20px 16px!important;margin:0!important;}
.dn-checkout-existing-member-login a{min-height:44px;}
body:has(.dn-checkout-page) main .dn-shopping-cart-container,.dn-widget-page_content_view_cart .dn-checkout-cart-summary-container{padding:18px 16px!important;}
.dn-checkout-progress-container{margin-bottom:20px!important;}
}

/* Remove legacy negative offsets before using flexible summary rows. */
body:has(.dn-checkout-page) main :is(.dn-line-item-details-container,.dn-line-item-details){margin:0!important;}
body:has(.dn-checkout-page) main .dn-shopping-cart-container{max-width:400px!important;width:100%!important;box-sizing:border-box;}
body main .dn-page-section:has(.dn-checkout-page) .dn-page-section-content>.dn-page-columns-container{width:100%!important;max-width:100%!important;transform:none!important;inset:auto!important;}
@media(max-width:900px){body:has(.dn-checkout-page) main .dn-shopping-cart-container{max-width:none!important;}}

/* Restore the validated checkout frame and remove builder gutter compensation. */
body main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart){max-width:1160px!important;margin:32px auto 64px!important;padding:0 24px!important;}
body main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart) .dn-padding-container{margin:0!important;padding:0!important;width:100%!important;}
@media(min-width:901px){main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page):has(>.dn-page-column .dn-widget-shopping_cart){grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:48px;}main .dn-page-column:has(.dn-checkout-page){max-width:594px!important;}}
@media(max-width:767px){body main .dn-page-section:has(.dn-checkout-page,.dn-widget-page_content_view_cart){margin:20px auto 40px!important;padding:0 16px!important;}}

/* Keep page-editor spacing handles out of the storefront grid flow. */
main .dn-page-columns-container:has(>.dn-page-column .dn-checkout-page)>.dnmp-column-spacing{position:absolute!important;}

/* Native login link is nested inside a label. */
.dn-checkout-existing-member-login>label{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px 10px;width:auto!important;margin:0!important;padding:0!important;}

/* Email login is a primary action, with emphasis on its introductory label. */
#dn_existing_member_login_popup a.dn-btn{background:var(--store-action-background,#000)!important;border-color:var(--store-action-background,#000)!important;color:var(--store-action-text,#fff)!important;}
#dn_existing_member_login_popup a.dn-btn :is(.dn-btn-label,span,strong){color:var(--store-action-text,#fff)!important;}
#dn_existing_member_login_popup a.dn-btn strong{font-weight:700!important;}

/* Full-width returning-customer panel, scoped to the address checkout form. */
body .dn-checkout-page .dn-checkout-existing-member-login{width:100%!important;box-sizing:border-box;padding:14px 16px!important;margin:0 0 20px!important;border:1px solid var(--store-border,#ddd);border-radius:10px;background:var(--store-surface,#f7f7f7);}
body .dn-checkout-page .dn-checkout-existing-member-login>label{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;width:100%!important;margin:0!important;padding:0!important;color:#222!important;font-size:14px!important;}
body .dn-checkout-page .dn-checkout-existing-member-login a{flex-shrink:0;background:#fff!important;min-height:40px;}
@media(max-width:767px){body .dn-checkout-page .dn-checkout-existing-member-login{padding:12px!important;}body .dn-checkout-page .dn-checkout-existing-member-login a{min-height:44px!important;}}

/* Login page: match the checkout popup without changing native authentication. */
body main .dn-widget-login .dn-login-container .dn-form>li{width:100%!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box;}
body main .dn-widget-login .dn-login-container a.dn-btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;height:auto!important;width:100%!important;padding:12px 16px!important;box-sizing:border-box;border-radius:10px!important;background:var(--store-action-background,#000)!important;border:1px solid var(--store-action-background,#000)!important;color:var(--store-action-text,#fff)!important;white-space:normal!important;line-height:1.5!important;}
body main .dn-widget-login .dn-login-container a.dn-btn :is(.dn-btn-label,span,strong){color:var(--store-action-text,#fff)!important;white-space:normal!important;}
body main .dn-widget-login .dn-login-container a.dn-btn :is(.dn-btn-valign,.dn-btn-icon){display:none!important;}
body main .dn-widget-login .dn-login-container a.dn-btn strong{font-weight:700!important;}
body main .dn-widget-login .dn-login-container h4.dn-text-value-centered{display:flex!important;align-items:center;gap:12px;font-size:12px!important;line-height:1.5!important;font-weight:400!important;color:#737373!important;margin:20px 0!important;}
body main .dn-widget-login .dn-login-container h4.dn-text-value-centered:before,body main .dn-widget-login .dn-login-container h4.dn-text-value-centered:after{content:'';height:1px;background:#e5e5e5;flex:1;}

/* Checkout summary thumbnails: remove native padding that narrows square images. */
body:has(.dn-checkout-page) main .dn-line-item-thumbnail{padding:0!important;width:64px!important;height:64px!important;box-sizing:border-box!important;}
body:has(.dn-checkout-page) main .dn-line-item-thumbnail img{display:block!important;width:100%!important;max-width:100%!important;height:100%!important;aspect-ratio:1;object-fit:contain;margin:0!important;padding:0!important;box-sizing:border-box!important;}

/* Checkout summaries: one background and equal, generous padding on steps 2–5. */
body:has(.dn-checkout-page) main .dn-widget-shopping_cart>.dn-widget-content-container>.dn-background-container{display:none!important;}
body:has(.dn-checkout-page) main .dn-shopping-cart-container{padding:28px!important;}
@media(max-width:767px){body:has(.dn-checkout-page) main .dn-shopping-cart-container{padding:24px!important;}}

/* Desktop navigation dropdowns: shared styling for More and every native submenu.
   Keep native positioning and multi-column menu widths; leave mobile drawers intact. */
@media(min-width:768px){
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small){background:transparent!important;border-radius:12px;box-shadow:0 12px 32px rgba(35,26,46,.14);}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown{box-sizing:border-box;background:#fff!important;border:1px solid var(--store-border,#e5e5e5)!important;border-radius:12px;padding:8px!important;text-align:left;}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item{padding:0!important;}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item>a{box-sizing:border-box;display:flex!important;align-items:center;min-height:44px;padding:10px 14px!important;border-radius:7px;font:500 14px/1.5 var(--store-font,inherit)!important;letter-spacing:normal!important;color:#29252f!important;text-decoration:none!important;text-align:left;}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item>a span{font:inherit!important;color:inherit!important;text-decoration:none!important;}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item>a:hover,body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item>a:focus-visible{background:var(--store-soft,#f4f4f4)!important;color:var(--store-accent,#171717)!important;text-decoration:none!important;}
body .dn-nav-dropdown-container:not(.dn-nav-main-dropdown-small)>nav.dn-nav-dropdown .dn-nav-item>a:focus-visible{outline:2px solid var(--store-accent,#171717);outline-offset:-2px;}
}


/* Instant primary-action feedback, including native login and registration controls. */
html body :is(.dn-submit-login,.dn-widget-signup .dn-btn,.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button,#cart_notice_content .dn-popup-footer .dn-btn-major,#dn_cart_over_right_popup .dn-shopping-cart-actions .dn-btn,.dn-cart-checkout-options .dn-btn,.store-empty-cart-action,#dn_cart_over_right_popup .store-drawer-empty button,body:has(.dn-current-step-finalise) #mybutton,main :is(.dn-add-coupon,.dn-add-gc) .dn-btn,#dn_existing_member_login_popup .dn-form-action-footer .dn-btn,#dn_existing_member_login_popup a.dn-btn,main .dn-widget-login .dn-login-container a.dn-btn),html body :is(.dn-submit-login,.dn-widget-signup .dn-btn,.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button,#cart_notice_content .dn-popup-footer .dn-btn-major,#dn_cart_over_right_popup .dn-shopping-cart-actions .dn-btn,.dn-cart-checkout-options .dn-btn,.store-empty-cart-action,#dn_cart_over_right_popup .store-drawer-empty button,body:has(.dn-current-step-finalise) #mybutton,main :is(.dn-add-coupon,.dn-add-gc) .dn-btn,#dn_existing_member_login_popup .dn-form-action-footer .dn-btn,#dn_existing_member_login_popup a.dn-btn,main .dn-widget-login .dn-login-container a.dn-btn) *{transition:none!important;}
@media (hover:hover) and (pointer:fine){
html body :is(.dn-submit-login,.dn-widget-signup .dn-btn,.dn-btn.dn-btn-major,.dn-btn.dn-btn-cart,#add_to_cart_button,#cart_notice_content .dn-popup-footer .dn-btn-major,#dn_cart_over_right_popup .dn-shopping-cart-actions .dn-btn,.dn-cart-checkout-options .dn-btn,.store-empty-cart-action,#dn_cart_over_right_popup .store-drawer-empty button,body:has(.dn-current-step-finalise) #mybutton,main :is(.dn-add-coupon,.dn-add-gc) .dn-btn,#dn_existing_member_login_popup .dn-form-action-footer .dn-btn,#dn_existing_member_login_popup a.dn-btn,main .dn-widget-login .dn-login-container a.dn-btn):not(:disabled):not([aria-disabled="true"]):hover{background:color-mix(in srgb,var(--store-action-background,var(--store-accent)) 68%,white)!important;border-color:color-mix(in srgb,var(--store-action-background,var(--store-accent)) 68%,white)!important;color:var(--store-action-text,#fff)!important;}
}

/* Keep native product hover effects inside the visible card, not its wider grid cell.
   Child links and color controls remain interactive; empty grid space is ignored. */
main .dn-widget-decorated_product_listing .dn-grid-item{pointer-events:none!important;}
main .dn-widget-decorated_product_listing .dn-grid-item>.dn-grid-item-container{pointer-events:auto!important;}

/* Size fields: no permanent focus ring; retain a visible keyboard-focus indicator. */
body .dn-size-selector select:not(:focus-visible){outline:none!important;outline-offset:0!important;box-shadow:none!important;}
body .dn-size-selector select:focus-visible{outline:2px solid var(--store-accent,#000)!important;outline-offset:2px!important;}

/* Keep the quantity value white, distinct from the adjacent stepper buttons. */
body #properties_product_details .store-quantity input{background:#fff!important;}

/* Alternate-view thumbnails: the image meets its frame without padding or inline baseline space. */
body.dn-page-predecorated_product #product_views li{padding:0!important;line-height:0!important;}
body.dn-page-predecorated_product #product_views li>img{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border-radius:0!important;}

/* Keep the compact native header in one positioning context. */
header.store-header-compact .dn-large-header-container{padding-top:0!important;}
header.store-header-compact .dn-large-header-fixed-container{position:relative!important;top:auto!important;height:auto!important;}
/* Apply template typography across native themes. */
body,body :is(h1,h2,h3,h4,h5,h6,p),#main_nav a,.dn-other-nav a,.dn-grid-item h4 a{font-family:var(--store-font)!important;}
/* Native navigation is usable before optional webfonts finish or time out.
   Preserve native inline hiding of overflow items and the More button. */
.wf-loading body.dn-behaviours-bound-critical nav.dn-nav-main > div.dn-nav-item { visibility: visible; }

/* Keep headers aligned between short and scrolling pages. */
html { scrollbar-gutter: stable; }
@supports not (scrollbar-gutter: stable) { html { overflow-y: scroll; } }

html body header nav.dn-nav-main,html body header nav.dn-nav-main :is(.dn-nav-item,a,span){text-decoration:none!important;}

header .dn-site-logo{display:block;width:var(--store-logo-width,200px);max-width:100%;height:auto;}
header .dn-small-logo-container .dn-site-logo{width:var(--store-logo-mobile-width,min(var(--store-logo-width,200px),150px));height:auto;}
