:root {
    --pm-ink: #101414;
    --pm-forest: #123b35;
    --pm-forest-dark: #071f1c;
    --pm-green: #1b7a55;
    --pm-gold: #d8a548;
    --pm-coral: #e26d4f;
    --pm-sky: #e8f3f1;
    --pm-paper: #fbfaf6;
    --pm-muted: #63706d;
    --pm-border: #dce4df;
    --pm-white: #ffffff;
    --pm-shadow: 0 18px 45px rgba(11, 31, 28, .13);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    color: var(--pm-ink);
    background: var(--pm-paper);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

.site-shell,
.site-main {
    max-width: 100%;
    overflow-x: hidden;
}

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

a {
    color: inherit;
    text-decoration: none;
}

p {
    margin: 0 0 1rem;
}

.wrap {
    width: min(1160px, calc(100% - 32px));
    margin-inline: auto;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.top-strip {
    color: var(--pm-white);
    background: var(--pm-forest-dark);
    font-size: .9rem;
}

.top-strip__inner {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: flex-end;
    min-height: 36px;
}

.top-strip__inner span {
    margin-right: auto;
    color: #b9d5cf;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(251, 250, 246, .96);
    border-bottom: 1px solid rgba(18, 59, 53, .1);
    backdrop-filter: blur(12px);
}

.nav-row {
    display: flex;
    position: relative;
    align-items: center;
    gap: 1.3rem;
    min-height: 82px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-width: 220px;
}

.brand__mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--pm-white);
    background: var(--pm-forest);
    border: 3px solid var(--pm-gold);
    border-radius: 50%;
    font-weight: 800;
    letter-spacing: 0;
}

.brand__text {
    display: grid;
    line-height: 1.1;
}

.brand__text strong {
    font-size: 1.2rem;
    color: var(--pm-forest-dark);
}

.brand__text small {
    color: var(--pm-muted);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.primary-nav {
    flex: 1;
}

.primary-nav .menu,
.site-footer .menu {
    display: flex;
    gap: 1.1rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
}

.primary-nav a {
    color: var(--pm-forest-dark);
    font-weight: 700;
}

.primary-nav a:hover,
.text-link:hover,
.site-footer a:hover {
    color: var(--pm-coral);
}

.nav-cta,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .72rem 1rem;
    border: 1px solid transparent;
    border-radius: 8px;
    font-weight: 800;
    line-height: 1.1;
}

.commerce-actions {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.commerce-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .6rem .78rem;
    color: var(--pm-forest-dark);
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 900;
}

.commerce-link--cart {
    gap: .45rem;
}

.commerce-link__count {
    display: grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 .35rem;
    color: var(--pm-white);
    background: var(--pm-coral);
    border-radius: 999px;
    font-size: .78rem;
}

.shop-search-bar {
    padding: .75rem 0;
    background: var(--pm-white);
    border-top: 1px solid var(--pm-border);
}

.product-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .6rem;
}

.product-search input[type="search"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select,
.woocommerce .quantity .qty {
    width: 100%;
    min-height: 44px;
    padding: .72rem .85rem;
    color: var(--pm-ink);
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
}

.product-search button {
    min-height: 44px;
    padding: .72rem 1rem;
    color: var(--pm-white);
    background: var(--pm-forest);
    border: 0;
    border-radius: 8px;
    font-weight: 900;
    cursor: pointer;
}

.nav-cta,
.button--accent {
    color: var(--pm-forest-dark);
    background: var(--pm-gold);
}

.button--light {
    color: var(--pm-white);
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .12);
}

.button--dark {
    color: var(--pm-white);
    background: var(--pm-forest);
}

.nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--pm-border);
    border-radius: 8px;
}

.nav-toggle span:not(.screen-reader-text) {
    display: block;
    width: 20px;
    height: 2px;
    margin: 4px auto;
    background: var(--pm-forest-dark);
}

.hero {
    min-height: 76vh;
    color: var(--pm-white);
    background-position: center;
    background-size: cover;
}

.mobile-storefront {
    display: none;
}

.desktop-storefront {
    display: none;
}

.hero__inner {
    display: grid;
    align-content: center;
    min-height: 76vh;
    padding: 6rem 0 4rem;
}

.eyebrow {
    margin-bottom: .7rem;
    color: var(--pm-coral);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .13em;
}

.hero h1,
.page-hero h1,
.shop-hero h1 {
    max-width: 760px;
    margin: 0 0 1rem;
    font-size: clamp(2.8rem, 7vw, 5.8rem);
    line-height: .98;
}

.hero__lead {
    max-width: 650px;
    color: #e2ece9;
    font-size: clamp(1.05rem, 2vw, 1.32rem);
}

.hero__actions,
.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.2rem;
}

.hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem;
}

.hero__stats span {
    min-width: 145px;
    padding: .85rem 1rem;
    color: #deebe8;
    background: rgba(5, 20, 18, .58);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
}

.hero__stats strong {
    display: block;
    color: var(--pm-white);
    font-size: 1.6rem;
    line-height: 1;
}

.commerce-strip {
    color: var(--pm-white);
    background: var(--pm-forest-dark);
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.commerce-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(255, 255, 255, .1);
}

.commerce-strip__grid div {
    padding: 1.1rem;
    background: var(--pm-forest-dark);
}

.commerce-strip strong,
.commerce-strip span {
    display: block;
}

.commerce-strip strong {
    color: var(--pm-gold);
    font-size: 1rem;
}

.commerce-strip span {
    color: #d2e3df;
    font-size: .92rem;
}

.section {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.section--intro {
    padding-top: 2.6rem;
    background: var(--pm-white);
}

.intro-grid,
.section-head,
.event-band,
.contact-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: 2rem;
    align-items: end;
}

.intro-grid h2,
.section-head h2,
.event-band h2,
.contact-panel h2 {
    max-width: 720px;
    margin: 0;
    color: var(--pm-forest-dark);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.05;
}

.section-head {
    margin-bottom: 1.5rem;
}

.section-head .text-link {
    justify-self: end;
    align-self: center;
}

.text-link {
    color: var(--pm-forest);
    font-weight: 900;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.category-card {
    display: grid;
    min-height: 120px;
    padding: 1.2rem;
    color: var(--pm-white);
    background: linear-gradient(135deg, var(--pm-forest-dark), var(--pm-forest));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(10, 34, 31, .08);
}

.category-card span {
    align-self: end;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.15;
}

.category-card em {
    color: #d6e7e3;
    font-style: normal;
}

.product-card,
.service-card,
.location-card,
.post-card {
    overflow: hidden;
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(10, 34, 31, .08);
}

.product-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--pm-sky);
}

.product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .28s ease;
}

.product-card:hover img {
    transform: scale(1.04);
}

.product-card__body,
.service-card,
.location-card,
.post-card {
    padding: 1.1rem;
}

.product-card__body span {
    display: inline-block;
    margin-bottom: .5rem;
    color: var(--pm-coral);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.product-card h3,
.service-card h3,
.location-card h3,
.post-card h2 {
    margin: 0 0 .55rem;
    color: var(--pm-forest-dark);
    font-size: 1.2rem;
    line-height: 1.25;
}

.product-card p,
.service-card p,
.location-card p,
.post-card p {
    color: var(--pm-muted);
}

.section--services,
.section--contact {
    background: var(--pm-sky);
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.service-card {
    border-top: 4px solid var(--pm-gold);
}

.section--event {
    color: var(--pm-white);
    background: var(--pm-forest-dark);
}

.event-band {
    align-items: center;
}

.event-band h2,
.contact-panel h2 {
    color: inherit;
}

.event-band p {
    max-width: 720px;
    color: #cfe0dc;
}

.event-band .button {
    justify-self: end;
}

.location-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.location-card {
    min-height: 160px;
    border-left: 4px solid var(--pm-green);
}

.contact-panel {
    align-items: center;
    padding: clamp(1.5rem, 4vw, 2.4rem);
    color: var(--pm-white);
    background: var(--pm-forest);
    border-radius: 8px;
    box-shadow: var(--pm-shadow);
}

.contact-panel p {
    color: #d9e8e5;
}

.contact-actions {
    justify-content: flex-end;
}

.page-hero,
.shop-hero {
    color: var(--pm-white);
    background: var(--pm-forest-dark);
    padding: clamp(4rem, 8vw, 6rem) 0;
}

.page-hero p,
.shop-hero p {
    max-width: 720px;
    color: #d5e5e1;
}

.content-section {
    padding: 3rem 0 5rem;
}

.content-wrap {
    max-width: 860px;
    color: var(--pm-ink);
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    padding: clamp(1.2rem, 4vw, 2.4rem);
}

.content-wrap a {
    color: var(--pm-green);
    font-weight: 800;
    text-decoration: underline;
}

.featured-image {
    margin: 0 0 1.5rem;
}

.post-list {
    display: grid;
    gap: 1rem;
}

.site-footer {
    color: #d5e5e1;
    background: var(--pm-forest-dark);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.25fr .72fr .72fr .86fr;
    gap: 2rem;
    padding: 3rem 0;
}

.site-footer h2 {
    margin: 0 0 .8rem;
    color: var(--pm-white);
    font-size: 1rem;
}

.site-footer p {
    color: #bed4d0;
}

.brand--footer .brand__mark {
    background: var(--pm-gold);
    color: var(--pm-forest-dark);
}

.brand--footer .brand__text strong,
.brand--footer .brand__text small {
    color: var(--pm-white);
}

.site-footer .menu {
    display: grid;
    justify-content: start;
    gap: .45rem;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.footer-bottom p {
    margin: 0;
    padding: 1rem 0;
    font-size: .9rem;
}

.shop-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.4rem;
    align-items: start;
}

.shop-sidebar {
    position: sticky;
    top: 154px;
    display: grid;
    gap: 1rem;
}

.shop-widget {
    padding: 1rem;
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(10, 34, 31, .06);
}

.shop-widget h2 {
    margin: 0 0 .75rem;
    color: var(--pm-forest-dark);
    font-size: 1rem;
}

.shop-widget p {
    color: var(--pm-muted);
}

.category-list {
    display: grid;
    gap: .45rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .62rem .7rem;
    background: var(--pm-paper);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    font-weight: 800;
}

.category-list em {
    min-width: 24px;
    text-align: center;
    color: var(--pm-white);
    background: var(--pm-green);
    border-radius: 999px;
    font-size: .78rem;
    font-style: normal;
}

.woocommerce .woocommerce-result-count {
    color: var(--pm-muted);
}

.woocommerce .woocommerce-ordering select {
    min-height: 40px;
    padding: .55rem .7rem;
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto;
    float: none;
    margin: 0;
    padding: 1rem;
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(10, 34, 31, .08);
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--pm-sky);
    border-radius: 4px;
}

.woocommerce-loop-product__title {
    color: var(--pm-forest-dark);
    font-size: 1.05rem;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product .summary,
.woocommerce .woocommerce-cart-form,
.woocommerce-checkout form.checkout,
.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce .woocommerce-order,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register {
    background: var(--pm-white);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
    padding: 1rem;
}

.woocommerce div.product .summary {
    box-shadow: 0 10px 28px rgba(10, 34, 31, .08);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    color: var(--pm-forest-dark);
    background: var(--pm-gold);
    border-radius: 8px;
    font-weight: 900;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    color: var(--pm-forest-dark);
    background: #e4bb63;
}

.price-on-request {
    color: var(--pm-coral);
    font-weight: 900;
}

.product-buying-notes {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
    padding: 1rem;
    background: var(--pm-sky);
    border: 1px solid var(--pm-border);
    border-radius: 8px;
}

.product-buying-notes p {
    margin: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 8px;
}

@media (min-width: 621px) {
    body.home {
        background: #ffffff;
    }

    body.home .hero,
    body.home .commerce-strip,
    body.home .site-main > .section {
        display: none;
    }

    body.home .desktop-storefront {
        display: block;
        min-height: 100vh;
        color: #071427;
        background: #ffffff;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.35;
    }

    .desktop-storefront__header {
        color: #ffffff;
        background: #3c079e;
    }

    .desktop-storefront__mast {
        display: grid;
        grid-template-columns: minmax(220px, 300px) minmax(460px, 1fr) auto;
        gap: clamp(1.4rem, 2.5vw, 2.6rem);
        align-items: center;
        width: min(1710px, calc(100% - 9vw));
        margin-inline: auto;
        padding: 28px 0 20px;
    }

    .desktop-storefront__logo {
        display: grid;
        justify-self: start;
        color: #ffffff;
        font-size: clamp(2.5rem, 3.1vw, 3.9rem);
        font-weight: 900;
        line-height: .86;
        letter-spacing: 0;
    }

    .desktop-storefront__search {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr) 70px;
        align-items: center;
        min-height: 72px;
        overflow: hidden;
        color: #111827;
        background: #ffffff;
        border-radius: 2px;
    }

    .desktop-storefront__select {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        height: 36px;
        color: #6f7280;
        border-right: 2px solid #ececf2;
        font-size: 1.22rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .desktop-storefront__select::after {
        content: "v";
        color: #7a7d89;
        font-size: 1.4rem;
        line-height: 1;
    }

    .desktop-storefront__search input {
        width: 100%;
        min-height: 72px;
        padding: 0 2rem;
        color: #111827;
        background: transparent;
        border: 0;
        outline: 0;
        font-size: 1.23rem;
        font-weight: 700;
    }

    .desktop-storefront__search button {
        display: grid;
        place-items: center;
        width: 70px;
        height: 72px;
        padding: 0;
        color: #777b86;
        background: transparent;
        border: 0;
        cursor: pointer;
    }

    .desktop-storefront__search svg,
    .desktop-storefront__actions svg {
        width: 31px;
        height: 31px;
    }

    .desktop-storefront__actions {
        display: flex;
        align-items: center;
        gap: clamp(1.2rem, 1.8vw, 2rem);
        color: #ffffff;
        font-size: 1.26rem;
        font-weight: 900;
        white-space: nowrap;
    }

    .desktop-storefront__actions a {
        display: inline-flex;
        align-items: center;
        gap: .6rem;
    }

    .desktop-storefront__nav {
        display: flex;
        align-items: center;
        gap: clamp(1.4rem, 3vw, 3.7rem);
        width: min(1710px, calc(100% - 9vw));
        margin-inline: auto;
        padding: 8px 0 20px;
        color: #ffffff;
        font-size: clamp(1rem, 1.12vw, 1.32rem);
        font-weight: 900;
        white-space: nowrap;
    }

    .desktop-storefront__category-link {
        display: inline-flex;
        align-items: center;
        gap: .7rem;
        min-width: 230px;
    }

    .desktop-storefront__category-link span {
        color: rgba(255, 255, 255, .72);
        font-size: 1.4rem;
    }

    .desktop-storefront__promos {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        padding: 9px 8px 0;
    }

    .desktop-promo {
        position: relative;
        min-height: clamp(330px, 23.5vw, 450px);
        overflow: hidden;
        padding: 40px 36px;
    }

    .desktop-promo.is-pool {
        background: #dc6b7b;
    }

    .desktop-promo.is-foosball {
        background: #43cd95;
    }

    .desktop-promo.is-accessories {
        background: #ffa638;
    }

    .desktop-promo h2 {
        position: relative;
        z-index: 2;
        margin: 0;
        color: #ffffff;
        font-size: clamp(1.55rem, 1.55vw, 2rem);
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .desktop-promo a {
        position: absolute;
        left: 36px;
        top: 51%;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 158px;
        min-height: 68px;
        padding: 0 1.5rem;
        color: #060914;
        background: rgba(255, 255, 255, .09);
        border-radius: 10px;
        box-shadow: 0 5px 10px rgba(24, 20, 30, .2);
        font-size: 1.2rem;
        font-weight: 800;
    }

    .desktop-promo img {
        position: absolute;
        right: 4%;
        bottom: 9%;
        z-index: 1;
        width: 68%;
        height: 62%;
        object-fit: cover;
        object-position: center;
    }

    .desktop-promo.is-pool img {
        right: 2%;
        bottom: 6%;
        width: 71%;
        height: 65%;
    }

    .desktop-promo.is-foosball img {
        right: 3%;
        bottom: 9%;
        width: 72%;
        height: 68%;
    }

    .desktop-promo.is-accessories img {
        right: 0;
        bottom: 8%;
        width: 60%;
        height: 67%;
    }

    .desktop-storefront__sections {
        padding-top: 0;
    }

    .desktop-products {
        width: min(1710px, calc(100% - 9vw));
        margin-inline: auto;
        padding: 6px 0 58px;
    }

    .desktop-products__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
        margin-bottom: 62px;
    }

    .desktop-products__head h2 {
        margin: 0;
        color: #071427;
        font-size: clamp(2rem, 2.25vw, 2.7rem);
        font-weight: 500;
        line-height: 1.1;
    }

    .desktop-products__head a {
        color: #060914;
        font-size: clamp(1rem, 1.15vw, 1.3rem);
        font-weight: 900;
        text-decoration: underline;
        text-underline-offset: 6px;
    }

    .desktop-products__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(1.8rem, 2.2vw, 2.8rem);
    }

    .desktop-product-card {
        min-width: 0;
        background: #ffffff;
    }

    .desktop-product-card img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        background: #f2f2f2;
    }

    .desktop-product-card h3 {
        min-height: 70px;
        margin: 54px 12px 12px;
        color: #071427;
        font-size: clamp(1rem, 1.07vw, 1.3rem);
        font-weight: 900;
        line-height: 1.35;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .desktop-product-card p {
        margin: 0 12px;
        color: #071427;
        font-size: clamp(1rem, 1.12vw, 1.35rem);
        font-weight: 500;
    }

    .desktop-product-card .price,
    .desktop-product-card .price-on-request,
    .desktop-product-card .woocommerce-Price-amount {
        color: #071427;
        font-weight: 500;
    }

    .desktop-storefront__mail,
    .desktop-storefront__whatsapp,
    .desktop-storefront__toplink {
        position: fixed;
        z-index: 50;
        display: grid;
        place-items: center;
        color: #ffffff;
        border-radius: 50%;
        box-shadow: 0 6px 15px rgba(0, 0, 0, .22);
    }

    .desktop-storefront__mail {
        left: 50%;
        bottom: 28px;
        width: 82px;
        height: 82px;
        background: #00a916;
        transform: translateX(-50%);
    }

    .desktop-storefront__mail svg {
        width: 43px;
        height: 43px;
    }

    .desktop-storefront__whatsapp {
        right: 24px;
        bottom: 22px;
        width: 76px;
        height: 76px;
        background: #39df4b;
        border-radius: 13px;
    }

    .desktop-storefront__whatsapp svg {
        width: 59px;
        height: 59px;
    }

    .desktop-storefront__toplink {
        right: 20px;
        bottom: 128px;
        width: 56px;
        height: 56px;
        background: #1e232d;
        font-size: 2rem;
        line-height: 1;
    }
}

@media (max-width: 900px) {
    .top-strip__inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: .25rem;
        justify-items: center;
        padding: .5rem 0;
        font-size: .78rem;
        text-align: center;
    }

    .top-strip__inner span {
        margin-right: 0;
    }

    .top-strip__inner a,
    .top-strip__inner span {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .nav-row {
        min-height: 70px;
        gap: .75rem;
    }

    .brand {
        min-width: 0;
        margin-right: 0;
    }

    .nav-toggle {
        display: inline-block;
        flex: 0 0 44px;
        background: var(--pm-forest);
        border-color: var(--pm-forest);
    }

    .nav-toggle span:not(.screen-reader-text) {
        background: var(--pm-white);
    }

    .primary-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        padding: 1rem;
        background: var(--pm-paper);
        border-bottom: 1px solid var(--pm-border);
    }

    .primary-nav.is-open {
        display: block;
    }

    .primary-nav .menu {
        display: grid;
        gap: .75rem;
        justify-content: stretch;
    }

    .primary-nav a {
        display: block;
        padding: .7rem;
        background: var(--pm-white);
        border: 1px solid var(--pm-border);
        border-radius: 8px;
    }

    .nav-cta {
        display: none;
    }

    .commerce-actions {
        margin-left: auto;
    }

    .commerce-link {
        flex: 1 1 0;
        min-width: 0;
        min-height: 38px;
        padding: .5rem .55rem;
        font-size: .82rem;
    }

    .hero,
    .hero__inner {
        min-height: 68vh;
    }

    .intro-grid,
    .section-head,
    .event-band,
    .contact-panel,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .section-head .text-link,
    .event-band .button {
        justify-self: start;
    }

    .product-grid,
    .category-grid,
    .service-grid,
    .location-grid,
    .commerce-strip__grid,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-layout {
        grid-template-columns: 1fr;
    }

    .shop-sidebar {
        position: static;
    }

    .contact-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    body.home {
        background: #efe2e8;
    }

    body.home .hero,
    body.home .commerce-strip,
    body.home .site-main > .section {
        display: none;
    }

    body.home .site-main {
        padding: 0;
    }

    body.home .mobile-storefront {
        display: block;
        width: min(100vw, 360px);
        max-width: 100%;
        min-height: 100vh;
        margin: 0;
        overflow: hidden;
        color: #020817;
        background: #ffffff;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.35;
    }

    .mobile-storefront__header {
        position: sticky;
        top: 0;
        z-index: 30;
        padding: 12px 12px 10px;
        color: #ffffff;
        background: #3c079e;
    }

    .mobile-storefront__top {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 36px;
    }

    .mobile-storefront__menu {
        display: inline-grid;
        flex: 0 0 19px;
        gap: 4px;
        width: 19px;
        padding: 0;
        color: #ffffff;
        background: transparent;
        border: 0;
    }

    .mobile-storefront__menu span {
        display: block;
        width: 16px;
        height: 2px;
        background: currentColor;
    }

    .mobile-storefront__logo {
        display: grid;
        color: #ffffff;
        font-size: 22px;
        font-weight: 900;
        line-height: .82;
        letter-spacing: 0;
    }

    .mobile-storefront__cart {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        margin-left: auto;
        color: #ffffff;
        font-size: 11px;
        font-weight: 800;
    }

    .mobile-storefront__cart svg,
    .mobile-storefront__search svg {
        width: 15px;
        height: 15px;
    }

    .mobile-storefront__search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 30px;
        align-items: center;
        margin-top: 9px;
        background: #ffffff;
        border: 1px solid #c8c4da;
    }

    .mobile-storefront__search input {
        width: 100%;
        min-height: 35px;
        padding: 0 11px;
        color: #101827;
        background: transparent;
        border: 0;
        border-radius: 0;
        font-size: 11px;
        outline: 0;
    }

    .mobile-storefront__search button {
        display: grid;
        place-items: center;
        width: 30px;
        height: 35px;
        padding: 0;
        color: #596274;
        background: transparent;
        border: 0;
    }

    .mobile-storefront__promos {
        background: #ffffff;
    }

    .mobile-promo {
        position: relative;
        min-height: 144px;
        overflow: hidden;
    }

    .mobile-promo.is-pool {
        background: #de6b7b;
    }

    .mobile-promo.is-foosball {
        background: #44d29a;
    }

    .mobile-promo.is-accessories {
        background: #ffa739;
    }

    .mobile-promo__copy {
        position: relative;
        z-index: 2;
        display: grid;
        justify-items: start;
        gap: 8px;
    }

    .mobile-promo h2 {
        margin: 0;
        color: #ffffff;
        font-size: 14px;
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .mobile-promo a {
        display: inline-flex;
        min-width: 78px;
        min-height: 39px;
        align-items: center;
        justify-content: center;
        padding: 0 12px;
        color: #050913;
        background: rgba(255, 255, 255, .08);
        border-radius: 0 0 7px 0;
        box-shadow: 0 3px 6px rgba(24, 20, 30, .2);
        font-size: 10px;
        font-weight: 800;
    }

    .mobile-promo img {
        position: absolute;
        right: 0;
        bottom: -7px;
        z-index: 1;
        width: 62%;
        height: 118px;
        object-fit: cover;
        object-position: center;
    }

    .mobile-promo.is-pool img {
        width: 65%;
        height: 123px;
    }

    .mobile-promo.is-foosball img {
        width: 66%;
        height: 126px;
        right: 0;
    }

    .mobile-promo.is-accessories img {
        width: 62%;
        height: 126px;
        right: 0;
    }

    .mobile-storefront__sections {
        background: #ffffff;
    }

    .mobile-products {
        padding: 9px 12px 22px;
        background: #ffffff;
    }

    .mobile-products__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 9px;
    }

    .mobile-products__head h2 {
        margin: 0;
        color: #020817;
        font-size: 14px;
        font-weight: 700;
    }

    .mobile-products__head a {
        color: #020817;
        font-size: 10px;
        font-weight: 800;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .mobile-products__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 27px 12px;
    }

    .mobile-product-card {
        min-width: 0;
        background: #ffffff;
    }

    .mobile-product-card img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        background: #f3f4f6;
    }

    .mobile-product-card h3 {
        min-height: 34px;
        margin: 12px 6px 5px;
        color: #020817;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.35;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .mobile-product-card p {
        margin: 0 6px;
        color: #020817;
        font-size: 11px;
        font-weight: 700;
    }

    .mobile-product-card .price,
    .mobile-product-card .price-on-request,
    .mobile-product-card .woocommerce-Price-amount {
        color: #020817;
        font-weight: 700;
    }

    .wrap {
        width: 100%;
        padding-inline: 12px;
    }

    .nav-row {
        flex-wrap: wrap;
        padding-top: .7rem;
        padding-bottom: .7rem;
    }

    .brand__text strong {
        font-size: 1rem;
    }

    .brand__text small {
        font-size: .68rem;
    }

    .brand__mark {
        width: 42px;
        height: 42px;
    }

    .commerce-actions {
        order: 3;
        flex-basis: 100%;
        width: 100%;
        justify-content: stretch;
        gap: .5rem;
    }

    .commerce-link {
        flex: 1 1 0;
        min-width: 0;
        overflow: hidden;
    }

    .nav-toggle {
        margin-left: .25rem;
    }

    .shop-search-bar {
        padding: .55rem 0;
    }

    .product-search {
        grid-template-columns: 1fr;
    }

    .shop-hero,
    .page-hero {
        padding: 2.5rem 0;
    }

    .shop-hero h1,
    .page-hero h1,
    .shop-hero p,
    .page-hero p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .shop-hero p,
    .page-hero p {
        font-size: .95rem;
        line-height: 1.55;
    }

    .content-section,
    .shop-section {
        padding: 1.5rem 0 3rem;
    }

    .shop-widget,
    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
    .woocommerce div.product .summary,
    .woocommerce .woocommerce-cart-form,
    .woocommerce-checkout form.checkout,
    .woocommerce table.shop_table,
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce .woocommerce-order,
    .woocommerce .woocommerce-MyAccount-navigation,
    .woocommerce .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-form-login,
    .woocommerce .woocommerce-form-register {
        padding: .85rem;
        max-width: 100%;
    }

    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last {
        float: none;
        width: 100%;
    }

    .woocommerce table.shop_table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: .8rem;
        min-width: 0;
    }

    .woocommerce ul.products li.product a img {
        width: 100%;
    }

    .woocommerce .woocommerce-ordering,
    .woocommerce .woocommerce-result-count {
        float: none;
        width: 100%;
    }

    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }

    .hero {
        background-position: 62% center;
    }

    .hero__inner {
        padding-top: 4rem;
    }

    .eyebrow {
        max-width: 100%;
        font-size: .7rem;
        line-height: 1.4;
        letter-spacing: .08em;
    }

    .hero h1,
    .page-hero h1,
    .shop-hero h1 {
        font-size: 2.65rem;
    }

    .hero__stats span {
        width: 100%;
    }

    .product-grid,
    .category-grid,
    .service-grid,
    .location-grid,
    .commerce-strip__grid,
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .button,
    .contact-actions .button {
        width: 100%;
    }
}

@media (max-width: 400px) {
    body.home .mobile-storefront {
        width: min(100vw, 360px);
        max-width: 100%;
        margin: 0;
    }

    .mobile-storefront__header {
        padding-inline: 10px;
    }

    .mobile-storefront__logo {
        font-size: 20px;
    }

    .mobile-storefront__cart {
        font-size: 10px;
    }

    .mobile-promo {
        min-height: 142px;
    }

    .mobile-promo img {
        right: 0;
        width: 62%;
    }

    .mobile-products {
        padding-inline: 10px;
    }

    .mobile-products__grid {
        gap: 24px 10px;
    }

    .mobile-product-card h3 {
        margin-inline: 4px;
        font-size: 9px;
    }

    .mobile-product-card p {
        margin-inline: 4px;
        font-size: 10px;
    }
}

/* Poolmasters unified ecommerce styling */
:root {
    --pm-purple: #3c079e;
    --pm-purple-dark: #260066;
    --pm-purple-soft: #efe7ff;
    --pm-orange: #ffa638;
    --pm-pink: #dc6b7b;
    --pm-mint: #43cd95;
    --pm-ink: #071427;
    --pm-paper: #fffafc;
    --pm-border: #e7deeb;
}

body {
    color: var(--pm-ink);
    background: var(--pm-paper);
}

.site-header {
    color: #ffffff;
    background: var(--pm-purple);
    border-bottom: 0;
    box-shadow: 0 8px 24px rgba(37, 0, 95, .12);
}

.top-strip {
    background: var(--pm-purple-dark);
}

.top-strip__inner span,
.top-strip__inner a {
    color: rgba(255, 255, 255, .86);
}

.nav-row {
    min-height: 76px;
}

.brand__mark {
    color: var(--pm-purple);
    background: #ffffff;
    border-color: var(--pm-orange);
}

.brand__text strong,
.brand__text small,
.primary-nav a {
    color: #ffffff;
}

.brand__text small {
    opacity: .78;
}

.primary-nav a:hover,
.site-footer a:hover,
.text-link:hover {
    color: var(--pm-orange);
}

.commerce-link {
    color: #ffffff;
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .26);
}

.commerce-link__count {
    color: #1c0b00;
    background: var(--pm-orange);
}

.nav-cta,
.button--accent,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    color: #16081f;
    background: var(--pm-orange);
}

.button--dark,
.product-search button {
    color: #ffffff;
    background: var(--pm-purple);
}

.shop-search-bar {
    background: var(--pm-purple);
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.shop-search-bar .product-search input[type="search"] {
    border: 0;
}

.shop-search-bar .product-search button {
    color: #16081f;
    background: var(--pm-orange);
}

.page-hero,
.shop-hero {
    color: #ffffff;
    background: var(--pm-purple-dark);
}

.page-hero p,
.shop-hero p {
    color: rgba(255, 255, 255, .82);
}

.product-card,
.service-card,
.location-card,
.post-card,
.shop-widget,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product .summary,
.woocommerce .woocommerce-cart-form,
.woocommerce-checkout form.checkout,
.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce .woocommerce-order,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.content-wrap {
    background: #ffffff;
    border-color: var(--pm-border);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(37, 0, 95, .07);
}

.product-card__body span,
.eyebrow,
.price-on-request {
    color: var(--pm-pink);
}

.category-list a {
    background: #fffafc;
    border-color: var(--pm-border);
}

.category-list em {
    background: var(--pm-purple);
}

.site-footer {
    display: block;
    color: rgba(255, 255, 255, .82);
    background: var(--pm-purple-dark);
    border-top: 7px solid var(--pm-orange);
}

body.home .site-footer {
    display: block;
}

.footer-grid {
    grid-template-columns: minmax(260px, 1.25fr) repeat(4, minmax(160px, .75fr));
    gap: 1.5rem;
}

.site-footer h2 {
    color: #ffffff;
    font-size: .95rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.site-footer p,
.site-footer a {
    color: rgba(255, 255, 255, .82);
}

.brand--footer .brand__mark {
    color: var(--pm-purple);
    background: #ffffff;
    border-color: var(--pm-orange);
}

.brand--footer .brand__text strong,
.brand--footer .brand__text small {
    color: #ffffff;
}

.footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}

.footer-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: .55rem .8rem;
    color: #16081f;
    background: var(--pm-orange);
    border-radius: 6px;
    font-weight: 900;
}

.footer-bottom {
    border-top-color: rgba(255, 255, 255, .14);
}

@media (min-width: 621px) {
    body.home .site-footer {
        display: block;
    }

    body.home .desktop-storefront {
        min-height: auto;
    }
}

@media (max-width: 900px) {
    .site-header {
        color: #ffffff;
    }

    .nav-toggle {
        background: var(--pm-orange);
        border-color: var(--pm-orange);
    }

    .nav-toggle span:not(.screen-reader-text) {
        background: #16081f;
    }

    .primary-nav {
        background: var(--pm-purple-dark);
        border-bottom: 0;
    }

    .primary-nav a {
        color: #ffffff;
        background: rgba(255, 255, 255, .1);
        border-color: rgba(255, 255, 255, .16);
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    body.home .site-footer {
        display: block;
    }

    .site-footer {
        margin-top: 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        padding: 2rem 12px;
    }

    .footer-actions a {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* Final storefront polish */
.site-footer .menu {
    display: grid;
    justify-content: start;
    gap: .55rem;
}

.site-footer .menu a {
    display: inline-flex;
    line-height: 1.35;
}

@media (min-width: 621px) {
    .desktop-storefront__header {
        box-shadow: 0 10px 28px rgba(38, 0, 102, .16);
    }

    .desktop-storefront__select::after,
    .desktop-storefront__category-link span {
        font-family: Arial, Helvetica, sans-serif;
        font-size: .95em;
        font-weight: 900;
    }

    .desktop-storefront__promos {
        gap: 16px;
        padding: 16px 16px 0;
    }

    .desktop-promo {
        display: grid;
        grid-template-columns: minmax(140px, .34fr) minmax(0, .66fr);
        grid-template-rows: minmax(48px, auto) 1fr;
        align-items: center;
        min-height: clamp(280px, 20vw, 380px);
        padding: 32px 28px;
        isolation: isolate;
    }

    .desktop-promo::after {
        content: "";
        position: absolute;
        inset: auto 0 0 32%;
        height: 54%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1));
        z-index: 0;
    }

    .desktop-promo h2 {
        grid-column: 1 / -1;
        grid-row: 1;
        align-self: start;
    }

    .desktop-promo a {
        position: static;
        grid-column: 1;
        grid-row: 2;
        align-self: center;
        justify-self: start;
        min-width: 136px;
        min-height: 56px;
        padding: 0 1.2rem;
        background: rgba(255, 255, 255, .16);
        border: 1px solid rgba(255, 255, 255, .14);
        border-radius: 8px;
    }

    .desktop-promo img,
    .desktop-promo.is-pool img,
    .desktop-promo.is-foosball img,
    .desktop-promo.is-accessories img {
        position: relative;
        right: auto;
        bottom: auto;
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-self: end;
        width: min(100%, 520px);
        height: clamp(180px, 15.5vw, 280px);
        object-fit: cover;
        object-position: center;
        box-shadow: 0 16px 30px rgba(29, 14, 42, .14);
        z-index: 1;
    }

    .desktop-products {
        padding-top: 28px;
    }

    .desktop-products__head {
        margin-bottom: 34px;
    }

    .desktop-product-card {
        display: grid;
        grid-template-rows: auto auto 1fr;
        gap: 12px;
    }

    .desktop-product-card h3 {
        min-height: 58px;
        margin: 18px 12px 0;
    }

    .desktop-product-card p {
        margin: 0 12px;
    }
}

@media (max-width: 620px) {
    body:not(.home),
    body:not(.home) .site-shell,
    body:not(.home) .site-main {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
    }

    body:not(.home) .wrap {
        width: 100%;
        max-width: 100vw;
        padding-inline: 12px;
    }

    body:not(.home) .content-wrap,
    body:not(.home) .shop-widget,
    body:not(.home) .site-footer,
    body:not(.home) .footer-grid,
    body:not(.home) .footer-about {
        min-width: 0;
        max-width: 100%;
    }

    body:not(.home) .content-wrap p,
    body:not(.home) .content-wrap li,
    body:not(.home) .site-footer p,
    body:not(.home) .site-footer a {
        overflow-wrap: break-word;
        word-break: normal;
    }

    body.home .mobile-storefront {
        width: min(100vw, 390px);
    }

    .mobile-promo {
        display: grid;
        grid-template-columns: minmax(112px, 35%) minmax(0, 65%);
        min-height: 142px;
    }

    .mobile-promo__copy {
        grid-column: 1;
        padding-top: 0;
        z-index: 2;
    }

    .mobile-promo h2 {
        max-width: 118px;
        font-size: 13px;
        line-height: 1.05;
    }

    .mobile-promo img,
    .mobile-promo.is-pool img,
    .mobile-promo.is-foosball img,
    .mobile-promo.is-accessories img {
        position: static;
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        width: 100%;
        height: 142px;
        object-fit: cover;
        object-position: center;
    }

    .mobile-products__grid {
        gap: 24px 14px;
    }

    .mobile-product-card {
        display: grid;
        grid-template-rows: auto auto 1fr;
    }

    .mobile-product-card h3 {
        min-height: 38px;
    }

    .shop-hero,
    .page-hero {
        overflow: hidden;
    }

    .shop-hero .wrap,
    .page-hero .wrap {
        width: 100%;
        max-width: 100vw;
        padding-inline: 12px;
        overflow: hidden;
    }

    .shop-hero h1,
    .page-hero h1 {
        max-width: 9.5ch;
        font-size: clamp(2.1rem, 12vw, 2.9rem);
        line-height: 1.06;
        overflow-wrap: break-word;
    }

    .shop-hero h1 {
        max-width: 100%;
    }

    .shop-hero p,
    .page-hero p {
        width: auto;
        max-width: 20.75rem;
        overflow-wrap: break-word;
        word-break: normal;
    }

    body:not(.home) .footer-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    body:not(.home) .footer-actions a {
        min-width: 0;
        width: 100%;
        padding-inline: .45rem;
        font-size: .88rem;
    }
}

@media (max-width: 340px) {
    body:not(.home) .footer-actions {
        grid-template-columns: 1fr;
    }
}

/* Next-level global redesign */
:root {
    --pm-night: #1b004f;
    --pm-plum: #35008f;
    --pm-violet: #4b0fba;
    --pm-glow: #ffad39;
    --pm-rose: #df6378;
    --pm-ice: #fff7fb;
    --pm-line: #eadff0;
    --pm-deep-shadow: 0 22px 55px rgba(27, 0, 79, .14);
}

body:not(.home) {
    background:
        radial-gradient(circle at 8% 0, rgba(255, 173, 57, .1), transparent 28rem),
        linear-gradient(180deg, #fff8fc 0, #ffffff 38rem);
}

body.primary-menu-open {
    overflow: hidden;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    color: #ffffff;
    background: linear-gradient(135deg, var(--pm-night) 0%, var(--pm-violet) 62%, #5c18c8 100%);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 18px 38px rgba(27, 0, 79, .2);
}

.top-strip {
    background: rgba(13, 0, 41, .62);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.top-strip__inner {
    min-height: 34px;
    gap: 1rem;
    font-size: .84rem;
    font-weight: 700;
}

.top-strip__tag {
    margin-right: auto;
    color: rgba(255, 255, 255, .78);
}

.top-strip a {
    color: rgba(255, 255, 255, .9);
}

.header-main {
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    gap: 1.1rem;
    align-items: center;
    min-height: 82px;
}

.brand {
    min-width: 0;
}

.brand__mark {
    width: 46px;
    height: 46px;
    color: var(--pm-plum);
    background: #ffffff;
    border-color: var(--pm-glow);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

.brand__text strong {
    color: #ffffff;
    font-size: 1.15rem;
}

.brand__text small {
    color: rgba(255, 255, 255, .78);
    letter-spacing: .12em;
}

.primary-nav {
    justify-self: center;
}

.primary-nav .menu {
    gap: .25rem;
    justify-content: center;
}

.primary-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: .6rem .64rem;
    color: rgba(255, 255, 255, .92);
    border-radius: 999px;
    font-weight: 900;
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a {
    color: #1a0b00;
    background: var(--pm-glow);
}

.mobile-menu-panel {
    display: none;
}

.header-actions {
    gap: .55rem;
    justify-content: end;
}

.commerce-link,
.nav-cta {
    min-height: 42px;
    border-radius: 999px;
}

.commerce-link {
    color: #ffffff;
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .24);
}

.nav-cta {
    color: #1c0b00;
    background: var(--pm-glow);
    box-shadow: 0 12px 24px rgba(255, 173, 57, .18);
}

.header-search {
    padding: .8rem 0 1rem;
    background: rgba(13, 0, 41, .22);
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.header-search__inner {
    display: grid;
    grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
}

.header-search__inner > span {
    color: rgba(255, 255, 255, .78);
    font-size: .9rem;
    font-weight: 800;
}

.product-search {
    grid-template-columns: minmax(0, 1fr) 128px;
    gap: .55rem;
}

.product-search input[type="search"] {
    min-height: 48px;
    border: 0;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(27, 0, 79, .08);
}

.product-search button {
    min-height: 48px;
    color: #1c0b00;
    background: var(--pm-glow);
    border-radius: 12px;
    box-shadow: 0 12px 22px rgba(255, 173, 57, .18);
}

.shop-sidebar .product-search {
    grid-template-columns: 1fr;
}

body:not(.home) .page-hero,
body:not(.home) .shop-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7.4rem) 0 clamp(4rem, 7vw, 6.4rem);
    background:
        radial-gradient(circle at 85% 18%, rgba(255, 173, 57, .25), transparent 20rem),
        radial-gradient(circle at 16% 0, rgba(223, 99, 120, .18), transparent 22rem),
        linear-gradient(135deg, var(--pm-night), #27006e 55%, #4200aa);
}

body:not(.home) .page-hero::after,
body:not(.home) .shop-hero::after {
    content: "";
    position: absolute;
    right: -10rem;
    bottom: -12rem;
    width: 34rem;
    height: 34rem;
    border: 5rem solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

body:not(.home) .page-hero .wrap,
body:not(.home) .shop-hero .wrap {
    position: relative;
    z-index: 1;
}

body:not(.home) .page-hero .eyebrow,
body:not(.home) .shop-hero .eyebrow {
    color: var(--pm-glow);
}

body:not(.home) .page-hero h1,
body:not(.home) .shop-hero h1 {
    max-width: 900px;
    margin-bottom: 1rem;
    color: #ffffff;
    text-wrap: balance;
}

body:not(.home) .shop-hero p,
body:not(.home) .page-hero p {
    max-width: 760px;
    color: rgba(255, 255, 255, .84);
    font-size: 1.08rem;
}

body:not(.home) .content-section,
body:not(.home) .shop-section {
    padding: clamp(2rem, 4vw, 4.5rem) 0 clamp(4rem, 6vw, 6rem);
}

body:not(.home) .content-wrap {
    max-width: 1060px;
    padding: clamp(1.3rem, 3.6vw, 3rem);
    border: 1px solid var(--pm-line);
    border-radius: 14px;
    box-shadow: var(--pm-deep-shadow);
}

body:not(.home) .content-wrap h2 {
    color: var(--pm-night);
    font-size: clamp(1.7rem, 3vw, 2.55rem);
    line-height: 1.05;
}

body:not(.home) .content-wrap h3 {
    color: var(--pm-night);
}

.pm-kicker {
    margin-bottom: .7rem;
    color: var(--pm-rose);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pm-lead-block {
    display: grid;
    gap: .8rem;
    max-width: 880px;
    margin-bottom: clamp(1.6rem, 4vw, 3rem);
}

.pm-lead-block h2 {
    margin: 0;
}

.pm-lead-block p:last-child {
    margin: 0;
    color: #4e5667;
    font-size: 1.05rem;
}

.pm-feature-grid,
.pm-contact-grid,
.pm-policy-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.pm-feature-grid--three,
.pm-contact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-feature-grid article,
.pm-contact-grid article,
.pm-policy-list article,
.pm-note-panel,
.pm-process,
.pm-faq-list details {
    min-width: 0;
    padding: 1.2rem;
    background: linear-gradient(180deg, #ffffff 0, #fff9fc 100%);
    border: 1px solid var(--pm-line);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(27, 0, 79, .07);
}

.pm-feature-grid span,
.pm-contact-grid span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 32px;
    margin-bottom: .85rem;
    padding: 0 .6rem;
    color: #1c0b00;
    background: var(--pm-glow);
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 900;
}

.pm-feature-grid h3,
.pm-contact-grid h3,
.pm-policy-list h3 {
    margin: 0 0 .55rem;
    font-size: 1.05rem;
    line-height: 1.2;
}

.pm-contact-grid h3 {
    overflow-wrap: anywhere;
}

.pm-feature-grid p,
.pm-contact-grid p,
.pm-policy-list p,
.pm-note-panel p,
.pm-process li,
.pm-faq-list p {
    color: #4e5667;
}

.pm-contact-grid a {
    color: var(--pm-violet);
    text-decoration: none;
}

.pm-process {
    margin: 1.5rem 0;
}

.pm-process ol {
    display: grid;
    gap: .7rem;
    padding-left: 1.25rem;
    margin-bottom: 0;
}

.pm-faq-list {
    display: grid;
    gap: .9rem;
}

.pm-faq-list details {
    margin: 0;
}

.pm-faq-list summary {
    cursor: pointer;
    color: var(--pm-night);
    font-weight: 900;
}

.pm-faq-list p {
    margin: .8rem 0 0;
}

.pm-cta-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-top: clamp(1.5rem, 4vw, 3rem);
    padding: clamp(1.2rem, 3vw, 2rem);
    color: #ffffff;
    background:
        radial-gradient(circle at 95% 0, rgba(255, 173, 57, .3), transparent 16rem),
        linear-gradient(135deg, var(--pm-night), var(--pm-violet));
    border-radius: 14px;
    box-shadow: var(--pm-deep-shadow);
}

body:not(.home) .content-wrap .pm-cta-band h2,
body:not(.home) .content-wrap .pm-cta-band p,
.pm-cta-band h2,
.pm-cta-band p {
    margin: 0;
    color: #ffffff;
}

body:not(.home) .content-wrap .pm-cta-band p,
.pm-cta-band p {
    color: rgba(255, 255, 255, .78);
}

.pm-cta-band a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: .75rem 1rem;
    color: #1c0b00;
    background: var(--pm-glow);
    border-radius: 10px;
    font-weight: 900;
    text-decoration: none;
}

.location-grid {
    gap: 1rem;
}

.location-card {
    border-radius: 12px;
    background:
        linear-gradient(180deg, #ffffff, #fff9fc);
    box-shadow: 0 14px 34px rgba(27, 0, 79, .08);
}

.location-card h3::before {
    content: "";
    display: inline-block;
    width: .7rem;
    height: .7rem;
    margin-right: .45rem;
    background: var(--pm-glow);
    border-radius: 50%;
}

body:not(.home) .shop-layout {
    align-items: start;
}

body:not(.home) .shop-widget {
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(27, 0, 79, .08);
}

body:not(.home) .shop-results .woocommerce-result-count {
    margin-bottom: 1rem;
    color: #4e5667;
    font-weight: 800;
}

body:not(.home) .woocommerce ul.products li.product,
body:not(.home) .woocommerce-page ul.products li.product {
    padding: .95rem;
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(27, 0, 79, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

body:not(.home) .woocommerce ul.products li.product:hover,
body:not(.home) .woocommerce-page ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 48px rgba(27, 0, 79, .12);
}

body:not(.home) .woocommerce ul.products li.product a img {
    border-radius: 10px;
}

body:not(.home) .woocommerce-loop-product__title {
    min-height: 3.2em;
    font-weight: 900;
}

@media (max-width: 1180px) {
    .header-main {
        grid-template-columns: minmax(190px, auto) minmax(0, 1fr) auto;
        gap: .75rem;
    }

    body:not(.home) .primary-nav a {
        padding-inline: .55rem;
        font-size: .92rem;
    }

    body:not(.home) .nav-cta {
        display: none;
    }
}

@media (max-width: 900px) {
    body:not(.home) .top-strip__inner {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: .25rem;
        padding: .55rem 0;
        text-align: center;
    }

    body:not(.home) .top-strip__tag {
        margin: 0;
    }

    .header-main {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 72px;
    }

    body:not(.home) .brand__mark {
        width: 42px;
        height: 42px;
    }

    body:not(.home) .brand__text strong {
        font-size: 1rem;
    }

    body:not(.home) .brand__text small {
        font-size: .66rem;
    }

    .nav-toggle {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        color: #1c0b00;
        background: var(--pm-glow);
        border: 0;
        border-radius: 12px;
        box-shadow: 0 12px 22px rgba(255, 173, 57, .2);
    }

    .nav-toggle__line,
    .nav-toggle span:not(.screen-reader-text) {
        width: 21px;
        height: 2px;
        margin: 0;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    body:not(.home) .primary-nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 12px;
        right: 12px;
        z-index: 150;
        display: block;
        padding: .8rem;
        background: rgba(27, 0, 79, .98);
        border: 1px solid rgba(255, 255, 255, .15);
        border-radius: 16px;
        box-shadow: 0 28px 60px rgba(0, 0, 0, .28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body:not(.home) .primary-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    body:not(.home) .primary-nav .menu {
        display: grid;
        gap: .45rem;
    }

    body:not(.home) .primary-nav a {
        display: flex;
        justify-content: space-between;
        min-height: 46px;
        padding: .75rem .9rem;
        color: #ffffff;
        background: rgba(255, 255, 255, .08);
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 12px;
    }

    .mobile-menu-panel {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .6rem;
        margin-top: .75rem;
    }

    .mobile-menu-panel .button {
        min-height: 44px;
        border-radius: 12px;
    }

    body:not(.home) .header-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    body:not(.home) .header-actions .commerce-link {
        width: 100%;
        min-width: 0;
    }

    .header-search__inner {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .header-search__inner > span {
        display: none;
    }

    body:not(.home) .product-search {
        grid-template-columns: 1fr;
    }

    .pm-feature-grid,
    .pm-feature-grid--three,
    .pm-contact-grid,
    .pm-policy-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pm-cta-band {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    body:not(.home) .page-hero,
    body:not(.home) .shop-hero {
        padding: 3rem 0;
    }

    body:not(.home) .page-hero h1,
    body:not(.home) .shop-hero h1 {
        max-width: 100%;
        font-size: clamp(2.2rem, 13vw, 3.15rem);
    }

    body:not(.home) .content-wrap {
        padding: 1.1rem;
        border-radius: 12px;
    }

    .pm-feature-grid,
    .pm-feature-grid--three,
    .pm-contact-grid,
    .pm-policy-list {
        grid-template-columns: 1fr;
    }

    .pm-cta-band a,
    .pm-contact-grid a {
        width: 100%;
    }

    .mobile-storefront__drawer {
        display: none;
        gap: .45rem;
        padding: .75rem 12px 1rem;
        color: #ffffff;
        background: #260066;
        border-top: 1px solid rgba(255, 255, 255, .14);
    }

    .mobile-storefront__drawer.is-open {
        display: grid;
    }

    .mobile-storefront__drawer a {
        display: flex;
        align-items: center;
        min-height: 42px;
        padding: .65rem .8rem;
        background: rgba(255, 255, 255, .09);
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 10px;
        font-size: 12px;
        font-weight: 900;
    }

    .mobile-storefront__drawer-cta {
        justify-content: center;
        color: #1c0b00;
        background: var(--pm-glow) !important;
    }
}

/* Premium catalogue, mobile header, and footer refinements */
.brand__mobile-text {
    display: none;
}

.product-search button {
    position: relative;
}

.product-search__icon {
    display: none;
}

.footer-link-list {
    display: grid;
    gap: .7rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-link-list a,
.footer-link-item,
.footer-location-link {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    min-width: 0;
}

.footer-mini-icon {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    color: #1c0b00;
    background: var(--pm-glow);
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.footer-branch-list,
.site-footer p,
.site-footer a,
.footer-link-list span {
    min-width: 0;
    overflow-wrap: anywhere;
}

body:not(.home) .site-footer {
    overflow: hidden;
}

body:not(.home) .footer-grid,
.footer-grid {
    grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(0, .9fr));
    align-items: start;
    width: min(1200px, calc(100% - 32px));
    min-width: 0;
}

body:not(.home) .footer-grid > *,
.footer-grid > * {
    min-width: 0;
}

.footer-actions {
    display: grid;
    grid-template-columns: 1fr;
}

.footer-actions a {
    justify-content: center;
    gap: .4rem;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
}

body:not(.home) .woocommerce ul.products,
body:not(.home).woocommerce-page ul.products {
    align-items: stretch;
    gap: 1.15rem;
}

body:not(.home) .woocommerce ul.products li.product,
body:not(.home) .woocommerce-page ul.products li.product {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(3.2rem, auto) auto auto;
    min-width: 0;
    width: 100% !important;
    padding: .9rem;
    overflow: hidden;
    background:
        linear-gradient(180deg, #ffffff 0, #fff9fc 100%);
    border: 1px solid rgba(74, 15, 186, .14);
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(27, 0, 79, .1);
}

body:not(.home) .woocommerce ul.products li.product::before,
body:not(.home) .woocommerce-page ul.products li.product::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--pm-glow), var(--pm-rose), var(--pm-violet));
    opacity: .85;
}

body:not(.home) .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body:not(.home) .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
    display: grid;
    gap: .8rem;
    min-width: 0;
}

body:not(.home) .woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / .78;
    margin: 0;
    object-fit: cover;
    border-radius: 12px;
    background: #f7f4f8;
}

body:not(.home) .woocommerce-loop-product__title,
body:not(.home) .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 0;
    padding: 0;
    margin: .25rem 0 0;
    color: var(--pm-night);
    font-size: clamp(.98rem, 1.2vw, 1.12rem);
    line-height: 1.28;
    font-weight: 900;
    overflow-wrap: break-word;
}

body:not(.home) .woocommerce ul.products li.product .price {
    display: block;
    margin: .2rem 0 .75rem;
    color: #956500;
    font-size: .96rem;
    font-weight: 900;
}

body:not(.home) .woocommerce ul.products li.product .button,
body:not(.home) .woocommerce ul.products li.product a.button {
    justify-self: start;
    min-height: 44px;
    padding: .72rem 1rem;
    color: #180800;
    background: var(--pm-glow);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(255, 173, 57, .24);
}

body.single-product .shop-layout {
    display: block;
    width: min(1180px, calc(100% - 32px));
}

body.single-product .shop-sidebar {
    display: none;
}

body.single-product .shop-results {
    min-width: 0;
}

body.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    gap: clamp(1.3rem, 4vw, 3rem);
    align-items: start;
}

body.single-product div.product div.images,
body.single-product div.product div.summary {
    width: auto !important;
    float: none !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product div.product .summary {
    border-radius: 18px;
    border: 1px solid rgba(74, 15, 186, .13);
    box-shadow: 0 22px 60px rgba(27, 0, 79, .11);
}

body.single-product div.product div.images .woocommerce-product-gallery__image img {
    border-radius: 14px;
}

body.single-product .product_title {
    margin: 0 0 .8rem;
    color: var(--pm-night);
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.02;
    text-wrap: balance;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    color: #8f6200;
    font-size: 1.35rem;
    font-weight: 900;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .product-buying-notes {
    color: #4e5667;
}

body.single-product div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-top: 1.2rem;
}

body.single-product div.product form.cart .button {
    min-height: 50px;
    padding: .9rem 1.3rem;
    border-radius: 12px;
}

body.single-product .related,
body.single-product .upsells {
    grid-column: 1 / -1;
    margin-top: clamp(2rem, 5vw, 4rem);
}

body.single-product .related > h2,
body.single-product .upsells > h2 {
    color: var(--pm-night);
    font-size: clamp(1.55rem, 3vw, 2.3rem);
}

body.single-product .related ul.products,
body.single-product .upsells ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    body:not(.home) .footer-grid,
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product div.product {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .top-strip {
        display: none;
    }

    .site-header {
        background: #3c079e;
        box-shadow: 0 10px 26px rgba(27, 0, 79, .22);
    }

    .header-main {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr) auto;
        gap: 8px;
        min-height: 54px;
        padding: 8px 12px 6px;
        width: min(100%, 430px);
        margin: 0;
    }

    .nav-toggle {
        order: 1;
        display: inline-grid;
        place-items: center;
        width: 22px;
        height: 22px;
        padding: 0;
        color: #ffffff;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .nav-toggle__line,
    .nav-toggle span:not(.screen-reader-text) {
        width: 16px;
        height: 2px;
        background: currentColor;
    }

    .brand {
        order: 2;
        gap: 0;
        min-width: 0;
    }

    .brand__mark,
    .brand__text {
        display: none;
    }

    .brand__mobile-text {
        display: grid;
        color: #ffffff;
        font-size: 18px;
        font-weight: 900;
        line-height: 1.1;
        letter-spacing: -.01em;
    }

    .brand__mobile-text span:first-child {
        display: block;
        font-size: 18px;
        font-weight: 900;
    }

    .brand__mobile-text span:last-child {
        display: block;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .14em;
        opacity: .82;
        text-transform: uppercase;
    }

    .header-actions {
        order: 3;
        grid-column: auto;
        display: flex;
        width: auto;
        justify-content: end;
    }

    .header-actions .commerce-link:not(.commerce-link--cart),
    .header-actions .nav-cta {
        display: none;
    }

    .commerce-link--cart {
        min-height: auto;
        padding: 0;
        color: #ffffff;
        background: transparent;
        border: 0;
        border-radius: 0;
        font-size: 11px;
        font-weight: 900;
    }

    .commerce-link--cart .commerce-link__count {
        display: none;
    }

    .primary-nav {
        top: 58px;
        left: 8px;
        right: auto;
        width: min(374px, calc(100vw - 16px));
        border-radius: 0 0 12px 12px;
    }

    .header-search {
        padding: 0 12px 8px;
        background: #3c079e;
        border-top: 0;
    }

    .header-search__inner {
        width: min(100%, 430px);
        margin: 0;
        padding: 0;
    }

    .product-search {
        grid-template-columns: minmax(0, 1fr) 34px;
        gap: 0;
        overflow: hidden;
        background: #ffffff;
        border: 1px solid #c8c4da;
        border-radius: 0;
    }

    .product-search input[type="search"] {
        min-height: 35px;
        padding: 0 10px;
        border-radius: 0;
        box-shadow: none;
        font-size: 11px;
    }

    .product-search button {
        display: grid;
        place-items: center;
        min-height: 35px;
        width: 34px;
        padding: 0;
        color: #596274;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
    }

    .product-search__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .product-search__icon {
        position: relative;
        display: block;
        width: 14px;
        height: 14px;
        border: 2px solid currentColor;
        border-radius: 50%;
    }

    .product-search__icon::after {
        content: "";
        position: absolute;
        right: -5px;
        bottom: -4px;
        width: 7px;
        height: 2px;
        background: currentColor;
        transform: rotate(45deg);
        transform-origin: left center;
    }

    .shop-sidebar .product-search {
        grid-template-columns: 1fr;
        gap: .6rem;
        overflow: visible;
        background: transparent;
        border: 0;
    }

    .shop-sidebar .product-search button {
        width: 100%;
        min-height: 44px;
        color: #180800;
        background: var(--pm-glow);
        border-radius: 10px;
    }

    .shop-sidebar .product-search__label {
        position: static;
        width: auto;
        height: auto;
        clip: auto;
        overflow: visible;
    }

    body:not(.home) .shop-sidebar .product-search__icon {
        display: none;
    }
}

@media (max-width: 620px) {
    body:not(.home) .shop-layout {
        width: 100%;
        padding-inline: 10px;
    }

    body:not(.home) .woocommerce ul.products,
    body:not(.home).woocommerce-page ul.products,
    body.single-product .related ul.products,
    body.single-product .upsells ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .85rem;
    }

    body:not(.home) .woocommerce ul.products li.product,
    body:not(.home) .woocommerce-page ul.products li.product {
        justify-self: stretch;
        width: 100% !important;
        padding: .55rem;
        border-radius: 10px;
    }

    body:not(.home) .woocommerce ul.products li.product a img {
        aspect-ratio: 1 / .82;
        border-radius: 8px;
    }

    body:not(.home) .woocommerce-loop-product__title,
    body:not(.home) .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: .82rem;
        line-height: 1.22;
    }

    body:not(.home) .woocommerce ul.products li.product .price {
        margin-bottom: .55rem;
        font-size: .78rem;
    }

    body:not(.home) .woocommerce ul.products li.product .button,
    body:not(.home) .woocommerce ul.products li.product a.button {
        min-height: 36px;
        width: 100%;
        padding: .55rem .45rem;
        border-radius: 7px;
        font-size: .78rem;
        text-align: center;
    }

    body.single-product .shop-layout {
        width: 100%;
    }

    body.single-product div.product {
        gap: 1rem;
    }

    body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
    body.single-product div.product .summary {
        padding: .85rem;
        border-radius: 12px;
    }

    body.single-product .product_title {
        font-size: clamp(1.8rem, 12vw, 2.5rem);
    }

    body:not(.home) .footer-grid,
    .footer-grid {
        grid-template-columns: 1fr;
        width: 100%;
        padding-inline: 12px;
    }

    .footer-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* WooCommerce grid hardening */
body.woocommerce:not(.home) ul.products,
body.woocommerce-page:not(.home) ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

body.woocommerce:not(.home) ul.products::before,
body.woocommerce:not(.home) ul.products::after,
body.woocommerce-page:not(.home) ul.products::before,
body.woocommerce-page:not(.home) ul.products::after {
    content: none !important;
}

body.woocommerce:not(.home) ul.products li.product,
body.woocommerce-page:not(.home) ul.products li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 !important;
    justify-self: stretch;
}

@media (max-width: 620px) {
    body.woocommerce:not(.home) ul.products,
    body.woocommerce-page:not(.home) ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .85rem;
    }
}

/* Final mobile wordmark override */
@media (max-width: 900px) {
    body:not(.home) .brand__mobile-text,
    body:not(.home) .brand__mobile-text span,
    .brand__mobile-text,
    .brand__mobile-text span {
        display: block;
        color: #ffffff;
        font-size: 22px !important;
        font-weight: 900 !important;
        line-height: .82 !important;
        letter-spacing: 0 !important;
        opacity: 1 !important;
        text-transform: uppercase;
    }
}

/* ── Header Refinements ─────────────────────────────────── */

/* Richer gradient with depth & subtle mesh overlay */
.site-header {
    background:
        radial-gradient(ellipse at 0% 0%, rgba(255,173,57,.13) 0, transparent 38%),
        radial-gradient(ellipse at 100% 100%, rgba(223,99,120,.12) 0, transparent 32%),
        linear-gradient(135deg, #140038 0%, #3c079e 52%, #5c18c8 100%);
    border-bottom: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 4px 0 0 rgba(255,173,57,.55), 0 20px 48px rgba(27,0,79,.28);
}

/* Make brand mark larger and crisper */
.brand__mark {
    width: 44px;
    height: 44px;
    font-size: 1rem;
    letter-spacing: -.03em;
    border-width: 2.5px;
    box-shadow: 0 0 0 4px rgba(255,173,57,.18), 0 6px 18px rgba(0,0,0,.22);
}

/* Brand text – tighter stack */
.brand__text strong {
    font-size: 1.05rem;
    letter-spacing: -.01em;
}

.brand__text small {
    font-size: .68rem;
    letter-spacing: .14em;
    opacity: .72;
}

/* Mobile stacked brand – two-line size tweak */
@media (max-width: 900px) {
    .brand__mobile-text {
        font-size: 17px;
        line-height: .88;
        letter-spacing: -.01em;
    }
    .brand__mobile-text span:last-child {
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .14em;
        opacity: .82;
        text-transform: uppercase;
    }
}

/* Nav links – smooth pill transition */
.primary-nav a {
    transition: background .18s ease, color .18s ease;
    font-size: .88rem;
}

/* Commerce icon buttons – proper circles */
.commerce-link {
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 50%;
    backdrop-filter: blur(6px);
    transition: background .18s ease, border-color .18s ease, transform .15s ease;
}

.commerce-link:hover {
    background: rgba(255,255,255,.22);
    border-color: rgba(255,255,255,.44);
    transform: translateY(-1px);
}

/* Cart keeps a little more width for the badge */
.commerce-link--cart {
    width: auto;
    min-width: 42px;
    padding: 0 .65rem;
    border-radius: 999px;
    gap: .38rem;
}

/* Icon size inside buttons */
.commerce-link .commerce-link__icon,
.commerce-link svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Call-now CTA – glowing gold pill */
.nav-cta {
    padding: .55rem 1.1rem;
    font-size: .85rem;
    letter-spacing: .01em;
    border-radius: 999px;
    box-shadow: 0 0 0 3px rgba(255,173,57,.22), 0 10px 22px rgba(255,173,57,.28);
    transition: box-shadow .18s ease, transform .15s ease;
}

.nav-cta:hover {
    box-shadow: 0 0 0 4px rgba(255,173,57,.38), 0 14px 28px rgba(255,173,57,.36);
    transform: translateY(-1px);
}

/* Top strip – tighter, more refined */
.top-strip__inner {
    font-size: .8rem;
}

/* Search bar row – subtle glass look */
.header-search {
    background: rgba(13,0,41,.28);
    backdrop-filter: blur(4px);
}

.product-search input[type="search"] {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
/* ── End Header Refinements ─────────────────────────────── */

/* ══════════════════════════════════════════════════════════
   FOOTER — reset conflicting legacy rules then redesign
   ══════════════════════════════════════════════════════════ */

/* Neutralise old background / border that compete with the new gradient */
.site-footer {
    color: rgba(255,255,255,.82);
    background:
        radial-gradient(ellipse at 80% 0%, rgba(255,173,57,.10) 0, transparent 40%),
        linear-gradient(180deg, #1b004f 0%, #0d0028 100%) !important;
    border-top: 4px solid var(--pm-glow) !important;
}

/* Kill the old link-list grid layout and hover colour */
.footer-link-list a,
.footer-link-item,
.footer-location-link {
    display: flex !important;
    grid-template-columns: unset !important;
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--pm-glow) !important;
}

/* Stop old .footer-actions overriding new .footer-contact-ctas */
.footer-actions { display: none !important; }

/* Reset old .site-footer .menu flex-centre to grid-start */
.site-footer .menu {
    display: grid !important;
    justify-content: start !important;
    align-items: start !important;
    gap: .5rem;
}

/* Prevent old padding bleeding into new bottom bar paragraph */
.footer-bottom p { padding: 0 !important; }

.site-footer {
    color: rgba(255,255,255,.82);
    background:
        radial-gradient(ellipse at 80% 0%, rgba(255,173,57,.10) 0, transparent 40%),
        linear-gradient(180deg, #1b004f 0%, #0d0028 100%);
    border-top: 4px solid var(--pm-glow);
}

/* ── Top area ── */
.footer-top {
    padding: 3.5rem 0 2.5rem;
}

.footer-top__inner {
    display: grid;
    grid-template-columns: 1.35fr repeat(4, 1fr);
    gap: 2rem;
    align-items: start;
}

/* ── Brand column ── */
.footer-brand {
    padding-right: 1rem;
    border-right: 1px solid rgba(255,255,255,.1);
}

.footer-brand .brand--footer {
    margin-bottom: 1rem;
}

.footer-brand p {
    font-size: .88rem;
    line-height: 1.65;
    color: rgba(255,255,255,.68);
    margin-bottom: 1.2rem;
}

/* ── CTA buttons under brand ── */
.footer-contact-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1.2rem;
}

.footer-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem .9rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 800;
    transition: transform .15s ease, box-shadow .15s ease;
}

.footer-cta-btn:hover {
    transform: translateY(-2px);
}

.footer-cta-btn--call {
    color: #16081f;
    background: var(--pm-glow);
    box-shadow: 0 6px 18px rgba(255,173,57,.28);
}

.footer-cta-btn--call:hover {
    box-shadow: 0 10px 24px rgba(255,173,57,.42);
}

.footer-cta-btn--whatsapp {
    color: #ffffff;
    background: #25d366;
    box-shadow: 0 6px 18px rgba(37,211,102,.22);
}

.footer-cta-btn--whatsapp:hover {
    box-shadow: 0 10px 24px rgba(37,211,102,.38);
}

/* ── Social icons ── */
.footer-socials {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
}

.footer-social-icon {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    transition: background .18s ease, color .18s ease, transform .15s ease, border-color .18s ease;
}

.footer-social-icon:hover {
    color: #16081f;
    background: var(--pm-glow);
    border-color: var(--pm-glow);
    transform: translateY(-2px);
}

/* ── Column headings ── */
.footer-col h3 {
    margin: 0 0 1rem;
    padding-bottom: .5rem;
    color: #ffffff;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

/* ── Link lists ── */
.footer-link-list {
    display: grid;
    gap: .55rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-link-list a,
.footer-link-item {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    line-height: 1.45;
    transition: color .15s ease;
}

.footer-link-list a:hover {
    color: var(--pm-glow);
}

.footer-icon {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--pm-glow);
    background: rgba(255,173,57,.14);
    border-radius: 6px;
    margin-top: .1rem;
}

/* ── Branch list — tighter ── */
.footer-branches {
    gap: .38rem;
}

.footer-branches .footer-link-item {
    font-size: .82rem;
}

.footer-all-branches {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .9rem;
    padding: .45rem .85rem;
    color: #16081f;
    background: var(--pm-glow);
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 800;
    transition: box-shadow .18s ease, transform .15s ease;
}

.footer-all-branches:hover {
    box-shadow: 0 8px 20px rgba(255,173,57,.35);
    transform: translateY(-1px);
}

/* ── Footer nav menu ── */
.site-footer .menu {
    display: grid;
    gap: .5rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.site-footer .menu a {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    transition: color .15s ease, padding-left .15s ease;
}

.site-footer .menu a::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    background: var(--pm-glow);
    border-radius: 50%;
    flex-shrink: 0;
    opacity: .6;
    transition: opacity .15s ease;
}

.site-footer .menu a:hover {
    color: var(--pm-glow);
    padding-left: .35rem;
}

.site-footer .menu a:hover::before {
    opacity: 1;
}

/* ── Bottom bar ── */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    background: rgba(0,0,0,.22);
}

.footer-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 1rem 0;
}

.footer-bottom p {
    margin: 0;
    font-size: .8rem;
    color: rgba(255,255,255,.52);
}

.footer-bottom-nav {
    display: flex;
    gap: 1.2rem;
}

.footer-bottom-nav a {
    font-size: .8rem;
    color: rgba(255,255,255,.52);
    transition: color .15s ease;
}

.footer-bottom-nav a:hover {
    color: var(--pm-glow);
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .footer-top__inner {
        grid-template-columns: 1fr 1fr;
    }
    .footer-brand {
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.1);
        padding-right: 0;
        padding-bottom: 1.5rem;
        max-width: 520px;
    }
    .footer-contact-ctas {
        flex-direction: row;
    }
}

@media (max-width: 680px) {
    .footer-top {
        padding: 2rem 0 1.5rem;
    }
    .footer-top__inner {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 1.2rem;
    }
    .footer-brand {
        max-width: 100%;
    }
    .footer-brand p {
        font-size: .83rem;
    }
    .footer-contact-ctas {
        flex-wrap: wrap;
        gap: .6rem;
    }
    .footer-bottom__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }
    .footer-bottom-nav {
        flex-wrap: wrap;
        gap: .6rem 1rem;
    }
    .footer-col h3 {
        font-size: .75rem;
    }
    .footer-link-list li a,
    .footer-link-list .footer-link-item {
        font-size: .8rem;
    }
    .footer-all-branches {
        font-size: .8rem;
        padding: .55rem 1rem;
    }
}

@media (max-width: 500px) {
    .footer-top__inner {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }
    .footer-brand {
        border-bottom: 1px solid rgba(255,255,255,.1);
        padding-bottom: 1.2rem;
    }
    .footer-col {
        padding-bottom: .6rem;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }
    .footer-col:last-child {
        border-bottom: 0;
    }
    .footer-socials {
        margin-top: 1rem;
    }
    .footer-bottom__inner {
        gap: .6rem;
    }
    .footer-contact-ctas {
        flex-direction: column;
    }
    .footer-cta-btn {
        width: 100%;
        justify-content: center;
    }
    .footer-all-branches {
        display: block;
        text-align: center;
        width: 100%;
    }
}

/* ══════════════════════════════════════════════════════════
   GLOBAL NAVIGATION — refinements
   ══════════════════════════════════════════════════════════ */

/* Desktop nav pill hover with animated underline accent */
.primary-nav > .menu > li {
    position: relative;
}

.primary-nav > .menu > li > a::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: .64rem;
    right: .64rem;
    height: 2px;
    background: var(--pm-glow);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

.primary-nav > .menu > li > a:hover::after,
.primary-nav > .menu > li.current-menu-item > a::after {
    transform: scaleX(1);
}

/* Active item stays bright */
.primary-nav .current-menu-item > a {
    color: #ffffff !important;
}

/* Nav toggle (hamburger) accessible focus */
.nav-toggle:focus-visible {
    outline: 2px solid var(--pm-glow);
    outline-offset: 3px;
}

/* Mobile menu panel — clean drawer */
.primary-nav {
    background: linear-gradient(160deg, #1b004f 0%, #3c079e 100%);
    border-bottom: 3px solid var(--pm-glow);
}

@media (max-width: 900px) {
    .primary-nav .menu {
        display: grid;
        gap: .3rem;
        padding: .75rem .75rem 1rem;
    }
    .primary-nav .menu a {
        padding: .65rem .85rem;
        font-size: .9rem;
        background: rgba(255,255,255,.08) !important;
        border: 1px solid rgba(255,255,255,.12) !important;
        border-radius: 10px;
    }
    .primary-nav .menu a:hover {
        background: rgba(255,173,57,.18) !important;
        border-color: rgba(255,173,57,.4) !important;
        color: var(--pm-glow) !important;
    }
    .primary-nav .menu > li > a::after {
        display: none;
    }
}

/* Final replicated homepage header */
body.home .site-header,
.site-header {
    display: block !important;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    overflow: visible;
    color: #ffffff;
    background: #3f0aa3 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.admin-bar .site-header {
    top: 32px;
}

.top-strip,
.header-search {
    display: none !important;
}

.header-main {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(210px, 300px) minmax(420px, 1fr) max-content;
    align-items: center;
    gap: clamp(1.25rem, 2vw, 2rem);
    width: min(1710px, calc(100% - 9vw)) !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 28px 0 14px !important;
    margin: 0 auto !important;
}

.nav-toggle {
    display: none !important;
}

.brand {
    display: inline-flex !important;
    align-items: center;
    min-width: 0;
    gap: .7rem;
    color: #ffffff !important;
    text-decoration: none;
}

.brand__mark,
.brand__text {
    display: none !important;
}

.brand__mobile-text,
.brand__mobile-text span,
body:not(.home) .brand__mobile-text,
body:not(.home) .brand__mobile-text span {
    display: block !important;
    color: #ffffff !important;
    font-size: clamp(2.4rem, 3vw, 3.9rem) !important;
    font-weight: 950 !important;
    line-height: .84 !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
    text-transform: uppercase !important;
}

.header-main-search {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
    min-height: 72px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 3px;
    box-shadow: 0 18px 42px rgba(20, 0, 56, .22);
}

.header-category-select {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0 1.15rem;
    color: #687080;
    font-size: clamp(.95rem, 1.1vw, 1.15rem);
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    border-right: 2px solid #ececf2;
}

.header-main-search .product-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 70px !important;
    gap: 0 !important;
    min-width: 0;
    margin: 0;
}

.header-main-search .product-search input[type="search"] {
    min-height: 72px !important;
    padding: 0 1.45rem !important;
    color: #14121d !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(1rem, 1.05vw, 1.15rem) !important;
    font-weight: 700;
}

.header-main-search .product-search input[type="search"]::placeholder {
    color: #717785;
    opacity: 1;
}

.header-main-search .product-search button {
    display: grid !important;
    place-items: center;
    width: 70px !important;
    min-height: 72px !important;
    padding: 0 !important;
    color: #717785 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.header-main-search .product-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

.header-main-search .product-search__icon {
    position: relative;
    display: block !important;
    width: 22px;
    height: 22px;
    color: currentColor;
    border: 3px solid currentColor;
    border-radius: 50%;
}

.header-main-search .product-search__icon::after {
    content: "";
    position: absolute;
    right: -9px;
    bottom: -6px;
    width: 11px;
    height: 3px;
    background: currentColor;
    border-radius: 999px;
    transform: rotate(45deg);
}

.header-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .85rem;
    min-width: max-content;
}

.commerce-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    gap: .45rem;
    padding: 0 .85rem !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 1rem;
    font-weight: 900;
    text-decoration: none;
}

.commerce-link__icon {
    width: 22px !important;
    height: 22px !important;
}

.commerce-link__label,
.commerce-link__count {
    display: inline-flex;
    align-items: center;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
}

.commerce-link__count {
    justify-content: center;
    min-width: 1.45rem;
    min-height: 1.45rem;
    padding: 0 .36rem;
    color: #1c0b00;
    background: #ffad39;
    border-radius: 999px;
    font-size: .78rem;
}

.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 1.05rem !important;
    color: #1c0b00 !important;
    background: #ffad39 !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .18) !important;
    font-size: .95rem;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.primary-nav {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    width: min(1710px, calc(100% - 9vw)) !important;
    max-width: none !important;
    padding: 4px 0 22px !important;
    margin: 0 auto !important;
    color: #ffffff;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.primary-nav .menu,
.primary-nav ul {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(1.35rem, 2.4vw, 3.1rem);
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
}

.primary-nav li {
    margin: 0 !important;
}

.primary-nav a,
.primary-nav .menu a {
    display: inline-flex !important;
    align-items: center;
    min-height: 44px;
    padding: .3rem 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: clamp(1rem, 1.08vw, 1.22rem) !important;
    font-weight: 950 !important;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a {
    color: #ffdd8d !important;
}

.mobile-menu-panel {
    display: none !important;
}

@media (max-width: 1200px) {
    .header-main {
        grid-template-columns: minmax(170px, 220px) minmax(310px, 1fr) max-content;
        width: min(100% - 2rem, 1120px) !important;
        gap: 1rem;
    }

    .header-main-search {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .primary-nav {
        width: min(100% - 2rem, 1120px) !important;
    }

    .primary-nav .menu,
    .primary-nav ul {
        gap: 1.4rem;
    }

    .nav-cta {
        display: none !important;
    }
}

@media (max-width: 900px) {
    body.admin-bar .site-header {
        top: 0;
    }

    .site-header {
        min-height: 0;
        background: #3f0aa3 !important;
    }

    .header-main {
        grid-template-columns: 22px minmax(0, 1fr) auto !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 8px 10px 7px !important;
    }

    .nav-toggle {
        display: grid !important;
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        place-items: center;
        width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .nav-toggle__line {
        display: block;
        width: 16px;
        height: 2px;
        margin: 2px 0;
        background: #ffffff;
        border-radius: 999px;
    }

    .brand {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        justify-self: start;
        min-width: 0;
    }

    .brand__mobile-text,
    .brand__mobile-text span,
    body:not(.home) .brand__mobile-text,
    body:not(.home) .brand__mobile-text span {
        display: block !important;
        color: #ffffff !important;
        font-size: 21px !important;
        font-weight: 950 !important;
        line-height: .82 !important;
        letter-spacing: 0 !important;
        opacity: 1 !important;
        text-transform: uppercase !important;
    }

    .header-actions {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        justify-self: end;
        gap: 0;
        min-width: 0;
    }

    .header-actions .commerce-link:not(.commerce-link--cart),
    .header-actions .nav-cta {
        display: none !important;
    }

    .commerce-link--cart {
        display: inline-flex !important;
        gap: 4px !important;
        min-height: 24px !important;
        height: 24px !important;
        padding: 0 !important;
        color: #ffffff !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    .commerce-link--cart .commerce-link__icon {
        width: 14px !important;
        height: 14px !important;
    }

    .commerce-link--cart .commerce-link__label {
        display: inline-flex !important;
        font-size: 11px !important;
    }

    .commerce-link--cart .commerce-link__count {
        display: none !important;
    }

    .header-main-search {
        grid-column: 1 / -1;
        grid-row: 2;
        display: grid;
        grid-template-columns: 1fr;
        min-height: 35px;
        margin-top: 3px;
        overflow: visible;
        background: #ffffff;
        border: 1px solid rgba(44, 31, 92, .35);
        border-radius: 0;
        box-shadow: none;
    }

    .header-category-select {
        display: none !important;
    }

    .header-main-search .product-search {
        grid-template-columns: minmax(0, 1fr) 34px !important;
        min-height: 35px;
    }

    .header-main-search .product-search input[type="search"] {
        min-height: 35px !important;
        padding: 0 9px !important;
        color: #1b1730 !important;
        border: 0 !important;
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    .header-main-search .product-search button {
        width: 34px !important;
        min-height: 35px !important;
        color: #596274 !important;
    }

    .header-main-search .product-search__icon {
        width: 13px;
        height: 13px;
        border-width: 2px;
    }

    .header-main-search .product-search__icon::after {
        right: -5px;
        bottom: -4px;
        width: 7px;
        height: 2px;
    }

    .primary-nav {
        position: absolute !important;
        top: calc(100% - 1px);
        left: 8px;
        right: 8px;
        z-index: 1001;
        display: grid !important;
        width: auto !important;
        max-width: none !important;
        padding: .75rem !important;
        margin: 0 !important;
        background: #27006d !important;
        border: 1px solid rgba(255, 255, 255, .16) !important;
        border-radius: 0 0 12px 12px !important;
        box-shadow: 0 20px 40px rgba(14, 0, 45, .35) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none;
        transform: translateY(-6px) !important;
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    }

    .primary-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        transform: translateY(0) !important;
    }

    .primary-nav .menu,
    .primary-nav ul {
        display: grid !important;
        gap: .45rem !important;
    }

    .primary-nav a,
    .primary-nav .menu a {
        width: 100%;
        min-height: 40px;
        padding: .65rem .75rem !important;
        color: #ffffff !important;
        background: rgba(255, 255, 255, .08) !important;
        border: 1px solid rgba(255, 255, 255, .12) !important;
        border-radius: 8px !important;
        font-size: .9rem !important;
        line-height: 1.1;
        white-space: normal;
    }

    .mobile-menu-panel {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: .5rem;
        margin-top: .65rem;
    }

    .mobile-menu-panel .button {
        min-height: 38px;
        padding: .6rem .45rem;
        border-radius: 8px;
        font-size: .78rem;
        line-height: 1.1;
        text-align: center;
    }
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 0;
    }
}

@media (max-width: 360px) {
    .brand__mobile-text,
    .brand__mobile-text span,
    body:not(.home) .brand__mobile-text,
    body:not(.home) .brand__mobile-text span {
        font-size: 18px !important;
    }

    .commerce-link--cart .commerce-link__label {
        font-size: 10px !important;
    }
}
/* ══════════════════════════════════════════════════════════
   END FOOTER & NAV REFINEMENTS
   ══════════════════════════════════════════════════════════ */

/* ╔══════════════════════════════════════════════════════════╗
   ║  GLOBAL REDESIGN — header · pages · typography           ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ── Variables (extend existing) ── */
:root {
    --hdr-h-strip:  34px;
    --hdr-h-main:   74px;
    --hdr-h-nav:    46px;
    --hdr-bg:       linear-gradient(135deg, #140038 0%, #3c079e 55%, #5616c8 100%);
    --hdr-border:   rgba(255,255,255,.10);
    --glow:         #ffad39;
    --glow-dim:     rgba(255,173,57,.18);
    --white-82:     rgba(255,255,255,.82);
    --white-60:     rgba(255,255,255,.60);
    --page-bg:      #f8f5ff;
    --card-radius:  14px;
    --card-shadow:  0 4px 24px rgba(27,0,79,.10);
    --card-shadow-h:0 12px 36px rgba(27,0,79,.18);
}

/* ════════════════════════════════════════
   HEADER
   ════════════════════════════════════════ */

/* Kill old header classes that may still render */
.header-main, .header-main-search,
.header-actions, .primary-nav,
.top-strip, .shop-search-bar,
.nav-toggle, .brand,
.nav-cta:not(.hdr-cta),
.commerce-actions { display: none !important; }

/* ── Outer shell ── */
.site-header {
    position: sticky !important;
    top: 0;
    z-index: 200;
    color: #fff;
    background: var(--hdr-bg) !important;
    border-bottom: 1px solid var(--hdr-border) !important;
    box-shadow: 0 4px 0 var(--glow), 0 8px 32px rgba(20,0,56,.28) !important;
}

/* ── Info strip ── */
.hdr-strip {
    background: rgba(10,0,34,.55);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.hdr-strip__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--hdr-h-strip);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .01em;
}
.hdr-strip__msg {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: rgba(255,255,255,.62);
}
.hdr-strip__contacts {
    display: flex;
    gap: 1.25rem;
}
.hdr-strip__contacts a {
    display: flex;
    align-items: center;
    gap: .35rem;
    color: rgba(255,255,255,.82);
    transition: color .15s;
}
.hdr-strip__contacts a:hover { color: var(--glow); }

/* ── Main row ── */
.hdr-main {
    border-bottom: 1px solid rgba(255,255,255,.09);
}
.hdr-main__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo search actions";
    align-items: center;
    gap: 1.25rem;
    height: var(--hdr-h-main);
}
.hdr-toggle   { display: none; }
.hdr-logo     { grid-area: logo; }
.hdr-search   { grid-area: search; }
.hdr-actions  { grid-area: actions; }

/* ── Logo ── */
.hdr-logo {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    text-decoration: none;
    flex-shrink: 0;
    overflow: hidden;
    max-height: 74px;
}
.hdr-logo__mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    color: #3c079e;
    background: #fff;
    border: 2.5px solid var(--glow);
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -.03em;
    box-shadow: 0 0 0 4px rgba(255,173,57,.2), 0 6px 18px rgba(0,0,0,.25);
    flex-shrink: 0;
}
.hdr-logo__img {
    display: block;
    height: 54px !important;
    width: auto !important;
    max-width: 160px !important;
    max-height: 54px !important;
    object-fit: contain;
    object-position: left center;
    border-radius: 5px;
    flex-shrink: 0;
}
.hdr-logo__text {
    display: grid;
    line-height: 1.1;
}
.hdr-logo__text strong {
    font-size: 1.08rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.01em;
}
.hdr-logo__text small {
    font-size: .65rem;
    font-weight: 700;
    color: rgba(255,255,255,.68);
    text-transform: uppercase;
    letter-spacing: .14em;
}

/* ── Search bar ── */
.hdr-search {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.14), 0 0 0 2px rgba(255,173,57,.0);
    transition: box-shadow .18s;
}
.hdr-search:focus-within {
    box-shadow: 0 2px 12px rgba(0,0,0,.18), 0 0 0 2.5px var(--glow);
}
.hdr-search__cat {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: 0 .85rem;
    height: 46px;
    color: #4b0fba;
    font-size: .82rem;
    font-weight: 800;
    border-right: 1.5px solid #e8e0f5;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: default;
}
.hdr-search .product-search {
    display: flex !important;
    flex: 1;
    grid-template-columns: unset !important;
    gap: 0 !important;
    background: transparent;
    border: 0 !important;
    border-radius: 0 !important;
}
.hdr-search .product-search input[type="search"] {
    height: 46px;
    min-height: unset !important;
    padding: 0 .85rem;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: .9rem;
    color: #14003a;
    background: transparent;
}
.hdr-search .product-search input[type="search"]::placeholder { color: #9585b8; }
.hdr-search .product-search button {
    display: grid !important;
    place-items: center;
    width: 48px;
    height: 46px;
    min-height: unset !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--glow) !important;
    border-radius: 0 10px 10px 0 !important;
    box-shadow: none !important;
    cursor: pointer;
}
.hdr-search .product-search__icon {
    display: block !important;
    position: relative;
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-radius: 50%;
}
.hdr-search .product-search__icon::after {
    content: "";
    position: absolute;
    right: -5px; bottom: -4px;
    width: 7px; height: 2px;
    background: currentColor;
    transform: rotate(45deg);
    transform-origin: left center;
}
.hdr-search .product-search__label { display: none; }

/* ── Commerce actions ── */
.hdr-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.hdr-actions .commerce-link {
    display: inline-grid !important;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 50% !important;
    transition: background .18s, transform .15s;
}
.hdr-actions .commerce-link:hover {
    background: rgba(255,255,255,.22) !important;
    transform: translateY(-1px);
}
.hdr-actions .commerce-link--cart {
    width: auto !important;
    padding: 0 .7rem !important;
    border-radius: 999px !important;
    gap: .35rem !important;
}
.hdr-actions .commerce-link svg,
.hdr-actions .commerce-link .commerce-link__icon { width: 18px; height: 18px; }
.hdr-actions .commerce-link__count {
    background: var(--glow) !important;
    color: #1c0b00 !important;
}
.hdr-cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem 1.05rem;
    color: #1c0b00;
    background: var(--glow);
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 800;
    box-shadow: 0 6px 20px rgba(255,173,57,.32);
    transition: box-shadow .18s, transform .15s;
    white-space: nowrap;
}
.hdr-cta:hover { box-shadow: 0 10px 28px rgba(255,173,57,.48); transform: translateY(-1px); }

/* ── Mobile search (below main row, hidden desktop) ── */
.hdr-mobile-search { display: none; }

/* ── Nav row ── */
.hdr-nav {
    background: rgba(10,0,34,.38);
    border-top: 1px solid rgba(255,255,255,.07);
}
.hdr-nav__inner {
    display: flex;
    align-items: center;
    height: var(--hdr-h-nav);
}
.hdr-nav .menu {
    display: flex !important;
    align-items: center;
    gap: .15rem;
    padding: 0;
    margin: 0;
    list-style: none;
    flex: 1;
}
.hdr-nav .menu a {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 .72rem;
    color: rgba(255,255,255,.88);
    font-size: .83rem;
    font-weight: 700;
    border-radius: 8px;
    transition: background .16s, color .16s;
    white-space: nowrap;
}
.hdr-nav .menu a:hover,
.hdr-nav .menu .current-menu-item > a {
    color: #1c0b00;
    background: var(--glow);
}
.hdr-nav__mobile-ctas { display: none; }

/* ── Mobile responsive ── */
@media (max-width: 960px) {
    .hdr-strip { display: none; }

    .hdr-main__inner {
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "toggle logo actions";
        height: 58px;
        gap: .65rem;
        padding: 0;
    }

    .hdr-toggle {
        grid-area: toggle;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 38px;
        height: 38px;
        padding: 0 8px;
        background: rgba(255,255,255,.12);
        border: 1px solid rgba(255,255,255,.2);
        border-radius: 8px;
        cursor: pointer;
    }
    .hdr-toggle span:not(.screen-reader-text) {
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: transform .2s, opacity .2s;
    }
    .hdr-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hdr-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .hdr-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .hdr-logo__mark { display: none; }
    .hdr-logo__text { display: flex; }
    .hdr-logo__img  { height: 40px !important; max-height: 40px !important; max-width: 120px !important; }
    .hdr-search { display: none; }
    .hdr-cta    { display: none; }

    .hdr-mobile-search {
        display: block;
        padding: 6px 0 8px;
        background: rgba(10,0,34,.5);
    }
    .hdr-mobile-search .product-search {
        display: flex !important;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
    }
    .hdr-mobile-search .product-search input[type="search"] {
        flex: 1;
        height: 40px;
        padding: 0 .75rem;
        border: 0 !important;
        font-size: .88rem;
        background: transparent;
    }
    .hdr-mobile-search .product-search button {
        display: grid !important;
        place-items: center;
        width: 44px;
        height: 40px;
        min-height: unset !important;
        background: var(--glow) !important;
        border-radius: 0 8px 8px 0 !important;
        box-shadow: none !important;
    }
    .hdr-mobile-search .product-search__icon { display: block !important; }

    /* Nav drawer — full-screen overlay, header stays on top (z-index 100 > 95) */
    .hdr-nav {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 95;
        background: linear-gradient(170deg, #120035 0%, #2c0080 55%, #0a001e 100%);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .hdr-nav.is-open {
        display: flex;
        flex-direction: column;
        animation: navFadeIn .22s ease;
    }
    @keyframes navFadeIn {
        from { opacity: 0; transform: translateY(-6px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    /* push content below sticky header (58px main + 54px search) */
    .hdr-nav__inner {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 120px 0 2.5rem;
    }
    .hdr-nav .menu {
        flex-direction: column;
        gap: 0;
        padding: 0 1.5rem;
        flex: 1;
    }
    .hdr-nav .menu li {
        border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .hdr-nav .menu li:first-child {
        border-top: 1px solid rgba(255,255,255,.07);
    }
    .hdr-nav .menu a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 56px;
        padding: 0 .25rem;
        font-size: 1.08rem;
        font-weight: 600;
        color: rgba(255,255,255,.88);
        letter-spacing: .01em;
        border-radius: 0;
        background: none !important;
        border: none !important;
        transition: color .15s, padding-left .15s;
    }
    .hdr-nav .menu a::after {
        content: '›';
        font-size: 1.4rem;
        line-height: 1;
        color: rgba(255,255,255,.22);
        transition: color .15s, transform .15s;
        flex-shrink: 0;
    }
    .hdr-nav .menu a:hover,
    .hdr-nav .menu .current-menu-item > a {
        color: var(--glow) !important;
        padding-left: .75rem;
        background: none !important;
        border: none !important;
    }
    .hdr-nav .menu a:hover::after,
    .hdr-nav .menu .current-menu-item > a::after {
        color: var(--glow);
        transform: translateX(4px);
    }
    .hdr-nav__mobile-ctas {
        display: flex;
        flex-direction: column;
        gap: .75rem;
        padding: 2rem 1.5rem 1rem;
    }
    .hdr-nav__mobile-ctas .button {
        justify-content: center;
        font-size: 1rem;
        padding: .85rem 1rem;
    }
}

/* ════════════════════════════════════════
   PAGE HERO
   ════════════════════════════════════════ */
.page-hero,
.shop-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 6vw, 5.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(255,173,57,.22) 0, transparent 30%),
        radial-gradient(circle at 10% 80%, rgba(223,99,120,.16) 0, transparent 28%),
        linear-gradient(135deg, #140038 0%, #3c079e 60%, #5616c8 100%);
}
.page-hero::before {
    content: "";
    position: absolute;
    right: -6rem;
    bottom: -10rem;
    width: 36rem;
    height: 36rem;
    border: 6rem solid rgba(255,255,255,.05);
    border-radius: 50%;
    pointer-events: none;
}
.page-hero__inner { position: relative; z-index: 1; }

/* Breadcrumb */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.1rem;
    font-size: .8rem;
    font-weight: 700;
    color: rgba(255,255,255,.55);
}
.breadcrumb a { color: rgba(255,255,255,.72); transition: color .15s; }
.breadcrumb a:hover { color: var(--glow); }
.breadcrumb span[aria-hidden] { color: rgba(255,255,255,.35); }

.page-hero h1,
.shop-hero h1 {
    margin: 0 0 .75rem;
    font-size: clamp(1.9rem, 4.5vw, 3.2rem);
    font-weight: 900;
    line-height: 1.08;
    color: #fff;
    max-width: 820px;
    text-wrap: balance;
}
.page-hero__desc,
.shop-hero p {
    max-width: 680px;
    color: rgba(255,255,255,.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

/* ════════════════════════════════════════
   CONTENT SECTION & TYPOGRAPHY
   ════════════════════════════════════════ */
.content-section {
    padding: clamp(2.5rem, 5vw, 5rem) 0;
    background: var(--page-bg);
}
.content-wrap {
    max-width: 860px;
    padding: clamp(1.5rem, 3vw, 3rem);
    background: #fff;
    border: 1px solid #ede5f7;
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
}
.page-featured-image {
    margin: 0 0 2rem;
    border-radius: 10px;
    overflow: hidden;
}
.page-featured-image img { width: 100%; height: auto; display: block; }
.page-content h2 {
    margin: 2rem 0 .75rem;
    color: #14003a;
    font-size: clamp(1.35rem, 2.5vw, 1.9rem);
    font-weight: 900;
    line-height: 1.15;
}
.page-content h3 {
    margin: 1.6rem 0 .6rem;
    color: #3c079e;
    font-size: 1.15rem;
    font-weight: 800;
}
.page-content p  { margin: 0 0 1.1rem; line-height: 1.78; color: #2d1a4e; font-size: .97rem; }
.page-content ul,
.page-content ol { margin: 0 0 1.2rem 1.4rem; line-height: 1.78; color: #2d1a4e; }
.page-content a  { color: #3c079e; text-decoration: underline; text-underline-offset: 3px; }
.page-content a:hover { color: var(--glow); }

/* ════════════════════════════════════════
   ARCHIVE / BLOG
   ════════════════════════════════════════ */
.post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}
.post-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ede5f7;
    border-radius: var(--card-radius);
    overflow: hidden;
    box-shadow: var(--card-shadow);
    transition: box-shadow .22s, transform .2s;
}
.post-card:hover { box-shadow: var(--card-shadow-h); transform: translateY(-3px); }
.post-card__thumb { display: block; overflow: hidden; aspect-ratio: 16/9; }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.post-card:hover .post-card__thumb img { transform: scale(1.04); }
.post-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.3rem; }
.post-card__meta { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; color: #9585b8; text-transform: uppercase; letter-spacing: .06em; }
.post-card__title { margin: 0 0 .65rem; font-size: 1.08rem; font-weight: 800; line-height: 1.3; }
.post-card__title a { color: #14003a; transition: color .15s; }
.post-card__title a:hover { color: #3c079e; }
.post-card__excerpt { flex: 1; margin: 0 0 1.1rem; font-size: .88rem; line-height: 1.65; color: #5a4478; }
.post-card__link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .82rem;
    font-weight: 800;
    color: #3c079e;
    transition: gap .15s, color .15s;
}
.post-card__link:hover { gap: .55rem; color: var(--glow); }

/* Pagination */
.pagination-wrap { padding-top: 1rem; }
.pagination-wrap .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; }
.pagination-wrap .page-numbers {
    display: inline-grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 .6rem;
    border: 1.5px solid #ede5f7;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 700;
    color: #3c079e;
    transition: background .15s, border-color .15s;
}
.pagination-wrap .page-numbers.current,
.pagination-wrap .page-numbers:hover { background: #3c079e; border-color: #3c079e; color: #fff; }

.nothing-found { padding: 3rem; text-align: center; color: #9585b8; font-size: 1.05rem; }

/* ════════════════════════════════════════
   GENERAL PAGE BODY BACKGROUND
   ════════════════════════════════════════ */
body:not(.home) {
    background: var(--page-bg) !important;
}

/* ╔══════════════════════════════════════╗
   ║  END GLOBAL REDESIGN                 ║
   ╚══════════════════════════════════════╝ */

/* ════════════════════════════════════════
   PROMO CARDS — FULL-IMAGE REDESIGN
   ════════════════════════════════════════ */

/* ── Desktop promo cards ── */
.desktop-storefront__promos {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding: 20px 20px 0 !important;
}

.desktop-promo,
.desktop-promo.is-pool,
.desktop-promo.is-foosball,
.desktop-promo.is-accessories {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: clamp(280px, 26vw, 420px) !important;
    min-height: unset !important;
    padding: 0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    isolation: isolate !important;
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease !important;
    box-shadow: 0 6px 24px rgba(0,0,0,.18) !important;
    background: #111 !important;
}

.desktop-promo:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.28) !important;
}

/* Full-bleed image */
.desktop-promo img,
.desktop-promo.is-pool img,
.desktop-promo.is-foosball img,
.desktop-promo.is-accessories img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    right: auto !important;
    bottom: auto !important;
    grid-column: unset !important;
    grid-row: unset !important;
    z-index: 0 !important;
    transition: transform .4s ease !important;
    box-shadow: none !important;
}

.desktop-promo:hover img {
    transform: scale(1.05) !important;
}

/* Gradient overlay */
.desktop-promo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.04) 0%,
        rgba(0,0,0,.18) 45%,
        rgba(0,0,0,.76) 100%
    ) !important;
    z-index: 1 !important;
    height: 100% !important;
}

/* Accent top bar by category */
.desktop-promo.is-pool::before { background: #dc6b7b; }
.desktop-promo.is-foosball::before { background: #43cd95; }
.desktop-promo.is-accessories::before { background: #ffa638; }
.desktop-promo::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    z-index: 3 !important;
}

/* Content over overlay */
.desktop-promo__content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 28px 28px 32px !important;
}

.desktop-promo__content h2,
.desktop-promo h2 {
    position: static !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.1rem, 1.8vw, 1.55rem) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.5) !important;
}

.desktop-promo__cta,
.desktop-promo a {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 10px 20px !important;
    background: rgba(255,255,255,.18) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1.5px solid rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: .88rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: background .18s, border-color .18s !important;
    box-shadow: none !important;
    min-width: unset !important;
    min-height: unset !important;
    top: auto !important;
    left: auto !important;
}

.desktop-promo__cta:hover,
.desktop-promo a:hover {
    background: rgba(255,255,255,.32) !important;
    border-color: rgba(255,255,255,.6) !important;
    color: #ffffff !important;
}

/* ── Mobile promo cards ── */
.mobile-storefront__promos {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    background: transparent !important;
}

.mobile-promo,
.mobile-promo.is-pool,
.mobile-promo.is-foosball,
.mobile-promo.is-accessories {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    height: 200px !important;
    min-height: unset !important;
    overflow: hidden !important;
    background: #111 !important;
}

.mobile-promo img,
.mobile-promo.is-pool img,
.mobile-promo.is-foosball img,
.mobile-promo.is-accessories img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    right: auto !important;
    bottom: auto !important;
    grid-column: unset !important;
    grid-row: unset !important;
    z-index: 0 !important;
}

.mobile-promo::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.05) 0%,
        rgba(0,0,0,.62) 100%
    ) !important;
    z-index: 1 !important;
    height: 100% !important;
}

.mobile-promo__copy {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 18px 20px !important;
    grid-column: unset !important;
    padding-top: 0 !important;
}

.mobile-promo h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.5) !important;
    max-width: unset !important;
}

.mobile-promo a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 16px !important;
    background: rgba(255,255,255,.2) !important;
    backdrop-filter: blur(6px) !important;
    border: 1.5px solid rgba(255,255,255,.4) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    min-width: unset !important;
    min-height: unset !important;
}

/* at ≥ 480px stack promos side by side */
@media (min-width: 480px) {
    .mobile-storefront__promos {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 12px !important;
        padding: 12px !important;
    }
    .mobile-promo,
    .mobile-promo.is-pool,
    .mobile-promo.is-foosball,
    .mobile-promo.is-accessories {
        height: 220px !important;
        border-radius: 12px !important;
    }
    .mobile-promo__copy {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 16px !important;
    }
}

/* ════════════════════════════════════════
   PREMIUM PRODUCT CARDS
   ════════════════════════════════════════ */

/* ── Section header ── */
.desktop-products__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 36px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid #f0eaf8 !important;
}

.desktop-products__head h2 {
    position: relative !important;
    margin: 0 !important;
    color: #120733 !important;
    font-size: clamp(1.45rem, 2vw, 2.1rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

.desktop-products__head h2::after {
    content: "" !important;
    display: block !important;
    margin-top: 6px !important;
    width: 40px !important;
    height: 3px !important;
    background: #6b21e8 !important;
    border-radius: 999px !important;
}

.desktop-products__see-all {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 10px 20px !important;
    background: #6b21e8 !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: .85rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background .18s !important;
    white-space: nowrap !important;
}

.desktop-products__see-all:hover {
    background: #5318c9 !important;
    color: #ffffff !important;
}

/* ── Desktop grid ── */
.desktop-products__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

/* ── Desktop card ── */
.desktop-product-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #ede5f7 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(70, 20, 140, .06) !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
    min-width: 0 !important;
}

.desktop-product-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 32px rgba(70, 20, 140, .14) !important;
}

/* Image wrapper with fixed ratio */
.desktop-product-card__img-wrap {
    display: block !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 3 !important;
    background: #f5f1fb !important;
}

.desktop-product-card__img-wrap img,
.desktop-product-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    background: #f5f1fb !important;
    transition: transform .38s ease !important;
    margin: 0 !important;
}

.desktop-product-card:hover .desktop-product-card__img-wrap img,
.desktop-product-card:hover img {
    transform: scale(1.06) !important;
}

/* Card body */
.desktop-product-card__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 18px 20px 20px !important;
    gap: 6px !important;
}

.desktop-product-card h3,
.desktop-product-card__body h3 {
    margin: 0 !important;
    min-height: unset !important;
    color: #120733 !important;
    font-size: clamp(.8rem, .9vw, 1rem) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    overflow-wrap: anywhere !important;
}

.desktop-product-card h3 a,
.desktop-product-card__body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.desktop-product-card h3 a:hover,
.desktop-product-card__body h3 a:hover {
    color: #6b21e8 !important;
}

.desktop-product-card__price,
.desktop-product-card p {
    margin: 4px 0 0 !important;
    color: #6b21e8 !important;
    font-size: clamp(.9rem, 1vw, 1.1rem) !important;
    font-weight: 700 !important;
}

.desktop-product-card__price .woocommerce-Price-amount,
.desktop-product-card p .woocommerce-Price-amount,
.desktop-product-card .price,
.desktop-product-card .price-on-request {
    color: #6b21e8 !important;
    font-weight: 700 !important;
}

.desktop-product-card__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    color: #6b21e8 !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-top: 1px solid #f0eaf8 !important;
    transition: gap .18s !important;
}

.desktop-product-card__cta:hover {
    gap: 10px !important;
    color: #5318c9 !important;
}

/* ── Mobile cards ── */
.mobile-product-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #ede5f7 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(70, 20, 140, .07) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    min-width: 0 !important;
}

.mobile-product-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 20px rgba(70, 20, 140, .13) !important;
}

.mobile-product-card__img-wrap {
    display: block !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: #f5f1fb !important;
}

.mobile-product-card__img-wrap img,
.mobile-product-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    background: #f5f1fb !important;
    transition: transform .35s ease !important;
}

.mobile-product-card:hover .mobile-product-card__img-wrap img,
.mobile-product-card:hover img {
    transform: scale(1.06) !important;
}

.mobile-product-card__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 12px 14px 14px !important;
    gap: 4px !important;
}

.mobile-product-card h3,
.mobile-product-card__body h3 {
    margin: 0 !important;
    min-height: unset !important;
    color: #120733 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    overflow-wrap: anywhere !important;
}

.mobile-product-card h3 a,
.mobile-product-card__body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.mobile-product-card__price,
.mobile-product-card p {
    margin: 2px 0 0 !important;
    color: #6b21e8 !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
}

.mobile-product-card__price .woocommerce-Price-amount,
.mobile-product-card p .woocommerce-Price-amount,
.mobile-product-card .price,
.mobile-product-card .price-on-request {
    color: #6b21e8 !important;
    font-weight: 700 !important;
}

/* ── Desktop section wrapper ── */
.desktop-products {
    width: min(1600px, calc(100% - 6vw)) !important;
    margin-inline: auto !important;
    padding: 52px 0 64px !important;
}

.desktop-products + .desktop-products {
    border-top: 1px solid #f0eaf8 !important;
}

/* ════════════════════════════════════════
   SINGLE PRODUCT PAGE — FULL REDESIGN
   ════════════════════════════════════════ */

/* ── Page wrapper ── */
body.single-product .shop-section {
    padding-top: 0 !important;
    background: #faf8ff !important;
}

body.single-product .shop-layout {
    display: block !important;
    width: min(1240px, calc(100% - 32px)) !important;
    margin-inline: auto !important;
    padding: 40px 0 80px !important;
}

body.single-product .shop-results {
    min-width: 0 !important;
}

/* ── Breadcrumb ── */
body.single-product .woocommerce-breadcrumb {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    font-size: .82rem !important;
    color: #9585b8 !important;
    background: none !important;
    border: none !important;
}
body.single-product .woocommerce-breadcrumb a {
    color: #6b21e8 !important;
    text-decoration: none !important;
}
body.single-product .woocommerce-breadcrumb a:hover {
    text-decoration: underline !important;
}

/* ── Product grid: image | summary ── */
body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

body.single-product div.product div.images,
body.single-product div.product div.summary {
    width: auto !important;
    float: none !important;
}

/* ── Image gallery ── */
body.single-product div.product div.images {
    position: sticky !important;
    top: 100px !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: 20px !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: 0 8px 40px rgba(27, 0, 79, .12) !important;
    background: #ffffff !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image {
    border-radius: 20px !important;
    overflow: hidden !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    border-radius: 20px !important;
    object-fit: cover !important;
}

body.single-product div.product div.images .flex-control-thumbs {
    display: flex !important;
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 0 !important;
}

body.single-product div.product div.images .flex-control-thumbs li {
    flex: 1 !important;
    list-style: none !important;
    margin: 0 !important;
}

body.single-product div.product div.images .flex-control-thumbs li img {
    display: block !important;
    width: 100% !important;
    border-radius: 10px !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    transition: border-color .18s !important;
    object-fit: cover !important;
    aspect-ratio: 1 !important;
}

body.single-product div.product div.images .flex-control-thumbs li img.flex-active,
body.single-product div.product div.images .flex-control-thumbs li img:hover {
    border-color: #6b21e8 !important;
}

/* ── Summary panel ── */
body.single-product div.product .summary {
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Category badge */
body.single-product .posted_in {
    display: inline-block !important;
    margin-bottom: 14px !important;
    padding: 4px 14px !important;
    background: #ede5f7 !important;
    border-radius: 999px !important;
    color: #6b21e8 !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
body.single-product .posted_in a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Product title */
body.single-product .product_title {
    margin: 0 0 16px !important;
    color: #120733 !important;
    font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.02em !important;
}

/* Price */
body.single-product div.product p.price,
body.single-product div.product span.price {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 16px 20px !important;
    background: #f5f1fb !important;
    border-left: 4px solid #6b21e8 !important;
    border-radius: 0 10px 10px 0 !important;
    color: #6b21e8 !important;
    font-size: 1.7rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
body.single-product .price .woocommerce-Price-amount {
    color: #6b21e8 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}
body.single-product .price-on-request {
    color: #6b21e8 !important;
}

/* Short description */
body.single-product .woocommerce-product-details__short-description {
    margin: 0 0 24px !important;
    color: #4e5667 !important;
    font-size: .95rem !important;
    line-height: 1.7 !important;
    border-bottom: 1px solid #ede5f7 !important;
    padding-bottom: 24px !important;
}
body.single-product .woocommerce-product-details__short-description p {
    margin: 0 !important;
}

/* Cart form */
body.single-product div.product form.cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 0 20px !important;
}

body.single-product div.product form.cart .qty {
    width: 90px !important;
    height: 50px !important;
    padding: 0 14px !important;
    border: 2px solid #ede5f7 !important;
    border-radius: 10px !important;
    color: #120733 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    background: #ffffff !important;
}

body.single-product div.product form.cart .button,
body.single-product div.product form.cart .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 28px !important;
    background: #6b21e8 !important;
    border: none !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
    transition: background .18s, transform .12s !important;
    box-shadow: 0 4px 20px rgba(107, 33, 232, .32) !important;
    text-decoration: none !important;
}
body.single-product div.product form.cart .button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:hover {
    background: #5318c9 !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* ── WhatsApp + Call CTAs ── */
.product-buying-notes {
    margin-top: 20px !important;
}

.product-ctas {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
}

.product-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: opacity .18s, transform .12s !important;
    border: none !important;
    cursor: pointer !important;
}
.product-cta:hover {
    opacity: .88 !important;
    transform: translateY(-1px) !important;
}

.product-cta--whatsapp {
    background: #25d366 !important;
    color: #ffffff !important;
}
.product-cta--whatsapp svg { stroke: #ffffff !important; }

.product-cta--call {
    background: #f5f1fb !important;
    color: #6b21e8 !important;
    border: 2px solid #ede5f7 !important;
}
.product-cta--call svg { stroke: #6b21e8 !important; }

/* Trust badges */
.product-trust {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 18px 20px !important;
    background: #f5f1fb !important;
    border-radius: 12px !important;
    border: 1px solid #ede5f7 !important;
}

.product-trust__item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #4e3a7b !important;
    font-size: .84rem !important;
    font-weight: 600 !important;
}
.product-trust__item svg {
    flex-shrink: 0 !important;
    color: #6b21e8 !important;
    stroke: #6b21e8 !important;
}

/* Product meta */
body.single-product .product_meta {
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid #ede5f7 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
body.single-product .product_meta > span {
    font-size: .8rem !important;
    color: #9585b8 !important;
}
body.single-product .product_meta a {
    color: #6b21e8 !important;
    text-decoration: none !important;
}

/* ── Tabs / Description ── */
body.single-product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    margin-top: 56px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1px solid #ede5f7 !important;
    overflow: hidden !important;
    box-shadow: 0 2px 16px rgba(27, 0, 79, .06) !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f5f1fb !important;
    border-bottom: 1px solid #ede5f7 !important;
    list-style: none !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 16px 28px !important;
    color: #9585b8 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 3px solid transparent !important;
    transition: color .15s, border-color .15s !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: #6b21e8 !important;
    border-bottom-color: #6b21e8 !important;
    background: transparent !important;
}

body.single-product .woocommerce-tabs .panel {
    padding: 36px 40px !important;
    background: #ffffff !important;
    margin: 0 !important;
}

body.single-product .woocommerce-tabs .panel h2 {
    display: none !important;
}

body.single-product .woocommerce-tabs .panel p,
body.single-product .woocommerce-tabs .panel li {
    color: #4e5667 !important;
    font-size: .95rem !important;
    line-height: 1.75 !important;
}

/* ── Related / Upsell section ── */
body.single-product .related,
body.single-product .upsells {
    grid-column: 1 / -1 !important;
    margin-top: 56px !important;
}

body.single-product .related > h2,
body.single-product .upsells > h2 {
    position: relative !important;
    margin: 0 0 8px !important;
    color: #120733 !important;
    font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}
body.single-product .related > h2::after,
body.single-product .upsells > h2::after {
    content: "" !important;
    display: block !important;
    margin-top: 6px !important;
    margin-bottom: 28px !important;
    width: 40px !important;
    height: 3px !important;
    background: #6b21e8 !important;
    border-radius: 999px !important;
}

body.single-product .related ul.products,
body.single-product .upsells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

body.single-product .related ul.products li.product,
body.single-product .upsells ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #ede5f7 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(70, 20, 140, .06) !important;
    transition: transform .22s, box-shadow .22s !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.single-product .related ul.products li.product:hover,
body.single-product .upsells ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 28px rgba(70, 20, 140, .13) !important;
}

body.single-product .related ul.products li.product a img,
body.single-product .upsells ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    transition: transform .35s !important;
}
body.single-product .related ul.products li.product:hover a img,
body.single-product .upsells ul.products li.product:hover a img {
    transform: scale(1.05) !important;
}

body.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.single-product .upsells ul.products li.product .woocommerce-loop-product__title {
    padding: 14px 16px 4px !important;
    margin: 0 !important;
    color: #120733 !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    line-height: 1.3 !important;
}

body.single-product .related ul.products li.product .price,
body.single-product .upsells ul.products li.product .price {
    display: block !important;
    padding: 0 16px 12px !important;
    margin: 0 !important;
    color: #6b21e8 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

body.single-product .related ul.products li.product .button,
body.single-product .upsells ul.products li.product .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 16px 16px !important;
    padding: 10px 16px !important;
    background: #6b21e8 !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background .18s !important;
}
body.single-product .related ul.products li.product .button:hover,
body.single-product .upsells ul.products li.product .button:hover {
    background: #5318c9 !important;
    color: #ffffff !important;
}

/* ── Responsive ── */
@media (max-width: 860px) {
    body.single-product div.product {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    body.single-product div.product div.images {
        position: static !important;
    }
    .product-ctas {
        grid-template-columns: 1fr !important;
    }
    body.single-product .related ul.products,
    body.single-product .upsells ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    body.single-product .woocommerce-tabs .panel {
        padding: 24px 20px !important;
    }
}

@media (max-width: 500px) {
    body.single-product .shop-layout {
        padding: 24px 0 48px !important;
    }
    body.single-product div.product p.price,
    body.single-product div.product span.price {
        font-size: 1.35rem !important;
    }
    body.single-product .related ul.products,
    body.single-product .upsells ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* ════════════════════════════════════════
   FIXES: ADMIN BAR GAP · ICONS · IMAGE HEIGHT · LOAD MORE
   ════════════════════════════════════════ */

/* ── Admin bar gap: colour the html background to match header ── */
html {
    background: #3f0aa3 !important;
}
body {
    background: #faf8ff;
}
body.home {
    background: #ffffff;
}

/* ── Header commerce icons — consistent circular style ── */
.hdr-actions .commerce-link {
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.12) !important;
    border: 1.5px solid rgba(255,255,255,.25) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    transition: background .18s, transform .15s !important;
    gap: 0 !important;
}
.hdr-actions .commerce-link:hover {
    background: rgba(255,255,255,.24) !important;
    transform: translateY(-1px) !important;
}

/* Cart: same circle as account (remove the pill override) */
.hdr-actions .commerce-link--cart {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
}

.hdr-actions .commerce-link svg,
.hdr-actions .commerce-link .commerce-link__icon {
    width: 19px !important;
    height: 19px !important;
    flex-shrink: 0 !important;
}

/* Badge — absolute top-right on the cart icon */
.commerce-link__count { display: none !important; }

.commerce-link__badge {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    background: #ffa500 !important;
    border-radius: 50% !important;
    border: 2px solid #3f0aa3 !important;
    color: #1c0800 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* ── Single product image: cap height so it doesn't stretch too tall ── */
body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    box-shadow: 0 8px 40px rgba(27, 0, 79, .12) !important;
    border: none !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image,
body.single-product div.product div.images .woocommerce-product-gallery__image a {
    display: block !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    max-height: 480px !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
}

/* ── Load More button ── */
.load-more-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 36px 0 8px !important;
}

.load-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 13px 32px !important;
    background: #ffffff !important;
    border: 2px solid #ede5f7 !important;
    border-radius: 999px !important;
    color: #6b21e8 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background .18s, border-color .18s, transform .15s !important;
    box-shadow: 0 2px 12px rgba(107, 33, 232, .08) !important;
}
.load-more-btn:hover {
    background: #f5f1fb !important;
    border-color: #6b21e8 !important;
    transform: translateY(-1px) !important;
}
.load-more-btn:disabled,
.load-more-btn.is-loading {
    opacity: .6 !important;
    cursor: default !important;
    transform: none !important;
}
.load-more-btn.is-loading svg {
    animation: pm-spin 1s linear infinite !important;
}
@keyframes pm-spin {
    to { transform: rotate(360deg); }
}
