/*
Theme Name: Shark2 Storefront
Theme URI: https://example.com/shark2-storefront/
Author: Custom Theme Studio
Author URI: https://example.com/
Description: Shark2 Storefront is a custom WooCommerce block theme for appliance, kitchen, beauty, and home product stores. It includes a SharkNinja-inspired storefront layout, video hero, product carousels, category tabs, promotional sections, and responsive commerce styling.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shark2-storefront
Tags: one-column, two-columns, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, blog, news, e-commerce
*/

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400;
    src: url("./assets/fonts/sharkninja/PlusJakartaSans-Regular.ttf") format("truetype");
}

.sn-route-cart-page {
    --sn-cart-ink: #000;
    --sn-cart-muted: #4f4f4f;
    --sn-cart-subtle: #6d6d6d;
    --sn-cart-line: #d1d1d1;
    --sn-cart-panel: #f6f6f6;
    --sn-cart-green: #042a20;
    background: #fff;
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 5rem);
}

.sn-route-cart-page.is-empty {
    padding-top: 0;
    padding-bottom: 0;
}

.sn-route-cart-page [hidden],
.sn-route-cart-page .d-none {
    display: none !important;
}

.sn-route-cart-page .container {
    box-sizing: border-box;
    width: min(100%, 90rem);
    margin: 0 auto;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
}

.sn-route-cart-page .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.sn-route-cart-page .col-12,
.sn-route-cart-page .col-sm-12,
.sn-route-cart-page .col-lg-4,
.sn-route-cart-page .col-lg-7,
.sn-route-cart-page .col-8,
.sn-route-cart-page .col-4 {
    box-sizing: border-box;
}

.sn-route-cart-page .cart-page-header {
    margin: 0 0 2rem;
}

.sn-route-cart-page .back-btn-main {
    margin-bottom: 1.25rem;
}

.sn-route-cart-page .back-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--sn-cart-ink);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-decoration: none;
}

.sn-route-cart-page .back-btn-link::before {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.125rem solid currentColor;
    border-left: 0.125rem solid currentColor;
    content: "";
    transform: rotate(45deg);
}

.sn-route-cart-page .back-btn-link:hover,
.sn-route-cart-page .back-btn-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-cart-page .card-header-main,
.sn-route-cart-page .cart-header {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

.sn-route-cart-page .page-title {
    margin: 0;
    color: var(--sn-cart-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.05;
}

.sn-route-cart-page .number-of-items {
    padding-bottom: 0.28rem;
    color: var(--sn-cart-muted);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    white-space: nowrap;
}

.sn-route-cart-page .cart-empty .col-12 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.sn-route-cart-page .cart-empty .cart-page-header {
    margin: 0;
}

.sn-route-cart-page .cart-empty .cart-page-header .back-btn-main {
    margin: 2rem 0;
}

.sn-route-cart-page .cart-empty .cart-page-header .back-btn-link {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 0;
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-route-cart-page .cart-empty .cart-page-header .back-btn-link::before {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    border: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNzQwODkgMTAuNTY2M0MyLjU4Nzg5IDEwLjQxNjYgMi41IDEwLjIxNDggMi41IDkuOTk5OTFDMi41IDkuNzg1MDYgMi41ODc4OSA5LjU4MzI0IDIuNzQwODkgOS40MzM1TDguNDcwMDUgMy45NjQ3NUM4Ljc4MjU1IDMuNjY1MjcgOS4yNzczNCAzLjY3ODI5IDkuNTczNTcgMy45OTA3OUM5Ljg2OTc5IDQuMzAzMjkgOS44NjAwMyA0Ljc5ODA5IDkuNTQ3NTMgNS4wOTQzMUw1LjIzMTEyIDkuMjE4NjZIMTYuMzAyMUMxNi43MzUgOS4yMTg2NiAxNy4wODMzIDkuNTY2OTcgMTcuMDgzMyA5Ljk5OTkxQzE3LjA4MzMgMTAuNDMyOSAxNi43MzUgMTAuNzgxMiAxNi4zMDIxIDEwLjc4MTJINS4yMzExMkw5LjU1MDc4IDE0LjkwMjNDOS44NjMyOCAxNS4yMDE3IDkuODczMDUgMTUuNjkzMyA5LjU3NjgyIDE2LjAwNThDOS4yODA2IDE2LjMxODMgOC43ODU4MSAxNi4zMjggOC40NzMzMSAxNi4wMzE4TDIuNzQ0MTQgMTAuNTYzMUwyLjc0MDg5IDEwLjU2NjNaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    transform: none;
}

.sn-route-cart-page .cart-empty .cart-page-header .card-header-main {
    align-items: stretch;
    flex-direction: column;
    border-bottom: 0.0625rem solid #d1d1d1;
    margin-bottom: 0.5rem;
    padding-bottom: 1.25rem;
}

.sn-route-cart-page .cart-empty .cart-page-header .cart-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
}

.sn-route-cart-page .cart-empty .cart-page-header .page-title {
    margin: 0;
    padding: 0;
    background-color: transparent;
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
}

.sn-route-cart-page.has-items .cart-page-header .page-title {
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
}

.sn-route-cart-page .cart-empty .cart-page-header .number-of-items {
    padding-bottom: 0;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
}

.sn-route-cart-page .cart-empty-wrapper {
    justify-content: center;
    padding: 0 0 2.5rem;
}

.sn-route-cart-page .text-center {
    text-align: center;
}

.sn-route-cart-page .cart-empty-body {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 0.5rem;
    padding: 3.75rem 0 1.25rem;
}

.sn-route-cart-page .cart-icon {
    position: relative;
    display: inline-block;
    width: 1.65625rem;
    height: 1.5rem;
}

.sn-route-cart-page .cart-icon::before {
    display: inline-block;
    width: 1.53125rem;
    height: 1.5rem;
    padding: 0.125rem 0.0625rem;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNjE0NSAxLjY2NjVDMS4xODE1NiAxLjY2NjUgMC44MzMyNTIgMi4wMTQ4MSAwLjgzMzI1MiAyLjQ0Nzc1QzAuODMzMjUyIDIuODgwNyAxLjE4MTU2IDMuMjI5IDEuNjE0NSAzLjIyOUgzLjA5NTYyQzMuMjE5MzIgMy4yMjkgMy4zMjY3NCAzLjMxNjg5IDMuMzUyNzggMy40NDA1OUw1LjAzMjQ3IDEyLjI2MjJDNS4yNDQwNiAxMy4zNjkgNi4yMTA4NiAxNC4xNjY1IDcuMzMzOSAxNC4xNjY1SDE2LjcxODdDMTcuMTUxNiAxNC4xNjY1IDE3LjQ5OTkgMTMuODE4MiAxNy40OTk5IDEzLjM4NTNDMTcuNDk5OSAxMi45NTIzIDE3LjE1MTYgMTIuNjA0IDE2LjcxODcgMTIuNjA0SDcuMzMzOUM2Ljk1OTU1IDEyLjYwNCA2LjYzNzI5IDEyLjMzNzEgNi41NjU2NyAxMS45NjkyTDYuMzg5ODkgMTEuMDQxNUgxNS43ODEyQzE2Ljg0MjQgMTEuMDQxNSAxNy43NzAxIDEwLjMzMTkgMTguMDQzNSA5LjMwNjQ4TDE5LjM3ODIgNC4zNDg4QzE5LjYwMjggMy41MjE5NyAxOC45Nzc4IDIuNzA4MTcgMTguMTIxNyAyLjcwODE3SDQuNzQyNzZDNC40NDY1MyAyLjA4MzE3IDMuODE1MDIgMS42NjY1IDMuMDk1NjIgMS42NjY1SDEuNjE0NVpNNS4xMDA4MyA0LjI3MDY3SDE3Ljc4MzFMMTYuNTM2NCA4Ljg5OTU4QzE2LjQ0NTIgOS4yNDEzNyAxNi4xMzYgOS40NzkgMTUuNzgxMiA5LjQ3OUg2LjA5MzY3TDUuMTAwODMgNC4yNzA2N1pNNi41NjI0MiAxOC4zMzMyQzYuOTc2ODIgMTguMzMzMiA3LjM3NDI1IDE4LjE2ODYgNy42NjcyNyAxNy44NzU1QzcuOTYwMyAxNy41ODI1IDguMTI0OTIgMTcuMTg1MSA4LjEyNDkyIDE2Ljc3MDdDOC4xMjQ5MiAxNi4zNTYzIDcuOTYwMyAxNS45NTg4IDcuNjY3MjcgMTUuNjY1OEM3LjM3NDI1IDE1LjM3MjggNi45NzY4MiAxNS4yMDgyIDYuNTYyNDIgMTUuMjA4MkM2LjE0ODAyIDE1LjIwODIgNS43NTA1OSAxNS4zNzI4IDUuNDU3NTYgMTUuNjY1OEM1LjE2NDU0IDE1Ljk1ODggNC45OTk5MiAxNi4zNTYzIDQuOTk5OTIgMTYuNzcwN0M0Ljk5OTkyIDE3LjE4NTEgNS4xNjQ1NCAxNy41ODI1IDUuNDU3NTYgMTcuODc1NUM1Ljc1MDU5IDE4LjE2ODYgNi4xNDgwMiAxOC4zMzMyIDYuNTYyNDIgMTguMzMzMlpNMTcuNDk5OSAxNi43NzA3QzE3LjQ5OTkgMTYuMzU2MyAxNy4zMzUzIDE1Ljk1ODggMTcuMDQyMyAxNS42NjU4QzE2Ljc0OTIgMTUuMzcyOCAxNi4zNTE4IDE1LjIwODIgMTUuOTM3NCAxNS4yMDgyQzE1LjUyMyAxNS4yMDgyIDE1LjEyNTYgMTUuMzcyOCAxNC44MzI2IDE1LjY2NThDMTQuNTM5NSAxNS45NTg4IDE0LjM3NDkgMTYuMzU2MyAxNC4zNzQ5IDE2Ljc3MDdDMTQuMzc0OSAxNy4xODUxIDE0LjUzOTUgMTcuNTgyNSAxNC44MzI2IDE3Ljg3NTVDMTUuMTI1NiAxOC4xNjg2IDE1LjUyMyAxOC4zMzMyIDE1LjkzNzQgMTguMzMzMkMxNi4zNTE4IDE4LjMzMzIgMTYuNzQ5MiAxOC4xNjg2IDE3LjA0MjMgMTcuODc1NUMxNy4zMzUzIDE3LjU4MjUgMTcuNDk5OSAxNy4xODUxIDE3LjQ5OTkgMTYuNzcwN1oiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=");
    background-repeat: no-repeat;
    background-size: 1.53125rem 1.5rem;
    content: "";
}

.sn-route-cart-page .cart-icon::after {
    content: none;
}

.sn-route-cart-page .empty-cart-title {
    margin: 0;
    padding-bottom: 1rem;
    color: var(--sn-cart-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2rem;
}

@media (min-width: 1200px) {
    .sn-route-cart-page .cart-empty .cart-page-header .back-btn-main {
        margin: 1rem 0;
    }

    .sn-route-cart-page .cart-empty .cart-page-header .card-header-main {
        margin-bottom: 0;
        padding-bottom: 2.5rem;
    }

    .sn-route-cart-page .cart-empty .cart-page-header .cart-header {
        align-items: flex-end;
        flex-direction: row;
        gap: 1.25rem;
    }

    .sn-route-cart-page .cart-empty-wrapper {
        padding: 3rem 0 7.5rem;
    }

    .sn-route-cart-page .cart-empty-body {
        gap: 1.5rem;
        margin-top: 2rem;
        padding: 2.5rem 0;
    }

    .sn-route-cart-page .empty-cart-title {
        padding-bottom: 0;
        font-size: 2rem;
        line-height: 2.25rem;
    }
}

.sn-route-cart-page .btn,
.sn-route-cart-page .continue-shopping-link,
.sn-route-cart-page .checkout-btn {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-cart-green);
    border-radius: 999px;
    padding: 0.72rem 1.75rem;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.sn-route-cart-page .btn-primary,
.sn-route-cart-page .checkout-btn,
.sn-route-cart-page .cart-delete-confirmation-btn {
    background: var(--sn-cart-green);
    color: #fff;
}

.sn-route-cart-page .cart-empty .continue-shopping-link {
    min-width: 5.5rem;
    max-width: 21rem;
    min-height: 2.75rem;
    margin: 0 auto;
    border: 0;
    border-radius: 40px;
    padding: 0.625rem 1.5rem;
    background-color: #000;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5rem;
}

.sn-route-cart-page .btn-primary:hover,
.sn-route-cart-page .btn-primary:focus-visible,
.sn-route-cart-page .checkout-btn:hover,
.sn-route-cart-page .checkout-btn:focus-visible {
    border-color: #0a4a38;
    background: #0a4a38;
    color: #fff;
}

.sn-route-cart-page .cart-empty .continue-shopping-link:hover {
    border-color: #454545;
    background-color: #454545;
    color: #fff;
    text-decoration: none;
}

.sn-route-cart-page .cart-empty .continue-shopping-link:focus-visible {
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
    box-shadow: none;
}

.sn-route-cart-page .btn-outline-primary,
.sn-route-cart-page .continue-shopping-inline {
    background: #fff;
    color: var(--sn-cart-green);
}

.sn-route-cart-page .cart-page {
    padding-top: clamp(1rem, 3vw, 2rem);
}

.sn-route-cart-page .line-item-row {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(20rem, 4fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.sn-route-cart-page .cart-items-main {
    min-width: 0;
}

.sn-route-cart-page .cart-error {
    min-height: 1.25rem;
    color: #b43f28;
    font-size: 0.875rem;
    font-weight: 700;
}

.sn-route-cart-page .sn-cart-line-items {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.sn-route-cart-page .sn-cart-product-card {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) minmax(9rem, auto);
    gap: 1.25rem;
    align-items: start;
    border-top: 0.0625rem solid var(--sn-cart-line);
    padding: 1.5rem 0;
}

.sn-route-cart-page .sn-cart-product-card:last-child {
    border-bottom: 0.0625rem solid var(--sn-cart-line);
}

.sn-route-cart-page .item-image a,
.sn-route-cart-page .item-image {
    display: flex;
    width: 7rem;
    height: 7rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--sn-cart-panel);
}

.sn-route-cart-page .item-image img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.65rem;
    object-fit: contain;
}

.sn-route-cart-page .sn-cart-image-placeholder {
    padding: 0.75rem;
    color: var(--sn-cart-subtle);
    font-size: 0.75rem;
    text-align: center;
}

.sn-route-cart-page .item-attributes {
    min-width: 0;
}

.sn-route-cart-page .line-item-name {
    margin: 0 0 0.65rem;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25rem;
}

.sn-route-cart-page .line-item-name a {
    color: inherit;
    text-decoration: none;
}

.sn-route-cart-page .line-item-name a:hover,
.sn-route-cart-page .line-item-name a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-cart-page .line-item-attributes,
.sn-route-cart-page .availability-msg,
.sn-route-cart-page .sn-cart-shipping-note {
    margin: 0 0 0.35rem;
    color: var(--sn-cart-subtle);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-cart-page .line-item-attributes .label,
.sn-route-cart-page .line-item-attributes.color {
    color: var(--sn-cart-ink);
    font-weight: 700;
}

.sn-route-cart-page .availability-msg.in-stock {
    color: #2a7156;
    font-weight: 700;
}

.sn-route-cart-page .product-card-footer {
    display: grid;
    min-width: 9rem;
    justify-items: end;
    gap: 0.75rem;
}

.sn-route-cart-page .line-item-unit-price {
    margin: 0;
    color: var(--sn-cart-muted);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-cart-page .line-item-total-price {
    margin: 0;
    color: var(--sn-cart-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.35rem;
}

.sn-route-cart-page .remove-line-item {
    border: 0;
    background: transparent;
    color: var(--sn-cart-ink);
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-cart-page .qty-wrapper {
    border: 0;
    padding: 0;
}

.sn-route-cart-page .qty-wrapper label {
    display: block;
    margin: 0 0 0.45rem;
    color: var(--sn-cart-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.125rem;
    text-align: right;
}

.sn-route-cart-page .qty-input-block {
    display: flex;
    width: 6.5rem;
    height: 2.45rem;
    align-items: center;
    justify-content: space-between;
    border-radius: 999px;
    background: var(--sn-cart-panel);
}

.sn-route-cart-page .qty-input-block button {
    position: relative;
    width: 2.25rem;
    height: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.sn-route-cart-page .qty-input-block button::before,
.sn-route-cart-page .qty-input-block button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.72rem;
    height: 0.125rem;
    border-radius: 999px;
    background: var(--sn-cart-ink);
    content: "";
    transform: translate(-50%, -50%);
}

.sn-route-cart-page .qty-input-block .qty-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.sn-route-cart-page .qty-input-block input {
    width: 2rem;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--sn-cart-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
    padding: 0;
    text-align: center;
}

.sn-route-cart-page .qty-input-block input:focus {
    outline: 0.125rem solid #2a7156;
    outline-offset: 0.125rem;
}

.sn-route-cart-page .sn-cart-continue-row {
    margin-top: 1.5rem;
}

.sn-route-cart-page:not(.is-empty) .sn-cart-continue-row {
    display: none !important;
}

.sn-route-cart-page .cart-summary-main {
    position: sticky;
    top: calc(var(--sn-header-height, 0px) + 1rem);
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 8px;
    background: var(--sn-cart-panel);
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.sn-route-cart-page .cart-summary-label {
    margin: 0 0 1.35rem;
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.55rem;
}

.sn-route-cart-page .cart-promo-code-main {
    border-bottom: 0.0625rem solid var(--sn-cart-line);
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
}

.sn-route-cart-page .promo-code-field-main {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    border: 0.0625rem solid var(--sn-cart-line);
    border-radius: 999px;
    background: #fff;
    padding: 0.35rem 0.45rem 0.35rem 1rem;
}

.sn-route-cart-page .promo-code-field-main .promo-icon {
    position: relative;
    width: 1.1rem;
    height: 1.1rem;
}

.sn-route-cart-page .promo-code-field-main .promo-icon::before,
.sn-route-cart-page .promo-code-field-main .promo-icon::after {
    position: absolute;
    inset: 0.15rem;
    border: 0.125rem solid var(--sn-cart-ink);
    border-radius: 0.18rem;
    content: "";
    transform: rotate(-12deg);
}

.sn-route-cart-page .promo-code-field-main .promo-icon::after {
    inset: auto 0.2rem 0.2rem auto;
    width: 0.18rem;
    height: 0.18rem;
    border-radius: 50%;
    background: var(--sn-cart-ink);
}

.sn-route-cart-page .coupon-code-field {
    min-width: 0;
    height: 2.45rem;
    border: 0;
    background: transparent;
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 0;
}

.sn-route-cart-page .coupon-code-field:focus {
    outline: none;
}

.sn-route-cart-page .promo-code-btn {
    min-height: 2.45rem;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #9a9a94 !important;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    padding: 0 1.1rem;
    text-transform: none;
}

.sn-route-cart-page .promo-code-btn:hover,
.sn-route-cart-page .promo-code-btn:focus-visible {
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #7d7d76 !important;
}

.sn-route-cart-page .coupon-error-message,
.sn-route-cart-page .approaching-discounts {
    display: block;
    min-height: 1.125rem;
    margin-top: 0.45rem;
    color: #b43f28;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.125rem;
}

.sn-route-cart-page .approaching-discounts {
    color: #2a7156;
}

.sn-route-cart-page .sn-cart-coupon-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
    border: 0.0625rem solid #bedccb;
    border-radius: 8px;
    background: #deede3;
    padding: 0.75rem;
    color: var(--sn-cart-ink);
    font-size: 0.875rem;
    font-weight: 800;
}

.sn-route-cart-page .sn-cart-coupon-pill button {
    border: 0;
    background: transparent;
    color: var(--sn-cart-ink);
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-cart-page .cart-totals-main {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sn-route-cart-page .cart-totals-main > .row,
.sn-route-cart-page .estimated-total-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.sn-route-cart-page .cart-totals-main p {
    margin: 0;
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25rem;
}

.sn-route-cart-page .text-right,
.sn-route-cart-page .value {
    text-align: right;
}

.sn-route-cart-page .sub-total p,
.sn-route-cart-page .order-discount-total,
.sn-route-cart-page .grand-total {
    font-weight: 700;
}

.sn-route-cart-page .estimated-total-main {
    border-top: 0.0625rem solid var(--sn-cart-line);
    margin-top: 0.45rem;
    padding-top: 1rem;
}

.sn-route-cart-page .estimated-total-label,
.sn-route-cart-page .grand-total {
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem !important;
    font-weight: 700;
    line-height: 1.375rem !important;
}

.sn-route-cart-page .checkout-continue {
    display: flex;
    justify-content: center;
    width: 100%;
}

.sn-route-cart-page .checkout-btn,
.sn-route-cart-page .sn-cart-gpay-btn {
    width: 100%;
    max-width: 100%;
    height: 2.75rem;
    min-height: 2.75rem;
    box-sizing: border-box;
    margin: 0.9rem auto 0;
    padding: 0 1.35rem;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
}

.sn-route-cart-page .sn-cart-checkout-row {
    margin-bottom: 0.75rem;
}

.sn-route-cart-page .sn-cart-gpay-row {
    margin-bottom: 0.25rem;
}

.sn-route-cart-page .sn-cart-gpay-btn {
    gap: 0.3rem;
    margin-top: 0;
    border-color: #000;
    background: transparent;
    color: #111;
}

.sn-route-cart-page .sn-cart-google-g {
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    margin-left: 0.1rem;
    background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%234285F4' d='M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84c-.21 1.13-.84 2.08-1.79 2.72v2.26h2.91c1.7-1.57 2.68-3.88 2.68-6.62z'/%3E%3Cpath fill='%2334A853' d='M9 18c2.43 0 4.47-.81 5.96-2.18l-2.91-2.26c-.81.54-1.84.86-3.05.86-2.35 0-4.34-1.59-5.05-3.72H.94v2.33A9 9 0 0 0 9 18z'/%3E%3Cpath fill='%23FBBC05' d='M3.95 10.7A5.41 5.41 0 0 1 3.67 9c0-.59.1-1.16.28-1.7V4.97H.94A9 9 0 0 0 0 9c0 1.45.34 2.82.94 4.03l3.01-2.33z'/%3E%3Cpath fill='%23EA4335' d='M9 3.58c1.32 0 2.51.45 3.44 1.35l2.58-2.58C13.47.9 11.43 0 9 0A9 9 0 0 0 .94 4.97L3.95 7.3C4.66 5.17 6.65 3.58 9 3.58z'/%3E%3C/svg%3E") center / contain no-repeat;
    vertical-align: -0.16rem;
}

.sn-route-cart-page .sn-cart-gpay-mark {
    font-weight: 800;
    letter-spacing: 0;
}

.sn-route-cart-page .sn-cart-gpay-btn:hover,
.sn-route-cart-page .sn-cart-gpay-btn:focus-visible {
    border-color: #222;
    background: #f3f3f1;
    color: #111;
}

.sn-route-cart-page .payment-method-container {
    margin-top: 1.5rem;
}

.sn-route-cart-page .payment-method-label {
    margin: 0 0 1rem;
    color: var(--sn-cart-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-route-cart-page .credit-card-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sn-route-cart-page .credit-card-icons .promo-icon {
    display: block;
    max-width: 2.7rem;
    max-height: 1.7rem;
    object-fit: contain;
}

.sn-route-cart-page .sn-cart-remove-modal {
    position: fixed;
    z-index: 4000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 246, 246, 0.72);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.sn-route-cart-page .sn-cart-remove-modal.is-open,
.sn-route-cart-page .sn-cart-remove-modal.show {
    opacity: 1;
    pointer-events: auto;
}

.sn-route-cart-page .sn-cart-modal-backdrop {
    position: absolute;
    inset: 0;
}

.sn-route-cart-page .sn-cart-remove-modal .modal-dialog {
    position: relative;
    z-index: 1;
    width: min(100% - 2rem, 34rem);
}

.sn-route-cart-page .sn-cart-remove-modal .modal-content {
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.18);
    padding: clamp(1.5rem, 5vw, 4rem);
}

.sn-route-cart-page .sn-cart-remove-modal .modal-header {
    position: relative;
    display: flex;
    justify-content: center;
    border: 0;
    padding: 0;
    text-align: center;
}

.sn-route-cart-page .sn-cart-remove-modal .modal-title {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.35rem, 4vw, 2rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
}

.sn-route-cart-page .sn-cart-remove-modal .close {
    position: absolute;
    top: -0.75rem;
    right: -0.75rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 50%;
    background: var(--sn-cart-panel);
    color: transparent;
    cursor: pointer;
}

.sn-route-cart-page .sn-cart-remove-modal .close::before,
.sn-route-cart-page .sn-cart-remove-modal .close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 0.125rem;
    border-radius: 999px;
    background: var(--sn-cart-ink);
    content: "";
}

.sn-route-cart-page .sn-cart-remove-modal .close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sn-route-cart-page .sn-cart-remove-modal .close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.sn-route-cart-page .sn-cart-remove-modal .modal-body {
    padding: 1rem 0 1.25rem;
    text-align: center;
    color: var(--sn-cart-ink);
    font-size: 1rem;
    line-height: 1.4;
}

.sn-route-cart-page .sn-cart-remove-modal .product-to-remove {
    margin: 0.75rem 0 0;
    font-weight: 800;
}

.sn-route-cart-page .sn-cart-remove-modal .modal-footer {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.75rem;
    border: 0;
    padding: 0;
}

.sn-route-cart-page .sn-cart-remove-modal .modal-footer .btn {
    width: 100%;
}

body.sn-cart-remove-modal-open {
    overflow: hidden;
}

.sn-wc-cart-page {
    --sn-cart-green: #000;
    padding-top: 0;
}

.sn-wc-cart-page.has-items {
    padding: 0;
}

.sn-wc-cart-page .sn-cart-notices {
    padding-top: 1rem;
}

.sn-wc-cart-page :where(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    margin: 0 0 1rem;
    border: 0;
    border-radius: 8px;
    background: #f6f6f6;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    line-height: 1.25rem;
    list-style: none;
    padding: 1rem 1.25rem;
}

.sn-wc-cart-page .woocommerce-error {
    color: #b12024;
}

.sn-wc-cart-page .cart-page {
    padding-top: 0;
}

.sn-wc-cart-page .cart-page-header .card-header-main,
.sn-wc-cart-page .cart-page-header .cart-header,
.sn-wc-cart-page .cart-empty .cart-page-header .card-header-main,
.sn-wc-cart-page .cart-empty .cart-page-header .cart-header {
    align-items: flex-end;
    flex-direction: row;
    gap: 0.75rem;
}

.sn-wc-cart-page .cart-page-header .page-title,
.sn-wc-cart-page .cart-empty .cart-page-header .page-title,
.sn-wc-cart-page.has-items .cart-page-header .page-title {
    font-size: 1.25rem;
    line-height: 1.5rem;
}

.sn-wc-cart-page .cart-page-header .number-of-items,
.sn-wc-cart-page .cart-empty .cart-page-header .number-of-items {
    padding-bottom: 0.0625rem;
    white-space: nowrap;
}

.sn-wc-cart-page .line-item-row {
    display: flex;
    justify-content: space-between;
    gap: 0;
    align-items: flex-start;
    padding: 0 0 2rem;
}

.sn-wc-cart-page .cart-items-main,
.sn-wc-cart-page .cart-summary-main {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.sn-wc-cart-page .cart-summary-main {
    position: static;
    gap: 2rem;
    border-radius: 0;
    background: transparent;
    padding: 2rem 0.375rem 0;
}

.sn-wc-cart-page .sn-wc-cart-form {
    margin: 0;
}

.sn-wc-cart-page .sn-cart-update-submit {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.sn-wc-cart-page .sn-cart-line-items {
    gap: 0;
}

.sn-wc-cart-page .sn-cart-product-card {
    display: block;
    margin: 0;
    border: 0;
    border-bottom: 0.0625rem solid #d1d1d1;
    border-radius: 0;
    background-color: #fff;
    padding: 2rem 0;
}

.sn-wc-cart-page .sn-cart-product-card:last-child {
    border-bottom: 0.0625rem solid #d1d1d1;
}

.sn-wc-cart-page .product-info-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    margin: 0;
}

.sn-wc-cart-page .product-info-row .item-image,
.sn-wc-cart-page .product-info-row .item-image a {
    display: flex;
    width: 6.5rem;
    height: 6.5rem;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    margin: 0;
    border-radius: 8px;
    background: #f6f6f6;
}

.sn-wc-cart-page .product-info-row .item-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    border-radius: 8px;
    object-fit: contain;
    padding: 0;
}

.sn-wc-cart-page .product-info-details-wrapper {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    gap: 1rem;
}

.sn-wc-cart-page .line-item-header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sn-wc-cart-page .line-item-name {
    margin: 0;
    white-space: normal;
    text-overflow: initial;
}

.sn-wc-cart-page .line-item-name .edit-product-link {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-decoration: none;
}

.sn-wc-cart-page .line-item-name .edit-product-link:hover,
.sn-wc-cart-page .line-item-name .edit-product-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-cart-page :where(.line-item-sku, .line-item-warranty, .line-item-attributes, .sn-cart-shipping-note) {
    margin: 0;
    color: #6d6d6d;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.sn-wc-cart-page .line-item-attributes :where(.item, .color-label),
.sn-wc-cart-page .line-item-attributes.color {
    color: #000;
    font-weight: 700;
}

.sn-wc-cart-page .line-item-availability .availability-msg {
    margin: 0;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-cart-page .availability-msg.out-of-stock {
    color: #b12024;
    font-weight: 600;
}

.sn-wc-cart-page .cart-product-card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.sn-wc-cart-page .cart-product-card-footer .line-item-quantity {
    min-width: 7.625rem;
    order: 1;
    border: 0;
    padding: 0;
}

.sn-wc-cart-page .remove-product-btn {
    order: 2;
    margin-left: auto;
}

.sn-wc-cart-page .remove-product {
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25rem;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-cart-page .cart-product-card-price {
    flex: 1 1 100%;
    order: 0;
    margin-left: auto;
}

.sn-wc-cart-page .cart-product-card-price .product-card-footer {
    display: block;
    min-width: 0;
    gap: 0;
}

.sn-wc-cart-page .cart-product-card-price .price {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-wc-cart-page .qty-input-block {
    width: 7.125rem;
    height: 2.75rem;
    border-radius: 2.5rem;
    background: #f3f3f3;
}

.sn-wc-cart-page .qty-input-block button {
    width: 2.5rem;
}

.sn-wc-cart-page .qty-input-block input {
    width: 2.125rem;
    font-size: 1rem;
}

.sn-wc-cart-page .qty-input-block input[type="number"]::-webkit-outer-spin-button,
.sn-wc-cart-page .qty-input-block input[type="number"]::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.sn-wc-cart-page .qty-input-block input[type="number"] {
    appearance: textfield;
}

.sn-wc-cart-page .qty-static-block {
    justify-content: center;
}

.sn-wc-cart-page .qty-static {
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-wc-cart-page .cart-summary-label {
    margin: 0;
    text-align: left;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-wc-cart-page .cart-promo-code-main {
    margin: 0;
    border-bottom: 0;
    padding-bottom: 0;
}

.sn-wc-cart-page .promo-code-field-main {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    border: 0;
    border-radius: 8px;
    background: #f6f6f6;
    padding: 0.25rem 1rem;
}

.sn-wc-cart-page .promo-code-field-main .promo-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.sn-wc-cart-page .promo-code-field-main .promo-icon::before {
    inset: 0.125rem;
    border-color: #000;
}

.sn-wc-cart-page .promo-code-field-main .promo-icon::after {
    content: none;
}

.sn-wc-cart-page .coupon-code-field {
    height: 2.5rem;
    color: #000;
    font-weight: 600;
    padding: 0 0.25rem;
}

.sn-wc-cart-page .coupon-code-field::placeholder {
    color: #6d6d6d;
    font-weight: 400;
}

.sn-wc-cart-page .promo-code-btn {
    color: #6d6d6d !important;
    cursor: default;
    font-size: 1rem;
    font-weight: 600;
    padding: 0;
}

.sn-wc-cart-page .promo-code-btn.active {
    color: #000 !important;
    cursor: pointer;
}

.sn-wc-cart-page .coupon-error-message {
    min-height: 0;
    padding: 0.5rem 0;
    color: #b12024;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5rem;
}

.sn-wc-cart-page .sn-cart-coupon-pill {
    position: relative;
    gap: 0.75rem;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0.5rem 1rem 0;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.sn-wc-cart-page .sn-cart-coupon-pill .remove-coupon {
    margin-left: auto;
    color: #000;
    line-height: 1;
    text-decoration: none;
}

.sn-wc-cart-page .cart-totals-main {
    gap: 0.5rem;
    color: #6d6d6d;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-cart-page .cart-totals-main p {
    color: #6d6d6d;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-cart-page .cart-totals-main .value,
.sn-wc-cart-page .cart-totals-main .sub-total {
    font-weight: 600;
}

.sn-wc-cart-page .order-discount-total {
    color: #3b8e6c !important;
    font-weight: 600;
}

.sn-wc-cart-page .estimated-total-main .estimated-total-label {
    color: #000;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.375rem !important;
}

.sn-wc-cart-page .estimated-total-main .grand-total {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem !important;
    font-weight: 700;
    line-height: 1.5rem !important;
}

.sn-wc-cart-page .checkout-continue {
    display: flex;
    flex-direction: column;
}

.sn-wc-cart-page .checkout-btn,
.sn-wc-cart-page .cart-delete-confirmation-btn {
    width: 100%;
    max-width: none;
    height: 2.75rem;
    min-height: 2.75rem;
    margin: 0 0 1rem;
    border-color: #000;
    border-radius: 40px;
    background: #000;
    color: #fff;
}

.sn-wc-cart-page .checkout-btn:hover,
.sn-wc-cart-page .checkout-btn:focus-visible,
.sn-wc-cart-page .cart-delete-confirmation-btn:hover,
.sn-wc-cart-page .cart-delete-confirmation-btn:focus-visible {
    border-color: #454545;
    background: #454545;
    color: #fff;
}

.sn-wc-cart-page .sn-cart-gpay-btn {
    width: 100%;
    max-width: none;
    height: 2.75rem;
    min-height: 2.75rem;
    margin: 0 0 1rem;
    border-color: #262626;
    border-radius: 40px;
    background: #fff;
    color: #000;
}

.sn-wc-cart-page .payment-method-container {
    margin-top: -0.5rem;
}

.sn-wc-cart-page .payment-method-label {
    text-align: center;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-wc-cart-page .credit-card-icons {
    justify-content: center;
    gap: 1rem;
    max-width: 17.5rem;
    margin: 0 auto;
}

.sn-wc-cart-page .credit-card-icons .promo-icon {
    max-width: 2.6875rem;
    max-height: 1.6875rem;
}

@media (max-width: 1199px) {
    .sn-route-cart-page .line-item-row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sn-route-cart-page .cart-summary-main {
        position: static;
    }
}

@media (min-width: 1200px) {
    .sn-wc-cart-page .line-item-row {
        padding: 2.5rem 0 7.5rem;
    }

    .sn-wc-cart-page .cart-items-main {
        width: 58.333333%;
        max-width: 58.333333%;
        flex: 0 0 58.333333%;
    }

    .sn-wc-cart-page .cart-summary-main {
        width: 33.333333%;
        max-width: 33.333333%;
        flex: 0 0 33.333333%;
        gap: 1.5rem;
        padding: 4rem 0.875rem 0;
    }

    .sn-wc-cart-page .product-info-row {
        gap: 1.75rem;
    }

    .sn-wc-cart-page .product-info-row .item-image,
    .sn-wc-cart-page .product-info-row .item-image a {
        width: 5rem;
        height: 5rem;
    }

    .sn-wc-cart-page .cart-product-card-footer {
        flex-wrap: nowrap;
        gap: 2rem;
    }

    .sn-wc-cart-page .cart-product-card-footer .line-item-quantity,
    .sn-wc-cart-page .remove-product-btn,
    .sn-wc-cart-page .cart-product-card-price {
        order: initial;
    }

    .sn-wc-cart-page .remove-product-btn {
        margin-left: 0;
    }

    .sn-wc-cart-page .cart-product-card-price {
        flex: 0 0 auto;
    }

    .sn-wc-cart-page .cart-product-card-price .price {
        justify-content: flex-start;
    }

    .sn-wc-cart-page .promo-code-field-main {
        gap: 0.75rem;
        padding: 0.25rem 1.25rem;
    }

    .sn-wc-cart-page .payment-method-label {
        text-align: left;
        font-size: 1.25rem;
        line-height: 1.5rem;
    }

    .sn-wc-cart-page .credit-card-icons {
        justify-content: flex-start;
        max-width: none;
        margin: 0;
    }
}

@media (max-width: 767px) {
    .sn-route-cart-page {
        padding-top: 1.25rem;
    }

    .sn-route-cart-page .container {
        padding-inline: 0.75rem;
    }

    .sn-route-cart-page .cart-page-header {
        margin-bottom: 1.25rem;
    }

    .sn-route-cart-page .card-header-main,
    .sn-route-cart-page .cart-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }

    .sn-route-cart-page .number-of-items {
        padding-bottom: 0;
    }

    .sn-route-cart-page .sn-cart-product-card {
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: 1rem;
        padding: 1.25rem 0;
    }

    .sn-route-cart-page .item-image,
    .sn-route-cart-page .item-image a {
        width: 5.5rem;
        height: 5.5rem;
    }

    .sn-route-cart-page .product-card-footer {
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(0, 1fr) auto;
        width: 100%;
        align-items: end;
        justify-items: start;
    }

    .sn-route-cart-page .line-item-unit-price {
        display: none;
    }

    .sn-route-cart-page .line-item-total-price {
        justify-self: end;
    }

    .sn-route-cart-page .remove-line-item {
        grid-column: 1 / -1;
    }

    .sn-route-cart-page .qty-wrapper label {
        text-align: left;
    }

    .sn-route-cart-page .promo-code-field-main {
        grid-template-columns: 1.25rem minmax(0, 1fr);
        border-radius: 1.5rem;
        padding: 0.65rem 0.75rem;
    }

    .sn-route-cart-page .promo-code-btn {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 0.35rem;
    }

    .sn-route-cart-page .cart-summary-main {
        padding: 1.25rem;
    }

    .sn-route-cart-page .sn-cart-remove-modal .modal-content {
        border-radius: 16px;
        padding: 1.5rem;
    }

    .sn-wc-cart-page.has-items {
        padding-top: 0;
    }

    .sn-wc-cart-page .line-item-row {
        gap: 0;
    }

    .sn-wc-cart-page .card-header-main,
    .sn-wc-cart-page .cart-header {
        align-items: flex-end;
        flex-direction: row;
        gap: 0.75rem;
    }

    .sn-wc-cart-page .product-info-row {
        align-items: flex-start;
    }

    .sn-wc-cart-page .cart-product-card-footer .line-item-quantity {
        min-width: 7.125rem;
    }

    .sn-wc-cart-page .promo-code-field-main {
        grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    }
}

.sn-route-cart-page .cart-page-header .cart-header,
.sn-route-cart-page .cart-empty .cart-page-header .cart-header,
.sn-wc-cart-page .cart-page-header .cart-header,
.sn-wc-cart-page .cart-empty .cart-page-header .cart-header {
    display: flex !important;
    align-items: flex-end !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
}

.sn-route-cart-page .cart-page-header .page-title,
.sn-wc-cart-page .cart-page-header .page-title {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.sn-route-cart-page .cart-page-header .number-of-items,
.sn-wc-cart-page .cart-page-header .number-of-items {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    padding-bottom: 0.0625rem !important;
    white-space: nowrap !important;
}

.sn-checkout-header {
    border-bottom: 0.03125rem solid #d1d1d1;
    background: #fff;
}

.sn-checkout-header .container {
    width: min(100%, 90rem);
    margin: 0 auto;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
}

.sn-checkout-header .row {
    display: flex;
    margin: 0;
}

.sn-checkout-header .checkout-header {
    display: flex;
    width: 100%;
    height: 3.75rem;
    align-items: center;
    justify-content: center;
}

.sn-checkout-header .logo-home {
    display: inline-flex;
    align-items: center;
}

.sn-checkout-header img {
    display: block;
    width: auto;
    max-width: min(13rem, 72vw);
    height: auto;
}

.sn-checkout-footer {
    border-top: 0.0625rem solid #d1d1d1;
    background: #fff;
    padding: 2rem 0;
}

.sn-checkout-footer .container {
    width: min(100%, 90rem);
    margin: 0 auto;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
}

.sn-checkout-footer .support-copy-right {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.sn-checkout-footer .need-help h3 {
    margin: 0 0 1.25rem;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.5rem;
}

.sn-checkout-footer .footer-support ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sn-checkout-footer .footer-support a {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #000;
    font-size: 1rem;
    line-height: 1.375rem;
    text-decoration: none;
}

.sn-checkout-footer .footer-support a::before {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    border: 0.125rem solid currentColor;
    border-radius: 50%;
    content: "";
    font-size: 0.75rem;
    font-weight: 800;
}

.sn-checkout-footer .call-support a::before {
    content: "\260E";
}

.sn-checkout-footer .chat-support a::before {
    border-radius: 0.25rem;
    content: "";
}

.sn-checkout-footer .return-policy a::before {
    border-radius: 0.2rem;
}

.sn-checkout-footer .footer-support a:hover,
.sn-checkout-footer .footer-support a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-checkout-footer .copy-right-container {
    color: #000;
    font-size: 0.875rem;
    line-height: 1.125rem;
}

.sn-route-checkout-page {
    --sn-checkout-ink: #000;
    --sn-checkout-muted: #454545;
    --sn-checkout-subtle: #6d6d6d;
    --sn-checkout-line: #d1d1d1;
    --sn-checkout-panel: #f9f9f9;
    --sn-checkout-soft: #f6f6f6;
    --sn-checkout-green: #042a20;
    background: var(--sn-checkout-panel);
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    min-height: 70vh;
    padding: clamp(1.25rem, 4vw, 3rem) 0 clamp(4rem, 7vw, 6rem);
}

.sn-route-checkout-page [hidden],
.sn-route-checkout-page .d-none {
    display: none !important;
}

.sn-route-checkout-page .container {
    box-sizing: border-box;
    width: min(100%, 90rem);
    margin: 0 auto;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
}

.sn-route-checkout-page .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.sn-route-checkout-page .col-12,
.sn-route-checkout-page .col-sm-12,
.sn-route-checkout-page .col-lg-4,
.sn-route-checkout-page .col-lg-6,
.sn-route-checkout-page .col-lg-7,
.sn-route-checkout-page .col-sm-6,
.sn-route-checkout-page .col-3,
.sn-route-checkout-page .col-6,
.sn-route-checkout-page .col-9 {
    box-sizing: border-box;
}

.sn-route-checkout-page .checkout-main-summary {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(20rem, 4fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

.sn-route-checkout-page .sn-checkout-empty {
    display: flex;
    min-height: 28rem;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.sn-route-checkout-page .cart-empty-body {
    display: flex;
    max-width: 32rem;
    align-items: center;
    flex-direction: column;
    gap: 1.25rem;
    border-radius: 8px;
    background: #fff;
    padding: clamp(2rem, 6vw, 4rem);
}

.sn-route-checkout-page .cart-icon {
    position: relative;
    display: inline-block;
    width: 1.65rem;
    height: 1.5rem;
}

.sn-route-checkout-page .cart-icon::before {
    position: absolute;
    inset: 0.35rem 0 0;
    border: 0.125rem solid currentColor;
    border-radius: 0.125rem 0.125rem 0.25rem 0.25rem;
    content: "";
}

.sn-route-checkout-page .cart-icon::after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0.72rem;
    height: 0.58rem;
    border: 0.125rem solid currentColor;
    border-bottom: 0;
    border-radius: 0.75rem 0.75rem 0 0;
    content: "";
    transform: translateX(-50%);
}

.sn-route-checkout-page .empty-cart-title {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.75rem, 4vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
}

.sn-route-checkout-page .page-title-container {
    margin-bottom: 1.75rem;
}

.sn-route-checkout-page .checkout-back {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-decoration: none;
}

.sn-route-checkout-page .checkout-back::before {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.125rem solid currentColor;
    border-left: 0.125rem solid currentColor;
    content: "";
    transform: rotate(45deg);
}

.sn-route-checkout-page .checkout-back:hover,
.sn-route-checkout-page .checkout-back:focus-visible,
.sn-route-checkout-page .edit-button:hover,
.sn-route-checkout-page .edit-button:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-checkout-page .page-title {
    margin: 0;
    color: var(--sn-checkout-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.05;
}

.sn-route-checkout-page .sn-checkout-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0 0 1rem;
}

.sn-route-checkout-page .sn-checkout-progress span {
    position: relative;
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-bottom: 0.25rem solid var(--sn-checkout-line);
    color: var(--sn-checkout-subtle);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sn-route-checkout-page .sn-checkout-progress span.is-active,
.sn-route-checkout-page .sn-checkout-progress span.is-complete {
    border-color: var(--sn-checkout-green);
    color: var(--sn-checkout-ink);
}

.sn-route-checkout-page .checkout-main-sections {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sn-route-checkout-page .card {
    border: 0;
    border-radius: 0;
    background: #fff;
}

.sn-route-checkout-page .card.ghost {
    opacity: 0.5;
    pointer-events: none;
}

.sn-route-checkout-page .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    padding: 1.25rem 1.5rem;
}

.sn-route-checkout-page .card-header-custom {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.5rem;
}

.sn-route-checkout-page .card-body {
    padding: 1.5rem;
}

.sn-route-checkout-page .form-group {
    position: relative;
    margin: 0 0 1rem;
}

.sn-route-checkout-page .form-control-label {
    display: block;
    margin: 0 0 0.45rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.125rem;
}

.sn-route-checkout-page .form-group.required .form-control-label::before {
    color: #b43f28;
    content: "*";
}

.sn-route-checkout-page .form-control,
.sn-route-checkout-page .custom-select {
    box-sizing: border-box;
    width: 100%;
    min-height: 3rem;
    border: 0.0625rem solid #8f8f8f;
    border-radius: 0;
    background: #fff;
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 0.75rem;
}

.sn-route-checkout-page select.form-control,
.sn-route-checkout-page select.custom-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%);
    background-position: calc(100% - 1rem) 1.28rem, calc(100% - 0.65rem) 1.28rem;
    background-repeat: no-repeat;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    padding-right: 2rem;
}

.sn-route-checkout-page .form-control:focus,
.sn-route-checkout-page .custom-select:focus {
    border-color: var(--sn-checkout-green);
    outline: 0.125rem solid rgba(42, 113, 86, 0.25);
    outline-offset: 0;
}

.sn-route-checkout-page .is-invalid .form-control,
.sn-route-checkout-page .is-invalid .custom-select {
    border-color: #b43f28;
}

.sn-route-checkout-page .invalid-feedback {
    display: none;
    margin-top: 0.35rem;
    color: #b43f28;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
}

.sn-route-checkout-page .is-invalid .invalid-feedback {
    display: block;
}

.sn-route-checkout-page .guest-note-text,
.sn-route-checkout-page .required-fields-note,
.sn-route-checkout-page .checkout-privacy-policy-link,
.sn-route-checkout-page .address-po-note,
.sn-route-checkout-page .summary-details,
.sn-route-checkout-page .arrival-time,
.sn-route-checkout-page .ssl-payment-text {
    color: var(--sn-checkout-muted);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-checkout-page .guest-note-text,
.sn-route-checkout-page .required-fields-note {
    margin: 0 0 1rem;
}

.sn-route-checkout-page .address-po-note {
    display: block;
    margin-top: 0.35rem;
}

.sn-route-checkout-page .custom-checkbox {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.sn-route-checkout-page .custom-control-input {
    width: 1.25rem;
    height: 1.25rem;
    margin: 0.05rem 0 0;
    accent-color: var(--sn-checkout-green);
}

.sn-route-checkout-page .custom-control-label {
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-checkout-page .custom-control-label a,
.sn-route-checkout-page .checkout-privacy-policy-link a,
.sn-route-checkout-page .checkout-forgot-pass,
.sn-route-checkout-page .cancel-wrapper .link {
    color: var(--sn-checkout-ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-checkout-page .checkout-privacy-policy-link {
    margin: 0 0 1rem;
}

.sn-route-checkout-page .sing-in-account {
    margin-top: 1.25rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-checkout-page .customer-information-block .btn-link {
    display: inline;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--sn-checkout-ink);
    font: inherit;
    font-weight: 800;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-route-checkout-page .checkout-forgot-pass {
    display: inline-block;
    margin: -0.25rem 0 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-checkout-page .password-form {
    position: relative;
}

.sn-route-checkout-page .password-form .password {
    padding-right: 3.25rem;
}

.sn-route-checkout-page .show-password {
    position: absolute;
    right: 0.6rem;
    bottom: 0.45rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--sn-checkout-ink);
    cursor: pointer;
}

.sn-route-checkout-page .show-password span::before {
    display: block;
    width: 1.35rem;
    height: 0.82rem;
    margin: 0 auto;
    border: 0.125rem solid currentColor;
    border-radius: 50%;
    content: "";
}

.sn-route-checkout-page .show-password span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 50%;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%);
}

.sn-route-checkout-page .show-password.is-visible span::before {
    box-shadow: inset 0 0 0 0.125rem #fff;
}

.sn-route-checkout-page .register-user-btn {
    margin-top: 0.5rem;
}

.sn-route-checkout-page .cancel-wrapper {
    margin-top: 1rem;
    text-align: center;
}

.sn-route-checkout-page .cancel-wrapper button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    padding: 0;
}

.sn-route-checkout-page .btn,
.sn-route-checkout-page .continue-shopping-link {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-checkout-green);
    border-radius: 999px;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25rem;
    padding: 0.72rem 1.75rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.sn-route-checkout-page .btn-primary,
.sn-route-checkout-page .submit-customer,
.sn-route-checkout-page .submit-shipping,
.sn-route-checkout-page .submit-payment,
.sn-route-checkout-page .place-order {
    width: 100%;
    background: var(--sn-checkout-green);
    color: #fff;
}

.sn-route-checkout-page .btn-primary:hover,
.sn-route-checkout-page .btn-primary:focus-visible {
    border-color: #0a4a38;
    background: #0a4a38;
    color: #fff;
}

.sn-route-checkout-page .next-step-button {
    margin-top: 0.5rem;
    position: static;
}

.sn-route-checkout-page .next-step-button .col-12 {
    width: 100%;
    padding-inline: 0;
}

.sn-route-checkout-page .edit-button {
    border: 0;
    background: transparent;
    color: var(--sn-checkout-ink);
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 0;
}

.sn-route-checkout-page .col-lg-6 {
    width: 50%;
    padding-inline: 0.375rem;
}

.sn-route-checkout-page .col-lg-4 {
    width: 33.3333%;
    padding-inline: 0.375rem;
}

.sn-route-checkout-page .col-sm-12,
.sn-route-checkout-page .col-12 {
    width: 100%;
}

.sn-route-checkout-page .shipping-method-block {
    border: 0;
    margin: 1.25rem 0 0;
    padding: 0;
}

.sn-route-checkout-page .shipping-method {
    margin: 0 0 1rem;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.5rem;
}

.sn-route-checkout-page .shipping-method-list {
    border-top: 0.0625rem solid var(--sn-checkout-line);
}

.sn-route-checkout-page .shipping-method-list .form-check,
.sn-route-checkout-page .shipping-method-pricing {
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    padding-block: 1rem;
}

.sn-route-checkout-page .shipping-method-list .form-check {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    column-gap: 0.75rem;
    width: 75%;
}

.sn-route-checkout-page .shipping-method-list .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0.18rem 0 0;
    accent-color: var(--sn-checkout-green);
}

.sn-route-checkout-page .shipping-method-option {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.25rem;
}

.sn-route-checkout-page .shipping-method-pricing {
    display: flex;
    width: 25%;
    align-items: flex-start;
    justify-content: flex-end;
    font-weight: 800;
}

.sn-route-checkout-page .arrival-time {
    grid-column: 2;
    margin: 0.35rem 0 0;
}

.sn-route-checkout-page .summary-section-label {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25rem;
}

.sn-route-checkout-page .summary-details {
    margin-bottom: 1rem;
}

.sn-route-checkout-page .shipping-method-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    margin-bottom: 0.35rem;
}

.sn-route-checkout-page .shipping-method-wrapper p {
    margin: 0;
}

.sn-route-checkout-page .ssl-payment {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 1rem;
    border-radius: 8px;
    background: var(--sn-checkout-soft);
    padding: 0.85rem;
}

.sn-route-checkout-page .ssl-icon {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.sn-route-checkout-page .ssl-icon::before {
    position: absolute;
    inset: 0.45rem 0.15rem 0.1rem;
    border: 0.125rem solid var(--sn-checkout-ink);
    border-radius: 0.125rem;
    content: "";
}

.sn-route-checkout-page .ssl-icon::after {
    position: absolute;
    top: 0.05rem;
    left: 50%;
    width: 0.7rem;
    height: 0.55rem;
    border: 0.125rem solid var(--sn-checkout-ink);
    border-bottom: 0;
    border-radius: 0.6rem 0.6rem 0 0;
    content: "";
    transform: translateX(-50%);
}

.sn-route-checkout-page .payment-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 1.25rem;
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    padding: 0;
    list-style: none;
}

.sn-route-checkout-page .payment-options .nav-link {
    width: 100%;
    border: 0;
    border-bottom: 0.25rem solid transparent;
    background: transparent;
    color: var(--sn-checkout-subtle);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 800;
    padding: 0 0 0.75rem;
}

.sn-route-checkout-page .payment-options .nav-link.active {
    border-color: var(--sn-checkout-green);
    color: var(--sn-checkout-ink);
}

.sn-route-checkout-page .payment-method-container {
    margin-bottom: 1.25rem;
}

.sn-route-checkout-page .payment-method-label {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25rem;
}

.sn-route-checkout-page .credit-card-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sn-route-checkout-page .credit-card-icons .promo-icon {
    display: block;
    max-width: 2.7rem;
    max-height: 1.7rem;
    object-fit: contain;
}

.sn-route-checkout-page .sn-checkout-paypal-panel {
    border-radius: 8px;
    background: var(--sn-checkout-soft);
    padding: 1rem;
}

.sn-route-checkout-page .sn-checkout-paypal-panel p {
    margin: 0;
}

.sn-route-checkout-page .order-summary-review-desktop {
    min-width: 0;
}

.sn-route-checkout-page .checkout-order-summary {
    position: sticky;
    top: 1.25rem;
}

.sn-route-checkout-page .checkout-order-summary > .card {
    overflow: hidden;
}

.sn-route-checkout-page .order-product-summary {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
}

.sn-route-checkout-page .order-product-summary .card-body,
.sn-route-checkout-page .order-total-summary {
    padding: 0;
}

.sn-route-checkout-page .accordion-button {
    display: flex;
    width: 100%;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    border: 0;
    background: #fff;
    cursor: pointer;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    padding: 0 1.5rem;
    text-align: left;
}

.sn-route-checkout-page .accordion-icon {
    position: relative;
    width: 1rem;
    height: 1rem;
}

.sn-route-checkout-page .accordion-icon::before,
.sn-route-checkout-page .accordion-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 0.125rem;
    border-radius: 999px;
    background: var(--sn-checkout-ink);
    content: "";
    transform: translate(-50%, -50%);
}

.sn-route-checkout-page .accordion-button[aria-expanded="false"] .accordion-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.sn-route-checkout-page .accordion-body {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    padding: 0 1.5rem 1.25rem;
}

.sn-route-checkout-page .product-summary-block {
    display: flex;
    flex-direction: column;
}

.sn-route-checkout-page .product-line-item {
    padding: 1.25rem 0;
}

.sn-route-checkout-page .product-line-item + .product-line-item {
    border-top: 0.0625rem dashed var(--sn-checkout-line);
}

.sn-route-checkout-page .product-summary-wrapper {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: 1rem;
}

.sn-route-checkout-page .product-line-item .item-image {
    display: flex;
    width: 5.25rem;
    height: 5.25rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--sn-checkout-soft);
}

.sn-route-checkout-page .product-line-item .product-image {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.55rem;
    object-fit: contain;
}

.sn-route-checkout-page .line-item-name {
    margin: 0 0 0.35rem;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2rem;
}

.sn-route-checkout-page .line-item-sku,
.sn-route-checkout-page .line-item-attributes,
.sn-route-checkout-page .line-item-quantity {
    margin: 0 0 0.35rem;
    color: var(--sn-checkout-muted);
    font-size: 0.8rem;
    line-height: 1.15rem;
}

.sn-route-checkout-page .line-item-total-price {
    margin-top: 0.75rem;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
}

.sn-route-checkout-page .order-total-summary {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.25rem 1.5rem 1.5rem;
}

.sn-route-checkout-page .leading-lines {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    overflow: hidden;
}

.sn-route-checkout-page .leading-lines p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.25rem;
}

.sn-route-checkout-page .leading-lines .start-lines span,
.sn-route-checkout-page .leading-lines .end-lines span {
    position: relative;
    z-index: 2;
    background: #fff;
}

.sn-route-checkout-page .leading-lines .start-lines::before {
    position: absolute;
    color: #adadad;
    content: ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
    white-space: nowrap;
}

.sn-route-checkout-page .start-lines,
.sn-route-checkout-page .end-lines {
    position: relative;
    min-width: 0;
}

.sn-route-checkout-page .end-lines {
    text-align: right;
}

.sn-route-checkout-page .grand-total {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    margin-top: 0.25rem;
    padding-top: 1rem;
}

.sn-route-checkout-page .grand-total span,
.sn-route-checkout-page .grand-total p {
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.2rem;
    font-weight: 800;
}

.sn-route-checkout-page .alert-danger {
    border-radius: 8px;
    background: #fdf4f3;
    color: #b43f28;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    padding: 1rem;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 246, 246, 0.72);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.sn-route-checkout-page .sn-checkout-modal-backdrop {
    position: absolute;
    inset: 0;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-dialog {
    position: relative;
    z-index: 1;
    width: min(100% - 2rem, 34rem);
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-content {
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.18);
    padding: clamp(1.5rem, 5vw, 3rem);
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-header,
.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-footer {
    border: 0;
    padding: 0;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-title {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.35rem, 4vw, 2rem);
    font-weight: 800;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .modal-body {
    padding: 1rem 0 1.25rem;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 50%;
    background: var(--sn-checkout-soft);
    color: transparent;
    cursor: pointer;
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .close::before,
.sn-route-checkout-page .sn-checkout-confirmation-modal .close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 0.125rem;
    border-radius: 999px;
    background: var(--sn-checkout-ink);
    content: "";
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sn-route-checkout-page .sn-checkout-confirmation-modal .close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

body.sn-checkout-modal-open {
    overflow: hidden;
}

.sn-route-checkout-page .sn-checkout-terms-modal {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 246, 246, 0.72);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.sn-route-checkout-page .sn-checkout-terms-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.sn-route-checkout-page .sn-checkout-terms-backdrop {
    position: absolute;
    inset: 0;
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-dialog {
    position: relative;
    z-index: 1;
    width: min(100% - 1.5rem, 50.375rem);
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-content {
    max-height: min(82vh, 42rem);
    overflow: hidden;
    background: #fff;
    padding: 0;
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    margin: 2rem 4rem 0;
    padding: 0 0 1rem;
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-title {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.5rem;
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-body {
    max-height: 28.5rem;
    overflow-y: auto;
    color: var(--sn-checkout-muted);
    font-size: 1rem;
    line-height: 1.375rem;
    padding: 2.5rem 4rem;
}

.sn-route-checkout-page .sn-checkout-terms-modal .modal-footer {
    border: 0;
    margin: 0 4rem 2rem;
    padding: 0;
}

.sn-route-checkout-page .sn-checkout-terms-modal .close {
    position: relative;
    width: 2.25rem;
    height: 2.25rem;
    margin-left: auto;
    border: 0;
    border-radius: 50%;
    background: var(--sn-checkout-soft);
    color: transparent;
    cursor: pointer;
}

.sn-route-checkout-page .sn-checkout-terms-modal .close::before,
.sn-route-checkout-page .sn-checkout-terms-modal .close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 0.125rem;
    border-radius: 999px;
    background: var(--sn-checkout-ink);
    content: "";
}

.sn-route-checkout-page .sn-checkout-terms-modal .close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sn-route-checkout-page .sn-checkout-terms-modal .close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] .card.payment-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] .shipping-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] .payment-form,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] .customer-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] button.place-order,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] button.submit-payment,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage] button.submit-shipping {
    display: none;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .customer-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .submit-customer {
    display: block;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .customer-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.customer,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .shipping-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .payment-form,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .shipping-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .payment-summary {
    display: none;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .shipping-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .submit-shipping {
    display: block;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .payment-form,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .shipping-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .payment-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost {
    display: none;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .payment-form,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .shipping-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .submit-payment {
    display: block;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .shipping-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .payment-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .card.ghost {
    display: none;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .shipping-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .payment-summary,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .place-order {
    display: block;
}

.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .shipping-section,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .payment-form,
.sn-route-checkout-page .data-checkout-stage[data-checkout-stage="placeOrder"] .card.ghost {
    display: none;
}

@media (min-width: 1200px) {
    .sn-checkout-header .checkout-header {
        height: 5rem;
    }

    .sn-checkout-footer {
        padding: 3rem 0 4rem;
    }

    .sn-checkout-footer .support-copy-right {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (max-width: 1199px) {
    .sn-route-checkout-page .checkout-main-summary {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .sn-route-checkout-page .order-summary-review-desktop {
        order: -1;
    }

    .sn-route-checkout-page .checkout-order-summary {
        position: static;
    }
}

@media (max-width: 767px) {
    .sn-route-checkout-page {
        padding-top: 1rem;
    }

    .sn-route-checkout-page .container {
        padding-inline: 0.75rem;
    }

    .sn-route-checkout-page .page-title-container {
        margin-bottom: 1.25rem;
    }

    .sn-route-checkout-page .sn-checkout-progress {
        gap: 0;
    }

    .sn-route-checkout-page .sn-checkout-progress span {
        font-size: 0.68rem;
        min-height: 2rem;
    }

    .sn-route-checkout-page .card-header,
    .sn-route-checkout-page .card-body,
    .sn-route-checkout-page .order-total-summary,
    .sn-route-checkout-page .accordion-button {
        padding-inline: 1rem;
    }

    .sn-route-checkout-page .accordion-body {
        padding-inline: 1rem;
    }

    .sn-route-checkout-page .sn-checkout-terms-modal .modal-header {
        margin: 3rem 0.75rem 0;
    }

    .sn-route-checkout-page .sn-checkout-terms-modal .modal-body {
        max-height: 54vh;
        padding: 2rem 0.75rem;
    }

    .sn-route-checkout-page .sn-checkout-terms-modal .modal-footer {
        margin: 0 0.75rem 2rem;
    }

    .sn-route-checkout-page .col-lg-6,
    .sn-route-checkout-page .col-lg-4 {
        width: 100%;
        padding-inline: 0;
    }

    .sn-route-checkout-page .shipping-method-list .form-check {
        width: 70%;
    }

    .sn-route-checkout-page .shipping-method-pricing {
        width: 30%;
    }

    .sn-route-checkout-page .product-summary-wrapper {
        grid-template-columns: 4.75rem minmax(0, 1fr);
    }

    .sn-route-checkout-page .product-line-item .item-image {
        width: 4.75rem;
        height: 4.75rem;
    }

    .sn-route-checkout-page .next-step-button {
        margin-inline: 0;
    }
}

@media (max-width: 543.98px) {
    .sn-route-checkout-page {
        padding-bottom: 7rem;
    }

    .sn-route-checkout-page .next-step-button {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 30;
        margin: 0;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 -0.25rem 1rem rgba(0, 0, 0, 0.16);
        padding: 0;
    }

    .sn-route-checkout-page .next-step-button .col-12 {
        padding: 1rem;
    }
}

.sn-wc-checkout-page {
    padding-top: clamp(1.25rem, 3vw, 2.5rem);
}

.sn-wc-checkout-page .page-title {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1.1;
}

.sn-wc-checkout-page .woocommerce-form-coupon-toggle,
.sn-wc-checkout-page .checkout_coupon,
.sn-wc-checkout-page .woocommerce-form-login-toggle,
.sn-wc-checkout-page .woocommerce-form-login {
    display: none !important;
}

.sn-wc-checkout-page .woocommerce-notices-wrapper,
.sn-wc-checkout-page .woocommerce-NoticeGroup {
    margin-bottom: 1rem;
}

.sn-wc-checkout-page .woocommerce-error,
.sn-wc-checkout-page .woocommerce-info,
.sn-wc-checkout-page .woocommerce-message {
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.35rem;
    margin: 0 0 1rem;
    padding: 1rem 1.25rem;
}

.sn-wc-checkout-page .woocommerce-error {
    background: #fdf4f3;
    color: #b43f28;
}

.sn-wc-checkout-page .woocommerce-info a,
.sn-wc-checkout-page .woocommerce-message a,
.sn-wc-checkout-page .woocommerce-error a {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .woocommerce-form-login-toggle,
.sn-wc-checkout-page .woocommerce-form-login {
    width: min(100%, 90rem);
    margin: 0 auto 1rem;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
}

.sn-wc-checkout-page .woocommerce-form-login {
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding-block: 1.25rem;
}

.sn-wc-checkout-page .sn-wc-checkout-form {
    display: block;
    margin: 0;
}

.sn-wc-checkout-page .sn-wc-checkout-progress {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sn-wc-checkout-page .sn-wc-checkout-progress button {
    position: relative;
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-bottom: 0.25rem solid var(--sn-checkout-line);
    background: transparent;
    color: var(--sn-checkout-subtle);
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1rem;
    padding: 0;
    text-transform: uppercase;
}

.sn-wc-checkout-page .sn-wc-checkout-progress button.is-active,
.sn-wc-checkout-page .sn-wc-checkout-progress button.is-complete {
    border-color: var(--sn-checkout-green);
    color: var(--sn-checkout-ink);
}

.sn-wc-checkout-page .sn-wc-checkout-progress button:focus-visible {
    outline: 0.125rem solid rgba(4, 42, 32, 0.28);
    outline-offset: 0.2rem;
}

.sn-wc-checkout-page .sn-wc-checkout-card .card-body {
    padding-bottom: 1.5rem;
}

.sn-wc-checkout-page .sn-wc-step-heading {
    display: flex;
    min-height: 4.25rem;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    background: #fff;
    padding: 1.25rem 1.5rem;
}

.sn-wc-checkout-page .sn-wc-step-heading .card-header-custom {
    margin: 0;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.5rem;
}

.sn-wc-checkout-page .sn-wc-summary-heading {
    min-height: 3.875rem;
}

.sn-wc-checkout-page .card.ghost .sn-wc-step-heading {
    border-bottom: 0;
}

.sn-wc-checkout-page .customer-section .card-body {
    padding: 1.5rem;
}

.sn-wc-checkout-page .customer-information-block {
    border: 0;
    margin: 0;
    padding: 0;
}

.sn-wc-checkout-page .guest-form,
.sn-wc-checkout-page .registered-form {
    margin: 0;
}

.sn-wc-checkout-page .guest-form.d-none,
.sn-wc-checkout-page .registered-form.d-none {
    display: none !important;
}

.sn-wc-checkout-page .customer-information-block .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.sn-wc-checkout-page .customer-information-block .col-sm-12,
.sn-wc-checkout-page .customer-information-block .col-12 {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
}

.sn-wc-checkout-page .customer-information-block .form-group,
.sn-wc-checkout-page .customer-information-block .form-row {
    position: relative;
    margin: 0 0 1rem;
    padding: 0;
}

.sn-wc-checkout-page .customer-information-block .form-row label,
.sn-wc-checkout-page .customer-information-block .form-control-label {
    display: block;
    margin: 0 0 0.45rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.125rem;
}

.sn-wc-checkout-page .customer-information-block abbr.required {
    display: none;
}

.sn-wc-checkout-page .customer-information-block .input-text,
.sn-wc-checkout-page .customer-information-block .form-control {
    box-sizing: border-box;
    width: 100%;
    min-height: 3rem;
    border: 0.0625rem solid #8f8f8f;
    border-radius: 0;
    background: #fff;
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 0.75rem;
}

.sn-wc-checkout-page .customer-information-block .input-text:focus,
.sn-wc-checkout-page .customer-information-block .form-control:focus {
    border-color: var(--sn-checkout-green);
    outline: 0.125rem solid rgba(42, 113, 86, 0.25);
}

.sn-wc-checkout-page .customer-information-block .custom-checkbox {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.sn-wc-checkout-page .customer-information-block .custom-control-input {
    width: 1.25rem;
    height: 1.25rem;
    margin: 0.05rem 0 0;
    accent-color: var(--sn-checkout-green);
}

.sn-wc-checkout-page .customer-information-block .custom-control-label {
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .customer-information-block .custom-control-label a,
.sn-wc-checkout-page .customer-information-block .checkout-privacy-policy-link a {
    color: var(--sn-checkout-ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .customer-information-block .submit-customer,
.sn-wc-checkout-page .customer-information-block .submit-customer-login {
    width: 100%;
}

.sn-wc-checkout-page .customer-information-block .register-user-btn {
    margin-top: 0.5rem;
}

.sn-wc-checkout-page .customer-information-block .cancel-wrapper {
    margin-top: 1rem;
    text-align: center;
}

.sn-wc-checkout-page .customer-information-block .cancel-wrapper button {
    border: 0;
    background: transparent;
    color: var(--sn-checkout-ink);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .customer-information-block .sing-in-account {
    margin-top: 1.25rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .customer-information-block .btn-link {
    display: inline;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--sn-checkout-ink);
    font: inherit;
    font-weight: 800;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .shipping-content,
.sn-wc-checkout-page .payment-form .card-body,
.sn-wc-checkout-page .review-section .card-body {
    padding: 1.25rem;
}

.sn-wc-checkout-page .shipping-address-block,
.sn-wc-checkout-page .shipping-method-block,
.sn-wc-checkout-page .billing-address-block,
.sn-wc-checkout-page .address-selector-block,
.sn-wc-checkout-page .billing-address,
.sn-wc-checkout-page .payment-form-fields {
    border: 0;
    margin: 0;
    padding: 0;
}

.sn-wc-checkout-page .required-fields-note {
    color: var(--sn-checkout-muted);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1rem;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .form-row .description,
.sn-wc-checkout-page .address-po-note {
    display: block;
    color: var(--sn-checkout-muted);
    font-size: 0.75rem;
    line-height: 1rem;
    margin-top: 0.35rem;
}

.sn-wc-checkout-page #billing_city_field,
.sn-wc-checkout-page #billing_state_field,
.sn-wc-checkout-page #billing_postcode_field {
    flex: 0 0 calc(33.333% - 0.5rem);
    width: calc(33.333% - 0.5rem);
}

.sn-wc-checkout-page .shipping-method-block {
    border: 0;
    margin: 1.25rem 0 0;
    padding: 0;
}

.sn-wc-checkout-page .shipping-method-block .shipping-method,
.sn-wc-checkout-page .billing-address-label {
    color: var(--sn-checkout-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.5rem;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .shipping-method-list {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0;
    row-gap: 0;
}

.sn-wc-checkout-page .shipping-method-list .form-check,
.sn-wc-checkout-page .shipping-method-list .shipping-method-pricing {
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    flex: none;
    max-width: none;
    padding: 1rem 0;
    width: auto;
}

.sn-wc-checkout-page .shipping-method-list .form-check:first-of-type,
.sn-wc-checkout-page .shipping-method-list .form-check:first-of-type + .shipping-method-pricing {
    border-top: 0;
}

.sn-wc-checkout-page .shipping-method-list .form-check {
    display: grid;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: start;
}

.sn-wc-checkout-page .shipping-method-list .form-check-input {
    grid-column: 1;
    position: relative;
    box-sizing: border-box;
    width: 1rem;
    height: 1rem;
    min-height: 1rem;
    appearance: none;
    border: 0.0625rem solid var(--sn-checkout-ink);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    margin: 0.1rem 0 0;
    padding: 0;
}

.sn-wc-checkout-page .shipping-method-list .form-check-input:checked::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--sn-checkout-ink);
    content: "";
    transform: translate(-50%, -50%);
}

.sn-wc-checkout-page .shipping-method-list .form-check-input:disabled {
    cursor: default;
    opacity: 1;
}

.sn-wc-checkout-page .shipping-method-list .form-check-input:focus-visible {
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
}

.sn-wc-checkout-page .shipping-method-list .form-check-label,
.sn-wc-checkout-page .shipping-method-list .estimated-delivery,
.sn-wc-checkout-page .shipping-method-list .shipment-additional-text {
    grid-column: 2;
}

.sn-wc-checkout-page .shipping-method-list .display-name,
.sn-wc-checkout-page .shipping-method-list .shipping-cost {
    color: var(--sn-checkout-ink);
    font-weight: 800;
}

.sn-wc-checkout-page .shipping-method-list .shipping-method-option {
    font-size: 0.938rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .shipping-method-list label.shipping-method-option {
    cursor: pointer;
    margin: 0;
}

.sn-wc-checkout-page .shipping-method-list .estimated-delivery,
.sn-wc-checkout-page .shipping-method-list .shipment-additional-text {
    color: var(--sn-checkout-muted);
    font-size: 0.8125rem;
    line-height: 1.2rem;
    margin: 0.3rem 0 0;
}

.sn-wc-checkout-page .shipping-method-pricing {
    display: block;
    min-width: 5.5rem;
    text-align: right;
}

.sn-wc-checkout-page .sn-wc-shipping-method-template {
    display: none !important;
}

.sn-wc-checkout-page .ssl-payment {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.6rem;
    align-items: start;
    color: var(--sn-checkout-muted);
    font-size: 0.8125rem;
    line-height: 1.2rem;
    margin-bottom: 1rem;
}

.sn-wc-checkout-page .ssl-icon {
    position: relative;
    width: 1.05rem;
    height: 0.82rem;
    border: 0.125rem solid var(--sn-checkout-green);
    border-radius: 0.15rem;
    margin-top: 0.15rem;
}

.sn-wc-checkout-page .ssl-icon::before {
    position: absolute;
    left: 0.18rem;
    top: -0.58rem;
    width: 0.46rem;
    height: 0.52rem;
    border: 0.125rem solid var(--sn-checkout-green);
    border-bottom: 0;
    border-radius: 0.45rem 0.45rem 0 0;
    content: "";
}

.sn-wc-checkout-page .address-selector-block .custom-checkbox {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    margin-bottom: 1rem;
}

.sn-wc-checkout-page .same-as-shipping-confirmation {
    border: 0.0625rem solid var(--sn-checkout-line);
    background: var(--sn-checkout-soft);
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin: 0 0 1.25rem;
    padding: 1rem;
}

.sn-wc-checkout-page .same-as-shipping-confirmation.d-none,
.sn-wc-checkout-page .billing-address-label.d-none,
.sn-wc-checkout-page .billing-address.d-none {
    display: none !important;
}

.sn-wc-checkout-page .same-as-shipping-text,
.sn-wc-checkout-page .billing-summary-label {
    font-weight: 800;
    margin-bottom: 0.4rem;
}

.sn-wc-checkout-page .billing-address {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    margin-bottom: 1.25rem;
    padding-top: 1.25rem;
}

.sn-wc-checkout-page .payment-options {
    border: 0;
    display: block;
    margin: 0 0 1.25rem;
    padding: 0;
}

.sn-wc-checkout-page .payment-options .nav-item {
    display: block;
    list-style: none;
    margin: 0;
}

.sn-wc-checkout-page .payment-options .nav-link {
    border: 0.0625rem solid var(--sn-checkout-line);
    display: block;
    padding: 1rem;
}

.sn-wc-checkout-page .payment-method-label {
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.2rem;
    margin: 0 0 0.75rem;
}

.sn-wc-checkout-page .credit-card-icons,
.sn-wc-checkout-page .sn-checkout-payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.sn-wc-checkout-page .credit-card-icons img,
.sn-wc-checkout-page .sn-checkout-payment-icons img {
    width: auto;
    max-width: 2.75rem;
    height: 1.75rem;
    object-fit: contain;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .customer-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .shipping-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .payment-form,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .review-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .payment-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.shipping,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.review {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.25rem);
    transition: max-height 220ms ease, opacity 180ms ease, transform 180ms ease;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .customer-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.shipping,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .shipping-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .payment-form,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .payment-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .review-section {
    max-height: 220rem;
    overflow: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.shipping,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .card.ghost.review {
    opacity: 0.5;
    pointer-events: none;
}

.sn-wc-checkout-page .woocommerce-billing-fields h3,
.sn-wc-checkout-page .woocommerce-shipping-fields h3,
.sn-wc-checkout-page #order_review_heading {
    display: none;
}

.sn-wc-checkout-page .woocommerce-billing-fields__field-wrapper,
.sn-wc-checkout-page .woocommerce-shipping-fields__field-wrapper,
.sn-wc-checkout-page .woocommerce-additional-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.75rem;
}

.sn-wc-checkout-page .form-row {
    position: relative;
    box-sizing: border-box;
    float: none;
    width: 100%;
    margin: 0 0 1rem;
    padding: 0;
}

.sn-wc-checkout-page .form-row-first,
.sn-wc-checkout-page .form-row-last {
    flex: 0 0 calc(50% - 0.375rem);
    width: calc(50% - 0.375rem);
}

.sn-wc-checkout-page .form-row-wide {
    flex: 0 0 100%;
    width: 100%;
}

.sn-wc-checkout-page .form-row label {
    display: block;
    margin: 0 0 0.45rem;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.125rem;
}

.sn-wc-checkout-page .form-row .required,
.sn-wc-checkout-page abbr.required {
    border: 0;
    color: #b43f28;
    text-decoration: none;
}

.sn-wc-checkout-page .form-row input.input-text,
.sn-wc-checkout-page .form-row textarea,
.sn-wc-checkout-page .form-row select,
.sn-wc-checkout-page .select2-container .select2-selection--single {
    box-sizing: border-box;
    width: 100%;
    min-height: 3rem;
    border: 0.0625rem solid #8f8f8f;
    border-radius: 0;
    background: #fff;
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.25rem;
    padding: 0.75rem;
}

.sn-wc-checkout-page .form-row textarea {
    min-height: 6.5rem;
    resize: vertical;
}

.sn-wc-checkout-page .form-row select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%);
    background-position: calc(100% - 1rem) 1.28rem, calc(100% - 0.65rem) 1.28rem;
    background-repeat: no-repeat;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    padding-right: 2rem;
}

.sn-wc-checkout-page .select2-container .select2-selection--single {
    height: 3rem;
}

.sn-wc-checkout-page .select2-container .select2-selection__rendered {
    color: var(--sn-checkout-ink);
    line-height: 1.4rem;
    padding: 0;
}

.sn-wc-checkout-page .select2-container .select2-selection__arrow {
    height: 3rem;
}

.sn-wc-checkout-page .form-row input.input-text:focus,
.sn-wc-checkout-page .form-row textarea:focus,
.sn-wc-checkout-page .form-row select:focus,
.sn-wc-checkout-page .select2-container--open .select2-selection--single {
    border-color: var(--sn-checkout-green);
    outline: 0.125rem solid rgba(42, 113, 86, 0.25);
    outline-offset: 0;
}

.sn-wc-checkout-page .shipping-address-block .woocommerce-billing-fields__field-wrapper {
    column-gap: 0.75rem;
}

.sn-wc-checkout-page .shipping-address-block .row {
    display: flex;
    flex-wrap: wrap;
    margin-inline: -0.375rem;
}

.sn-wc-checkout-page .shipping-address-block .col-sm-12,
.sn-wc-checkout-page .shipping-address-block .col-lg-4,
.sn-wc-checkout-page .shipping-address-block .col-lg-6 {
    box-sizing: border-box;
    padding-inline: 0.375rem;
    width: 100%;
}

@media (min-width: 768px) {
    .sn-wc-checkout-page .shipping-address-block .col-lg-6 {
        width: 50%;
    }

    .sn-wc-checkout-page .shipping-address-block .col-lg-4 {
        width: 33.3333%;
    }
}

.sn-wc-checkout-page .shipping-address-block .form-row {
    margin-bottom: 1rem;
}

.sn-wc-checkout-page .shipping-address-block .woocommerce-input-wrapper {
    display: block;
}

.sn-wc-checkout-page .shipping-address-block .form-row label {
    position: absolute;
    z-index: 2;
    top: 0.9375rem;
    left: 1.5rem;
    margin: 0;
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.125rem;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
}

.sn-wc-checkout-page .shipping-address-block .form-row.has-value label,
.sn-wc-checkout-page .shipping-address-block .form-row:focus-within label,
.sn-wc-checkout-page .shipping-address-block .form-row label.stay,
.sn-wc-checkout-page .shipping-address-block .form-row label.always-stay {
    top: 0.3125rem;
    color: var(--sn-checkout-muted);
    font-size: 0.75rem;
    line-height: 1rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row label abbr.required {
    display: none;
}

.sn-wc-checkout-page .shipping-address-block .form-row label .optional {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.sn-wc-checkout-page .shipping-address-block .form-row.validate-required label::before {
    color: #c00;
    content: "*";
}

.sn-wc-checkout-page .shipping-address-block .form-row input.input-text,
.sn-wc-checkout-page .shipping-address-block .form-row input.form-control,
.sn-wc-checkout-page .shipping-address-block .form-row select,
.sn-wc-checkout-page .shipping-address-block .form-row .custom-select,
.sn-wc-checkout-page .shipping-address-block .select2-container .select2-selection--single {
    display: flex;
    width: 100%;
    height: 3.125rem;
    min-height: 3.125rem;
    align-items: flex-start;
    justify-content: center;
    border: 0.0625rem solid transparent;
    border-radius: 8px;
    background: var(--sn-checkout-soft);
    background-clip: padding-box;
    color: var(--sn-checkout-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    padding: 0.875rem 1.5rem 0 1.5rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row.has-value input.input-text,
.sn-wc-checkout-page .shipping-address-block .form-row.has-value input.form-control,
.sn-wc-checkout-page .shipping-address-block .form-row:focus-within input.input-text,
.sn-wc-checkout-page .shipping-address-block .form-row:focus-within input.form-control,
.sn-wc-checkout-page .shipping-address-block .form-row.has-value select,
.sn-wc-checkout-page .shipping-address-block .form-row:focus-within select {
    padding-top: 1.375rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row select,
.sn-wc-checkout-page .shipping-address-block .form-row label.stay + select,
.sn-wc-checkout-page .shipping-address-block .form-row label.always-stay + select {
    padding-top: 1.375rem;
}

.sn-wc-checkout-page .shipping-address-block .select2-container .select2-selection--single {
    padding-top: 1.375rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row input.input-text:hover,
.sn-wc-checkout-page .shipping-address-block .form-row input.form-control:hover,
.sn-wc-checkout-page .shipping-address-block .form-row select:hover,
.sn-wc-checkout-page .shipping-address-block .select2-container .select2-selection--single:hover {
    border-color: #888;
}

.sn-wc-checkout-page .shipping-address-block .form-row input.input-text:focus,
.sn-wc-checkout-page .shipping-address-block .form-row input.form-control:focus,
.sn-wc-checkout-page .shipping-address-block .form-row select:focus,
.sn-wc-checkout-page .shipping-address-block .select2-container--open .select2-selection--single,
.sn-wc-checkout-page .shipping-address-block .select2-container--focus .select2-selection--single {
    border-color: gray;
    background: var(--sn-checkout-soft);
    box-shadow: none;
    color: var(--sn-checkout-ink);
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
}

.sn-wc-checkout-page .shipping-address-block .select2-container .select2-selection__rendered {
    padding: 0;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .shipping-address-block .select2-container .select2-selection__arrow {
    height: 3.125rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row .description {
    padding-left: 1.5rem;
}

.sn-wc-checkout-page .shipping-address-block .invalid-feedback {
    display: none;
    margin-top: 0.35rem;
    color: #b43f28;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
}

.sn-wc-checkout-page .shipping-address-block .form-row.woocommerce-invalid .invalid-feedback,
.sn-wc-checkout-page .shipping-address-block .form-row.is-invalid .invalid-feedback {
    display: block;
}

.sn-wc-checkout-page .shipping-address-block .p65-warning-us {
    color: var(--sn-checkout-muted);
    font-size: 0.75rem;
    line-height: 1rem;
    margin-top: 0.35rem;
}

.sn-wc-checkout-page .form-row.woocommerce-invalid input.input-text,
.sn-wc-checkout-page .form-row.woocommerce-invalid input.form-control,
.sn-wc-checkout-page .form-row.woocommerce-invalid textarea,
.sn-wc-checkout-page .form-row.woocommerce-invalid select,
.sn-wc-checkout-page .form-row.woocommerce-invalid .select2-selection--single {
    border-color: #b43f28;
}

.sn-wc-checkout-page .form-group.woocommerce-invalid,
.sn-wc-checkout-page .woocommerce-terms-and-conditions-wrapper.woocommerce-invalid,
.sn-wc-checkout-page .wc_payment_method.woocommerce-invalid {
    outline: 0.125rem solid rgba(180, 63, 40, 0.35);
    outline-offset: 0.25rem;
}

.sn-wc-checkout-page .woocommerce-account-fields,
.sn-wc-checkout-page .woocommerce-additional-fields,
.sn-wc-checkout-page .woocommerce-shipping-fields {
    width: 100%;
}

.sn-wc-checkout-page .woocommerce-form__label-for-checkbox,
.sn-wc-checkout-page .woocommerce-form__label {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    color: var(--sn-checkout-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page input[type="checkbox"],
.sn-wc-checkout-page input[type="radio"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0.05rem 0 0;
    accent-color: var(--sn-checkout-green);
}

.sn-wc-checkout-page .sn-wc-card-actions {
    margin-top: 0.5rem;
}

.sn-wc-checkout-page .customer-summary,
.sn-wc-checkout-page .shipping-summary,
.sn-wc-checkout-page .payment-summary {
    overflow: hidden;
}

.sn-wc-checkout-page .customer-summary .card-body,
.sn-wc-checkout-page .shipping-summary .card-body,
.sn-wc-checkout-page .payment-summary .card-body {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.sn-wc-checkout-page .summary-section-label {
    color: var(--sn-checkout-ink);
    display: block;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.2rem;
    margin: 0 0 0.35rem;
}

.sn-wc-checkout-page .summary-details {
    color: var(--sn-checkout-muted);
    font-size: 0.875rem;
    line-height: 1.3rem;
}

.sn-wc-checkout-page .summary-details.shipping-method-summary,
.sn-wc-checkout-page .summary-details.payment-info {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.sn-wc-checkout-page .payment-details {
    color: var(--sn-checkout-muted);
    margin-top: 0.3rem;
}

.sn-wc-checkout-page #payment {
    border-radius: 0;
    background: transparent;
}

.sn-wc-checkout-page #payment ul.payment_methods {
    border: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sn-wc-checkout-page #payment ul.payment_methods li {
    border: 0.0625rem solid var(--sn-checkout-line);
    background: #fff;
    margin: 0 0 0.75rem;
    padding: 1rem;
}

.sn-wc-checkout-page #payment ul.payment_methods li > label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 800;
}

.sn-wc-checkout-page #payment div.payment_box {
    border-radius: 8px;
    background: var(--sn-checkout-soft);
    color: var(--sn-checkout-muted);
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin: 1rem 0 0;
    padding: 1rem;
}

.sn-wc-checkout-page #payment div.payment_box::before {
    display: none;
}

.sn-wc-checkout-page .woocommerce-terms-and-conditions-wrapper {
    color: var(--sn-checkout-muted);
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin: 1rem 0;
}

.sn-wc-checkout-page .woocommerce-terms-and-conditions-wrapper a {
    color: var(--sn-checkout-ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .sn-wc-contact-terms .woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .sn-wc-contact-terms .form-row {
    margin-bottom: 0.35rem;
}

.sn-wc-checkout-page .sn-wc-contact-terms .woocommerce-form__label-for-checkbox {
    align-items: start;
}

.sn-wc-checkout-page .payment-form .sn-wc-place-order {
    display: none !important;
}

.sn-wc-checkout-page .sn-wc-review-actions {
    margin-top: 1.25rem;
}

.sn-wc-checkout-page .sn-wc-review-actions .sn-wc-place-order {
    display: block !important;
    margin: 0;
    padding: 0;
}

.sn-wc-checkout-page .sn-wc-review-snapshot {
    display: flex;
    flex-direction: column;
    border-top: 0.0625rem solid var(--sn-checkout-line);
}

.sn-wc-checkout-page .sn-wc-review-snapshot-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem 1rem;
    border-bottom: 0.0625rem solid var(--sn-checkout-line);
    padding: 1rem 0;
}

.sn-wc-checkout-page .sn-wc-review-snapshot-row .summary-section-label,
.sn-wc-checkout-page .sn-wc-review-snapshot-row .summary-details {
    grid-column: 1;
    margin: 0;
}

.sn-wc-checkout-page .sn-wc-review-snapshot-row .edit-button {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
}

.sn-wc-checkout-page .terms-privacy {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.75rem;
    border-top: 0.0625rem solid var(--sn-checkout-line);
    color: var(--sn-checkout-muted);
    font-size: 0.8125rem;
    line-height: 1.25rem;
    margin-top: 1rem;
    padding-top: 1.25rem;
}

.sn-wc-checkout-page .terms-privacy__icon {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-checkout-ink);
    border-radius: 50%;
    color: var(--sn-checkout-ink);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}

.sn-wc-checkout-page .terms-privacy__text {
    margin-bottom: 0.35rem;
}

.sn-wc-checkout-page .terms-privacy__link {
    color: var(--sn-checkout-ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page #place_order {
    display: inline-flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-checkout-green);
    border-radius: 999px;
    background: var(--sn-checkout-green);
    color: #fff;
    cursor: pointer;
    float: none;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25rem;
    padding: 0.72rem 1.75rem;
    text-align: center;
    text-decoration: none;
}

.sn-wc-checkout-page #place_order:hover,
.sn-wc-checkout-page #place_order:focus-visible {
    border-color: #0a4a38;
    background: #0a4a38;
    color: #fff;
}

.sn-wc-checkout-page .sn-wc-review-table {
    display: block;
    width: 100%;
    border: 0;
    margin: 0;
}

.sn-wc-checkout-page .sn-wc-review-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.sn-wc-checkout-page .sn-wc-review-table tbody,
.sn-wc-checkout-page .sn-wc-review-table tfoot,
.sn-wc-checkout-page .sn-wc-review-table tr,
.sn-wc-checkout-page .sn-wc-review-table td,
.sn-wc-checkout-page .sn-wc-review-table th {
    display: block;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item {
    border-bottom: 0.0625rem dashed var(--sn-checkout-line);
    padding: 1.25rem 0;
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item:first-child {
    padding-top: 1.25rem;
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item:last-child {
    border-bottom: 0;
}

.sn-wc-checkout-page .sn-wc-product-summary-wrapper {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: 1rem;
}

.sn-wc-checkout-page .sn-wc-review-table .line-item-name a {
    color: inherit;
    text-decoration: none;
}

.sn-wc-checkout-page .sn-wc-review-table dl.variation {
    margin: 0.35rem 0;
    color: var(--sn-checkout-muted);
    font-size: 0.8rem;
    line-height: 1.15rem;
}

.sn-wc-checkout-page .sn-wc-review-table dl.variation dt,
.sn-wc-checkout-page .sn-wc-review-table dl.variation dd,
.sn-wc-checkout-page .sn-wc-review-table dl.variation p {
    display: inline;
    margin: 0;
}

.sn-wc-checkout-page .sn-wc-review-totals {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border-top: 0.0625rem solid var(--sn-checkout-line);
    padding: 1.25rem 0 0;
}

.sn-wc-checkout-page .sn-wc-review-totals tr {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    overflow: hidden;
    color: var(--sn-checkout-ink);
    font-size: 0.95rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .sn-wc-review-totals tr::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #adadad;
    content: ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
    white-space: nowrap;
}

.sn-wc-checkout-page .sn-wc-review-totals th,
.sn-wc-checkout-page .sn-wc-review-totals td {
    position: relative;
    z-index: 2;
    background: #fff;
}

.sn-wc-checkout-page .sn-wc-review-totals .start-lines::before {
    display: none;
}

.sn-wc-checkout-page .sn-wc-review-totals th {
    padding-right: 0.35rem;
    font-weight: 400;
}

.sn-wc-checkout-page .sn-wc-review-totals td {
    padding-left: 0.35rem;
    text-align: right;
}

.sn-wc-checkout-page .sn-wc-review-totals .order-total {
    border-top: 0.0625rem solid var(--sn-checkout-line);
    margin-top: 0.25rem;
    padding-top: 1rem;
}

.sn-wc-checkout-page .sn-wc-review-totals .order-total th,
.sn-wc-checkout-page .sn-wc-review-totals .order-total td,
.sn-wc-checkout-page .sn-wc-review-totals .order-total strong,
.sn-wc-checkout-page .sn-wc-review-totals .order-total .woocommerce-Price-amount {
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.2rem;
    font-weight: 800;
}

.sn-wc-checkout-page .sn-wc-review-totals .shipping td {
    text-align: right;
}

.sn-wc-checkout-page .sn-wc-review-totals ul#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sn-wc-checkout-page .sn-wc-review-totals ul#shipping_method li {
    margin: 0 0 0.35rem;
}

.sn-wc-checkout-page .sn-wc-review-totals ul#shipping_method label {
    font-weight: 800;
}

.sn-wc-checkout-page .woocommerce-remove-coupon {
    color: var(--sn-checkout-ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

/* SharkNinja checkout parity overrides */
.sn-wc-checkout-page {
    background: #fff;
    padding: 0 0 5.5rem;
}

.sn-wc-checkout-page .container {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-inline: 220px;
}

.sn-wc-checkout-page .checkout-main-summary {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(20rem, 4fr);
    column-gap: clamp(2rem, 6vw, 5.5rem);
    row-gap: 1rem;
    align-items: start;
    justify-content: space-between;
    padding-top: 0;
}

.sn-wc-checkout-page .page-title-container {
    margin: 0 0 0.75rem;
}

.sn-wc-checkout-page .checkout-back {
    display: inline-block;
    max-width: 60ch;
    overflow: hidden;
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sn-wc-checkout-page .checkout-back::before {
    position: relative;
    top: 0.3125rem;
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    border: 0;
    background:
        linear-gradient(45deg, transparent 45%, #000 45%, #000 55%, transparent 55%) 0.25rem 0.55rem / 0.55rem 0.55rem no-repeat,
        linear-gradient(#000, #000) 0.35rem 0.6rem / 0.95rem 0.125rem no-repeat;
    content: "";
    margin-right: 0.5rem;
    transform: none;
}

.sn-wc-checkout-page .page-title {
    display: block;
    border-bottom: 0.0625rem solid #d1d1d1;
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin: 1.25rem 0 0;
    padding: 0 0 1rem;
}

.sn-wc-checkout-page .checkout-main-sections {
    display: block;
    margin-bottom: 5.5rem;
}

.sn-wc-checkout-page .checkout-main-sections .card,
.sn-wc-checkout-page .checkout-order-summary .card {
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .checkout-main-sections .card.ghost {
    opacity: 1;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .customer-section .sn-wc-step-heading {
    display: none;
}

.sn-wc-checkout-page .sn-wc-step-heading {
    min-height: 0;
    border-bottom: 0.0625rem solid #d1d1d1;
    background: #fff;
    padding: 1rem 0;
}

.sn-wc-checkout-page .sn-wc-step-heading .card-header-custom {
    display: flex;
    align-items: center;
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-wc-checkout-page .card.ghost .sn-wc-step-heading {
    border-bottom: 0.0625rem solid #d1d1d1;
}

.sn-wc-checkout-page .card.ghost .sn-wc-step-heading .card-header-custom {
    color: #6d6d6d;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .customer-summary .card-header-custom::before,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .customer-summary .card-header-custom::before,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .shipping-summary .card-header-custom::before,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .customer-summary .card-header-custom::before,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .shipping-summary .card-header-custom::before,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .payment-summary .card-header-custom::before {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    background: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM16.4141 8.83985C16.7813 9.20313 16.7813 9.79688 16.4141 10.1641L11.418 15.1641C11.0547 15.5313 10.4609 15.5313 10.0938 15.1641L7.59375 12.6641C7.22656 12.3008 7.23047 11.707 7.59375 11.3398C7.95703 10.9727 8.55078 10.9727 8.91797 11.3398L10.7539 13.1758L15.0898 8.83985C15.4531 8.47266 16.0469 8.47656 16.4141 8.83985Z' fill='%233B8E6C'/%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
    margin-right: 0.75rem;
}

.sn-wc-checkout-page .checkout-main-sections .card .card-body,
.sn-wc-checkout-page .shipping-content,
.sn-wc-checkout-page .payment-form .card-body,
.sn-wc-checkout-page .review-section .card-body {
    background: #fff;
    padding: 1rem 0 0;
}

.sn-wc-checkout-page .customer-section .card-body {
    padding: 0;
}

.sn-wc-checkout-page .guest-note-text,
.sn-wc-checkout-page .required-fields-note,
.sn-wc-checkout-page .checkout-privacy-policy-link {
    color: #454545;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .customer-information-block .guest-note-text {
    color: #000;
    margin-bottom: 1.25rem;
}

.sn-wc-checkout-page .customer-information-block .form-group {
    margin-bottom: 1.25rem;
}

.sn-wc-checkout-page .form-group,
.sn-wc-checkout-page .form-row {
    position: relative;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .customer-information-block .form-group:not(.custom-checkbox) .form-control-label,
.sn-wc-checkout-page .customer-information-block .form-row label,
.sn-wc-checkout-page .payment-form .form-group:not(.custom-checkbox) .form-control-label,
.sn-wc-checkout-page .payment-form .form-row label,
.sn-wc-checkout-page .billing-address-block .form-row label {
    position: absolute;
    z-index: 2;
    top: 0.9375rem;
    left: 1.5rem;
    display: block;
    margin: 0;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.125rem;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
}

.sn-wc-checkout-page .customer-information-block .form-group.has-value:not(.custom-checkbox) .form-control-label,
.sn-wc-checkout-page .customer-information-block .form-group:not(.custom-checkbox):focus-within .form-control-label,
.sn-wc-checkout-page .customer-information-block .form-row.has-value label,
.sn-wc-checkout-page .customer-information-block .form-row:focus-within label,
.sn-wc-checkout-page .payment-form .form-row.has-value label,
.sn-wc-checkout-page .payment-form .form-row:focus-within label {
    top: 0.3125rem;
    color: #454545;
    font-size: 0.75rem;
    line-height: 1rem;
}

.sn-wc-checkout-page .customer-information-block input.form-control,
.sn-wc-checkout-page .customer-information-block input.input-text,
.sn-wc-checkout-page .payment-form input.input-text,
.sn-wc-checkout-page .payment-form input.form-control,
.sn-wc-checkout-page .payment-form select,
.sn-wc-checkout-page .payment-form textarea {
    display: flex;
    width: 100%;
    height: 3.125rem;
    min-height: 3.125rem;
    align-items: flex-start;
    justify-content: center;
    border: 0 solid #888;
    border-radius: 8px;
    background: #f6f6f6;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    padding: 0.875rem 1.5rem 0;
}

.sn-wc-checkout-page .customer-information-block .form-group.has-value input.form-control,
.sn-wc-checkout-page .customer-information-block .form-group:focus-within input.form-control,
.sn-wc-checkout-page .customer-information-block .form-row.has-value input.input-text,
.sn-wc-checkout-page .customer-information-block .form-row:focus-within input.input-text,
.sn-wc-checkout-page .payment-form .form-row.has-value input.input-text,
.sn-wc-checkout-page .payment-form .form-row:focus-within input.input-text {
    padding-top: 1.375rem;
}

.sn-wc-checkout-page .customer-information-block input.form-control:hover,
.sn-wc-checkout-page .customer-information-block input.input-text:hover,
.sn-wc-checkout-page .payment-form input.input-text:hover,
.sn-wc-checkout-page .payment-form input.form-control:hover,
.sn-wc-checkout-page .payment-form select:hover {
    border: 0.0625rem solid #888;
}

.sn-wc-checkout-page .customer-information-block input.form-control:focus,
.sn-wc-checkout-page .customer-information-block input.input-text:focus,
.sn-wc-checkout-page .payment-form input.input-text:focus,
.sn-wc-checkout-page .payment-form input.form-control:focus,
.sn-wc-checkout-page .payment-form select:focus,
.sn-wc-checkout-page .payment-form textarea:focus {
    border-color: gray;
    background: #f6f6f6;
    box-shadow: none;
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
}

.sn-wc-checkout-page .checkbox.custom-checkbox,
.sn-wc-checkout-page .form-group.custom-checkbox {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.5rem;
    align-items: start;
    margin-bottom: 1rem;
}

.sn-wc-checkout-page .checkbox.custom-checkbox .custom-control-input,
.sn-wc-checkout-page .form-group.custom-checkbox .custom-control-input,
.sn-wc-checkout-page input[type="checkbox"].custom-control-input {
    position: static;
    width: 1.25rem;
    height: 1.25rem;
    min-height: 1.25rem;
    accent-color: #262626;
    margin: 0;
    opacity: 1;
}

.sn-wc-checkout-page .checkbox.custom-checkbox .custom-control-label,
.sn-wc-checkout-page .form-group.custom-checkbox .custom-control-label {
    color: #6d6d6d;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    padding-left: 0.5rem;
}

.sn-wc-checkout-page .customer-information-block .custom-control-label a,
.sn-wc-checkout-page .customer-information-block .checkout-privacy-policy-link,
.sn-wc-checkout-page .customer-information-block .checkout-privacy-policy-link a {
    color: #6d6d6d;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .customer-information-block .submit-customer {
    margin-top: 2rem;
}

.sn-wc-checkout-page .customer-information-block .sing-in-account {
    color: #000;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 1.5rem 0;
}

.sn-wc-checkout-page .customer-information-block .btn-link {
    color: #000;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    text-decoration: underline;
}

.sn-wc-checkout-page .custom-control-label::before,
.sn-wc-checkout-page .custom-control-label::after {
    display: none;
}

.sn-wc-checkout-page .btn.btn-primary,
.sn-wc-checkout-page .btn-primary,
.sn-wc-checkout-page #place_order {
    display: inline-flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 2.5rem;
    background: #000;
    color: #fff;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem;
    padding: 0.75rem 1.5rem;
    text-align: center;
}

.sn-wc-checkout-page .btn.btn-primary:hover,
.sn-wc-checkout-page .btn-primary:hover,
.sn-wc-checkout-page #place_order:hover {
    background: #454545;
    color: #fff;
}

.sn-wc-checkout-page .sn-wc-card-actions {
    margin-top: 1rem;
}

.sn-wc-checkout-page .edit-button {
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.sn-wc-checkout-page .customer-summary .summary-section-label,
.sn-wc-checkout-page .shipping-summary .summary-section-label,
.sn-wc-checkout-page .payment-summary .summary-section-label,
.sn-wc-checkout-page .payment-summary .billing-addr-label,
.sn-wc-checkout-page .review-section .summary-section-label {
    display: inline-block;
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 1.5rem;
}

.sn-wc-checkout-page .summary-details,
.sn-wc-checkout-page .payment-details,
.sn-wc-checkout-page .shipping-summary-display {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .summary-details.shipping-method-summary,
.sn-wc-checkout-page .summary-details.payment-info {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.sn-wc-checkout-page .summary-details.shipping-method-summary {
    margin-bottom: 0;
}

.sn-wc-checkout-page .summary-details .arrival-time,
.sn-wc-checkout-page .summary-details .estimated-delivery {
    color: #6d6d6d;
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-top: 0.25rem;
}

.sn-wc-checkout-page .shipping-method-block .shipping-method,
.sn-wc-checkout-page .billing-address-label {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
    margin: 0 0 1rem;
}

.sn-wc-checkout-page .shipping-method-block {
    margin-top: 0.25rem;
}

.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 20px;
    margin-inline: 0;
}

.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row > .col-sm-12,
.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row > .col-lg-4 {
    flex: none;
    padding-inline: 0;
    width: 100%;
}

.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row #billing_city_field,
.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row #billing_state_field,
.sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row #billing_postcode_field {
    flex: none;
    width: 100%;
}

.sn-wc-checkout-page .sn-address-suggestions {
    position: absolute;
    z-index: 40;
    top: 3.375rem;
    right: 0;
    left: 0;
    max-height: 18rem;
    overflow-y: auto;
    border: 0.0625rem solid #d1d1d1;
    border-radius: 0 0 0.5rem 0.5rem;
    background: #fff;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.14);
}

.sn-wc-checkout-page .sn-address-suggestions[hidden],
.sn-wc-checkout-page .sn-address-suggestions.is-hidden {
    display: none !important;
}

.sn-wc-checkout-page .sn-address-suggestions__header,
.sn-wc-checkout-page .sn-address-suggestions__row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.25fr) 3.75rem 4.5rem;
    column-gap: 0.75rem;
    align-items: center;
}

.sn-wc-checkout-page .sn-address-suggestions__header {
    border-bottom: 0.0625rem solid #d1d1d1;
    background: #f6f6f6;
    color: #454545;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    padding: 0.625rem 0.875rem;
}

.sn-wc-checkout-page .sn-address-suggestions__row {
    width: 100%;
    border: 0;
    border-bottom: 0.0625rem solid #ededed;
    background: #fff;
    color: #000;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    padding: 0.75rem 0.875rem;
    text-align: left;
}

.sn-wc-checkout-page .sn-address-suggestions__row:last-child {
    border-bottom: 0;
}

.sn-wc-checkout-page .sn-address-suggestions__row:hover,
.sn-wc-checkout-page .sn-address-suggestions__row:focus-visible {
    background: #f6f6f6;
    outline: none;
}

.sn-wc-checkout-page .sn-address-suggestions__header span,
.sn-wc-checkout-page .sn-address-suggestions__row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sn-wc-checkout-page .shipping-method-list {
    border-top: 0.0625rem solid #d1d1d1;
}

.sn-wc-checkout-page .shipping-method-list .form-check,
.sn-wc-checkout-page .shipping-method-list .shipping-method-pricing {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding: 1rem 0;
}

.sn-wc-checkout-page .shipping-method-list .display-name,
.sn-wc-checkout-page .shipping-method-list .shipping-cost {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .shipping-method-list .estimated-delivery,
.sn-wc-checkout-page .shipping-method-list .shipment-additional-text {
    color: #6d6d6d;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .checkout-order-summary {
    border: 0.0625rem solid #d1d1d1;
    border-radius: 0.75rem;
    background: #fff;
    margin-bottom: 2rem;
    padding: 2rem 1.25rem;
}

.sn-wc-checkout-page .checkout-order-summary .sn-wc-step-heading {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding: 0 0 1.5rem;
}

.sn-wc-checkout-page .checkout-order-summary .card-header-custom {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-wc-checkout-page .checkout-order-summary .order-product-summary,
.sn-wc-checkout-page .checkout-order-summary .order-product-summary .card-body,
.sn-wc-checkout-page .checkout-order-summary .accordion,
.sn-wc-checkout-page .checkout-order-summary .accordion-item,
.sn-wc-checkout-page .checkout-order-summary .accordion-body {
    border: 0;
    background: #fff;
    margin: 0;
    padding: 0;
}

.sn-wc-checkout-page .checkout-order-summary .accordion-button {
    display: flex;
    width: 100%;
    align-items: center;
    border: 0;
    background: #fff;
    color: #000;
    cursor: pointer;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    padding: 1.5rem 0;
    text-align: left;
}

.sn-wc-checkout-page .checkout-order-summary .accordion-icon {
    width: 0.6rem;
    height: 0.6rem;
    border-right: 0.125rem solid #000;
    border-bottom: 0.125rem solid #000;
    margin-left: auto;
    transform: rotate(45deg);
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding: 0.75rem 0;
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item:first-child {
    padding-top: 0;
}

.sn-wc-checkout-page .sn-wc-review-table .product-line-item:last-child {
    border-bottom: 0;
    padding-bottom: 2rem;
}

.sn-wc-checkout-page .sn-wc-product-summary-wrapper {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.sn-wc-checkout-page .sn-wc-product-summary-wrapper .item-image,
.sn-wc-checkout-page .sn-wc-product-summary-wrapper .item-image img {
    width: 3rem;
    height: 3rem;
}

.sn-wc-checkout-page .sn-wc-product-summary-wrapper .item-image img {
    border-radius: 0.5rem;
    object-fit: cover;
}

.sn-wc-checkout-page .sn-wc-review-table .line-item-name,
.sn-wc-checkout-page .sn-wc-review-table .line-item-name a {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    white-space: normal;
}

.sn-wc-checkout-page .sn-wc-review-table .line-item-sku,
.sn-wc-checkout-page .sn-wc-review-table dl.variation,
.sn-wc-checkout-page .sn-wc-review-table .line-item-quantity {
    color: #6d6d6d;
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin: 0.75rem 0 0;
}

.sn-wc-checkout-page .sn-wc-review-table .line-item-total-price {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin-top: 0.75rem;
}

.sn-wc-checkout-page .sn-wc-review-totals {
    border-top: 0.0625rem solid #d1d1d1;
    color: #6d6d6d;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    padding: 2rem 0 0;
}

.sn-wc-checkout-page .sn-wc-review-totals tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    color: #6d6d6d;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-wc-checkout-page .sn-wc-review-totals tr::before {
    content: none;
}

.sn-wc-checkout-page .sn-wc-review-totals th,
.sn-wc-checkout-page .sn-wc-review-totals td {
    background: transparent;
    color: inherit;
    padding: 0;
}

.sn-wc-checkout-page .sn-wc-review-totals td {
    color: #000;
    font-weight: 600;
    text-align: right;
}

.sn-wc-checkout-page .sn-wc-review-totals .order-total {
    border-top: 0.0625rem solid #d1d1d1;
    margin-top: 2rem;
    padding-top: 2rem;
}

.sn-wc-checkout-page .sn-wc-review-totals .order-total th {
    color: #000;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.375rem;
}

.sn-wc-checkout-page .sn-wc-review-totals .order-total td,
.sn-wc-checkout-page .sn-wc-review-totals .order-total strong,
.sn-wc-checkout-page .sn-wc-review-totals .order-total .woocommerce-Price-amount {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-wc-checkout-page .review-section .card-body,
.sn-wc-checkout-page .review-summary .card-body {
    padding: 0;
}

.sn-wc-checkout-page .sn-wc-review-snapshot {
    border-top: 0;
}

.sn-wc-checkout-page .sn-wc-review-snapshot-row {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding: 1.5rem 0;
}

.sn-wc-checkout-page .terms-privacy {
    display: flex;
    gap: 0.75rem;
    border-top: 0;
    color: #454545;
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-top: 1.5rem;
    padding-top: 0;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .customer-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .shipping-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .payment-form,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .review-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .payment-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.shipping,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage] .card.ghost.review {
    display: none !important;
    max-height: none;
    overflow: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: none;
}

.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .customer-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.shipping,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="customer"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .shipping-section,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.payment,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="shipping"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .payment-form,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="payment"] .card.ghost.review,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .customer-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .shipping-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .payment-summary,
.sn-wc-checkout-page .data-checkout-stage[data-checkout-stage="review"] .review-section {
    display: block !important;
}

@media (max-width: 1199px) {
    .sn-wc-checkout-page .container {
        padding-inline: 1rem;
    }

    .sn-wc-checkout-page .checkout-main-summary {
        grid-template-columns: 1fr;
        padding-top: 0;
    }

    .sn-wc-checkout-page .page-title {
        margin-top: 0.75rem;
        padding-bottom: 1rem;
    }
}

@media (max-width: 767px) {
    .sn-wc-checkout-page .sn-wc-checkout-progress button {
        font-size: 0.68rem;
        min-height: 2rem;
    }

    .sn-wc-checkout-page .sn-wc-step-heading {
        min-height: 3.75rem;
        padding-inline: 1rem;
    }

    .sn-wc-checkout-page .form-row-first,
    .sn-wc-checkout-page .form-row-last,
    .sn-wc-checkout-page #billing_city_field,
    .sn-wc-checkout-page #billing_state_field,
    .sn-wc-checkout-page #billing_postcode_field {
        flex-basis: 100%;
        width: 100%;
    }

    .sn-wc-checkout-page .shipping-address-block .sn-wc-city-state-zip-row {
        display: block;
    }

    .sn-wc-checkout-page .sn-address-suggestions__header,
    .sn-wc-checkout-page .sn-address-suggestions__row {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 3.25rem 4rem;
        column-gap: 0.5rem;
        font-size: 0.75rem;
    }

    .sn-wc-checkout-page .shipping-content,
    .sn-wc-checkout-page .payment-form .card-body,
    .sn-wc-checkout-page .review-section .card-body {
        padding: 1.5rem 0 0;
    }

    .sn-wc-checkout-page .shipping-method-list {
        grid-template-columns: minmax(0, 1fr) 4.5rem;
    }

    .sn-wc-checkout-page .sn-wc-product-summary-wrapper {
        grid-template-columns: 4.75rem minmax(0, 1fr);
    }
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: italic;
    font-weight: 400;
    src: url("./assets/fonts/sharkninja/PlusJakartaSans-Italic.ttf") format("truetype");
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 700;
    src: url("./assets/fonts/sharkninja/PlusJakartaSans-Bold.ttf") format("truetype");
}

@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 400;
    src: url("./assets/fonts/sharkninja/DMSans-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "DM Sans";
    font-style: italic;
    font-weight: 400;
    src: url("./assets/fonts/sharkninja/DMSans-Italic.ttf") format("truetype");
}

@font-face {
    font-family: "DM Sans";
    font-style: normal;
    font-weight: 700;
    src: url("./assets/fonts/sharkninja/DMSans-Bold.ttf") format("truetype");
}

/* Set default line height for font size presets. */

body {
    -webkit-font-smoothing: antialiased;
}

/* Set default line height for font size presets. */

.has-xx-large-font-size,
.has-xxx-large-font-size {
	line-height: 1;
}

/* Add a transition state for buttons. */

.wp-element-button {
    transition: border, background-color, color, box-shadow, opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(30px);
}

/* Fields */

label,
.jetpack-field-label .rich-text.jetpack-field-label__input,
.contact-form .grunion-checkbox-multiple-options legend, 
.contact-form .grunion-radio-options legend,
.wp-block-jetpack-contact-form-container .wp-block-jetpack-contact-form label {
    display: inline-block;
    font-size: var(--wp--preset--font-size--small);
    margin-bottom: 0.25em;
    font-weight: inherit;
}

textarea,
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]),
.wp-block-post-comments-form textarea,
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.jetpack-contact-form .jetpack-field .jetpack-field__input,
.jetpack-contact-form .jetpack-field .jetpack-field__textarea {
    backdrop-filter: saturate(1.075);
    background-color: transparent;
    border-color: currentColor;
    border-style: solid;
    border-radius: 6px;
    border-width: 1px;
    box-shadow: none;
    box-sizing: border-box;
    color: currentColor;
    filter: brightness(1.05);
    font-size: var(--wp--preset--font-size--small);
    font-weight: inherit;
    line-height: 1.5;
    min-height: 42px;
    padding: 0.8rem 1rem;
    width: 100%;
}

textarea:focus,
input:not([type=submit]):focus,
.wp-block-post-comments-form textarea:focus,
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):focus {
    outline: 1px solid currentColor;
}

textarea::placeholder,
.input::placeholder,
.wp-block-jetpack-subscriptions__form .components-base-control__field input::placeholder {
    color: color-mix(in srgb, currentColor 60%, transparent);
}

/* Padding adjustment for input fiedls in Woo */
.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-form .wc-block-components-text-input.is-active input[type=email],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=number],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=password],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=text],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=url],
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input.is-active input[type=email],
.wc-block-components-text-input.is-active input[type=number],
.wc-block-components-text-input.is-active input[type=password],
.wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-text-input.is-active input[type=text],
.wc-block-components-text-input.is-active input[type=url] {
    padding: 1.5em .5em .5em;
}


/* Jetpack Forms: Clean up errors */

.contact-form__error {
    font-size: 13px;
}

.contact-form__input-error {
	font-size: 13px;
    gap: 8px;
}

.contact-form__input-error .contact-form__warning-icon {
    border-width: 0;
}

/* Jetpack Forms: Animated block style tweaks */

.contact-form .is-style-animated .grunion-field-wrap.grunion-field-select-wrap .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field.has-placeholder ~ .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field:focus ~ .animated-label__label label,
.contact-form .is-style-animated .grunion-field-wrap .grunion-field:not(:placeholder-shown) ~ .animated-label__label label {
	opacity: 0.7;
    font-size: 11px;
}

/* Styling for hero areas. */
.header-cover .wp-block-template-part {
    max-width: none;
}

.header-cover .wp-block-template-part > .wp-block-group {
    padding-left: 0;
    padding-right: 0;
}

/* Cover block styles */
.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__image-background {
    opacity: 0.25;
}

.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__background {
    opacity: 0;
}

:root :where(.wp-block-cover.is-light){
    color: var(--wp--preset--color--theme-5, #000);
}

.wp-block-cover[class*="is-style-section"]:not(.is-style-default) .wp-block-cover__background {
    opacity: 0;
}

/* Make sure footers have no margin. */
footer {
	margin-top: 0 !important;
}

/* Social Links: Better default color. */

.wp-block-social-links.is-style-logos-only li.wp-social-link {
	color: currentcolor;
}

.wp-block-social-links.is-style-logos-only .wp-social-link svg {
	height: 1em;
	width: 1em;
}

.wp-block-social-links.has-small-icon-size {
	font-size: 20px;
}

/* Navigation: Remove row gap to improve wrapping behavior */
.wp-block-navigation__container {
    row-gap: 0;
}

/* Move header core/navigation to the right on mobile. */

.order-0 {
	order: 0;
}

.order-1 {
	order: 1;
}

.grow-0 {
	flex-grow: 0;
}

.grow {
	flex-grow: 1;
}

@media (min-width: 600px) {

	.md\:order-0 {
		order: 0;
	}

	.md\:order-1 {
		order: 1;
	}

	.md\:grow-0 {
		flex-grow: 0;
	}

	.md\:grow {
		flex-grow: 1;
	}

}

.overflow-hidden {
	overflow: hidden;
}

/* Utility class for wide and full images with aspect ratios, as core does not support this yet. */
.aspect-16\/9 {
	aspect-ratio: 16/9;
}

.aspect-16\/9 img,
.aspect-16\/9 .components-placeholder {
    aspect-ratio: 16/9;
    object-fit: cover;
}

/* Ensure cropping works. */
.aspect-16\/9 .wp-block-image__crop-area,
.aspect-16\/9 .wp-block-image__crop-area img {
	aspect-ratio: unset;
}

/* WooCommerce Catalog Sorting Styles */
.wc-block-catalog-sorting {
    position: relative;
}

.wc-block-catalog-sorting > div,
.wc-block-catalog-sorting .woocommerce-ordering {
    align-items: center;
    display: flex;
    gap: 8px;
}

.wc-block-catalog-sorting > div >label,
.woocommerce .woocommerce-ordering > label {
    margin: 0;
    text-wrap: nowrap;
}

.wc-block-catalog-sorting select.orderby {
    appearance: none;
    background-color: transparent;
    border: 1px solid color-mix(in srgb, currentColor 50%, transparent);
    font-family: inherit;
    font-size: inherit;
    border-radius: 6px;
    color: currentColor;
    cursor: pointer;
    padding: 0.75rem 2.5rem 0.75rem 0.75rem;
    width: 100%;
}

/* Arrow using CSS triangle for dynamic color */
.wc-block-catalog-sorting::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.35em solid transparent;
    border-right: 0.35em solid transparent;
    border-top: 0.4em solid currentColor;
    pointer-events: none;
}

/* Make sure the CSS triangle stays the same when it's hovered or selected */
.is-outline-mode .block-editor-block-list__block.wc-block-catalog-sorting:not(.remove-outline):not(.rich-text):not([contenteditable=true]).is-selected:after,
.is-outline-mode .block-editor-block-list__block.wc-block-catalog-sorting:not(.remove-outline).is-hovered:not(.is-selected):after {
    left: auto;
    outline-color: transparent;
    right: 0.75rem;
    top: 50%;
}

/* Remove the paddings so the setting for sale badge is respected */
.wc-block-components-product-image__inner-container {
    padding: 0;
}

/* Remove an extra border from the qty selector */
.wc-block-components-quantity-selector input.input-text.qty.text,
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]).wc-block-components-quantity-selector__input {
    border-style: none;
}

/* Reset padding for the qty selector */
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]).qty {
    padding: inherit;
}

/* Remove unwated right margin the qty selector */
.woocommerce div.product form.cart div.quantity .qty {
    margin-right: 0;
}

/* Fix the qty selector height so it matches with the button next to it */
.wp-block-add-to-cart-with-options .wc-block-components-quantity-selector {
    height: 100%;
}

/* Make sure the qty selector's height is the same as the button next to it in the editor */
.wc-block-add-to-cart-with-options__quantity-selector > div,
.wc-block-add-to-cart-with-options__quantity-selector .wc-block-components-quantity-selector {
    height: 100%;
}

/* Remove unnecessary bottom margin from the variation selector labels */
.woocommerce-page label.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name,
.woocommerce-page label.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
    margin-bottom: 0;
}

/* Remove unwanted top margin from the title of the order confirmation page template */
.wc-block-order-confirmation-status h1 {
    margin-top: 0;
}

/* Add top margin to the express checkout */
.wcpay-express-checkout-wrapper {
    margin-top: var(--wp--style--block-gap);
}

/* Remove unwanted margin from the attribute value */
.wp-block-product-specifications-item__value p {
    margin: 0;
}

/* Remove underline from the attribute value */
.wp-block-product-specifications-item__value p a {
    text-decoration: none;
}

.wp-block-woocommerce-product-specifications th,
.wp-block-woocommerce-product-specifications td {
    border-color: color-mix(in srgb, currentColor 30%, transparent);
}

/* Reset unwanted margins */
.wc-block-components-product-summary,
.wc-block-components-product-summary p {
    margin: 0;
}

/* Make sure the paragraph has a line break */
.wc-block-components-product-summary p + p {
    margin-top: var(--wp--style--block-gap);
}

/* Remove underline from the product name inside cart */
.wc-block-cart-item__wrap .wc-block-components-product-name {
    text-decoration: none;
}

/* Utility class for reversing the order of rows */
@media (min-width: 782px) {
    .wp-block-columns.row-reverse {
        flex-direction: row-reverse;
    }
}

.wp-block-woocommerce-product-collection h2.wp-block-heading {
    font-size:var(--wp--preset--font-size--large,32px);
}

/* SharkNinja-inspired storefront interaction layer. */
:root {
    --sn-black: #050505;
    --sn-ink: #121212;
    --sn-muted: #5b5b5b;
    --sn-line: #d9d9d9;
    --sn-panel: #f4f5f6;
    --sn-soft: #fafafa;
    --sn-white: #ffffff;
    --sn-red: #d71920;
    --sn-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --sn-ease-tight: cubic-bezier(0.4, 0, 0.2, 1);
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--sn-white);
    color: var(--sn-ink);
    font-family: var(--wp--preset--font-family--inter), Arial, sans-serif;
    letter-spacing: 0;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
}

body :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0;
}

body :where(a, button, input, textarea, select, .wp-element-button) {
    letter-spacing: 0 !important;
}

body :where(a) {
    text-underline-offset: 0.18em;
    transition: color 180ms var(--sn-ease-tight), opacity 180ms var(--sn-ease-tight);
}

.sn-promo-bar {
    background: var(--sn-black) !important;
    color: var(--sn-white) !important;
    font-size: 13px;
    font-weight: 800;
    min-height: 34px;
    position: sticky;
    top: 0;
    z-index: 1002;
}

.sn-promo-bar a {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
}

.sn-header-shell {
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    color: var(--sn-black);
    position: sticky;
    top: 0;
    transition: box-shadow 240ms var(--sn-ease-tight), transform 240ms var(--sn-ease-tight), background-color 240ms var(--sn-ease-tight);
    z-index: 1001;
}

@supports (backdrop-filter: blur(14px)) {
    .sn-header-shell {
        backdrop-filter: blur(14px);
    }
}

.admin-bar .sn-header-shell {
    top: 32px;
}

.sn-header-scrolled .sn-header-shell {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.sn-scroll-down .sn-header-shell {
    transform: translateY(-4px);
}

.sn-header-shell .wp-block-columns {
    align-items: center;
    min-height: 64px;
    transition: min-height 220ms var(--sn-ease-tight), padding 220ms var(--sn-ease-tight);
}

.sn-header-scrolled .sn-header-shell .wp-block-columns {
    min-height: 54px;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

.sn-header-shell .wp-block-site-title,
.sn-header-shell .wp-block-site-title a {
    color: var(--sn-black);
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.sn-header-shell .wp-block-site-logo img {
    max-height: 38px;
    width: auto;
}

.sn-header-nav {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 48px;
}

.sn-header-nav .wp-block-navigation__container {
    align-items: center;
    gap: 0 !important;
}

.sn-header-nav .wp-block-navigation-item__content {
    color: var(--sn-black);
    font-size: 14px;
    font-weight: 800;
    padding: 16px 18px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
}

.sn-header-nav .wp-block-navigation-item__content::after {
    background: currentColor;
    bottom: 10px;
    content: "";
    height: 2px;
    left: 18px;
    position: absolute;
    right: 18px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms var(--sn-ease);
}

.sn-header-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.sn-header-nav .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after {
    transform: scaleX(1);
}

.wp-block-navigation__submenu-container {
    border: 0 !important;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
    min-width: 260px !important;
    opacity: 0;
    padding: 18px !important;
    transform: translateY(12px);
    transition: opacity 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight), visibility 180ms var(--sn-ease-tight);
    visibility: hidden;
}

.wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation-item.has-child.sn-submenu-open > .wp-block-navigation__submenu-container {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--sn-white);
    color: var(--sn-black);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding: 86px 24px 32px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 22px;
    font-weight: 900;
    padding: 12px 0;
    text-transform: uppercase;
}

.wp-element-button,
.wp-block-button__link,
.wc-block-components-button,
.single_add_to_cart_button,
button[type="submit"] {
    align-items: center;
    background: var(--sn-black) !important;
    border: 1px solid var(--sn-black) !important;
    border-radius: 4px !important;
    color: var(--sn-white) !important;
    display: inline-flex;
    font-family: var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 14px;
    font-weight: 900;
    gap: 10px;
    justify-content: center;
    min-height: 44px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 180ms var(--sn-ease-tight), color 180ms var(--sn-ease-tight), border-color 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight), box-shadow 180ms var(--sn-ease-tight);
}

.wp-element-button::after,
.wp-block-button__link::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 7px;
    margin-left: 2px;
    transform: rotate(45deg);
    transition: transform 180ms var(--sn-ease-tight);
    width: 7px;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover,
.single_add_to_cart_button:hover,
button[type="submit"]:hover {
    background: var(--sn-white) !important;
    color: var(--sn-black) !important;
    transform: translateY(-1px);
}

.wp-element-button:hover::after,
.wp-block-button__link:hover::after {
    transform: translateX(3px) rotate(45deg);
}

.is-style-outline .wp-block-button__link {
    background: var(--sn-white) !important;
    color: var(--sn-black) !important;
}

.is-style-outline .wp-block-button__link:hover {
    background: var(--sn-black) !important;
    color: var(--sn-white) !important;
}

.shark-hero {
    background: var(--sn-black);
    color: var(--sn-white);
    margin-top: 0 !important;
}

.shark-hero .wp-block-cover {
    color: var(--sn-white);
    isolation: isolate;
    min-height: 690px !important;
    overflow: hidden;
}

.shark-hero .wp-block-cover::after,
.shark-full-bleed-feature .wp-block-cover::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.56) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.shark-hero .wp-block-cover__background,
.shark-full-bleed-feature .wp-block-cover__background,
.shark-split-tiles .wp-block-cover__background {
    opacity: 0.3 !important;
}

.shark-hero .wp-block-cover__image-background,
.shark-full-bleed-feature .wp-block-cover__image-background {
    filter: contrast(1.08) saturate(1.08);
    transform: translate3d(0, var(--sn-hero-shift, 0), 0) scale(1.08);
    transition: transform 900ms var(--sn-ease), filter 280ms var(--sn-ease-tight);
}

.shark-hero .wp-block-cover__inner-container,
.shark-full-bleed-feature .wp-block-cover__inner-container {
    max-width: 760px;
    position: relative;
    z-index: 2;
}

.shark-hero .wp-block-heading {
    font-size: 72px;
    line-height: 0.95;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.shark-hero p {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

.sn-ready .shark-hero .wp-block-cover__inner-container {
    animation: sn-hero-copy 720ms var(--sn-ease) both;
}

@keyframes sn-hero-copy {
    from {
        opacity: 0;
        transform: translateY(26px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.shark-product-rail {
    background: var(--sn-white);
    padding-bottom: 68px;
    padding-top: 68px;
}

.shark-product-rail > .wp-block-heading,
.wp-block-woocommerce-product-collection > .wp-block-group > .wp-block-group > .wp-block-heading {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--wp--style--global--wide-size, 1280px);
    text-align: left !important;
    text-transform: uppercase;
}

.sn-rail-controls {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin: -8px auto 18px;
    max-width: var(--wp--style--global--wide-size, 1280px);
    padding-left: var(--wp--style--root--padding-left, 24px);
    padding-right: var(--wp--style--root--padding-right, 24px);
}

.sn-rail-button {
    align-items: center;
    background: var(--sn-black);
    border: 1px solid var(--sn-black);
    border-radius: 50%;
    color: var(--sn-white);
    cursor: pointer;
    display: inline-flex;
    font-size: 17px;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    line-height: 1;
    transition: background-color 180ms var(--sn-ease-tight), color 180ms var(--sn-ease-tight), opacity 180ms var(--sn-ease-tight);
    width: 42px;
}

.sn-rail-button:hover {
    background: var(--sn-white);
    color: var(--sn-black);
}

.sn-rail-button:disabled {
    cursor: default;
    opacity: 0.35;
}

.sn-scroll-rail {
    cursor: grab;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
    scroll-padding-left: var(--wp--style--root--padding-left, 24px);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    user-select: none;
}

.sn-scroll-rail::-webkit-scrollbar {
    display: none;
}

.sn-scroll-rail.is-dragging {
    cursor: grabbing;
}

.sn-scroll-rail.is-dragging * {
    pointer-events: none;
}

.sn-scroll-rail > * {
    flex: 0 0 294px !important;
    max-width: 294px;
    min-width: 0;
    scroll-snap-align: start;
}

.shark-product-rail .wp-block-column {
    flex-basis: 294px !important;
}

.shark-product-rail .wp-block-image,
.wp-block-woocommerce-product-image,
.wc-block-components-product-image,
.woocommerce-loop-product__link {
    background: var(--sn-panel);
    border-radius: 6px;
    display: block;
    overflow: hidden;
    position: relative;
}

.shark-product-rail .wp-block-image img,
.wp-block-woocommerce-product-image img,
.wc-block-components-product-image img,
.woocommerce-loop-product__link img,
.wp-block-post-featured-image img {
    transition: transform 360ms var(--sn-ease), filter 240ms var(--sn-ease-tight);
}

.shark-product-rail .wp-block-column:hover .wp-block-image img,
.wp-block-woocommerce-product-template > li:hover .wp-block-woocommerce-product-image img,
.wc-block-grid__product:hover .wc-block-components-product-image img,
.products .product:hover img,
.wp-block-post:hover .wp-block-post-featured-image img {
    filter: contrast(1.04) saturate(1.04);
    transform: scale(1.055);
}

.shark-product-rail .wp-block-image::after,
.wp-block-woocommerce-product-image::after,
.wc-block-components-product-image::after {
    align-items: center;
    background: rgba(5, 5, 5, 0.92);
    border-radius: 4px;
    bottom: 14px;
    color: var(--sn-white);
    content: "Quick view";
    display: flex;
    font-size: 13px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    left: 14px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 14px;
    text-transform: uppercase;
    transform: translateY(10px);
    transition: opacity 220ms var(--sn-ease-tight), transform 220ms var(--sn-ease-tight);
}

.shark-product-rail .wp-block-column:hover .wp-block-image::after,
.wp-block-woocommerce-product-template > li:hover .wp-block-woocommerce-product-image::after,
.wc-block-grid__product:hover .wc-block-components-product-image::after {
    opacity: 1;
    transform: translateY(0);
}

.shark-product-rail h3,
.wp-block-woocommerce-product-template h3,
.wc-block-grid__product-title,
.woocommerce-loop-product__title {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.wp-block-woocommerce-product-price,
.wc-block-grid__product-price,
.price {
    color: var(--sn-black);
    font-size: 15px;
    font-weight: 900;
}

.shark-split-tiles {
    background: var(--sn-black);
}

.shark-split-tiles .wp-block-cover {
    min-height: 560px;
    overflow: hidden;
}

.shark-split-tiles .wp-block-cover__image-background {
    filter: contrast(1.04) saturate(1.05);
    transform: scale(1.02);
    transition: transform 560ms var(--sn-ease), filter 260ms var(--sn-ease-tight);
}

.shark-split-tiles .wp-block-cover:hover .wp-block-cover__image-background {
    filter: contrast(1.1) saturate(1.08);
    transform: scale(1.08);
}

.shark-split-tiles .wp-block-cover__inner-container {
    position: relative;
    transition: transform 260ms var(--sn-ease);
    z-index: 2;
}

.shark-split-tiles .wp-block-cover:hover .wp-block-cover__inner-container {
    transform: translateY(-8px);
}

.shark-split-tiles .has-large-font-size {
    font-size: 38px !important;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.shark-campaign {
    background: var(--sn-black);
    color: var(--sn-white);
    overflow: hidden;
    position: relative;
}

.shark-campaign::before,
.shark-campaign::after {
    background: rgba(255, 255, 255, 0.14);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
}

.shark-campaign::before {
    top: 18px;
}

.shark-campaign::after {
    bottom: 18px;
}

.shark-campaign .wp-block-heading {
    font-size: 42px;
    line-height: 1.12;
    text-transform: uppercase;
}

.shark-campaign a {
    color: var(--sn-white);
    font-weight: 900;
}

.shark-full-bleed-feature {
    background: var(--sn-black);
    color: var(--sn-white);
}

.shark-full-bleed-feature .wp-block-cover {
    min-height: 600px !important;
    overflow: hidden;
}

.shark-full-bleed-feature .wp-block-heading {
    font-size: 56px;
    line-height: 1;
    text-transform: uppercase;
}

.shark-review-strip {
    background: var(--sn-panel);
}

.shark-review-strip > .wp-block-group {
    align-items: flex-end;
}

.shark-review-strip .wp-block-columns > .wp-block-column > .wp-block-group {
    background: var(--sn-white);
    border: 1px solid var(--sn-line);
    border-radius: 8px;
    min-height: 100%;
    padding: 18px;
    transition: border-color 220ms var(--sn-ease-tight), box-shadow 220ms var(--sn-ease-tight), transform 220ms var(--sn-ease-tight);
}

.shark-review-strip .wp-block-columns > .wp-block-column > .wp-block-group:hover {
    border-color: var(--sn-black);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.shark-review-strip .wp-block-image {
    border-radius: 6px;
    flex: 0 0 96px;
    overflow: hidden;
}

.shark-social-grid {
    background: var(--sn-white);
}

.shark-social-grid .wp-block-columns {
    overflow: hidden;
}

.shark-social-grid .wp-block-image {
    background: var(--sn-panel);
    overflow: hidden;
}

.shark-social-grid .wp-block-image img {
    transition: transform 420ms var(--sn-ease), filter 240ms var(--sn-ease-tight);
}

.shark-social-grid .wp-block-image:hover img {
    filter: contrast(1.08);
    transform: scale(1.08);
}

.wc-blocks-pattern-footer-large {
    background: var(--sn-black) !important;
    color: var(--sn-white) !important;
}

.wc-blocks-pattern-footer-large a {
    color: var(--sn-white);
    font-weight: 800;
}

.wc-blocks-pattern-footer-large .wp-block-site-title,
.wc-blocks-pattern-footer-large .wp-block-site-title a {
    color: var(--sn-white);
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.wc-block-catalog-sorting select.orderby,
select,
textarea,
input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]) {
    background: var(--sn-white);
    border: 1px solid var(--sn-line);
    border-radius: 4px;
    color: var(--sn-black);
    transition: border-color 180ms var(--sn-ease-tight), box-shadow 180ms var(--sn-ease-tight);
}

.wc-block-catalog-sorting select.orderby:focus,
select:focus,
textarea:focus,
input:not([type=submit]):focus {
    border-color: var(--sn-black);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
    outline: 0;
}

.wp-block-woocommerce-product-collection {
    --sn-product-gap: 22px;
}

.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
    gap: var(--sn-product-gap) !important;
    list-style: none;
    padding-left: 0;
}

.wp-block-woocommerce-product-collection:not(:has(.sn-scroll-rail)) .wp-block-woocommerce-product-template {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-block-woocommerce-product-template > li,
.wc-block-grid__product,
.products .product,
.wp-block-post {
    border-radius: 6px;
    position: relative;
    transition: transform 220ms var(--sn-ease-tight), box-shadow 220ms var(--sn-ease-tight);
}

.wp-block-woocommerce-product-template > li:hover,
.wc-block-grid__product:hover,
.products .product:hover,
.wp-block-post:hover {
    transform: translateY(-3px);
}

.wp-block-woocommerce-product-gallery,
.wc-block-product-gallery {
    background: var(--sn-panel);
    border-radius: 8px;
    padding: 12px;
}

.wc-block-product-gallery-large-image__inner-blocks,
.wp-block-woocommerce-product-gallery-large-image {
    border-radius: 6px;
    overflow: hidden;
}

.wp-block-woocommerce-accordion-item {
    border-color: var(--sn-line) !important;
}

.accordion-item__toggle {
    align-items: center;
    color: var(--sn-black);
    display: flex;
    font-weight: 900;
    justify-content: space-between;
    text-transform: uppercase;
    width: 100%;
}

.accordion-item__toggle-icon {
    transition: transform 220ms var(--sn-ease-tight);
}

.wp-block-woocommerce-accordion-item.is-open .accordion-item__toggle-icon,
.wp-block-woocommerce-accordion-item.sn-open .accordion-item__toggle-icon {
    transform: rotate(45deg);
}

.wp-block-woocommerce-accordion-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 260ms var(--sn-ease);
}

.wp-block-woocommerce-accordion-item.is-open > .wp-block-woocommerce-accordion-panel,
.wp-block-woocommerce-accordion-item.sn-open > .wp-block-woocommerce-accordion-panel {
    grid-template-rows: 1fr;
}

.accordion-content__wrapper {
    overflow: hidden;
}

.woocommerce-product-gallery,
.wp-block-woocommerce-product-gallery {
    position: relative;
}

.woocommerce-product-gallery::after,
.wp-block-woocommerce-product-gallery::after {
    background: var(--sn-black);
    border-radius: 999px;
    bottom: 18px;
    color: var(--sn-white);
    content: "Zoom";
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
    pointer-events: none;
    position: absolute;
    right: 18px;
    text-transform: uppercase;
}

.woocommerce div.product form.cart,
.wp-block-add-to-cart-with-options {
    border: 1px solid var(--sn-line);
    border-radius: 8px;
    padding: 18px;
}

.wp-block-query-pagination,
.query-pagination,
.wp-block-query-pagination-numbers {
    align-items: center;
    gap: 10px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination span {
    align-items: center;
    border: 1px solid var(--sn-line);
    border-radius: 50%;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    min-width: 40px;
    padding: 0 10px;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight), border-color 180ms var(--sn-ease-tight), color 180ms var(--sn-ease-tight);
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination .current {
    background: var(--sn-black);
    border-color: var(--sn-black);
    color: var(--sn-white);
}

.sn-ready .sn-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 560ms var(--sn-ease), transform 560ms var(--sn-ease);
    transition-delay: var(--sn-reveal-delay, 0ms);
}

.sn-ready .sn-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 782px) {
    .single-product main > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:last-child {
        align-self: flex-start;
        position: sticky;
        top: 126px;
    }
}

@media (max-width: 980px) {
    .sn-header-shell .wp-block-columns {
        min-height: 58px;
    }

    .sn-header-nav {
        border-top: 0;
        min-height: 0;
    }

    .shark-hero .wp-block-heading {
        font-size: 44px;
    }

    .shark-campaign .wp-block-heading {
        font-size: 32px;
    }

    .shark-full-bleed-feature .wp-block-heading {
        font-size: 40px;
    }

    .wp-block-woocommerce-product-collection:not(:has(.sn-scroll-rail)) .wp-block-woocommerce-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .admin-bar .sn-header-shell {
        top: 46px;
    }

    .sn-promo-bar {
        font-size: 12px;
        line-height: 1.35;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .sn-header-shell .wp-block-columns {
        gap: 10px;
    }

    .sn-header-shell .wp-block-column:first-child {
        display: none;
    }

    .sn-header-shell .wp-block-site-title,
    .sn-header-shell .wp-block-site-title a {
        font-size: 19px;
    }

    .shark-hero .wp-block-cover {
        min-height: 560px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .shark-hero .wp-block-heading {
        font-size: 36px;
    }

    .shark-hero p {
        font-size: 16px;
    }

    .shark-product-rail {
        padding-bottom: 46px;
        padding-top: 46px;
    }

    .sn-rail-controls {
        justify-content: flex-start;
        margin-top: 8px;
    }

    .sn-scroll-rail > *,
    .shark-product-rail .wp-block-column {
        flex-basis: 76vw !important;
        max-width: 76vw;
    }

    .shark-split-tiles .wp-block-cover,
    .shark-full-bleed-feature .wp-block-cover {
        min-height: 440px !important;
    }

    .shark-split-tiles .has-large-font-size,
    .shark-full-bleed-feature .wp-block-heading {
        font-size: 30px !important;
    }

    .shark-review-strip .wp-block-columns > .wp-block-column > .wp-block-group {
        padding: 14px;
    }

    .wp-block-woocommerce-product-collection:not(:has(.sn-scroll-rail)) .wp-block-woocommerce-product-template {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }

    .sn-ready .sn-reveal {
        opacity: 1;
        transform: none;
    }
}

/* Closer SharkNinja storefront pass. */
body {
    background: #f9f9f9;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
}

body :where(h1, h2, h3, h4, h5, h6),
.wp-element-button,
.wp-block-button__link,
.sn-header-nav .wp-block-navigation-item__content {
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
}

main > .wp-block-group:not(.shark-hero):not(.shark-campaign):not(.shark-split-tiles):not(.shark-full-bleed-feature),
main > .wp-block-post-content {
    background: #fff;
}

.sn-header-shell {
    isolation: isolate;
}

.sn-utility-row {
    background: #f6f6f6;
    border-bottom: 1px solid #e5e5e5;
    color: #202020;
    font-size: 12px;
    font-weight: 700;
}

.sn-utility-inner {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: var(--wp--style--global--wide-size, 1280px);
    min-height: 32px;
    padding-left: var(--wp--style--root--padding-left, 24px);
    padding-right: var(--wp--style--root--padding-right, 24px);
}

.sn-utility-row nav {
    align-items: center;
    display: flex;
    gap: 18px;
}

.sn-utility-row a {
    color: inherit;
    text-decoration: none;
}

.sn-utility-row a:hover {
    text-decoration: underline;
}

.sn-header-shell .wp-block-columns > .wp-block-column:first-child {
    display: none;
}

.sn-header-shell .wp-block-columns > .wp-block-column:nth-child(2) {
    flex-basis: 48% !important;
    flex-grow: 1;
}

.sn-header-shell .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-group {
    justify-content: flex-start !important;
}

.sn-header-shell .wp-block-columns > .wp-block-column:last-child {
    flex-basis: auto !important;
    flex-grow: 0;
}

.sn-header-nav {
    justify-content: flex-start !important;
}

.sn-header-nav .wp-block-navigation {
    width: 100%;
}

.sn-header-nav .wp-block-navigation__container {
    justify-content: flex-start;
}

.sn-search-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: var(--sn-black);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    transition: background-color 180ms var(--sn-ease-tight);
    width: 38px;
}

.sn-search-trigger:hover {
    background: #f0f0f0;
}

.sn-icon-search {
    border: 2px solid currentColor;
    border-radius: 50%;
    display: block;
    height: 17px;
    position: relative;
    width: 17px;
}

.sn-icon-search::after {
    background: currentColor;
    content: "";
    height: 2px;
    position: absolute;
    right: -7px;
    top: 12px;
    transform: rotate(45deg);
    transform-origin: left center;
    width: 8px;
}

.sn-search-overlay {
    align-items: flex-start;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 220ms var(--sn-ease-tight), visibility 220ms var(--sn-ease-tight);
    visibility: hidden;
    z-index: 2000;
}

.sn-search-open {
    overflow: hidden;
}

.sn-search-open .sn-search-overlay {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.sn-search-panel {
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
    margin: 0 auto;
    max-width: 1180px;
    padding: 32px;
    position: relative;
    transform: translateY(-20px);
    transition: transform 260ms var(--sn-ease);
    width: 100%;
}

.sn-search-open .sn-search-panel {
    transform: translateY(0);
}

.sn-search-close {
    background: transparent;
    border: 0;
    height: 40px;
    position: absolute;
    right: 22px;
    top: 22px;
    width: 40px;
}

.sn-search-close::before,
.sn-search-close::after {
    background: var(--sn-black);
    content: "";
    height: 2px;
    left: 9px;
    position: absolute;
    top: 19px;
    width: 22px;
}

.sn-search-close::before {
    transform: rotate(45deg);
}

.sn-search-close::after {
    transform: rotate(-45deg);
}

.sn-search-kicker {
    font-size: 13px;
    font-weight: 900;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.sn-search-panel form {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr auto;
    margin-right: 56px;
}

.sn-search-panel input[type="search"] {
    border: 2px solid var(--sn-black);
    border-radius: 8px;
    font-size: 22px;
    font-weight: 700;
    min-height: 58px;
    padding: 14px 18px;
}

.sn-search-panel button[type="submit"] {
    min-height: 58px;
    min-width: 130px;
}

.sn-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.sn-search-suggestions a,
.sn-rail-filters button {
    background: transparent;
    border: 1px solid #888;
    border-radius: 8px;
    color: #6d6d6d;
    display: inline-flex;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    padding: 9px 16px;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight), border-color 180ms var(--sn-ease-tight), color 180ms var(--sn-ease-tight);
}

.sn-search-suggestions a:hover,
.sn-rail-filters button:hover {
    background: #f6f6f6;
    border-color: #262626;
    color: #262626;
}

.sn-mega-panel {
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-10px);
    transition: opacity 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight), visibility 180ms var(--sn-ease-tight);
    visibility: hidden;
    z-index: -1;
}

.sn-mega-open .sn-mega-panel,
.sn-mega-panel[aria-hidden="false"] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
    z-index: 1;
}

.sn-mega-inner {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(220px, 0.28fr) 1fr;
    margin: 0 auto;
    max-width: var(--wp--style--global--wide-size, 1280px);
    padding: 28px var(--wp--style--root--padding-right, 24px) 34px var(--wp--style--root--padding-left, 24px);
}

.sn-mega-copy span,
.sn-mega-copy a {
    color: #5f5f5f;
    display: block;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.sn-mega-copy strong {
    display: block;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
    margin: 8px 0 18px;
    text-transform: uppercase;
}

.sn-mega-copy a {
    color: var(--sn-black);
    text-decoration: underline;
}

.sn-mega-cards {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sn-mega-cards a {
    background: #f6f6f6;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--sn-black);
    min-height: 132px;
    padding: 18px;
    position: relative;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight), border-color 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight);
}

.sn-mega-cards a::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    bottom: 20px;
    content: "";
    height: 9px;
    position: absolute;
    right: 22px;
    transform: rotate(45deg);
    width: 9px;
}

.sn-mega-cards a:hover {
    background: #fff;
    border-color: var(--sn-black);
    transform: translateY(-2px);
}

.sn-mega-cards span {
    display: block;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.sn-mega-cards small {
    color: #5b5b5b;
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 10px;
}

.shark-hero .wp-block-cover {
    height: calc(100vh - 36px);
    max-height: calc(100vh - 36px);
    min-height: 640px !important;
}

.shark-hero .wp-block-cover::before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.66) 0%, rgba(0, 0, 0, 0.26) 38%, rgba(0, 0, 0, 0) 100%);
    content: "";
    height: 300px;
    inset: 0 0 auto;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.sn-hero-controls {
    align-items: center;
    background: rgba(0, 0, 0, 0.32);
    border-radius: 999px;
    bottom: 22px;
    display: flex;
    gap: 8px;
    justify-content: center;
    left: 50%;
    padding: 7px 10px;
    position: absolute;
    transform: translateX(-50%);
    z-index: 3;
}

.sn-hero-controls button {
    background: #b0b0b0;
    border: 0;
    border-radius: 50%;
    height: 8px;
    padding: 0;
    transition: background-color 180ms var(--sn-ease-tight), width 180ms var(--sn-ease-tight);
    width: 8px;
}

.sn-hero-controls button.is-active {
    background: #fff;
    border-radius: 999px;
    width: 24px;
}

.sn-hero-progress {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    display: block;
    height: 4px;
    overflow: hidden;
    position: relative;
    width: 44px;
}

.sn-hero-progress::after {
    animation: sn-hero-progress 5s linear infinite;
    background: #fff;
    content: "";
    inset: 0;
    position: absolute;
    transform-origin: left center;
}

@keyframes sn-hero-progress {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

.sn-rail-filters {
    display: flex;
    gap: 12px;
    margin: 6px auto 16px;
    max-width: var(--wp--style--global--wide-size, 1280px);
    overflow-x: auto;
    padding-left: var(--wp--style--root--padding-left, 24px);
    padding-right: var(--wp--style--root--padding-right, 24px);
    scrollbar-width: none;
}

.sn-rail-filters::-webkit-scrollbar {
    display: none;
}

.sn-rail-filters button {
    cursor: pointer;
    height: 40px;
    white-space: nowrap;
}

.sn-rail-filters button.is-active {
    background: #000;
    border-color: #000;
    color: #fff;
}

.sn-rail-controls {
    margin-bottom: 12px;
    margin-top: -54px;
}

.sn-scroll-rail {
    padding-top: 6px;
}

.sn-scroll-rail > * {
    flex-basis: 308px !important;
    max-width: 308px;
}

.shark-product-rail .wp-block-column {
    background: #fff;
    border-radius: 8px;
    flex-basis: 308px !important;
    max-width: 308px;
    padding-bottom: 8px;
}

.shark-product-rail .wp-block-image,
.wp-block-woocommerce-product-image,
.wc-block-components-product-image {
    background: #f6f6f6;
    border-radius: 8px;
    min-height: 0;
}

.sn-card-badge {
    background: #000;
    border-radius: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    left: 12px;
    line-height: 1;
    padding: 6px 8px;
    position: absolute;
    text-transform: uppercase;
    top: 12px;
    z-index: 2;
}

.shark-product-rail .wp-block-column:nth-child(3n + 2) .sn-card-badge,
.wp-block-woocommerce-product-template > li:nth-child(3n + 2) .sn-card-badge {
    background: #d71920;
}

.shark-product-rail .wp-block-column:nth-child(3n) .sn-card-badge,
.wp-block-woocommerce-product-template > li:nth-child(3n) .sn-card-badge {
    background: #fff;
    border: 1px solid #000;
    color: #000;
}

.shark-product-rail .wp-block-column > h3,
.shark-product-rail .wp-block-column > p,
.wp-block-woocommerce-product-template > li > :not(.wp-block-woocommerce-product-image) {
    padding-left: 2px;
    padding-right: 2px;
}

.shark-split-tiles .wp-block-cover,
.shark-full-bleed-feature .wp-block-cover {
    border-radius: 0;
}

.shark-split-tiles .wp-block-cover__inner-container a,
.shark-full-bleed-feature .wp-block-cover__inner-container a {
    font-weight: 900;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.22em;
}

.shark-review-strip {
    background: #f6f6f6;
}

.shark-review-strip h3::before {
    color: #d71920;
    content: "★★★★★";
    display: block;
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 6px;
}

.sn-footer-signup {
    margin-top: 22px;
    max-width: 520px;
}

.sn-footer-signup label {
    color: #fff;
    display: block;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.sn-footer-signup > div {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr auto;
}

.sn-footer-signup input {
    background: #fff !important;
    border: 1px solid #fff !important;
    border-radius: 4px;
    color: #000 !important;
    min-height: 48px;
}

.sn-footer-signup button {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
    min-height: 48px;
}

.sn-footer-signup.is-submitted::after {
    color: #fff;
    content: "Thanks. You are on the list.";
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-top: 8px;
}

.sn-sticky-cart {
    align-items: center;
    background: #fff;
    border-top: 1px solid #d8d8d8;
    bottom: 0;
    box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.12);
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr auto;
    left: 0;
    opacity: 0;
    padding: 12px max(20px, var(--wp--style--root--padding-left, 24px));
    pointer-events: none;
    position: fixed;
    right: 0;
    transform: translateY(110%);
    transition: opacity 220ms var(--sn-ease-tight), transform 220ms var(--sn-ease);
    z-index: 1500;
}

.sn-show-sticky-cart .sn-sticky-cart {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.sn-sticky-cart strong {
    display: block;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
}

.sn-sticky-cart span {
    color: #5b5b5b;
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-top: 2px;
}

.sn-sticky-cart button {
    background: #000;
    border: 1px solid #000;
    border-radius: 4px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    min-height: 44px;
    min-width: 148px;
    text-transform: uppercase;
}

@media (min-width: 1200px) {
    .sn-header-nav .wp-block-navigation-item__content {
        font-size: 15px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .shark-product-rail,
    .shark-review-strip {
        padding-bottom: 78px !important;
        padding-top: 78px !important;
    }
}

@media (max-width: 980px) {
    .sn-utility-inner {
        justify-content: center;
    }

    .sn-utility-row nav {
        display: none;
    }

    .sn-mega-panel {
        display: none;
    }

    .sn-search-panel {
        min-height: 100vh;
        padding: 28px 20px;
    }

    .sn-search-panel form {
        grid-template-columns: 1fr;
        margin-right: 0;
    }

    .sn-search-panel input[type="search"] {
        font-size: 18px;
    }

    .sn-rail-controls {
        margin-top: 0;
    }
}

@media (max-width: 600px) {
    .shark-hero .wp-block-cover {
        height: auto;
        max-height: none;
        min-height: 560px !important;
    }

    .sn-hero-controls {
        bottom: 14px;
    }

    .sn-scroll-rail > *,
    .shark-product-rail .wp-block-column {
        flex-basis: 82vw !important;
        max-width: 82vw;
    }

    .sn-footer-signup > div,
    .sn-sticky-cart {
        grid-template-columns: 1fr;
    }

    .sn-sticky-cart {
        gap: 10px;
    }

    .sn-sticky-cart button {
        width: 100%;
    }
}

/* SharkNinja header refinement. */
.sn-promo-bar {
    align-items: center;
    background: #000 !important;
    box-sizing: border-box;
    color: #fff !important;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    justify-items: center;
    min-height: 36px;
    padding-left: clamp(16px, 3vw, 48px) !important;
    padding-right: clamp(16px, 3vw, 48px) !important;
    position: relative;
    width: 100%;
    z-index: 1100;
}

.sn-promo-bar > :where(p, .sn-promo-links) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

.sn-promo-bar > p {
    grid-column: 2;
    line-height: 1.2;
    margin: 0 !important;
}

.sn-promo-links {
    align-items: center;
    display: flex;
    gap: clamp(14px, 2vw, 28px);
    grid-column: 3;
    justify-self: end;
    white-space: nowrap;
}

.sn-promo-links a,
.sn-promo-bar a {
    color: inherit;
    font-size: 12px;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.sn-header-shell {
    background: #fff;
    border-bottom: 1px solid #d8d8d8;
    box-shadow: none;
    isolation: isolate;
    position: sticky;
    top: 36px;
    z-index: 1090;
}

.sn-header-scrolled .sn-header-shell {
    background: #fff;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.sn-scroll-down .sn-header-shell {
    transform: translateY(0);
}

.admin-bar .sn-header-shell {
    top: 68px;
}

.admin-bar .sn-promo-bar {
    top: 32px;
}

.sn-header-shell .sn-main-nav-row {
    align-items: center;
    box-sizing: border-box;
    column-gap: clamp(12px, 1.8vw, 30px);
    display: grid !important;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) minmax(132px, auto);
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1440px;
    min-height: 74px;
    padding-left: clamp(18px, 3vw, 54px) !important;
    padding-right: clamp(18px, 3vw, 54px) !important;
    width: 100%;
}

.sn-header-shell .sn-logo-column,
.sn-header-shell .sn-navigation-column,
.sn-header-shell .sn-actions-column {
    flex-basis: auto !important;
    margin: 0 !important;
    min-width: 0;
}

.sn-header-shell .sn-logo-group {
    align-items: center;
    gap: 10px;
    justify-content: flex-start !important;
    min-width: 0;
}

.sn-header-shell .wp-block-site-title,
.sn-header-shell .wp-block-site-title a {
    color: #000;
    font-size: clamp(18px, 1.45vw, 24px);
    font-weight: 950;
    letter-spacing: 0 !important;
    line-height: 1;
    max-width: 170px;
    overflow-wrap: anywhere;
    text-decoration: none;
    text-transform: uppercase;
}

.sn-header-shell .wp-block-site-logo img {
    max-height: 36px;
    width: auto;
}

.sn-header-nav {
    border-top: 0;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 0;
    width: 100%;
}

.sn-header-nav .wp-block-navigation {
    width: 100%;
}

.sn-header-nav .wp-block-navigation__container {
    align-items: stretch;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    justify-content: center;
    width: 100%;
}

.sn-header-nav .wp-block-navigation-item {
    align-items: stretch;
    display: flex;
}

.sn-header-nav .wp-block-navigation-item__content {
    align-items: center;
    color: #111;
    display: inline-flex;
    font-size: clamp(11px, 0.92vw, 14px);
    font-weight: 900;
    justify-content: center;
    min-height: 74px;
    padding: 0 clamp(7px, 0.85vw, 15px);
    position: relative;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

.sn-header-nav .wp-block-navigation-item__content::after {
    background: #000;
    bottom: 0;
    content: "";
    height: 3px;
    left: clamp(7px, 0.85vw, 15px);
    position: absolute;
    right: clamp(7px, 0.85vw, 15px);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms var(--sn-ease-tight);
}

.sn-header-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.sn-header-nav .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after,
.sn-header-nav .wp-block-navigation-item.sn-mega-active > .wp-block-navigation-item__content::after {
    transform: scaleX(1);
}

.sn-header-nav .wp-block-navigation__submenu-container {
    display: none !important;
}

.sn-header-nav .sn-sale-link > .wp-block-navigation-item__content,
.sn-header-nav .wp-block-navigation-item.sn-sale-link > .wp-block-navigation-item__content,
.sn-header-nav .sn-sale-link.wp-block-navigation-item__content,
.sn-header-nav .wp-block-navigation-item__content:has(.sn-sale-link) {
    color: #b00020;
}

.sn-header-actions {
    align-items: center;
    gap: 2px !important;
    justify-content: flex-end !important;
}

.sn-header-actions :where(a, button, .wc-block-mini-cart__button) {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50%;
    color: #111;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 0 !important;
    text-decoration: none;
    transition: background-color 160ms var(--sn-ease-tight), transform 160ms var(--sn-ease-tight);
    width: 40px;
}

.sn-header-actions svg.wc-block-customer-account__account-icon {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    display: block;
    height: 22px !important;
    min-height: 0;
    min-width: 0;
    padding: 0 !important;
    width: 22px !important;
}

.sn-header-actions :where(a, button, .wc-block-mini-cart__button):hover,
.sn-search-trigger:hover {
    background: #f1f1f1 !important;
}

.sn-search-trigger {
    flex: 0 0 40px;
    height: 40px;
    width: 40px;
}

.sn-favorites-link > span:first-child {
    display: block;
    height: 18px;
    position: relative;
    width: 20px;
}

.sn-favorites-link > span:first-child::before,
.sn-favorites-link > span:first-child::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    content: "";
    height: 13px;
    position: absolute;
    top: 3px;
    width: 9px;
}

.sn-favorites-link > span:first-child::before {
    border-radius: 9px 9px 0 0;
    border-right: 0;
    left: 2px;
    transform: rotate(-45deg);
    transform-origin: 100% 100%;
}

.sn-favorites-link > span:first-child::after {
    border-left: 0;
    border-radius: 9px 9px 0 0;
    right: 2px;
    transform: rotate(45deg);
    transform-origin: 0 100%;
}

.sn-mega-panel {
    background: #fff;
    border-top: 1px solid #e2e2e2;
    box-shadow: 0 28px 44px rgba(0, 0, 0, 0.18);
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-8px);
    transition: opacity 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight), visibility 180ms var(--sn-ease-tight);
    visibility: hidden;
    z-index: 1095;
}

.sn-header-shell > .sn-mega-panel {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: auto;
}

.sn-mega-open .sn-mega-panel,
.sn-mega-panel[aria-hidden="false"] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.sn-mega-inner {
    display: grid;
    gap: clamp(24px, 3vw, 46px);
    grid-template-columns: minmax(170px, 0.22fr) minmax(360px, 0.62fr) minmax(230px, 0.32fr);
    margin: 0 auto;
    max-width: 1440px;
    min-height: 278px;
    padding: 34px clamp(28px, 4vw, 70px) 38px;
}

.sn-mega-copy {
    border-right: 1px solid #e2e2e2;
    padding-right: clamp(20px, 2.4vw, 36px);
}

.sn-mega-copy span,
.sn-mega-copy a {
    color: #686868;
    display: block;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.sn-mega-copy strong {
    color: #000;
    display: block;
    font-size: clamp(24px, 2.2vw, 36px);
    font-weight: 950;
    letter-spacing: 0 !important;
    line-height: 0.98;
    margin: 8px 0 22px;
    text-transform: none;
}

.sn-mega-copy a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-mega-columns {
    display: grid;
    gap: 14px clamp(28px, 4vw, 54px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sn-mega-columns ul {
    display: grid;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sn-mega-columns a {
    align-items: center;
    color: #161616;
    display: flex;
    font-size: 15px;
    font-weight: 850;
    min-height: 34px;
    text-decoration: none;
    transition: color 160ms var(--sn-ease-tight), padding-left 160ms var(--sn-ease-tight);
}

.sn-mega-columns a:hover,
.sn-mega-columns a:focus-visible {
    color: #000;
    padding-left: 6px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-mega-cards {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
}

.sn-mega-cards a {
    background: #f3f3f3;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 118px;
    overflow: hidden;
    padding: 18px;
    position: relative;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight), border-color 180ms var(--sn-ease-tight), transform 180ms var(--sn-ease-tight);
}

.sn-mega-cards a::before {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.14), rgba(255, 255, 255, 0));
    content: "";
    height: 90px;
    position: absolute;
    right: -22px;
    top: -28px;
    transform: rotate(18deg);
    width: 150px;
}

.sn-mega-cards a::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    bottom: 20px;
    content: "";
    height: 8px;
    position: absolute;
    right: 20px;
    transform: rotate(45deg);
    width: 8px;
}

.sn-mega-cards a:hover,
.sn-mega-cards a:focus-visible {
    background: #fff;
    border-color: #111;
    transform: translateY(-2px);
}

.sn-mega-cards span {
    display: block;
    font-size: clamp(17px, 1.4vw, 22px);
    font-weight: 950;
    line-height: 1;
    padding-right: 28px;
}

.sn-mega-cards small {
    color: #555;
    display: block;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    margin-top: 8px;
    padding-right: 24px;
}

.sn-search-overlay {
    background: rgba(0, 0, 0, 0.44);
    z-index: 1200;
}

.sn-search-panel {
    border-bottom: 1px solid #e2e2e2;
    box-shadow: 0 26px 54px rgba(0, 0, 0, 0.22);
    max-width: none;
    padding: 34px clamp(24px, 5vw, 72px) 40px;
}

.sn-search-kicker {
    color: #626262;
    letter-spacing: 0 !important;
}

.sn-search-panel form {
    margin-left: auto;
    margin-right: auto;
    max-width: 1140px;
}

.sn-search-panel input[type="search"] {
    border: 2px solid #111;
    border-radius: 4px;
}

.sn-search-panel button[type="submit"] {
    border-radius: 4px;
    font-weight: 900;
    text-transform: uppercase;
}

.sn-menu-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #111;
    display: none;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    padding: 0;
    position: relative;
    width: 42px;
}

.sn-menu-trigger span {
    background: currentColor;
    height: 2px;
    left: 11px;
    position: absolute;
    transition: transform 180ms var(--sn-ease-tight), opacity 180ms var(--sn-ease-tight);
    width: 20px;
}

.sn-menu-trigger span:nth-child(1) {
    top: 14px;
}

.sn-menu-trigger span:nth-child(2) {
    top: 20px;
}

.sn-menu-trigger span:nth-child(3) {
    top: 26px;
}

.sn-menu-trigger:hover {
    background: #f1f1f1;
}

.sn-menu-open .sn-menu-trigger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.sn-menu-open .sn-menu-trigger span:nth-child(2) {
    opacity: 0;
}

.sn-menu-open .sn-menu-trigger span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.sn-mobile-drawer {
    background: rgba(0, 0, 0, 0.48);
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 220ms var(--sn-ease-tight), visibility 220ms var(--sn-ease-tight);
    visibility: hidden;
    z-index: 1300;
}

.sn-mobile-drawer-panel {
    background: #fff;
    box-shadow: 18px 0 42px rgba(0, 0, 0, 0.24);
    color: #111;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: min(420px, 88vw);
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 260ms var(--sn-ease);
    width: 100%;
}

.sn-menu-open {
    overflow: hidden;
}

.sn-menu-open .sn-mobile-drawer {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.sn-menu-open .sn-mobile-drawer-panel {
    transform: translateX(0);
}

.sn-mobile-drawer-head {
    align-items: center;
    border-bottom: 1px solid #e4e4e4;
    display: flex;
    justify-content: space-between;
    min-height: 66px;
    padding: 0 20px;
}

.sn-mobile-drawer-head strong {
    font-size: 18px;
    font-weight: 950;
}

.sn-mobile-drawer-head button {
    background: transparent;
    border: 0;
    border-radius: 50%;
    height: 40px;
    position: relative;
    width: 40px;
}

.sn-mobile-drawer-head button::before,
.sn-mobile-drawer-head button::after {
    background: #111;
    content: "";
    height: 2px;
    left: 10px;
    position: absolute;
    top: 19px;
    width: 20px;
}

.sn-mobile-drawer-head button::before {
    transform: rotate(45deg);
}

.sn-mobile-drawer-head button::after {
    transform: rotate(-45deg);
}

.sn-mobile-search {
    border-bottom: 1px solid #e4e4e4;
    padding: 16px 20px;
}

.sn-mobile-search button {
    background: #f5f5f5;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    color: #444;
    font-size: 14px;
    font-weight: 800;
    min-height: 46px;
    padding: 0 14px;
    text-align: left;
    width: 100%;
}

.sn-mobile-drawer nav {
    display: grid;
}

.sn-mobile-drawer details {
    border-bottom: 1px solid #e4e4e4;
}

.sn-mobile-drawer summary,
.sn-mobile-direct {
    align-items: center;
    color: #111;
    cursor: pointer;
    display: flex;
    font-size: 17px;
    font-weight: 950;
    justify-content: space-between;
    list-style: none;
    min-height: 58px;
    padding: 0 20px;
    text-decoration: none;
}

.sn-mobile-drawer summary::-webkit-details-marker {
    display: none;
}

.sn-mobile-drawer summary::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 8px;
    transform: rotate(135deg);
    transition: transform 180ms var(--sn-ease-tight);
    width: 8px;
}

.sn-mobile-drawer details[open] summary::after {
    transform: rotate(-45deg);
}

.sn-mobile-drawer details > div {
    background: #f7f7f7;
    display: grid;
    gap: 0;
    padding: 8px 20px 16px;
}

.sn-mobile-drawer details a {
    color: #222;
    font-size: 15px;
    font-weight: 800;
    min-height: 38px;
    text-decoration: none;
}

.sn-mobile-utilities {
    border-top: 1px solid #e4e4e4;
    display: grid;
    gap: 0;
    margin-top: auto;
    padding: 14px 20px 22px;
}

.sn-mobile-utilities a {
    color: #333;
    font-size: 14px;
    font-weight: 800;
    min-height: 34px;
    text-decoration: none;
}

.sn-utility-row {
    display: none;
}

@media (max-width: 1280px) {
    .sn-header-shell .sn-main-nav-row {
        grid-template-columns: minmax(138px, 170px) minmax(0, 1fr) minmax(124px, auto);
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .sn-header-nav .wp-block-navigation-item__content {
        font-size: 12px;
        padding-left: 8px;
        padding-right: 8px;
    }
}

@media (max-width: 980px) {
    .sn-promo-bar {
        grid-template-columns: 1fr;
        min-height: 34px;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .sn-promo-bar > p {
        grid-column: 1;
    }

    .sn-promo-links {
        display: none;
    }

    .sn-header-shell {
        top: 34px;
    }

    .admin-bar .sn-header-shell {
        top: 66px;
    }

    .sn-header-shell .sn-main-nav-row {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 62px;
        padding-left: 14px !important;
        padding-right: 12px !important;
    }

    .sn-header-shell .sn-logo-column {
        grid-column: 1;
    }

    .sn-header-shell .sn-navigation-column {
        display: none !important;
    }

    .sn-header-shell .sn-actions-column {
        grid-column: 2;
    }

    .sn-menu-trigger {
        display: inline-flex;
    }

    .sn-header-shell .wp-block-site-title,
    .sn-header-shell .wp-block-site-title a {
        font-size: 19px;
        max-width: 150px;
    }

    .sn-header-actions .sn-favorites-link {
        display: none;
    }

    .sn-mega-panel {
        display: none;
    }

    .sn-search-panel {
        min-height: 100vh;
        padding: 28px 18px;
    }

    .sn-search-panel form {
        grid-template-columns: 1fr;
        margin-right: 0;
    }

    .sn-search-panel input[type="search"] {
        font-size: 18px;
    }
}

@media (max-width: 600px) {
    .admin-bar .sn-promo-bar {
        top: 46px;
    }

    .admin-bar .sn-header-shell {
        top: 80px;
    }

    .sn-header-shell .wp-block-site-logo img {
        max-height: 30px;
    }

    .sn-search-trigger,
    .sn-header-actions :where(a, button, .wc-block-mini-cart__button) {
        height: 38px;
        min-height: 38px;
        min-width: 38px;
        width: 38px;
    }

    .sn-mobile-drawer-panel {
        max-width: 92vw;
    }
}

/* SharkNinja header stability fixes. Keep this last to override earlier theme passes. */
:root {
    --sn-header-height: 74px;
    --sn-promo-height: 36px;
}

.sn-promo-bar {
    min-height: var(--sn-promo-height);
    overflow: hidden;
    position: sticky !important;
    top: 0;
    z-index: 1200;
}

.admin-bar .sn-promo-bar {
    top: 32px;
}

.sn-promo-bar > p {
    max-width: 100% !important;
    min-width: 0;
    text-align: center;
}

.sn-promo-links {
    max-width: 100%;
}

.sn-header-shell {
    overflow: visible;
    position: sticky !important;
    top: var(--sn-promo-height);
    z-index: 1190;
}

.admin-bar .sn-header-shell {
    top: calc(var(--sn-promo-height) + 32px);
}

.sn-header-shell .wp-block-columns.sn-main-nav-row {
    align-items: center !important;
    column-gap: clamp(10px, 1.25vw, 22px);
    display: grid !important;
    grid-template-columns: minmax(136px, 172px) minmax(0, 1fr) max-content;
    min-height: var(--sn-header-height);
    overflow: visible;
}

.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-logo-column,
.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-navigation-column,
.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-actions-column {
    align-items: center;
    display: flex !important;
    flex-basis: auto !important;
    flex-grow: 0 !important;
    margin: 0 !important;
    min-width: 0;
    width: auto !important;
}

.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-logo-column {
    grid-column: 1;
    justify-content: flex-start;
}

.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-navigation-column {
    grid-column: 2;
    justify-content: center;
    overflow: hidden;
}

.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-actions-column {
    grid-column: 3;
    justify-content: flex-end;
    min-width: max-content;
}

.sn-header-shell .sn-logo-group {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.sn-header-shell .wp-block-site-logo,
.sn-header-shell .wp-block-site-logo a,
.sn-header-shell .wp-block-site-logo img {
    flex: 0 0 auto;
}

.sn-header-shell .wp-block-site-title,
.sn-header-shell .wp-block-site-title a {
    display: block;
    max-width: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-navigation-column > .wp-block-group.sn-header-nav {
    justify-content: center !important;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.sn-header-nav .wp-block-navigation,
.sn-header-nav .wp-block-navigation__responsive-container,
.sn-header-nav .wp-block-navigation__responsive-container-content {
    min-width: 0;
    width: 100%;
}

.sn-header-nav .wp-block-navigation__responsive-container-open,
.sn-header-nav .wp-block-navigation__responsive-container-close {
    display: none !important;
}

.sn-header-nav .wp-block-navigation__container {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.sn-header-nav .wp-block-navigation-item {
    flex: 0 1 auto;
    min-width: 0;
}

.sn-header-nav .wp-block-navigation-item__content {
    font-size: clamp(11px, 0.78vw, 13px);
    min-height: var(--sn-header-height);
    padding-left: clamp(5px, 0.55vw, 11px);
    padding-right: clamp(5px, 0.55vw, 11px);
}

.sn-header-actions {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    justify-content: flex-end !important;
    min-width: max-content;
}

.sn-header-actions > * {
    flex: 0 0 auto;
    margin: 0 !important;
}

.sn-header-actions .wp-block-woocommerce-customer-account,
.sn-header-actions .wp-block-woocommerce-mini-cart,
.sn-header-actions .wc-block-mini-cart {
    align-items: center;
    display: inline-flex;
    height: 40px;
}

.sn-header-actions :where(a, button, .wc-block-mini-cart__button),
.sn-search-trigger {
    box-sizing: border-box;
    flex: 0 0 40px;
}

.sn-header-actions .wc-block-mini-cart__amount {
    display: none !important;
}

.sn-header-actions .wc-block-mini-cart__quantity-badge {
    position: relative;
}

.sn-header-actions .wc-block-mini-cart__badge {
    align-items: center;
    background: #111;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    height: 16px;
    justify-content: center;
    line-height: 1;
    min-width: 16px;
    position: absolute;
    right: -4px;
    top: -5px;
}

.sn-search-open .sn-header-shell,
.sn-menu-open .sn-header-shell,
.sn-mega-open .sn-header-shell {
    z-index: 1190;
}

@media (max-width: 1360px) {
    .sn-header-shell .wp-block-columns.sn-main-nav-row {
        grid-template-columns: minmax(118px, 150px) minmax(0, 1fr) max-content;
    }

    .sn-header-shell .wp-block-site-title,
    .sn-header-shell .wp-block-site-title a {
        max-width: 110px;
    }

    .sn-header-nav .wp-block-navigation-item__content {
        font-size: 11px;
        padding-left: 5px;
        padding-right: 5px;
    }
}

@media (max-width: 1240px) {
    :root {
        --sn-header-height: 62px;
        --sn-promo-height: 34px;
    }

    .sn-promo-bar {
        grid-template-columns: 1fr;
        min-height: var(--sn-promo-height);
    }

    .sn-promo-bar > p {
        grid-column: 1;
        line-height: 1.25;
    }

    .sn-promo-links {
        display: none !important;
    }

    .sn-header-shell .wp-block-columns.sn-main-nav-row {
        column-gap: 8px;
        grid-template-columns: minmax(0, 1fr) max-content;
        min-height: var(--sn-header-height);
        padding-left: 14px !important;
        padding-right: 12px !important;
    }

    .sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-logo-column {
        display: flex !important;
        grid-column: 1;
    }

    .sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-navigation-column {
        display: none !important;
    }

    .sn-header-shell .wp-block-columns.sn-main-nav-row > .wp-block-column.sn-actions-column {
        display: flex !important;
        grid-column: 2;
    }

    .sn-menu-trigger {
        display: inline-flex !important;
    }

    .sn-header-shell .wp-block-site-title,
    .sn-header-shell .wp-block-site-title a {
        max-width: clamp(112px, 24vw, 190px);
    }

    .sn-header-actions .sn-favorites-link {
        display: none !important;
    }

    .sn-mega-panel {
        display: none !important;
    }
}

@media (max-width: 600px) {
    .admin-bar .sn-promo-bar {
        top: 46px;
    }

    .admin-bar .sn-header-shell {
        top: calc(var(--sn-promo-height) + 46px);
    }

    .sn-header-shell .wp-block-columns.sn-main-nav-row {
        column-gap: 6px;
    }

    .sn-header-actions :where(a, button, .wc-block-mini-cart__button),
    .sn-search-trigger {
        flex-basis: 36px;
        height: 36px;
        min-height: 36px;
        min-width: 36px;
        width: 36px;
    }
}

@media (max-width: 420px) {
    .sn-header-shell .wp-block-site-title,
    .sn-header-shell .wp-block-site-title a {
        font-size: 17px;
        max-width: 38vw;
    }

    .sn-header-actions .wp-block-woocommerce-customer-account {
        display: none !important;
    }
}

/* Final SharkNinja-style static header overrides. */
:root {
    --sn-header-height: 72px;
    --sn-promo-height: 36px;
}

.sn-promo-bar {
    align-items: center;
    background: #000 !important;
    box-sizing: border-box;
    color: #fff !important;
    display: grid !important;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    justify-items: center;
    min-height: var(--sn-promo-height);
    overflow: hidden;
    padding: 0 clamp(18px, 3vw, 52px) !important;
    position: sticky !important;
    top: 0;
    width: 100%;
    z-index: 1300;
}

.admin-bar .sn-promo-bar {
    top: 32px;
}

.sn-promo-bar p {
    grid-column: 2;
    line-height: 1.2;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0;
    text-align: center;
}

.sn-promo-links {
    align-items: center;
    display: flex !important;
    gap: clamp(16px, 2vw, 28px);
    grid-column: 3;
    justify-self: end;
    white-space: nowrap;
}

.sn-promo-links a {
    color: inherit;
    font-size: 12px;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-header-shell {
    background: #fff;
    border-bottom: 1px solid #d9d9d9;
    box-shadow: none;
    box-sizing: border-box;
    color: #111;
    display: block;
    isolation: isolate;
    overflow: visible;
    position: sticky !important;
    top: var(--sn-promo-height);
    width: 100%;
    z-index: 1290;
}

.admin-bar .sn-header-shell {
    top: calc(var(--sn-promo-height) + 32px);
}

.sn-header-scrolled .sn-header-shell {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.sn-header-shell .sn-main-nav-row {
    align-items: center;
    box-sizing: border-box;
    column-gap: clamp(14px, 1.6vw, 28px);
    display: grid !important;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) max-content;
    margin: 0 auto !important;
    max-width: 1440px;
    min-height: var(--sn-header-height);
    overflow: visible;
    padding: 0 clamp(20px, 3vw, 56px) !important;
    width: 100%;
}

.sn-logo-column,
.sn-navigation-column,
.sn-actions-column {
    align-items: center;
    display: flex !important;
    min-width: 0;
}

.sn-logo-column {
    grid-column: 1;
    justify-content: flex-start;
}

.sn-navigation-column {
    grid-column: 2;
    justify-content: center;
    overflow: visible;
}

.sn-actions-column {
    grid-column: 3;
    justify-content: flex-end;
}

.sn-logo-group {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 10px;
    min-width: 0;
    overflow: hidden;
}

.sn-brand {
    align-items: baseline;
    color: #000;
    display: inline-flex;
    flex: 0 1 auto;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: clamp(22px, 1.7vw, 28px);
    font-weight: 950;
    letter-spacing: 0 !important;
    line-height: 1;
    max-width: 190px;
    overflow: hidden;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.sn-brand span:first-child {
    margin-right: 1px;
}

.sn-brand span:last-child {
    font-weight: 900;
}

.sn-header-nav,
.sn-header-nav .wp-block-navigation {
    display: block;
    min-width: 0;
    overflow: visible;
    width: 100%;
}

.sn-header-nav .wp-block-navigation__container {
    align-items: stretch;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    justify-content: center !important;
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.sn-header-nav .wp-block-navigation-item {
    align-items: stretch;
    display: flex;
    flex: 0 0 auto;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.sn-header-nav .wp-block-navigation-item__content {
    align-items: center;
    box-sizing: border-box;
    color: #111;
    display: inline-flex;
    font-size: clamp(12px, 0.86vw, 14px);
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-height: var(--sn-header-height);
    padding: 0 clamp(7px, 0.78vw, 14px);
    position: relative;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

.sn-header-nav .wp-block-navigation-item__content::after {
    background: #000;
    bottom: 0;
    content: "";
    height: 3px;
    left: clamp(7px, 0.78vw, 14px);
    position: absolute;
    right: clamp(7px, 0.78vw, 14px);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms var(--sn-ease-tight, ease);
}

.sn-header-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.sn-header-nav .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after,
.sn-header-nav .wp-block-navigation-item.sn-mega-active > .wp-block-navigation-item__content::after {
    transform: scaleX(1);
}

.sn-header-nav .wp-block-navigation__submenu-container {
    display: none !important;
}

.sn-header-nav .sn-sale-link > .wp-block-navigation-item__content,
.sn-header-nav .wp-block-navigation-item.sn-sale-link > .wp-block-navigation-item__content {
    color: #b00020;
}

.sn-header-actions {
    align-items: center;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    justify-content: flex-end !important;
    margin: 0;
    min-width: max-content;
}

.sn-header-actions > * {
    flex: 0 0 auto;
    margin: 0 !important;
}

.sn-header-actions :where(a, button),
.sn-search-trigger {
    align-items: center;
    appearance: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50%;
    box-sizing: border-box;
    color: #111;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 0 !important;
    position: relative;
    text-decoration: none;
    transition: background-color 160ms var(--sn-ease-tight, ease);
    width: 40px;
}

.sn-header-actions :where(a, button):hover,
.sn-search-trigger:hover,
.sn-header-actions :where(a, button):focus-visible,
.sn-search-trigger:focus-visible {
    background: #f1f1f1 !important;
}

.sn-account-link > span:first-child {
    border: 2px solid currentColor;
    border-radius: 50%;
    display: block;
    height: 10px;
    position: relative;
    top: -5px;
    width: 10px;
}

.sn-account-link > span:first-child::after {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    content: "";
    height: 9px;
    left: -7px;
    position: absolute;
    top: 13px;
    width: 20px;
}

.sn-cart-link > span:first-child {
    border: 2px solid currentColor;
    border-radius: 2px;
    display: block;
    height: 15px;
    position: relative;
    top: 2px;
    width: 19px;
}

.sn-cart-link > span:first-child::before {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    content: "";
    height: 8px;
    left: 3px;
    position: absolute;
    top: -10px;
    width: 9px;
}

.sn-cart-badge {
    align-items: center;
    background: #111;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    height: 16px;
    justify-content: center;
    line-height: 1;
    min-width: 16px;
    padding: 0 4px;
    position: absolute;
    right: 0;
    top: 0;
}

.sn-icon-search {
    border: 2px solid currentColor;
    border-radius: 50%;
    display: block;
    height: 17px;
    position: relative;
    width: 17px;
}

.sn-icon-search::after {
    background: currentColor;
    content: "";
    height: 2px;
    position: absolute;
    right: -7px;
    top: 12px;
    transform: rotate(45deg);
    transform-origin: left center;
    width: 8px;
}

.sn-header-shell > .sn-mega-panel {
    left: 0;
    margin: 0 !important;
    max-width: none !important;
    position: absolute;
    right: 0;
    top: 100%;
    width: auto;
}

@media (max-width: 1360px) {
    .sn-header-shell .sn-main-nav-row {
        grid-template-columns: minmax(126px, 160px) minmax(0, 1fr) max-content;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .sn-brand {
        font-size: 22px;
        max-width: 160px;
    }

    .sn-header-nav .wp-block-navigation-item__content {
        font-size: 12px;
        padding-left: 6px;
        padding-right: 6px;
    }
}

@media (max-width: 1240px) {
    :root {
        --sn-header-height: 62px;
        --sn-promo-height: 34px;
    }

    .sn-promo-bar {
        grid-template-columns: 1fr;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .sn-promo-bar p {
        grid-column: 1;
    }

    .sn-promo-links {
        display: none !important;
    }

    .sn-header-shell .sn-main-nav-row {
        column-gap: 8px;
        grid-template-columns: minmax(0, 1fr) max-content;
        min-height: var(--sn-header-height);
        padding-left: 14px !important;
        padding-right: 12px !important;
    }

    .sn-logo-column {
        grid-column: 1;
    }

    .sn-navigation-column {
        display: none !important;
    }

    .sn-actions-column {
        grid-column: 2;
    }

    .sn-menu-trigger {
        display: inline-flex !important;
        flex: 0 0 42px;
    }

    .sn-brand {
        font-size: 22px;
        max-width: clamp(122px, 28vw, 190px);
    }

    .sn-header-actions .sn-favorites-link {
        display: none !important;
    }

    .sn-mega-panel {
        display: none !important;
    }
}

@media (max-width: 600px) {
    .admin-bar .sn-promo-bar {
        top: 46px;
    }

    .admin-bar .sn-header-shell {
        top: calc(var(--sn-promo-height) + 46px);
    }

    .sn-header-actions :where(a, button),
    .sn-search-trigger {
        flex-basis: 36px;
        height: 36px;
        min-height: 36px;
        min-width: 36px;
        width: 36px;
    }
}

@media (max-width: 420px) {
    .sn-brand {
        font-size: 19px;
        max-width: 36vw;
    }

    .sn-account-link {
        display: none !important;
    }
}

/* Final transparent fixed SharkNinja header behavior. */
:root {
    --sn-fixed-promo-height: var(--sn-promo-height, 36px);
    --sn-fixed-header-height: var(--sn-header-height, 72px);
    --sn-fixed-stack-height: calc(var(--sn-fixed-promo-height) + var(--sn-fixed-header-height));
}

.sn-promo-bar {
    left: 0;
    position: fixed !important;
    right: 0;
    top: 0;
    z-index: 1600;
}

.admin-bar .sn-promo-bar {
    top: 32px;
}

.sn-header-shell {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(17, 17, 17, 0.14);
    box-shadow: none;
    color: #111;
    left: 0;
    position: fixed !important;
    right: 0;
    top: var(--sn-fixed-promo-height);
    transform: translateY(0) !important;
    transition: background-color 220ms var(--sn-ease-tight, ease), border-color 220ms var(--sn-ease-tight, ease), box-shadow 220ms var(--sn-ease-tight, ease), color 220ms var(--sn-ease-tight, ease);
    z-index: 1590;
}

.admin-bar .sn-header-shell {
    top: calc(var(--sn-fixed-promo-height) + 32px);
}

body.sn-header-solid-start main {
    padding-top: var(--sn-fixed-stack-height);
}

@supports selector(body:has(main)) {
    body:not(:has(main > .shark-hero:first-child)) main {
        padding-top: var(--sn-fixed-stack-height);
    }
}

.sn-header-shell:hover,
.sn-header-shell:focus-within,
.sn-header-scrolled .sn-header-shell,
.sn-mega-open .sn-header-shell,
.sn-search-open .sn-header-shell,
.sn-menu-open .sn-header-shell {
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: rgba(17, 17, 17, 0.16);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    color: #111;
}

body.sn-header-over-hero:not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) {
    background: rgba(255, 255, 255, 0);
    border-bottom-color: rgba(255, 255, 255, 0.2);
    box-shadow: none;
    color: #fff;
}

@supports selector(body:has(main > .shark-hero:first-child)) {
    body:has(main > .shark-hero:first-child):not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) {
        background: rgba(255, 255, 255, 0);
        border-bottom-color: rgba(255, 255, 255, 0.2);
        box-shadow: none;
        color: #fff;
    }
}

.sn-header-shell :where(.sn-brand, .sn-header-nav .wp-block-navigation-item__content, .sn-header-actions a, .sn-header-actions button, .sn-search-trigger, .sn-menu-trigger) {
    color: inherit !important;
}

.sn-header-nav .wp-block-navigation-item__content::after {
    background: currentColor;
    transition: background-color 220ms var(--sn-ease-tight, ease), transform 180ms var(--sn-ease-tight, ease);
}

.sn-header-nav .sn-sale-link > .wp-block-navigation-item__content,
.sn-header-nav .wp-block-navigation-item.sn-sale-link > .wp-block-navigation-item__content {
    color: #b00020 !important;
}

body.sn-header-over-hero:not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-header-nav .sn-sale-link > .wp-block-navigation-item__content,
body.sn-header-over-hero:not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-header-nav .wp-block-navigation-item.sn-sale-link > .wp-block-navigation-item__content {
    color: #fff !important;
}

@supports selector(body:has(main > .shark-hero:first-child)) {
    body:has(main > .shark-hero:first-child):not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-header-nav .sn-sale-link > .wp-block-navigation-item__content,
    body:has(main > .shark-hero:first-child):not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-header-nav .wp-block-navigation-item.sn-sale-link > .wp-block-navigation-item__content {
        color: #fff !important;
    }
}

.sn-cart-badge,
.sn-header-actions .wc-block-mini-cart__badge {
    transition: background-color 220ms var(--sn-ease-tight, ease), color 220ms var(--sn-ease-tight, ease);
}

body.sn-header-over-hero:not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) :where(.sn-cart-badge, .sn-header-actions .wc-block-mini-cart__badge) {
    background: #fff;
    color: #111;
}

@supports selector(body:has(main > .shark-hero:first-child)) {
    body:has(main > .shark-hero:first-child):not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) :where(.sn-cart-badge, .sn-header-actions .wc-block-mini-cart__badge) {
        background: #fff;
        color: #111;
    }
}

/* SharkNinja-style product detail page. */
.single-product .sn-pdp-main {
    background: #fff;
    color: #111;
}

.single-product .sn-pdp-shell {
    background: #f4f4f4;
    border-bottom: 1px solid #d7d7d7;
    padding-bottom: 3rem;
}

.single-product .sn-pdp-breadcrumb {
    color: #4e4e4e;
    font-size: 0.82rem;
    font-weight: 700;
}

.single-product .sn-pdp-hero {
    align-items: flex-start !important;
}

.single-product .sn-pdp-media {
    min-width: 0;
}

.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery,
.single-product .sn-pdp-media .wc-block-product-gallery {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image,
.single-product .sn-pdp-media .wc-block-product-gallery-large-image__inner-blocks,
.single-product .sn-pdp-media .wp-block-woocommerce-product-image,
.single-product .sn-pdp-media .wc-block-components-product-image {
    background: #fff;
    border-radius: 0;
}

.single-product .sn-pdp-media .wp-block-woocommerce-product-image img,
.single-product .sn-pdp-media .wc-block-components-product-image img {
    object-fit: contain;
}

.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-thumbnails {
    gap: 0.625rem;
}

.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-thumbnails img {
    background: #fff;
    border: 1px solid transparent;
    border-radius: 0;
}

.single-product .sn-pdp-summary-column {
    align-self: stretch;
}

.single-product .sn-pdp-summary-card {
    background: #fff;
    border: 1px solid #d5d5d5;
    border-radius: 0;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
    padding: clamp(1.25rem, 2.2vw, 2rem);
}

.single-product .sn-pdp-eyebrow-row {
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 0.875rem;
}

.single-product .sn-pdp-kicker {
    background: #111;
    color: #fff;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
    margin: 0;
    padding: 0.45rem 0.55rem;
    text-transform: uppercase;
}

.single-product .sn-pdp-summary-card .wp-block-woocommerce-product-sale-badge {
    background: #d71920 !important;
    border: 0 !important;
    border-radius: 0;
    color: #fff !important;
    font-size: 0.72rem;
    font-weight: 900;
    padding: 0.45rem 0.55rem;
    text-transform: uppercase;
}

.single-product .sn-pdp-title {
    font-family: var(--wp--preset--font-family--inter, sans-serif);
    font-size: clamp(1.75rem, 3vw, 2.85rem) !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
    margin: 0 !important;
}

.single-product .sn-pdp-rating-row {
    color: #333;
    font-size: 0.85rem;
}

.single-product .sn-pdp-rating-row .wp-block-woocommerce-product-sku {
    color: #555;
    font-size: 0.82rem;
    font-weight: 800;
}

.single-product .sn-pdp-summary,
.single-product .sn-pdp-summary p {
    color: #303030;
    font-size: 0.98rem;
    line-height: 1.55;
    margin: 0;
}

.single-product .sn-pdp-price {
    color: #111;
    font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
    font-weight: 900 !important;
    margin: 0 !important;
}

.single-product .sn-pdp-price del {
    color: #737373;
    font-size: 0.78em;
}

.single-product .sn-pdp-price ins {
    color: #d71920;
    text-decoration: none;
}

.single-product .sn-pdp-pay-note {
    background: #f6f6f6;
    border-left: 4px solid #111;
    color: #3f3f3f;
    font-size: 0.86rem;
    font-weight: 700;
    margin: 0;
    padding: 0.75rem 0.875rem;
}

.single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options {
    background: #fff;
    border: 1px solid #111;
    border-radius: 0;
    margin: 0;
    padding: 1rem;
}

.single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options > .wp-block-group {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(96px, 0.35fr) minmax(0, 1fr);
}

.single-product .sn-pdp-purchase .wc-block-components-quantity-selector,
.single-product .sn-pdp-purchase .quantity {
    border: 1px solid #111;
    border-radius: 0;
    min-height: 52px;
}

.single-product .sn-pdp-purchase .wp-block-woocommerce-product-button,
.single-product .sn-pdp-purchase .single_add_to_cart_button,
.single-product .sn-pdp-purchase button[type="submit"] {
    min-height: 52px;
    width: 100%;
}

.single-product .sn-pdp-purchase .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill,
.single-product .sn-pdp-purchase .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options button {
    border: 1px solid #767676;
    border-radius: 0;
    font-weight: 800;
    min-height: 44px;
}

.single-product .sn-pdp-purchase .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill[aria-checked="true"],
.single-product .sn-pdp-purchase .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options button[aria-checked="true"] {
    border-color: #111;
    box-shadow: inset 0 0 0 2px #111;
}

.single-product .sn-pdp-benefits {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.single-product .sn-pdp-benefit {
    background: #f7f7f7;
    border: 1px solid #dedede;
    min-height: 94px;
    padding: 0.875rem;
}

.single-product .sn-pdp-benefit p {
    margin: 0;
}

.single-product .sn-pdp-benefit p:first-child {
    color: #111;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.single-product .sn-pdp-benefit p:last-child {
    color: #555;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 0.35rem;
}

.single-product .sn-pdp-meta {
    border-top: 1px solid #e1e1e1;
    color: #555;
    padding-top: 0.875rem;
}

.single-product .sn-pdp-meta a {
    color: inherit;
}

.sn-pdp-anchor-nav {
    align-items: center;
    background: #111;
    border-bottom: 1px solid #111;
    border-top: 1px solid #111;
    display: flex;
    gap: 0;
    justify-content: center;
    overflow-x: auto;
    position: sticky;
    scrollbar-width: none;
    top: var(--sn-fixed-stack-height, 0);
    z-index: 45;
}

.admin-bar .sn-pdp-anchor-nav {
    top: calc(var(--sn-fixed-stack-height, 0px) + 32px);
}

.sn-pdp-anchor-nav::-webkit-scrollbar {
    display: none;
}

.sn-pdp-anchor-nav a {
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 900;
    justify-content: center;
    min-height: 52px;
    min-width: 160px;
    padding: 1rem 1.25rem;
    text-decoration: none;
    text-transform: uppercase;
}

.sn-pdp-anchor-nav a:hover,
.sn-pdp-anchor-nav a:focus-visible {
    background: #fff;
    color: #111;
    outline: 0;
}

.single-product .sn-pdp-section {
    scroll-margin-top: calc(var(--sn-fixed-stack-height, 0px) + 64px);
}

.single-product .sn-pdp-section:nth-of-type(even) {
    background: #f6f6f6;
}

.single-product .sn-pdp-section-head {
    align-self: flex-start;
}

.single-product .sn-pdp-section-kicker {
    color: #d71920;
    font-size: 0.78rem;
    font-weight: 900;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
}

.single-product .sn-pdp-section h2 {
    font-family: var(--wp--preset--font-family--inter, sans-serif);
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 900;
    line-height: 1.05;
    margin-top: 0;
}

.single-product .sn-pdp-section h3 {
    font-size: 1.05rem;
    font-weight: 900;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.single-product .sn-pdp-detail-copy,
.single-product .sn-pdp-detail-copy p,
.single-product .sn-pdp-section p {
    color: #333;
    line-height: 1.6;
}

.single-product .sn-pdp-spec-card {
    background: #fff;
    border: 1px solid #dcdcdc;
    padding: clamp(1rem, 2vw, 1.5rem);
}

.single-product .sn-pdp-spec-card table {
    margin-bottom: 0;
}

.single-product .sn-pdp-video {
    background: #111;
    color: #fff;
    display: grid;
    margin: 0;
}

.single-product .sn-pdp-video-frame {
    background: #050505;
    overflow: hidden;
    position: relative;
}

.single-product .sn-pdp-video-frame::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

.single-product .sn-pdp-video-frame iframe,
.single-product .sn-pdp-video-frame video,
.single-product .sn-pdp-video-frame .wp-video,
.single-product .sn-pdp-video-frame .wp-video-shortcode,
.single-product .sn-pdp-video-frame > a {
    height: 100% !important;
    inset: 0;
    position: absolute;
    width: 100% !important;
}

.single-product .sn-pdp-video-frame video,
.single-product .sn-pdp-video-frame .wp-video-shortcode {
    object-fit: cover;
}

.single-product .sn-pdp-video-copy {
    padding: clamp(1rem, 3vw, 2rem);
}

.single-product .sn-pdp-video-copy p {
    color: #d71920;
    font-size: 0.78rem;
    font-weight: 900;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
}

.single-product .sn-pdp-video-copy h2 {
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.75rem);
    font-weight: 900;
    line-height: 1.05;
    margin: 0;
}

.single-product .sn-pdp-video-tile {
    border: 1px solid #d7d7d7;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 0.28fr);
    margin-top: 1rem;
}

.single-product .sn-pdp-video-tile .sn-pdp-video-copy {
    align-self: center;
}

.single-product .sn-pdp-video-tile .sn-pdp-video-copy h2 {
    font-size: 1.15rem;
}

.single-product .sn-pdp-video-feature {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
}

.single-product .sn-pdp-video-link {
    align-items: center;
    background: #fff;
    color: #111;
    display: flex;
    font-weight: 900;
    justify-content: center;
    text-decoration: none;
}

.single-product .sn-pdp-service {
    background: #f4f4f4;
}

.single-product .sn-pdp-service-grid > .wp-block-column,
.single-product .sn-pdp-faq .wp-block-details {
    background: #fff;
    border: 1px solid #dedede;
    padding: clamp(1rem, 2vw, 1.5rem);
}

.single-product .sn-pdp-native-accordion {
    margin: 0;
}

.single-product .sn-pdp-native-accordion + .sn-pdp-native-accordion {
    margin-top: 0.75rem;
}

.single-product .sn-pdp-native-accordion summary {
    cursor: pointer;
    font-weight: 900;
    text-transform: uppercase;
}

.single-product .sn-pdp-related {
    border-top: 1px solid #e5e5e5;
}

.single-product .sn-pdp-reviews {
    background: #f6f6f6;
}

@media (min-width: 782px) {
    .single-product .sn-pdp-summary-column {
        position: sticky;
        top: calc(var(--sn-fixed-stack-height, 0px) + 24px);
    }

    .admin-bar.single-product .sn-pdp-summary-column {
        top: calc(var(--sn-fixed-stack-height, 0px) + 56px);
    }
}

@media (max-width: 980px) {
    .single-product .sn-pdp-shell {
        padding-bottom: 2rem;
    }

    .single-product .sn-pdp-hero {
        gap: 1.5rem !important;
    }

    .single-product .sn-pdp-summary-card {
        box-shadow: none;
    }

    .single-product .sn-pdp-video-feature,
    .single-product .sn-pdp-video-tile {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .admin-bar .sn-pdp-anchor-nav {
        top: calc(var(--sn-fixed-stack-height, 0px) + 46px);
    }

    .sn-pdp-anchor-nav {
        justify-content: flex-start;
    }

    .sn-pdp-anchor-nav a {
        font-size: 0.74rem;
        min-height: 46px;
        min-width: max-content;
        padding: 0.875rem 1rem;
    }

    .single-product .sn-pdp-benefits,
    .single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options > .wp-block-group {
        grid-template-columns: 1fr;
    }

    .single-product .sn-pdp-benefit {
        min-height: 0;
    }
}

/* PDP refinement pass: closer to the current SharkNinja product page. */
body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-promo-bar,
body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell {
    transform: translateY(calc(-1 * var(--sn-fixed-stack-height, 96px))) !important;
}

body.single-product.sn-scroll-up .sn-promo-bar,
body.single-product.sn-scroll-up .sn-header-shell,
body.single-product.sn-header-at-top .sn-promo-bar,
body.single-product.sn-header-at-top .sn-header-shell,
body.single-product.sn-mega-open .sn-promo-bar,
body.single-product.sn-mega-open .sn-header-shell,
body.single-product.sn-search-open .sn-promo-bar,
body.single-product.sn-search-open .sn-header-shell,
body.single-product.sn-menu-open .sn-promo-bar,
body.single-product.sn-menu-open .sn-header-shell {
    transform: translateY(0) !important;
}

body.single-product .sn-promo-bar,
body.single-product .sn-header-shell {
    transition: transform 260ms var(--sn-ease-tight, ease), background-color 180ms var(--sn-ease-tight, ease), box-shadow 180ms var(--sn-ease-tight, ease);
    will-change: transform;
}

body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-pdp-anchor-nav {
    top: 0;
}

body.admin-bar.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-pdp-anchor-nav {
    top: 32px;
}

body.single-product .sn-pdp-shell {
    background: #f3f3f3;
    padding-bottom: clamp(1.75rem, 3vw, 3rem);
}

body.single-product .sn-pdp-breadcrumb {
    border-bottom: 1px solid #dddddd;
    padding-left: var(--sn-page-gutter, 32px) !important;
    padding-right: var(--sn-page-gutter, 32px) !important;
}

body.single-product .sn-pdp-hero {
    column-gap: clamp(1.25rem, 2vw, 2rem) !important;
    max-width: 1480px !important;
    width: calc(100% - (var(--sn-page-gutter, 32px) * 2));
}

body.single-product .sn-pdp-media {
    background: #fff;
    border: 1px solid #dedede;
    min-height: clamp(560px, 72vh, 760px);
    padding: clamp(0.75rem, 1.2vw, 1.25rem);
}

body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery,
body.single-product .sn-pdp-media .wc-block-product-gallery {
    display: grid;
    gap: 0.875rem;
    grid-template-columns: minmax(76px, 92px) minmax(0, 1fr);
}

body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-thumbnails {
    grid-column: 1;
    grid-row: 1;
}

body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image {
    grid-column: 2;
    grid-row: 1;
}

body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image,
body.single-product .sn-pdp-media .wc-block-product-gallery-large-image__inner-blocks,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-image,
body.single-product .sn-pdp-media .wc-block-components-product-image {
    min-height: clamp(510px, 66vh, 700px);
}

body.single-product .sn-pdp-media .wc-block-components-product-image img,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-image img {
    height: 100%;
    max-height: 700px;
    object-fit: contain;
    width: 100%;
}

body.single-product .sn-pdp-summary-column {
    align-self: flex-start;
}

body.single-product .sn-pdp-summary-card {
    background: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 0;
    box-shadow: none;
    min-height: clamp(560px, 72vh, 760px);
    padding: 0;
}

body.single-product .sn-pdp-price-strip,
body.single-product .sn-pdp-title-panel,
body.single-product .sn-pdp-summary,
body.single-product .sn-pdp-review-line,
body.single-product .sn-pdp-purchase,
body.single-product .sn-pdp-pay-note,
body.single-product .sn-pdp-benefits,
body.single-product .sn-pdp-meta {
    margin: 0 !important;
    padding-left: clamp(1.25rem, 2vw, 2rem);
    padding-right: clamp(1.25rem, 2vw, 2rem);
}

body.single-product .sn-pdp-price-strip {
    border-bottom: 1px solid #dfdfdf;
    min-height: 76px;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

body.single-product .sn-pdp-title-panel {
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 1.1rem;
    padding-top: 1.25rem;
}

body.single-product .sn-pdp-title {
    font-size: clamp(1.75rem, 2.45vw, 2.55rem) !important;
    letter-spacing: 0 !important;
    line-height: 1.04 !important;
}

body.single-product .sn-pdp-item-code {
    color: #505050;
    font-size: 0.82rem;
    font-weight: 800;
}

body.single-product .sn-pdp-item-code p,
body.single-product .sn-pdp-item-code .wp-block-woocommerce-product-sku {
    margin: 0;
}

body.single-product .sn-pdp-summary {
    border-bottom: 1px solid #e6e6e6;
    display: block;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

body.single-product .sn-pdp-review-line {
    border-bottom: 1px solid #e6e6e6;
    min-height: 58px;
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
}

body.single-product .sn-pdp-review-line p {
    color: #555;
    font-size: 0.82rem;
    font-weight: 800;
    margin: 0;
}

body.single-product .sn-pdp-purchase {
    padding-bottom: 1.2rem;
    padding-top: 1.2rem;
}

body.single-product .sn-pdp-total-row {
    border-bottom: 1px solid #e2e2e2;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
}

body.single-product .sn-pdp-total-row p {
    font-size: 1rem;
    font-weight: 900;
    margin: 0;
    text-transform: uppercase;
}

body.single-product .sn-pdp-price-top,
body.single-product .sn-pdp-price-total {
    font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
}

body.single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options {
    border: 0;
    padding: 0;
}

body.single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options > .wp-block-group {
    grid-template-columns: 110px minmax(0, 1fr);
}

body.single-product .sn-pdp-purchase .wp-block-woocommerce-product-button button,
body.single-product .sn-pdp-purchase .single_add_to_cart_button,
body.single-product .sn-pdp-purchase button[type="submit"] {
    background: #111 !important;
    border-color: #111 !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    min-height: 54px;
    text-transform: uppercase;
}

body.single-product .sn-pdp-purchase .wp-block-woocommerce-product-button button:hover,
body.single-product .sn-pdp-purchase .single_add_to_cart_button:hover,
body.single-product .sn-pdp-purchase button[type="submit"]:hover {
    background: #fff !important;
    color: #111 !important;
}

body.single-product .sn-pdp-pay-note {
    background: #f7f7f7;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
    color: #333;
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
}

body.single-product .sn-pdp-benefits {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

body.single-product .sn-pdp-benefit {
    background: transparent;
    border: 0;
    border-right: 1px solid #e1e1e1;
    min-height: 72px;
    padding: 0 0.75rem 0 0;
}

body.single-product .sn-pdp-benefit:last-child {
    border-right: 0;
}

body.single-product .sn-pdp-meta {
    border-top: 0;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

body.single-product .sn-pdp-anchor-nav {
    background: #111;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: stretch;
    padding-left: var(--sn-page-gutter, 32px);
    padding-right: var(--sn-page-gutter, 32px);
    transition: top 260ms var(--sn-ease-tight, ease);
}

body.single-product .sn-pdp-anchor-primary,
body.single-product .sn-pdp-anchor-secondary {
    align-items: center;
    display: flex;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

body.single-product .sn-pdp-anchor-primary::-webkit-scrollbar,
body.single-product .sn-pdp-anchor-secondary::-webkit-scrollbar {
    display: none;
}

body.single-product .sn-pdp-anchor-secondary {
    border-left: 1px solid rgba(255, 255, 255, 0.24);
    justify-content: flex-end;
    padding-left: 0.5rem;
}

body.single-product .sn-pdp-anchor-nav a {
    min-height: 56px;
    min-width: 0;
    padding-left: clamp(0.85rem, 1.4vw, 1.5rem);
    padding-right: clamp(0.85rem, 1.4vw, 1.5rem);
    white-space: nowrap;
}

body.single-product .sn-pdp-section {
    scroll-margin-top: calc(var(--sn-fixed-stack-height, 0px) + 72px);
}

body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-pdp-section {
    scroll-margin-top: 72px;
}

body.single-product .sn-pdp-highlights {
    background: #fff;
}

body.single-product .sn-pdp-highlights-head {
    margin-bottom: 1.5rem;
}

body.single-product .sn-pdp-highlight-grid {
    gap: 1rem;
}

body.single-product .sn-pdp-highlight-card {
    background: #f5f5f5;
    border: 1px solid #dedede;
    min-height: 210px;
    padding: clamp(1rem, 2vw, 1.5rem);
}

body.single-product .sn-pdp-highlight-card h3 {
    color: #111;
    font-size: 1rem;
    font-weight: 900;
    margin-top: 0;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-hero {
        width: calc(100% - 28px);
    }

    body.single-product .sn-pdp-media,
    body.single-product .sn-pdp-summary-card {
        min-height: 0;
    }

    body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery,
    body.single-product .sn-pdp-media .wc-block-product-gallery {
        grid-template-columns: 1fr;
    }

    body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-thumbnails,
    body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image {
        grid-column: 1;
        grid-row: auto;
    }

    body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image,
    body.single-product .sn-pdp-media .wc-block-product-gallery-large-image__inner-blocks,
    body.single-product .sn-pdp-media .wp-block-woocommerce-product-image,
    body.single-product .sn-pdp-media .wc-block-components-product-image {
        min-height: 420px;
    }

    body.single-product .sn-pdp-anchor-nav {
        grid-template-columns: 1fr;
        padding-left: 0;
        padding-right: 0;
    }

    body.single-product .sn-pdp-anchor-primary,
    body.single-product .sn-pdp-anchor-secondary {
        justify-content: flex-start;
        padding-left: 0;
    }

    body.single-product .sn-pdp-anchor-secondary {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.22);
    }
}

@media (max-width: 700px) {
    body.admin-bar.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-pdp-anchor-nav {
        top: 46px;
    }

    body.single-product .sn-pdp-media {
        padding: 0.75rem;
    }

    body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image,
    body.single-product .sn-pdp-media .wc-block-product-gallery-large-image__inner-blocks,
    body.single-product .sn-pdp-media .wp-block-woocommerce-product-image,
    body.single-product .sn-pdp-media .wc-block-components-product-image {
        min-height: 330px;
    }

    body.single-product .sn-pdp-benefits {
        gap: 0;
    }

    body.single-product .sn-pdp-benefit {
        border-bottom: 1px solid #e1e1e1;
        border-right: 0;
        padding: 0.75rem 0;
    }

    body.single-product .sn-pdp-benefit:last-child {
        border-bottom: 0;
    }
}

/* Selectable PDP media gallery: left rail, right active image/video. */
body.single-product .sn-pdp-media.wp-block-column,
body.single-product .sn-pdp-media.is-layout-flow {
    display: block;
}

body.single-product .sn-pdp-custom-gallery {
    display: grid;
    gap: clamp(0.75rem, 1vw, 1rem);
    grid-template-columns: clamp(78px, 7vw, 104px) minmax(0, 1fr);
    min-height: clamp(560px, 72vh, 760px);
    width: 100%;
}

body.single-product .sn-pdp-media-rail {
    align-content: start;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: clamp(560px, 72vh, 760px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.125rem;
    scrollbar-width: thin;
}

body.single-product .sn-pdp-media-thumb {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: #f6f6f6 !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    position: relative;
    width: 100%;
}

body.single-product .sn-pdp-media-thumb:hover,
body.single-product .sn-pdp-media-thumb:focus-visible,
body.single-product .sn-pdp-media-thumb.is-active {
    border-color: #111 !important;
    box-shadow: inset 0 0 0 2px #111 !important;
    outline: 0;
}

body.single-product .sn-pdp-media-thumb img {
    display: block;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
    width: 100%;
}

body.single-product .sn-pdp-media-thumb-video::after {
    background: rgba(0, 0, 0, 0.62);
    content: "";
    inset: 0;
    position: absolute;
}

body.single-product .sn-pdp-media-play {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    display: flex;
    height: 34px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    z-index: 1;
}

body.single-product .sn-pdp-media-play::before {
    border-bottom: 7px solid transparent;
    border-left: 11px solid #111;
    border-top: 7px solid transparent;
    content: "";
    margin-left: 3px;
}

body.single-product .sn-pdp-media-stage {
    background: #f7f7f7;
    border-left: 1px solid #e0e0e0;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

body.single-product .sn-pdp-media-panel {
    height: 100%;
    min-height: clamp(560px, 72vh, 760px);
    width: 100%;
}

body.single-product .sn-pdp-media-panel[hidden] {
    display: none !important;
}

body.single-product .sn-pdp-media-panel.is-active {
    align-items: center;
    display: flex;
    justify-content: center;
}

body.single-product .sn-pdp-media-panel-inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

body.single-product .sn-pdp-media-panel-image img {
    display: block;
    height: 100%;
    max-height: clamp(540px, 70vh, 740px);
    object-fit: contain;
    padding: clamp(1rem, 2.4vw, 2.5rem);
    width: 100%;
}

body.single-product .sn-pdp-media-panel-video .sn-pdp-media-panel-inner {
    background: #050505;
}

body.single-product .sn-pdp-media-panel-video iframe,
body.single-product .sn-pdp-media-panel-video video,
body.single-product .sn-pdp-media-panel-video .wp-video,
body.single-product .sn-pdp-media-panel-video .wp-video-shortcode,
body.single-product .sn-pdp-media-panel-video .sn-pdp-video-link {
    border: 0;
    display: block;
    height: 100% !important;
    min-height: clamp(560px, 72vh, 760px);
    object-fit: contain;
    width: 100% !important;
}

body.single-product .sn-pdp-media-panel-video iframe {
    aspect-ratio: 16 / 9;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-custom-gallery {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.single-product .sn-pdp-media-rail {
        flex-direction: row;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 0.25rem;
        padding-right: 0;
    }

    body.single-product .sn-pdp-media-thumb {
        flex: 0 0 82px;
        width: 82px;
    }

    body.single-product .sn-pdp-media-stage {
        border-left: 0;
        border-top: 1px solid #e0e0e0;
    }

    body.single-product .sn-pdp-media-panel,
    body.single-product .sn-pdp-media-panel-video iframe,
    body.single-product .sn-pdp-media-panel-video video,
    body.single-product .sn-pdp-media-panel-video .wp-video,
    body.single-product .sn-pdp-media-panel-video .wp-video-shortcode,
    body.single-product .sn-pdp-media-panel-video .sn-pdp-video-link {
        min-height: 430px;
    }
}

@media (max-width: 700px) {
    body.single-product .sn-pdp-media-thumb {
        flex-basis: 72px;
        width: 72px;
    }

    body.single-product .sn-pdp-media-play {
        height: 30px;
        width: 30px;
    }

    body.single-product .sn-pdp-media-panel,
    body.single-product .sn-pdp-media-panel-video iframe,
    body.single-product .sn-pdp-media-panel-video video,
    body.single-product .sn-pdp-media-panel-video .wp-video,
    body.single-product .sn-pdp-media-panel-video .wp-video-shortcode,
    body.single-product .sn-pdp-media-panel-video .sn-pdp-video-link {
        min-height: 340px;
    }

    body.single-product .sn-pdp-media-panel-image img {
        max-height: 360px;
        padding: 1rem;
    }
}

/* SharkNinja PDP modules from the sticky jump links downward. */
body.single-product .sn-pdp-anchor-nav {
    background: transparent;
    border: 0;
    display: block;
    min-height: 0;
    padding: 0;
    position: sticky !important;
    top: 0 !important;
    transition: box-shadow 0.3s ease-in-out, top 0.3s ease-in-out;
    width: 100%;
    z-index: 1205;
}

body.single-product .sn-pdp-anchor-spacer {
    height: 0;
    position: relative;
}

body.single-product .sn-pdp-anchor-nav.at-top {
    background: transparent;
    border-bottom: 0.03125rem solid #d1d1d1;
    box-shadow: none;
    left: 0;
    opacity: 1;
    position: fixed;
    right: 0;
    top: var(--sn-pdp-sticky-top, 0px) !important;
    transform: translateY(0);
    width: 100%;
}

body.single-product .sn-pdp-anchor-nav .sticky-container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: var(--sn-pdp-reference-width, 65rem);
    padding: 0;
    width: min(100%, calc(100vw - 2rem));
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper {
    position: relative;
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper::before,
body.single-product .sn-pdp-anchor-nav .jump-links-wrapper::after {
    content: "";
    height: 100%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: opacity 0.2s;
    width: 1.875rem;
    z-index: 1;
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper::before {
    background: linear-gradient(270deg, transparent 38.24%, rgba(255, 255, 255, 0) 100%);
    filter: fliph;
    left: 0;
    transform: scaleX(-1);
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper::after {
    background: linear-gradient(270deg, transparent 38.24%, rgba(255, 255, 255, 0) 100%);
    right: 0;
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper.shadow-left::before,
body.single-product .sn-pdp-anchor-nav .jump-links-wrapper.shadow-right::after {
    opacity: 1;
}

body.single-product .sn-pdp-anchor-primary,
body.single-product .sn-pdp-anchor-nav .jump-links {
    background: transparent;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    overflow-x: auto;
    padding: 1.5rem 0;
    scrollbar-width: none;
    text-align: center;
    white-space: nowrap;
    width: 100%;
}

body.single-product .sn-pdp-anchor-primary::-webkit-scrollbar,
body.single-product .sn-pdp-anchor-nav .jump-links::-webkit-scrollbar {
    display: none;
}

body.single-product .sn-pdp-anchor-nav .jump-links-wrapper.shadow-left .jump-links,
body.single-product .sn-pdp-anchor-nav .jump-links-wrapper.shadow-right .jump-links {
    justify-content: flex-start;
}

body.single-product .sn-pdp-anchor-nav a.tab,
body.single-product .sn-pdp-anchor-nav a {
    align-items: center;
    border: 0.0625rem solid #888;
    border-radius: 2.25rem;
    color: #6d6d6d;
    cursor: pointer;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.5rem;
    margin-right: 0.75rem;
    max-height: 2rem;
    min-height: 0;
    min-width: 0;
    padding: 0.25rem 1rem;
    position: relative;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}

body.single-product .sn-pdp-anchor-nav a.tab:first-child,
body.single-product .sn-pdp-anchor-nav a:first-child {
    margin-left: 0.75rem;
}

body.single-product .sn-pdp-anchor-nav a::after {
    content: none;
}

body.single-product .sn-pdp-anchor-nav a.tab:hover,
body.single-product .sn-pdp-anchor-nav a:hover,
body.single-product .sn-pdp-anchor-nav a.tab:focus-visible,
body.single-product .sn-pdp-anchor-nav a:focus-visible {
    background-color: #e7e7e7;
    border-color: #000;
    color: #000;
    text-decoration: none;
}

body.single-product .sn-pdp-anchor-nav a.tab:active,
body.single-product .sn-pdp-anchor-nav a.tab.active,
body.single-product .sn-pdp-anchor-nav a.tab.is-active,
body.single-product .sn-pdp-anchor-nav a:active,
body.single-product .sn-pdp-anchor-nav a.is-active {
    background-color: #000;
    border-color: #000;
    color: #fff;
}

body.single-product .sn-pdp-anchor-nav a.tab:focus,
body.single-product .sn-pdp-anchor-nav a:focus {
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
    text-decoration: none;
}

body.single-product .sn-pdp-section.sn-pdp-official-highlights {
    background: transparent !important;
    padding: clamp(2.5rem, 5vw, 4.25rem) 0 clamp(2.75rem, 5vw, 4.75rem);
}

body.single-product .sn-pdp-official-container,
body.single-product .sn-pdp-feature-split-inner,
body.single-product .sn-pdp-compare-container,
body.single-product .sn-pdp-owner-inner,
body.single-product .sn-pdp-direct-benefits-inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: var(--sn-pdp-reference-width, 65rem);
    width: min(100%, calc(100vw - 2rem));
}

body.single-product .sn-pdp-official-heading {
    margin: 0 auto clamp(1.5rem, 3vw, 2.5rem);
    max-width: 760px;
    text-align: center;
}

body.single-product .sn-pdp-official-heading h2,
body.single-product .sn-pdp-compare-heading h2,
body.single-product .sn-pdp-feature-copy h2,
body.single-product .sn-pdp-owner-copy h2,
body.single-product .sn-pdp-direct-benefits-head h2 {
    color: #111;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2.25rem;
    margin: 0;
}

body.single-product .sn-pdp-official-heading h2 {
    margin: 0 auto 1rem;
    max-width: 39.125rem;
}

body.single-product .sn-pdp-official-heading p {
    color: #454545;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
    margin: 0 auto;
    max-width: 39.125rem;
}

body.single-product .sn-pdp-official-carousel {
    position: relative;
}

body.single-product .sn-pdp-official-track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 0 1.25rem;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

body.single-product .sn-pdp-official-track::-webkit-scrollbar,
body.single-product .sn-pdp-compare-rail::-webkit-scrollbar {
    display: none;
}

body.single-product .sn-pdp-official-card {
    background: transparent;
    flex: 0 0 calc((100% - 2.5rem) / 3);
    min-width: 0;
    scroll-snap-align: start;
}

body.single-product .sn-pdp-official-card figure {
    aspect-ratio: 4 / 3;
    background: transparent;
    border: 1px solid #d1d1d1;
    border-radius: 1rem;
    margin: 0;
    overflow: hidden;
}

body.single-product .sn-pdp-official-card img,
body.single-product .sn-pdp-official-card video,
body.single-product .sn-pdp-feature-media video,
body.single-product .sn-pdp-owner-media img {
    border-radius: 1rem;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body.single-product .sn-pdp-official-card-copy {
    padding: 1.5rem 0.35rem 0;
    text-align: center;
}

body.single-product .sn-pdp-official-card-copy h3 {
    color: #111;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin: 0 0 0.5rem;
    text-transform: none;
}

body.single-product .sn-pdp-official-card-copy p {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
    margin: 0 auto;
    max-width: 30ch;
}

body.single-product .sn-pdp-carousel-arrow {
    align-items: center;
    background: transparent !important;
    border: 1px solid rgba(0, 0, 0, 0.18) !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
    display: flex;
    height: 44px;
    justify-content: center;
    padding: 0 !important;
    position: absolute;
    top: calc(50% - 52px);
    transform: translateY(-50%);
    width: 44px;
    z-index: 2;
}

body.single-product .sn-pdp-carousel-arrow::before {
    border-color: #111;
    border-style: solid;
    content: "";
    height: 11px;
    width: 11px;
}

body.single-product .sn-pdp-carousel-prev {
    left: -22px;
}

body.single-product .sn-pdp-carousel-prev::before {
    border-width: 0 0 2px 2px;
    margin-left: 4px;
    transform: rotate(45deg);
}

body.single-product .sn-pdp-carousel-next {
    right: -22px;
}

body.single-product .sn-pdp-carousel-next::before {
    border-width: 2px 2px 0 0;
    margin-right: 4px;
    transform: rotate(45deg);
}

body.single-product .sn-pdp-carousel-arrow:disabled {
    opacity: 0.35;
}

body.single-product .sn-pdp-carousel-dots {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    min-height: 18px;
}

body.single-product .sn-pdp-carousel-dots button {
    background: #8d8d8d !important;
    border: 0 !important;
    border-radius: 50% !important;
    height: 8px;
    min-height: 0 !important;
    padding: 0 !important;
    width: 8px;
}

body.single-product .sn-pdp-carousel-dots button.is-active,
body.single-product .sn-pdp-carousel-dots button[aria-current="true"] {
    background: #111 !important;
}

body.single-product .sn-pdp-section.sn-pdp-feature-split {
    background: transparent !important;
    padding: clamp(3rem, 5vw, 5rem) 0;
}

body.single-product .sn-pdp-feature-split-inner {
    align-items: center;
    display: flex;
    gap: 1.75rem;
}

body.single-product .sn-pdp-feature-media {
    aspect-ratio: 1 / 1;
    background: transparent;
    border: 1px solid #d1d1d1;
    border-radius: 1rem;
    flex: 1 1 50%;
    min-height: 0;
    overflow: hidden;
}

body.single-product .sn-pdp-feature-media video {
    background: transparent;
    border-radius: 1rem;
    display: block;
    width: 100%;
}

body.single-product .sn-pdp-feature-media video::-webkit-media-controls,
body.single-product .sn-pdp-feature-media video::-webkit-media-controls-panel,
body.single-product .sn-pdp-feature-media video::-webkit-media-controls-timeline,
body.single-product .sn-pdp-feature-media video::-webkit-media-controls-current-time-display,
body.single-product .sn-pdp-feature-media video::-webkit-media-controls-time-remaining-display {
    display: none !important;
}

body.single-product .sn-pdp-feature-copy {
    align-items: center;
    background: transparent;
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding: 0;
    text-align: left;
}

body.single-product .sn-pdp-feature-copy h2 {
    margin: 0 auto 1rem;
    max-width: 25.5rem;
    width: 100%;
}

body.single-product .sn-pdp-feature-copy p {
    color: #454545;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
    margin: 0 auto;
    max-width: 25.5rem;
    width: 100%;
}

body.single-product .sn-pdp-feature-copy p + p {
    margin-top: 1rem;
}

body.single-product .sn-pdp-section.sn-pdp-compare {
    background: transparent !important;
    padding: clamp(2.75rem, 5vw, 4.5rem) 0;
}

body.single-product .sn-pdp-compare-heading {
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
    text-align: center;
}

body.single-product .sn-pdp-compare-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow-x: auto;
    scrollbar-width: none;
}

body.single-product .sn-pdp-compare-card {
    background: transparent;
    border: 1px solid #d1d1d1;
    border-radius: 1rem;
    display: grid;
    grid-template-rows: auto auto repeat(5, minmax(82px, auto));
    min-width: 0;
    overflow: hidden;
}

body.single-product .sn-pdp-compare-card.is-featured {
    background: transparent;
}

body.single-product .sn-pdp-compare-card img {
    align-self: center;
    border-radius: 1rem;
    display: block;
    margin: 0 auto;
    max-width: min(82%, 210px);
    padding: 1.25rem 0 0.75rem;
    width: 100%;
}

body.single-product .sn-pdp-compare-card h3 {
    align-items: center;
    color: #111;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    justify-content: center;
    line-height: 1.25;
    margin: 0;
    min-height: 56px;
    padding: 0 1rem 1.1rem;
    text-align: center;
    text-transform: none;
}

body.single-product .sn-pdp-compare-card p {
    align-items: center;
    border-top: 1px solid #d6d6d6;
    color: #111;
    display: flex;
    flex-direction: column;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    justify-content: center;
    line-height: 1.3;
    margin: 0;
    padding: 1rem;
    text-align: center;
}

body.single-product .sn-pdp-compare-card strong {
    font-weight: 800;
}

body.single-product .sn-pdp-compare-card span {
    display: block;
    font-weight: 400;
    margin-top: 0.25rem;
}

body.single-product .sn-pdp-compare-card em {
    font-size: 0.8rem;
    font-style: italic;
}

body.single-product .sn-pdp-customers {
    background: transparent !important;
}

body.single-product .sn-pdp-customers-title {
    color: #111;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 1.5rem;
}

body.single-product .sn-pdp-section.sn-pdp-owner {
    background: transparent !important;
    padding: clamp(2.75rem, 5vw, 4.5rem) 0;
}

body.single-product .sn-pdp-owner-inner {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

body.single-product .sn-pdp-owner-media {
    background: transparent;
    border-bottom-left-radius: 1rem;
    border-top-left-radius: 1rem;
    min-height: clamp(390px, 40vw, 560px);
    overflow: hidden;
}

body.single-product .sn-pdp-owner-copy {
    align-items: center;
    background: transparent;
    border-bottom-right-radius: 1rem;
    border-top-right-radius: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(390px, 40vw, 560px);
    padding: clamp(2rem, 4.5vw, 4rem);
    text-align: center;
}

body.single-product .sn-pdp-owner-links {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
    max-width: 520px;
    width: 100%;
}

body.single-product .sn-pdp-owner-links a {
    align-items: center;
    border-bottom: 1px solid #d9d9d9;
    color: #111;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    gap: 0.75rem;
    justify-content: space-between;
    min-height: 76px;
    padding: 1rem 0.75rem;
    text-align: left;
    text-decoration: none;
}

body.single-product .sn-pdp-owner-links a:nth-child(odd) {
    border-right: 1px solid #d9d9d9;
}

body.single-product .sn-pdp-owner-links a::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 9px;
    transform: rotate(45deg);
    width: 9px;
}

body.single-product .sn-pdp-owner-icon,
body.single-product .sn-pdp-benefit-icon {
    align-items: center;
    border: 2px solid #111;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

body.single-product .sn-pdp-owner-icon::before,
body.single-product .sn-pdp-benefit-icon::before {
    color: #111;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1;
}

body.single-product .sn-pdp-owner-icon-shield::before,
body.single-product .sn-pdp-benefit-shield::before {
    content: "\2713";
}

body.single-product .sn-pdp-owner-icon-package::before,
body.single-product .sn-pdp-benefit-parcel::before {
    content: "\25A1";
}

body.single-product .sn-pdp-owner-icon-wrench::before {
    content: "\002B";
}

body.single-product .sn-pdp-owner-icon-mail::before {
    content: "\0040";
}

body.single-product .sn-pdp-benefit-bag::before {
    content: "\0024";
}

body.single-product .sn-pdp-benefit-calendar::before {
    content: "\0031";
}

body.single-product .sn-pdp-section.sn-pdp-direct-benefits {
    background: transparent !important;
    padding: clamp(2.75rem, 5vw, 4.5rem) 0;
}

body.single-product .sn-pdp-direct-benefits-head {
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
    text-align: center;
}

body.single-product .sn-pdp-direct-benefits-head p {
    color: #333;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
}

body.single-product .sn-pdp-direct-benefits-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.single-product .sn-pdp-direct-benefits-grid article {
    background: transparent;
    border: 1px solid #d1d1d1;
    border-radius: 1rem;
    min-height: 230px;
    padding: 1.35rem;
}

body.single-product .sn-pdp-direct-benefits-grid h3 {
    color: #111;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 1rem 0 0.75rem;
    text-transform: none;
}

body.single-product .sn-pdp-direct-benefits-grid p {
    color: #333;
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0;
}

@media (min-width: 1200px) {
    body.single-product .sn-pdp-anchor-nav .sticky-container {
        padding: 0 1.75rem;
    }

    body.single-product .sn-pdp-anchor-primary,
    body.single-product .sn-pdp-anchor-nav .jump-links {
        padding: 2.5rem 0;
    }

    body.single-product .sn-pdp-anchor-nav a.tab,
    body.single-product .sn-pdp-anchor-nav a {
        max-height: 2.5rem;
        padding: 0.5rem 1.25rem;
    }
}

@media (max-width: 1100px) {
    body.single-product .sn-pdp-official-card {
        flex-basis: calc((100% - 1.25rem) / 2);
    }

    body.single-product .sn-pdp-carousel-arrow {
        display: none;
    }

    body.single-product .sn-pdp-compare-rail {
        grid-auto-columns: minmax(260px, 38vw);
        grid-auto-flow: column;
        grid-template-columns: none;
        scroll-snap-type: x mandatory;
    }

    body.single-product .sn-pdp-compare-card {
        border-left-width: 1px;
        scroll-snap-align: start;
    }

    body.single-product .sn-pdp-direct-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    body.single-product .sn-pdp-feature-split-inner {
        flex-direction: column;
        gap: 2rem;
    }

    body.single-product .sn-pdp-feature-copy {
        order: 1;
        padding: 0 1.25rem;
        text-align: center;
    }

    body.single-product .sn-pdp-feature-copy h2,
    body.single-product .sn-pdp-feature-copy p {
        text-align: center;
    }

    body.single-product .sn-pdp-feature-media {
        order: 2;
        width: 100%;
    }
}

@media (max-width: 760px) {
    body.single-product .sn-pdp-anchor-nav {
        padding: 0;
    }

    body.single-product .sn-pdp-anchor-nav .sticky-container {
        width: 100%;
    }

    body.single-product .sn-pdp-anchor-primary {
        justify-content: center;
    }

    body.single-product .sn-pdp-anchor-nav a.tab,
    body.single-product .sn-pdp-anchor-nav a {
        max-height: 2rem;
        min-height: 0;
        min-width: 0;
        padding: 0.25rem 1rem;
    }

    body.single-product .sn-pdp-official-container,
    body.single-product .sn-pdp-feature-split-inner,
    body.single-product .sn-pdp-compare-container,
    body.single-product .sn-pdp-owner-inner,
    body.single-product .sn-pdp-direct-benefits-inner {
        width: min(100%, calc(100vw - 1.5rem));
    }

    body.single-product .sn-pdp-official-card {
        flex-basis: 100%;
    }

    body.single-product .sn-pdp-feature-split-inner,
    body.single-product .sn-pdp-owner-inner {
        flex-direction: column;
    }

    body.single-product .sn-pdp-owner-inner {
        grid-template-columns: 1fr;
    }

    body.single-product .sn-pdp-feature-media,
    body.single-product .sn-pdp-feature-copy,
    body.single-product .sn-pdp-owner-media,
    body.single-product .sn-pdp-owner-copy {
        min-height: 0;
    }

    body.single-product .sn-pdp-owner-media {
        aspect-ratio: 1 / 1;
        border-radius: 1rem 1rem 0 0;
    }

    body.single-product .sn-pdp-owner-copy {
        border-radius: 0 0 1rem 1rem;
    }

    body.single-product .sn-pdp-owner-links,
    body.single-product .sn-pdp-direct-benefits-grid {
        grid-template-columns: 1fr;
    }

    body.single-product .sn-pdp-owner-links a:nth-child(odd) {
        border-right: 0;
    }

    body.single-product .sn-pdp-direct-benefits-grid article {
        min-height: 0;
    }
}

body.single-product .sn-pdp-main,
body.single-product .sn-pdp-shell,
body.single-product .sn-pdp-breadcrumb,
body.single-product .sn-pdp-hero,
body.single-product .sn-pdp-media,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery,
body.single-product .sn-pdp-media .wc-block-product-gallery,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-large-image,
body.single-product .sn-pdp-media .wc-block-product-gallery-large-image__inner-blocks,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-image,
body.single-product .sn-pdp-media .wc-block-components-product-image,
body.single-product .sn-pdp-media .wp-block-woocommerce-product-gallery-thumbnails img,
body.single-product .sn-pdp-custom-gallery,
body.single-product .sn-pdp-media-thumb,
body.single-product .sn-pdp-media-stage,
body.single-product .sn-pdp-media-panel-inner,
body.single-product .sn-pdp-summary-card,
body.single-product .sn-pdp-pay-note,
body.single-product .sn-pdp-purchase .wp-block-add-to-cart-with-options,
body.single-product .sn-pdp-benefit,
body.single-product .sn-pdp-anchor-nav,
body.single-product .sn-pdp-anchor-nav.at-top,
body.single-product .sn-pdp-anchor-nav .jump-links,
body.single-product .sn-pdp-section,
body.single-product .sn-pdp-section:nth-of-type(even),
body.single-product .sn-pdp-spec-card,
body.single-product .sn-pdp-video,
body.single-product .sn-pdp-video-frame,
body.single-product .sn-pdp-service,
body.single-product .sn-pdp-service-grid > .wp-block-column,
body.single-product .sn-pdp-faq .wp-block-details,
body.single-product .sn-pdp-highlight-card,
body.single-product .sn-pdp-section.sn-pdp-official-highlights,
body.single-product .sn-pdp-section.sn-pdp-feature-split,
body.single-product .sn-pdp-section.sn-pdp-compare,
body.single-product .sn-pdp-section.sn-pdp-owner,
body.single-product .sn-pdp-section.sn-pdp-direct-benefits,
body.single-product .sn-pdp-related,
body.single-product .sn-pdp-customers,
body.single-product .sn-pdp-reviews,
body.single-product .sn-pdp-feature-copy,
body.single-product .sn-pdp-feature-media,
body.single-product .sn-pdp-compare-card,
body.single-product .sn-pdp-compare-card.is-featured,
body.single-product .sn-pdp-owner-media,
body.single-product .sn-pdp-owner-copy,
body.single-product .sn-pdp-direct-benefits-grid article {
    background: transparent !important;
    background-color: transparent !important;
}

body.single-product .sn-pdp-anchor-nav.at-top,
body.single-product .sn-pdp-anchor-nav.at-top .sticky-container,
body.single-product .sn-pdp-anchor-nav.at-top .jump-links-wrapper,
body.single-product .sn-pdp-anchor-nav.at-top .jump-links {
    background: #fff !important;
    background-color: #fff !important;
}

body.single-product .sn-pdp-anchor-nav.at-top .jump-links-wrapper::before,
body.single-product .sn-pdp-anchor-nav.at-top .jump-links-wrapper::after {
    background: linear-gradient(270deg, #fff 38.24%, rgba(255, 255, 255, 0) 100%) !important;
}

body.single-product .sn-pdp-official-carousel .sn-pdp-carousel-arrow {
    display: none !important;
    pointer-events: none;
    visibility: hidden;
}

body.single-product .sn-pdp-official-card {
    flex: 0 0 calc((100% - 2.5rem) / 3);
    max-width: calc((100% - 2.5rem) / 3);
    padding: 0;
    width: calc((100% - 2.5rem) / 3);
}

body.single-product .sn-pdp-official-card figure {
    aspect-ratio: 4 / 3;
    height: auto;
    max-width: 100%;
    width: 100%;
}

body.single-product .sn-pdp-official-card img,
body.single-product .sn-pdp-official-card video {
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    width: 100% !important;
}

@media (max-width: 1199.98px) {
    body.single-product .sn-pdp-official-card {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
        width: 100%;
    }

    body.single-product .sn-pdp-official-card figure {
        aspect-ratio: 4 / 3;
        height: auto;
        width: 100%;
    }
}

body.single-product .sn-pdp-section.sn-pdp-owner {
    background: transparent !important;
    padding: 0 0 5rem;
}

body.single-product .sn-pdp-owner-inner {
    align-items: stretch;
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
    border-radius: 1rem;
    box-sizing: border-box;
    display: flex;
    margin: 0 auto;
    max-width: var(--sn-pdp-reference-width, 65rem);
    overflow: hidden;
    width: min(100%, calc(100vw - 2rem));
}

body.single-product .sn-pdp-owner-media {
    align-items: center;
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
    border-radius: 1rem 0 0 1rem;
    display: flex;
    flex: 0 0 min(42%, 27.5rem);
    justify-content: center;
    min-height: 0;
    overflow: hidden;
}

body.single-product .sn-pdp-owner-media img {
    border-radius: 1rem 0 0 1rem;
    display: block;
    height: auto !important;
    max-height: none !important;
    max-width: 27.5rem;
    object-fit: contain !important;
    width: 100% !important;
}

body.single-product .sn-pdp-owner-copy {
    align-items: center;
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    min-height: 0;
    padding: clamp(3rem, 5.4vw, 6.5625rem) clamp(2.5rem, 3.75vw, 4.5rem);
    text-align: center;
}

body.single-product .sn-pdp-owner-copy h2 {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2.25rem;
    margin: 0 0 3rem;
    padding: 0;
}

body.single-product .sn-pdp-owner-links {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

body.single-product .sn-pdp-owner-links a {
    align-items: center;
    background: #fff !important;
    border: 0 !important;
    border-radius: 1.25rem;
    color: #000;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    gap: 0.75rem;
    line-height: 1.375rem;
    min-height: 3.5rem;
    padding: 1rem 4rem 1rem 1.25rem;
    position: relative;
    text-align: left;
    text-decoration: none;
}

body.single-product .sn-pdp-owner-links a::after {
    background: transparent url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.84 9.43c.16.15.24.36.24.57s-.08.41-.24.56l-5.73 5.47a.76.76 0 0 1-1.1-.02.76.76 0 0 1 .03-1.1l4.31-4.13H3.28a.78.78 0 0 1 0-1.56h11.07l-4.32-4.12a.76.76 0 0 1-.02-1.1.76.76 0 0 1 1.1-.03l5.73 5.47Z' fill='%23000'/%3E%3C/svg%3E") center / 1.25rem 1.25rem no-repeat;
    border: 0;
    border-radius: 2.5rem;
    content: "";
    height: 2rem;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
}

body.single-product .sn-pdp-owner-links a:hover::after,
body.single-product .sn-pdp-owner-links a:focus-visible::after {
    background-color: #f6f6f6;
}

body.single-product .sn-pdp-owner-icon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 0;
    border-radius: 0;
    display: inline-block;
    flex: 0 0 1.5rem;
    height: 1.5rem;
    width: 1.5rem;
}

body.single-product .sn-pdp-owner-icon::before {
    content: none !important;
}

body.single-product .sn-pdp-owner-icon-shield {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 11.5 11 13.5 15.5 9M20 12c0 4.9-5.35 8.48-7.3 9.62-.22.13-.33.19-.49.22a1.05 1.05 0 0 1-.42 0c-.16-.03-.27-.09-.49-.22C9.35 20.48 4 16.9 4 12V7.22c0-.8 0-1.2.13-1.55.12-.3.3-.57.55-.79.27-.24.65-.38 1.4-.66l5.36-2.01c.2-.08.31-.12.42-.13.09-.02.19-.02.28 0 .11.01.22.05.42.13l5.36 2.01c.75.28 1.13.42 1.4.66.24.22.43.49.55.79.13.35.13.75.13 1.55V12Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-owner-icon-package {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.5 7.28 12 12m0 0L3.5 7.28M12 12v9.5m2-.61-1.22.68c-.28.16-.43.23-.58.27-.13.02-.27.02-.4 0-.15-.04-.3-.11-.58-.27l-7.4-4.11c-.3-.17-.45-.25-.56-.37a1.2 1.2 0 0 1-.21-.36C3 16.57 3 16.4 3 16.06V7.94c0-.34 0-.51.05-.67.05-.14.12-.26.21-.36.11-.12.26-.2.56-.37l7.4-4.11c.28-.16.43-.24.58-.27.13-.03.27-.03.4 0 .15.03.3.11.58.27l7.4 4.11c.3.17.45.25.56.37.1.1.17.22.21.36.05.16.05.33.05.67v4.56M7.5 4.5l9 5M19 21v-6m-3 3h6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-owner-icon-wrench {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.63 7.63c-.4-.4-.59-.6-.67-.82a1.04 1.04 0 0 1 0-.62c.08-.23.27-.43.67-.82l2.84-2.84A6.02 6.02 0 0 0 10 8c0 .49.06.97.17 1.43.12.49.18.73.17.88-.01.17-.04.25-.11.4-.07.13-.21.27-.48.54L3.5 17.5a2.12 2.12 0 0 0 3 3l6.25-6.25c.27-.27.41-.41.54-.48.15-.07.23-.1.4-.11.15-.01.39.05.88.17A6 6 0 0 0 22 8c0-.88-.19-1.72-.53-2.47l-2.84 2.84c-.4.4-.59.59-.82.67-.2.07-.42.07-.62 0-.23-.08-.42-.27-.82-.67l-.74-.74Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-owner-icon-mail {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 7 8.16 5.72c.66.46.99.69 1.36.78.31.08.65.08.96 0 .37-.09.7-.32 1.36-.78L22 7M6.8 20h10.4c1.68 0 2.52 0 3.16-.33a3 3 0 0 0 1.31-1.31c.33-.64.33-1.48.33-3.16V8.8c0-1.68 0-2.52-.33-3.16a3 3 0 0 0-1.31-1.31C19.72 4 18.88 4 17.2 4H6.8c-1.68 0-2.52 0-3.16.33a3 3 0 0 0-1.31 1.31C2 6.28 2 7.12 2 8.8v6.4c0 1.68 0 2.52.33 3.16a3 3 0 0 0 1.31 1.31C4.28 20 5.12 20 6.8 20Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (max-width: 1199.98px) {
    body.single-product .sn-pdp-section.sn-pdp-owner {
        padding: 0 0 2.5rem;
    }

    body.single-product .sn-pdp-owner-inner {
        flex-direction: column;
        width: min(100%, calc(100vw - 1.5rem));
    }

    body.single-product .sn-pdp-owner-media {
        border-radius: 1rem 1rem 0 0;
        flex: 0 0 auto;
        order: 1;
        width: 100%;
    }

    body.single-product .sn-pdp-owner-media img {
        border-radius: 1rem 1rem 0 0;
        max-width: min(100%, 34rem);
    }

    body.single-product .sn-pdp-owner-copy {
        order: 2;
        padding: 2.5rem 0.75rem;
    }

    body.single-product .sn-pdp-owner-copy h2 {
        font-size: 1.75rem;
        line-height: 2rem;
        margin-bottom: 2.5rem;
    }

    body.single-product .sn-pdp-owner-links {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0;
        padding: 0 1.5rem;
    }

    body.single-product .sn-pdp-owner-links a {
        align-items: center;
        background: transparent !important;
        flex: 0 0 50%;
        flex-direction: column;
        font-size: 0.875rem;
        line-height: 1.25rem;
        margin-bottom: 1.5rem;
        min-height: 0;
        padding: 0 1rem;
        text-align: center;
        text-decoration: underline;
    }

    body.single-product .sn-pdp-owner-links a::after {
        content: none;
    }

    body.single-product .sn-pdp-owner-links a:nth-child(2n) {
        padding-right: 0;
    }

    body.single-product .sn-pdp-owner-links a:nth-child(2n + 1) {
        padding-left: 0;
    }

    body.single-product .sn-pdp-owner-links a:nth-last-child(-n + 2) {
        margin-bottom: 0;
    }
}

.sn-header-actions :where(a, button):hover,
.sn-header-actions :where(a, button):focus-visible,
.sn-search-trigger:hover,
.sn-search-trigger:focus-visible,
.sn-menu-trigger:hover,
.sn-menu-trigger:focus-visible {
    background: rgba(17, 17, 17, 0.08) !important;
}

.sn-search-overlay,
.sn-mobile-drawer {
    z-index: 1700;
}

/* Official SharkNinja-style header action icons. */
.sn-header-actions {
    align-items: center !important;
    gap: 1rem !important;
}

.sn-header-actions :where(a, button),
.sn-header-actions .sn-search-trigger {
    overflow: visible;
    flex: 0 0 1.25rem !important;
    width: 1.25rem !important;
    min-width: 1.25rem !important;
    height: 1.25rem !important;
    min-height: 1.25rem !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
}

.sn-header-actions .sn-menu-trigger {
    display: none;
}

.sn-header-actions :where(a, button):hover,
.sn-header-actions :where(a, button):focus-visible,
.sn-header-actions .sn-search-trigger:hover,
.sn-header-actions .sn-search-trigger:focus-visible,
.sn-menu-trigger:hover,
.sn-menu-trigger:focus-visible {
    background: transparent !important;
    opacity: 0.72;
}

.sn-header-actions :where(a, button):focus-visible,
.sn-header-actions .sn-search-trigger:focus-visible,
.sn-menu-trigger:focus-visible {
    border-radius: 0.125rem;
    outline: 0.125rem solid currentColor;
    outline-offset: 0.25rem;
    opacity: 1;
}

.sn-header-actions :where(.sn-favorites-link, .sn-account-link, .sn-cart-link) > span:first-child,
.sn-header-actions .sn-icon-search {
    display: block;
    width: 1.25rem !important;
    height: 1.25rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: currentColor;
    background-image: none !important;
    flex: 0 0 1.25rem;
    inset: auto !important;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    padding: 0 !important;
    position: relative;
    transform: none !important;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.sn-header-actions .sn-icon-search {
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M8.438 1.667a6.771 6.771 0 0 0 0 13.541 6.73 6.73 0 0 0 4.202-1.461l4.083 4.08a.782.782 0 0 0 1.105-1.105l-4.081-4.083a6.73 6.73 0 0 0 1.461-4.202 6.771 6.771 0 0 0-6.77-6.77Zm0 1.562a5.208 5.208 0 1 1 0 10.417 5.208 5.208 0 0 1 0-10.417Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M8.438 1.667a6.771 6.771 0 0 0 0 13.541 6.73 6.73 0 0 0 4.202-1.461l4.083 4.08a.782.782 0 0 0 1.105-1.105l-4.081-4.083a6.73 6.73 0 0 0 1.461-4.202 6.771 6.771 0 0 0-6.77-6.77Zm0 1.562a5.208 5.208 0 1 1 0 10.417 5.208 5.208 0 0 1 0-10.417Z'/%3E%3C/svg%3E");
}

.sn-header-actions .sn-favorites-link > span:first-child {
    mask-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 22.25 4.3 14.16A6.02 6.02 0 0 1 2.5 9.87a5.66 5.66 0 0 1 9.35-4.28L13 6.62l1.15-1.03a5.66 5.66 0 0 1 9.35 4.28 6.02 6.02 0 0 1-1.8 4.29L13 22.25Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 22.25 4.3 14.16A6.02 6.02 0 0 1 2.5 9.87a5.66 5.66 0 0 1 9.35-4.28L13 6.62l1.15-1.03a5.66 5.66 0 0 1 9.35 4.28 6.02 6.02 0 0 1-1.8 4.29L13 22.25Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sn-header-actions .sn-account-link > span:first-child {
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M10.208 1.667a4.167 4.167 0 1 0 0 8.333 4.167 4.167 0 0 0 0-8.333Zm0 1.562a2.604 2.604 0 1 1 0 5.208 2.604 2.604 0 0 1 0-5.208ZM4.522 16.771H15.9c-.29-2.061-2.061-3.647-4.2-3.647H8.724c-2.139 0-3.91 1.586-4.202 3.647Zm-1.606.596c0-3.206 2.598-5.805 5.804-5.805h2.976c3.206 0 5.804 2.599 5.804 5.805 0 .533-.433.966-.967.966H3.883a.967.967 0 0 1-.967-.966Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M10.208 1.667a4.167 4.167 0 1 0 0 8.333 4.167 4.167 0 0 0 0-8.333Zm0 1.562a2.604 2.604 0 1 1 0 5.208 2.604 2.604 0 0 1 0-5.208ZM4.522 16.771H15.9c-.29-2.061-2.061-3.647-4.2-3.647H8.724c-2.139 0-3.91 1.586-4.202 3.647Zm-1.606.596c0-3.206 2.598-5.805 5.804-5.805h2.976c3.206 0 5.804 2.599 5.804 5.805 0 .533-.433.966-.967.966H3.883a.967.967 0 0 1-.967-.966Z'/%3E%3C/svg%3E");
}

.sn-header-actions .sn-cart-link > span:first-child {
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M1.615 1.667a.781.781 0 1 0 0 1.562h1.48c.124 0 .232.088.258.212l1.68 8.822a2.42 2.42 0 0 0 2.301 1.904h9.384a.781.781 0 1 0 0-1.563H7.334a.807.807 0 0 1-.768-.635l-.177-.928h9.392a2.36 2.36 0 0 0 2.262-1.735l1.335-4.958a1.31 1.31 0 0 0-1.256-1.64H4.743a1.835 1.835 0 0 0-1.648-1.041h-1.48Zm4.457 7.812-.67-3.541h12.29l-.952 3.54a.797.797 0 0 1-.769.605H6.194a.125.125 0 0 1-.122-.104Zm2.096 8.854a1.563 1.563 0 1 0 0-3.125 1.563 1.563 0 0 0 0 3.125Zm7.77 0a1.563 1.563 0 1 0 0-3.125 1.563 1.563 0 0 0 0 3.125Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' fill-rule='evenodd' d='M1.615 1.667a.781.781 0 1 0 0 1.562h1.48c.124 0 .232.088.258.212l1.68 8.822a2.42 2.42 0 0 0 2.301 1.904h9.384a.781.781 0 1 0 0-1.563H7.334a.807.807 0 0 1-.768-.635l-.177-.928h9.392a2.36 2.36 0 0 0 2.262-1.735l1.335-4.958a1.31 1.31 0 0 0-1.256-1.64H4.743a1.835 1.835 0 0 0-1.648-1.041h-1.48Zm4.457 7.812-.67-3.541h12.29l-.952 3.54a.797.797 0 0 1-.769.605H6.194a.125.125 0 0 1-.122-.104Zm2.096 8.854a1.563 1.563 0 1 0 0-3.125 1.563 1.563 0 0 0 0 3.125Zm7.77 0a1.563 1.563 0 1 0 0-3.125 1.563 1.563 0 0 0 0 3.125Z'/%3E%3C/svg%3E");
}

.sn-header-actions :where(.sn-favorites-link, .sn-account-link, .sn-cart-link) > span:first-child::before,
.sn-header-actions :where(.sn-favorites-link, .sn-account-link, .sn-cart-link) > span:first-child::after,
.sn-header-actions .sn-icon-search::after {
    content: none !important;
}

.sn-header-actions .sn-cart-link {
    position: relative;
}

.sn-header-actions .sn-cart-badge {
    top: -0.9375rem;
    right: -0.375rem;
    width: 0.875rem;
    min-width: 0.875rem;
    height: 0.875rem;
    border-radius: 50%;
    background: #ddd4cb;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 0.875rem;
    padding: 0;
    text-align: center;
}

.sn-header-actions .sn-menu-trigger span {
    left: 0;
    width: 1.25rem;
}

.sn-header-actions .sn-menu-trigger span:nth-child(1) {
    top: 0.1875rem;
}

.sn-header-actions .sn-menu-trigger span:nth-child(2) {
    top: 0.5625rem;
}

.sn-header-actions .sn-menu-trigger span:nth-child(3) {
    top: 0.9375rem;
}

@media (max-width: 1240px) {
    .sn-header-actions {
        gap: 0.85rem !important;
    }

    .sn-header-actions .sn-favorites-link,
    .sn-header-actions .sn-menu-trigger {
        display: inline-flex !important;
    }

    .sn-header-actions .sn-account-link {
        display: none !important;
    }
}

@media (max-width: 600px) {
    .sn-header-actions {
        gap: 0.75rem !important;
    }
}

/* SharkNinja official two-tier header layout. */
:root {
    --sn-header-height: 104px;
}

.sn-header-shell .sn-main-nav-row {
    display: grid !important;
    grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr) !important;
    grid-template-rows: 3.5rem 3rem;
    align-items: center;
    row-gap: 0;
    column-gap: 1rem;
    max-width: none;
    min-height: var(--sn-header-height);
    padding: 0 clamp(1rem, 3vw, 3.5rem) !important;
}

.sn-logo-column {
    grid-column: 2 !important;
    grid-row: 1;
    justify-content: center;
}

.sn-actions-column {
    grid-column: 3 !important;
    grid-row: 2;
    justify-content: flex-end;
    padding-right: clamp(1.75rem, 3vw, 3.75rem);
}

.sn-navigation-column {
    grid-column: 1 / -1 !important;
    grid-row: 2;
    align-self: stretch;
    justify-content: center;
    border-top: 0.0625rem solid rgba(17, 17, 17, 0.1);
}

.sn-logo-group {
    justify-content: center;
    overflow: visible;
}

.sn-brand {
    display: inline-flex;
    width: auto;
    max-width: none;
    align-items: center;
    line-height: 0;
}

.sn-brand-picture,
.sn-brand-logo-img {
    display: block;
}

.sn-brand-logo-img {
    width: auto;
    max-width: min(13rem, 28vw);
    height: 2.25rem;
    object-fit: contain;
}

.sn-header-nav,
.sn-header-nav .wp-block-navigation,
.sn-header-nav .wp-block-navigation__container {
    height: 100%;
}

.sn-header-nav .wp-block-navigation__container {
    align-items: center;
    gap: clamp(1.25rem, 3.1vw, 3.25rem) !important;
}

.sn-header-nav .wp-block-navigation-item {
    align-items: center;
}

.sn-header-nav .wp-block-navigation-item__content {
    min-height: 3rem;
    padding: 0 !important;
    font-family: "DM Sans", "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.sn-header-nav .wp-block-navigation-item__content::after {
    right: 0;
    left: 0;
    height: 0.125rem;
}

.sn-header-actions {
    min-width: 0;
}

body.sn-header-over-hero:not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-navigation-column {
    border-top-color: rgba(255, 255, 255, 0.24);
}

@supports selector(body:has(main > .shark-hero:first-child)) {
    body:has(main > .shark-hero:first-child):not(.sn-header-scrolled):not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell:not(:hover):not(:focus-within) .sn-navigation-column {
        border-top-color: rgba(255, 255, 255, 0.24);
    }
}

@media (max-width: 1240px) {
    :root {
        --sn-header-height: 62px;
    }

    .sn-header-shell .sn-main-nav-row {
        grid-template-columns: auto minmax(0, 1fr) max-content !important;
        grid-template-rows: var(--sn-header-height);
        min-height: var(--sn-header-height);
        padding-left: 0.875rem !important;
        padding-right: 0.875rem !important;
    }

    .sn-logo-column {
        grid-column: 1 !important;
        grid-row: 1;
        justify-content: flex-start;
    }

    .sn-actions-column {
        grid-column: 3 !important;
        grid-row: 1;
        padding-right: 0;
    }

    .sn-navigation-column {
        display: none !important;
    }

    .sn-brand-logo-img {
        max-width: min(7.5rem, 34vw);
        height: 1.75rem;
    }
}

body.sn-header-over-hero main > .shark-hero:first-child {
    margin-top: 0 !important;
}

@supports selector(body:has(main > .shark-hero:first-child)) {
    body:has(main > .shark-hero:first-child) main > .shark-hero:first-child {
        margin-top: 0 !important;
    }
}

@media (max-width: 600px) {
    .admin-bar .sn-promo-bar {
        top: 46px;
    }

    .admin-bar .sn-header-shell {
        top: calc(var(--sn-fixed-promo-height) + 46px);
    }
}

/* Current SharkNinja hover-menu content layout. */
.sn-mega-panel {
    max-height: calc(100vh - var(--sn-fixed-stack-height, 108px));
    overflow-y: auto;
}

.sn-mega-inner {
    align-items: start;
    box-sizing: border-box;
    display: grid;
    gap: clamp(28px, 3vw, 48px);
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    margin: 0 auto;
    max-width: 1440px;
    min-height: 0;
    padding: 30px clamp(24px, 4vw, 68px) 36px;
}

.sn-mega-inner.no-products {
    grid-template-columns: minmax(0, 1fr);
}

.sn-mega-inner.is-wide .sn-mega-groups {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.sn-mega-main {
    min-width: 0;
}

.sn-mega-groups {
    align-items: start;
    display: grid;
    gap: 24px clamp(26px, 3vw, 44px);
    grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.sn-mega-group {
    min-width: 0;
}

.sn-mega-section-title,
.sn-mega-products h3 {
    color: #111;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.15;
    margin: 0 0 8px;
}

.sn-mega-group ul {
    display: grid;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sn-mega-group-plain ul {
    gap: 8px;
}

.sn-mega-group a {
    align-items: center;
    color: #222;
    display: inline-flex;
    font-size: 14px;
    font-weight: 760;
    line-height: 1.25;
    min-height: 24px;
    text-decoration: none;
    transition: color 160ms var(--sn-ease-tight, ease), text-decoration-color 160ms var(--sn-ease-tight, ease);
}

.sn-mega-group a:hover,
.sn-mega-group a:focus-visible {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-mega-group-plain a {
    font-weight: 920;
}

.sn-mega-products {
    border-left: 1px solid #e0e0e0;
    min-width: 0;
    padding-left: clamp(24px, 3vw, 42px);
}

.sn-mega-product-grid {
    display: grid;
    gap: 14px;
}

.sn-mega-product-card {
    align-items: center;
    color: #111;
    display: grid;
    gap: 12px;
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 72px;
    text-decoration: none;
}

.sn-mega-product-card:hover span:last-child,
.sn-mega-product-card:focus-visible span:last-child {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-mega-product-thumb {
    aspect-ratio: 1;
    background:
        linear-gradient(135deg, rgba(0, 0, 0, 0.12), rgba(255, 255, 255, 0) 58%),
        #f3f3f3;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    display: block;
}

.sn-mega-product-card span:last-child {
    display: block;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.25;
}

@media (max-width: 1240px) {
    .sn-mega-inner.has-products,
    .sn-mega-inner.is-wide .sn-mega-groups {
        grid-template-columns: minmax(0, 1fr);
    }

    .sn-mega-products {
        border-left: 0;
        border-top: 1px solid #e0e0e0;
        padding-left: 0;
        padding-top: 22px;
    }

    .sn-mega-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* SharkNinja-matched multilevel hover panel. */
.sn-header-shell > .sn-mega-panel {
    background: #fff;
    border: 0;
    border-top: 1px solid #d1d1d1;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    height: 43.5rem;
    left: 50% !important;
    max-height: calc(100vh - 12.5rem);
    max-width: calc(100vw - 50px) !important;
    overflow-y: auto;
    padding: 2.5rem 0 3.875rem;
    right: auto !important;
    top: 100%;
    transform: translate(-50%, -8px);
    width: 85rem !important;
}

.sn-mega-panel[aria-hidden="false"],
.sn-mega-open .sn-mega-panel {
    transform: translate(-50%, 0) !important;
}

.sn-megamenu-container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 83.5rem;
    padding: 0 1.75rem;
}

.sn-mega-row {
    align-items: flex-start;
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    justify-content: space-between;
    width: 100%;
}

.sn-mega-lists {
    align-items: stretch;
    display: flex;
    flex: 1 1 auto;
    gap: 1.5rem;
    min-width: 0;
}

.sn-brand-list {
    min-width: 0;
}

.sn-brand-list.sn-no-brand {
    flex: 1 1 auto;
    max-width: 48rem;
}

.sn-brand-list.sn-shark-brand,
.sn-brand-list.sn-ninja-brand {
    background: #f4f3f0;
    border-radius: 8px;
    flex: 1 1 18.75rem;
    max-width: 37rem;
    min-width: 18.75rem;
    overflow: hidden;
}

.sn-brand-columns {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
}

.sn-brand-list.sn-shark-brand .sn-brand-columns,
.sn-brand-list.sn-ninja-brand .sn-brand-columns {
    padding: 1.5rem 0;
}

.sn-brand-block {
    background: #f4f3f0;
}

.sn-shark-brand-logo,
.sn-ninja-brand-logo {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 0.875rem;
    font-weight: 950;
    height: 2.75rem;
    justify-content: flex-start;
    letter-spacing: 0;
    line-height: 1;
    padding: 0 1.5rem;
    text-transform: uppercase;
}

.sn-shark-brand-logo {
    background: #4b0b68;
}

.sn-ninja-brand-logo {
    background: #000;
}

.sn-level2-col {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 0;
    width: 13.625rem;
}

.sn-brand-list.sn-shark-brand .sn-level2-item,
.sn-brand-list.sn-ninja-brand .sn-level2-item {
    padding: 0 1.5rem;
}

.sn-level2-link {
    color: #000;
    display: inline-flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.046875rem !important;
    line-height: 1rem;
    text-decoration: none;
    text-transform: uppercase;
}

.sn-level2-link.sn-normal-link {
    font-weight: 700;
}

.sn-level2-link:hover,
.sn-level2-link:focus-visible,
.sn-level3-link:hover,
.sn-level3-link:focus-visible {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sn-level3-menu {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 1.25rem 0 0;
}

.sn-level3-link {
    color: #000;
    display: flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    text-decoration: none;
    text-transform: none;
}

.sn-featured-products {
    flex: 0 0 27.25rem;
    margin-left: auto;
    max-width: 27.25rem;
    min-width: 0;
}

.sn-featured-products h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.375rem;
    margin: 0 0 1.5rem;
}

.sn-feature-product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: space-between;
    width: 100%;
}

.sn-feature-product {
    color: #000;
    flex: 1 1 calc(50% - 12px);
    max-width: calc(50% - 12px);
    text-align: left;
    text-decoration: none;
}

.sn-feature-product-image {
    aspect-ratio: 1;
    background:
        radial-gradient(circle at 52% 44%, rgba(0, 0, 0, 0.14) 0 18%, transparent 19%),
        linear-gradient(145deg, rgba(0, 0, 0, 0.09), rgba(255, 255, 255, 0) 58%),
        #f6f6f6;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: transform 0.3s ease-in-out;
    width: 100%;
}

.sn-feature-product-image:not(.sn-feature-product-image-fallback) {
    background: #f6f6f6;
}

.sn-feature-product-image img {
    display: block;
    height: 100%;
    object-fit: contain;
    padding: 0.375rem;
    width: 100%;
}

.sn-feature-product-name {
    color: #000;
    display: -webkit-box;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
    overflow: hidden;
    padding-top: 0.5rem;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sn-feature-product:hover .sn-feature-product-name,
.sn-feature-product:focus-visible .sn-feature-product-name {
    text-decoration: underline;
}

.sn-feature-product:hover .sn-feature-product-image,
.sn-feature-product:focus-visible .sn-feature-product-image {
    transform: scale(1.01);
}

.sn-megamenu-container.no-products .sn-brand-list.sn-no-brand {
    max-width: none;
}

.sn-megamenu-container.is-wide .sn-brand-list.sn-no-brand .sn-brand-columns {
    gap: 2rem;
}

@media (max-width: 1360px) {
    .sn-header-shell > .sn-mega-panel {
        max-width: calc(100vw - 32px) !important;
    }

    .sn-level2-col {
        width: 12.25rem;
    }
}

@media (max-width: 1240px) {
    .sn-header-shell > .sn-mega-panel {
        display: none !important;
    }
}

/* SharkNinja-style homepage video advertising module. */
.sn-video-ad {
    background: #000;
    color: #fff;
    margin: 0 !important;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.sn-video-ad-row {
    height: min(760px, calc(100vh - 36px));
    min-height: 560px;
    position: relative;
}

.sn-video-ad-media {
    height: 100%;
    margin: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.sn-video-ad-media::before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.3) 46%, rgba(0, 0, 0, 0) 100%);
    content: "";
    height: 18.75rem;
    inset: 0 0 auto;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.sn-video-ad-media::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.28) 36%, rgba(0, 0, 0, 0) 72%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.sn-video-ad-video {
    background: #101010;
    display: block;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.015);
    transition: opacity 600ms var(--sn-ease, ease), transform 1000ms var(--sn-ease, ease);
    width: 100%;
}

.sn-video-ad-ready .sn-video-ad-video,
.sn-video-ad-in-view .sn-video-ad-video {
    opacity: 1;
    transform: scale(1);
}

.sn-video-ad-text {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    left: 0;
    padding: 7.75rem 5rem;
    pointer-events: none;
    position: absolute;
    text-align: right;
    top: 0;
    transform: translateX(-7.5rem);
    opacity: 0;
    transition: opacity 520ms var(--sn-ease, ease), transform 720ms var(--sn-ease, ease);
    width: 100%;
    z-index: 2;
}

.sn-video-ad-in-view .sn-video-ad-text {
    opacity: 1;
    transform: translateX(0);
}

.sn-video-ad-eyebrow {
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 1rem;
    max-width: var(--desktop-max-width, 700px);
    width: var(--desktop-max-width, 700px);
    text-transform: uppercase;
}

.sn-video-ad h2 {
    color: inherit;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: clamp(2.5rem, 4.8vw, 4.75rem);
    font-weight: 800;
    line-height: 0.98;
    margin: 0 0 1.5rem;
    max-width: var(--desktop-max-width, 700px);
    width: var(--desktop-max-width, 700px);
}

.sn-video-ad-actions {
    display: flex;
    justify-content: flex-end;
    max-width: var(--desktop-max-width, 700px);
    pointer-events: auto;
    width: var(--desktop-max-width, 700px);
}

.sn-video-ad-button {
    align-items: center;
    background: transparent;
    border: 1px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 900;
    gap: 0.55rem;
    justify-content: center;
    min-height: 2.875rem;
    min-width: 8.75rem;
    padding: 0 1.5rem;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 180ms var(--sn-ease-tight, ease), color 180ms var(--sn-ease-tight, ease), transform 180ms var(--sn-ease-tight, ease);
    white-space: nowrap;
}

.sn-video-ad-button::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.5rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-video-ad-button:hover,
.sn-video-ad-button:focus-visible {
    background: #fff;
    color: #000;
    transform: translateY(-1px);
}

.sn-video-ad-toggle {
    align-items: center;
    background: rgba(0, 0, 0, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    bottom: 1.5rem;
    color: #fff;
    display: inline-flex;
    height: 2.75rem;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 1.5rem;
    transition: background-color 180ms var(--sn-ease-tight, ease), border-color 180ms var(--sn-ease-tight, ease);
    width: 2.75rem;
    z-index: 3;
}

.sn-video-ad-toggle:hover,
.sn-video-ad-toggle:focus-visible {
    background: #fff;
    border-color: #fff;
    color: #000;
}

.sn-video-ad-pause,
.sn-video-ad-play {
    display: block;
    position: relative;
}

.sn-video-ad-pause {
    height: 1rem;
    width: 0.75rem;
}

.sn-video-ad-pause::before,
.sn-video-ad-pause::after {
    background: currentColor;
    content: "";
    height: 1rem;
    position: absolute;
    top: 0;
    width: 0.25rem;
}

.sn-video-ad-pause::before {
    left: 0;
}

.sn-video-ad-pause::after {
    right: 0;
}

.sn-video-ad-play {
    border-bottom: 0.5rem solid transparent;
    border-left: 0.78rem solid currentColor;
    border-top: 0.5rem solid transparent;
    display: none;
    height: 0;
    margin-left: 0.13rem;
    width: 0;
}

.sn-video-ad-toggle.is-paused .sn-video-ad-pause {
    display: none;
}

.sn-video-ad-toggle.is-paused .sn-video-ad-play {
    display: block;
}

@media (max-width: 1199px) {
    .sn-video-ad-row {
        height: calc(100vh - 36px);
        min-height: 40rem;
    }

    .sn-video-ad-media::before {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0) 100%);
        height: 16.25rem;
    }

    .sn-video-ad-media::after {
        background: linear-gradient(to top, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.16) 52%, rgba(0, 0, 0, 0) 100%);
    }

    .sn-video-ad-text {
        align-items: center;
        justify-content: flex-end;
        padding: 3.75rem 2.5rem;
        text-align: center;
        transform: translateY(3rem);
    }

    .sn-video-ad-in-view .sn-video-ad-text {
        transform: translateY(0);
    }

    .sn-video-ad-eyebrow,
    .sn-video-ad h2,
    .sn-video-ad-actions {
        max-width: var(--mobile-max-width, 100%);
        width: var(--mobile-max-width, 100%);
    }

    .sn-video-ad-actions {
        justify-content: center;
    }

    .sn-video-ad h2 {
        font-size: clamp(2.35rem, 10vw, 4rem);
        line-height: 1;
    }
}

@media (max-width: 600px) {
    .sn-video-ad-row {
        min-height: 36rem;
    }

    .sn-video-ad-text {
        padding: 3rem 1.5rem 4.75rem;
    }

    .sn-video-ad-toggle {
        bottom: 1rem;
        right: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sn-video-ad-video,
    .sn-video-ad-text {
        opacity: 1;
        transform: none;
    }
}

/* SharkNinja-style featured recommendation carousel below the ad module. */
.sn-featured-recs {
    background: #fff;
    color: #000;
    margin: 0 !important;
    overflow: hidden;
    padding: clamp(3rem, 6vw, 5.5rem) 0 clamp(3.5rem, 6vw, 6rem);
}

.sn-featured-recs-header {
    margin: 0 auto 1.75rem;
    max-width: 1440px;
    padding: 0 clamp(1.25rem, 4vw, 4.25rem);
}

.sn-featured-recs-header h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 0.25rem;
    text-transform: uppercase;
}

.sn-featured-recs-header p {
    color: #000;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.05;
    margin: 0;
}

.sn-featured-recs-shell {
    margin: 0 auto;
    max-width: 1440px;
    position: relative;
}

.sn-featured-recs-track {
    display: grid;
    gap: 1.5rem;
    grid-auto-columns: minmax(min(88vw, 68rem), min(88vw, 68rem));
    grid-auto-flow: column;
    overflow-x: auto;
    padding: 0 clamp(1.25rem, 4vw, 4.25rem) 0.5rem;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.sn-featured-recs-track::-webkit-scrollbar {
    display: none;
}

.sn-featured-rec-card {
    aspect-ratio: 16 / 8.25;
    background: #111;
    border-radius: 8px;
    min-height: 32rem;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
}

.sn-featured-rec-media,
.sn-featured-rec-media picture,
.sn-featured-rec-media img {
    display: block;
    height: 100%;
    width: 100%;
}

.sn-featured-rec-media img {
    object-fit: cover;
    transform: scale(1.005);
    transition: transform 520ms var(--sn-ease, ease);
}

.sn-featured-rec-card:hover .sn-featured-rec-media img,
.sn-featured-rec-card:focus-within .sn-featured-rec-media img,
.sn-featured-rec-card.is-active .sn-featured-rec-media img {
    transform: scale(1.018);
}

.sn-featured-rec-copy {
    color: #fff;
    left: 1.5rem;
    opacity: 0;
    position: absolute;
    top: 1.5rem;
    transform: translateX(6rem);
    transition: opacity 360ms var(--sn-ease, ease), transform 520ms var(--sn-ease, ease);
    z-index: 2;
}

.sn-featured-rec-card.is-active .sn-featured-rec-copy {
    opacity: 1;
    transform: translateX(0);
}

.sn-featured-rec-copy span {
    background: #bedccb;
    border-radius: 999px;
    color: #33785d;
    display: inline-flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 1rem;
    padding: 0.45rem 0.8rem;
}

.sn-featured-rec-copy h3 {
    color: #fff;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.08;
    margin: 0;
    max-width: 30rem;
}

.sn-featured-rec-product {
    background: rgba(255, 255, 255, 0.86);
    border-radius: 12px 0 0 12px;
    bottom: 2rem;
    color: #000;
    display: block;
    max-width: 21.5rem;
    padding: 0.75rem;
    position: absolute;
    right: 0;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight, ease), transform 180ms var(--sn-ease-tight, ease);
    width: min(21.5rem, 42vw);
    z-index: 2;
}

.sn-featured-rec-product::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.6rem;
    position: absolute;
    right: 0.9rem;
    top: 1.05rem;
    transform: rotate(45deg);
    width: 0.6rem;
}

.sn-featured-rec-product:hover,
.sn-featured-rec-product:focus-visible {
    background: #fff;
    transform: translateY(-2px);
}

.sn-featured-rec-product strong {
    display: block;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.125rem;
    margin: 0 1.8rem 0.5rem 0;
}

.sn-featured-rec-rating {
    color: #111;
    display: block;
    font-size: 0.78rem;
    letter-spacing: 0.08rem;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.sn-featured-rec-product em {
    display: block;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25rem;
}

.sn-featured-recs-arrow {
    align-items: center;
    background: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    color: #000;
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 160ms var(--sn-ease-tight, ease), opacity 160ms var(--sn-ease-tight, ease);
    width: 3rem;
    z-index: 4;
}

.sn-featured-recs-arrow::before {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.75rem;
    width: 0.75rem;
}

.sn-featured-recs-prev {
    left: clamp(0.5rem, 2vw, 1.5rem);
}

.sn-featured-recs-prev::before {
    transform: rotate(-135deg);
}

.sn-featured-recs-next {
    right: clamp(0.5rem, 2vw, 1.5rem);
}

.sn-featured-recs-next::before {
    transform: rotate(45deg);
}

.sn-featured-recs-arrow:hover,
.sn-featured-recs-arrow:focus-visible {
    background: #f6f6f6;
}

.sn-featured-recs-arrow:disabled {
    opacity: 0.36;
    pointer-events: none;
}

.sn-featured-recs-dots {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1.25rem;
}

.sn-featured-recs-dots button {
    background: #b0b0b0;
    border: 0;
    border-radius: 999px;
    height: 0.5rem;
    padding: 0;
    transition: background-color 180ms var(--sn-ease-tight, ease), width 180ms var(--sn-ease-tight, ease);
    width: 0.5rem;
}

.sn-featured-recs-dots button.is-active {
    background: #000;
    width: 1.5rem;
}

@media (max-width: 1199px) {
    .sn-featured-recs-track {
        grid-auto-columns: 86vw;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .sn-featured-rec-card {
        aspect-ratio: 3 / 4.25;
        min-height: 34rem;
    }

    .sn-featured-rec-copy {
        left: 1rem;
        top: 1rem;
        transform: translateY(3rem);
    }

    .sn-featured-rec-copy h3 {
        font-size: clamp(1.45rem, 7vw, 2.4rem);
        max-width: 17rem;
    }

    .sn-featured-rec-product {
        border-radius: 12px;
        bottom: 1rem;
        left: 1rem;
        max-width: calc(100% - 2rem);
        right: 1rem;
        width: auto;
    }

    .sn-featured-recs-arrow {
        display: none;
    }
}

@media (max-width: 600px) {
    .sn-featured-recs {
        padding-bottom: 4rem;
        padding-top: 3rem;
    }

    .sn-featured-recs-header {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .sn-featured-recs-header p {
        font-size: 2rem;
    }
}

/* New arrivals uses the SharkNinja Latest Innovations rounded dot-carousel card treatment. */
.sn-new-arrivals-carousel {
    background: #f8f8f8;
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    grid-auto-columns: minmax(min(90vw, 70rem), min(90vw, 70rem));
}

.sn-new-arrivals-carousel .sn-featured-rec-card {
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.sn-new-arrivals-carousel .sn-featured-rec-media {
    border-radius: 15px;
    overflow: hidden;
}

.sn-new-arrivals-carousel .sn-featured-rec-media img {
    border-radius: 15px;
}

.sn-new-arrivals-carousel .sn-featured-rec-card::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.46) 0%, rgba(0, 0, 0, 0.06) 42%, rgba(0, 0, 0, 0.18) 100%);
    border-radius: inherit;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy {
    opacity: 1;
    transform: translateX(0);
}

.sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
}

.sn-new-arrivals-carousel .sn-featured-rec-product {
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.72);
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button {
    height: 0.625rem;
    width: 0.625rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button.is-active {
    width: 1.75rem;
}

@media (max-width: 1199px) {
    .sn-new-arrivals-carousel .sn-featured-recs-track {
        grid-auto-columns: 86vw;
    }
}

/* SharkNinja homepage body modules. */
.sn-home-main {
    background: #fff;
}

.sn-home-hero.sn-video-ad {
    background: #020202;
}

.sn-home-hero .sn-video-ad-row {
    height: min(780px, calc(100vh - 36px));
    min-height: 680px;
}

.sn-home-hero .sn-video-ad-media::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.66) 0%, rgba(0, 0, 0, 0.32) 34%, rgba(0, 0, 0, 0.02) 72%);
}

.sn-home-hero .sn-video-ad-text {
    align-items: flex-start;
    justify-content: flex-end;
    padding: 7.5rem 5rem 6rem;
    text-align: left;
    transform: translateY(2rem);
}

.sn-home-hero.sn-video-ad-in-view .sn-video-ad-text {
    transform: translateY(0);
}

.sn-home-hero .sn-video-ad-actions {
    justify-content: flex-start;
}

.sn-home-hero h1 {
    color: #fff;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 4.75rem;
    font-weight: 900;
    line-height: 0.98;
    margin: 0 0 1.5rem;
    max-width: var(--desktop-max-width, 700px);
    text-transform: none;
    width: var(--desktop-max-width, 700px);
}

.sn-home-section-head {
    margin: 0 auto 1.75rem;
    max-width: 1440px;
    padding: 0 4.25rem;
}

.sn-home-section-head h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.25;
    margin: 0 0 0.25rem;
    text-transform: uppercase;
}

.sn-home-section-head p {
    color: #000;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 3.5rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.05;
    margin: 0;
    max-width: 920px;
}

.sn-home-carousel {
    background: #fff;
    color: #000;
    margin: 0 !important;
    overflow: hidden;
    padding: 5.5rem 0 5.75rem;
}

.sn-build-your-own {
    background: #f7f7f7;
}

.sn-home-carousel-shell {
    margin: 0 auto;
    max-width: 1440px;
    position: relative;
}

.sn-home-card-track {
    display: grid;
    gap: 1.5rem;
    grid-auto-columns: minmax(44rem, 54rem);
    grid-auto-flow: column;
    overflow-x: auto;
    padding: 0 4.25rem 0.5rem;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.sn-home-card-track::-webkit-scrollbar {
    display: none;
}

.sn-home-image-card {
    aspect-ratio: 1.38;
    background: #f1f1f1;
    border: 1px solid #dedede;
    border-radius: 16px;
    min-height: 31rem;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
}

.sn-home-image-card a,
.sn-home-image-card picture,
.sn-home-image-card img {
    display: block;
    height: 100%;
    width: 100%;
}

.sn-home-image-card img {
    object-fit: cover;
    transform: scale(1.005);
    transition: transform 520ms var(--sn-ease, ease), filter 240ms var(--sn-ease-tight, ease);
}

.sn-home-image-card:hover img,
.sn-home-image-card:focus-within img,
.sn-home-image-card.is-active img {
    filter: contrast(1.04) saturate(1.04);
    transform: scale(1.035);
}

.sn-home-image-card::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.6) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.sn-home-card-copy {
    bottom: 1.5rem;
    color: #fff;
    left: 1.5rem;
    position: absolute;
    right: 1.5rem;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
    z-index: 2;
}

.sn-home-card-copy strong {
    display: block;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.08;
    margin: 0 0 0.85rem;
    max-width: 30rem;
}

.sn-home-card-copy em,
.sn-promo-billboard-copy a,
.sn-recipe-card b {
    align-items: center;
    display: inline-flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 900;
    gap: 0.45rem;
    line-height: 1.2;
    text-transform: uppercase;
}

.sn-home-card-copy em::after,
.sn-promo-billboard-copy a::after,
.sn-recipe-card b::after,
.sn-category-card span::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.5rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-home-byob-card {
    aspect-ratio: 0.86;
    min-height: 34rem;
}

.sn-home-byob-card::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0.74) 100%);
}

.sn-home-card-copy.is-dark {
    color: #000;
    text-shadow: none;
}

.sn-promo-billboard {
    background: #141414;
    color: #fff;
    margin: 0 !important;
    min-height: 17.375rem;
    overflow: hidden;
    position: relative;
}

.sn-promo-billboard-media,
.sn-promo-billboard-media img {
    display: block;
    height: 100%;
    min-height: 17.375rem;
    width: 100%;
}

.sn-promo-billboard-media img {
    object-fit: cover;
}

.sn-promo-billboard-copy {
    left: 4.25rem;
    max-width: 34rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.sn-promo-billboard-copy p {
    font-size: 0.85rem;
    font-weight: 900;
    margin: 0 0 0.35rem;
    text-transform: uppercase;
}

.sn-promo-billboard-copy h2 {
    color: #fff;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    margin: 0 0 1rem;
}

.sn-promo-billboard-copy a {
    border: 1px solid currentColor;
    border-radius: 999px;
    color: #fff;
    min-height: 2.75rem;
    padding: 0 1.35rem;
    text-decoration: none;
    transition: background-color 180ms var(--sn-ease-tight, ease), color 180ms var(--sn-ease-tight, ease);
}

.sn-promo-billboard-copy a:hover,
.sn-promo-billboard-copy a:focus-visible {
    background: #fff;
    color: #000;
}

.sn-category-showcase,
.sn-recipe-strip,
.sn-why-buy {
    background: #fff;
    color: #000;
    margin: 0 !important;
    padding: 5.5rem 0;
}

.sn-category-tabs {
    display: flex;
    gap: 0.5rem;
    margin: 0 auto 1.5rem;
    max-width: 1440px;
    overflow-x: auto;
    padding: 0 4.25rem 0.25rem;
    scrollbar-width: none;
}

.sn-category-tabs::-webkit-scrollbar {
    display: none;
}

.sn-category-tabs button {
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 999px;
    color: #000;
    cursor: pointer;
    flex: 0 0 auto;
    font-size: 0.875rem;
    font-weight: 900;
    min-height: 2.75rem;
    padding: 0 1.25rem;
    text-transform: uppercase;
    transition: background-color 180ms var(--sn-ease-tight, ease), border-color 180ms var(--sn-ease-tight, ease), color 180ms var(--sn-ease-tight, ease);
}

.sn-category-tabs button.is-active {
    background: #000;
    border-color: #000;
    color: #fff;
}

.sn-category-panel {
    display: none;
    gap: 1.25rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 4.25rem;
}

.sn-category-panel.is-active {
    display: grid;
}

.sn-category-card {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 12px;
    color: #000;
    display: flex;
    flex-direction: column;
    min-height: 23rem;
    overflow: hidden;
    padding: 1rem;
    text-decoration: none;
    transition: border-color 180ms var(--sn-ease-tight, ease), box-shadow 180ms var(--sn-ease-tight, ease), transform 180ms var(--sn-ease-tight, ease);
}

.sn-category-card:hover,
.sn-category-card:focus-visible {
    border-color: #111;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.sn-category-card img {
    aspect-ratio: 1;
    display: block;
    margin: 0 auto 1rem;
    max-width: 18rem;
    object-fit: contain;
    width: 100%;
}

.sn-category-card strong {
    display: block;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.15;
    margin: auto 0 0.65rem;
}

.sn-category-card span {
    align-items: center;
    color: #000;
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 900;
    gap: 0.45rem;
    text-transform: uppercase;
}

.sn-recipe-grid,
.sn-benefit-grid {
    display: grid;
    gap: 1.25rem;
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 4.25rem;
}

.sn-recipe-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sn-recipe-card {
    border-radius: 12px;
    min-height: 31rem;
    overflow: hidden;
    position: relative;
}

.sn-recipe-card a,
.sn-recipe-card img {
    display: block;
    height: 100%;
    width: 100%;
}

.sn-recipe-card img {
    object-fit: cover;
    transition: transform 520ms var(--sn-ease, ease), filter 240ms var(--sn-ease-tight, ease);
}

.sn-recipe-card:hover img,
.sn-recipe-card:focus-within img {
    filter: contrast(1.06) saturate(1.05);
    transform: scale(1.04);
}

.sn-recipe-card span {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.78) 78%);
    bottom: 0;
    color: #fff;
    left: 0;
    padding: 7rem 1.25rem 1.25rem;
    position: absolute;
    right: 0;
}

.sn-recipe-card em {
    display: block;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 900;
    margin-bottom: 0.45rem;
    text-transform: uppercase;
}

.sn-recipe-card strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.08;
    margin-bottom: 0.85rem;
}

.sn-benefit-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sn-benefit-card {
    background: #f7f7f7;
    border: 1px solid #dedede;
    border-radius: 10px;
    min-height: 19rem;
    padding: 1.5rem;
}

.sn-benefit-card span {
    align-items: center;
    background: #000;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 1.25rem;
    font-weight: 900;
    height: 3rem;
    justify-content: center;
    margin-bottom: 1.25rem;
    width: 3rem;
}

.sn-benefit-card h3 {
    color: #000;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.15;
    margin: 0 0 0.75rem;
}

.sn-benefit-card p {
    color: #333;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
}

@media (max-width: 1199px) {
    .sn-home-hero .sn-video-ad-row {
        min-height: 40rem;
    }

    .sn-home-hero .sn-video-ad-media::after {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.22) 58%, rgba(0, 0, 0, 0) 100%);
    }

    .sn-home-hero .sn-video-ad-text {
        align-items: center;
        padding: 4rem 2.5rem 5rem;
        text-align: center;
    }

    .sn-home-hero .sn-video-ad-actions {
        justify-content: center;
    }

    .sn-home-hero h1 {
        font-size: 4rem;
        max-width: var(--mobile-max-width, 100%);
        width: var(--mobile-max-width, 100%);
    }

    .sn-home-section-head,
    .sn-home-card-track,
    .sn-category-tabs,
    .sn-category-panel,
    .sn-recipe-grid,
    .sn-benefit-grid {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .sn-home-section-head p {
        font-size: 2.4rem;
    }

    .sn-home-card-track {
        grid-auto-columns: 86vw;
    }

    .sn-category-panel,
    .sn-recipe-grid,
    .sn-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .sn-home-hero .sn-video-ad-row {
        min-height: 36rem;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 3rem 1.25rem 4.75rem;
    }

    .sn-home-hero h1 {
        font-size: 3rem;
    }

    .sn-home-carousel,
    .sn-category-showcase,
    .sn-recipe-strip,
    .sn-why-buy {
        padding-bottom: 4rem;
        padding-top: 4rem;
    }

    .sn-home-section-head p {
        font-size: 2rem;
    }

    .sn-home-image-card,
    .sn-home-byob-card {
        min-height: 29rem;
    }

    .sn-home-card-copy strong {
        font-size: 1.35rem;
    }

    .sn-promo-billboard {
        min-height: 28rem;
    }

    .sn-promo-billboard-media,
    .sn-promo-billboard-media img {
        min-height: 28rem;
    }

    .sn-promo-billboard-copy {
        left: 1.25rem;
        right: 1.25rem;
        text-align: center;
    }

    .sn-promo-billboard-copy h2 {
        font-size: 2.25rem;
    }

    .sn-category-panel,
    .sn-recipe-grid,
    .sn-benefit-grid {
        grid-template-columns: 1fr;
    }

    .sn-category-card,
    .sn-recipe-card,
    .sn-benefit-card {
        min-height: 0;
    }

    .sn-recipe-card {
        aspect-ratio: 3 / 4;
    }
}

/* One-to-one SharkNinja homepage refinements. */
.sn-sale-promo {
    background: #f4f4f4;
    color: #000;
    min-height: 17.375rem;
}

.sn-sale-promo .sn-promo-billboard-media,
.sn-sale-promo .sn-promo-billboard-media img {
    min-height: 17.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: clamp(1.25rem, 6vw, 5rem);
    max-width: 34rem;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000;
    font-size: 3rem;
    line-height: 1.03;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    border-color: #000;
    color: #000;
}

.sn-sale-promo .sn-promo-billboard-copy a:hover,
.sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
    background: #000;
    color: #fff;
}

.sn-curated-bundles .sn-home-card-track,
.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(min(86vw, 48rem), min(86vw, 48rem));
}

.sn-curated-bundles .sn-home-image-card {
    aspect-ratio: 1.38;
}

.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(min(78vw, 24rem), min(78vw, 24rem));
}

.sn-recipe-carousel {
    background: #fff;
}

.sn-recipe-carousel .sn-home-section-head {
    margin-bottom: 1.5rem;
}

.sn-recipe-carousel .sn-home-section-head h2 {
    font-size: 3.5rem;
    line-height: 1.05;
    max-width: 920px;
    text-transform: uppercase;
}

.sn-recipe-carousel .sn-home-card-track {
    grid-auto-columns: minmax(min(82vw, 25rem), min(82vw, 25rem));
}

.sn-recipe-carousel .sn-recipe-card {
    aspect-ratio: 0.78;
    border-radius: 14px;
    min-height: 32rem;
    scroll-snap-align: start;
}

.sn-popular-categories {
    overflow: hidden;
}

.sn-popular-categories .sn-home-section-head h2 {
    font-size: 0.875rem;
}

.sn-category-tabs button {
    border-radius: 999px;
    min-width: 6.25rem;
}

.sn-category-rail-shell {
    margin: 0 auto;
    max-width: 1440px;
    position: relative;
}

.sn-category-track {
    cursor: grab;
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 4.25rem 0.75rem;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    user-select: none;
}

.sn-category-track::-webkit-scrollbar {
    display: none;
}

.sn-category-track.is-dragging {
    cursor: grabbing;
}

.sn-category-card[hidden] {
    display: none !important;
}

.sn-category-track .sn-category-card {
    flex: 0 0 18.75rem;
    max-width: 18.75rem;
    scroll-snap-align: start;
}

.sn-category-arrow {
    align-items: center;
    background: #fff;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    color: #000;
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 160ms var(--sn-ease-tight, ease), opacity 160ms var(--sn-ease-tight, ease);
    width: 3rem;
    z-index: 4;
}

.sn-category-arrow::before {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.75rem;
    width: 0.75rem;
}

.sn-category-prev {
    left: clamp(0.5rem, 2vw, 1.5rem);
}

.sn-category-prev::before {
    transform: rotate(-135deg);
}

.sn-category-next {
    right: clamp(0.5rem, 2vw, 1.5rem);
}

.sn-category-next::before {
    transform: rotate(45deg);
}

.sn-category-arrow:disabled {
    opacity: 0.36;
    pointer-events: none;
}

.sn-benefit-card span {
    font-size: 0.95rem;
}

@media (max-width: 1199px) {
    .sn-sale-promo,
    .sn-sale-promo .sn-promo-billboard-media,
    .sn-sale-promo .sn-promo-billboard-media img {
        min-height: 22rem;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2,
    .sn-recipe-carousel .sn-home-section-head h2 {
        font-size: 2.4rem;
    }

    .sn-category-track {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .sn-category-arrow {
        display: none;
    }
}

@media (max-width: 700px) {
    .sn-sale-promo,
    .sn-sale-promo .sn-promo-billboard-media,
    .sn-sale-promo .sn-promo-billboard-media img {
        min-height: 25rem;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 1.25rem;
        right: 1.25rem;
        text-align: center;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2,
    .sn-recipe-carousel .sn-home-section-head h2 {
        font-size: 2rem;
    }

    .sn-category-track .sn-category-card {
        flex-basis: 78vw;
        max-width: 78vw;
    }
}

/* SharkNinja homepage parity layer. Keep this at the end. */
:root {
    --sn-home-max: 1440px;
    --sn-home-gutter: 4.25rem;
    --sn-home-gutter-mobile: 1rem;
}

.sn-home-main {
    background: #fff;
    color: #000;
    margin-top: 0 !important;
}

.sn-home-main > .alignfull,
.sn-home-main > .wp-block-group {
    margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
    margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;
    max-width: none !important;
    width: auto;
}

.sn-home-hero .sn-video-ad-row {
    height: calc(100vh - var(--sn-fixed-promo-height, 36px));
    max-height: 48.75rem;
    min-height: 42.5rem;
}

.sn-home-hero .sn-video-ad-media::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0.18) 44%, rgba(0, 0, 0, 0));
}

.sn-home-hero .sn-video-ad-media::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.28) 36%, rgba(0, 0, 0, 0.02) 72%);
}

.sn-home-hero .sn-video-ad-text {
    align-items: flex-start;
    box-sizing: border-box;
    justify-content: flex-end;
    padding: 7.5rem 5rem 6rem;
    text-align: left;
}

.sn-home-hero .sn-video-ad-eyebrow {
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.25;
}

.sn-home-hero :where(h1, h2) {
    color: #fff;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 4.75rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 0.98;
    margin: 0 0 1.5rem;
    max-width: var(--desktop-max-width, 700px);
    text-transform: none;
    width: var(--desktop-max-width, 700px);
}

.sn-video-ad-button,
.sn-promo-billboard-copy a,
.sn-home-card-copy em,
.sn-recipe-card b,
.sn-category-card span {
    letter-spacing: 0 !important;
}

.sn-sale-promo {
    background: #f4f4f4;
    min-height: 17.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: var(--sn-home-gutter);
    max-width: 35rem;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000;
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.03;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    background: transparent;
    border-color: #000;
    color: #000;
}

.sn-sale-promo .sn-promo-billboard-copy a:hover,
.sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
    background: #000;
    color: #fff;
}

.sn-featured-recs,
.sn-home-carousel,
.sn-category-showcase,
.sn-recipe-strip,
.sn-why-buy {
    box-sizing: border-box;
    margin: 0 !important;
    overflow: hidden;
}

.sn-featured-recs,
.sn-home-carousel,
.sn-category-showcase,
.sn-recipe-strip {
    padding: 5.5rem 0 5.75rem;
}

.sn-new-arrivals-carousel,
.sn-build-your-own {
    background: #f7f7f7;
}

.sn-featured-recs-header,
.sn-home-section-head {
    box-sizing: border-box;
    margin: 0 auto 1.75rem;
    max-width: var(--sn-home-max);
    padding: 0 var(--sn-home-gutter);
}

.sn-featured-recs-header h2,
.sn-home-section-head h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.25;
    margin: 0 0 0.25rem;
    text-transform: uppercase;
}

.sn-featured-recs-header p,
.sn-home-section-head p {
    color: #000;
    font-size: 3.5rem;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.05;
    margin: 0;
    max-width: 57.5rem;
}

.sn-featured-recs-shell,
.sn-home-carousel-shell,
.sn-category-rail-shell {
    max-width: var(--sn-home-max);
}

.sn-featured-recs-track,
.sn-home-card-track,
.sn-category-track {
    cursor: grab;
    scroll-padding-left: var(--sn-home-gutter);
    -webkit-overflow-scrolling: touch;
}

.sn-featured-recs-track.is-dragging,
.sn-home-card-track.is-dragging,
.sn-category-track.is-dragging {
    cursor: grabbing;
}

.sn-featured-recs-track {
    gap: 1.5rem;
    grid-auto-columns: minmax(68rem, 68rem);
    padding: 0 var(--sn-home-gutter) 0.625rem;
}

.sn-featured-rec-card {
    border-radius: 8px;
    min-height: 32.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-card,
.sn-new-arrivals-carousel .sn-featured-rec-media,
.sn-new-arrivals-carousel .sn-featured-rec-media img,
.sn-home-image-card,
.sn-recipe-card,
.sn-category-card,
.sn-benefit-card {
    border-radius: 8px;
}

.sn-featured-rec-copy {
    left: 1.5rem;
    top: 1.5rem;
}

.sn-featured-rec-copy span {
    background: #d7eadf;
    color: #17623f;
    font-weight: 900;
    letter-spacing: 0 !important;
}

.sn-featured-rec-product {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px 0 0 8px;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.12);
}

.sn-featured-rec-price-row {
    align-items: baseline;
    display: flex;
    gap: 0.5rem;
}

.sn-featured-rec-product del {
    color: #626262;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.25;
}

.sn-featured-rec-product em {
    color: #000;
}

.sn-featured-recs-arrow,
.sn-category-arrow {
    height: 3rem;
    width: 3rem;
}

.sn-featured-recs-dots button {
    height: 0.625rem;
    width: 0.625rem;
}

.sn-featured-recs-dots button.is-active {
    width: 1.75rem;
}

.sn-home-card-track {
    gap: 1.5rem;
    grid-auto-columns: minmax(48rem, 48rem);
    padding: 0 var(--sn-home-gutter) 0.625rem;
}

.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(24rem, 24rem);
}

.sn-home-image-card {
    border-color: #dedede;
    min-height: 31rem;
}

.sn-home-byob-card {
    min-height: 34rem;
}

.sn-home-card-copy strong,
.sn-recipe-card strong,
.sn-category-card strong,
.sn-benefit-card h3 {
    letter-spacing: 0 !important;
}

.sn-recipe-carousel .sn-home-section-head h2 {
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.05;
    max-width: 57.5rem;
}

.sn-recipe-carousel .sn-home-card-track {
    grid-auto-columns: minmax(25rem, 25rem);
}

.sn-recipe-carousel .sn-recipe-card {
    aspect-ratio: 0.78;
    min-height: 32rem;
}

.sn-category-tabs {
    box-sizing: border-box;
    padding-left: var(--sn-home-gutter);
    padding-right: var(--sn-home-gutter);
}

.sn-category-tabs button {
    min-width: 6.25rem;
}

.sn-category-track {
    gap: 1.25rem;
    padding-left: var(--sn-home-gutter);
    padding-right: var(--sn-home-gutter);
}

.sn-category-track .sn-category-card {
    flex-basis: 18.75rem;
    max-width: 18.75rem;
}

.sn-category-card {
    background: #f7f7f7;
    min-height: 23rem;
}

.sn-category-card img {
    transition: transform 300ms var(--sn-ease, ease);
}

.sn-category-card:hover img,
.sn-category-card:focus-visible img {
    transform: scale(1.035);
}

.sn-why-buy {
    background: #fff;
    padding: 5.5rem 0 5.75rem;
}

.sn-why-buy .sn-home-section-head {
    margin-bottom: 2rem;
}

.sn-why-buy .sn-home-section-head h2 {
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 3.5rem;
    line-height: 1.05;
    text-transform: none;
}

.sn-benefit-grid {
    gap: 1.25rem;
}

.sn-benefit-card {
    background: #f7f7f7;
    border: 1px solid #dedede;
    box-sizing: border-box;
    min-height: 19rem;
    padding: 1.5rem;
    transition: border-color 180ms var(--sn-ease-tight, ease), box-shadow 180ms var(--sn-ease-tight, ease), transform 180ms var(--sn-ease-tight, ease);
}

.sn-benefit-card:hover,
.sn-benefit-card:focus-within {
    border-color: #111;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.sn-benefit-card span {
    background: #fff;
    border: 2px solid #111;
    color: transparent;
    font-size: 0;
    height: 3rem;
    position: relative;
    width: 3rem;
}

.sn-benefit-card span::before,
.sn-benefit-card span::after {
    content: "";
    position: absolute;
}

.sn-benefit-card[data-sn-benefit-icon="exclusive"] span::before {
    border: 2px solid #111;
    border-radius: 0.375rem;
    height: 1.25rem;
    left: 0.75rem;
    top: 0.85rem;
    transform: rotate(-14deg);
    width: 1.25rem;
}

.sn-benefit-card[data-sn-benefit-icon="exclusive"] span::after {
    background: #111;
    border-radius: 50%;
    height: 0.25rem;
    left: 1.02rem;
    top: 1.12rem;
    width: 0.25rem;
}

.sn-benefit-card[data-sn-benefit-icon="guarantee"] span {
    color: #111;
    font-size: 0.875rem;
    font-weight: 900;
}

.sn-benefit-card[data-sn-benefit-icon="guarantee"] span::after {
    border: 2px solid #111;
    border-left: 0;
    border-top: 0;
    bottom: 0.6rem;
    height: 0.5rem;
    right: 0.72rem;
    transform: rotate(45deg);
    width: 0.25rem;
}

.sn-benefit-card[data-sn-benefit-icon="shipping"] span::before {
    border: 2px solid #111;
    border-radius: 0.1875rem;
    height: 0.88rem;
    left: 0.62rem;
    top: 1rem;
    width: 1.55rem;
}

.sn-benefit-card[data-sn-benefit-icon="shipping"] span::after {
    border-bottom: 2px solid #111;
    border-left: 2px solid #111;
    height: 0.6rem;
    left: 1.85rem;
    top: 1.18rem;
    transform: skewX(-18deg);
    width: 0.48rem;
}

.sn-benefit-card[data-sn-benefit-icon="warranty"] span::before {
    border: 2px solid #111;
    border-radius: 50% 50% 45% 45%;
    height: 1.65rem;
    left: 0.64rem;
    top: 0.58rem;
    width: 1.65rem;
}

.sn-benefit-card[data-sn-benefit-icon="warranty"] span::after {
    border: solid #111;
    border-width: 0 0.1875rem 0.1875rem 0;
    height: 0.72rem;
    left: 1.32rem;
    top: 1.05rem;
    transform: rotate(45deg);
    width: 0.35rem;
}

@media (max-width: 1199px) {
    :root {
        --sn-home-gutter: 1.25rem;
    }

    .sn-home-hero .sn-video-ad-row {
        max-height: none;
        min-height: 40rem;
    }

    .sn-home-hero .sn-video-ad-media::after {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.22) 58%, rgba(0, 0, 0, 0));
    }

    .sn-home-hero .sn-video-ad-text {
        align-items: center;
        padding: 4rem 2.5rem 5rem;
        text-align: center;
    }

    .sn-home-hero :where(h1, h2) {
        font-size: 4rem;
        max-width: var(--mobile-max-width, 100%);
        width: var(--mobile-max-width, 100%);
    }

    .sn-featured-recs-track,
    .sn-home-card-track {
        grid-auto-columns: 86vw;
    }

    .sn-build-your-own .sn-home-card-track,
    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: minmax(20rem, 24rem);
    }

    .sn-featured-recs-arrow,
    .sn-category-arrow {
        display: none;
    }

    .sn-featured-recs-header p,
    .sn-home-section-head p,
    .sn-recipe-carousel .sn-home-section-head h2,
    .sn-why-buy .sn-home-section-head h2 {
        font-size: 2.4rem;
    }

    .sn-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    :root {
        --sn-home-gutter: var(--sn-home-gutter-mobile);
    }

    .sn-home-hero .sn-video-ad-row {
        height: calc(100vh - var(--sn-fixed-promo-height, 34px));
        min-height: 36rem;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 3rem 1.25rem 4.75rem;
    }

    .sn-home-hero :where(h1, h2) {
        font-size: 3rem;
    }

    .sn-featured-recs,
    .sn-home-carousel,
    .sn-category-showcase,
    .sn-recipe-strip,
    .sn-why-buy {
        padding-bottom: 4rem;
        padding-top: 4rem;
    }

    .sn-featured-recs-header p,
    .sn-home-section-head p,
    .sn-recipe-carousel .sn-home-section-head h2,
    .sn-why-buy .sn-home-section-head h2 {
        font-size: 2rem;
    }

    .sn-featured-rec-card,
    .sn-home-image-card,
    .sn-home-byob-card {
        min-height: 29rem;
    }

    .sn-featured-rec-product {
        border-radius: 8px;
        left: 1rem;
        max-width: calc(100% - 2rem);
        right: 1rem;
        width: auto;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 1rem;
        right: 1rem;
        text-align: center;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-size: 2rem;
    }

    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: 82vw;
    }

    .sn-category-track .sn-category-card {
        flex-basis: 78vw;
        max-width: 78vw;
    }

    .sn-benefit-grid {
        grid-template-columns: 1fr;
    }
}

/* SharkNinja Latest Innovations carousel parity. */
.sn-new-arrivals-carousel {
    background: #f9f9f9;
    padding: 0 0 5.75rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-header {
    margin-bottom: 1.5rem;
    padding: 1.5rem var(--sn-home-gutter) 0;
}

.sn-new-arrivals-carousel .sn-featured-recs-header h2 {
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.sn-new-arrivals-carousel .sn-featured-recs-header p {
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2.25rem;
    margin: 0;
}

.sn-new-arrivals-carousel .sn-featured-recs-shell {
    margin: 0 auto;
    max-width: var(--sn-home-max);
    overflow: visible;
    position: relative;
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    display: grid;
    gap: 1.5rem;
    grid-auto-columns: minmax(min(90vw, calc(var(--sn-home-max) - (var(--sn-home-gutter) * 2))), min(90vw, calc(var(--sn-home-max) - (var(--sn-home-gutter) * 2))));
    grid-auto-flow: column;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 var(--sn-home-gutter) 0.5rem;
    scroll-behavior: smooth;
    scroll-padding-left: var(--sn-home-gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.sn-new-arrivals-carousel .sn-featured-rec-card {
    aspect-ratio: 2532 / 1233;
    background: #111;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: none;
    min-height: 0;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
}

.sn-new-arrivals-carousel .sn-featured-rec-card::after {
    display: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-media,
.sn-new-arrivals-carousel .sn-featured-rec-media picture,
.sn-new-arrivals-carousel .sn-featured-rec-media img {
    border-radius: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.sn-new-arrivals-carousel .sn-featured-rec-media img {
    filter: none;
    object-fit: cover;
    transform: none;
    transition: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-card:hover .sn-featured-rec-media img,
.sn-new-arrivals-carousel .sn-featured-rec-card:focus-within .sn-featured-rec-media img,
.sn-new-arrivals-carousel .sn-featured-rec-card.is-active .sn-featured-rec-media img,
.sn-new-arrivals-carousel .sn-featured-rec-card.sn-card-hover .sn-featured-rec-media img {
    filter: none;
    transform: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy {
    color: #fff;
    display: block;
    left: 1.5rem;
    max-width: min(22rem, 44%);
    opacity: 1;
    position: absolute;
    text-decoration: none;
    text-shadow: none;
    top: 1.5rem;
    transform: none;
    transition: none;
    z-index: 2;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy:hover,
.sn-new-arrivals-carousel .sn-featured-rec-copy:focus-visible {
    color: #fff;
    text-decoration: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy span {
    background: #bedccb;
    border-radius: 0.3125rem;
    color: #33785d;
    display: inline-flex;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
    color: #fff;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0;
}

.sn-new-arrivals-carousel .sn-featured-rec-product {
    background: rgba(38, 38, 38, 0.9);
    border: 0;
    border-radius: 0.75rem 0 0 0.75rem;
    bottom: 2rem;
    box-shadow: none;
    color: #fff;
    display: block;
    max-width: 21.5625rem;
    padding: 0.75rem;
    position: absolute;
    right: 0;
    text-decoration: none;
    transform: none;
    transition: background-color 160ms var(--sn-ease-tight, ease);
    width: min(21.5625rem, 42vw);
    z-index: 3;
}

.sn-new-arrivals-carousel .sn-featured-rec-product::after {
    display: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-product:hover,
.sn-new-arrivals-carousel .sn-featured-rec-product:focus-visible {
    background: rgba(38, 38, 38, 0.96);
    color: #fff;
    text-decoration: none;
    transform: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-name-row {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-product strong {
    color: #fff;
    display: block;
    flex: 1 1 auto;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.125rem;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow {
    flex: 0 0 auto;
    height: 1.25rem;
    position: relative;
    width: 1.4375rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::before,
.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    background: #fff;
    content: "";
    position: absolute;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::before {
    height: 0.125rem;
    left: 0.125rem;
    right: 0.125rem;
    top: 0.5625rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    border-right: 0.125rem solid #fff;
    border-top: 0.125rem solid #fff;
    background: transparent;
    height: 0.5rem;
    right: 0.1875rem;
    top: 0.375rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-pricing {
    align-items: center;
    align-self: stretch;
    background: #000;
    border-radius: 0.5rem;
    color: #fff;
    display: flex;
    gap: 0.5rem;
    padding: 0.375rem 0.625rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-product em {
    color: #fff;
    display: block;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.125rem;
    margin: 0;
}

.sn-new-arrivals-carousel .sn-featured-recs-arrow {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 50%;
    bottom: -3.125rem;
    box-shadow: none;
    color: #000;
    height: 2rem;
    padding: 0;
    top: auto;
    transform: none;
    width: 2rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-arrow:hover,
.sn-new-arrivals-carousel .sn-featured-recs-arrow:focus-visible {
    background: #f6f6f6;
}

.sn-new-arrivals-carousel .sn-featured-recs-arrow::before {
    height: 0.625rem;
    width: 0.625rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-prev {
    left: auto;
    right: 4.0625rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-next {
    right: 0.9375rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots {
    align-items: center;
    display: flex;
    gap: 0.25rem;
    justify-content: center;
    margin-top: 2rem;
    min-height: 1.25rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button {
    background: #888;
    border: 0;
    border-radius: 50%;
    height: 0.25rem;
    padding: 0;
    transition: background-color 160ms var(--sn-ease-tight, ease), height 160ms var(--sn-ease-tight, ease), width 160ms var(--sn-ease-tight, ease);
    width: 0.25rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button.is-active {
    background: #000;
    height: 0.75rem;
    width: 0.75rem;
}

@media (max-width: 1199px) {
    .sn-new-arrivals-carousel {
        padding-bottom: 3.5rem;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-header {
        padding: 1.5rem 1rem 0;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-header p {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track {
        gap: 1rem;
        grid-auto-columns: calc(100vw - 2rem);
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-card {
        aspect-ratio: 1170 / 1680;
        min-height: 0;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-copy {
        left: 1rem;
        max-width: calc(100% - 2rem);
        top: 1rem;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-copy span {
        margin-bottom: 0.5rem;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
        font-size: 1.25rem;
        line-height: 1.5rem;
        max-width: 18rem;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-product {
        border-radius: 0.75rem;
        bottom: 0.75rem;
        left: 1rem;
        max-width: calc(100% - 2rem);
        right: 1rem;
        width: auto;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-arrow {
        display: none;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-dots {
        margin-top: 1.25rem;
    }
}

/* Final homepage module sizing parity with sharkninja.com. */
:root {
    --sn-module-gap: 1.5rem;
    --sn-bundle-card-width: 45.25rem;
    --sn-bundle-card-height: 32.8125rem;
    --sn-build-card-width: 21.875rem;
    --sn-recipe-card-width: 18.75rem;
    --sn-category-card-width: 15.25rem;
}

.sn-home-hero .sn-video-ad-row {
    height: calc(100vh - var(--sn-fixed-promo-height, 36px));
    max-height: calc(100vh - var(--sn-fixed-promo-height, 36px));
    min-height: 40rem;
}

.sn-home-hero .sn-video-ad-text {
    padding: 14.1875rem 5rem 7.75rem;
}

.sn-home-hero :where(h1, h2) {
    font-size: 3rem;
    font-weight: 700;
    line-height: 3.5rem;
    max-width: var(--desktop-max-width, 700px);
    width: var(--desktop-max-width, 700px);
}

.sn-sale-promo {
    background: #f4f4f4;
    min-height: 17.375rem;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img {
    display: block;
    height: 17.375rem;
    width: 100%;
}

.sn-sale-promo .sn-promo-billboard-bg img {
    object-fit: cover;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    height: 100%;
    left: 5rem;
    margin: 0;
    min-height: 0;
    position: absolute;
    top: 0;
    width: 9.375rem;
    z-index: 2;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    display: block;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    object-position: bottom left;
    width: 9.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    gap: 3rem;
    height: 100%;
    left: calc(5rem + 9.375rem + 3rem);
    max-width: none;
    position: absolute;
    right: 5rem;
    top: 0;
    transform: none;
    z-index: 3;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000;
    flex: 1 1 auto;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.75rem;
    margin: 0;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    align-items: center;
    border-color: #000;
    border-radius: 999px;
    color: #000;
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 2.75rem;
    min-width: 10.625rem;
    justify-content: center;
    padding: 0 1.35rem;
}

.sn-featured-recs:not(.sn-new-arrivals-carousel),
.sn-home-carousel,
.sn-category-showcase {
    padding: 0 0 4.625rem;
}

.sn-why-buy {
    padding: 0 0 2.5rem;
}

.sn-featured-recs-header,
.sn-home-section-head {
    margin: 0 auto 1.5rem;
    max-width: var(--sn-home-max);
    padding: 1.5rem var(--sn-home-gutter) 0;
}

.sn-featured-recs-header h2,
.sn-home-section-head h2 {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 1rem;
}

.sn-featured-recs-header p,
.sn-home-section-head p,
.sn-why-buy .sn-home-section-head p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 2.25rem;
    margin: 0;
    max-width: 57.5rem;
}

.sn-recipe-carousel .sn-home-section-head h2,
.sn-why-buy .sn-home-section-head h2 {
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.sn-home-carousel-shell,
.sn-category-rail-shell {
    margin: 0 auto;
    max-width: var(--sn-home-max);
    overflow: visible;
}

.sn-home-card-track,
.sn-category-track {
    gap: var(--sn-module-gap);
    padding-left: var(--sn-home-gutter);
    padding-right: var(--sn-home-gutter);
    scroll-padding-left: var(--sn-home-gutter);
}

.sn-curated-bundles .sn-home-card-track {
    grid-auto-columns: minmax(min(86vw, var(--sn-bundle-card-width)), min(86vw, var(--sn-bundle-card-width)));
}

.sn-curated-bundles .sn-home-image-card {
    aspect-ratio: 2532 / 1836;
    max-height: var(--sn-bundle-card-height);
    min-height: 0;
}

.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(min(78vw, var(--sn-build-card-width)), min(78vw, var(--sn-build-card-width)));
}

.sn-build-your-own .sn-home-image-card,
.sn-home-byob-card {
    aspect-ratio: 1224 / 1836;
    max-height: var(--sn-bundle-card-height);
    min-height: 0;
}

.sn-home-image-card,
.sn-home-image-card a,
.sn-home-image-card picture,
.sn-home-image-card img {
    display: block;
    height: 100%;
    width: 100%;
}

.sn-home-image-card img {
    object-fit: cover;
}

.sn-home-card-copy {
    bottom: auto;
    left: 1.5rem;
    right: 1.5rem;
    top: 1.5rem;
}

.sn-home-card-copy strong {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin-bottom: 1.25rem;
    max-width: 23.5rem;
}

.sn-recipe-carousel .sn-home-card-track {
    grid-auto-columns: minmax(min(82vw, var(--sn-recipe-card-width)), min(82vw, var(--sn-recipe-card-width)));
}

.sn-recipe-carousel .sn-recipe-card {
    aspect-ratio: 300 / 385;
    border-radius: 0.5rem;
    max-height: 24.0625rem;
    min-height: 0;
}

.sn-recipe-card span {
    padding: 5.5rem 1rem 1rem;
}

.sn-recipe-card em,
.sn-recipe-card b {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
}

.sn-recipe-card strong {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5rem;
}

.sn-category-tabs {
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding: 0 var(--sn-home-gutter) 1.5rem;
}

.sn-category-tabs button {
    border-color: #888;
    border-radius: 0.5rem;
    color: #6d6d6d;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25rem;
    min-height: 2.5rem;
    min-width: 0;
    padding: 0.25rem 1rem;
    text-transform: none;
}

.sn-category-track {
    background: linear-gradient(180deg, #fff 25%, #ecebe8 calc(100% - 100px), transparent calc(100% - 100px));
    gap: var(--sn-module-gap);
    padding-bottom: 1.5rem;
}

.sn-category-track .sn-category-card {
    flex: 0 0 var(--sn-category-card-width);
    max-width: var(--sn-category-card-width);
}

.sn-category-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    padding: 0 0 1rem;
    text-align: center;
}

.sn-category-card:hover,
.sn-category-card:focus-visible {
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.sn-category-card img {
    aspect-ratio: 1;
    margin: 0 auto;
    max-width: 11.25rem;
    object-fit: contain;
    width: 100%;
}

.sn-category-card strong {
    align-items: center;
    display: flex;
    font-size: 0.875rem;
    font-weight: 500;
    justify-content: center;
    line-height: 1.25rem;
    margin-top: 2rem;
    padding: 0 1rem;
    text-transform: none;
}

.sn-category-card strong::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.5rem;
    margin-left: 0.45rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-category-card span {
    display: none;
}

.sn-featured-recs-dots,
.sn-home-carousel .sn-featured-recs-dots {
    align-items: center;
    gap: 0.25rem;
    margin-top: 2rem;
    min-height: 1.25rem;
}

.sn-home-carousel .sn-featured-recs-dots button,
.sn-category-showcase .sn-featured-recs-dots button {
    background: #888;
    border-radius: 50%;
    height: 0.25rem;
    width: 0.25rem;
}

.sn-home-carousel .sn-featured-recs-dots button.is-active,
.sn-category-showcase .sn-featured-recs-dots button.is-active {
    background: #000;
    height: 0.75rem;
    width: 0.75rem;
}

.sn-home-carousel .sn-featured-recs-arrow,
.sn-category-showcase .sn-category-arrow {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 50%;
    bottom: -3.125rem;
    box-shadow: none;
    color: #000;
    height: 2rem;
    top: auto;
    transform: none;
    width: 2rem;
}

.sn-home-carousel .sn-featured-recs-prev,
.sn-category-showcase .sn-category-prev {
    left: auto;
    right: 4.0625rem;
}

.sn-home-carousel .sn-featured-recs-next,
.sn-category-showcase .sn-category-next {
    right: 0.9375rem;
}

.sn-benefit-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    max-width: var(--sn-home-max);
    padding: 0 var(--sn-home-gutter);
}

.sn-benefit-card {
    background: transparent;
    border: 0;
    border-right: 1px solid #d1d1d1;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    padding: 0.75rem 0.875rem 1.125rem;
}

.sn-benefit-card:last-child {
    border-right: 0;
}

.sn-benefit-card:hover,
.sn-benefit-card:focus-within {
    border-color: #d1d1d1;
    box-shadow: none;
    transform: none;
}

.sn-benefit-card span {
    height: 2.75rem;
    margin-bottom: 1.25rem;
    width: 2.75rem;
}

.sn-benefit-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin-bottom: 1rem;
}

.sn-benefit-card p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
}

@media (max-width: 1199px) {
    .sn-home-hero .sn-video-ad-row {
        min-height: 40rem;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 7.1875rem 2.5rem 3.75rem;
    }

    .sn-home-hero :where(h1, h2) {
        font-size: 3rem;
        line-height: 3.5rem;
        max-width: var(--mobile-max-width, 100%);
        width: var(--mobile-max-width, 100%);
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        left: 0;
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        object-fit: cover;
        object-position: right;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        flex-direction: column;
        gap: 0.5rem;
        justify-content: space-around;
        left: 25%;
        padding: 0.25rem 1rem 1.25rem;
        right: 0;
        text-align: center;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25rem;
    }

    .sn-sale-promo .sn-promo-billboard-copy a {
        border: 0;
        min-height: 1.5rem;
        min-width: 0;
        padding: 0;
        text-decoration: underline;
    }

    .sn-featured-recs:not(.sn-new-arrivals-carousel),
    .sn-home-carousel,
    .sn-category-showcase {
        padding-bottom: 3.5rem;
    }

    .sn-featured-recs-header,
    .sn-home-section-head {
        padding: 1.5rem var(--sn-home-gutter) 0;
    }

    .sn-featured-recs-header p,
    .sn-home-section-head p,
    .sn-why-buy .sn-home-section-head p {
        font-size: 1.5rem;
        line-height: 1.75rem;
    }

    .sn-home-card-track,
    .sn-category-track {
        gap: 1rem;
    }

    .sn-curated-bundles .sn-home-card-track,
    .sn-build-your-own .sn-home-card-track,
    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: calc(100vw - 2rem);
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
    }

    .sn-curated-bundles .sn-home-image-card,
    .sn-build-your-own .sn-home-image-card,
    .sn-home-byob-card {
        aspect-ratio: 1224 / 1836;
        max-height: none;
    }

    .sn-recipe-carousel .sn-recipe-card {
        max-height: none;
    }

    .sn-category-tabs {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .sn-category-track {
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
    }

    .sn-category-track .sn-category-card {
        flex-basis: calc(100vw - 2rem);
        max-width: calc(100vw - 2rem);
    }

    .sn-benefit-grid {
        display: flex;
        flex-direction: column;
        padding: 0 1rem;
    }

    .sn-benefit-card {
        border-bottom: 1px solid #d1d1d1;
        border-right: 0;
        margin-bottom: 1.5rem;
        width: 100%;
    }
}

/* Requested compact promo image directly below the video ad. */
.sn-sale-promo {
    min-height: 8.6875rem;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img,
.sn-sale-promo .sn-promo-billboard-media,
.sn-sale-promo .sn-promo-billboard-media img {
    height: 8.6875rem;
    min-height: 8.6875rem;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    height: 8.6875rem;
    min-height: 8.6875rem;
    width: 4.6875rem;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    height: 8.6875rem;
    min-height: 8.6875rem;
    width: 4.6875rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: calc(5rem + 4.6875rem + 3rem);
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    font-size: 1rem;
    line-height: 1.25rem;
}

@media (max-width: 1199px) {
    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }
}

/* DISCOVER THE NEW SHARKNINJA.COM module parity with sharkninja.com. */
.sn-new-arrivals-carousel {
    background: #fff;
    color: #000;
    margin: 0 !important;
    overflow: visible;
    padding: 0 0 4.625rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-header {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 0 1rem;
    max-width: none;
    padding: 1.5rem 0.25rem 0;
    text-align: left;
}

.sn-new-arrivals-carousel .sn-featured-recs-shell {
    margin: 0;
    max-width: none;
    overflow: visible;
    width: 100%;
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    gap: 1rem;
    grid-auto-columns: minmax(min(90vw, 90rem), min(90vw, 90rem));
    padding: 0 0.75rem 0.5rem 0.25rem;
    scroll-padding-left: 0.25rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-header h2 {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 1rem;
    text-transform: none;
}

.sn-new-arrivals-carousel .sn-featured-recs-header p {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 2rem;
    margin: 0;
    max-width: none;
    text-transform: none;
}

@media (min-width: 1200px) {
    .sn-new-arrivals-carousel .sn-featured-recs-header {
        margin-bottom: 1.5rem;
        padding: 1.5rem 0 0;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track {
        padding-left: 0.75rem;
        scroll-padding-left: 0.75rem;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-header p {
        font-size: 2rem;
        line-height: 2.25rem;
    }
}

/* Keep the compact banner while restoring the official foreground product image treatment. */
.sn-sale-promo {
    overflow: visible;
}

.sn-sale-promo .sn-promo-billboard-bg {
    overflow: hidden;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0;
    height: 17.375rem;
    left: 5rem;
    min-height: 17.375rem;
    pointer-events: none;
    top: auto;
    transform: translateY(-1.25rem);
    width: 9.375rem;
    z-index: 4;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    height: 17.375rem;
    max-height: 17.375rem;
    min-height: 17.375rem;
    object-fit: contain;
    object-position: bottom left;
    width: 9.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: calc(5rem + 9.375rem + 3rem);
    z-index: 5;
}

@media (max-width: 1199px) {
    .sn-sale-promo .sn-promo-billboard-overlay {
        height: 12rem;
        left: 0;
        min-height: 12rem;
        transform: translateY(-0.75rem);
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        height: 12rem;
        max-height: 12rem;
        min-height: 12rem;
        object-fit: cover;
        object-position: right bottom;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }
}

/* Scale the foreground promo product proportionally without distorting or cropping it. */
.sn-sale-promo {
    --sn-promo-product-scale: 0.62;
    --sn-promo-product-width: calc(9.375rem * var(--sn-promo-product-scale));
    --sn-promo-product-height: calc(17.375rem * var(--sn-promo-product-scale));
}

.sn-sale-promo .sn-promo-billboard-overlay {
    height: var(--sn-promo-product-height);
    min-height: 0;
    overflow: visible;
    width: var(--sn-promo-product-width);
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    display: block;
    height: auto;
    max-height: var(--sn-promo-product-height);
    max-width: var(--sn-promo-product-width);
    min-height: 0;
    object-fit: contain;
    object-position: bottom left;
    width: auto;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: calc(5rem + var(--sn-promo-product-width) + 3rem);
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        --sn-promo-product-scale: 0.72;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        height: auto;
        max-height: var(--sn-promo-product-height);
        max-width: 100%;
        min-height: 0;
        object-fit: contain;
        object-position: right bottom;
        width: auto;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }
}

/* Match sharkninja.com foreground product display for the promo banner. */
.sn-sale-promo {
    --sn-promo-product-width: 9.375rem;
    --sn-promo-product-height: 17.375rem;
    overflow: visible;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    height: var(--sn-promo-product-height);
    left: 5rem;
    min-height: var(--sn-promo-product-height);
    overflow: visible;
    pointer-events: none;
    top: auto;
    transform: none;
    width: var(--sn-promo-product-width);
    z-index: 4;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    display: block;
    height: 100%;
    max-height: var(--sn-promo-product-height);
    max-width: var(--sn-promo-product-width);
    min-height: 0;
    object-fit: contain;
    object-position: bottom left;
    width: 100%;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: calc(5rem + var(--sn-promo-product-width) + 3rem);
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        --sn-promo-product-height: 12rem;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        height: var(--sn-promo-product-height);
        left: 0;
        min-height: var(--sn-promo-product-height);
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        height: 100%;
        max-height: var(--sn-promo-product-height);
        max-width: 100%;
        object-fit: contain;
        object-position: right bottom;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }
}

/* Final promo/video behavior: complete scaled product overlap and hidden autoplay control. */
.sn-video-ad-toggle {
    display: none !important;
}

.sn-home-hero,
.sn-video-ad-row {
    overflow: visible;
    position: relative;
    z-index: 1;
}

.sn-home-main {
    overflow: visible;
}

.sn-home-hero.sn-video-ad {
    overflow: visible;
    position: relative;
    z-index: 1;
}

.sn-sale-promo {
    --sn-promo-product-scale-final: 0.78;
    --sn-promo-product-width: calc(9.375rem * var(--sn-promo-product-scale-final));
    --sn-promo-product-height: calc(17.375rem * var(--sn-promo-product-scale-final));
    overflow: visible;
    position: relative;
    z-index: 30;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    height: var(--sn-promo-product-height);
    left: 5rem;
    min-height: 0;
    overflow: visible;
    pointer-events: none;
    top: auto;
    transform: translateY(-2.25rem);
    width: var(--sn-promo-product-width);
    z-index: 40;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    aspect-ratio: 150 / 278;
    display: block;
    height: 100%;
    max-height: var(--sn-promo-product-height);
    max-width: var(--sn-promo-product-width);
    min-height: 0;
    object-fit: contain;
    object-position: bottom left;
    position: relative;
    width: 100%;
    z-index: 41;
}

.sn-sale-promo .sn-promo-billboard-copy {
    left: calc(5rem + var(--sn-promo-product-width) + 3rem);
    z-index: 45;
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        --sn-promo-product-scale-final: 0.58;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        left: 0;
        transform: translateY(-1.5rem);
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        height: 100%;
        max-height: var(--sn-promo-product-height);
        max-width: 100%;
        object-fit: contain;
        object-position: right bottom;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }
}

/* 2026-05-12 live SharkNinja homepage alignment overrides. */
:root {
    --sn-home-max: 1440px;
    --sn-home-gutter: 0.75rem;
    --sn-home-gutter-mobile: 1rem;
    --sn-module-gap: 1rem;
    --sn-bundle-card-width: 45.25rem;
    --sn-build-card-width: 21.875rem;
    --sn-recipe-card-width: 18.75rem;
    --sn-category-card-width: 15.25rem;
}

.sn-home-main > .alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none;
    width: 100vw;
}

.sn-video-ad-toggle {
    display: none !important;
}

.sn-home-hero .sn-video-ad-row {
    height: calc(100vh - var(--sn-fixed-promo-height, 36px));
    max-height: calc(100vh - var(--sn-fixed-promo-height, 36px));
    min-height: 40rem;
}

.sn-home-hero .sn-video-ad-video {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sn-home-hero .sn-video-ad-text {
    padding: 14.1875rem 5rem 7.75rem;
}

.sn-home-hero .sn-video-ad-eyebrow {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin-bottom: 1rem;
}

.sn-home-hero :where(h1, h2) {
    font-size: 3rem;
    font-weight: 700;
    line-height: 3.5rem;
    max-width: var(--desktop-max-width, 700px);
    width: var(--desktop-max-width, 700px);
}

.sn-sale-promo {
    aspect-ratio: 4320 / 378;
    background: #f4f4f4;
    height: auto !important;
    margin-bottom: 4rem !important;
    min-height: 0 !important;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img,
.sn-sale-promo .sn-promo-billboard-media,
.sn-sale-promo .sn-promo-billboard-media img {
    min-height: 0 !important;
}

.sn-sale-promo .sn-promo-billboard-bg {
    display: block;
    height: 100% !important;
    overflow: hidden;
    width: 100%;
}

.sn-sale-promo .sn-promo-billboard-bg img {
    display: block;
    height: 100% !important;
    object-fit: cover;
    width: 100%;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    height: 100% !important;
    left: 5rem;
    min-height: 0 !important;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: none !important;
    width: 9.375rem;
    z-index: 2;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    aspect-ratio: auto;
    display: block;
    height: 100% !important;
    max-height: none;
    max-width: none;
    min-height: 0 !important;
    object-fit: fill;
    object-position: center bottom;
    position: static;
    width: 9.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    gap: 3rem;
    height: 100%;
    left: calc(5rem + 9.375rem + 3rem);
    max-width: none;
    padding: 0;
    position: absolute;
    right: 5rem;
    text-align: left;
    top: 0;
    transform: none;
    width: auto;
    z-index: 3;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000;
    flex: 1 1 auto;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.75rem;
    margin: 0;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    align-items: center;
    border-color: #000;
    color: #000;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    min-height: 2.75rem;
    min-width: 10.625rem;
}

.sn-sale-promo .sn-promo-billboard-copy a:hover,
.sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
    background: #000;
    color: #fff;
}

.sn-featured-recs:not(.sn-new-arrivals-carousel),
.sn-home-carousel,
.sn-category-showcase {
    padding: 0 0 4.625rem;
}

.sn-new-arrivals-carousel {
    padding: 0 0 4.625rem;
}

.sn-featured-recs-header,
.sn-home-section-head {
    box-sizing: border-box;
    margin: 0 auto 1.5rem;
    max-width: var(--sn-home-max);
    padding: 1.5rem var(--sn-home-gutter) 0;
    text-align: left;
}

.sn-featured-recs-header h2,
.sn-home-section-head h2,
.sn-recipe-carousel .sn-home-section-head h2,
.sn-why-buy .sn-home-section-head h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.sn-featured-recs-header p,
.sn-home-section-head p,
.sn-why-buy .sn-home-section-head p {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 2.25rem;
    margin: 0;
    max-width: 57.5rem;
}

.sn-featured-recs-shell,
.sn-home-carousel-shell,
.sn-category-rail-shell {
    margin: 0 auto;
    max-width: var(--sn-home-max);
    overflow: visible;
    position: relative;
}

.sn-new-arrivals-carousel .sn-featured-recs-track,
.sn-home-card-track,
.sn-category-tabs,
.sn-category-track,
.sn-benefit-grid {
    padding-left: var(--sn-home-gutter);
    padding-right: var(--sn-home-gutter);
}

.sn-new-arrivals-carousel .sn-featured-recs-track,
.sn-home-card-track,
.sn-category-track {
    gap: var(--sn-module-gap);
    scroll-padding-left: var(--sn-home-gutter);
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    grid-auto-columns: minmax(min(90vw, calc(var(--sn-home-max) - (var(--sn-home-gutter) * 2))), min(90vw, calc(var(--sn-home-max) - (var(--sn-home-gutter) * 2))));
    padding-bottom: 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-card {
    background: #fff;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: none;
    overflow: hidden;
}

.sn-new-arrivals-carousel .sn-featured-rec-media,
.sn-new-arrivals-carousel .sn-featured-rec-media picture,
.sn-new-arrivals-carousel .sn-featured-rec-media img {
    display: block;
    height: 100%;
    width: 100%;
}

.sn-new-arrivals-carousel .sn-featured-rec-media {
    aspect-ratio: 2532 / 1233;
}

.sn-new-arrivals-carousel .sn-featured-rec-media img {
    object-fit: cover;
}

.sn-curated-bundles .sn-home-card-track {
    grid-auto-columns: minmax(min(86vw, var(--sn-bundle-card-width)), min(86vw, var(--sn-bundle-card-width)));
}

.sn-curated-bundles .sn-home-image-card {
    aspect-ratio: 2532 / 1836;
    max-height: none;
}

.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(min(78vw, var(--sn-build-card-width)), min(78vw, var(--sn-build-card-width)));
}

.sn-build-your-own .sn-home-image-card,
.sn-home-byob-card {
    aspect-ratio: 1224 / 1836;
    max-height: none;
}

.sn-home-image-card {
    border: 0;
    border-radius: 0.5rem;
    box-shadow: none;
    overflow: hidden;
}

.sn-home-card-copy {
    bottom: auto;
    left: 1.5rem;
    right: 1.5rem;
    top: 1.5rem;
}

.sn-home-card-copy strong {
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin-bottom: 1.25rem;
    max-width: 23.5rem;
}

.sn-home-card-copy em,
.sn-recipe-card b,
.sn-category-card strong {
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    text-transform: none;
}

.sn-recipe-carousel .sn-home-card-track {
    grid-auto-columns: minmax(min(82vw, var(--sn-recipe-card-width)), min(82vw, var(--sn-recipe-card-width)));
}

.sn-recipe-carousel .sn-recipe-card {
    aspect-ratio: 300 / 385;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: none;
    max-height: none;
    min-height: 0;
    overflow: hidden;
}

.sn-recipe-card img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sn-category-tabs {
    gap: 0.75rem;
    margin: 0 auto 1.5rem;
    max-width: var(--sn-home-max);
    overflow-x: auto;
    padding-bottom: 1.5rem;
    scrollbar-width: none;
}

.sn-category-tabs::-webkit-scrollbar {
    display: none;
}

.sn-category-tabs button {
    border-color: #888;
    border-radius: 0.5rem;
    color: #6d6d6d;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    height: 2.5rem;
    line-height: 1.25rem;
    min-height: 2.5rem;
    padding: 0.25rem 1rem;
}

.sn-category-tabs button.is-active {
    background: #000;
    border-color: #000;
    color: #fff;
}

.sn-category-track {
    background: linear-gradient(180deg, #fff 25%, #ecebe8 calc(100% - 100px), transparent calc(100% - 100px));
    gap: var(--sn-module-gap);
    padding-bottom: 1.5rem;
}

.sn-category-track .sn-category-card {
    flex: 0 0 var(--sn-category-card-width);
    max-width: var(--sn-category-card-width);
}

.sn-category-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    padding: 0 0 1rem;
    text-align: center;
}

.sn-category-card img {
    aspect-ratio: 1;
    display: block;
    margin: 0 auto;
    max-width: 11.25rem;
    object-fit: contain;
    width: 100%;
}

.sn-category-card strong {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    padding: 0 1rem;
}

.sn-category-card span {
    display: none;
}

.sn-why-buy {
    padding: 0 0 2.5rem;
}

.sn-benefit-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    max-width: var(--sn-home-max);
}

.sn-benefit-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    border-right: 1px solid #d1d1d1;
    box-shadow: none;
    min-height: 0;
    padding: 0.75rem 0.875rem 1.125rem;
}

.sn-benefit-card:last-child {
    border-right: 0;
}

.sn-benefit-card h3 {
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    margin-bottom: 1rem;
}

.sn-benefit-card p {
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
}

@media (max-width: 1199px) {
    :root {
        --sn-home-gutter: var(--sn-home-gutter-mobile);
        --sn-module-gap: 1rem;
    }

    .sn-home-hero .sn-video-ad-row {
        min-height: 40rem;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 7.1875rem 2.5rem 3.75rem;
    }

    .sn-home-hero :where(h1, h2) {
        font-size: 3rem;
        line-height: 3.5rem;
        max-width: var(--mobile-max-width, 100%);
        width: var(--mobile-max-width, 100%);
    }

    .sn-sale-promo {
        aspect-ratio: 1080 / 278;
        margin-bottom: 1rem !important;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        left: 0;
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        height: 100% !important;
        object-fit: cover;
        object-position: right;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        flex-direction: column;
        gap: 0;
        justify-content: space-around;
        left: 25%;
        padding: 0.25rem 0 1.25rem;
        right: 0;
        text-align: center;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25rem;
        padding: 0 0.75rem;
    }

    .sn-sale-promo .sn-promo-billboard-copy a {
        border: 0;
        min-height: 1.125rem;
        min-width: 0;
        padding: 0;
        text-decoration: underline;
    }

    .sn-featured-recs:not(.sn-new-arrivals-carousel),
    .sn-home-carousel,
    .sn-category-showcase,
    .sn-new-arrivals-carousel {
        padding-bottom: 3.5rem;
    }

    .sn-featured-recs-header p,
    .sn-home-section-head p,
    .sn-why-buy .sn-home-section-head p {
        font-size: 1.5rem;
        line-height: 1.75rem;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track,
    .sn-curated-bundles .sn-home-card-track,
    .sn-build-your-own .sn-home-card-track,
    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: calc(100vw - 2rem);
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-media,
    .sn-curated-bundles .sn-home-image-card,
    .sn-build-your-own .sn-home-image-card,
    .sn-home-byob-card {
        aspect-ratio: 1170 / 1680;
    }

    .sn-category-tabs {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .sn-category-tabs button {
        height: 2rem;
        min-height: 2rem;
    }

    .sn-category-track {
        padding-left: 1rem;
        padding-right: 1rem;
        scroll-padding-left: 1rem;
    }

    .sn-category-track .sn-category-card {
        flex-basis: calc(100vw - 2rem);
        max-width: calc(100vw - 2rem);
    }

    .sn-benefit-grid {
        display: flex;
        flex-direction: column;
        padding: 0 1rem;
    }

    .sn-benefit-card {
        border-bottom: 1px solid #d1d1d1;
        border-right: 0;
        margin-bottom: 1.5rem;
        width: 100%;
    }
}

/* SharkNinja footer parity. */
.sn-footer {
    background: #fff !important;
    color: #000 !important;
    font-family: "DM Sans", Arial, Helvetica, serif;
    margin: 0 !important;
    padding: 4rem 0 0 !important;
}

.sn-footer,
.sn-footer * {
    box-sizing: border-box;
}

.sn-footer a {
    color: inherit;
    text-decoration: none;
}

.sn-footer a:hover,
.sn-footer a:focus-visible {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.sn-footer-main,
.sn-footer-country-inner,
.sn-footer-copyright {
    margin: 0 auto;
    padding-left: 14px;
    padding-right: 14px;
    width: 100%;
}

.sn-footer-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
}

.sn-footer-nav-card {
    order: 2;
    width: 100%;
}

.sn-footer-menu {
    border-bottom: 0.0625rem solid #d1d1d1;
    margin: 0;
}

.sn-footer-menu summary {
    align-items: center;
    color: #000;
    cursor: pointer;
    display: flex;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 0.9375rem;
    font-weight: 700;
    gap: 0.5rem;
    justify-content: flex-start;
    line-height: 1.25rem;
    list-style: none;
    margin: 0;
    min-height: 4rem;
    padding: 1.25rem 1rem;
}

.sn-footer-menu summary::-webkit-details-marker {
    display: none;
}

.sn-footer-menu summary::after {
    background: center / contain no-repeat url('data:image/svg+xml,%3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M11.4687 16.5313C11.7625 16.8251 12.2375 16.8251 12.5281 16.5313L18.5312 10.5313C18.825 10.2376 18.825 9.7626 18.5312 9.47197C18.2375 9.18135 17.7625 9.17822 17.4718 9.47197L12.0031 14.9407L6.5312 9.46885C6.23745 9.1751 5.76245 9.1751 5.47183 9.46885C5.1812 9.7626 5.17808 10.2376 5.47183 10.5282L11.4687 16.5313Z" fill="black"/%3E%3C/svg%3E');
    content: "";
    display: inline-block;
    height: 1.25rem;
    margin-left: auto;
    width: 1.25rem;
}

.sn-footer-menu[open] summary::after {
    background-image: url('data:image/svg+xml,%3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M11.4687 7.46836C11.7625 7.17461 12.2375 7.17461 12.5281 7.46836L18.5312 13.4684C18.825 13.7621 18.825 14.2371 18.5312 14.5277C18.2375 14.8184 17.7625 14.8215 17.4718 14.5277L12.0031 9.05898L6.5312 14.5309C6.23745 14.8246 5.76245 14.8246 5.47183 14.5309C5.1812 14.2371 5.17808 13.7621 5.47183 13.4715L11.4687 7.46836Z" fill="black"/%3E%3C/svg%3E');
}

.sn-footer-menu-support summary::before {
    background: center / contain no-repeat url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1.8761 10C1.8761 5.51172 5.51211 1.875 9.99951 1.875C14.4869 1.875 18.1229 5.51172 18.1229 10V15.6289C18.1229 16.4922 17.4238 17.1914 16.5607 17.1914L12.2491 17.1875C11.9249 16.625 11.3196 16.25 10.6244 16.25H9.37463C8.33968 16.25 7.5 17.0898 7.5 18.125C7.5 19.1602 8.33968 20 9.37463 20H10.6244C11.3196 20 11.9249 19.6211 12.2491 19.0625L16.5607 19.0664C18.4588 19.0664 20.0015 17.5273 20.0015 15.6289L19.9976 10C19.9976 4.47656 15.5219 0 9.99951 0C4.47715 0 0.00146484 4.47656 0.00146484 10V11.5625C0.00146484 12.082 0.419352 12.5 0.938782 12.5C1.45821 12.5 1.8761 12.082 1.8761 11.5625V10ZM6.25024 8.75V13.125C5.55897 13.125 5.00049 12.5664 5.00049 11.875V10C5.00049 9.30859 5.55897 8.75 6.25024 8.75ZM3.12585 10V11.875C3.12585 13.6016 4.52402 15 6.25024 15H6.87512C7.56639 15 8.12488 14.4414 8.12488 13.75V8.125C8.12488 7.43359 7.56639 6.875 6.87512 6.875H6.25024C4.52402 6.875 3.12585 8.27344 3.12585 10ZM13.7488 8.75C14.4401 8.75 14.9985 9.30859 14.9985 10V11.875C14.9985 12.5664 14.4401 13.125 13.7488 13.125V8.75ZM16.8732 10C16.8732 8.27344 15.475 6.875 13.7488 6.875H13.1239C12.4326 6.875 11.8741 7.43359 11.8741 8.125V13.75C11.8741 14.4414 12.4326 15 13.1239 15H13.7488C15.475 15 16.8732 13.6016 16.8732 11.875V10Z" fill="black"/%3E%3C/svg%3E');
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 1.25rem;
    margin-right: 0;
    width: 1.25rem;
}

.sn-footer-menu ul,
.sn-footer-legal ul,
.sn-footer-brand-social ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sn-footer-menu ul {
    padding: 0 1rem 0.25rem;
}

.sn-footer-menu li {
    height: auto;
    margin: 0 0 1rem;
}

.sn-footer-menu a {
    color: #454545;
    display: -webkit-box;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 0.8125rem;
    line-height: 1.1875rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sn-footer-side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    order: 1;
    width: 100%;
}

.sn-footer-signup-card,
.sn-footer-social-card {
    background: #f6f6f6;
    border-radius: 16px;
}

.sn-footer-signup-card {
    flex: 1;
    padding: 1.5rem 1rem;
}

.sn-footer-signup-card h2 {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0 0 1.25rem;
}

.sn-footer-native-signup label,
.sn-footer-native-signup input,
.sn-footer-native-signup button,
.sn-footer-consent label,
.sn-footer-offer-note,
.sn-footer-follow,
.sn-footer-legal a,
.sn-footer-country-selector button,
.sn-footer-copyright p {
    font-family: "DM Sans", Arial, Helvetica, serif;
}

.sn-footer-native-signup > label {
    color: #000;
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    margin: 0 0 0.5rem;
}

.sn-footer-input-row {
    display: flex;
    flex-direction: column;
}

.sn-footer-native-signup input[type="email"] {
    background: #fff;
    border: 0.0625rem solid #fff;
    border-radius: 8px;
    color: #000;
    font-size: 0.9375rem;
    font-weight: 400;
    height: 2.75rem;
    line-height: 1.25rem;
    padding: 0.75rem 1.5rem;
    width: 100%;
}

.sn-footer-native-signup input[type="email"]::placeholder {
    color: #6d6d6d;
}

.sn-footer-native-signup input[type="email"]:focus {
    border-color: #808080;
    box-shadow: none;
    outline: none;
}

.sn-footer-native-signup button {
    align-items: center;
    background: #000;
    border: 0;
    border-radius: 2.5rem;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1rem;
    font-weight: 500;
    justify-content: center;
    line-height: 1.5rem;
    margin-top: 1.5rem;
    min-height: 2.75rem;
    min-width: 7.5rem;
    padding: 0.625rem 2rem;
    text-align: center;
    white-space: nowrap;
}

.sn-footer-native-signup button:hover,
.sn-footer-native-signup button:focus-visible {
    background: #454545;
}

.sn-footer-native-signup button:focus-visible {
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
}

.sn-footer-native-signup button:active {
    background: #454545;
    text-decoration: none;
}

.sn-footer-native-signup button:disabled {
    background: #d1d1d1;
    color: #6d6d6d;
    cursor: default;
}

.sn-footer-consent {
    align-items: flex-start;
    display: flex;
    margin-top: 0.75rem;
}

.sn-footer-consent input {
    flex: 0 0 auto;
    margin: 0.3125rem 0 0;
}

.sn-footer-consent label {
    color: #6d6d6d;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.1875rem;
    margin: 0;
    padding-left: 0.75rem;
}

.sn-footer-consent a {
    color: #6d6d6d;
    text-decoration: underline;
}

.sn-footer-offer-note {
    color: #7f8c8d;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.1875rem;
    margin: 0.5rem 0 0;
}

.sn-footer-offer-note a {
    color: #7f8c8d;
    text-decoration: none;
}

.sn-footer-social-card {
    display: flex;
    flex-direction: column;
    padding: 1rem 1rem 0.75rem;
}

.sn-footer-follow {
    color: #000;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.25rem;
    padding-bottom: 0.875rem;
}

.sn-footer-brand-social {
    border-top: 0.0625rem solid #d1d1d1;
    padding: 1rem 0;
}

.sn-footer-brand-social,
.sn-footer-brand-social ul {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.sn-footer-logo-wrap {
    align-items: center;
    display: flex;
    flex: 0 0 5.25rem;
    min-width: 0;
}

.sn-footer-logo-wrap img {
    display: block;
    height: 1.5rem;
    max-width: 4.5rem;
    object-fit: contain;
    object-position: left center;
    width: auto;
}

.sn-footer-brand-social ul {
    flex-wrap: nowrap;
    gap: 1.25rem;
    justify-content: flex-end;
}

.sn-footer-brand-social a {
    align-items: center;
    display: inline-flex;
    height: 1.25rem;
    justify-content: center;
    width: 1.25rem;
}

.sn-footer-brand-social a:hover,
.sn-footer-brand-social a:focus-visible {
    opacity: 0.72;
    text-decoration: none;
}

.sn-footer-brand-social a img {
    display: block;
    height: 1.25rem;
    object-fit: contain;
    width: 1.25rem;
}

.sn-footer-country-bar {
    padding: 2rem 0;
}

.sn-footer-country-inner {
    display: flex;
    flex-direction: column;
}

.sn-footer-legal ul {
    margin-bottom: 0;
}

.sn-footer-legal li {
    display: block;
    line-height: 1.25rem;
    margin: 0 0 0.5rem;
    padding: 0.5rem 0;
}

.sn-footer-legal a {
    color: #454545;
    font-size: 0.8125rem;
    line-height: 1.1875rem;
}

.sn-footer-country-selector {
    padding-top: 1.5rem;
}

.sn-footer-country-selector button {
    align-items: center;
    background: transparent;
    border: 0.0625rem solid #262626;
    border-radius: 2.5rem;
    color: #000;
    display: flex;
    max-width: 100%;
    overflow: hidden;
    padding: 0.5625rem 1.5rem;
    white-space: nowrap;
}

.sn-footer-country-selector button:hover {
    background: #ecebe8;
}

.sn-footer-country-selector button:focus-visible {
    outline: 0.125rem solid #92c0ab;
    outline-offset: 0.125rem;
}

.sn-footer-country-selector button::before,
.sn-footer-country-selector button::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 1.25rem;
    width: 1.25rem;
}

.sn-footer-country-selector button::before {
    background-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M10 16.7707C10.2409 16.7707 10.8789 16.5363 11.5495 15.1951C11.836 14.619 12.0834 13.9191 12.2656 13.1248H7.7344C7.91669 13.9191 8.16408 14.619 8.45054 15.1951C9.12111 16.5363 9.75913 16.7707 10 16.7707ZM7.47723 11.5623H12.5228C12.5749 11.0643 12.6042 10.5402 12.6042 9.99984C12.6042 9.45947 12.5749 8.93538 12.5228 8.43734H7.47723C7.42515 8.93538 7.39585 9.45947 7.39585 9.99984C7.39585 10.5402 7.42515 11.0643 7.47723 11.5623ZM7.7344 6.87484H12.2656C12.0834 6.08057 11.836 5.3807 11.5495 4.80452C10.8789 3.46338 10.2409 3.229 10 3.229C9.75913 3.229 9.12111 3.46338 8.45054 4.80452C8.16408 5.3807 7.91669 6.08057 7.7344 6.87484ZM14.0918 8.43734C14.1406 8.94189 14.1634 9.46598 14.1634 9.99984C14.1634 10.5337 14.1374 11.0578 14.0918 11.5623H16.5886C16.7057 11.061 16.7709 10.5369 16.7709 9.99984C16.7709 9.46273 16.709 8.93864 16.5886 8.43734H14.0918ZM16.0059 6.87484C15.3093 5.53695 14.1797 4.46273 12.8028 3.83447C13.2617 4.66781 13.6263 5.70622 13.864 6.87484H16.0059ZM6.13283 6.87484C6.37046 5.70622 6.73505 4.67106 7.19403 3.83447C5.81708 4.46273 4.68752 5.53695 3.99091 6.87484H6.13283ZM3.41148 8.43734C3.29429 8.93864 3.22919 9.46273 3.22919 9.99984C3.22919 10.5369 3.29104 11.061 3.41148 11.5623H5.90822C5.8594 11.0578 5.83661 10.5337 5.83661 9.99984C5.83661 9.46598 5.86265 8.94189 5.90822 8.43734H3.41148ZM12.8028 16.1652C14.1797 15.5369 15.3093 14.4627 16.0059 13.1248H13.8607C13.6231 14.2935 13.2585 15.3286 12.7995 16.1652H12.8028ZM7.19729 16.1652C6.7383 15.3319 6.37372 14.2935 6.13609 13.1248H3.99091C4.68752 14.4627 5.81708 15.5369 7.19403 16.1652H7.19729ZM10 18.3332C7.78988 18.3332 5.67027 17.4552 4.10746 15.8924C2.54466 14.3296 1.66669 12.21 1.66669 9.99984C1.66669 7.7897 2.54466 5.67008 4.10746 4.10728C5.67027 2.54448 7.78988 1.6665 10 1.6665C12.2102 1.6665 14.3298 2.54448 15.8926 4.10728C17.4554 5.67008 18.3334 7.7897 18.3334 9.99984C18.3334 12.21 17.4554 14.3296 15.8926 15.8924C14.3298 17.4552 12.2102 18.3332 10 18.3332Z" fill="black"/%3E%3C/svg%3E');
}

.sn-footer-country-selector button::after {
    background-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M9.55733 13.776C9.80213 14.0208 10.198 14.0208 10.4401 13.776L15.4428 8.77604C15.6875 8.53125 15.6875 8.13542 15.4428 7.89323C15.198 7.65104 14.8021 7.64844 14.5599 7.89323L10.0026 12.4505L5.44275 7.89062C5.19796 7.64583 4.80213 7.64583 4.55994 7.89062C4.31775 8.13542 4.31515 8.53125 4.55994 8.77344L9.55733 13.776Z" fill="black"/%3E%3C/svg%3E');
}

.sn-footer-country-selector button span {
    color: #000;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.5rem;
    padding: 0 0.5rem;
}

.sn-footer-copyright-wrap {
    background: #f6f6f6;
    padding: 0.5rem 0;
}

.sn-footer-copyright {
    display: flex;
    justify-content: flex-start;
}

.sn-footer-copyright p {
    color: #000;
    font-size: 0.8125rem;
    line-height: 1.1875rem;
    margin: 0;
}

@media (min-width: 768px) {
    .sn-footer-main,
    .sn-footer-country-inner,
    .sn-footer-copyright {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .sn-footer-input-row {
        align-items: stretch;
        flex-direction: row;
    }

    .sn-footer-native-signup input[type="email"] {
        margin-right: 0.75rem;
    }

    .sn-footer-native-signup button {
        margin-top: 0;
    }
}

@media (min-width: 1200px) {
    .sn-footer-main,
    .sn-footer-country-inner,
    .sn-footer-copyright {
        padding-left: 220px;
        padding-right: 220px;
    }

    .sn-footer-layout {
        align-items: stretch;
        flex-direction: row;
        gap: 1.5rem;
    }

    .sn-footer-nav-card {
        background: #f6f6f6;
        border-radius: 16px;
        display: flex;
        gap: 1.5rem;
        max-width: 43.375rem;
        order: 1;
        padding: 1.5rem 2rem;
    }

    .sn-footer-menu {
        border-bottom: 0;
        flex: 1 1 0;
        max-width: 12.125rem;
        width: 100%;
    }

    .sn-footer-menu summary {
        cursor: default;
        justify-content: flex-start;
        margin-bottom: 1.5rem;
        min-height: 0;
        padding: 0;
        pointer-events: none;
    }

    .sn-footer-menu summary::after {
        display: none;
    }

    .sn-footer-menu-support summary::before {
        top: 0;
    }

    .sn-footer-menu ul {
        padding: 0;
    }

    .sn-footer-side {
        gap: 1.5rem;
        max-width: 35.125rem;
        min-height: 34.1875rem;
        order: 2;
    }

    .sn-footer-signup-card {
        padding: 1.25rem 1.5rem;
    }

    .sn-footer-signup-card h2 {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    .sn-footer-native-signup > label {
        margin-bottom: 1rem;
    }

    .sn-footer-input-row {
        margin-bottom: 1rem;
    }

    .sn-footer-consent {
        margin-bottom: 1rem;
    }

    .sn-footer-social-card {
        padding: 1rem 1.5rem;
    }

    .sn-footer-brand-social ul {
        gap: 1.5rem;
    }

    .sn-footer-country-bar {
        padding: 1.5rem 0;
    }

    .sn-footer-country-inner {
        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;
    }

    .sn-footer-legal ul {
        display: flex;
        flex-wrap: wrap;
    }

    .sn-footer-legal li {
        margin: 0.75rem 0;
        padding: 0 1.71875rem 0 0;
        white-space: nowrap;
    }

    .sn-footer-country-selector {
        padding-top: 0;
    }

    .sn-footer-country-selector button {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .sn-footer-country-selector button span {
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }

    .sn-footer-copyright {
        justify-content: flex-end;
    }
}

@media (max-width: 360px) {
    .sn-footer-brand-social {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.875rem;
    }

    .sn-footer-brand-social ul {
        justify-content: flex-start;
    }
}

/* Browser-edge parity pass: match SharkNinja full-width containers and variable carousel widths. */
:root {
    --sn-home-max: none;
    --sn-page-gutter: 14px;
    --sn-carousel-gutter: 0.75rem;
    --sn-module-gap: 1.5rem;
    --sn-module-max-height: 32.8125rem;
    --sn-latest-card-width: 67.375rem;
    --sn-bundle-card-width: 45.25rem;
    --sn-build-card-width: 21.875rem;
    --sn-recipe-card-width: 18.75rem;
    --sn-category-card-width: calc((100vw - (var(--sn-carousel-gutter) * 2) - (var(--sn-module-gap) * 4)) / 5);
}

.sn-promo-bar,
.sn-header-shell .sn-main-nav-row {
    padding-left: var(--sn-page-gutter);
    padding-right: var(--sn-page-gutter);
}

.sn-home-main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    overflow-x: clip;
    width: 100%;
}

.sn-home-main > .alignfull,
.sn-home-main > .wp-block-group.alignfull,
.sn-home-main > section.alignfull {
    left: auto;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    position: relative;
    width: 100vw;
}

.sn-featured-recs-header,
.sn-home-section-head,
.sn-featured-recs-shell,
.sn-home-carousel-shell,
.sn-category-rail-shell,
.sn-category-tabs,
.sn-benefit-grid,
.sn-footer-inner {
    box-sizing: border-box;
    max-width: none !important;
    width: 100%;
}

.sn-featured-recs-header,
.sn-home-section-head,
.sn-benefit-grid,
.sn-footer-inner {
    padding-left: var(--sn-page-gutter);
    padding-right: var(--sn-page-gutter);
}

.sn-new-arrivals-carousel .sn-featured-recs-header,
.sn-home-section-head {
    margin-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-track,
.sn-home-card-track,
.sn-category-track {
    gap: var(--sn-module-gap);
    padding-left: var(--sn-carousel-gutter);
    padding-right: var(--sn-carousel-gutter);
    scroll-padding-left: var(--sn-carousel-gutter);
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    grid-auto-columns: minmax(min(90vw, var(--sn-latest-card-width)), min(90vw, var(--sn-latest-card-width)));
}

.sn-new-arrivals-carousel .sn-featured-rec-card,
.sn-new-arrivals-carousel .sn-featured-rec-media {
    aspect-ratio: 2532 / 1233;
    max-height: var(--sn-module-max-height);
}

.sn-curated-bundles .sn-home-card-track {
    grid-auto-columns: minmax(min(90vw, var(--sn-bundle-card-width)), min(90vw, var(--sn-bundle-card-width)));
}

.sn-curated-bundles .sn-home-image-card {
    aspect-ratio: 2532 / 1836;
    max-height: var(--sn-module-max-height);
}

.sn-build-your-own .sn-home-card-track {
    grid-auto-columns: minmax(min(90vw, var(--sn-build-card-width)), min(90vw, var(--sn-build-card-width)));
}

.sn-build-your-own .sn-home-image-card,
.sn-home-byob-card {
    aspect-ratio: 1224 / 1836;
    max-height: var(--sn-module-max-height);
}

.sn-recipe-carousel .sn-home-card-track {
    grid-auto-columns: minmax(min(82vw, var(--sn-recipe-card-width)), min(82vw, var(--sn-recipe-card-width)));
}

.sn-recipe-carousel .sn-recipe-card {
    aspect-ratio: 300 / 385;
    max-height: 24.0625rem;
}

.sn-home-image-card img,
.sn-recipe-card img,
.sn-new-arrivals-carousel .sn-featured-rec-media img {
    height: 100%;
    max-height: inherit;
    object-fit: cover;
    width: 100%;
}

.sn-category-tabs {
    padding-left: var(--sn-page-gutter);
    padding-right: var(--sn-page-gutter);
}

.sn-category-track .sn-category-card {
    flex: 0 0 max(12.5rem, var(--sn-category-card-width));
    max-width: max(12.5rem, var(--sn-category-card-width));
}

.sn-category-card img {
    max-width: 11.25rem;
}

.sn-featured-recs:not(.sn-new-arrivals-carousel),
.sn-home-carousel,
.sn-category-showcase,
.sn-new-arrivals-carousel {
    padding-bottom: 4.625rem;
}

.sn-sale-promo {
    margin-bottom: 4rem !important;
}

@media (max-width: 1199px) {
    :root {
        --sn-page-gutter: 1rem;
        --sn-carousel-gutter: 1rem;
        --sn-module-gap: 1rem;
        --sn-category-card-width: calc(100vw - 2rem);
    }

    .sn-promo-bar,
    .sn-header-shell .sn-main-nav-row {
        padding-left: var(--sn-page-gutter);
        padding-right: var(--sn-page-gutter);
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track,
    .sn-curated-bundles .sn-home-card-track,
    .sn-build-your-own .sn-home-card-track,
    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: calc(100vw - 2rem);
        padding-left: var(--sn-carousel-gutter);
        padding-right: var(--sn-carousel-gutter);
        scroll-padding-left: var(--sn-carousel-gutter);
    }

    .sn-new-arrivals-carousel .sn-featured-rec-card,
    .sn-new-arrivals-carousel .sn-featured-rec-media,
    .sn-curated-bundles .sn-home-image-card,
    .sn-build-your-own .sn-home-image-card,
    .sn-home-byob-card {
        aspect-ratio: 1170 / 1680;
        max-height: none;
    }

    .sn-recipe-carousel .sn-recipe-card {
        max-height: none;
    }

    .sn-category-tabs,
    .sn-category-track,
    .sn-benefit-grid,
    .sn-footer-inner {
        padding-left: var(--sn-page-gutter);
        padding-right: var(--sn-page-gutter);
    }

    .sn-category-track .sn-category-card {
        flex-basis: var(--sn-category-card-width);
        max-width: var(--sn-category-card-width);
    }

    .sn-sale-promo {
        margin-bottom: 1rem !important;
    }
}

/* Final viewport parity: beat legacy theme constraints and keep homepage modules aligned to SharkNinja's live gutters. */
.wp-site-blocks > .sn-home-main,
.sn-home-main.is-layout-constrained,
.sn-home-main.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.sn-home-main > :where(section, div, main) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

.sn-home-main > * {
    margin-block-start: 0 !important;
    margin-block-end: 0;
}

.sn-home-main > .alignfull,
.sn-home-main > .wp-block-group.alignfull,
.sn-home-main > section.alignfull {
    left: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    position: relative;
    width: 100vw !important;
}

.sn-promo-bar,
.sn-header-shell .sn-main-nav-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: var(--sn-page-gutter) !important;
    padding-right: var(--sn-page-gutter) !important;
    width: 100% !important;
}

.sn-sale-promo {
    aspect-ratio: 4320 / 378;
    min-height: 0 !important;
    overflow: hidden;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img {
    display: block;
    height: 100% !important;
    min-height: 0 !important;
    width: 100%;
}

.sn-sale-promo .sn-promo-billboard-bg img {
    object-fit: cover;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    bottom: 0;
    height: 100% !important;
    left: 5rem;
    min-height: 0 !important;
    top: 0;
    transform: none;
    width: 9.375rem;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    height: 100% !important;
    max-height: none;
    max-width: none;
    min-height: 0 !important;
    object-fit: contain;
    object-position: center left;
    width: 9.375rem;
}

.sn-sale-promo .sn-promo-billboard-copy {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: calc(5rem + 9.375rem + 3rem);
    max-width: none;
    top: 0;
    transform: none;
    width: 70%;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000;
    font-family: "DM Sans", "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.75rem;
    margin-bottom: 0.75rem;
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        aspect-ratio: 1080 / 278;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        left: 0;
        width: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        object-fit: cover;
        object-position: right;
        width: 100%;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        left: 25%;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25rem;
    }
}

/* Homepage viewport lock: mirror SharkNinja's storepage/full-width wrappers after WordPress layout CSS loads. */
body.home,
body.front-page,
body:has(.sn-home-main) {
    --wp--style--global--content-size: 100%;
    --wp--style--global--wide-size: 100%;
    --wp--style--root--padding-left: 0px;
    --wp--style--root--padding-right: 0px;
    background: #fff;
}

body.home .wp-site-blocks,
body.front-page .wp-site-blocks,
body:has(.sn-home-main) .wp-site-blocks {
    background: #fff;
    overflow-x: clip;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home .wp-site-blocks > *,
body.front-page .wp-site-blocks > *,
body:has(.sn-home-main) .wp-site-blocks > * {
    margin-block-start: 0 !important;
}

body.home .wp-site-blocks > .wp-block-template-part,
body.front-page .wp-site-blocks > .wp-block-template-part,
body:has(.sn-home-main) .wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > .sn-home-main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.sn-promo-bar,
.sn-header-shell {
    box-sizing: border-box;
    left: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

.sn-home-main,
.sn-home-main > :where(.sn-home-hero, .sn-sale-promo, .sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-why-buy) {
    box-sizing: border-box;
    max-width: none !important;
    width: 100vw !important;
}

.sn-home-main > :where(.sn-home-hero, .sn-sale-promo, .sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-why-buy) {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.sn-home-hero .sn-video-ad-row {
    height: calc(100vh - var(--sn-promo-height, 36px)) !important;
    max-height: calc(100vh - var(--sn-promo-height, 36px)) !important;
    min-height: 40rem !important;
}

.sn-home-hero .sn-video-ad-text {
    padding: 14.1875rem 5rem 7.75rem !important;
}

.sn-home-hero :where(.sn-video-ad-eyebrow, h1, h2, .sn-video-ad-actions) {
    max-width: var(--desktop-max-width, 700px) !important;
    width: var(--desktop-max-width, 700px) !important;
}

.sn-featured-recs-header,
.sn-home-section-head,
.sn-featured-recs-shell,
.sn-home-carousel-shell,
.sn-category-rail-shell {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.sn-featured-recs-header,
.sn-home-section-head {
    margin-bottom: 1.5rem !important;
    padding: 1.5rem var(--sn-page-gutter, 14px) 0 !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-track,
.sn-home-card-track,
.sn-category-track {
    padding-left: var(--sn-carousel-gutter, 0.75rem) !important;
    padding-right: var(--sn-carousel-gutter, 0.75rem) !important;
    scroll-padding-left: var(--sn-carousel-gutter, 0.75rem) !important;
}

.sn-category-tabs,
.sn-benefit-grid {
    padding-left: var(--sn-page-gutter, 14px) !important;
    padding-right: var(--sn-page-gutter, 14px) !important;
}

.sn-home-image-card,
.sn-featured-rec-card,
.sn-recipe-card,
.sn-category-card,
.sn-benefit-card {
    border-radius: 0.5rem !important;
}

@media (max-width: 1199px) {
    .sn-home-hero .sn-video-ad-row {
        height: calc(100vh - var(--sn-promo-height, 34px)) !important;
        max-height: none !important;
        min-height: 40rem !important;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 7.1875rem 2.5rem 3.75rem !important;
    }

    .sn-home-hero :where(.sn-video-ad-eyebrow, h1, h2, .sn-video-ad-actions) {
        max-width: var(--mobile-max-width, 100%) !important;
        width: var(--mobile-max-width, 100%) !important;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track,
    .sn-home-card-track,
    .sn-category-track {
        padding-left: var(--sn-carousel-gutter, 1rem) !important;
        padding-right: var(--sn-carousel-gutter, 1rem) !important;
        scroll-padding-left: var(--sn-carousel-gutter, 1rem) !important;
    }
}

/* Screenshot parity fixes: promo banner and Latest Innovations carousel. */
.sn-sale-promo {
    aspect-ratio: auto !important;
    background: #f8d9cb !important;
    box-sizing: border-box;
    color: #000;
    display: block !important;
    height: clamp(7.875rem, 8.75vw, 10.5rem) !important;
    margin: 0 !important;
    min-height: 7.875rem !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative;
    width: 100% !important;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img {
    display: block;
    height: 100% !important;
    inset: 0;
    min-height: 0 !important;
    position: absolute;
    width: 100% !important;
    z-index: 0;
}

.sn-sale-promo .sn-promo-billboard-bg img {
    object-fit: cover;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: auto !important;
    display: flex;
    height: 100% !important;
    left: 5rem !important;
    min-height: 0 !important;
    position: absolute;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 9.375rem !important;
    z-index: 2;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    display: block;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    object-fit: contain;
    object-position: center bottom;
    width: 100% !important;
}

.sn-sale-promo .sn-promo-billboard-copy {
    align-items: center;
    bottom: 0 !important;
    column-gap: 3rem;
    display: flex;
    flex-direction: row;
    height: 100%;
    justify-content: space-between;
    left: calc(5rem + 9.375rem + 3rem) !important;
    max-width: none !important;
    pointer-events: none;
    position: absolute;
    right: 5rem !important;
    top: 0 !important;
    transform: none !important;
    width: auto !important;
    z-index: 3;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    flex: 1 1 auto;
    font-size: 1.375rem !important;
    font-weight: 600;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0 !important;
    max-width: none !important;
    padding-top: 0.75rem;
    position: static;
    text-align: left;
    transform: none;
    white-space: normal;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    align-items: center;
    background: transparent !important;
    border: 1px solid #000 !important;
    border-radius: 999px !important;
    bottom: 0.125rem !important;
    color: #000 !important;
    display: inline-flex;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.8125rem !important;
    font-weight: 900;
    gap: 0.75rem;
    height: 2.75rem;
    justify-content: center;
    left: auto !important;
    margin-left: auto;
    min-height: 0 !important;
    min-width: 10.625rem;
    padding: 0 1.35rem !important;
    pointer-events: auto;
    position: static !important;
    right: auto !important;
    text-decoration: none !important;
    text-transform: uppercase;
    transform: none !important;
    width: auto;
}

.sn-sale-promo .sn-promo-billboard-copy a::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    height: 0.5rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-sale-promo .sn-promo-billboard-copy a:hover,
.sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
    background: #000 !important;
    color: #fff !important;
}

.sn-promo-disclaimer {
    bottom: 0.5rem;
    color: #000;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    left: 50%;
    line-height: 1;
    margin: 0;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 4;
}

.sn-new-arrivals-carousel {
    background: #fff !important;
    color: #000;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 0 2.25rem !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-header {
    margin: 0 0 1rem !important;
    max-width: none !important;
    padding: 0.625rem 0 0 0.25rem !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-header h2 {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem !important;
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 0.875rem !important;
    text-transform: uppercase;
}

.sn-new-arrivals-carousel .sn-featured-recs-header p {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.875rem !important;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.1;
    margin: 0 !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-shell {
    margin: 0 !important;
    max-width: none !important;
    overflow: visible;
    padding: 0 !important;
    position: relative;
}

.sn-new-arrivals-carousel .sn-featured-recs-track {
    display: grid;
    gap: 1.375rem !important;
    grid-auto-columns: minmax(0, calc(100vw - 18.5rem)) !important;
    grid-auto-flow: column;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 0.5rem 0.1875rem !important;
    scroll-behavior: smooth;
    scroll-padding-left: 0.1875rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: 100%;
}

.sn-new-arrivals-carousel .sn-featured-recs-track::-webkit-scrollbar {
    display: none;
}

.sn-new-arrivals-carousel .sn-featured-rec-card {
    aspect-ratio: 2532 / 1233 !important;
    background: #111 !important;
    border: 0 !important;
    border-radius: 0.4375rem !important;
    box-shadow: none !important;
    min-height: 0 !important;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
}

.sn-new-arrivals-carousel .sn-featured-rec-card::after {
    display: none !important;
}

.sn-new-arrivals-carousel .sn-featured-rec-media,
.sn-new-arrivals-carousel .sn-featured-rec-media picture,
.sn-new-arrivals-carousel .sn-featured-rec-media img {
    border-radius: 0 !important;
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.sn-new-arrivals-carousel .sn-featured-rec-media img {
    filter: none !important;
    object-fit: cover;
    transform: none !important;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy {
    color: #fff !important;
    display: block;
    left: 1.375rem !important;
    max-width: min(22rem, 44%);
    opacity: 1 !important;
    position: absolute;
    text-decoration: none;
    text-shadow: none !important;
    top: 1.375rem !important;
    transform: none !important;
    z-index: 2;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy span {
    background: #bfe7d4 !important;
    border-radius: 0.3125rem;
    color: #33785d !important;
    display: inline-flex;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25rem;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
    color: #fff !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.375rem !important;
    font-weight: 900;
    letter-spacing: 0 !important;
    line-height: 1.15;
    margin: 0;
    max-width: 19rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-product {
    background: rgba(38, 38, 38, 0.94) !important;
    border: 0 !important;
    border-radius: 0.75rem 0 0 0.75rem !important;
    bottom: 1.75rem !important;
    box-shadow: none !important;
    color: #fff !important;
    display: block;
    max-width: 20.25rem;
    padding: 0.75rem !important;
    position: absolute !important;
    right: 0.625rem !important;
    text-decoration: none;
    transform: none !important;
    width: min(20.25rem, 34vw);
    z-index: 3;
}

.sn-new-arrivals-carousel .sn-featured-rec-product::after {
    display: none !important;
}

.sn-new-arrivals-carousel .sn-featured-rec-name-row {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-product strong {
    color: #fff;
    display: block;
    flex: 1 1 auto;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-weight: 900;
    line-height: 1.125rem;
    margin: 0 !important;
    min-width: 0;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow {
    flex: 0 0 auto;
    height: 1.25rem;
    position: relative;
    width: 1.4375rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::before,
.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    background: #fff;
    content: "";
    position: absolute;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::before {
    height: 0.125rem;
    left: 0.125rem;
    right: 0.125rem;
    top: 0.5625rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    background: transparent;
    border-right: 0.125rem solid #fff;
    border-top: 0.125rem solid #fff;
    height: 0.5rem;
    right: 0.1875rem;
    top: 0.375rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-pricing {
    align-items: center;
    background: #000 !important;
    border-radius: 0.5rem;
    color: #fff;
    display: flex;
    gap: 0.5rem;
    min-height: 2rem;
    padding: 0.375rem 0.625rem;
}

.sn-new-arrivals-carousel .sn-featured-rec-product em {
    color: #fff;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.125rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-arrow {
    align-items: center;
    background: #fff !important;
    border: 1px solid #000 !important;
    border-radius: 50% !important;
    bottom: -3.25rem !important;
    box-shadow: none !important;
    color: #000 !important;
    display: inline-flex !important;
    height: 1.875rem !important;
    justify-content: center;
    padding: 0 !important;
    position: absolute;
    top: auto !important;
    transform: none !important;
    width: 1.875rem !important;
    z-index: 5;
}

.sn-new-arrivals-carousel .sn-featured-recs-arrow::before {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    height: 0.625rem;
    width: 0.625rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-prev {
    left: auto !important;
    right: 3.3125rem !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-prev::before {
    transform: rotate(-135deg);
}

.sn-new-arrivals-carousel .sn-featured-recs-next {
    right: 0.8125rem !important;
}

.sn-new-arrivals-carousel .sn-featured-recs-next::before {
    transform: rotate(45deg);
}

.sn-new-arrivals-carousel .sn-featured-recs-dots {
    align-items: center;
    display: flex;
    gap: 0.25rem;
    justify-content: center;
    margin-top: 1.35rem !important;
    min-height: 1.25rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button {
    background: #888;
    border: 0;
    border-radius: 50%;
    height: 0.25rem;
    padding: 0;
    width: 0.25rem;
}

.sn-new-arrivals-carousel .sn-featured-recs-dots button.is-active {
    background: #000;
    height: 0.75rem;
    width: 0.75rem;
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        height: clamp(6.25rem, 25.74vw, 17.375rem) !important;
        min-height: clamp(6.25rem, 25.74vw, 17.375rem) !important;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        align-items: center;
        bottom: 0 !important;
        flex-direction: column;
        gap: 0;
        justify-content: space-around;
        left: 25% !important;
        padding: 0.25rem 0 1.25rem;
        right: 0 !important;
        top: 0 !important;
        width: auto !important;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 1rem !important;
        font-weight: 700;
        line-height: 1.25rem;
        max-width: calc(100% - 2rem) !important;
        padding-top: 0;
        text-align: center;
        white-space: normal;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        height: 100% !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 25% !important;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        object-fit: cover;
        object-position: right;
        width: 100% !important;
    }

    .sn-sale-promo .sn-promo-billboard-copy a {
        border: 0 !important;
        bottom: auto !important;
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 0.75rem !important;
        font-weight: 400;
        height: auto;
        left: auto !important;
        line-height: 1.125rem;
        margin-left: 0;
        min-height: 0 !important;
        min-width: 0;
        padding: 0 !important;
        position: static !important;
        right: auto !important;
        text-decoration: underline !important;
        text-transform: none;
        width: auto;
    }

    .sn-promo-disclaimer {
        bottom: 1.75rem;
        font-size: 0.6875rem;
        max-width: 52vw;
        white-space: normal;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-track {
        grid-auto-columns: calc(100vw - 2rem) !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        scroll-padding-left: 1rem !important;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-card {
        aspect-ratio: 1170 / 1680 !important;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-copy {
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        top: 1rem !important;
    }

    .sn-new-arrivals-carousel .sn-featured-rec-product {
        border-radius: 0.75rem !important;
        bottom: 0.75rem !important;
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        right: 1rem !important;
        width: auto;
    }

    .sn-new-arrivals-carousel .sn-featured-recs-arrow {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-size: 1rem !important;
        line-height: 1.25rem;
    }
}

/* Final SharkNinja hero parity: homepage hero layout, button placement, and media cover. */
.sn-home-hero.sn-video-ad {
    background: #000 !important;
    isolation: isolate;
    overflow: hidden !important;
    position: relative;
    width: 100vw !important;
}

.sn-home-hero .sn-video-ad-row {
    height: calc(100vh - var(--sn-promo-height, var(--sn-fixed-promo-height, 36px))) !important;
    max-height: calc(100vh - var(--sn-promo-height, var(--sn-fixed-promo-height, 36px))) !important;
    min-height: 40rem !important;
    overflow: hidden !important;
    position: relative;
}

.sn-home-hero .sn-video-ad-media {
    height: 100% !important;
    inset: 0;
    margin: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 0;
}

.sn-home-hero .sn-video-ad-media::before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.3) 70%, rgba(0, 0, 0, 0) 100%) !important;
    content: "" !important;
    display: block !important;
    height: 18.75rem !important;
    inset: 0 0 auto !important;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.sn-home-hero .sn-video-ad-media::after {
    content: none !important;
    display: none !important;
}

.sn-home-hero .sn-video-ad-video {
    background: #000 !important;
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    transform: none !important;
    width: 100% !important;
}

.sn-home-hero .sn-video-ad-text {
    align-items: flex-start !important;
    box-sizing: border-box;
    color: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: flex-end !important;
    left: 0 !important;
    opacity: 1 !important;
    padding: 14.1875rem 5rem 7.75rem !important;
    pointer-events: none !important;
    position: absolute !important;
    text-align: left !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 3 !important;
}

.sn-home-hero .sn-video-ad-eyebrow,
.sn-home-hero :where(h1, h2),
.sn-home-hero .sn-video-ad-actions {
    max-width: var(--desktop-max-width, 700px) !important;
    width: var(--desktop-max-width, 700px) !important;
}

.sn-home-hero .sn-video-ad-eyebrow {
    color: #fff !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.25rem !important;
    margin: 0 0 1rem !important;
    pointer-events: none;
    text-align: inherit !important;
}

.sn-home-hero :where(h1, h2) {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 3.5rem !important;
    margin: 0 0 1.5rem !important;
    pointer-events: none;
    text-align: inherit !important;
    text-transform: none !important;
}

.sn-home-hero .sn-video-ad-actions {
    align-items: center !important;
    column-gap: 1rem;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    pointer-events: none !important;
}

.sn-home-hero .sn-video-ad-button {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #000 !important;
    border-radius: 2.5rem !important;
    color: #000 !important;
    cursor: pointer;
    display: inline-flex !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    line-height: 1.25rem !important;
    min-height: 2.875rem !important;
    min-width: 7.8125rem !important;
    padding: 0.75rem 1.25rem !important;
    pointer-events: auto !important;
    text-decoration: none !important;
    text-transform: none !important;
    transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
}

.sn-home-hero .sn-video-ad-button::after {
    border-right: 0.125rem solid currentColor !important;
    border-top: 0.125rem solid currentColor !important;
    content: "" !important;
    display: inline-block;
    height: 0.5rem !important;
    margin-left: 0.125rem;
    transform: rotate(45deg) !important;
    width: 0.5rem !important;
}

.sn-home-hero .sn-video-ad-button:hover,
.sn-home-hero .sn-video-ad-button:focus-visible {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
    outline: 0;
    text-decoration: none !important;
    transform: none !important;
}

.sn-home-hero .sn-video-ad-toggle {
    display: none !important;
}

@media (max-width: 1199px) {
    .sn-home-hero .sn-video-ad-row {
        height: calc(100vh - var(--sn-promo-height, var(--sn-fixed-promo-height, 34px))) !important;
        max-height: none !important;
        min-height: 40rem !important;
    }

    .sn-home-hero .sn-video-ad-media::before {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0) 100%) !important;
        height: 16.25rem !important;
    }

    .sn-home-hero .sn-video-ad-text {
        align-items: center !important;
        justify-content: center !important;
        padding: 7.1875rem 2.5rem 3.75rem !important;
        text-align: center !important;
    }

    .sn-home-hero .sn-video-ad-eyebrow,
    .sn-home-hero :where(h1, h2),
    .sn-home-hero .sn-video-ad-actions {
        max-width: var(--mobile-max-width, 100%) !important;
        width: var(--mobile-max-width, 100%) !important;
    }

    .sn-home-hero .sn-video-ad-eyebrow {
        margin-bottom: 0.75rem !important;
    }

    .sn-home-hero .sn-video-ad-actions {
        justify-content: center !important;
    }
}

@media (max-width: 600px) {
    .sn-home-hero .sn-video-ad-row {
        min-height: 40rem !important;
    }

    .sn-home-hero .sn-video-ad-text {
        padding: 7.1875rem 2.5rem 3.75rem !important;
    }

    .sn-home-hero :where(h1, h2) {
        font-size: 3rem !important;
        line-height: 3.5rem !important;
    }
}

/* Final SharkNinja promo banner parity. */
.sn-home-main > .sn-sale-promo.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

.sn-sale-promo {
    --sn-sale-promo-edge: 5rem;
    --sn-sale-promo-gap: 3rem;
    --sn-sale-promo-product: 9.375rem;
    aspect-ratio: auto !important;
    background: #f8d9cb !important;
    box-sizing: border-box;
    color: #000;
    display: block !important;
    height: 8.75vw !important;
    margin-bottom: 4rem !important;
    min-height: 6.5625rem !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative;
}

.sn-sale-promo .sn-promo-billboard-bg,
.sn-sale-promo .sn-promo-billboard-bg img {
    display: block;
    height: 100% !important;
    inset: 0;
    margin: 0 !important;
    min-height: 0 !important;
    position: absolute;
    width: 100% !important;
}

.sn-sale-promo .sn-promo-billboard-bg {
    z-index: 0;
}

.sn-sale-promo .sn-promo-billboard-bg img {
    object-fit: cover;
    object-position: center;
}

.sn-sale-promo .sn-promo-billboard-overlay {
    align-items: flex-end;
    bottom: 0 !important;
    display: flex;
    height: 100% !important;
    left: var(--sn-sale-promo-edge) !important;
    margin: 0 !important;
    min-height: 0 !important;
    position: absolute;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: var(--sn-sale-promo-product) !important;
    z-index: 2;
}

.sn-sale-promo .sn-promo-billboard-overlay img {
    display: block;
    height: 100% !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    object-fit: contain;
    object-position: center bottom;
    width: 100% !important;
}

.sn-sale-promo .sn-promo-billboard-copy {
    align-items: center;
    bottom: 0 !important;
    column-gap: var(--sn-sale-promo-gap);
    display: flex;
    flex-direction: row;
    height: 100% !important;
    justify-content: space-between;
    left: calc(var(--sn-sale-promo-edge) + var(--sn-sale-promo-product) + var(--sn-sale-promo-gap)) !important;
    max-width: none !important;
    padding: 0 !important;
    pointer-events: none;
    position: absolute;
    right: var(--sn-sale-promo-edge) !important;
    text-align: left;
    top: 0 !important;
    transform: none !important;
    width: auto !important;
    z-index: 3;
}

.sn-sale-promo .sn-promo-billboard-copy h2 {
    color: #000 !important;
    flex: 1 1 auto;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.375rem !important;
    font-weight: 600;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0 !important;
    max-width: none !important;
    padding-top: 0.75rem;
    text-align: inherit;
    white-space: normal;
}

.sn-sale-promo .sn-promo-billboard-copy a {
    align-items: center;
    background: #000 !important;
    border: 0 !important;
    border-radius: 2.5rem !important;
    color: #fff !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem !important;
    font-weight: 500;
    gap: 0.5rem;
    justify-content: center;
    line-height: 1.5rem;
    margin-left: auto;
    max-width: 21rem;
    min-height: 2.75rem !important;
    min-width: 10.625rem;
    padding: 0.625rem 1.5rem !important;
    pointer-events: auto;
    position: static !important;
    text-decoration: none !important;
    text-transform: none;
    transform: none !important;
    white-space: nowrap;
    width: auto;
}

.sn-sale-promo .sn-promo-billboard-copy a::after {
    border-right: 0.125rem solid currentColor;
    border-top: 0.125rem solid currentColor;
    content: "";
    display: inline-block;
    height: 0.5rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-sale-promo .sn-promo-billboard-copy a:hover,
.sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
    background: #454545 !important;
    color: #fff !important;
    outline: 0;
}

.sn-promo-disclaimer {
    display: none !important;
}

@media (max-width: 1199px) {
    .sn-sale-promo {
        --sn-sale-promo-edge: 0rem;
        --sn-sale-promo-gap: 0rem;
        --sn-sale-promo-product: 25%;
        height: 25.7407vw !important;
        margin-bottom: 1rem !important;
        min-height: 6.25rem !important;
    }

    .sn-sale-promo .sn-promo-billboard-overlay {
        left: 0 !important;
        width: 25% !important;
    }

    .sn-sale-promo .sn-promo-billboard-overlay img {
        object-fit: cover;
        object-position: right center;
    }

    .sn-sale-promo .sn-promo-billboard-copy {
        align-items: center;
        flex-direction: column;
        justify-content: space-around;
        left: 25% !important;
        padding: 0.25rem 0 1.25rem !important;
        right: 0 !important;
        text-align: center;
    }

    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-size: 1.375rem !important;
        line-height: 1.75rem;
        max-width: calc(100% - 2rem) !important;
        padding-top: 0;
    }

    .sn-sale-promo .sn-promo-billboard-copy a {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #000 !important;
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 0.75rem !important;
        font-weight: 400;
        line-height: 1.125rem;
        margin-left: 0;
        max-width: none;
        min-height: 0 !important;
        min-width: 0;
        padding: 0 !important;
        text-decoration: underline !important;
        text-underline-offset: 0.125rem;
        white-space: nowrap;
    }

    .sn-sale-promo .sn-promo-billboard-copy a::after {
        height: 0.4375rem;
        margin-left: 0.25rem;
        width: 0.4375rem;
    }

    .sn-sale-promo .sn-promo-billboard-copy a:hover,
    .sn-sale-promo .sn-promo-billboard-copy a:focus-visible {
        background: transparent !important;
        color: #000 !important;
        text-decoration: underline !important;
    }
}

@media (max-width: 767px) {
    .sn-sale-promo .sn-promo-billboard-copy h2 {
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
        font-size: 1rem !important;
        font-weight: 700;
        line-height: 1.25rem;
    }
}

/* Final SharkNinja Latest Innovations parity. */
.sn-latest-innovations.sn-new-arrivals-carousel.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel {
    background: #fff !important;
    color: #000;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    padding: 0 0 3.75rem !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header {
    margin: 0 0 1.5rem !important;
    max-width: none !important;
    padding: 1.5rem 0 0 !important;
    text-align: left;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header h2 {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem !important;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 1rem !important;
    text-transform: uppercase;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header p {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 2rem !important;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 2.25rem;
    margin: 0 !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-shell {
    margin: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track {
    cursor: grab;
    display: grid;
    gap: 1rem !important;
    grid-auto-columns: minmax(0, calc(100vw - 18.5rem)) !important;
    grid-auto-flow: column;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0.75rem 0.5rem !important;
    scroll-behavior: smooth;
    scroll-padding-left: 0.75rem !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-y;
    width: 100%;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track::-webkit-scrollbar {
    display: none;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-card {
    aspect-ratio: 2532 / 1233 !important;
    background: #111 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-height: 0 !important;
    overflow: hidden;
    position: relative;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-card::after {
    display: none !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-media,
.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-media picture,
.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-media img {
    border-radius: 8px !important;
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-media img {
    filter: none !important;
    object-fit: cover;
    object-position: center;
    transform: none !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy {
    color: #fff !important;
    display: block;
    left: 1.5rem !important;
    max-width: min(23.5rem, 45%);
    opacity: 1 !important;
    position: absolute;
    text-decoration: none;
    text-shadow: none !important;
    top: 1.5rem !important;
    transform: none !important;
    z-index: 2;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy > span {
    background: #bedccb !important;
    border-radius: 0.3125rem;
    color: #33785d !important;
    display: inline-block;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.5rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.5rem !important;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0;
    max-width: 23.5rem;
    text-shadow: none !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product {
    background: rgba(38, 38, 38, 0.8) !important;
    border: 0 !important;
    border-radius: 0.75rem 0 0 0.75rem !important;
    bottom: 2rem !important;
    box-shadow: none !important;
    color: #fff !important;
    display: block;
    max-width: 21.5625rem;
    padding: 0.75rem !important;
    position: absolute !important;
    right: 0 !important;
    text-decoration: none;
    transform: none !important;
    width: min(21.5625rem, 35vw);
    z-index: 3;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product::after {
    display: none !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-name-row {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product strong {
    color: #fff;
    display: block;
    flex: 1 1 auto;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.125rem;
    margin: 0 !important;
    min-width: 0;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-arrow {
    flex: 0 0 auto;
    height: 1.25rem;
    position: relative;
    width: 1.4375rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-arrow::before,
.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    background: #fff;
    content: "";
    position: absolute;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-arrow::before {
    height: 0.125rem;
    left: 0.125rem;
    right: 0.125rem;
    top: 0.5625rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-arrow::after {
    background: transparent;
    border-right: 0.125rem solid #fff;
    border-top: 0.125rem solid #fff;
    height: 0.5rem;
    right: 0.1875rem;
    top: 0.375rem;
    transform: rotate(45deg);
    width: 0.5rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-pricing {
    align-items: center;
    background: #000 !important;
    border-radius: 0.5rem;
    color: #fff;
    display: flex;
    gap: 0.5rem;
    min-height: 2rem;
    padding: 0.375rem 0.625rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product em {
    color: #fff;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.125rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow {
    align-items: center;
    background: #fff !important;
    background-position: center;
    background-repeat: no-repeat;
    border: 0.0625rem solid #000 !important;
    border-radius: 1rem !important;
    bottom: -3.125rem !important;
    box-shadow: none !important;
    color: #000 !important;
    display: inline-flex !important;
    height: 2rem !important;
    justify-content: center;
    padding: 0.625rem !important;
    position: absolute;
    top: auto !important;
    transform: none !important;
    transition: background-color 180ms ease;
    width: 2rem !important;
    z-index: 5;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow:hover,
.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow:focus-visible {
    background-color: #f6f6f6 !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow:active {
    background-color: #e7e7e7 !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow::before {
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    content: "";
    height: 0.625rem;
    width: 0.625rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-prev {
    left: auto !important;
    right: 4.0625rem !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-prev::before {
    transform: rotate(-135deg);
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-next {
    right: 0.9375rem !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-next::before {
    transform: rotate(45deg);
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-dots {
    align-items: center;
    display: flex;
    gap: 0.25rem;
    justify-content: center;
    margin-top: 2rem !important;
    min-height: 1.25rem;
    pointer-events: none;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-dots button {
    background: #888;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    height: 0.25rem;
    padding: 0;
    pointer-events: auto;
    width: 0.25rem;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-dots button.is-active {
    background: #000;
    height: 0.75rem;
    position: relative;
    top: -0.25rem;
    width: 0.75rem;
}

@media (max-width: 1199px) {
    .sn-latest-innovations.sn-new-arrivals-carousel {
        padding-bottom: 3.5rem !important;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header {
        margin-bottom: 1rem !important;
        padding: 1.5rem 0.25rem 0 !important;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header p {
        font-size: 1.75rem !important;
        line-height: 2rem;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track {
        gap: 1rem !important;
        grid-auto-columns: calc(100vw - 1.5rem) !important;
        padding-left: 0.25rem !important;
        padding-right: 1.25rem !important;
        scroll-padding-left: 0.25rem !important;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-card {
        aspect-ratio: 1170 / 1680 !important;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy {
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        top: 1rem !important;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy > span {
        margin-bottom: 0.5rem;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
        font-size: 1.25rem !important;
        line-height: 1.5rem;
        max-width: calc(100% - 2rem);
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product {
        border-radius: 0.75rem !important;
        bottom: 0.75rem !important;
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        right: 1rem !important;
        width: auto;
    }

    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-arrow {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-rec-product {
        padding: 0.75rem !important;
    }
}

/* Fallback for WordPress-saved templates that still render the old section class list. */
:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel {
    background: #fff !important;
    color: #000;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    padding: 0 0 3.75rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-header {
    margin: 0 0 1.5rem !important;
    max-width: none !important;
    padding: 1.5rem 0 0 !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-header h2 {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem !important;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
    margin: 0 0 1rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-header p {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 2rem !important;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 2.25rem;
    margin: 0 !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-shell {
    margin: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-track {
    cursor: grab;
    gap: 1rem !important;
    grid-auto-columns: minmax(0, calc(100vw - 18.5rem)) !important;
    padding: 0 0.75rem 0.5rem !important;
    scroll-padding-left: 0.75rem !important;
    scroll-snap-type: x mandatory;
    touch-action: pan-y;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-card {
    aspect-ratio: 2532 / 1233 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-height: 0 !important;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-media,
:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-media picture,
:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-media img {
    border-radius: 8px !important;
    display: block;
    height: 100% !important;
    width: 100% !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-media img {
    filter: none !important;
    object-fit: cover;
    object-position: center;
    transform: none !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-copy {
    color: #fff !important;
    left: 1.5rem !important;
    max-width: min(23.5rem, 45%);
    opacity: 1 !important;
    text-decoration: none;
    text-shadow: none !important;
    top: 1.5rem !important;
    transform: none !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-copy > span {
    background: #bedccb !important;
    border-radius: 0.3125rem;
    color: #33785d !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.5rem;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.5rem !important;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.75rem;
    margin: 0;
    max-width: 23.5rem;
    text-shadow: none !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product {
    background: rgba(38, 38, 38, 0.8) !important;
    border: 0 !important;
    border-radius: 0.75rem 0 0 0.75rem !important;
    bottom: 2rem !important;
    box-shadow: none !important;
    color: #fff !important;
    max-width: 21.5625rem;
    padding: 0.75rem !important;
    right: 0 !important;
    width: min(21.5625rem, 35vw);
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product strong,
:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product em {
    color: #fff;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 0.75rem;
    line-height: 1.125rem;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product strong {
    font-weight: 700;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product em {
    font-style: normal;
    font-weight: 400;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-pricing {
    background: #000 !important;
    border-radius: 0.5rem;
    min-height: 2rem;
    padding: 0.375rem 0.625rem;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-arrow {
    background: #fff !important;
    border: 0.0625rem solid #000 !important;
    border-radius: 1rem !important;
    bottom: -3.125rem !important;
    box-shadow: none !important;
    color: #000 !important;
    display: inline-flex !important;
    height: 2rem !important;
    padding: 0.625rem !important;
    top: auto !important;
    width: 2rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-prev {
    left: auto !important;
    right: 4.0625rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-next {
    right: 0.9375rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-dots {
    gap: 0.25rem;
    margin-top: 2rem !important;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-dots button {
    background: #888;
    border-radius: 50%;
    height: 0.25rem;
    width: 0.25rem;
}

:is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-dots button.is-active {
    background: #000;
    height: 0.75rem;
    top: -0.25rem;
    width: 0.75rem;
}

@media (max-width: 1199px) {
    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-header {
        margin-bottom: 1rem !important;
        padding: 1.5rem 0.25rem 0 !important;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-header p {
        font-size: 1.75rem !important;
        line-height: 2rem;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-track {
        grid-auto-columns: calc(100vw - 1.5rem) !important;
        padding-left: 0.25rem !important;
        padding-right: 1.25rem !important;
        scroll-padding-left: 0.25rem !important;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-card {
        aspect-ratio: 1170 / 1680 !important;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-copy {
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        top: 1rem !important;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-copy h3 {
        font-size: 1.25rem !important;
        line-height: 1.5rem;
        max-width: calc(100% - 2rem);
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-rec-product {
        border-radius: 0.75rem !important;
        bottom: 0.75rem !important;
        left: 1rem !important;
        max-width: calc(100% - 2rem);
        right: 1rem !important;
        width: auto;
    }

    :is(.sn-latest-innovations, .sn-featured-recs).sn-new-arrivals-carousel .sn-featured-recs-arrow {
        display: none !important;
    }
}

/* SharkNinja Trending on social module. */
.sn-trending-social.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

.sn-trending-social {
    background: #fff;
    color: #000;
    margin: 0 !important;
    overflow: hidden;
    padding: 3rem 0 3.5rem;
}

.sn-trending-social-shell {
    margin: 0;
    max-width: none;
    width: 100%;
}

.sn-trending-social-crl8 {
    margin: 0;
    width: 100%;
}

.sn-trending-social-live .sn-trending-social-fallback {
    display: none !important;
}

.sn-trending-social-fallback[hidden] {
    display: none !important;
}

.sn-trending-social-head {
    margin: 0 auto 1.5rem;
    max-width: 56rem;
    padding: 0 1rem;
    text-align: center;
}

.sn-trending-social-head h2 {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 2.25rem;
    margin: 0 0 0.75rem;
}

.sn-trending-social-head p {
    color: #000;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0 !important;
    line-height: 1.625rem;
    margin: 0;
}

.sn-trending-social-grid {
    display: grid;
    gap: 0.3125rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 0 0.3125rem;
}

.sn-trending-social-tile {
    aspect-ratio: 4 / 5;
    background: #ecebe8;
    color: #fff;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.sn-trending-social-tile img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: filter 220ms ease, transform 360ms ease;
    width: 100%;
}

.sn-trending-social-tile span {
    align-items: center;
    background: rgba(0, 0, 0, 0.56);
    display: flex;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    inset: 0;
    justify-content: center;
    line-height: 1.375rem;
    opacity: 0;
    position: absolute;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
    transition: opacity 180ms ease;
}

.sn-trending-social-tile:hover img,
.sn-trending-social-tile:focus-visible img {
    filter: brightness(0.72);
    transform: scale(1.04);
}

.sn-trending-social-tile:hover span,
.sn-trending-social-tile:focus-visible span {
    opacity: 1;
}

.sn-trending-social-tile:focus-visible {
    outline: 0.125rem solid #000;
    outline-offset: -0.125rem;
}

@media (max-width: 1199px) {
    .sn-trending-social {
        padding: 2.5rem 0 3rem;
    }

    .sn-trending-social-head h2 {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    .sn-trending-social-head p {
        font-size: 1.125rem;
        line-height: 1.5rem;
    }

    .sn-trending-social-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .sn-trending-social {
        padding: 2rem 0 2.5rem;
    }

    .sn-trending-social-head {
        margin-bottom: 1.25rem;
    }

    .sn-trending-social-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sn-trending-social-tile {
        aspect-ratio: 1170 / 1680;
    }

    .sn-trending-social-tile span {
        opacity: 1;
    }
}

/* Latest Innovations directly below the homepage hero. */
.sn-home-main > .sn-home-hero + .sn-latest-innovations.sn-new-arrivals-carousel {
    margin-top: 0 !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-header {
    padding-left: clamp(0.75rem, 1.25vw, 1.5rem) !important;
    padding-right: clamp(0.75rem, 1.25vw, 1.5rem) !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track {
    display: grid !important;
    grid-auto-flow: column !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
}

@media (min-width: 1200px) {
    .sn-latest-innovations.sn-new-arrivals-carousel .sn-featured-recs-track {
        grid-auto-columns: minmax(0, calc(100vw - 18.5rem)) !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        scroll-padding-left: 0.75rem !important;
    }
}

/* Authoritative SharkNinja Latest Innovations parity. */
.sn-latest-innovations.sn-new-arrivals-carousel.alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw !important;
}

.sn-latest-innovations.sn-new-arrivals-carousel {
    --sn-latest-card-width: 67.375rem;
    --sn-latest-card-ratio: 2532 / 1233;
    background: #fff !important;
    color: #000;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 0 3.75rem !important;
}

.sn-home-main > .sn-home-hero + .sn-latest-innovations.sn-new-arrivals-carousel {
    margin-top: 0 !important;
}

.sn-latest-innovations .pd-slick-carousel-container {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.sn-latest-innovations .sn-featured-recs-header.header-container {
    align-items: flex-start !important;
    margin: 0 0 1.5rem !important;
    max-width: none !important;
    padding: 1.5rem 0.75rem 0 !important;
    text-align: left !important;
}

.sn-latest-innovations .sn-featured-recs-header .carousel-title-style,
.sn-latest-innovations .sn-featured-recs-header h2 {
    color: #000 !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.875rem !important;
    font-style: normal;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.25rem !important;
    margin: 0 0 1rem !important;
    text-transform: uppercase;
}

.sn-latest-innovations .sn-featured-recs-header .carousel-subtitle-style,
.sn-latest-innovations .sn-featured-recs-header p {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 2rem !important;
    font-style: normal;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 2.25rem !important;
    margin: 0 !important;
}

.sn-latest-innovations .sn-featured-recs-shell.pd-slick-carousel {
    margin: 0 !important;
    max-width: none !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative;
}

.sn-latest-innovations .sn-featured-recs-track.slick-carousel-inner {
    cursor: grab;
    display: grid !important;
    gap: 1rem !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, min(var(--sn-latest-card-width), calc(100vw - 18.5rem))) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0.75rem 0.5rem !important;
    scroll-behavior: smooth;
    scroll-padding-left: 0.75rem !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none;
    touch-action: pan-y;
    width: 100% !important;
}

.sn-latest-innovations .sn-featured-recs-track.slick-carousel-inner::-webkit-scrollbar {
    display: none;
}

.sn-latest-innovations .sn-featured-recs-track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none !important;
    user-select: none;
}

.sn-latest-innovations .sn-featured-rec-card.slick-carousel-item {
    aspect-ratio: var(--sn-latest-card-ratio) !important;
    background: #111 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    display: block !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    width: 100% !important;
}

.sn-latest-innovations .sn-featured-rec-card::after {
    display: none !important;
}

.sn-latest-innovations .sn-featured-rec-media,
.sn-latest-innovations .sn-featured-rec-media figure,
.sn-latest-innovations .sn-featured-rec-media picture,
.sn-latest-innovations .sn-featured-rec-media img {
    border-radius: 8px !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    width: 100% !important;
}

.sn-latest-innovations .sn-featured-rec-media img {
    filter: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
}

.sn-latest-innovations .sn-featured-rec-copy.text-container {
    color: #fff !important;
    display: block !important;
    left: 0 !important;
    max-width: min(26.5rem, 48%) !important;
    opacity: 1 !important;
    padding: 1.5rem !important;
    position: absolute !important;
    text-decoration: none !important;
    text-shadow: none !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 2;
}

.sn-latest-innovations .sn-featured-rec-copy .badge-text,
.sn-latest-innovations .sn-featured-rec-copy > span:first-child {
    background: #bedccb !important;
    border-radius: 0.3125rem !important;
    color: #33785d !important;
    display: inline-block !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.875rem !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 1.25rem !important;
    margin: 0 0 0.75rem !important;
    padding: 0.25rem 0.5rem !important;
}

.sn-latest-innovations .sn-featured-rec-copy .image-text,
.sn-latest-innovations .sn-featured-rec-copy h3 {
    color: #fff !important;
    display: block !important;
    font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 1.5rem !important;
    font-style: normal;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.75rem !important;
    margin: 0 !important;
    max-width: 23.5rem !important;
    text-shadow: none !important;
}

.sn-latest-innovations .sn-featured-rec-copy .image-text span {
    display: block;
}

.sn-latest-innovations .product-container {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    position: absolute;
    right: 0;
    z-index: 3;
}

.sn-latest-innovations .sn-featured-rec-product.product-details,
.sn-latest-innovations .sn-featured-rec-product {
    background: rgba(38, 38, 38, 0.8) !important;
    border: 0 !important;
    border-radius: 0.75rem 0 0 0.75rem !important;
    bottom: auto !important;
    box-shadow: none !important;
    color: #fff !important;
    display: block !important;
    margin-right: -2rem !important;
    max-width: 21.5625rem !important;
    padding: 0.75rem !important;
    position: relative !important;
    right: auto !important;
    text-decoration: none !important;
    transform: none !important;
    width: 21.5625rem !important;
}

.sn-latest-innovations .sn-featured-rec-product::after {
    display: none !important;
}

.sn-latest-innovations .sn-featured-rec-name-row.name-link,
.sn-latest-innovations .sn-featured-rec-name-row {
    align-items: center !important;
    display: flex !important;
    gap: 1.25rem !important;
    justify-content: space-between !important;
    margin: 0 0 0.5rem !important;
}

.sn-latest-innovations .sn-featured-rec-product strong {
    color: #fff !important;
    display: block !important;
    flex: 1 1 auto;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.75rem !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: 1.125rem !important;
    margin: 0 !important;
    min-width: 0;
}

.sn-latest-innovations .sn-featured-rec-arrow.right-arrow-icon,
.sn-latest-innovations .sn-featured-rec-arrow {
    background: none !important;
    display: inline-block !important;
    flex: 0 0 auto;
    height: 1.25rem !important;
    position: relative !important;
    width: 1.4375rem !important;
}

.sn-latest-innovations .sn-featured-rec-arrow::before,
.sn-latest-innovations .sn-featured-rec-arrow::after {
    content: "" !important;
    position: absolute !important;
}

.sn-latest-innovations .sn-featured-rec-arrow::before {
    background: #fff !important;
    height: 0.125rem !important;
    left: 0.125rem !important;
    right: 0.125rem !important;
    top: 0.5625rem !important;
}

.sn-latest-innovations .sn-featured-rec-arrow::after {
    background: transparent !important;
    border-right: 0.125rem solid #fff !important;
    border-top: 0.125rem solid #fff !important;
    height: 0.5rem !important;
    right: 0.1875rem !important;
    top: 0.375rem !important;
    transform: rotate(45deg) !important;
    width: 0.5rem !important;
}

.sn-latest-innovations .sn-featured-rec-pricing.pricing-container,
.sn-latest-innovations .sn-featured-rec-pricing {
    align-items: center !important;
    align-self: stretch;
    background: #000 !important;
    border-radius: 0.5rem !important;
    color: #fff !important;
    display: flex !important;
    gap: 0.5rem !important;
    min-height: 2rem !important;
    padding: 0.375rem 0.625rem !important;
}

.sn-latest-innovations .sn-featured-rec-product em {
    color: #fff !important;
    font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
    font-size: 0.75rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.125rem !important;
}

.sn-latest-innovations .sn-featured-recs-arrow {
    align-items: center !important;
    background: #fff !important;
    border: 0.0625rem solid #000 !important;
    border-radius: 1rem !important;
    bottom: -3.125rem !important;
    box-shadow: none !important;
    color: #000 !important;
    display: inline-flex !important;
    height: 2rem !important;
    justify-content: center !important;
    padding: 0.625rem !important;
    position: absolute !important;
    top: auto !important;
    transform: none !important;
    transition: background-color 180ms ease, transform 180ms ease;
    width: 2rem !important;
    z-index: 5;
}

.sn-latest-innovations .sn-featured-recs-arrow:hover,
.sn-latest-innovations .sn-featured-recs-arrow:focus-visible {
    background-color: #f6f6f6 !important;
}

.sn-latest-innovations .sn-featured-recs-arrow:active {
    background-color: #e7e7e7 !important;
    transform: scale(0.96) !important;
}

.sn-latest-innovations .sn-featured-recs-arrow::before {
    border-right: 1.5px solid currentColor !important;
    border-top: 1.5px solid currentColor !important;
    content: "" !important;
    height: 0.625rem !important;
    width: 0.625rem !important;
}

.sn-latest-innovations .sn-featured-recs-prev {
    left: auto !important;
    right: 4.0625rem !important;
}

.sn-latest-innovations .sn-featured-recs-prev::before {
    transform: rotate(-135deg) !important;
}

.sn-latest-innovations .sn-featured-recs-next {
    right: 0.9375rem !important;
}

.sn-latest-innovations .sn-featured-recs-next::before {
    transform: rotate(45deg) !important;
}

.sn-latest-innovations .sn-featured-recs-dots {
    align-items: center !important;
    display: flex !important;
    gap: 0.25rem !important;
    justify-content: center !important;
    margin: 2rem 0 0 !important;
    min-height: 1.25rem !important;
    padding: 0 !important;
    pointer-events: none;
}

.sn-latest-innovations .sn-featured-recs-dots button {
    background: #888 !important;
    border: 0 !important;
    border-radius: 50% !important;
    cursor: pointer;
    height: 0.25rem !important;
    padding: 0 !important;
    pointer-events: auto;
    transition: background-color 180ms ease, height 180ms ease, width 180ms ease, top 180ms ease;
    width: 0.25rem !important;
}

.sn-latest-innovations .sn-featured-recs-dots button.is-active {
    background: #000 !important;
    height: 0.75rem !important;
    position: relative;
    top: -0.25rem;
    width: 0.75rem !important;
}

@media (max-width: 1199px) {
    .sn-latest-innovations.sn-new-arrivals-carousel {
        --sn-latest-card-ratio: 1170 / 1680;
        padding-bottom: 3.5rem !important;
    }

    .sn-latest-innovations .sn-featured-recs-header.header-container {
        margin-bottom: 1rem !important;
        padding: 1.5rem 0.25rem 0 !important;
    }

    .sn-latest-innovations .sn-featured-recs-header .carousel-subtitle-style,
    .sn-latest-innovations .sn-featured-recs-header p {
        font-size: 1.75rem !important;
        line-height: 2rem !important;
    }

    .sn-latest-innovations .sn-featured-recs-track.slick-carousel-inner {
        grid-auto-columns: calc(100vw - 1.5rem) !important;
        padding-left: 0.25rem !important;
        padding-right: 1.25rem !important;
        scroll-padding-left: 0.25rem !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy.text-container {
        left: 0 !important;
        max-width: calc(100% - 2rem) !important;
        padding: 1rem !important;
        top: 0 !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .badge-text,
    .sn-latest-innovations .sn-featured-rec-copy > span:first-child {
        margin-bottom: 0.5rem !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .image-text,
    .sn-latest-innovations .sn-featured-rec-copy h3 {
        font-size: 1.25rem !important;
        line-height: 1.5rem !important;
        max-width: calc(100% - 2rem) !important;
    }

    .sn-latest-innovations .product-container {
        align-items: center;
        left: 0;
        padding: 1.25rem 1rem 0.75rem;
        right: 0;
    }

    .sn-latest-innovations .sn-featured-rec-product.product-details,
    .sn-latest-innovations .sn-featured-rec-product {
        border-radius: 0.75rem !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .sn-latest-innovations .sn-featured-recs-arrow {
        display: none !important;
    }
}

/* JS fallback keeps the older direct-child product link; keep it in the official bottom-right slot. */
.sn-latest-innovations .sn-featured-rec-card > .sn-featured-rec-product:not(.product-details) {
    bottom: 2rem !important;
    margin-right: 0 !important;
    position: absolute !important;
    right: 0 !important;
    width: min(21.5625rem, 35vw) !important;
}

@media (max-width: 1199px) {
    .sn-latest-innovations .sn-featured-rec-card > .sn-featured-rec-product:not(.product-details) {
        bottom: 0.75rem !important;
        left: 1rem !important;
        max-width: calc(100% - 2rem) !important;
        right: 1rem !important;
        width: auto !important;
    }
}

/* Requested homepage inset layout: hero and promo stay full-bleed; following modules sit 220px from the viewport edges. */
@media (min-width: 1200px) {
    .sn-home-main {
        --sn-requested-module-inset: 220px;
        --sn-requested-module-gap: 1.5rem;
        --sn-requested-module-width: calc(100vw - 440px);
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social, .sn-why-buy):not(.sn-home-hero) {
        box-sizing: border-box !important;
        left: auto !important;
        margin-left: var(--sn-requested-module-inset) !important;
        margin-right: var(--sn-requested-module-inset) !important;
        max-width: var(--sn-requested-module-width) !important;
        width: var(--sn-requested-module-width) !important;
    }

    .sn-home-main > .sn-latest-innovations.sn-new-arrivals-carousel.alignfull,
    .sn-home-main > .sn-new-arrivals-carousel.alignfull,
    .sn-home-main > .sn-featured-recs.alignfull,
    .sn-home-main > .sn-home-carousel.alignfull,
    .sn-home-main > .sn-category-showcase.alignfull,
    .sn-home-main > .sn-trending-social.alignfull,
    .sn-home-main > .sn-why-buy.alignfull {
        left: auto !important;
        margin-left: var(--sn-requested-module-inset) !important;
        margin-right: var(--sn-requested-module-inset) !important;
        max-width: var(--sn-requested-module-width) !important;
        width: var(--sn-requested-module-width) !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social, .sn-why-buy):not(.sn-home-hero) :where(.sn-featured-recs-header, .sn-home-section-head, .sn-featured-recs-shell, .sn-home-carousel-shell, .sn-category-rail-shell, .sn-category-tabs, .sn-benefit-grid, .sn-trending-social-shell, .sn-trending-social-head) {
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track, .sn-home-card-track, .sn-category-track, .sn-trending-social-grid) {
        gap: var(--sn-requested-module-gap) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        scroll-padding-left: 0 !important;
        width: 100% !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track, .sn-home-card-track, .sn-trending-social-grid) {
        cursor: grab;
        display: grid !important;
        grid-auto-flow: column !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none;
        touch-action: pan-y;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track, .sn-home-card-track, .sn-trending-social-grid)::-webkit-scrollbar,
    .sn-home-main > .sn-category-showcase:not(.sn-home-hero) .sn-category-track::-webkit-scrollbar {
        display: none;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track.is-dragging, .sn-home-card-track.is-dragging, .sn-trending-social-grid.is-dragging, .sn-home-drag-surface.is-dragging),
    .sn-home-main > .sn-category-showcase:not(.sn-home-hero) .sn-category-track.is-dragging {
        cursor: grabbing;
        scroll-snap-type: none !important;
        user-select: none;
    }

    .sn-latest-innovations .sn-featured-recs-track.slick-carousel-inner,
    .sn-home-main > .sn-latest-innovations .sn-featured-recs-track,
    .sn-home-main > .sn-new-arrivals-carousel .sn-featured-recs-track {
        grid-auto-columns: 400px !important;
    }

    .sn-latest-innovations .pd-slick-carousel-container,
    .sn-latest-innovations .sn-featured-recs-header.header-container,
    .sn-latest-innovations .sn-featured-recs-shell.pd-slick-carousel {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .sn-latest-innovations .sn-featured-recs-track.slick-carousel-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
        scroll-padding-left: 0 !important;
    }

    .sn-home-main > :where(.sn-curated-bundles, .sn-build-your-own, .sn-recipe-carousel) .sn-home-card-track,
    .sn-home-main > .sn-trending-social .sn-trending-social-grid {
        grid-auto-columns: minmax(20rem, 37.5%) !important;
        grid-template-columns: none !important;
    }

    .sn-home-main > .sn-trending-social .sn-trending-social-grid {
        grid-auto-columns: calc(20% - 1.2rem) !important;
        grid-template-columns: none !important;
    }

    .sn-home-main > .sn-build-your-own {
        background: #fff !important;
    }

    .sn-home-main > .sn-category-showcase .sn-category-track {
        cursor: grab;
        display: flex !important;
        gap: var(--sn-requested-module-gap) !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none;
        touch-action: pan-y;
    }

    .sn-home-main > .sn-category-showcase .sn-category-track .sn-category-card {
        flex: 0 0 calc((100% - (var(--sn-requested-module-gap) * 4)) / 5) !important;
        max-width: calc((100% - (var(--sn-requested-module-gap) * 4)) / 5) !important;
    }

    .sn-home-main > .sn-category-showcase .sn-category-card img {
        max-width: min(82%, 9.75rem) !important;
    }

    .sn-home-main .sn-home-drag-surface {
        cursor: grab;
        overflow-x: auto;
        scrollbar-width: none;
        touch-action: pan-y;
    }

    .sn-home-main .sn-home-drag-surface::-webkit-scrollbar {
        display: none;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social) :where([data-sn-recommendation-slide], .sn-category-card, .sn-trending-social-tile) {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .sn-latest-innovations .sn-featured-rec-card.slick-carousel-item,
    .sn-home-main > .sn-new-arrivals-carousel .sn-featured-rec-card {
        aspect-ratio: auto !important;
        height: 600px !important;
        max-height: none !important;
        width: 400px !important;
    }

    .sn-latest-innovations .sn-featured-rec-media,
    .sn-latest-innovations .sn-featured-rec-media figure,
    .sn-latest-innovations .sn-featured-rec-media picture,
    .sn-latest-innovations .sn-featured-rec-media img {
        height: 600px !important;
        width: 400px !important;
    }

    .sn-home-main > .sn-curated-bundles .sn-home-image-card {
        aspect-ratio: 2532 / 1836 !important;
        max-height: none !important;
    }

    .sn-home-main > :where(.sn-build-your-own, .sn-recipe-carousel) :where(.sn-home-image-card, .sn-home-byob-card, .sn-recipe-card),
    .sn-home-main > .sn-trending-social .sn-trending-social-tile {
        aspect-ratio: 4 / 5 !important;
        max-height: 32rem !important;
        min-height: 0 !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-recipe-carousel, .sn-trending-social) :where(.sn-featured-rec-media, .sn-featured-rec-media figure, .sn-featured-rec-media picture, .sn-featured-rec-media img, .sn-home-image-card, .sn-home-image-card a, .sn-home-image-card picture, .sn-home-image-card img, .sn-recipe-card, .sn-recipe-card img, .sn-trending-social-tile, .sn-trending-social-tile img) {
        display: block !important;
        height: 100% !important;
        width: 100% !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-recipe-carousel, .sn-trending-social) :where(.sn-featured-rec-media img, .sn-home-image-card img, .sn-recipe-card img, .sn-trending-social-tile img) {
        object-fit: cover !important;
        object-position: center !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy.text-container {
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        left: 0 !important;
        max-width: calc(100% - 3rem) !important;
        padding: 1.5rem !important;
        top: 0 !important;
        width: 100% !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .badge-text,
    .sn-latest-innovations .sn-featured-rec-copy > span:first-child {
        border-radius: 0.3125rem !important;
        display: inline-block !important;
        font-family: "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
        font-size: 0.875rem !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 1.25rem !important;
        margin: 0 0 0.75rem !important;
        order: 1 !important;
        padding: 0.25rem 0.5rem !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .image-text,
    .sn-latest-innovations .sn-featured-rec-copy .image-text.white,
    .sn-latest-innovations .sn-featured-rec-copy h3 {
        color: #fff !important;
        font-family: "Plus Jakarta Sans", "DM Sans", var(--wp--preset--font-family--inter), Arial, sans-serif !important;
        font-size: 1.5rem !important;
        font-style: normal !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        line-height: 1.75rem !important;
        margin: 0 !important;
        max-width: 23.5rem !important;
        order: 2 !important;
        width: 100% !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .image-text.white {
        background: transparent !important;
        display: inline-block !important;
        padding: 0 !important;
        width: auto !important;
    }

    .sn-latest-innovations .sn-featured-rec-copy .image-text.white span {
        background: transparent !important;
        color: #fff !important;
        font-size: 1.5rem !important;
        line-height: 1.75rem !important;
        padding: 0.25rem 0.5rem !important;
    }

    .sn-latest-innovations .product-container {
        padding: 2rem !important;
        width: 60% !important;
    }

    .sn-latest-innovations .sn-featured-rec-product.product-details,
    .sn-latest-innovations .sn-featured-rec-product {
        background: #262626 !important;
        border-radius: 0.75rem 0 0 0.75rem !important;
        margin-right: -2rem !important;
        max-width: 12.9375rem !important;
        width: 100% !important;
    }
}

@media (max-width: 1199px) {
    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social, .sn-why-buy):not(.sn-home-hero) {
        box-sizing: border-box !important;
        left: auto !important;
        margin-left: 1rem !important;
        margin-right: 1rem !important;
        max-width: calc(100vw - 2rem) !important;
        width: calc(100vw - 2rem) !important;
    }

    .sn-home-main > .sn-latest-innovations.sn-new-arrivals-carousel.alignfull,
    .sn-home-main > .sn-new-arrivals-carousel.alignfull,
    .sn-home-main > .sn-featured-recs.alignfull,
    .sn-home-main > .sn-home-carousel.alignfull,
    .sn-home-main > .sn-category-showcase.alignfull,
    .sn-home-main > .sn-trending-social.alignfull,
    .sn-home-main > .sn-why-buy.alignfull {
        left: auto !important;
        margin-left: 1rem !important;
        margin-right: 1rem !important;
        max-width: calc(100vw - 2rem) !important;
        width: calc(100vw - 2rem) !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-header, .sn-home-section-head, .sn-featured-recs-shell, .sn-home-carousel-shell, .sn-category-rail-shell, .sn-category-tabs, .sn-trending-social-shell, .sn-trending-social-head) {
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-category-showcase, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track, .sn-home-card-track, .sn-category-track, .sn-trending-social-grid) {
        padding-left: 0 !important;
        padding-right: 0 !important;
        scroll-padding-left: 0 !important;
    }

    .sn-home-main > :where(.sn-featured-recs, .sn-home-carousel, .sn-trending-social):not(.sn-home-hero) :where(.sn-featured-recs-track, .sn-home-card-track, .sn-trending-social-grid) {
        grid-auto-columns: 100% !important;
        grid-template-columns: none !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
    }

    .sn-home-main > .sn-category-showcase .sn-category-track .sn-category-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

.sn-curated-bundles .sn-home-section-head h2 {
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.875rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.25rem !important;
    margin-bottom: 1rem !important;
}

.sn-curated-bundles .sn-home-section-head p {
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.725rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.5rem !important;
    max-width: 440px !important;
    white-space: nowrap !important;
}

@media (min-width: 1200px) {
    .sn-curated-bundles .sn-home-section-head p {
        font-size: 1.725rem !important;
        line-height: 1.5rem !important;
    }

    .sn-curated-bundles .sn-home-card-track {
        grid-auto-columns: 560px !important;
    }

    .sn-curated-bundles .sn-home-image-card,
    .sn-curated-bundles .sn-home-image-card a,
    .sn-curated-bundles .sn-home-image-card picture,
    .sn-curated-bundles .sn-home-image-card img {
        height: 600px !important;
        width: 560px !important;
    }

    .sn-curated-bundles .sn-home-image-card {
        aspect-ratio: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }
}

.sn-curated-bundles .sn-home-card-copy {
    color: #000 !important;
    text-shadow: none !important;
}

.sn-curated-bundles .sn-home-card-copy strong,
.sn-curated-bundles .sn-home-card-copy em {
    color: #000 !important;
}

.sn-curated-bundles .sn-home-card-copy em {
    text-decoration: underline !important;
    text-decoration-color: #000 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.18em !important;
}

.sn-build-your-own .sn-home-section-head h2 {
    font-weight: 400 !important;
}

@media (min-width: 1200px) {
    .sn-build-your-own .sn-home-card-track {
        grid-auto-columns: calc(42.857% - 1.286rem) !important;
    }

    .sn-build-your-own .sn-home-image-card,
    .sn-build-your-own .sn-home-image-card a,
    .sn-build-your-own .sn-home-image-card picture,
    .sn-build-your-own .sn-home-image-card img {
        height: 600px !important;
        width: 100% !important;
    }

    .sn-build-your-own .sn-home-image-card {
        aspect-ratio: auto !important;
        background: #f4f4f4 !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    .sn-build-your-own .sn-home-image-card a,
    .sn-build-your-own .sn-home-image-card picture,
    .sn-build-your-own .sn-home-image-card img {
        aspect-ratio: auto !important;
        height: 100% !important;
    }

    .sn-build-your-own .sn-home-image-card img {
        object-fit: fill !important;
        object-position: center !important;
        transform: none !important;
    }

    .sn-build-your-own .sn-home-image-card:hover img,
    .sn-build-your-own .sn-home-image-card:focus-within img,
    .sn-build-your-own .sn-home-image-card.is-active img {
        filter: none !important;
        transform: none !important;
    }
}

.sn-build-your-own .sn-home-card-copy.is-dark,
.sn-build-your-own .sn-home-card-copy.is-dark strong,
.sn-build-your-own .sn-home-card-copy.is-dark em {
    font-size: 1.5rem !important;
}

.sn-build-your-own .sn-home-image-card::after,
.sn-build-your-own .sn-home-byob-card::after {
    display: none !important;
}

@media (min-width: 1200px) {
    .sn-recipe-carousel .sn-home-card-track {
        grid-auto-columns: calc(42.857% - 1.286rem) !important;
    }

    .sn-recipe-carousel .sn-recipe-card,
    .sn-recipe-carousel .sn-recipe-card a,
    .sn-recipe-carousel .sn-recipe-card img {
        aspect-ratio: auto !important;
        height: 560px !important;
        max-height: none !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .sn-recipe-carousel .sn-recipe-card {
        background: #f4f4f4 !important;
    }

    .sn-recipe-carousel .sn-recipe-card img {
        object-fit: fill !important;
        object-position: center !important;
        transform: none !important;
    }

    .sn-recipe-carousel .sn-recipe-card:hover img,
    .sn-recipe-carousel .sn-recipe-card:focus-within img {
        filter: none !important;
        transform: none !important;
    }
}

.sn-recipe-carousel .sn-recipe-card > a {
    color: inherit;
    position: relative;
    text-decoration: none;
}

.sn-recipe-carousel .sn-recipe-card img {
    filter: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
}

.sn-recipe-carousel .sn-recipe-card:hover img,
.sn-recipe-carousel .sn-recipe-card:focus-within img,
.sn-recipe-carousel .sn-recipe-card.is-active img,
.sn-recipe-carousel .sn-recipe-card.sn-card-hover img {
    filter: none !important;
    transform: none !important;
}

.sn-recipe-carousel .sn-recipe-card-copy {
    box-sizing: border-box;
    color: #fff;
    left: 0;
    padding: 1rem;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.sn-recipe-carousel .sn-recipe-card span {
    background: transparent !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    color: #fff !important;
    left: 0 !important;
    padding: 1rem !important;
    position: absolute !important;
    right: auto !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 1 !important;
}

.sn-recipe-carousel .sn-recipe-card-kicker {
    background: #fff;
    border-radius: 8px;
    color: #262626;
    display: inline-block;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    margin: 0 0 0.5rem;
    padding: 0.25rem 0.5rem;
}

.sn-recipe-carousel .sn-recipe-card em {
    background: #fff !important;
    border-radius: 8px !important;
    color: #262626 !important;
    display: inline-block !important;
    font-family: "DM Sans", Arial, Helvetica, serif !important;
    font-size: 0.875rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.25rem !important;
    margin: 0 0 0.5rem !important;
    padding: 0.25rem 0.5rem !important;
    text-transform: none !important;
}

.sn-recipe-carousel .sn-recipe-card-title {
    color: #fff;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5rem;
    margin: 0;
    width: 100%;
}

.sn-recipe-carousel .sn-recipe-card strong {
    color: #fff !important;
    display: block !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.5rem !important;
    margin: 0 !important;
    width: 100% !important;
}

.sn-recipe-carousel .sn-recipe-card-cta {
    color: #fff;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.375rem;
    padding-top: 1rem;
    width: 100%;
}

.sn-recipe-carousel .sn-recipe-card b {
    align-items: flex-start !important;
    color: #fff !important;
    display: flex !important;
    font-family: "DM Sans", Arial, Helvetica, serif !important;
    font-size: 1rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    gap: 0 !important;
    line-height: 1.375rem !important;
    padding-top: 1rem !important;
    text-transform: none !important;
    width: 100% !important;
}

.sn-recipe-carousel .sn-recipe-card b::after {
    border: 0 !important;
    content: "\2192" !important;
    height: auto !important;
    margin-left: 0.75rem !important;
    transform: none !important;
    width: auto !important;
}

.sn-recipe-carousel .sn-recipe-card-cta > div:first-child {
    margin-right: 0.75rem;
    text-decoration: underline;
}

.sn-recipe-carousel .sn-recipe-card b {
    text-decoration: underline !important;
}

@media (min-width: 1200px) {
    .sn-recipe-carousel .sn-recipe-card-copy {
        padding: 1.5rem;
    }

    .sn-recipe-carousel .sn-recipe-card span {
        padding: 1.5rem !important;
    }

    .sn-recipe-carousel .sn-recipe-card-title {
        font-size: 1.5rem;
        line-height: 1.75rem;
        max-width: 23.5rem;
    }

    .sn-recipe-carousel .sn-recipe-card strong {
        font-size: 1.5rem !important;
        line-height: 1.75rem !important;
        max-width: 23.5rem !important;
    }

    .sn-recipe-carousel .sn-recipe-card-cta {
        padding-top: 1.25rem;
    }

    .sn-recipe-carousel .sn-recipe-card b {
        padding-top: 1.25rem !important;
    }
}

@media (min-width: 1200px) {
    .sn-home-main > .sn-popular-categories .sn-category-card img {
        height: 12rem !important;
        max-height: 12rem !important;
        max-width: 10.75rem !important;
        object-fit: contain !important;
        width: 10.75rem !important;
    }
}

.sn-why-buy {
    background: #fff !important;
    color: #000 !important;
    padding: 0 0 2.5rem !important;
}

.sn-why-buy .sn-home-section-head {
    box-sizing: border-box !important;
    margin: 0 auto !important;
    max-width: var(--sn-home-max) !important;
    padding: 2.5rem var(--sn-home-gutter) 1rem !important;
}

.sn-why-buy .sn-home-section-head .sn-why-buy-eyebrow {
    color: #000 !important;
    font-family: "DM Sans", Arial, Helvetica, serif !important;
    font-size: 0.875rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.25rem !important;
    margin: 0 0 0.5rem !important;
    text-transform: uppercase !important;
}

.sn-why-buy .sn-home-section-head .sn-why-buy-title {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif !important;
    font-size: 1.75rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 2.1rem !important;
    margin: 0 0 0.5rem !important;
    max-width: none !important;
}

.sn-why-buy .sn-benefit-grid {
    align-items: stretch !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin: 0 auto !important;
    max-width: var(--sn-home-max) !important;
    padding: 0 var(--sn-home-gutter) !important;
}

.sn-why-buy .sn-benefit-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-right: 0.0625rem solid #d1d1d1 !important;
    box-shadow: none !important;
    color: #000 !important;
    margin: 0 0.875rem 0 0 !important;
    min-height: 0 !important;
    padding: 0.75rem 0.875rem 1.125rem !important;
    transform: none !important;
}

.sn-why-buy .sn-benefit-card:last-child {
    border-right-width: 0 !important;
    margin-right: 0 !important;
}

.sn-why-buy .sn-benefit-card:hover,
.sn-why-buy .sn-benefit-card:focus-within {
    border-color: #d1d1d1 !important;
    box-shadow: none !important;
    transform: none !important;
}

.sn-why-buy .sn-benefit-icon,
.sn-why-buy .sn-benefit-card > span:first-child {
    background-color: transparent !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    border: 0 !important;
    color: transparent !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    font-size: 0 !important;
    height: 2.75rem !important;
    margin: 0 0 1.25rem !important;
    min-width: 0 !important;
    overflow: visible !important;
    position: static !important;
    width: 2.75rem !important;
}

.sn-why-buy .sn-benefit-icon::before,
.sn-why-buy .sn-benefit-icon::after,
.sn-why-buy .sn-benefit-card > span:first-child::before,
.sn-why-buy .sn-benefit-card > span:first-child::after {
    content: none !important;
    display: none !important;
}

.sn-why-buy .sn-shopping-bag-icon,
.sn-why-buy .sn-benefit-card[data-sn-benefit-icon="exclusive"] > span:first-child {
    background-image: url("./assets/images/why-buy/shopping-bag-icon.svg") !important;
}

.sn-why-buy .sn-calendar-icon,
.sn-why-buy .sn-benefit-card[data-sn-benefit-icon="guarantee"] > span:first-child {
    background-image: url("./assets/images/why-buy/calendar-icon.svg") !important;
}

.sn-why-buy .sn-parcel-icon,
.sn-why-buy .sn-benefit-card[data-sn-benefit-icon="shipping"] > span:first-child {
    background-image: url("./assets/images/why-buy/parcel-icon.svg") !important;
}

.sn-why-buy .sn-shield-icon,
.sn-why-buy .sn-benefit-card[data-sn-benefit-icon="warranty"] > span:first-child {
    background-image: url("./assets/images/why-buy/shield-icon.svg") !important;
}

.sn-why-buy .sn-benefit-card :where(h3, h4, .sn-benefit-title) {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif !important;
    font-size: 1.5rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
    margin: 0 0 1rem !important;
}

.sn-why-buy .sn-benefit-card :where(p, .sn-benefit-description) {
    color: #000 !important;
    font-family: "DM Sans", Arial, Helvetica, serif !important;
    font-size: 1rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.375rem !important;
    margin: 0 !important;
}

.sn-why-buy .sn-benefit-card a {
    color: #000 !important;
    text-decoration: none !important;
}

.sn-why-buy .sn-benefit-card u {
    text-decoration: underline !important;
    text-decoration-thickness: auto !important;
    text-underline-offset: auto !important;
}

@media (max-width: 1199px) {
    .sn-why-buy .sn-home-section-head {
        padding-left: 0.75rem !important;
        padding-bottom: 1.5rem !important;
    }

    .sn-why-buy .sn-home-section-head .sn-why-buy-title {
        font-size: 1.5rem !important;
        line-height: 1.75rem !important;
    }

    .sn-why-buy .sn-benefit-grid {
        grid-template-columns: 1fr !important;
        padding: 0 0.75rem !important;
    }

    .sn-why-buy .sn-benefit-card {
        border-bottom: 0.0625rem solid #d1d1d1 !important;
        border-right-width: 0 !important;
        margin: 0 0 1.5rem !important;
        width: 100% !important;
    }

    .sn-why-buy .sn-benefit-card:last-child {
        border-bottom-width: 0 !important;
        margin-bottom: 1.375rem !important;
    }

    .sn-why-buy .sn-benefit-card :where(h3, h4, .sn-benefit-title) {
        font-size: 1.25rem !important;
        line-height: 1.5rem !important;
        margin-bottom: 1.125rem !important;
    }
}

@media (max-width: 767px) {
    .sn-why-buy .sn-benefit-icon-container {
        align-items: center !important;
        display: flex !important;
    }

    .sn-why-buy .sn-benefit-icon,
    .sn-why-buy .sn-benefit-card > span:first-child {
        height: 2rem !important;
        margin: 0 0.5rem 0 0 !important;
        width: 2rem !important;
    }
}

/* Screenshot-matched product hero: no card borders, SharkNinja PDP rhythm. */
body.single-product .sn-pdp-shell {
    background: #fff !important;
    border: 0 !important;
}

body.single-product .sn-pdp-hero.wp-block-columns {
    align-items: flex-start !important;
    column-gap: clamp(2rem, 4.6vw, 4.125rem) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.58fr) minmax(18.75rem, 0.92fr) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 70rem !important;
    padding: 0 1rem !important;
    width: 100% !important;
}

body.single-product .sn-pdp-hero :where(.sn-pdp-media, .sn-pdp-summary-column, .sn-pdp-summary-card, .sn-pdp-custom-gallery, .sn-pdp-media-stage, .sn-pdp-media-panel, .sn-pdp-media-panel-inner) {
    border: 0 !important;
    box-shadow: none !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media.wp-block-column,
body.single-product .sn-pdp-hero .sn-pdp-summary-column.wp-block-column {
    flex-basis: auto !important;
    margin: 0 !important;
    min-width: 0;
}

body.single-product .sn-pdp-hero .sn-pdp-media {
    background: transparent !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 3.875rem minmax(0, 1fr);
    min-height: 0;
}

body.single-product .sn-pdp-hero .sn-pdp-media-rail {
    gap: 0.875rem;
    max-height: 31.25rem;
    overflow-y: auto;
    padding: 0;
    scrollbar-width: none;
}

body.single-product .sn-pdp-hero .sn-pdp-media-rail::-webkit-scrollbar {
    display: none;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0.25rem !important;
    box-shadow: none !important;
    height: 3.875rem;
    outline: 0 !important;
    width: 3.875rem;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb img {
    border-radius: 0.25rem;
    height: 100%;
    object-fit: cover;
    padding: 0 !important;
    width: 100%;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb.is-active,
body.single-product .sn-pdp-hero .sn-pdp-media-thumb:hover,
body.single-product .sn-pdp-hero .sn-pdp-media-thumb:focus-visible {
    outline: 0.125rem solid #000 !important;
    outline-offset: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-stage {
    background: transparent !important;
    border-radius: 0.625rem;
    min-height: 0;
    overflow: hidden;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel {
    background: transparent;
    min-height: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel-inner {
    background: transparent !important;
    min-height: 0;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel-image img {
    aspect-ratio: 1 / 1;
    border-radius: 0.625rem;
    display: block;
    height: auto;
    max-height: none;
    object-fit: cover;
    padding: 0 !important;
    width: 100%;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel-video iframe,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video video,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video-shortcode,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .sn-pdp-video-link {
    border-radius: 0.625rem;
    min-height: 31.25rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-arrow {
    align-items: center;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0.125rem !important;
    box-shadow: none !important;
    display: flex;
    height: 1.875rem !important;
    justify-content: center;
    min-height: 1.875rem !important;
    min-width: 1.875rem !important;
    opacity: 1;
    padding: 0 !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem !important;
    z-index: 4;
}

body.single-product .sn-pdp-hero .sn-pdp-media-prev {
    left: 0;
}

body.single-product .sn-pdp-hero .sn-pdp-media-next {
    right: 0;
}

body.single-product .sn-pdp-hero .sn-pdp-media-arrow::before {
    border-color: #fff;
    border-style: solid;
    content: "";
    height: 0.5rem;
    width: 0.5rem;
}

body.single-product .sn-pdp-hero .sn-pdp-media-prev::before {
    border-width: 0 0 0.125rem 0.125rem;
    transform: rotate(45deg);
}

body.single-product .sn-pdp-hero .sn-pdp-media-next::before {
    border-width: 0.125rem 0.125rem 0 0;
    transform: rotate(45deg);
}

body.single-product .sn-pdp-hero .sn-pdp-summary-card {
    background: transparent !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative;
}

body.single-product .sn-pdp-hero .sn-pdp-topline,
body.single-product .sn-pdp-hero .sn-pdp-title-panel,
body.single-product .sn-pdp-hero .sn-pdp-intro,
body.single-product .sn-pdp-hero .sn-pdp-rating-row-target,
body.single-product .sn-pdp-hero .sn-pdp-item-line,
body.single-product .sn-pdp-hero .sn-pdp-stock-line,
body.single-product .sn-pdp-hero .sn-pdp-attribute-wrap,
body.single-product .sn-pdp-hero .sn-pdp-price-main,
body.single-product .sn-pdp-hero .sn-pdp-purchase,
body.single-product .sn-pdp-hero .sn-pdp-finance-note,
body.single-product .sn-pdp-hero .sn-pdp-referral-note,
body.single-product .sn-pdp-hero .sn-pdp-warranty-line,
body.single-product .sn-pdp-hero .sn-pdp-hero-accordions {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-topline {
    min-height: 1.5rem;
    padding-top: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-kicker {
    background: #cde7d8 !important;
    color: #4d8066 !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1rem !important;
    padding: 0.25rem 0.5rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-favorite {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    height: 2rem !important;
    min-height: 2rem !important;
    min-width: 2rem !important;
    padding: 0 !important;
    position: absolute;
    right: 0.125rem;
    top: 6.75rem;
    width: 2rem !important;
    z-index: 1;
}

body.single-product .sn-pdp-hero .sn-pdp-favorite::before {
    color: #777;
    content: "\2661";
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1;
}

body.single-product .sn-pdp-hero .sn-pdp-favorite.is-active::before {
    color: #000;
    content: "\2665";
}

body.single-product .sn-pdp-hero .sn-pdp-title-panel {
    border: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0.625rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-title {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.25rem !important;
    margin: 0 2.25rem 0.875rem 0 !important;
    max-width: 22rem;
}

body.single-product .sn-pdp-hero .sn-pdp-model-line {
    color: #7a7a7a !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-rating-row-target {
    align-items: center;
    gap: 0.375rem !important;
    margin-top: 0.625rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-rating-row-target :where(.wc-block-components-product-rating, .wp-block-woocommerce-product-rating) {
    margin: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-rating-row-target p,
body.single-product .sn-pdp-hero .sn-pdp-rating-row-target a,
body.single-product .sn-pdp-hero .sn-pdp-rating-row-target span {
    color: #4b4b4b;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-rating-row-target p {
    margin: 0 0 0 0.625rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-intro {
    border: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 1.5rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-intro-copy {
    color: #686868 !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    max-width: 22.5rem;
}

body.single-product .sn-pdp-hero .sn-pdp-read-more {
    color: #000 !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    margin-top: 0.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-item-line {
    color: #7a7a7a !important;
    display: none;
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line {
    align-items: center;
    color: #000;
    display: flex;
    font-size: 0.8125rem;
    font-weight: 700;
    gap: 0.5rem;
    line-height: 1rem;
    margin: 1.5rem 0 2rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line span {
    border: 0.0625rem solid currentColor;
    border-radius: 50%;
    height: 0.875rem;
    position: relative;
    width: 0.875rem;
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line span::before {
    content: "!";
    font-size: 0.625rem;
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -52%);
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line.is-out-of-stock {
    color: #a40000;
}

body.single-product .sn-pdp-hero .sn-pdp-attribute-wrap {
    box-shadow: inset 0 0.0625rem #d1d1d1;
    margin-top: 0 !important;
    padding-top: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-attribute-line {
    border: 0 !important;
    color: #000 !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-swatch-row {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.875rem;
}

body.single-product .sn-pdp-hero .sn-pdp-swatch {
    background: var(--sn-swatch, #bbb);
    border-radius: 50%;
    box-shadow: none;
    display: inline-block;
    height: 1.25rem;
    position: relative;
    width: 1.25rem;
}

body.single-product .sn-pdp-hero .sn-pdp-swatch::after {
    background: rgba(255, 255, 255, 0.45);
    content: "";
    height: 150%;
    left: 50%;
    position: absolute;
    top: -25%;
    transform: rotate(45deg);
    width: 0.25rem;
}

body.single-product .sn-pdp-hero .sn-pdp-swatch.is-active {
    outline: 0.0625rem solid #000;
    outline-offset: 0.1875rem;
}

body.single-product .sn-pdp-hero .sn-pdp-price-main {
    display: block;
    margin: 2.25rem 0 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-price-main,
body.single-product .sn-pdp-hero .sn-pdp-price-main :where(.amount, bdi) {
    color: #000 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-purchase {
    border: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 1rem !important;
}

body.single-product .sn-pdp-hero .wp-block-add-to-cart-with-options {
    border: 0 !important;
}

body.single-product .sn-pdp-hero .wp-block-add-to-cart-with-options > .wp-block-group {
    display: grid !important;
    gap: 0.75rem !important;
    grid-template-columns: 1fr !important;
    max-width: 9.5rem;
}

body.single-product .sn-pdp-hero .wc-block-components-quantity-selector,
body.single-product .sn-pdp-hero .quantity {
    display: none !important;
}

body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button button,
body.single-product .sn-pdp-hero .single_add_to_cart_button,
body.single-product .sn-pdp-hero button[type="submit"] {
    background: #000 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    min-width: 6.25rem !important;
    padding: 0 1.25rem !important;
    text-transform: none !important;
}

body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button button:hover,
body.single-product .sn-pdp-hero .single_add_to_cart_button:hover,
body.single-product .sn-pdp-hero button[type="submit"]:hover {
    background: #333 !important;
    color: #fff !important;
}

body.single-product .sn-pdp-hero .sn-pdp-finance-note,
body.single-product .sn-pdp-hero .sn-pdp-referral-note {
    color: #5c5c5c !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-finance-note {
    margin: 1.25rem 0 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-finance-note span {
    background: #ebe9ff;
    border-radius: 0.25rem;
    color: #5c4ce3;
    font-weight: 700;
    padding: 0.0625rem 0.3125rem;
}

body.single-product .sn-pdp-hero .sn-pdp-finance-note a {
    color: inherit;
    text-decoration: underline;
}

body.single-product .sn-pdp-hero .sn-pdp-referral-note {
    margin: 0 0 1.25rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-warranty-line {
    border: 0 !important;
    box-shadow: inset 0 0.0625rem #d1d1d1;
    color: #6c6c6c !important;
    display: flex;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    justify-content: center;
    line-height: 1rem !important;
    margin: 0 !important;
    padding-bottom: 1.75rem !important;
    padding-top: 1.75rem !important;
    text-align: center;
}

body.single-product .sn-pdp-hero .sn-pdp-warranty-line > span {
    display: none;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordions {
    margin-top: 0.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion {
    border: 0 !important;
    box-shadow: inset 0 0.0625rem #d1d1d1;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion:last-child {
    box-shadow: inset 0 0.0625rem #d1d1d1, inset 0 -0.0625rem #d1d1d1;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion summary {
    align-items: center;
    color: #000;
    cursor: pointer;
    display: flex;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    justify-content: space-between;
    line-height: 1.25rem;
    list-style: none;
    min-height: 3.25rem;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion summary::-webkit-details-marker {
    display: none;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion summary::after {
    border-bottom: 0.0625rem solid #000;
    border-right: 0.0625rem solid #000;
    content: "";
    height: 0.4375rem;
    transform: rotate(45deg);
    transition: transform 180ms var(--sn-ease-tight, ease);
    width: 0.4375rem;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion[open] summary::after {
    transform: rotate(225deg);
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion p {
    color: #686868;
    font-size: 0.8125rem;
    line-height: 1.25rem;
    margin: 0;
    padding: 0 0 1rem;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-hero.wp-block-columns {
        grid-template-columns: 1fr !important;
        max-width: 42rem !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
        grid-template-columns: 1fr;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-rail {
        flex-direction: row;
        max-height: none;
        overflow-x: auto;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-thumb {
        flex: 0 0 3.875rem;
    }

    body.single-product .sn-pdp-hero .sn-pdp-favorite {
        top: 6.25rem;
    }
}

@media (max-width: 600px) {
    body.single-product .sn-pdp-hero.wp-block-columns {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-title {
        font-size: 1.125rem !important;
        line-height: 1.25rem !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video iframe,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video video,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video-shortcode,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .sn-pdp-video-link {
        min-height: 20rem !important;
    }
}

/* Product intro column: match SharkNinja PDP summary rhythm. */
body.single-product .sn-pdp-summary-column.wp-block-column,
body.single-product .sn-pdp-summary-column.is-layout-flow {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
}

body.single-product .sn-pdp-summary-column .sn-pdp-summary-card {
    border-color: #d1d1d1 !important;
    box-shadow: none !important;
    min-height: clamp(560px, 72vh, 760px);
}

body.single-product .sn-pdp-summary-column .sn-pdp-price-strip,
body.single-product .sn-pdp-summary-column .sn-pdp-title-panel,
body.single-product .sn-pdp-summary-column .sn-pdp-intro,
body.single-product .sn-pdp-summary-column .sn-pdp-detail-status,
body.single-product .sn-pdp-summary-column .sn-pdp-attribute-line,
body.single-product .sn-pdp-summary-column .sn-pdp-purchase,
body.single-product .sn-pdp-summary-column .sn-pdp-warranty-line,
body.single-product .sn-pdp-summary-column .sn-pdp-compare-help {
    margin: 0 !important;
    padding-left: clamp(1rem, 1.55vw, 1.5rem) !important;
    padding-right: clamp(1rem, 1.55vw, 1.5rem) !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-price-strip {
    align-items: center;
    border-bottom: 0.0625rem solid #d1d1d1;
    min-height: 4.125rem;
    padding-bottom: 0.75rem !important;
    padding-top: 0.75rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-price,
body.single-product .sn-pdp-summary-column .sn-pdp-price :where(.amount, bdi) {
    color: #000 !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-badges {
    align-items: center;
}

body.single-product .sn-pdp-summary-column .sn-pdp-kicker,
body.single-product .sn-pdp-summary-column .wp-block-woocommerce-product-sale-badge {
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    line-height: 1rem !important;
    padding: 0.3125rem 0.5rem !important;
    text-transform: none !important;
}

body.single-product .sn-pdp-summary-column .wp-block-woocommerce-product-sale-badge:empty {
    display: none !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-title-panel {
    border-bottom: 0;
    padding-bottom: 0.625rem !important;
    padding-top: 1rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-title {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: clamp(1.5rem, 2.05vw, 2rem) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    margin: 0 0 0.5rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-model-line,
body.single-product .sn-pdp-summary-column .sn-pdp-item-line,
body.single-product .sn-pdp-summary-column .sn-pdp-attribute-line {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-model-line,
body.single-product .sn-pdp-summary-column .sn-pdp-item-line {
    margin: 0;
}

body.single-product .sn-pdp-summary-column .sn-pdp-model-line span,
body.single-product .sn-pdp-summary-column .sn-pdp-item-line span,
body.single-product .sn-pdp-summary-column .sn-pdp-attribute-line span {
    font-weight: 400;
}

body.single-product .sn-pdp-summary-column .sn-pdp-model-line strong,
body.single-product .sn-pdp-summary-column .sn-pdp-item-line strong,
body.single-product .sn-pdp-summary-column .sn-pdp-attribute-line strong {
    font-weight: 700;
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding-bottom: 1rem !important;
    padding-top: 0.25rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro-copy {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.375rem;
    overflow: hidden;
    transition: max-height 220ms var(--sn-ease-tight, ease);
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro.is-collapsible:not(.is-expanded) .sn-pdp-intro-copy {
    max-height: 4.125rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro.is-expanded .sn-pdp-intro-copy,
body.single-product .sn-pdp-summary-column .sn-pdp-intro:not(.is-collapsible) .sn-pdp-intro-copy {
    max-height: 30rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro-copy p {
    margin: 0;
}

body.single-product .sn-pdp-summary-column .sn-pdp-read-more {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #000 !important;
    display: inline-flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1.25rem !important;
    margin: 0.5rem 0 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-decoration: underline;
    text-transform: none !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-read-more .sn-less-label,
body.single-product .sn-pdp-summary-column .sn-pdp-intro.is-expanded .sn-pdp-read-more .sn-more-label {
    display: none;
}

body.single-product .sn-pdp-summary-column .sn-pdp-intro.is-expanded .sn-pdp-read-more .sn-less-label {
    display: inline;
}

body.single-product .sn-pdp-summary-column .sn-pdp-detail-status {
    align-items: center;
    border-bottom: 0.0625rem solid #d1d1d1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 3.25rem;
    padding-bottom: 0.625rem !important;
    padding-top: 0.625rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-detail-status .wp-block-woocommerce-product-rating {
    justify-self: end;
    margin: 0 !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-attribute-line {
    border-bottom: 0.0625rem solid #d1d1d1;
    margin: 0 !important;
    padding-bottom: 0.875rem !important;
    padding-top: 0.875rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-purchase {
    border-bottom: 0.0625rem solid #d1d1d1;
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-quantity-label {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 0.75rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-total-row {
    border: 0;
    margin: 0 0 0.875rem !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-total-row p {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-transform: none;
}

body.single-product .sn-pdp-summary-column .wp-block-add-to-cart-with-options {
    border: 0 !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-summary-column .wp-block-add-to-cart-with-options > .wp-block-group {
    display: grid !important;
    gap: 0.75rem !important;
    grid-template-columns: minmax(5.5rem, 0.28fr) minmax(0, 1fr) !important;
}

body.single-product .sn-pdp-summary-column .wc-block-components-quantity-selector,
body.single-product .sn-pdp-summary-column .quantity {
    border: 0.0625rem solid #000 !important;
    border-radius: 0 !important;
    height: 3.125rem !important;
    min-height: 3.125rem !important;
}

body.single-product .sn-pdp-summary-column .wp-block-woocommerce-product-button button,
body.single-product .sn-pdp-summary-column .single_add_to_cart_button,
body.single-product .sn-pdp-summary-column button[type="submit"] {
    background: #000 !important;
    border: 0.0625rem solid #000 !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    height: 3.125rem !important;
    line-height: 1.25rem !important;
    min-height: 3.125rem !important;
    text-transform: uppercase !important;
}

body.single-product .sn-pdp-summary-column .wp-block-woocommerce-product-button button:hover,
body.single-product .sn-pdp-summary-column .single_add_to_cart_button:hover,
body.single-product .sn-pdp-summary-column button[type="submit"]:hover {
    background: #fff !important;
    color: #000 !important;
}

body.single-product .sn-pdp-summary-column .wc-block-add-to-cart-with-options-variation-selector-attribute,
body.single-product .sn-pdp-summary-column .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute {
    border-bottom: 0.0625rem solid #d1d1d1;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

body.single-product .sn-pdp-summary-column .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill,
body.single-product .sn-pdp-summary-column .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options button {
    background: #fff !important;
    border: 0.0625rem solid #8a8a8a !important;
    border-radius: 0 !important;
    color: #000 !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    min-height: 2.75rem !important;
    padding: 0.625rem 0.875rem !important;
}

body.single-product .sn-pdp-summary-column .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill[aria-checked="true"],
body.single-product .sn-pdp-summary-column .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options button[aria-checked="true"] {
    border-color: #000 !important;
    box-shadow: inset 0 0 0 0.125rem #000 !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-warranty-line {
    align-items: center;
    border-bottom: 0.0625rem solid #d1d1d1;
    color: #000;
    display: flex;
    font-size: 0.875rem;
    font-weight: 700;
    gap: 0.625rem;
    line-height: 1.25rem;
    padding-bottom: 0.875rem !important;
    padding-top: 0.875rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-warranty-line > span {
    border: 0.125rem solid #000;
    border-radius: 50%;
    flex: 0 0 1.25rem;
    height: 1.25rem;
    position: relative;
    width: 1.25rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-warranty-line > span::before {
    content: "";
    border-bottom: 0.125rem solid #000;
    border-right: 0.125rem solid #000;
    height: 0.45rem;
    left: 0.38rem;
    position: absolute;
    top: 0.22rem;
    transform: rotate(45deg);
    width: 0.25rem;
}

body.single-product .sn-pdp-summary-column .sn-pdp-compare-help {
    background: #f5f5f5;
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
}

body.single-product .sn-pdp-summary-column .sn-pdp-compare-help h3 {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0 0 0.25rem;
    text-transform: none;
}

body.single-product .sn-pdp-summary-column .sn-pdp-compare-help p {
    color: #000;
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin: 0;
}

body.single-product .sn-pdp-summary-column .sn-pdp-compare-help a {
    color: #000;
    font-weight: 700;
    text-decoration: underline;
}

@media (max-width: 700px) {
    body.single-product .sn-pdp-summary-column .sn-pdp-detail-status,
    body.single-product .sn-pdp-summary-column .wp-block-add-to-cart-with-options > .wp-block-group {
        grid-template-columns: 1fr !important;
    }

    body.single-product .sn-pdp-summary-column .sn-pdp-detail-status .wp-block-woocommerce-product-rating {
        justify-self: start;
    }
}

/* Final PDP pass: keep the header in page flow and match the screenshot hero. */
body.single-product .sn-promo-bar {
    left: auto !important;
    position: sticky !important;
    right: auto !important;
    top: 0;
    transform: translateY(0);
    width: 100%;
    z-index: 980;
}

body.single-product.admin-bar .sn-promo-bar {
    top: 32px;
}

body.single-product .sn-header-shell {
    background: #fff !important;
    border-bottom: 1px solid #d8d8d8 !important;
    box-shadow: none;
    color: #111 !important;
    left: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: sticky !important;
    right: auto !important;
    top: var(--sn-fixed-promo-height, 36px);
    transform: translateY(0);
    width: 100%;
    z-index: 970;
}

body.single-product.admin-bar .sn-header-shell {
    top: calc(var(--sn-fixed-promo-height, 36px) + 32px);
}

body.single-product main,
body.single-product main.sn-pdp-main {
    padding-top: 0 !important;
}

body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-promo-bar {
    transform: translateY(-100%) !important;
}

body.single-product.sn-scroll-down:not(.sn-mega-open):not(.sn-search-open):not(.sn-menu-open) .sn-header-shell {
    transform: translateY(calc(-1 * var(--sn-fixed-promo-height, 36px))) !important;
}

body.single-product.sn-scroll-up .sn-promo-bar,
body.single-product.sn-scroll-up .sn-header-shell,
body.single-product.sn-header-at-top .sn-promo-bar,
body.single-product.sn-header-at-top .sn-header-shell,
body.single-product.sn-mega-open .sn-promo-bar,
body.single-product.sn-mega-open .sn-header-shell,
body.single-product.sn-search-open .sn-promo-bar,
body.single-product.sn-search-open .sn-header-shell,
body.single-product.sn-menu-open .sn-promo-bar,
body.single-product.sn-menu-open .sn-header-shell {
    transform: translateY(0) !important;
}

body.single-product .sn-mega-panel {
    max-height: min(31rem, calc(100vh - var(--sn-fixed-stack-height, 108px) - 1rem));
    overflow-y: auto;
    overscroll-behavior: contain;
}

body.single-product .sn-search-overlay,
body.single-product .sn-mobile-drawer {
    bottom: 0;
    top: var(--sn-fixed-stack-height, 108px);
}

body.single-product.admin-bar .sn-search-overlay,
body.single-product.admin-bar .sn-mobile-drawer {
    top: calc(var(--sn-fixed-stack-height, 108px) + 32px);
}

body.single-product .sn-mobile-drawer-panel {
    height: calc(100dvh - var(--sn-fixed-stack-height, 108px));
}

body.single-product.admin-bar .sn-mobile-drawer-panel {
    height: calc(100dvh - var(--sn-fixed-stack-height, 108px) - 32px);
}

body.single-product .sn-pdp-breadcrumb {
    display: none !important;
}

body.single-product .sn-pdp-shell {
    background: #fff !important;
    padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

body.single-product .sn-pdp-hero.wp-block-columns {
    column-gap: clamp(2.5rem, 5.4vw, 4.75rem) !important;
    grid-template-columns: minmax(0, 1.62fr) minmax(18.75rem, 0.9fr) !important;
    max-width: 71.5rem !important;
    padding: clamp(2.75rem, 5vw, 3.75rem) 1rem 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media {
    max-width: 39.5rem;
}

body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
    gap: 1rem;
    grid-template-columns: 4rem minmax(0, 1fr);
}

body.single-product .sn-pdp-hero .sn-pdp-media-rail {
    gap: 0.875rem;
    max-height: none;
    overflow: visible;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb {
    background: #f6f6f6 !important;
    border: 0 !important;
    border-radius: 0.25rem !important;
    box-shadow: none !important;
    height: 4rem !important;
    min-height: 4rem !important;
    padding: 0 !important;
    width: 4rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb img {
    border-radius: 0.25rem;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body.single-product .sn-pdp-hero .sn-pdp-media-thumb.is-active,
body.single-product .sn-pdp-hero .sn-pdp-media-thumb:hover,
body.single-product .sn-pdp-hero .sn-pdp-media-thumb:focus-visible {
    outline: 0.125rem solid #000 !important;
    outline-offset: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-stage {
    border-radius: 0.625rem;
    position: relative;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel[hidden] {
    display: none !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel.is-active {
    animation: snPdpMediaFade 180ms ease-out;
}

@keyframes snPdpMediaFade {
    from {
        opacity: 0.72;
        transform: scale(0.992);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel-image img {
    aspect-ratio: 1 / 1;
    border-radius: 0.625rem !important;
    box-shadow: none !important;
    object-fit: cover;
}

body.single-product .sn-pdp-hero .sn-pdp-media-arrow {
    border-radius: 0.125rem !important;
    height: 1.875rem !important;
    min-height: 1.875rem !important;
    min-width: 1.875rem !important;
    transition: background-color 160ms var(--sn-ease-tight, ease), opacity 160ms var(--sn-ease-tight, ease);
    width: 1.875rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-arrow:hover {
    background: #333 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-summary-column {
    max-width: 22.25rem;
}

body.single-product .sn-pdp-hero .sn-pdp-summary-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-topline {
    align-items: center;
    min-height: 1.5rem;
}

body.single-product .sn-pdp-hero .sn-pdp-kicker {
    border-radius: 0.125rem !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-title {
    font-size: 1.25rem !important;
    line-height: 1.22 !important;
    margin-bottom: 0.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-model-line,
body.single-product .sn-pdp-hero .sn-pdp-rating-row-target :where(p, a, span),
body.single-product .sn-pdp-hero .sn-pdp-finance-note,
body.single-product .sn-pdp-hero .sn-pdp-referral-note,
body.single-product .sn-pdp-hero .sn-pdp-warranty-line {
    letter-spacing: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-intro {
    padding-top: 1.35rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-intro-copy {
    color: #686868 !important;
    max-width: 21.75rem;
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line {
    margin-bottom: 2.05rem !important;
    margin-top: 1.55rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-attribute-wrap,
body.single-product .sn-pdp-hero .sn-pdp-warranty-line,
body.single-product .sn-pdp-hero .sn-pdp-hero-accordion {
    box-shadow: inset 0 0.0625rem #d1d1d1 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-price-main {
    margin-top: 2.35rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-purchase {
    padding-top: 0.85rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-finance-note {
    margin-top: 1.1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordions {
    margin-top: 0.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion summary {
    min-height: 3.25rem;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-hero.wp-block-columns {
        gap: 2rem !important;
        grid-template-columns: 1fr !important;
        max-width: 42rem !important;
        padding-top: 2rem !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media,
    body.single-product .sn-pdp-hero .sn-pdp-summary-column {
        max-width: none;
    }

    body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
        grid-template-columns: 1fr;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-rail {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }
}

@media (max-width: 600px) {
    body.single-product.admin-bar .sn-promo-bar {
        top: 46px;
    }

    body.single-product.admin-bar .sn-header-shell {
        top: calc(var(--sn-fixed-promo-height, 34px) + 46px);
    }

    body.single-product.admin-bar .sn-search-overlay,
    body.single-product.admin-bar .sn-mobile-drawer {
        top: calc(var(--sn-fixed-stack-height, 96px) + 46px);
    }

    body.single-product.admin-bar .sn-mobile-drawer-panel {
        height: calc(100dvh - var(--sn-fixed-stack-height, 96px) - 46px);
    }

    body.single-product .sn-pdp-hero.wp-block-columns {
        padding-left: 0.875rem !important;
        padding-right: 0.875rem !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-thumb {
        flex: 0 0 3.75rem;
        height: 3.75rem !important;
        min-height: 3.75rem !important;
        width: 3.75rem !important;
    }
}

/* PDP sizing pass: 1920px screens leave 440px gutters, with 400x600 media. */
body.single-product .sn-pdp-main {
    --sn-pdp-reference-width: 65rem;
    --sn-pdp-main-media-width: 25rem;
    --sn-pdp-main-media-height: 37.5rem;
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
}

body.single-product .sn-pdp-hero.wp-block-columns,
body.single-product .sn-pdp-section > .alignwide,
body.single-product .sn-pdp-section > .wp-block-columns,
body.single-product .sn-pdp-section > .wp-block-group,
body.single-product .sn-pdp-related.alignwide {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--sn-pdp-reference-width) !important;
    width: min(100%, calc(100vw - 2rem)) !important;
}

body.single-product .sn-pdp-hero.wp-block-columns {
    column-gap: clamp(3rem, 10.625vw, 12.75rem) !important;
    grid-template-columns: 30rem minmax(20rem, 22rem) !important;
    justify-content: space-between;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media {
    max-width: 30rem !important;
    width: 30rem;
}

body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
    align-items: start;
    grid-template-columns: 4rem var(--sn-pdp-main-media-width);
    width: 30rem;
}

body.single-product .sn-pdp-hero .sn-pdp-media-stage,
body.single-product .sn-pdp-hero .sn-pdp-media-panel,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-inner {
    height: var(--sn-pdp-main-media-height);
    max-height: var(--sn-pdp-main-media-height);
    max-width: var(--sn-pdp-main-media-width);
    min-height: var(--sn-pdp-main-media-height);
    width: var(--sn-pdp-main-media-width);
}

body.single-product .sn-pdp-hero .sn-pdp-media-panel-image img,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video iframe,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video video,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video-shortcode,
body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .sn-pdp-video-link {
    aspect-ratio: auto !important;
    display: block;
    height: var(--sn-pdp-main-media-height) !important;
    max-height: var(--sn-pdp-main-media-height) !important;
    max-width: var(--sn-pdp-main-media-width) !important;
    min-height: var(--sn-pdp-main-media-height) !important;
    object-fit: cover;
    width: var(--sn-pdp-main-media-width) !important;
}

body.single-product .sn-pdp-hero .sn-pdp-media-arrow {
    top: 50%;
}

body.single-product .sn-pdp-hero .sn-pdp-summary-column {
    max-width: 22rem !important;
    width: 22rem;
}

body.single-product .sn-pdp-hero .sn-pdp-summary-card {
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
}

body.single-product .sn-pdp-hero .sn-pdp-kicker {
    background: #d8efe3 !important;
    border: 0.0625rem solid #b7dcc9 !important;
    border-radius: 0.25rem !important;
    color: #4f8067 !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1rem !important;
    padding: 0.1875rem 0.5rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-title {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.25rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-model-line {
    color: #777 !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-intro-copy {
    color: #686868 !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.25rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-read-more {
    color: #000 !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1rem !important;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
}

body.single-product .sn-pdp-hero .sn-pdp-stock-line {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-attribute-line,
body.single-product .sn-pdp-hero .sn-pdp-finance-note,
body.single-product .sn-pdp-hero .sn-pdp-referral-note,
body.single-product .sn-pdp-hero .sn-pdp-warranty-line,
body.single-product .sn-pdp-hero .sn-pdp-hero-accordion p {
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-price-main,
body.single-product .sn-pdp-hero .sn-pdp-price-main :where(.amount, bdi) {
    color: #000 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-purchase,
body.single-product .sn-pdp-hero .sn-pdp-purchase .wp-block-add-to-cart-with-options,
body.single-product .sn-pdp-hero .sn-pdp-purchase form.cart {
    display: block !important;
    margin: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.single-product .sn-pdp-hero .wp-block-add-to-cart-with-options > .wp-block-group,
body.single-product .sn-pdp-hero .sn-pdp-purchase form.cart {
    display: block !important;
    max-width: none !important;
}

body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button,
body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button > div {
    display: inline-flex !important;
}

body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button button,
body.single-product .sn-pdp-hero .single_add_to_cart_button,
body.single-product .sn-pdp-hero button[type="submit"],
body.single-product .sn-pdp-hero .sn-pdp-notify-button {
    align-items: center !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    height: 2.375rem !important;
    justify-content: center !important;
    line-height: 1rem !important;
    min-height: 2.375rem !important;
    min-width: 5.25rem !important;
    padding: 0 1.125rem !important;
    text-transform: none !important;
    width: auto !important;
}

body.single-product .sn-pdp-hero .wp-block-woocommerce-product-button button:hover,
body.single-product .sn-pdp-hero .single_add_to_cart_button:hover,
body.single-product .sn-pdp-hero button[type="submit"]:hover,
body.single-product .sn-pdp-hero .sn-pdp-notify-button:hover,
body.single-product .sn-sticky-cart button:hover {
    background: #222 !important;
    color: #fff !important;
}

body.single-product .sn-pdp-hero .sn-pdp-hero-accordion summary {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.25rem;
}

body.single-product .sn-sticky-cart {
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
}

body.single-product .sn-sticky-cart button {
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 700;
    min-height: 2.375rem;
    min-width: 5.25rem;
    padding: 0 1.125rem;
    text-transform: none;
}

@media (max-width: 1180px) {
    body.single-product .sn-pdp-hero.wp-block-columns {
        column-gap: 3rem !important;
        max-width: calc(100vw - 2rem) !important;
    }
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-hero.wp-block-columns {
        grid-template-columns: 1fr !important;
        justify-content: start;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media,
    body.single-product .sn-pdp-hero .sn-pdp-custom-gallery {
        max-width: 100% !important;
        width: 100%;
    }

    body.single-product .sn-pdp-hero .sn-pdp-media-stage,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-inner,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-image img,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video iframe,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video video,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .wp-video-shortcode,
    body.single-product .sn-pdp-hero .sn-pdp-media-panel-video .sn-pdp-video-link {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.single-product .sn-pdp-hero .sn-pdp-summary-column {
        max-width: 100% !important;
        width: 100%;
    }
}

@media (max-width: 600px) {
    body.single-product .sn-pdp-main {
        --sn-pdp-main-media-height: 31rem;
    }
}

/* PDP final alignment: keep the reused home benefits module on the PDP 1040px rail. */
body.single-product .sn-pdp-main > .sn-why-buy.alignfull,
body.single-product .sn-pdp-main > .sn-why-buy {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--sn-pdp-reference-width, 65rem) !important;
    width: min(100%, calc(100vw - 2rem)) !important;
}

body.single-product .sn-pdp-main > .sn-why-buy .sn-home-section-head,
body.single-product .sn-pdp-main > .sn-why-buy .sn-benefit-grid {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (min-width: 1100.01px) {
    body.single-product .sn-pdp-official-carousel .sn-pdp-carousel-arrow {
        display: flex !important;
        pointer-events: auto;
        visibility: visible;
    }
}

@media (max-width: 760px) {
    body.single-product .sn-pdp-main > .sn-why-buy.alignfull,
    body.single-product .sn-pdp-main > .sn-why-buy {
        width: min(100%, calc(100vw - 1.5rem)) !important;
    }
}

/* PDP official Highlights: mirror SharkNinja 3-up carousel spacing and controls. */
body.single-product .sn-pdp-section.sn-pdp-official-highlights {
    background: #f6f6f6 !important;
    background-color: #f6f6f6 !important;
    padding: 0 0 1.5rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-container {
    max-width: var(--sn-pdp-reference-width, 65rem) !important;
    width: min(100%, calc(100vw - 2rem)) !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading {
    margin: 0 auto 1.5rem !important;
    max-width: 39.125rem !important;
    padding: 1.5rem 0 0 !important;
    text-align: center !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading h2 {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: 2rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 2.25rem !important;
    margin: 0 auto 1rem !important;
    max-width: 39.125rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading p {
    color: #454545 !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.375rem !important;
    margin: 0 auto 0.5rem !important;
    max-width: 39.125rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-carousel {
    overflow: visible !important;
    padding: 0 0 3.75rem !important;
    position: relative;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-track {
    gap: 1.5rem !important;
    overflow-x: auto;
    padding: 0 !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card {
    background: transparent !important;
    display: flex;
    flex: 0 0 calc((100% - 3rem) / 3) !important;
    flex-direction: column;
    justify-content: flex-start;
    max-width: calc((100% - 3rem) / 3) !important;
    padding: 0 !important;
    scroll-snap-align: start;
    width: calc((100% - 3rem) / 3) !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card figure {
    aspect-ratio: 4 / 3 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 1rem !important;
    flex: 0 0 auto;
    margin: 0 0 1.5rem !important;
    overflow: hidden;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card img,
body.single-product .sn-pdp-official-highlights .sn-pdp-official-card video {
    aspect-ratio: 4 / 3 !important;
    border-radius: 1rem !important;
    display: block;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card-copy {
    padding: 0 !important;
    text-align: left !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card-copy h3 {
    color: #000 !important;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1.5rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.75rem !important;
    margin: 0 0 0.5rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-official-card-copy p {
    color: #000 !important;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.375rem !important;
    margin: 0 !important;
    max-width: none !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-dots {
    align-items: center !important;
    bottom: 1.25rem;
    display: flex !important;
    gap: 0.25rem !important;
    justify-content: center !important;
    left: 0;
    min-height: 1.25rem;
    position: absolute;
    right: 0;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-dots button {
    background: #888 !important;
    border: 0 !important;
    border-radius: 50% !important;
    height: 0.25rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 0.25rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-dots button.is-active,
body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-dots button[aria-current="true"] {
    background: #000 !important;
    height: 0.75rem !important;
    position: relative;
    top: -0.25rem;
    width: 0.75rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-arrow {
    align-items: center;
    background: transparent !important;
    border: 0.0625rem solid #000 !important;
    border-radius: 1rem !important;
    bottom: 0.875rem;
    box-shadow: none !important;
    display: flex !important;
    height: 2rem !important;
    justify-content: center;
    padding: 0 !important;
    top: auto !important;
    transform: none !important;
    visibility: visible;
    width: 2rem !important;
    z-index: 9;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-arrow:hover {
    background-color: #f6f6f6 !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-arrow:active {
    background-color: #e7e7e7 !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-arrow::before {
    background: transparent url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.84 9.43c.16.15.24.36.24.57s-.08.41-.24.56l-5.73 5.47a.76.76 0 0 1-1.1-.02.76.76 0 0 1 .03-1.1l4.31-4.13H3.28a.78.78 0 0 1 0-1.56h11.07l-4.32-4.12a.76.76 0 0 1-.02-1.1.76.76 0 0 1 1.1-.03l5.73 5.47Z' fill='%23000'/%3E%3C/svg%3E") center / 1.25rem 1.25rem no-repeat;
    border: 0 !important;
    content: "";
    height: 1.25rem;
    margin: 0 !important;
    transform: none !important;
    width: 1.25rem;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-prev {
    left: auto !important;
    right: 4.0625rem !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-prev::before {
    transform: rotate(180deg) !important;
}

body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-next {
    right: 0.9375rem !important;
}

@media (max-width: 1199.98px) {
    body.single-product .sn-pdp-official-highlights .sn-pdp-official-container {
        width: min(100%, calc(100vw - 1.5rem)) !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading {
        margin-bottom: 1rem !important;
        padding: 1.5rem 0.25rem 0 !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading h2 {
        margin-bottom: 0.75rem !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-heading p {
        margin-bottom: 0.25rem !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-track {
        gap: 0 !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-official-card figure {
        margin-bottom: 1rem !important;
    }

    body.single-product .sn-pdp-official-highlights .sn-pdp-carousel-arrow {
        display: none !important;
        pointer-events: none;
        visibility: hidden;
    }
}

/* PDP sticky Highlights/Reviews tabs: keep official centered pill layout. */
body.single-product .sn-pdp-anchor-nav .jump-links {
    gap: 0.75rem !important;
    justify-content: center !important;
}

body.single-product .sn-pdp-anchor-nav a.tab,
body.single-product .sn-pdp-anchor-nav a.tab:first-child,
body.single-product .sn-pdp-anchor-nav a:first-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.single-product .sn-pdp-reviews-anchor {
    background: transparent !important;
    background-color: transparent !important;
    box-sizing: border-box;
    height: 2rem;
    margin: 0 !important;
    min-height: 2rem;
    overflow: hidden;
    padding: 0 !important;
    scroll-margin-top: calc(var(--sn-pdp-sticky-top, 0px) + 4.5rem);
}

/* PDP Bazaarvoice/Curalate social module above Highlights/Reviews. */
body.single-product .sn-pdp-tech-trending.alignfull {
    background: transparent !important;
    background-color: transparent !important;
    box-sizing: border-box;
    left: auto !important;
    margin: 0 !important;
    max-width: none !important;
    overflow: hidden;
    padding: 0 !important;
    width: 100% !important;
}

body.single-product .sn-pdp-tech-trending .bazaar-voice-content {
    background: transparent !important;
    min-height: 13.5rem;
    width: 100%;
}

/* PDP final owner/benefits alignment tweaks. */
body.single-product .sn-pdp-main > .sn-why-buy.alignfull,
body.single-product .sn-pdp-main > .sn-why-buy,
body.single-product .sn-pdp-main > .sn-why-buy .sn-home-section-head,
body.single-product .sn-pdp-main > .sn-why-buy .sn-benefit-grid,
body.single-product .sn-pdp-main > .sn-why-buy .sn-benefit-card {
    background: transparent !important;
    background-color: transparent !important;
}

body.single-product .sn-pdp-owner-copy {
    align-items: flex-start !important;
    padding-left: clamp(2rem, 3vw, 3.5rem) !important;
    padding-right: clamp(2.5rem, 5vw, 5rem) !important;
    text-align: left !important;
}

body.single-product .sn-pdp-owner-copy h2,
body.single-product .sn-pdp-owner-links {
    margin-left: 0 !important;
    margin-right: auto !important;
}

body.single-product .sn-pdp-owner-links {
    max-width: 31.25rem !important;
}

body.single-product .sn-pdp-owner-copy,
body.single-product .sn-pdp-owner-copy :where(h2, div, a, span) {
    text-align: left !important;
}

body.single-product .sn-pdp-owner-copy h2,
body.single-product .sn-pdp-owner-links {
    align-self: flex-start !important;
    width: 100% !important;
}

body.single-product .sn-pdp-owner-links a {
    justify-content: flex-start !important;
    text-align: left !important;
}

@media (max-width: 760px) {
    body.single-product .sn-pdp-owner-copy {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    body.single-product .sn-pdp-owner-links {
        max-width: none !important;
    }
}

/* PDP recommendation rail and official-style bottom purchase bar. */
body.single-product .sn-pdp-section.sn-pdp-recommendations {
    background: #fff !important;
    background-color: #fff !important;
    padding: clamp(3rem, 5vw, 5rem) 0 !important;
}

body.single-product .sn-pdp-recommendations-inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: var(--sn-pdp-reference-width, 65rem);
    width: min(100%, calc(100vw - 2rem));
}

body.single-product .sn-pdp-recommendations-head {
    align-items: end;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

body.single-product .sn-pdp-recommendations-head p {
    color: #4f8067;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
}

body.single-product .sn-pdp-recommendations-head h2 {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.14;
    margin: 0;
}

body.single-product .sn-pdp-recommendations-track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 0 0.75rem;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

body.single-product .sn-pdp-recommendations-track::-webkit-scrollbar {
    display: none;
}

body.single-product .sn-pdp-recommendation-card {
    flex: 0 0 calc((100% - 3.75rem) / 4);
    min-width: 0;
    scroll-snap-align: start;
}

body.single-product .sn-pdp-recommendation-media {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: #f6f6f6;
    border-radius: 1rem;
    display: flex;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

body.single-product .sn-pdp-recommendation-media img {
    display: block;
    height: 100%;
    object-fit: contain;
    padding: 1.25rem;
    transition: transform 220ms var(--sn-ease-tight, ease);
    width: 100%;
}

body.single-product .sn-pdp-recommendation-card:hover .sn-pdp-recommendation-media img,
body.single-product .sn-pdp-recommendation-card:focus-within .sn-pdp-recommendation-media img {
    transform: scale(1.035);
}

body.single-product .sn-pdp-recommendation-copy {
    padding-top: 1rem;
}

body.single-product .sn-pdp-recommendation-copy span {
    background: #d8efe3;
    border: 0.0625rem solid #b7dcc9;
    border-radius: 0.25rem;
    color: #4f8067;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    margin-bottom: 0.625rem;
    padding: 0.1875rem 0.5rem;
}

body.single-product .sn-pdp-recommendation-copy h3 {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25rem;
    margin: 0 0 0.5rem;
    text-transform: none;
}

body.single-product .sn-pdp-recommendation-copy h3 a {
    color: inherit;
    text-decoration: none;
}

body.single-product .sn-pdp-recommendation-copy h3 a:hover,
body.single-product .sn-pdp-recommendation-copy h3 a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.125rem;
}

body.single-product .sn-pdp-recommendation-copy p {
    color: #000;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.25rem;
    margin: 0;
}

body.single-product .sn-sticky-cart {
    background: #fff !important;
    border-top: 0.0625rem solid #d1d1d1 !important;
    box-shadow: 0 -0.5rem 1.5rem rgba(0, 0, 0, 0.12) !important;
    box-sizing: border-box;
    display: block !important;
    padding: 0.625rem 1rem calc(0.625rem + env(safe-area-inset-bottom)) !important;
    z-index: 1500;
}

body.single-product .sn-sticky-cart-inner {
    align-items: center;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0 auto;
    max-width: var(--sn-pdp-reference-width, 65rem);
    width: min(100%, calc(100vw - 2rem));
}

body.single-product .sn-sticky-cart-product {
    align-items: center;
    display: flex;
    gap: 0.875rem;
    min-width: 0;
}

body.single-product .sn-sticky-cart-thumb {
    align-items: center;
    background: #f6f6f6;
    border-radius: 0.375rem;
    display: flex !important;
    flex: 0 0 3.5rem;
    height: 3.5rem;
    justify-content: center;
    margin: 0 !important;
    overflow: hidden;
    width: 3.5rem;
}

body.single-product .sn-sticky-cart-thumb img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

body.single-product .sn-sticky-cart-copy {
    min-width: 0;
}

body.single-product .sn-sticky-cart strong {
    color: #000;
    display: block;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.125rem;
    max-width: 34rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .sn-sticky-cart-model {
    color: #686868 !important;
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    line-height: 1rem !important;
    margin: 0.125rem 0 0 !important;
}

body.single-product .sn-sticky-cart-actions {
    align-items: center;
    display: flex;
    gap: 1rem;
}

body.single-product .sn-sticky-cart-price {
    color: #000 !important;
    display: block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.25rem !important;
    margin: 0 !important;
    white-space: nowrap;
}

body.single-product .sn-sticky-cart button {
    align-items: center;
    background: #000 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    height: 2.375rem !important;
    justify-content: center;
    line-height: 1rem !important;
    min-height: 2.375rem !important;
    min-width: 5.75rem !important;
    padding: 0 1.125rem !important;
    text-transform: none !important;
}

body.single-product .sn-pdp-section.sn-pdp-direct-benefits {
    background: #fff !important;
    background-color: #fff !important;
}

body.single-product .sn-pdp-main > .sn-why-buy {
    padding-bottom: clamp(3.25rem, 5vw, 5rem) !important;
    padding-top: clamp(3.25rem, 5vw, 5rem) !important;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-recommendation-card {
        flex-basis: min(18rem, 72vw);
    }
}

@media (max-width: 700px) {
    body.single-product .sn-pdp-recommendations-inner,
    body.single-product .sn-sticky-cart-inner {
        width: min(100%, calc(100vw - 1.5rem));
    }

    body.single-product .sn-pdp-recommendations-head {
        display: block;
    }

    body.single-product .sn-pdp-recommendation-card {
        flex-basis: 78vw;
    }

    body.single-product .sn-sticky-cart {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    body.single-product .sn-sticky-cart-inner {
        gap: 0.625rem;
        grid-template-columns: 1fr;
    }

    body.single-product .sn-sticky-cart-actions {
        justify-content: space-between;
        width: 100%;
    }

    body.single-product .sn-sticky-cart strong {
        max-width: calc(100vw - 7rem);
    }

    body.single-product .sn-sticky-cart button {
        flex: 0 0 auto;
        width: auto !important;
    }
}

/* Local route pages */
.sn-route-main {
    background: #fff;
    color: #111;
}

.sn-route-hero {
    background: #f4f5f2;
    border-bottom: 0.0625rem solid #deded8;
}

.sn-route-hero-inner {
    max-width: 82rem;
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 4vw, 3rem);
}

.sn-route-eyebrow,
.sn-route-kicker,
.sn-route-section-head p {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sn-route-hero h1 {
    max-width: 52rem;
    margin: 0;
    font-size: clamp(2.25rem, 6vw, 4.75rem);
    line-height: 0.98;
    letter-spacing: 0;
}

.sn-route-hero p:not(.sn-route-eyebrow) {
    max-width: 45rem;
    margin: 1rem 0 0;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5;
}

.sn-route-hero-actions,
.sn-route-crosslinks,
.sn-route-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sn-route-hero-actions {
    margin-top: 1.5rem;
}

.sn-route-hero-actions a,
.sn-route-action-panel button {
    display: inline-flex;
    min-height: 2.875rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid #111;
    border-radius: 0;
    background: #111;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    padding: 0.875rem 1.25rem;
    text-decoration: none;
}

.sn-route-hero-actions a + a {
    background: transparent;
    color: #111;
}

.sn-route-subnav {
    max-width: 82rem;
    margin: 0 auto;
    padding: 1rem clamp(1.25rem, 4vw, 3rem);
    border-bottom: 0.0625rem solid #ebebe6;
}

.sn-route-subnav a,
.sn-route-crosslinks a {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    border: 0.0625rem solid #c9c9c1;
    background: #fff;
    color: #111;
    font-weight: 700;
    padding: 0.625rem 0.875rem;
    text-decoration: none;
}

.sn-route-products,
.sn-route-info-grid,
.sn-route-feature-grid,
.sn-route-recipe,
.sn-route-action-panel,
.sn-route-crosslinks {
    max-width: 82rem;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3rem);
}

.sn-route-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.sn-route-section-head h2 {
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: 0;
}

.sn-route-product-grid,
.sn-route-info-grid,
.sn-route-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.sn-route-product-card,
.sn-route-info-grid article,
.sn-route-feature-card,
.sn-route-empty,
.sn-route-action-panel {
    border: 0.0625rem solid #deded8;
    background: #fff;
}

.sn-route-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.sn-route-product-media {
    display: flex;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    background: #f6f6f6;
}

.sn-route-product-media img,
.sn-route-feature-card img,
.sn-route-recipe img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sn-route-product-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
}

.sn-route-badge {
    width: fit-content;
    background: #e9ece7;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.375rem 0.5rem;
}

.sn-route-product-card h3,
.sn-route-info-grid h2,
.sn-route-feature-card h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0;
}

.sn-route-product-card h3 a,
.sn-route-feature-card a {
    color: inherit;
    text-decoration: none;
}

.sn-route-product-meta,
.sn-route-product-price,
.sn-route-info-grid p,
.sn-route-action-panel label,
.sn-route-recipe p,
.sn-route-recipe li {
    margin: 0;
    color: #4d4d4d;
    font-size: 0.95rem;
    line-height: 1.5;
}

.sn-route-product-price {
    margin-top: auto;
    color: #111;
    font-weight: 700;
}

.sn-route-info-grid article,
.sn-route-empty {
    padding: 1.25rem;
}

.sn-route-feature-card a {
    display: grid;
    gap: 0.75rem;
}

.sn-route-feature-card img {
    aspect-ratio: 4 / 3;
}

.sn-route-feature-card span {
    width: fit-content;
    margin: 0 1rem;
    border-bottom: 0.0625rem solid #111;
    font-weight: 700;
}

.sn-route-feature-card h3 {
    padding: 0 1rem 1rem;
}

.sn-route-recipe {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}

.sn-route-recipe figure {
    aspect-ratio: 4 / 3;
    margin: 0;
    overflow: hidden;
    background: #f6f6f6;
}

.sn-route-recipe h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.05;
}

.sn-route-recipe ol {
    display: grid;
    gap: 0.5rem;
    margin: 1rem 0 0;
    padding-left: 1.25rem;
}

.sn-route-product-facts {
    display: grid;
    gap: 0.5rem;
    margin: 1.25rem 0 0;
}

.sn-route-product-facts div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    border-top: 0.0625rem solid #deded8;
    padding-top: 0.5rem;
}

.sn-route-product-facts dt,
.sn-route-product-facts dd {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.sn-route-product-facts dt {
    font-weight: 700;
}

/* Keep storefront links clickable when carousel/overlay layers are present. */
.sn-promo-bar a[href],
.sn-header-shell a[href],
.sn-home-main a[href],
.sn-footer a[href] {
    pointer-events: auto !important;
}

body:not(.sn-menu-open) .sn-mobile-drawer,
body:not(.sn-search-open) .sn-search-overlay {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

.sn-route-action-panel form {
    display: grid;
    gap: 0.75rem;
}

.sn-route-action-panel div {
    display: flex;
    gap: 0.75rem;
}

.sn-route-action-panel input[type="search"] {
    min-height: 2.875rem;
    flex: 1;
    border: 0.0625rem solid #bdbdb5;
    border-radius: 0;
    padding: 0 1rem;
}

.sn-route-crosslinks {
    padding-top: 0;
}

.sn-new-arrivals-main {
    --sn-plp-ink: #111;
    --sn-plp-muted: #5d5d5d;
    --sn-plp-line: #d7d7d2;
    --sn-plp-soft: #f5f5f2;
    --sn-plp-warm: #fff7ee;
    background: #fff;
}

.sn-plp-breadcrumbs,
.sn-plp-heading,
.sn-plp-category-tabs,
.sn-plp-shell {
    max-width: 91rem !important;
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 2.5rem);
}

.sn-plp-breadcrumbs {
    padding-top: 1.1rem;
    padding-bottom: 0.75rem;
    color: var(--sn-plp-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.sn-plp-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sn-plp-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.sn-plp-breadcrumbs li + li::before {
    color: #8a8a85;
    content: "/";
}

.sn-plp-breadcrumbs a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.sn-plp-heading {
    padding-top: 0.9rem;
    padding-bottom: 1.85rem;
}

.sn-plp-heading h1 {
    margin: 0;
    color: var(--sn-plp-ink);
    font-size: clamp(2.65rem, 6.2vw, 5.15rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: 0;
}

.sn-plp-category-tabs {
    display: flex;
    gap: 0.65rem;
    overflow-x: auto;
    padding-top: 0;
    padding-bottom: 1.35rem;
    scrollbar-width: thin;
}

.sn-plp-category-tabs a {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-plp-ink);
    background: #fff;
    color: var(--sn-plp-ink);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.15;
    padding: 0.7rem 0.95rem;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.sn-plp-category-tabs a:hover,
.sn-plp-category-tabs a:focus-visible,
.sn-plp-category-tabs a[aria-current="page"] {
    background: var(--sn-plp-ink);
    color: #fff;
}

.sn-plp-shell {
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.sn-plp-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.75rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    border-bottom: 0.0625rem solid var(--sn-plp-line);
}

.sn-plp-count,
.sn-plp-load p {
    margin: 0;
    color: var(--sn-plp-muted);
    font-size: 0.95rem;
    line-height: 1.4;
}

.sn-plp-filter-toggle,
.sn-plp-panel-head button,
.sn-plp-filter-more,
.sn-plp-filter-actions button,
.sn-plp-load button {
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--sn-plp-ink);
    cursor: pointer;
    font: inherit;
}

.sn-plp-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 2.75rem;
    border: 0.0625rem solid var(--sn-plp-ink);
    padding: 0.65rem 1.1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sn-plp-filter-toggle span,
.sn-plp-filter-toggle span::before,
.sn-plp-filter-toggle span::after {
    display: block;
    width: 1rem;
    height: 0.12rem;
    background: currentColor;
    content: "";
}

.sn-plp-filter-toggle span {
    position: relative;
}

.sn-plp-filter-toggle span::before,
.sn-plp-filter-toggle span::after {
    position: absolute;
    left: 0;
}

.sn-plp-filter-toggle span::before {
    top: -0.34rem;
}

.sn-plp-filter-toggle span::after {
    top: 0.34rem;
}

.sn-plp-layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(14rem, 17.25rem) minmax(0, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
    padding-top: 1.25rem;
}

.sn-plp-filters {
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 2rem);
    overflow: auto;
    border-right: 0.0625rem solid var(--sn-plp-line);
    padding-right: 1.1rem;
    scrollbar-width: thin;
}

.sn-plp-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.4rem;
}

.sn-plp-panel-head h2 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.2;
}

.sn-plp-panel-head button {
    display: none;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.sn-plp-sort,
.sn-plp-filter-group {
    display: grid;
    gap: 0.8rem;
    margin: 0;
    border: 0;
    border-top: 0.0625rem solid var(--sn-plp-line);
    padding: 1.05rem 0;
}

.sn-plp-sort legend,
.sn-plp-filter-group legend {
    float: left;
    width: 100%;
    margin-bottom: 0.2rem;
    color: var(--sn-plp-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.sn-plp-sort label,
.sn-plp-filter-option {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    color: var(--sn-plp-ink);
    font-size: 0.95rem;
    line-height: 1.32;
}

.sn-plp-sort input,
.sn-plp-filter-option input {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    accent-color: var(--sn-plp-ink);
}

.sn-plp-filter-option span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.sn-plp-filter-group:not(.is-expanded) .sn-plp-filter-option.is-extra {
    display: none;
}

.sn-plp-filter-more {
    width: fit-content;
    margin-top: 0.25rem;
    border-bottom: 0.0625rem solid currentColor;
    font-weight: 800;
    line-height: 1.25;
}

.sn-plp-filter-swatch {
    width: 1.2rem;
    min-width: 1.2rem;
    height: 1.2rem;
    border: 0.0625rem solid #a9a9a4;
    border-radius: 50%;
    background: #d8d8d3;
}

.sn-plp-filter-swatch-black {
    background: #202024;
}

.sn-plp-filter-swatch-blue {
    background: #88b4ce;
}

.sn-plp-filter-swatch-white {
    background: #f7f4ee;
}

.sn-plp-filter-swatch-green {
    background: #7f8f69;
}

.sn-plp-filter-swatch-red {
    background: #cf443a;
}

.sn-plp-filter-swatch-pink {
    background: #e8a0ac;
}

.sn-plp-filter-swatch-grey {
    background: #bebeb8;
}

.sn-plp-filter-swatch-yellow {
    background: #e4c65d;
}

.sn-plp-filter-swatch-orange {
    background: #d98342;
}

.sn-plp-filter-swatch-purple {
    background: #b7a3c8;
}

.sn-plp-filter-swatch-brown {
    background: #a78d74;
}

.sn-plp-no-results {
    display: grid;
    gap: 0.4rem;
    margin: 0 0 0.9rem;
    border: 0.0625rem solid #e6d4b7;
    background: var(--sn-plp-warm);
    padding: 0.9rem;
}

.sn-plp-no-results[hidden] {
    display: none;
}

.sn-plp-no-results strong,
.sn-plp-no-results p {
    margin: 0;
    line-height: 1.35;
}

.sn-plp-filter-actions {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    background: #fff;
    padding: 1rem 0 0.2rem;
}

.sn-plp-filter-actions .sn-plp-reset,
.sn-plp-filter-actions .sn-plp-clear {
    min-height: 2.75rem;
    border: 0.0625rem solid var(--sn-plp-ink);
    font-weight: 800;
}

.sn-plp-filter-actions .sn-plp-clear {
    display: none;
}

.sn-plp-filter-actions .sn-plp-apply {
    grid-column: 1 / -1;
    min-height: 2.75rem;
    background: var(--sn-plp-ink);
    color: #fff;
    font-weight: 800;
}

.sn-plp-results {
    min-width: 0;
}

.sn-plp-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 1.8vw, 1.5rem) clamp(0.9rem, 1.6vw, 1.35rem);
}

.sn-plp-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #fff;
}

.sn-plp-card[hidden] {
    display: none;
}

.sn-plp-card-media-wrap {
    position: relative;
    overflow: hidden;
    background: var(--sn-plp-soft);
}

.sn-plp-card-media {
    position: relative;
    display: flex;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

.sn-plp-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 260ms ease;
}

.sn-plp-card-media span {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    display: flex;
    min-height: 2.4rem;
    align-items: center;
    justify-content: center;
    background: rgba(17, 17, 17, 0.92);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
    opacity: 0;
    transform: translateY(0.35rem);
    transition: opacity 180ms ease, transform 180ms ease;
}

.sn-plp-card:hover .sn-plp-card-media img,
.sn-plp-card:focus-within .sn-plp-card-media img {
    transform: scale(1.035);
}

.sn-plp-card:hover .sn-plp-card-media span,
.sn-plp-card:focus-within .sn-plp-card-media span {
    opacity: 1;
    transform: translateY(0);
}

.sn-plp-card-favorite {
    position: absolute;
    z-index: 2;
    top: 0.75rem;
    right: 0.75rem;
    width: 2.3rem;
    height: 2.3rem;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.14);
    cursor: pointer;
}

.sn-plp-card-favorite::before,
.sn-plp-card-favorite::after {
    position: absolute;
    top: 0.72rem;
    left: 0.98rem;
    width: 0.48rem;
    height: 0.82rem;
    border-radius: 0.48rem 0.48rem 0 0;
    background: transparent;
    box-shadow: inset 0 0 0 0.1rem var(--sn-plp-ink);
    content: "";
    transform: rotate(-45deg);
    transform-origin: 0 100%;
}

.sn-plp-card-favorite::after {
    left: 0.83rem;
    transform: rotate(45deg);
    transform-origin: 100% 100%;
}

.sn-plp-card-favorite.is-active {
    background: var(--sn-plp-ink);
}

.sn-plp-card-favorite.is-active::before,
.sn-plp-card-favorite.is-active::after {
    background: #fff;
    box-shadow: none;
}

.sn-plp-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.9rem 0 0;
}

.sn-plp-promo {
    width: fit-content;
    margin: 0;
    background: #ffe6bf;
    color: #111;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.25;
    padding: 0.28rem 0.45rem;
}

.sn-plp-card-title {
    color: var(--sn-plp-ink);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.24;
    text-decoration: none;
}

.sn-plp-card-title:hover,
.sn-plp-card-title:focus-visible,
.sn-plp-card-foot a:hover,
.sn-plp-card-foot a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.sn-plp-model,
.sn-plp-card-rating,
.sn-plp-features,
.sn-plp-price {
    margin: 0;
}

.sn-plp-model {
    color: var(--sn-plp-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.sn-plp-card-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: var(--sn-plp-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.sn-plp-card-rating span {
    color: #111;
    font-size: 0.74rem;
    letter-spacing: 0;
}

.sn-plp-card-rating em {
    font-style: normal;
}

.sn-plp-swatches {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.35rem;
}

.sn-plp-swatches span {
    width: 1rem;
    height: 1rem;
    border: 0.0625rem solid #aaa;
    border-radius: 50%;
    background: var(--sn-swatch, #d8d8d3);
}

.sn-plp-swatches a {
    color: var(--sn-plp-ink);
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.sn-plp-features {
    display: grid;
    gap: 0.2rem;
    padding: 0 0 0 1.05rem;
    color: var(--sn-plp-muted);
    font-size: 0.8rem;
    line-height: 1.32;
}

.sn-plp-features li::marker {
    font-size: 0.65rem;
}

.sn-plp-price {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: baseline;
    margin-top: auto;
    color: var(--sn-plp-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.sn-plp-price del {
    color: var(--sn-plp-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.sn-plp-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    padding-top: 0.7rem;
}

.sn-plp-badge {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    background: #efefea;
    color: #111;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.25rem 0.45rem;
    text-transform: uppercase;
}

.sn-plp-card-foot a {
    color: var(--sn-plp-ink);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.sn-plp-load {
    display: grid;
    justify-items: center;
    gap: 0.9rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    margin-top: clamp(2rem, 4vw, 3.5rem);
    padding-top: clamp(1.5rem, 3vw, 2.4rem);
    text-align: center;
}

.sn-plp-load button {
    min-width: 11rem;
    min-height: 3rem;
    border: 0.0625rem solid var(--sn-plp-ink);
    background: var(--sn-plp-ink);
    color: #fff;
    font-weight: 800;
}

.sn-plp-load button[hidden] {
    display: none;
}

body.sn-plp-filter-open {
    overflow: hidden;
}

@media (max-width: 980px) {
    .sn-route-product-grid,
    .sn-route-info-grid,
    .sn-route-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sn-route-recipe {
        grid-template-columns: 1fr;
    }

    .sn-plp-layout {
        display: block;
    }

    .sn-plp-filter-toggle {
        min-width: 10.75rem;
    }

    .sn-plp-scrim {
        position: fixed;
        z-index: 9997;
        inset: 0;
        background: rgba(0, 0, 0, 0.38);
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms ease;
    }

    .sn-new-arrivals-main.is-filter-open .sn-plp-scrim {
        opacity: 1;
        pointer-events: auto;
    }

    .sn-plp-filters {
        position: fixed;
        z-index: 9998;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(27rem, 91vw);
        max-height: none;
        border: 0;
        background: #fff;
        box-shadow: -0.7rem 0 2.4rem rgba(0, 0, 0, 0.18);
        padding: 0 1.1rem 1rem;
        transform: translateX(102%);
        transition: transform 220ms ease;
    }

    .sn-new-arrivals-main.is-filter-open .sn-plp-filters {
        transform: translateX(0);
    }

    .sn-plp-panel-head {
        position: sticky;
        z-index: 1;
        top: 0;
        background: #fff;
        border-bottom: 0.0625rem solid var(--sn-plp-line);
    }

    .sn-plp-panel-head button {
        display: inline-flex;
    }

    .sn-plp-filter-actions {
        padding-bottom: 1rem;
    }

    .sn-plp-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .sn-route-product-grid,
    .sn-route-info-grid,
    .sn-route-feature-grid {
        grid-template-columns: 1fr;
    }

    .sn-route-section-head {
        align-items: start;
        flex-direction: column;
    }

    .sn-route-action-panel div {
        flex-direction: column;
    }

    .sn-plp-breadcrumbs,
    .sn-plp-heading,
    .sn-plp-category-tabs,
    .sn-plp-shell {
        padding-inline: 1rem;
    }

    .sn-plp-heading {
        padding-bottom: 1.35rem;
    }

    .sn-plp-toolbar {
        align-items: stretch;
        flex-direction: column;
        justify-content: center;
        padding: 0.9rem 0;
    }

    .sn-plp-filter-toggle {
        width: 100%;
    }

    .sn-plp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.2rem 0.8rem;
    }

    .sn-plp-card-media span {
        display: none;
    }

    .sn-plp-card-title {
        font-size: 0.9rem;
    }

    .sn-plp-features {
        display: none;
    }

    .sn-plp-card-foot {
        align-items: start;
        flex-direction: column;
    }
}

@media (max-width: 360px) {
    .sn-plp-grid {
        grid-template-columns: 1fr;
    }
}

/* SharkNinja New Arrivals PLP rebuild. */
.sn-new-arrivals-main {
    --sn-plp-ink: #111;
    --sn-plp-muted: #5f5f5f;
    --sn-plp-line: #deded9;
    --sn-plp-soft: #f4f4f1;
    --sn-plp-sale: #fff0d7;
    background: #fff;
    color: var(--sn-plp-ink);
}

.sn-new-arrivals-main .sn-plp-breadcrumbs,
.sn-new-arrivals-main .sn-plp-heading,
.sn-new-arrivals-main .sn-plp-shell {
    max-width: 91rem !important;
    margin-inline: auto;
    padding-inline: 2.5rem;
}

.sn-new-arrivals-main .sn-plp-category-tabs,
.sn-new-arrivals-main .sn-plp-scrim {
    display: none !important;
}

.sn-new-arrivals-main .sn-plp-breadcrumbs {
    padding-top: 1rem;
    padding-bottom: 0.7rem;
    color: #626262;
    font-size: 0.8125rem;
}

.sn-new-arrivals-main .sn-plp-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sn-new-arrivals-main .sn-plp-breadcrumbs li {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
}

.sn-new-arrivals-main .sn-plp-breadcrumbs li + li::before {
    color: #8c8c86;
    content: "/";
}

.sn-new-arrivals-main .sn-plp-breadcrumbs a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.12rem;
}

.sn-new-arrivals-main .sn-plp-heading {
    padding-top: 1.35rem;
    padding-bottom: 2.15rem;
}

.sn-new-arrivals-main .sn-plp-heading h1 {
    max-width: 64rem;
    margin: 0;
    color: #111;
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: 0;
}

.sn-new-arrivals-main .sn-plp-shell {
    padding-bottom: 5rem;
}

.sn-new-arrivals-main .sn-plp-toolbar {
    display: flex;
    min-height: 3.875rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    border-bottom: 0.0625rem solid var(--sn-plp-line);
}

.sn-new-arrivals-main .sn-plp-count,
.sn-new-arrivals-main .sn-plp-load p {
    margin: 0;
    color: #5f5f5f;
    font-size: 0.9375rem;
    line-height: 1.4;
}

.sn-new-arrivals-main .sn-plp-filter-toggle {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    border: 0.0625rem solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
    cursor: default;
    font-size: 0.875rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.8rem 1.15rem;
    text-transform: uppercase;
}

.sn-new-arrivals-main .sn-plp-filter-toggle span,
.sn-new-arrivals-main .sn-plp-filter-toggle span::before,
.sn-new-arrivals-main .sn-plp-filter-toggle span::after {
    display: block;
    width: 1rem;
    height: 0.125rem;
    background: currentColor;
    content: "";
}

.sn-new-arrivals-main .sn-plp-filter-toggle span {
    position: relative;
}

.sn-new-arrivals-main .sn-plp-filter-toggle span::before,
.sn-new-arrivals-main .sn-plp-filter-toggle span::after {
    position: absolute;
    left: 0;
}

.sn-new-arrivals-main .sn-plp-filter-toggle span::before {
    top: -0.34rem;
}

.sn-new-arrivals-main .sn-plp-filter-toggle span::after {
    top: 0.34rem;
}

.sn-new-arrivals-main .sn-plp-layout {
    display: grid;
    grid-template-columns: minmax(13.5rem, 16rem) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    padding-top: 1.5rem;
}

.sn-new-arrivals-main .sn-plp-filters {
    position: sticky;
    top: calc(var(--sn-fixed-stack-height, 7rem) + 1rem);
    max-height: calc(100vh - var(--sn-fixed-stack-height, 7rem) - 2rem);
    overflow: auto;
    border: 0;
    border-right: 0.0625rem solid var(--sn-plp-line);
    background: transparent;
    box-shadow: none;
    padding: 0 1.25rem 0 0;
    transform: none;
    scrollbar-width: thin;
}

.sn-new-arrivals-main .sn-plp-panel-head {
    display: none;
}

.sn-new-arrivals-main .sn-plp-sort,
.sn-new-arrivals-main .sn-plp-filter-group {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    border: 0;
    border-top: 0.0625rem solid var(--sn-plp-line);
    padding: 1.1rem 0;
}

.sn-new-arrivals-main .sn-plp-sort {
    border-top: 0;
    padding-top: 0;
}

.sn-new-arrivals-main .sn-plp-sort legend,
.sn-new-arrivals-main .sn-plp-filter-group legend {
    float: left;
    width: 100%;
    margin: 0 0 0.25rem;
    color: #111;
    font-size: 0.9375rem;
    font-weight: 900;
    line-height: 1.25;
}

.sn-new-arrivals-main .sn-plp-sort label,
.sn-new-arrivals-main .sn-plp-filter-option {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.625rem;
    color: #222;
    font-size: 0.875rem;
    line-height: 1.3;
}

.sn-new-arrivals-main .sn-plp-sort input,
.sn-new-arrivals-main .sn-plp-filter-option input {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    accent-color: #111;
}

.sn-new-arrivals-main .sn-plp-filter-option span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.sn-new-arrivals-main .sn-plp-filter-more {
    width: fit-content;
    border: 0;
    border-bottom: 0.0625rem solid currentColor;
    border-radius: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
    padding: 0;
}

.sn-new-arrivals-main .sn-plp-filter-actions {
    display: none;
}

.sn-new-arrivals-main .sn-plp-results {
    min-width: 0;
}

.sn-new-arrivals-main .sn-plp-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.35rem 1.2rem;
}

.sn-new-arrivals-main .sn-plp-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #fff;
    opacity: 1;
    transform: translateY(0);
    animation: sn-plp-card-in 220ms ease both;
}

.sn-new-arrivals-main .sn-plp-card[hidden] {
    display: none;
}

.sn-new-arrivals-main .sn-plp-card-media-wrap {
    position: relative;
    overflow: hidden;
    background: var(--sn-plp-soft);
}

.sn-new-arrivals-main .sn-plp-card-media {
    position: relative;
    display: flex;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

.sn-new-arrivals-main .sn-plp-card-media img {
    display: block;
    width: 88%;
    height: 88%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 220ms ease;
}

.sn-new-arrivals-main .sn-plp-card-media span {
    display: none !important;
}

.sn-new-arrivals-main .sn-plp-card:hover .sn-plp-card-media img,
.sn-new-arrivals-main .sn-plp-card:focus-within .sn-plp-card-media img {
    transform: scale(1.035);
}

.sn-new-arrivals-main .sn-plp-card-favorite {
    position: absolute;
    z-index: 2;
    top: 0.8rem;
    right: 0.8rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.15rem 0.8rem rgba(0, 0, 0, 0.14);
    cursor: pointer;
}

.sn-new-arrivals-main .sn-plp-card-favorite::before,
.sn-new-arrivals-main .sn-plp-card-favorite::after {
    position: absolute;
    top: 0.72rem;
    left: 0.96rem;
    width: 0.48rem;
    height: 0.82rem;
    border-radius: 0.48rem 0.48rem 0 0;
    background: transparent;
    box-shadow: inset 0 0 0 0.1rem #111;
    content: "";
    transform: rotate(-45deg);
    transform-origin: 0 100%;
}

.sn-new-arrivals-main .sn-plp-card-favorite::after {
    left: 0.81rem;
    transform: rotate(45deg);
    transform-origin: 100% 100%;
}

.sn-new-arrivals-main .sn-plp-card-favorite.is-active {
    background: #111;
}

.sn-new-arrivals-main .sn-plp-card-favorite.is-active::before,
.sn-new-arrivals-main .sn-plp-card-favorite.is-active::after {
    background: #fff;
    box-shadow: none;
}

.sn-new-arrivals-main .sn-plp-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.48rem;
    padding-top: 0.8rem;
}

.sn-new-arrivals-main .sn-plp-card-labels {
    display: flex;
    min-height: 1.35rem;
    align-items: center;
}

.sn-new-arrivals-main .sn-plp-badge {
    display: inline-flex;
    align-items: center;
    background: #ededeb;
    color: #111;
    font-size: 0.6875rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.28rem 0.45rem;
    text-transform: uppercase;
}

.sn-new-arrivals-main .sn-plp-promo {
    width: fit-content;
    margin: 0;
    background: var(--sn-plp-sale);
    color: #111;
    font-size: 0.75rem;
    font-weight: 900;
    line-height: 1.25;
    padding: 0.28rem 0.45rem;
}

.sn-new-arrivals-main .sn-plp-card-title {
    color: #111;
    font-size: 0.9375rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
}

.sn-new-arrivals-main .sn-plp-card-title:hover,
.sn-new-arrivals-main .sn-plp-card-title:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.14rem;
}

.sn-new-arrivals-main .sn-plp-model,
.sn-new-arrivals-main .sn-plp-card-rating,
.sn-new-arrivals-main .sn-plp-features,
.sn-new-arrivals-main .sn-plp-price {
    margin: 0;
}

.sn-new-arrivals-main .sn-plp-model {
    color: #626262;
    font-size: 0.75rem;
    line-height: 1.25;
}

.sn-new-arrivals-main .sn-plp-card-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: #626262;
    font-size: 0.75rem;
    line-height: 1.25;
}

.sn-new-arrivals-main .sn-plp-card-rating span {
    color: #111;
    font-size: 0.75rem;
    letter-spacing: 0;
}

.sn-new-arrivals-main .sn-plp-card-rating em {
    font-style: normal;
}

.sn-new-arrivals-main .sn-plp-swatches {
    display: flex;
    min-height: 1.25rem;
    align-items: center;
    gap: 0.35rem;
}

.sn-new-arrivals-main .sn-plp-swatches span {
    width: 1rem;
    height: 1rem;
    border: 0.0625rem solid #a8a8a2;
    border-radius: 50%;
    background: var(--sn-swatch, #d8d8d3);
}

.sn-new-arrivals-main .sn-plp-swatches a {
    color: #111;
    font-size: 0.75rem;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 0.14rem;
}

.sn-new-arrivals-main .sn-plp-features {
    display: grid;
    gap: 0.18rem;
    padding: 0 0 0 1rem;
    color: #4f4f4f;
    font-size: 0.8125rem;
    line-height: 1.32;
}

.sn-new-arrivals-main .sn-plp-features li::marker {
    font-size: 0.65rem;
}

.sn-new-arrivals-main .sn-plp-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem;
    margin-top: auto;
    color: #111;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
}

.sn-new-arrivals-main .sn-plp-price del {
    color: #626262;
    font-size: 0.875rem;
    font-weight: 600;
}

.sn-new-arrivals-main .sn-plp-card-foot {
    display: none;
}

.sn-new-arrivals-main .sn-plp-load {
    display: grid;
    justify-items: center;
    gap: 0.9rem;
    border-top: 0.0625rem solid var(--sn-plp-line);
    margin-top: 3rem;
    padding-top: 2rem;
    text-align: center;
}

.sn-new-arrivals-main .sn-plp-load button {
    min-width: 11rem;
    min-height: 3rem;
    border: 0.0625rem solid #111;
    border-radius: 0;
    background: #111;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
}

.sn-new-arrivals-main .sn-plp-load button[hidden] {
    display: none;
}

@keyframes sn-plp-card-in {
    from {
        opacity: 0;
        transform: translateY(0.4rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1180px) {
    .sn-new-arrivals-main .sn-plp-heading h1 {
        font-size: 4.3rem;
    }

    .sn-new-arrivals-main .sn-plp-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .sn-new-arrivals-main .sn-plp-breadcrumbs,
    .sn-new-arrivals-main .sn-plp-heading,
    .sn-new-arrivals-main .sn-plp-shell {
        padding-inline: 1rem;
    }

    .sn-new-arrivals-main .sn-plp-heading {
        padding-top: 1rem;
        padding-bottom: 1.55rem;
    }

    .sn-new-arrivals-main .sn-plp-heading h1 {
        font-size: 3.25rem;
    }

    .sn-new-arrivals-main .sn-plp-toolbar {
        min-height: auto;
        padding: 0.8rem 0;
    }

    .sn-new-arrivals-main .sn-plp-layout {
        display: block;
        padding-top: 1rem;
    }

    .sn-new-arrivals-main .sn-plp-filters {
        display: none;
    }
}

@media (max-width: 620px) {
    .sn-new-arrivals-main .sn-plp-heading h1 {
        font-size: 2.65rem;
    }

    .sn-new-arrivals-main .sn-plp-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .sn-new-arrivals-main .sn-plp-filter-toggle {
        width: 100%;
    }

    .sn-new-arrivals-main .sn-plp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.65rem 0.85rem;
    }

    .sn-new-arrivals-main .sn-plp-card-media span {
        display: none;
    }

    .sn-new-arrivals-main .sn-plp-card-title {
        font-size: 0.875rem;
    }

    .sn-new-arrivals-main .sn-plp-features {
        display: none;
    }
}

/* SharkNinja Best Sellers-style Filter & Sort drawer. */
.sn-new-arrivals-main .sn-plp-heading,
.sn-new-arrivals-main .sn-plp-heading.alignwide.sn-reveal.is-visible {
    display: none !important;
}

.sn-new-arrivals-main .sn-plp-shell {
    padding-top: 0.35rem;
}

.sn-new-arrivals-main .sn-plp-filter-toggle {
    cursor: pointer;
}

.sn-new-arrivals-main .sn-plp-layout {
    display: block;
    padding-top: 1.45rem;
}

.sn-new-arrivals-main .sn-plp-results {
    width: 100%;
    min-width: 0;
}

.sn-new-arrivals-main .sn-plp-scrim {
    position: fixed;
    z-index: 9997;
    inset: 0;
    display: block !important;
    background: rgba(0, 0, 0, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.sn-new-arrivals-main.is-filter-open .sn-plp-scrim {
    opacity: 1;
    pointer-events: auto;
}

.sn-new-arrivals-main .sn-plp-filters {
    position: fixed;
    z-index: 9998;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    width: min(30rem, 92vw);
    max-height: none;
    flex-direction: column;
    overflow: auto;
    border: 0;
    background: #fff;
    box-shadow: -0.75rem 0 2.35rem rgba(0, 0, 0, 0.22);
    padding: 0 1.25rem;
    transform: translateX(105%);
    transition: transform 220ms ease;
    scrollbar-width: thin;
}

.sn-new-arrivals-main.is-filter-open .sn-plp-filters {
    transform: translateX(0);
}

.sn-new-arrivals-main .sn-plp-panel-head {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 4.35rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 0.0625rem solid var(--sn-plp-line);
    background: #fff;
}

.sn-new-arrivals-main .sn-plp-panel-head h2 {
    margin: 0;
    color: #111;
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1.2;
}

.sn-new-arrivals-main .sn-plp-panel-head button {
    display: inline-flex;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.16rem;
}

.sn-new-arrivals-main .sn-plp-sort,
.sn-new-arrivals-main .sn-plp-filter-group {
    border-top: 0.0625rem solid var(--sn-plp-line);
    padding: 1.15rem 0;
}

.sn-new-arrivals-main .sn-plp-sort {
    border-top: 0;
    padding-top: 1.15rem;
}

.sn-new-arrivals-main .sn-plp-no-results {
    margin: 0 0 0.85rem;
    border: 0.0625rem solid #ead6b8;
    background: #fff7ea;
    color: #111;
    padding: 0.85rem;
}

.sn-new-arrivals-main .sn-plp-no-results[hidden] {
    display: none;
}

.sn-new-arrivals-main .sn-plp-filter-actions {
    position: sticky;
    z-index: 2;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
    margin-top: auto;
    border-top: 0.0625rem solid var(--sn-plp-line);
    background: #fff;
    padding: 1rem 0 1.1rem;
}

.sn-new-arrivals-main .sn-plp-filter-actions button {
    min-height: 2.9rem;
    border: 0.0625rem solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
}

.sn-new-arrivals-main .sn-plp-filter-actions .sn-plp-apply {
    grid-column: 1 / -1;
    background: #111;
    color: #fff;
}

.sn-new-arrivals-main .sn-plp-filter-actions .sn-plp-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.sn-plp-filter-open {
    overflow: hidden;
}

@media (max-width: 900px) {
    .sn-new-arrivals-main .sn-plp-filters {
        display: flex;
    }
}

@media (max-width: 620px) {
    .sn-new-arrivals-main .sn-plp-filters {
        width: min(27.5rem, 94vw);
    }
}

/* Collapsible filter drawer final pass. */
.sn-new-arrivals-main .sn-plp-filters {
    display: none;
    visibility: hidden;
    transform: translateX(105%);
}

.sn-new-arrivals-main.is-filter-open .sn-plp-filters {
    display: flex;
    visibility: visible;
    animation: sn-plp-filter-drawer-in 220ms ease both;
}

.sn-new-arrivals-main .sn-plp-sort legend,
.sn-new-arrivals-main .sn-plp-filter-group legend {
    margin: 0;
}

.sn-new-arrivals-main .sn-plp-sort legend button,
.sn-new-arrivals-main .sn-plp-filter-group legend button {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 2rem;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 900;
    line-height: 1.25;
    padding: 0;
    text-align: left;
}

.sn-new-arrivals-main .sn-plp-sort legend button::after,
.sn-new-arrivals-main .sn-plp-filter-group legend button::after {
    width: 0.55rem;
    height: 0.55rem;
    border-right: 0.125rem solid currentColor;
    border-bottom: 0.125rem solid currentColor;
    content: "";
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

.sn-new-arrivals-main .sn-plp-sort.is-open legend button::after,
.sn-new-arrivals-main .sn-plp-filter-group.is-open legend button::after {
    transform: rotate(225deg);
}

.sn-new-arrivals-main .sn-plp-filter-body {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.75rem;
}

.sn-new-arrivals-main .sn-plp-sort:not(.is-open) .sn-plp-filter-body,
.sn-new-arrivals-main .sn-plp-filter-group:not(.is-open) .sn-plp-filter-body {
    display: none;
}

.sn-new-arrivals-main .sn-plp-sort,
.sn-new-arrivals-main .sn-plp-filter-group {
    gap: 0;
}

@keyframes sn-plp-filter-drawer-in {
    from {
        transform: translateX(105%);
    }

    to {
        transform: translateX(0);
    }
}

/* Viewport-right Filter & Sort drawer. */
.sn-new-arrivals-main .sn-plp-scrim {
    position: fixed;
    z-index: 11998;
    inset: 0;
    display: block !important;
    background: rgba(0, 0, 0, 0.38);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.sn-new-arrivals-main.is-filter-open .sn-plp-scrim {
    opacity: 1;
    pointer-events: auto;
}

.sn-new-arrivals-main .sn-plp-filters {
    position: fixed;
    z-index: 11999;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    display: flex;
    width: min(31.25rem, 94vw);
    max-width: none;
    height: 100vh;
    max-height: none;
    min-height: 100vh;
    flex-direction: column;
    overflow: auto;
    border: 0;
    background: #fff;
    box-shadow: -0.75rem 0 2.25rem rgba(0, 0, 0, 0.22);
    padding: 0 1.5rem 1.2rem;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateX(105%);
    transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear 220ms;
    scrollbar-width: thin;
}

.sn-new-arrivals-main.is-filter-open .sn-plp-filters {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateX(0);
    transition-delay: 0s;
}

.sn-new-arrivals-main .sn-plp-panel-head {
    min-height: 4.25rem;
}

.sn-new-arrivals-main .sn-plp-panel-head h2 {
    font-size: 1.15rem;
}

.sn-new-arrivals-main .sn-plp-sort,
.sn-new-arrivals-main .sn-plp-filter-group {
    width: 100%;
    padding: 1.15rem 0;
}

.sn-new-arrivals-main .sn-plp-filter-actions {
    grid-template-columns: 1fr 1fr;
}

.sn-new-arrivals-main .sn-plp-filter-actions .sn-plp-apply {
    grid-column: auto;
}

@media (max-width: 620px) {
    .sn-new-arrivals-main .sn-plp-filters {
        width: min(27.5rem, 94vw);
        padding-inline: 1rem;
    }
}

/* Body-level portal for PLP filter menu, pinned to the browser viewport. */
body > .sn-plp-scrim[data-sn-plp-close] {
    position: fixed !important;
    z-index: 11998 !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(0, 0, 0, 0.38) !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

body > .sn-plp-scrim[data-sn-plp-close].is-open {
    opacity: 1;
    pointer-events: auto;
}

body > .sn-plp-filters[data-sn-plp-panel] {
    --sn-plp-ink: #111;
    --sn-plp-line: #deded9;
    --sn-plp-soft: #f4f4f1;
    position: fixed !important;
    z-index: 11999 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: flex !important;
    width: min(31.25rem, 94vw) !important;
    max-width: none !important;
    height: 100vh !important;
    max-height: none !important;
    min-height: 100vh !important;
    flex-direction: column;
    overflow: auto;
    border: 0 !important;
    background: #fff !important;
    box-shadow: -0.75rem 0 2.25rem rgba(0, 0, 0, 0.22);
    padding: 0 1.5rem 1.2rem !important;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateX(105%) !important;
    transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear 220ms;
    scrollbar-width: thin;
}

body > .sn-plp-filters[data-sn-plp-panel].is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateX(0) !important;
    transition-delay: 0s;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-head {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    min-height: 4.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 0.0625rem solid var(--sn-plp-line);
    background: #fff;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-head h2 {
    margin: 0;
    color: #111;
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1.2;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-head button {
    border: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.16rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-sort,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-group {
    display: grid;
    gap: 0;
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 0.0625rem solid var(--sn-plp-line);
    padding: 1.15rem 0;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-sort {
    border-top: 0;
}

body > .sn-plp-filters[data-sn-plp-panel] legend {
    float: left;
    width: 100%;
    margin: 0;
}

body > .sn-plp-filters[data-sn-plp-panel] legend button {
    display: flex;
    width: 100%;
    min-height: 2rem;
    align-items: center;
    justify-content: space-between;
    border: 0;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.9375rem;
    font-weight: 900;
    line-height: 1.25;
    padding: 0;
    text-align: left;
}

body > .sn-plp-filters[data-sn-plp-panel] legend button::after {
    width: 0.55rem;
    height: 0.55rem;
    border-right: 0.125rem solid currentColor;
    border-bottom: 0.125rem solid currentColor;
    content: "";
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

body > .sn-plp-filters[data-sn-plp-panel] .is-open > legend button::after {
    transform: rotate(225deg);
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-body {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.75rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-sort:not(.is-open) .sn-plp-filter-body,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-group:not(.is-open) .sn-plp-filter-body,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-group:not(.is-expanded) .sn-plp-filter-option.is-extra {
    display: none;
}

body > .sn-plp-filters[data-sn-plp-panel] label,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-option {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.625rem;
    color: #222;
    font-size: 0.875rem;
    line-height: 1.3;
}

body > .sn-plp-filters[data-sn-plp-panel] input[type="checkbox"],
body > .sn-plp-filters[data-sn-plp-panel] input[type="radio"] {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    accent-color: #111;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-more {
    width: fit-content;
    border: 0;
    border-bottom: 0.0625rem solid currentColor;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
    padding: 0;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions {
    position: sticky;
    z-index: 2;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
    margin-top: auto;
    border-top: 0.0625rem solid var(--sn-plp-line);
    background: #fff;
    padding: 1rem 0 1.1rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions button {
    min-height: 2.9rem;
    border: 0.0625rem solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions .sn-plp-apply {
    background: #111;
    color: #fff;
}

.sn-new-arrivals-main .sn-plp-add-to-cart {
    display: inline-flex;
    width: 100%;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid #111;
    border-radius: 999rem;
    background: transparent;
    color: #111;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 900;
    line-height: 1;
    margin-top: 0.45rem;
    padding: 0.8rem 1rem;
    text-align: center;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.sn-new-arrivals-main .sn-plp-add-to-cart:hover,
.sn-new-arrivals-main .sn-plp-add-to-cart:focus-visible {
    border-color: #111;
    background: #f3f3f1;
    color: #111;
}

.sn-new-arrivals-main .sn-plp-add-to-cart:active {
    transform: translateY(0.0625rem);
}

.sn-new-arrivals-main .sn-plp-add-to-cart.is-added {
    border-color: #111;
    background: #f3f3f1;
    color: #111;
}

body.sn-plp-cart-flyout-open {
    overflow: hidden;
}

.sn-plp-cart-flyout {
    position: fixed;
    z-index: 12020;
    inset: 0;
    display: block;
    pointer-events: none;
}

.sn-plp-cart-flyout[hidden] {
    display: none !important;
}

.sn-plp-cart-flyout-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.38);
    opacity: 0;
    transition: opacity 180ms ease;
}

.sn-plp-cart-flyout .modal-dialog {
    position: absolute;
    top: 0;
    right: 0;
    width: min(30rem, 100vw);
    height: 100%;
    margin: 0;
    overflow-y: auto;
    background: #fff;
    box-shadow: -0.75rem 0 2.5rem rgba(0, 0, 0, 0.22);
    transform: translateX(105%);
    transition: transform 240ms ease;
}

.sn-plp-cart-flyout.is-open {
    pointer-events: auto;
}

.sn-plp-cart-flyout.is-open .sn-plp-cart-flyout-backdrop {
    opacity: 1;
}

.sn-plp-cart-flyout.is-open .modal-dialog {
    transform: translateX(0);
}

.sn-plp-cart-flyout .modal-content {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.sn-plp-cart-flyout .modal-header {
    display: flex;
    min-height: 4.35rem;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.0625rem solid #deded9;
    padding: 1rem 1.4rem;
}

.sn-plp-cart-flyout .added-to-cart-header {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: #111;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.15;
}

.sn-plp-cart-flyout .added-to-cart-header::before {
    display: inline-flex;
    width: 1.35rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f7a3a;
    color: #fff;
    content: "\2713";
    font-size: 0.85rem;
    font-weight: 900;
}

.sn-plp-cart-flyout .close {
    position: relative;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #111;
    cursor: pointer;
}

.sn-plp-cart-flyout .close::before,
.sn-plp-cart-flyout .close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.05rem;
    height: 0.125rem;
    background: currentColor;
    content: "";
    transform-origin: center;
}

.sn-plp-cart-flyout .close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sn-plp-cart-flyout .close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.sn-plp-cart-flyout .close:hover,
.sn-plp-cart-flyout .close:focus-visible {
    background: #f3f3f1;
}

.sn-plp-cart-flyout .modal-body {
    padding: 1.4rem;
}

.sn-plp-cart-flyout .add-to-cart-modal-main {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.sn-plp-cart-flyout .product-image-wrapper {
    display: flex;
    width: 7rem;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    background: #f4f4f1;
}

.sn-plp-cart-flyout .product-image {
    display: block;
    width: 90%;
    height: 90%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.sn-plp-cart-flyout .sn-route-cart-image-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #6b6b63;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: center;
}

.sn-plp-cart-flyout .product-side {
    display: grid;
    min-width: 0;
    gap: 0.42rem;
}

.sn-plp-cart-flyout .success-item-pd-name {
    margin: 0;
    color: #111;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.25;
}

.sn-plp-cart-flyout .line-item-attributes,
.sn-plp-cart-flyout .unit-price {
    margin: 0;
    color: #4b4b45;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.35;
}

.sn-plp-cart-flyout .unit-price {
    color: #111;
    font-weight: 900;
}

.sn-plp-cart-flyout .modal-footer {
    border: 0;
    padding: 0 1.4rem 1.5rem;
}

.sn-plp-cart-flyout .bonus-product-viewcart {
    display: grid;
    justify-items: stretch;
    width: 100%;
    gap: 0.75rem;
}

.sn-plp-cart-flyout .cart-flyout-footer-links {
    display: inline-flex;
    width: 100%;
    height: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    box-sizing: border-box;
    justify-content: center;
    border: 0.0625rem solid #111;
    border-radius: 999rem;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    padding: 0 1.15rem;
    text-align: center;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.sn-plp-cart-flyout .btn-primary {
    background: #111;
    color: #fff;
}

.sn-plp-cart-flyout .btn-secondary {
    background: transparent;
    color: #111;
}

.sn-plp-cart-flyout .btn-primary:hover,
.sn-plp-cart-flyout .btn-primary:focus-visible {
    background: #333;
    color: #fff;
}

.sn-plp-cart-flyout .btn-secondary:hover,
.sn-plp-cart-flyout .btn-secondary:focus-visible {
    background: #f3f3f1;
    color: #111;
}

.sn-plp-cart-flyout .cart-flyout-footer-links:active {
    transform: translateY(0.0625rem);
}

@media (max-width: 520px) {
    .sn-plp-cart-flyout .modal-dialog {
        width: 100vw;
    }

    .sn-plp-cart-flyout .modal-header,
    .sn-plp-cart-flyout .modal-body,
    .sn-plp-cart-flyout .modal-footer {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .sn-plp-cart-flyout .add-to-cart-modal-main {
        grid-template-columns: 5.75rem minmax(0, 1fr);
    }

    .sn-plp-cart-flyout .product-image-wrapper {
        width: 5.75rem;
    }
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-head {
    justify-content: space-between !important;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close {
    margin-left: auto;
}

@media (max-width: 620px) {
    body > .sn-plp-filters[data-sn-plp-panel] {
        width: min(27.5rem, 94vw) !important;
        padding-inline: 1rem !important;
    }
}

/* Filter menu close icon and pill actions. */
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-head {
    justify-content: space-between;
    gap: 0.85rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close {
    position: relative;
    display: inline-flex;
    width: 2.15rem;
    height: 2.15rem;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    color: #111;
    cursor: pointer;
    padding: 0 !important;
    text-decoration: none !important;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close span,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close span::before {
    position: absolute;
    display: block;
    width: 1.05rem;
    height: 0.125rem;
    background: currentColor;
    content: "";
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close span {
    transform: rotate(45deg);
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close span::before {
    transform: rotate(90deg);
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close:hover,
body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-panel-close:focus-visible {
    background: #f1f1ee !important;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions button {
    min-height: 3rem;
    border-radius: 999rem;
    font-size: 0.875rem;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions .sn-plp-clear {
    background: #fff;
    color: #111;
}

body > .sn-plp-filters[data-sn-plp-panel] .sn-plp-filter-actions .sn-plp-apply {
    background: #111;
    color: #fff;
}

/* Final SharkNinja-reference PDP pass. */
body.single-product .sn-pdp-reference-main {
    --sn-pdp-reference-width: 65rem;
    --sn-pdp-main-media-width: 25rem;
    --sn-pdp-main-media-height: 37.5rem;
    background: #fff !important;
    color: #000;
}

body.single-product .sn-pdp-reference-hero.wp-block-columns {
    align-items: flex-start !important;
    display: grid !important;
    grid-template-columns: 30rem minmax(20rem, 22rem) !important;
}

body.single-product .sn-pdp-reference-summary-card {
    position: sticky;
    top: calc(var(--sn-fixed-stack-height, 108px) + 1rem);
}

body.single-product .sn-pdp-media-counter {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #d1d1d1;
    border-radius: 999px;
    color: #000;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 700;
    gap: 0.125rem;
    line-height: 1;
    min-height: 1.75rem;
    padding: 0 0.65rem;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    z-index: 5;
}

body.single-product .sn-pdp-media-kind {
    background: #000;
    border-radius: 999px;
    bottom: 0.35rem;
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    left: 50%;
    line-height: 1;
    padding: 0.25rem 0.4rem;
    position: absolute;
    text-transform: uppercase;
    transform: translateX(-50%);
    z-index: 2;
}

body.single-product .sn-pdp-hero .sn-pdp-product-meta {
    border-top: 1px solid #d1d1d1;
    margin: 1.5rem 0 0 !important;
    padding: 1rem 0 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-product-meta > * {
    margin: 0 0 0.55rem !important;
}

body.single-product .sn-pdp-hero .sn-pdp-price-strip {
    align-items: center;
    border-top: 1px solid #d1d1d1;
    display: flex !important;
    justify-content: space-between;
    margin: 1.35rem 0 0 !important;
    min-height: 3rem;
    padding: 0.95rem 0 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-total-label {
    color: #000;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25rem;
    margin: 0 !important;
}

body.single-product .sn-pdp-hero .sn-pdp-price-strip .sn-pdp-price-main {
    margin: 0 !important;
}

body.single-product .sn-pdp-purchase-benefits {
    border-top: 1px solid #d1d1d1;
    display: grid;
    gap: 0;
    margin: 1rem 0 0;
}

body.single-product .sn-pdp-purchase-benefit {
    align-items: center;
    border-bottom: 1px solid #e4e4e4;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    min-height: 3.25rem;
    padding: 0.7rem 0;
}

body.single-product .sn-pdp-purchase-benefit p {
    margin: 0;
}

body.single-product .sn-pdp-purchase-benefit strong,
body.single-product .sn-pdp-purchase-benefit span {
    display: block;
}

body.single-product .sn-pdp-purchase-benefit strong {
    color: #000;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1rem;
}

body.single-product .sn-pdp-purchase-benefit p span {
    color: #5d5d5d;
    font-size: 0.72rem;
    line-height: 1rem;
}

body.single-product .sn-pdp-purchase-benefit-icon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1.25rem 1.25rem;
    display: block;
    height: 1.6rem;
    width: 1.6rem;
}

body.single-product .sn-pdp-purchase-benefit-shipping {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7.5h11v9H3v-9Zm11 3h3.2L21 14.2v2.3h-7v-6ZM6.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-purchase-benefit-returns {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7h8.5a4.5 4.5 0 1 1 0 9H8m0 0 3-3m-3 3 3 3M7 7l3-3M7 7l3 3' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-purchase-benefit-warranty {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 3 7 3v5c0 4.5-3 7.8-7 10-4-2.2-7-5.5-7-10V6l7-3Zm-3 9 2 2 4-4' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.single-product .sn-pdp-compare-chart {
    background: #f6f6f6;
    border-radius: 8px;
    margin: 1.5rem 0 0;
    overflow: hidden;
}

body.single-product .sn-pdp-compare-chart img {
    display: block;
    height: auto;
    width: 100%;
}

body.single-product .sn-pdp-feature-media,
body.single-product .sn-pdp-official-highlights .sn-pdp-official-card figure,
body.single-product .sn-pdp-official-highlights .sn-pdp-official-card img,
body.single-product .sn-pdp-owner-inner,
body.single-product .sn-pdp-owner-media,
body.single-product .sn-pdp-owner-media img,
body.single-product .sn-pdp-owner-copy,
body.single-product .sn-pdp-direct-benefits-grid article,
body.single-product .sn-pdp-recommendation-card,
body.single-product .sn-pdp-recommendation-media,
body.single-product .sn-pdp-recommendation-media img {
    border-radius: 8px !important;
}

body.single-product .sn-pdp-shop-direct {
    padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
    padding-top: clamp(2.5rem, 5vw, 4rem) !important;
}

body.single-product .sn-pdp-shop-direct .sn-home-section-head {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}

@media (max-width: 980px) {
    body.single-product .sn-pdp-reference-hero.wp-block-columns {
        grid-template-columns: 1fr !important;
    }

    body.single-product .sn-pdp-reference-summary-card {
        position: relative;
        top: auto;
    }
}

@media (max-width: 600px) {
    body.single-product .sn-pdp-reference-main {
        --sn-pdp-main-media-height: min(31rem, 118vw);
    }

    body.single-product .sn-pdp-media-counter {
        right: 0.5rem;
        top: 0.5rem;
    }

    body.single-product .sn-pdp-hero .sn-pdp-price-strip {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }
}

/* Catalog fallback PDP: SharkNinja storepage/product-detail-page treatment. */
.sn-route-main.sn-route-catalog_product {
    background: #fff;
}

.sn-route-catalog-product.product-detail-page {
    --sn-route-pdp-ink: #000;
    --sn-route-pdp-muted: #4f4f4f;
    --sn-route-pdp-subtle: #6d6d6d;
    --sn-route-pdp-line: #d1d1d1;
    --sn-route-pdp-soft: #f6f6f6;
    --sn-route-pdp-green: #2a7156;
    --sn-route-pdp-green-bg: #bedccb;
    display: block !important;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    color: var(--sn-route-pdp-ink);
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
}

.sn-route-catalog-product.product-detail-page *,
.sn-route-catalog-product.product-detail-page *::before,
.sn-route-catalog-product.product-detail-page *::after {
    box-sizing: border-box;
}

.sn-route-catalog-product.product-detail-page img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.sn-route-catalog-product.product-detail-page .container {
    width: 100%;
    max-width: 91rem;
    margin: 0 auto;
    padding-inline: clamp(1rem, 3vw, 2.5rem);
}

.sn-route-catalog-product.product-detail-page .pdp-top-section {
    border-bottom: 0.0625rem solid #ededed;
}

.sn-route-catalog-product.product-detail-page .product-breadcrumb {
    padding: 0.85rem 0;
}

.sn-route-catalog-product.product-detail-page .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    color: var(--sn-route-pdp-subtle);
    font-size: 0.8125rem;
    line-height: 1.25rem;
    list-style: none;
}

.sn-route-catalog-product.product-detail-page .breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.sn-route-catalog-product.product-detail-page .breadcrumb-item + .breadcrumb-item::before {
    color: #8a8a8a;
    content: "/";
}

.sn-route-catalog-product.product-detail-page .breadcrumb-link {
    color: inherit;
    text-decoration: none;
}

.sn-route-catalog-product.product-detail-page .breadcrumb-link:hover,
.sn-route-catalog-product.product-detail-page .breadcrumb-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.sn-route-catalog-product.product-detail-page .main-product-details-wrapper {
    margin-top: 1.5rem !important;
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.sn-route-catalog-product.product-detail-page .main-product-details-wrapper > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(21rem, 25.5rem);
    gap: clamp(2rem, 4.5vw, 4rem);
    align-items: start;
    justify-content: space-between;
}

.sn-route-catalog-product.product-detail-page .primary-images {
    min-width: 0;
    max-width: 51.75rem;
}

.sn-route-catalog-product.product-detail-page .pdp-fixed-image {
    position: sticky;
    top: calc(var(--sn-fixed-stack-height, 0px) + 0.75rem);
    transition: opacity 220ms ease, transform 220ms ease, top 220ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-gallery {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumbnails {
    display: grid;
    gap: 0.75rem;
    max-height: min(42rem, calc(100vh - var(--sn-fixed-stack-height, 0px) - 3rem));
    overflow: auto;
    padding: 0.125rem;
    scrollbar-width: thin;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb {
    display: flex;
    aspect-ratio: 1;
    width: 4rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid transparent;
    border-radius: 8px;
    background: var(--sn-route-pdp-soft);
    cursor: pointer;
    padding: 0.35rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb:hover,
.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb:focus-visible,
.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb.is-active {
    border-color: var(--sn-route-pdp-ink);
    outline: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-stage {
    position: relative;
    display: grid;
    min-height: clamp(32rem, 56vw, 42rem);
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: var(--sn-route-pdp-soft);
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-panel {
    grid-area: 1 / 1;
    display: flex;
    width: fit-content;
    max-width: 100%;
    height: fit-content;
    max-height: 100%;
    min-width: 0;
    align-items: center;
    align-self: center;
    justify-content: center;
    justify-self: center;
    padding: 0;
    opacity: 0;
    transform: translateX(0.75rem);
    transition: opacity 220ms ease, transform 220ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-panel[hidden] {
    display: none !important;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-panel.is-active {
    opacity: 1;
    transform: translateX(0);
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-panel img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: clamp(28rem, 50vw, 38rem);
    object-fit: contain;
    mix-blend-mode: multiply;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-media-empty {
    color: var(--sn-route-pdp-subtle);
    font-weight: 700;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
    cursor: pointer;
    transform: translateY(-50%);
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-prev {
    left: 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-next {
    right: 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-arrow::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.65rem;
    height: 0.65rem;
    border-top: 0.125rem solid currentColor;
    border-right: 0.125rem solid currentColor;
    content: "";
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-next::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-counter {
    position: absolute;
    z-index: 2;
    right: 1rem;
    bottom: 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--sn-route-pdp-ink);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.45rem 0.65rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-summary {
    min-width: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-summary > .row > .col {
    min-width: 0;
}

.sn-route-catalog-product.product-detail-page .product-badge {
    display: inline-flex;
    min-height: 1.5rem;
    align-items: center;
    width: fit-content;
    margin-bottom: 0.75rem;
    border-radius: 5px;
    background: var(--sn-route-pdp-green-bg);
    color: var(--sn-route-pdp-green);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    padding: 0.25rem 0.5rem;
}

.sn-route-catalog-product.product-detail-page .product-name {
    margin: 0 0 1.25rem;
    border: 0;
    color: var(--sn-route-pdp-ink);
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    letter-spacing: 0;
}

.sn-route-catalog-product.product-detail-page .product-model {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--sn-route-pdp-subtle);
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.125rem;
    letter-spacing: 0;
}

.sn-route-catalog-product.product-detail-page .ratings-wishlist-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    color: var(--sn-route-pdp-subtle);
    font-size: 0.8125rem;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-rating span {
    color: var(--sn-route-pdp-ink);
    font-size: 0.78rem;
    letter-spacing: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-rating strong,
.sn-route-catalog-product.product-detail-page .sn-route-pdp-rating em {
    font-style: normal;
    font-weight: 500;
}

.sn-route-catalog-product.product-detail-page .add-to-wish-list {
    position: relative;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.25rem 0.9rem rgba(0, 0, 0, 0.12);
    color: var(--sn-route-pdp-ink);
    cursor: pointer;
}

.sn-route-catalog-product.product-detail-page .add-to-wish-list::before,
.sn-route-catalog-product.product-detail-page .add-to-wish-list::after {
    position: absolute;
    top: 0.7rem;
    left: 1rem;
    width: 0.48rem;
    height: 0.8rem;
    border-radius: 0.48rem 0.48rem 0 0;
    box-shadow: inset 0 0 0 0.1rem currentColor;
    content: "";
    transform: rotate(-45deg);
    transform-origin: 0 100%;
}

.sn-route-catalog-product.product-detail-page .add-to-wish-list::after {
    left: 0.85rem;
    transform: rotate(45deg);
    transform-origin: 100% 100%;
}

.sn-route-catalog-product.product-detail-page .add-to-wish-list.is-active {
    background: var(--sn-route-pdp-ink);
    color: #fff;
}

.sn-route-catalog-product.product-detail-page .add-to-wish-list i {
    display: none;
}

.sn-route-catalog-product.product-detail-page .short-description-container {
    position: relative;
    margin-bottom: 1rem;
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
    padding-bottom: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .short-description-text {
    max-height: 4.3rem;
    overflow: hidden;
    color: var(--sn-route-pdp-muted);
    font-size: 1rem;
    line-height: 1.375rem;
    transition: max-height 220ms ease;
}

.sn-route-catalog-product.product-detail-page .short-description-container.is-expanded .short-description-text {
    max-height: 24rem;
}

.sn-route-catalog-product.product-detail-page .fade-overlay {
    position: absolute;
    right: 0;
    bottom: 3.1rem;
    left: 0;
    height: 2rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
}

.sn-route-catalog-product.product-detail-page .short-description-container.is-expanded .fade-overlay {
    opacity: 0;
}

.sn-route-catalog-product.product-detail-page .read-more,
.sn-route-catalog-product.product-detail-page .read-less {
    margin-top: 0.5rem;
    border: 0;
    background: transparent;
    color: var(--sn-route-pdp-ink);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.sn-route-catalog-product.product-detail-page .hide {
    display: none !important;
}

.sn-route-catalog-product.product-detail-page .attributes {
    margin-top: 0;
}

.sn-route-catalog-product.product-detail-page .variant-selector {
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
}

.sn-route-catalog-product.product-detail-page .color-swatch-wrapper {
    padding: 1rem 0 0.5rem;
}

.sn-route-catalog-product.product-detail-page .non-input-label {
    display: block;
    margin-bottom: 1rem;
}

.sn-route-catalog-product.product-detail-page .color-heading {
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .color-name {
    color: var(--sn-route-pdp-ink);
    font-size: 1rem;
    line-height: 1.375rem;
}

.sn-route-catalog-product.product-detail-page .swatch-display-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.sn-route-catalog-product.product-detail-page .color-attribute.circle-button {
    display: inline-flex;
    width: 1.75rem;
    height: 1.75rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    padding: 0;
    text-decoration: none;
}

.sn-route-catalog-product.product-detail-page .outer-span {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 0.0625rem solid transparent;
}

.sn-route-catalog-product.product-detail-page .color-attribute.is-selected .outer-span,
.sn-route-catalog-product.product-detail-page .color-attribute:hover .outer-span,
.sn-route-catalog-product.product-detail-page .color-attribute:focus-visible .outer-span {
    border-color: var(--sn-route-pdp-muted);
}

.sn-route-catalog-product.product-detail-page .swatch-circle {
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    border: 0.0625rem solid #e7e7e7;
    border-radius: 50%;
}

.sn-route-catalog-product.product-detail-page .color-attribute.is-selected .swatch-circle {
    width: 1.375rem;
    height: 1.375rem;
}

.sn-route-catalog-product.product-detail-page .qty-wrapper {
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
    padding: 1.5rem 0;
}

.sn-route-catalog-product.product-detail-page .qty-wrapper label {
    display: block;
    margin-bottom: 0.75rem;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .qty-input-block {
    display: flex;
    width: 5.25rem;
    height: 1.875rem;
    align-items: center;
    border-radius: 2.5rem;
    background: var(--sn-route-pdp-soft);
}

.sn-route-catalog-product.product-detail-page .qty-minus,
.sn-route-catalog-product.product-detail-page .qty-plus {
    position: relative;
    width: 1.875rem;
    height: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.sn-route-catalog-product.product-detail-page .qty-minus::before,
.sn-route-catalog-product.product-detail-page .qty-plus::before,
.sn-route-catalog-product.product-detail-page .qty-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.7rem;
    height: 0.1rem;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%);
}

.sn-route-catalog-product.product-detail-page .qty-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.sn-route-catalog-product.product-detail-page .qty-input {
    width: 1.5rem;
    height: 1.875rem;
    min-height: 0;
    border: 0;
    background: transparent;
    color: var(--sn-route-pdp-ink);
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1rem;
    padding: 0;
    text-align: center;
}

.sn-route-catalog-product.product-detail-page #AV2501AE-quantity {
    height: 1.875rem !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sn-route-catalog-product.product-detail-page .qty-input::-webkit-outer-spin-button,
.sn-route-catalog-product.product-detail-page .qty-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.sn-route-catalog-product.product-detail-page .qty-input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.sn-route-catalog-product.product-detail-page .qty-error {
    min-height: 1.125rem;
    padding-top: 0.25rem;
    color: #b43f28;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.125rem;
}

.sn-route-catalog-product.product-detail-page .prices-add-to-cart-actions,
.sn-route-catalog-product.product-detail-page .exotel-affirm-section,
.sn-route-catalog-product.product-detail-page .warranty-section {
    position: static;
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
    background: transparent;
    box-shadow: none;
    padding: 1.5rem 0;
}

.sn-route-catalog-product.product-detail-page .prices-add-to-cart-actions {
    border-bottom: 0;
    padding: 2rem 0 0;
}

.sn-route-catalog-product.product-detail-page .prices {
    padding: 0 0 1.25rem;
    text-align: left;
}

.sn-route-catalog-product.product-detail-page .price {
    color: var(--sn-route-pdp-ink);
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem;
    text-align: left;
}

.sn-route-catalog-product.product-detail-page .sales {
    color: inherit;
    font-weight: 700;
}

.sn-route-catalog-product.product-detail-page .availability-and-promo {
    margin-bottom: 1rem;
}

.sn-route-catalog-product.product-detail-page .product-availability .availability-msg {
    display: flex;
    align-items: flex-start;
    color: #b12024;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .product-availability .availability-msg.coming-soon {
    color: #3b8e6c;
}

.sn-route-catalog-product.product-detail-page .product-availability .availability-msg::before {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 1.25rem;
    margin-right: 0.5rem;
    border: 0.125rem solid currentColor;
    border-radius: 50%;
    content: "";
}

.sn-route-catalog-product.product-detail-page .cart-and-ipay {
    text-align: left;
}

.sn-route-catalog-product.product-detail-page .add-to-cart,
.sn-route-catalog-product.product-detail-page .add-to-cart-global.btn {
    display: inline-flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--sn-route-pdp-ink);
    border-radius: 999px;
    background: var(--sn-route-pdp-ink);
    color: #fff;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.375rem;
    padding: 0.625rem 2rem;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.sn-route-catalog-product.product-detail-page .add-to-cart:hover,
.sn-route-catalog-product.product-detail-page .add-to-cart:focus-visible {
    background: #333;
    color: #fff;
    transform: translateY(-0.0625rem);
}

.sn-route-catalog-product.product-detail-page .notify-me-button {
    background: #3b8e6c;
    border-color: #3b8e6c;
}

.sn-route-catalog-product.product-detail-page .exotel-affirm-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    color: var(--sn-route-pdp-subtle);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .free-shipping {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.sn-route-catalog-product.product-detail-page .shipping-icon {
    position: relative;
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    border: 0.125rem solid var(--sn-route-pdp-ink);
    border-radius: 0.18rem;
}

.sn-route-catalog-product.product-detail-page .shipping-icon::before {
    position: absolute;
    top: -0.42rem;
    left: 0.24rem;
    width: 0.58rem;
    height: 0.58rem;
    border: 0.125rem solid var(--sn-route-pdp-ink);
    border-bottom: 0;
    border-radius: 0.4rem 0.4rem 0 0;
    content: "";
}

.sn-route-catalog-product.product-detail-page .warranty-section {
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .warranty-message {
    display: flex;
    justify-content: center;
    padding: 1.5rem 0;
    text-align: center;
}

.sn-route-catalog-product.product-detail-page .warranty-message .message {
    color: var(--sn-route-pdp-muted);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .compare-helptext-block {
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
}

.sn-route-catalog-product.product-detail-page .compare-helptext {
    margin: 2rem 0;
    border-radius: 8px;
    background: #f3f3f3;
    color: var(--sn-route-pdp-ink);
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 1rem 0.75rem;
}

.sn-route-catalog-product.product-detail-page .helptext-text-bold {
    font-weight: 700;
}

.sn-route-catalog-product.product-detail-page .compare-helptext a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.sn-route-catalog-product.product-detail-page .accordion {
    border-bottom: 0;
}

.sn-route-catalog-product.product-detail-page .accordion-item {
    border-bottom: 0.0625rem solid var(--sn-route-pdp-line);
}

.sn-route-catalog-product.product-detail-page .accordion-header {
    margin: 0;
}

.sn-route-catalog-product.product-detail-page .accordion-button {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 0;
    background: transparent;
    color: var(--sn-route-pdp-ink);
    cursor: pointer;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25rem;
    padding: 1rem 0;
    text-align: left;
}

.sn-route-catalog-product.product-detail-page .accordion-icon {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 1.25rem;
}

.sn-route-catalog-product.product-detail-page .accordion-icon::before,
.sn-route-catalog-product.product-detail-page .accordion-icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 0.125rem;
    background: currentColor;
    content: "";
    transform: translate(-50%, -50%);
}

.sn-route-catalog-product.product-detail-page .accordion-icon::after {
    transition: transform 160ms ease;
    transform: translate(-50%, -50%) rotate(90deg);
}

.sn-route-catalog-product.product-detail-page .accordion-button[aria-expanded="true"] .accordion-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.sn-route-catalog-product.product-detail-page .accordion-collapse {
    overflow: hidden;
}

.sn-route-catalog-product.product-detail-page .accordion-collapse[hidden] {
    display: none;
}

.sn-route-catalog-product.product-detail-page .accordion-body {
    color: var(--sn-route-pdp-muted);
    font-size: 0.875rem;
    line-height: 1.35rem;
    padding: 0 0 1.25rem;
}

.sn-route-catalog-product.product-detail-page .accordion-body p,
.sn-route-catalog-product.product-detail-page .accordion-body ul {
    margin-top: 0;
}

.sn-route-catalog-product.product-detail-page .accordion-body ul {
    display: grid;
    gap: 0.5rem;
    padding-left: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .product-detail-attributes {
    display: grid;
    gap: 0.6rem;
    margin-top: 1rem;
    border-top: 0.0625rem solid #ededed;
    padding-top: 1rem;
}

.sn-route-catalog-product.product-detail-page .product-detail-attributes .item-row {
    display: grid;
    grid-template-columns: minmax(7rem, 42%) minmax(0, 1fr);
    gap: 0.75rem;
}

.sn-route-catalog-product.product-detail-page .pd-attribute-label {
    color: var(--sn-route-pdp-ink);
    font-weight: 700;
}

.sn-ready .sn-route-catalog-product.product-detail-page.sn-reveal,
.sn-ready .sn-route-catalog-product.product-detail-page.sn-reveal.is-visible {
    transform: none !important;
}

.sn-route-catalog-product.product-detail-page {
    --sn-route-sticky-atc-height: 6.5rem;
}

body.sn-route-pdp-sticky-safe {
    --sn-route-sticky-atc-height: 6.5rem;
}

body.sn-route-pdp-sticky-safe::after {
    display: block;
    height: calc(var(--sn-route-sticky-atc-height, 6.5rem) + 1.5rem);
    content: "";
    pointer-events: none;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed {
    position: fixed !important;
    z-index: 1200;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100%;
    margin: 0 !important;
    border-radius: 1rem 1rem 0 0;
    background: #fff;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.15);
    opacity: 0;
    padding: 1rem 0;
    padding: 1rem 0 max(1rem, env(safe-area-inset-bottom));
    pointer-events: none;
    transform: translate3d(0, calc(100% + 1px), 0);
    transition: transform 240ms ease, opacity 240ms ease;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed.sn-route-sticky-atc.slideup,
.sn-route-catalog-product.product-detail-page .sticky-fixed.slideup {
    position: fixed !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) !important;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .name-price {
    min-width: 0;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .product-name {
    display: -webkit-box;
    max-width: 46rem;
    margin: 0 0 0.35rem;
    overflow: hidden;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.375rem;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .prices {
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .price {
    font-size: 1.25rem;
    line-height: 1.5rem;
}

.sn-route-catalog-product.product-detail-page .sticky-fixed .cart-and-ipay {
    width: min(18.75rem, 36vw);
    flex: 0 0 auto;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-row {
    background: #fff;
    border-top: 0.0625rem solid var(--sn-route-pdp-line);
    margin: clamp(2rem, 4vw, 3.5rem) 0 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed {
    max-width: 86rem;
    padding: clamp(2.5rem, 5vw, 4rem) 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .text-headline {
    color: var(--sn-route-pdp-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.125rem, 1.6vw, 1.5rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 1.5rem;
    text-transform: uppercase;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .einstein-dyn-carousel-container,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .einstein-carousel-container {
    margin: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .einstein-carousel-container {
    position: relative;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 0 1rem;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-track::-webkit-scrollbar {
    display: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-track.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card {
    flex: 0 0 calc((100% - 3.75rem) / 4);
    min-width: 0;
    scroll-snap-align: start;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-media {
    display: flex;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
    background: #f6f6f6;
    text-decoration: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-media img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1.125rem;
    object-fit: contain;
    transition: transform 220ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card:hover .sn-route-customers-viewed-media img,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card:focus-within .sn-route-customers-viewed-media img,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card.is-active .sn-route-customers-viewed-media img {
    transform: scale(1.035);
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-copy {
    padding-top: 0.9rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-rating {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 1rem;
    margin-bottom: 0.5rem;
    color: var(--sn-route-pdp-ink);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-rating span {
    color: #111;
    font-size: 0.76rem;
    letter-spacing: 0.04rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-copy h3 {
    display: -webkit-box;
    margin: 0 0 0.45rem;
    overflow: hidden;
    color: var(--sn-route-pdp-ink);
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25rem;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-copy h3 a {
    color: inherit;
    text-decoration: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-copy h3 a:hover,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-copy h3 a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.125rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-category,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-model {
    margin: 0 0 0.25rem;
    color: var(--sn-route-pdp-muted);
    font-size: 0.75rem;
    line-height: 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-price {
    margin: 0.55rem 0 0;
    color: var(--sn-route-pdp-ink);
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .control-bar {
    position: absolute;
    top: 35%;
    right: 0;
    left: 0;
    z-index: 3;
    display: block;
    height: 0;
    pointer-events: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .nav-arrows {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-arrow {
    position: relative;
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid #d1d1d1;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.12);
    color: #000;
    pointer-events: auto;
    transition: background-color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-arrow::before {
    width: 0.68rem;
    height: 0.68rem;
    border-top: 0.125rem solid currentColor;
    border-right: 0.125rem solid currentColor;
    content: "";
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-prev {
    transform: translateX(-50%);
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-prev::before {
    transform: rotate(-135deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-next {
    transform: translateX(50%);
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-next::before {
    transform: rotate(45deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-arrow:hover,
.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-arrow:focus-visible {
    background: #f6f6f6;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-arrow:disabled {
    opacity: 0.35;
    pointer-events: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-dots {
    display: flex;
    justify-content: center;
    gap: 0.45rem;
    min-height: 0.625rem;
    margin-top: 0.6rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-dots[hidden] {
    display: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-dots button {
    width: 0.5rem;
    height: 0.5rem;
    border: 0;
    border-radius: 999px;
    background: #c9c9c9;
    padding: 0;
    transition: background-color 160ms ease, transform 160ms ease, width 160ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-dots button.is-active {
    width: 1.5rem;
    background: #111;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners-row {
    background: #fff;
    margin: 0;
    padding: 0 1rem clamp(3.5rem, 6vw, 5rem);
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners {
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .pdp-custom-container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 80rem;
    padding: 0;
    width: min(100%, calc(100vw - 2rem));
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-icon-links-wrapper,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-fifty-links-and-icons {
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component {
    align-items: stretch;
    background: #f6f6f6;
    border-radius: 1rem;
    display: flex;
    overflow: hidden;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 420ms ease, transform 420ms ease;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners.is-visible .image-link-icon-component,
.sn-ready.sn-reduced-motion .sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component {
    opacity: 1;
    transform: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-image-container {
    align-items: center;
    background: #f6f6f6;
    display: flex;
    flex: 0 0 50%;
    justify-content: center;
    min-height: clamp(28rem, 42vw, 36rem);
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners picture {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners-image {
    display: block;
    height: auto;
    max-height: clamp(24rem, 36vw, 32rem);
    max-width: min(100%, 34rem);
    object-fit: contain;
    transition: transform 260ms ease;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component:hover .sn-route-product-owners-image,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component:focus-within .sn-route-product-owners-image {
    transform: scale(1.025);
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners-placeholder {
    align-items: center;
    color: var(--sn-route-pdp-muted);
    display: flex;
    font-size: 0.95rem;
    font-weight: 700;
    justify-content: center;
    min-height: 18rem;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-text-container {
    align-items: center;
    background: #f6f6f6;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    min-height: clamp(28rem, 42vw, 36rem);
    padding: clamp(3rem, 5.4vw, 6.5625rem) clamp(2.5rem, 3.75vw, 4.5rem);
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .spacing-container,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .text-container {
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .heading {
    color: #000;
    font-family: "Plus Jakarta Sans", "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2.25rem;
    margin: 0 0 3rem;
    padding: 0;
    text-align: center;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .links-icons-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0 auto;
    max-width: 32rem;
    padding: 0;
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-icon {
    margin: 0;
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 1.25rem;
    color: #000;
    display: flex;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    gap: 0.75rem;
    line-height: 1.375rem;
    min-height: 3.5rem;
    padding: 1rem 4rem 1rem 1.25rem;
    position: relative;
    text-align: left;
    text-decoration: none;
    transition: background-color 180ms ease, transform 180ms ease;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block {
    opacity: 0;
    transform: translateY(0.75rem);
    transition: background-color 180ms ease, opacity 360ms ease, transform 360ms ease;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners.is-visible .link-block,
.sn-ready.sn-reduced-motion .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block {
    opacity: 1;
    transform: none;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners.is-visible .link-icon:nth-child(2) .link-block {
    transition-delay: 80ms;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners.is-visible .link-icon:nth-child(3) .link-block {
    transition-delay: 160ms;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-product-owners.is-visible .link-icon:nth-child(4) .link-block {
    transition-delay: 240ms;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block::after {
    background: transparent url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.84 9.43c.16.15.24.36.24.57s-.08.41-.24.56l-5.73 5.47a.76.76 0 0 1-1.1-.02.76.76 0 0 1 .03-1.1l4.31-4.13H3.28a.78.78 0 0 1 0-1.56h11.07l-4.32-4.12a.76.76 0 0 1-.02-1.1.76.76 0 0 1 1.1-.03l5.73 5.47Z' fill='%23000'/%3E%3C/svg%3E") center / 1.25rem 1.25rem no-repeat;
    border: 0;
    border-radius: 2.5rem;
    content: "";
    height: 2rem;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 180ms ease;
    width: 2rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block:hover,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block:focus-visible,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block.is-active {
    background: #fff;
}

.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block:hover::after,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block:focus-visible::after,
.sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block.is-active::after {
    background-color: #f6f6f6;
}

.sn-route-catalog-product.product-detail-page .sn-route-owner-icon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    flex: 0 0 1.5rem;
    height: 1.5rem;
    width: 1.5rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-owner-icon-shield {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 11.5 11 13.5 15.5 9M20 12c0 4.9-5.35 8.48-7.3 9.62-.22.13-.33.19-.49.22a1.05 1.05 0 0 1-.42 0c-.16-.03-.27-.09-.49-.22C9.35 20.48 4 16.9 4 12V7.22c0-.8 0-1.2.13-1.55.12-.3.3-.57.55-.79.27-.24.65-.38 1.4-.66l5.36-2.01c.2-.08.31-.12.42-.13.09-.02.19-.02.28 0 .11.01.22.05.42.13l5.36 2.01c.75.28 1.13.42 1.4.66.24.22.43.49.55.79.13.35.13.75.13 1.55V12Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sn-route-catalog-product.product-detail-page .sn-route-owner-icon-package {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.5 7.28 12 12m0 0L3.5 7.28M12 12v9.5m2-.61-1.22.68c-.28.16-.43.23-.58.27-.13.02-.27.02-.4 0-.15-.04-.3-.11-.58-.27l-7.4-4.11c-.3-.17-.45-.25-.56-.37a1.2 1.2 0 0 1-.21-.36C3 16.57 3 16.4 3 16.06V7.94c0-.34 0-.51.05-.67.05-.14.12-.26.21-.36.11-.12.26-.2.56-.37l7.4-4.11c.28-.16.43-.24.58-.27.13-.03.27-.03.4 0 .15.03.3.11.58.27l7.4 4.11c.3.17.45.25.56.37.1.1.17.22.21.36.05.16.05.33.05.67v4.56M7.5 4.5l9 5M19 21v-6m-3 3h6' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sn-route-catalog-product.product-detail-page .sn-route-owner-icon-wrench {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.63 7.63c-.4-.4-.59-.6-.67-.82a1.04 1.04 0 0 1 0-.62c.08-.23.27-.43.67-.82l2.84-2.84A6.02 6.02 0 0 0 10 8c0 .49.06.97.17 1.43.12.49.18.73.17.88-.01.17-.04.25-.11.4-.07.13-.21.27-.48.54L3.5 17.5a2.12 2.12 0 0 0 3 3l6.25-6.25c.27-.27.41-.41.54-.48.15-.07.23-.1.4-.11.15-.01.39.05.88.17A6 6 0 0 0 22 8c0-.88-.19-1.72-.53-2.47l-2.84 2.84c-.4.4-.59.59-.82.67-.2.07-.42.07-.62 0-.23-.08-.42-.27-.82-.67l-.74-.74Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sn-route-catalog-product.product-detail-page .sn-route-owner-icon-mail {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2 7 8.16 5.72c.66.46.99.69 1.36.78.31.08.65.08.96 0 .37-.09.7-.32 1.36-.78L22 7M6.8 20h10.4c1.68 0 2.52 0 3.16-.33a3 3 0 0 0 1.31-1.31c.33-.64.33-1.48.33-3.16V8.8c0-1.68 0-2.52-.33-3.16a3 3 0 0 0-1.31-1.31C19.72 4 18.88 4 17.2 4H6.8c-1.68 0-2.52 0-3.16.33a3 3 0 0 0-1.31 1.31C2 6.28 2 7.12 2 8.8v6.4c0 1.68 0 2.52.33 3.16a3 3 0 0 0 1.31 1.31C4.28 20 5.12 20 6.8 20Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy-row {
    background: #fff;
    margin: 0;
    padding: 0 1rem clamp(3.5rem, 6vw, 5rem);
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy.two-vertical-content-container.container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 80rem;
    padding: 0 0 2.5rem;
    width: min(100%, calc(100vw - 2rem));
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .content-asset,
.sn-route-catalog-product.product-detail-page .sn-route-why-buy .why-buy-container,
.sn-route-catalog-product.product-detail-page .sn-route-why-buy .col-12 {
    width: 100%;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .why-buy-container.row {
    margin: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .header-container {
    padding: 2.5rem 0 1rem;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy .header-container,
.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card {
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 380ms ease, transform 380ms ease;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .header-container,
.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .benefit-card,
.sn-ready.sn-reduced-motion .sn-route-catalog-product.product-detail-page .sn-route-why-buy .header-container,
.sn-ready.sn-reduced-motion .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card {
    opacity: 1;
    transform: none;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .benefit-card:nth-child(1) {
    transition-delay: 80ms;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .benefit-card:nth-child(2) {
    transition-delay: 150ms;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .benefit-card:nth-child(3) {
    transition-delay: 220ms;
}

.sn-ready .sn-route-catalog-product.product-detail-page .sn-route-why-buy.is-visible .benefit-card:nth-child(4) {
    transition-delay: 290ms;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .eyebrow-title {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25rem;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .main-title {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2.1rem;
    margin: 0 0 0.5rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefits-card-container {
    align-items: stretch;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card {
    flex: 1 1 0;
    border: 0;
    border-right: 0.0625rem solid #d1d1d1;
    margin: 0 0.875rem 0 0;
    padding: 0.75rem 0.875rem 1.125rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card:last-child {
    border-right-width: 0;
    margin-right: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__icon-container {
    display: block;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__icon {
    display: inline-block;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 0 1.25rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: transform 180ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card:hover .benefit__icon,
.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card:focus-within .benefit__icon,
.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card.is-active .benefit__icon {
    transform: scale(1.04);
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .shopping-bag-icon {
    background-image: url("./assets/images/why-buy/shopping-bag-icon.svg");
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .calendar-icon {
    background-image: url("./assets/images/why-buy/calendar-icon.svg");
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .parcel-icon {
    background-image: url("./assets/images/why-buy/parcel-icon.svg");
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .shield-icon {
    background-image: url("./assets/images/why-buy/shield-icon.svg");
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__title {
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.75rem;
    margin: 0 0 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__description-text {
    color: #000;
    font-family: "DM Sans", Arial, Helvetica, serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.375rem;
    margin: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__description-text a {
    color: #000;
    text-decoration: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__description-text u {
    text-decoration: underline;
}

body.sn-route-cart-modal-open {
    overflow: hidden;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: block;
    opacity: 1;
    pointer-events: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal[hidden] {
    display: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.38);
    opacity: 0;
    transition: opacity 220ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal.is-open .sn-route-cart-modal-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-dialog {
    position: fixed !important;
    z-index: 2210;
    top: 0;
    right: 0;
    width: min(28rem, 100vw);
    height: 100%;
    margin: 0;
    overflow-y: auto;
    background: #fff;
    pointer-events: auto;
    scrollbar-gutter: stable;
    transform: translateX(100%);
    transition: transform 260ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal.is-open .modal-dialog {
    transform: translateX(0);
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-dialog::-webkit-scrollbar {
    display: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-content {
    display: flex;
    position: relative;
    z-index: 1;
    min-height: 100vh;
    max-height: 100vh;
    flex-direction: column;
    overflow: auto;
    border: 0;
    border-radius: 0;
    background: #fff;
    padding: 0 1.5rem 2rem;
}

@supports (height: 100dvh) {
    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-content {
        min-height: 100dvh;
        max-height: 100dvh;
    }
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.25rem;
    border: 0;
    background: #fff;
    padding: 4rem 0 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .added-to-cart-header {
    display: flex;
    align-items: center;
    margin: 0;
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .added-to-cart-header::before {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.25rem;
    margin-right: 0.75rem;
    border-radius: 50%;
    background: #7abf9f;
    color: #fff;
    content: "\2713";
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close {
    position: relative;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #000;
    cursor: pointer;
    opacity: 1;
    padding: 0;
    text-shadow: none;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close::before,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.15rem;
    height: 0.125rem;
    background: currentColor;
    content: "";
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close:hover,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .close:focus-visible {
    background: #f3f3f3;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-body {
    flex: 0 0 auto;
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .add-to-cart-modal-main {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .product-image-wrapper {
    display: flex;
    width: 6.5rem;
    height: 6.5rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 6.5rem;
    overflow: hidden;
    border-radius: 0.6875rem;
    background: #f6f6f6;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .product-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-image-placeholder {
    color: var(--sn-route-pdp-muted);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1rem;
    text-align: center;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .product-side {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1rem;
    overflow-wrap: anywhere;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .success-item-pd-name,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .unit-price {
    margin: 0;
    color: #000;
    font-family: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .label,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .value,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .line-item-attributes {
    display: block;
    color: #6d6d6d;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .line-item-attributes.color {
    font-weight: 700;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-footer {
    flex-shrink: 0;
    margin: 1.25rem 0 0;
    border: 0;
    padding: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .bonus-product-viewcart {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 1rem;
    margin: 0;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .cart-flyout-footer-links {
    display: inline-flex;
    width: min(100%, 15.5rem);
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid #042a20;
    border-radius: 999px;
    cursor: pointer;
    font-family: "DM Sans", Arial, Helvetica, sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.375rem;
    padding: 0.625rem 1.35rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-primary {
    background: #042a20;
    color: #fff;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-secondary {
    background: #fff;
    color: #042a20;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-primary:hover,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-primary:focus-visible {
    border-color: #0a4a38;
    background: #0a4a38;
    color: #fff;
}

.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-secondary:hover,
.sn-route-catalog-product.product-detail-page .sn-route-cart-modal .btn-secondary:focus-visible {
    background: #f3f3f3;
    color: #042a20;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-toast {
    position: fixed;
    z-index: 1001;
    right: 1rem;
    bottom: 6.25rem;
    max-width: min(25rem, calc(100vw - 2rem));
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.18);
    color: var(--sn-route-pdp-ink);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25rem;
    padding: 0.9rem 1rem;
}

.sn-route-catalog-product.product-detail-page .sn-route-pdp-toast[hidden] {
    display: none;
}

@media (min-width: 1200px) {
    .sn-route-catalog-product.product-detail-page .main-product-details-wrapper {
        margin-top: 5rem !important;
    }

    .sn-route-catalog-product.product-detail-page .product-name {
        margin-top: 0;
    }
}

@media (max-width: 1199px) {
    .sn-route-catalog-product.product-detail-page .main-product-details-wrapper > .row {
        grid-template-columns: 1fr;
    }

    .sn-route-catalog-product.product-detail-page .primary-images {
        max-width: none;
    }

    .sn-route-catalog-product.product-detail-page .pdp-fixed-image {
        position: static;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-stage {
        min-height: clamp(24rem, 82vw, 36rem);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-panel img {
        max-height: clamp(20rem, 74vw, 32rem);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card {
        flex-basis: calc((100% - 2.5rem) / 3);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners-row {
        padding: 0 0.75rem 2.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .pdp-custom-container {
        width: min(100%, calc(100vw - 1.5rem));
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .image-link-icon-component {
        flex-direction: column;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-image-container {
        aspect-ratio: 1 / 0.72;
        flex: 0 0 auto;
        min-height: 0;
        padding: 1.75rem 1rem;
        width: 100%;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners-image {
        max-height: min(30rem, 70vw);
        max-width: min(100%, 32rem);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-text-container {
        min-height: 0;
        padding: 2.5rem 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .heading {
        font-size: 1.75rem;
        line-height: 2rem;
        margin-bottom: 2.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .links-icons-wrapper {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0;
        max-width: none;
        padding: 0 1.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-icon {
        flex: 0 0 50%;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block {
        align-items: center;
        background: transparent;
        flex-direction: column;
        font-size: 0.875rem;
        gap: 0.65rem;
        line-height: 1.25rem;
        margin-bottom: 1.5rem;
        min-height: 0;
        padding: 0 1rem;
        text-align: center;
        text-decoration: underline;
        text-underline-offset: 0.125rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block::after {
        content: none;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-icon:nth-child(2n) .link-block {
        padding-right: 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-icon:nth-child(2n + 1) .link-block {
        padding-left: 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-icon:nth-last-child(-n + 2) .link-block {
        margin-bottom: 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy-row {
        padding: 0 0.75rem 2.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy.two-vertical-content-container.container {
        width: min(100%, calc(100vw - 1.5rem));
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .header-container {
        padding: 2.5rem 0.75rem 1.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .main-title {
        font-size: 1.5rem;
        line-height: 1.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefits-card-container {
        flex-direction: column;
        align-items: flex-start;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card {
        width: 100%;
        border-right-width: 0;
        border-bottom: 0.0625rem solid #d1d1d1;
        margin: 0 0 1.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card:last-child {
        border-bottom-width: 0;
        margin-bottom: 1.375rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__title {
        font-size: 1.25rem;
        line-height: 1.5rem;
        margin-bottom: 1.125rem;
    }
}

@media (max-width: 767px) {
    .sn-route-catalog-product.product-detail-page .container {
        padding-inline: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .main-product-details-wrapper {
        margin-top: 1rem !important;
        padding-bottom: 6rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-gallery {
        display: flex;
        flex-direction: column-reverse;
        gap: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-thumbnails {
        display: flex;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-thumb {
        width: 3.75rem;
        min-width: 3.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-stage {
        min-height: min(28rem, 112vw);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-arrow {
        width: 2.4rem;
        height: 2.4rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-prev {
        left: 0.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-next {
        right: 0.5rem;
    }

    .sn-route-catalog-product.product-detail-page .product-name {
        font-size: 1.35rem;
        line-height: 1.6rem;
    }

    .sn-route-catalog-product.product-detail-page .sticky-fixed .container {
        align-items: stretch;
        flex-direction: column;
        gap: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sticky-fixed .cart-and-ipay {
        width: 100%;
    }

    .sn-route-catalog-product.product-detail-page .sticky-fixed .product-name {
        max-width: none;
        -webkit-line-clamp: 2;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-customers-viewed {
        padding-inline: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-customers-viewed-card {
        flex-basis: min(78vw, 18rem);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-customers-viewed .control-bar {
        display: none;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-image-container {
        aspect-ratio: 1 / 0.82;
        padding: 1.25rem 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners-image {
        max-height: min(24rem, 78vw);
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .fifty-text-container {
        padding: 2.25rem 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .heading {
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin-bottom: 2rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .links-icons-wrapper {
        padding: 0 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-product-owners .link-block {
        font-size: 0.8125rem;
        line-height: 1.18rem;
        padding-inline: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__icon-container {
        display: flex;
        align-items: center;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit__icon {
        width: 2rem;
        height: 2rem;
        margin: 0 0.5rem 0 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .header-container {
        padding-inline: 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-why-buy .benefit-card {
        padding-inline: 0;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-content {
        padding: 0 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-header {
        margin-bottom: 1.25rem;
        padding-top: 1rem;
        padding-bottom: 0.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .added-to-cart-header {
        color: #2a7156;
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .add-to-cart-modal-main {
        gap: 1rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .product-side {
        gap: 0.75rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-cart-modal .modal-footer {
        position: static;
        margin: 1.25rem 0 0;
        background: #fff;
        padding: 0 0 2rem;
    }

    .sn-route-catalog-product.product-detail-page .sn-route-pdp-toast {
        right: 0.75rem;
        bottom: 8.75rem;
        left: 0.75rem;
        max-width: none;
    }
}
