/*
Theme Name: Pepkits
Template: astra
Version: 1.0.9
Description: Pepkits custom theme - Black + Neon Green
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
    --pk-black:         #000000;
    --pk-black-soft:    #0a0a0a;
    --pk-black-card:    #111111;
    --pk-black-border:  rgba(255,255,255,0.08);
    --pk-green:         #C8FF00;
    --pk-green-dim:     rgba(200,255,0,0.12);
    --pk-green-glow:    rgba(200,255,0,0.25);
    --pk-white:         #ffffff;
    --pk-white-70:      rgba(255,255,255,0.7);
    --pk-white-40:      rgba(255,255,255,0.4);
    --pk-white-10:      rgba(255,255,255,0.1);
    --pk-font:          'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
    --pk-radius:        4px;
    --pk-radius-pill:   100px;
    --pk-transition:    0.2s ease;
    --pk-header-h:      64px;
}

/* ============================================================
   GLOBAL RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    background: var(--pk-black) !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    -webkit-font-smoothing: antialiased;
}

body { }

a { color: var(--pk-white); text-decoration: none; transition: color var(--pk-transition); }
a:hover { color: var(--pk-green) !important; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--pk-font) !important;
    color: var(--pk-white) !important;
    text-transform: capitalize !important;
    letter-spacing: -0.02em;
}

p { color: var(--pk-white-70); line-height: 1.6; }

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

/* ============================================================
   HEADER
   ============================================================ */
#masthead,
.site-header,
.ast-header-break-point .site-header,
header.site-header {
    z-index: 99999 !important;
    z-index: 99999 !important;
    background: var(--pk-black) !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
    box-shadow: 0 2px 40px rgba(0,0,0,0.8) !important;
}

/* Header inner — only target the header's container, not content containers */
.main-header-bar .ast-container,
#masthead .ast-container,
.site-header .ast-container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--pk-header-h);
}

/* Logo */
.site-branding,
.ast-site-identity {
    flex-shrink: 0 !important;
}

.custom-logo {
    max-height: 36px !important;
    width: auto !important;
}

.site-title {
    font-family: var(--pk-font) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    text-transform: capitalize !important;
    color: var(--pk-white) !important;
}

/* Nav */
.main-navigation,
#site-navigation,
.ast-nav-menu {
    display: flex !important;
    align-items: center !important;
}

.ast-nav-menu > li > a,
.main-navigation ul li a {
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: capitalize !important;
    color: var(--pk-white-70) !important;
    padding: 8px 16px !important;
    transition: color var(--pk-transition) !important;
}

.ast-nav-menu > li > a:hover,
.main-navigation ul li a:hover {
    color: var(--pk-green) !important;
}

/* Header icons (cart, account) */
.ast-header-woo-cart,
.ast-site-header-cart,
.woocommerce-cart-form,
.ast-masthead-custom-menu-items {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.ast-cart-menu-wrap .count,
.ast-site-header-cart .count {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
}

/* Mobile header */
@media (max-width: 920px) {
    body {
    }

    #masthead,
    .site-header {
        min-height: var(--pk-header-h) !important;
    }

    .ast-container {
        padding: 0 16px !important;
    }

    /* Hamburger */
    .ast-button-wrap .menu-toggle,
    .ast-mobile-menu-buttons .menu-toggle,
    button.menu-toggle {
        background: transparent !important;
        border: none !important;
        color: var(--pk-white) !important;
        padding: 8px !important;
        order: -1 !important;
    }

    .custom-logo {
        max-height: 30px !important;
    }
}

/* ============================================================
   TICKER / ANNOUNCEMENT BAR
   ============================================================ */
.pk-ticker {
    position: fixed;
    top: var(--pk-header-h);
    left: 0;
    right: 0;
    z-index: 99998;
    background: var(--pk-green);
    color: var(--pk-black);
    font-family: var(--pk-font);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: capitalize;
    padding: 7px 0;
    overflow: hidden;
    white-space: nowrap;
}

.pk-ticker-track {
    display: inline-flex;
    animation: pk-scroll 30s linear infinite;
}

.pk-ticker-track span {
    padding: 0 48px;
    color: var(--pk-black) !important;
}

@keyframes pk-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

body.has-ticker { }

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button,
.woocommerce #payment #place_order,
.checkout-button,
.wc-proceed-to-checkout a,
button.button,
.ast-button,
a.ast-button,
input[type="submit"],
.pk-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: capitalize !important;
    border: 1px solid var(--pk-green) !important;
    border-radius: var(--pk-radius) !important;
    padding: 12px 28px !important;
    cursor: pointer !important;
    transition: all var(--pk-transition) !important;
    text-decoration: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-proceed-to-checkout a:hover,
.pk-btn:hover {
    background: transparent !important;
    color: var(--pk-green) !important;
}

/* Ghost button */
.pk-btn-ghost {
    background: transparent !important;
    color: var(--pk-white) !important;
    border: 1px solid var(--pk-white-10) !important;
}

.pk-btn-ghost:hover {
    border-color: var(--pk-green) !important;
    color: var(--pk-green) !important;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.pk-hero {
    min-height: 90vh;
    background: var(--pk-black);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.pk-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 50% at 70% 50%, rgba(200,255,0,0.06) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 20% 80%, rgba(200,255,0,0.03) 0%, transparent 60%);
    pointer-events: none;
}

.pk-hero-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 64px;
    position: relative;
    z-index: 1;
}

.pk-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: capitalize;
    color: var(--pk-green);
    margin-bottom: 24px;
}

.pk-hero-label::before {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background: var(--pk-green);
}

.pk-hero h1 {
    font-size: clamp(48px, 6vw, 88px) !important;
    font-weight: 700 !important;
    line-height: 1.0 !important;
    letter-spacing: -0.04em !important;
    text-transform: capitalize !important;
    margin: 0 0 24px !important;
    color: var(--pk-white) !important;
}

.pk-hero h1 em {
    font-style: normal;
    color: var(--pk-green);
}

.pk-hero p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--pk-white-70);
    max-width: 460px;
    margin-bottom: 40px;
}

.pk-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pk-hero-badges {
    display: flex;
    gap: 12px;
    margin-top: 48px;
    flex-wrap: wrap;
}

.pk-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--pk-green-dim);
    border: 1px solid rgba(200,255,0,0.18);
    border-radius: var(--pk-radius-pill);
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 500;
    color: var(--pk-white-70);
    letter-spacing: 0.02em;
}

.pk-badge svg {
    width: 14px;
    height: 14px;
    color: var(--pk-green);
}

.pk-hero-image {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.pk-hero-image::before {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(200,255,0,0.08) 0%, transparent 70%);
    border-radius: 50%;
}

/* ============================================================
   SECTION STYLES
   ============================================================ */
.pk-section {
    padding: 80px 0;
}

.pk-section-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

.pk-section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: capitalize;
    color: var(--pk-green);
    margin-bottom: 12px;
    display: block;
}

.pk-section-title {
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 48px !important;
}

.pk-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 24px;
}

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--pk-black-card) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: border-color var(--pk-transition), transform var(--pk-transition) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product:hover {
    border-color: rgba(200,255,0,0.25) !important;
    transform: translateY(-2px) !important;
}

.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.03) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.01em !important;
    color: var(--pk-white) !important;
    padding: 16px 16px 4px !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product .price {
    display: block !important;
    padding: 0 16px 16px !important;
    font-family: var(--pk-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--pk-green) !important;
}

.woocommerce ul.products li.product a.button {
    margin: 0 16px 16px !important;
    width: calc(100% - 32px) !important;
    justify-content: flex-start !important;
    font-size: 12px !important;
    padding: 10px 16px !important;
}

/* Sale badge */
.woocommerce span.onsale {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    border-radius: var(--pk-radius) !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 4px 8px !important;
    line-height: 1 !important;
}

/* ============================================================
   SHOP / ARCHIVE PAGE
   ============================================================ */
.woocommerce-products-header,
.woocommerce-breadcrumb,
.ast-archive-description {
    display: none !important;
}

.woocommerce-page .site-content,
body.woocommerce-page #page {
    background: var(--pk-black) !important;
}

/* Reduce top gap on shop archive */
body.woocommerce-page {
    --ast-container-default-xlg-padding: 0px;
    --ast-container-default-lg-padding: 0px;
    --ast-container-default-slg-padding: 0px;
    --ast-container-default-md-padding: 0px;
}

body.woocommerce-page #primary,
body.woocommerce-page .ast-plain-container.ast-no-sidebar #primary,
body.woocommerce-page .site-main,
body.woocommerce-page .entry-content,
body.woocommerce-page .ast-article-single,
body.woocommerce-page .site-content .ast-container,
body.woocommerce-page .woocommerce-page-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Filter bar */
.woocommerce .ast-shop-toolbar-container,
.woocommerce-page .ast-shop-toolbar-container {
    border-top: 1px solid var(--pk-black-border) !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
    padding: 14px 0 !important;
    margin-bottom: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.woocommerce-ordering,
form.woocommerce-ordering {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 10px !important;
}

/* "Sort:" label before the dropdown */
form.woocommerce-ordering::before {
    content: "Sort" !important;
    color: var(--pk-white-40) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.woocommerce-result-count {
    color: var(--pk-white-40) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23C8FF00' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 10px 6px !important;
    color: var(--pk-white) !important;
    border: 1px solid rgba(200,255,0,0.25) !important;
    border-radius: 100px !important;
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    padding: 8px 32px 8px 16px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    transition: border-color var(--pk-transition), background-color var(--pk-transition), box-shadow var(--pk-transition) !important;
    outline: none !important;
    min-width: 150px !important;
    -webkit-box-shadow: 0 0 0 1000px #000000 inset !important;
    -webkit-text-fill-color: var(--pk-white) !important;
}

.woocommerce-ordering select:hover,
.woocommerce .woocommerce-ordering select:hover {
    border-color: rgba(200,255,0,0.6) !important;
    box-shadow: 0 0 12px rgba(200,255,0,0.08) !important;
}

.woocommerce-ordering select:focus,
.woocommerce .woocommerce-ordering select:focus {
    border-color: var(--pk-green) !important;
    box-shadow: 0 0 0 3px rgba(200,255,0,0.12), 0 0 16px rgba(200,255,0,0.1) !important;
    outline: none !important;
}

.woocommerce-ordering select option {
    background-color: #111111 !important;
    color: #ffffff !important;
}

/* ============================================================
   FILTER BAR ? MOBILE (Astra fixes toolbar to bottom at <=544px)
   ============================================================ */
@media (max-width: 544px) {
    .ast-header-break-point .ast-shop-toolbar-container,
    .woocommerce .ast-shop-toolbar-container,
    .woocommerce-page .ast-shop-toolbar-container {
        background: #0a0a0a !important;
        background-color: #0a0a0a !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
        border-bottom: none !important;
        padding: 10px 20px 10px !important;
        margin-bottom: 0 !important;
        gap: 12px !important;
        justify-content: space-between !important;
        box-shadow: 0 -8px 32px rgba(0,0,0,0.8) !important;
    }

    .woocommerce-result-count {
        font-size: 10px !important;
        white-space: nowrap !important;
        color: rgba(255,255,255,0.4) !important;
    }

    /* Astra JS wraps toolbar in .ast-sticky-shop-filters with background:#f8f8f8 */
    .ast-sticky-shop-filters {
        background: #0a0a0a !important;
        background-color: #0a0a0a !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
        border-bottom: none !important;
        box-shadow: 0 -8px 32px rgba(0,0,0,0.8) !important;
        padding: 10px 20px !important;
    }

    form.woocommerce-ordering::before {
        display: none !important;
    }

    .woocommerce-ordering select,
    .woocommerce .woocommerce-ordering select {
        min-width: 0 !important;
        width: auto !important;
        font-size: 12px !important;
        padding: 7px 28px 7px 12px !important;
        background: #111111 !important;
        background-color: #111111 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        -webkit-box-shadow: 0 0 0 1000px #111111 inset !important;
        border: 1px solid rgba(200,255,0,0.25) !important;
    }
}

/* .ast-sticky-shop-filters ? also override outside mobile in case it renders at other sizes */
.ast-sticky-shop-filters {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.7) !important;
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.woocommerce div.product {
    background: var(--pk-black) !important;
}

.woocommerce div.product .product_title {
    font-family: var(--pk-font) !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.03em !important;
    color: var(--pk-white) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--pk-green) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--pk-white-70) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100% !important;
    justify-content: flex-start !important;
    font-size: 15px !important;
    padding: 16px 32px !important;
}

/* ============================================================
   CART / CHECKOUT
   ============================================================ */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content {
    background: var(--pk-black) !important;
}

table.shop_table {
    background: transparent !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

table.shop_table th {
    background: var(--pk-black-soft) !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

table.shop_table td {
    background: transparent !important;
    color: var(--pk-white) !important;
    border-color: var(--pk-black-border) !important;
    font-family: var(--pk-font) !important;
}

/* ============================================================
   FORMS / INPUTS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select {
    background: var(--pk-black-card) !important;
    color: var(--pk-white) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: var(--pk-radius) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    -webkit-appearance: none !important;
    -webkit-box-shadow: 0 0 0 1000px var(--pk-black-card) inset !important;
    -webkit-text-fill-color: var(--pk-white) !important;
    transition: border-color var(--pk-transition) !important;
}

input:focus, textarea:focus, select:focus {
    border-color: var(--pk-green) !important;
    outline: none !important;
}

input::placeholder, textarea::placeholder {
    color: var(--pk-white-40) !important;
}

label {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon {
    background: var(--pk-black-soft) !important;
    border-top: 1px solid var(--pk-black-border) !important;
    padding: 64px 0 32px !important;
}

.site-footer * {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
}

.site-footer a:hover {
    color: var(--pk-green) !important;
}

.site-footer h1, .site-footer h2,
.site-footer h3, .site-footer h4 {
    color: var(--pk-white) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

/* ============================================================
   UTILITY
   ============================================================ */
.pk-divider {
    border: none;
    border-top: 1px solid var(--pk-black-border);
    margin: 40px 0;
}

.woocommerce-info,
.woocommerce-message {
    background: var(--pk-black-card) !important;
    border-top: 3px solid var(--pk-green) !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

.woocommerce-error {
    background: var(--pk-black-card) !important;
    border-top: 3px solid #ff4444 !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

/* Stars */
.star-rating span::before,
.woocommerce-product-rating .star-rating span::before {
    color: var(--pk-green) !important;
}

/* ============================================================
   MOBILE RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .pk-hero-inner {
        grid-template-columns: 1fr !important;
        padding: 48px 20px !important;
        gap: 40px !important;
    }

    .pk-hero-image {
        display: none !important;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .pk-section {
        padding: 48px 0 !important;
    }

    .pk-section-header {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products li.product a img {
        height: 160px !important;
    }
}

/* ============================================================
   ASTRA HEADER OVERRIDES
   ============================================================ */

/* Fixed header wrapper */
.ast-header-break-point .site-header,
.site-header,
#masthead {
    z-index: 99999 !important;
    background: var(--pk-black) !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
    box-shadow: 0 1px 40px rgba(0,0,0,0.9) !important;
    z-index: 99999 !important;
}

body { }

/* Main header row */
.ast-flex.main-header-bar-navigation,
.main-header-bar,
.ast-main-header-wrap {
    background: transparent !important;
    min-height: var(--pk-header-h) !important;
    padding: 0 !important;
    border: none !important;
}

.main-header-bar .ast-container,
#masthead .ast-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: var(--pk-header-h) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

/* Logo */
.site-logo-img img,
.custom-logo,
.ast-logo-img img {
    max-height: 34px !important;
    width: auto !important;
    height: auto !important;
}

.site-title a,
.ast-site-identity a {
    font-family: var(--pk-font) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    text-transform: capitalize !important;
    color: var(--pk-white) !important;
    text-decoration: none !important;
}

/* Hide tagline */
.site-description, .ast-site-description { display: none !important; }

/* Nav menu */
#site-navigation,
.main-navigation,
.ast-nav-menu-section,
.main-header-bar .navigation-accessibility {
    display: flex !important;
    align-items: center !important;
}

.ast-nav-menu > li,
.main-navigation ul > li {
    position: relative !important;
    margin: 0 !important;
}

.ast-nav-menu > li > a,
.ast-nav-menu > .menu-item > a,
.main-navigation ul > li > a {
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-transform: capitalize !important;
    color: var(--pk-white-70) !important;
    padding: 8px 14px !important;
    border-radius: var(--pk-radius) !important;
    transition: all var(--pk-transition) !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
}

.ast-nav-menu > li > a:hover,
.main-navigation ul > li > a:hover,
.ast-nav-menu > li.current-menu-item > a,
.main-navigation ul > li.current-menu-item > a {
    color: var(--pk-green) !important;
    background: var(--pk-green-dim) !important;
}

/* Dropdown submenu */
.ast-nav-menu .sub-menu,
.main-navigation .sub-menu {
    background: #000000 !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.8) !important;
    padding: 8px !important;
    min-width: 200px !important;
}

.ast-nav-menu .sub-menu li a,
.main-navigation .sub-menu li a {
    color: var(--pk-white-70) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    border-radius: var(--pk-radius) !important;
    display: block !important;
}

.ast-nav-menu .sub-menu li a:hover,
.main-navigation .sub-menu li a:hover {
    color: var(--pk-green) !important;
    background: var(--pk-green-dim) !important;
}

/* Header right side — cart + account */
.ast-header-woo-cart,
.ast-header-sections-navigation,
.header-main-layout-2 .ast-primary-header-bar .ast-flex {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Cart icon */
.ast-site-header-cart a,
.ast-header-woo-cart a {
    color: var(--pk-white-70) !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px !important;
    border-radius: var(--pk-radius) !important;
    transition: color var(--pk-transition) !important;
}

.ast-site-header-cart a:hover,
.ast-header-woo-cart a:hover {
    color: var(--pk-green) !important;
}

.ast-site-header-cart .count,
.ast-header-woo-cart .count {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    border-radius: 100px !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
}

/* Hide Astra default top bar */
.ast-above-header-wrap,
.ast-above-header,
#ast-above-header-section { display: none !important; }

/* ── MOBILE HEADER ── */
@media (max-width: 920px) {

    #masthead, .site-header {
        min-height: var(--pk-header-h) !important;
    }

    .main-header-bar .ast-container,
    #masthead .ast-container {
        padding: 0 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Hamburger */
    button.menu-toggle,
    .ast-button-wrap .menu-toggle,
    .ast-mobile-menu-buttons {
        order: -1 !important;
        background: transparent !important;
        border: none !important;
        color: var(--pk-white) !important;
        padding: 8px !important;
        font-size: 20px !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Logo center */
    .ast-site-identity, .site-branding {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    /* Cart right */
    .ast-site-header-cart {
        margin-left: auto !important;
    }

    /* Mobile dropdown */
    .ast-mobile-header-stack .main-navigation {
        background: #000000 !important;
        border-top: 1px solid var(--pk-black-border) !important;
        padding: 16px !important;
    }

    .ast-mobile-header-stack .main-navigation ul li a {
        padding: 12px 16px !important;
        font-size: 15px !important;
        border-radius: var(--pk-radius) !important;
        display: block !important;
    }
}

/* ============================================================
   ASTRA - REMOVE BLOG/POST META ON PAGES
   ============================================================ */
.entry-meta,
.posted-on,
.byline,
.ast-post-format-wrapper .entry-meta {
    display: none !important;
}

.woocommerce-breadcrumb { display: none !important; }

/* Remove Astra page title on shop */
.ast-archive-description,
.woocommerce-products-header { display: none !important; }

/* ============================================================
   FOOTER — REMOVE ASTRA CREDIT
   ============================================================ */
.ast-footer-copyright a[href*="astra"],
.ast-footer-copyright a[href*="wordpress"] {
    display: none !important;
}

.site-footer .ast-footer-copyright {
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
    color: var(--pk-white-40) !important;
    text-align: center !important;
    padding: 24px !important;
    border-top: 1px solid var(--pk-black-border) !important;
}

/* ============================================================
   ASTRA HEADER — TARGETED FIX (based on actual HTML)
   ============================================================ */

/* Fix the logo: force it to a reasonable size */
.site-logo-img img.custom-logo,
.ast-site-identity .custom-logo,
#ast-desktop-header .custom-logo,
#ast-mobile-header .custom-logo {
    max-height: 36px !important;
    max-width: 140px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Hide text site-title since we have a logo */
.ast-site-title-wrap .site-title {
    display: none !important;
}

/* Header bars — dark bg */
#ast-desktop-header,
#ast-mobile-header,
.main-header-bar,
.ast-primary-header-bar,
.site-primary-header-wrap,
.main-header-bar-wrap {
    background-color: var(--pk-black) !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
    min-height: var(--pk-header-h) !important;
}

/* Nav link color */
#ast-desktop-header .menu-link,
#ast-desktop-header .ast-builder-menu .menu-link {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    letter-spacing: 0.02em !important;
}

#ast-desktop-header .menu-item:hover > .menu-link,
#ast-desktop-header .menu-item.current-menu-item > .menu-link {
    color: var(--pk-green) !important;
}

/* Submenu */
#ast-desktop-header .sub-menu {
    background: #0d0d0d !important;
    border: 1px solid var(--pk-black-border) !important;
    border-top: 2px solid var(--pk-green) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.9) !important;
}

#ast-desktop-header .sub-menu .menu-link {
    color: var(--pk-white-70) !important;
    font-size: 13px !important;
    padding: 10px 16px !important;
}

#ast-desktop-header .sub-menu .menu-item:hover > .menu-link {
    color: var(--pk-green) !important;
    background: var(--pk-green-dim) !important;
}

/* Mobile header menu bg */
#ast-mobile-header .ast-mobile-header-content {
    background: #0a0a0a !important;
    border-top: 1px solid var(--pk-black-border) !important;
}

#ast-mobile-header .menu-item > .menu-link {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 15px !important;
    padding: 12px 20px !important;
    font-weight: 500 !important;
}

#ast-mobile-header .menu-item:hover > .menu-link,
#ast-mobile-header .menu-item.current-menu-item > .menu-link {
    color: var(--pk-green) !important;
}

/* Mobile toggle */
#ast-mobile-header .ast-mobile-menu-trigger-minimal,
#ast-mobile-header button.menu-toggle,
.ast-mobile-menu-buttons button {
    color: var(--pk-white) !important;
    background: transparent !important;
    border: none !important;
}

/* Cart */
.ast-site-header-cart a,
#ast-desktop-header .ast-site-header-cart a {
    color: var(--pk-white-70) !important;
}

.ast-site-header-cart a:hover {
    color: var(--pk-green) !important;
}

.ast-site-header-cart .count,
.ast-header-woo-cart .count {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-weight: 700 !important;
}

/* Builder menu submenu border */
.ast-builder-menu-1 .sub-menu {
    border-top-color: var(--pk-green) !important;
    border-top-width: 2px !important;
}

/* Footer dark */
.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    background-color: var(--pk-black-soft) !important;
    border-top: 1px solid var(--pk-black-border) !important;
}

.ast-footer-copyright.site-footer-focus-item,
.ast-footer-copyright {
    color: var(--pk-white-40) !important;
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
}

/* ============================================================
   SCROLL FIX — body padding for fixed header
   ============================================================ */

/* Astra sets min-height on the primary bar — match our padding to it */
html {
}

body,
body.ast-desktop,
body.ast-plain-container,
body.woocommerce,
body.woocommerce-page,
body.woocommerce-account {
}

/* Astra adds its own padding via .ast-primary-header-bar min-height — remove any double offset */
.ast-primary-header-bar,
.ast-main-header-wrap {
    position: relative !important;
}

/* Header z-index */

/* Remove Astra's min-height on the primary bar so it matches our --pk-header-h */
.ast-primary-header-bar.ast-primary-header.main-header-bar {
    min-height: var(--pk-header-h) !important;
}

/* Prevent Astra's default 80px min-height from making header taller than needed */
.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-primary-header-bar .site-primary-header-wrap {
    min-height: var(--pk-header-h) !important;
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: var(--pk-header-h) !important;
}


/* Astra sticky header handles offset natively — just ensure dark bg always */
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-sticky-shrunk .ast-primary-header-bar,
.ast-header-sticked .ast-primary-header-bar {
    background: #000 !important;
    background-color: #000 !important;
}

/* Zero out double margins */
#primary, #content #primary { margin-top: 0 !important; }

/* ============================================================
   STICKY HEADER — always dark (Astra handles sticky offset)
   ============================================================ */
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-sticky-shrunk .ast-primary-header-bar,
.ast-header-sticked .ast-primary-header-bar,
.site-header.ast-sticky-active {
    background: #000000 !important;
    background-color: #000000 !important;
}

/* FINAL HEADER FIX — sticky keeps it in flow + sticks on scroll */
#masthead, .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: #000 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Header: fixed, dark. JS sets body padding. */
#masthead, .site-header {
    position: fixed !important;
    top: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    background: #000 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.8) !important;
}

/* Body offset for fixed header — measured at 67px */
body { padding-top: 67px !important; }
.admin-bar body, body.admin-bar { padding-top: 99px !important; }
@media screen and (max-width: 782px) {
  .admin-bar body, body.admin-bar { padding-top: 113px !important; }
}

/* Replace body padding with #content margin — avoids false scroll zone */
body { padding-top: 0 !important; }
#content.site-content, .site-content { margin-top: 67px !important; }
.admin-bar #content.site-content, .admin-bar .site-content { margin-top: 99px !important; }

/* ============================================================
   HOMEPAGE TEMPLATE STYLES
   ============================================================ */

/* ── HERO ─────────────────────────────────────────────────── */
.pk-hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--pk-black);
    overflow: hidden;
}

.pk-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 60% at 80% 40%, rgba(200,255,0,0.06) 0%, transparent 65%),
        radial-gradient(ellipse 50% 70% at 10% 90%, rgba(200,255,0,0.03) 0%, transparent 60%);
    pointer-events: none;
}

.pk-hero-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 60px;
    position: relative;
    z-index: 1;
    width: 100%;
}

.pk-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--pk-font) !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--pk-green);
    margin-bottom: 20px;
}

.pk-hero-label::before {
    content: '';
    display: block;
    width: 28px;
    height: 2px;
    background: var(--pk-green);
}

.pk-hero-h1 {
    font-family: var(--pk-font) !important;
    font-size: clamp(52px, 7vw, 96px) !important;
    font-weight: 700 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
    text-transform: capitalize !important;
    color: var(--pk-white) !important;
    margin: 0 0 24px !important;
}

.pk-hero-h1 em {
    font-style: normal;
    color: var(--pk-green);
}

.pk-hero-sub {
    font-size: 16px;
    color: var(--pk-white-70);
    max-width: 480px;
    line-height: 1.6;
    margin-bottom: 40px;
}

.pk-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.pk-cta-btn {
    display: inline-flex;
    align-items: center;
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: capitalize !important;
    padding: 14px 32px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: 2px solid var(--pk-green) !important;
}

.pk-cta-btn:hover {
    background: transparent !important;
    color: var(--pk-green) !important;
}

.pk-cta-btn.pk-cta-sm {
    padding: 12px 24px !important;
    font-size: 13px !important;
}

.pk-ghost-btn {
    display: inline-flex;
    align-items: center;
    background: transparent !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    padding: 14px 24px !important;
    border-radius: 3px !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.pk-ghost-btn:hover {
    border-color: var(--pk-green) !important;
    color: var(--pk-green) !important;
}

.pk-trust-badges {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.pk-badge {
    font-family: var(--pk-font) !important;
    font-size: 12px;
    font-weight: 500;
    color: var(--pk-white-70);
    background: rgba(200,255,0,0.06);
    border: 1px solid rgba(200,255,0,0.15);
    border-radius: 100px;
    padding: 5px 14px;
    letter-spacing: 0.02em;
}

.pk-hero-visual {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.pk-hero-visual::before {
    content: '';
    position: absolute;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(200,255,0,0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.pk-hero-vial {
    max-height: 480px;
    width: auto;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 20px 60px rgba(200,255,0,0.15));
}

/* Ticker */
.pk-ticker-wrap {
    position: relative;
    z-index: 2;
    background: var(--pk-green);
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
}

.pk-ticker-track {
    display: inline-block;
    animation: pk-ticker 35s linear infinite;
    font-family: var(--pk-font) !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: capitalize;
    color: var(--pk-black);
}

@keyframes pk-ticker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ── SECTION SHARED ───────────────────────────────────────── */
.pk-section {
    padding: 80px 0;
    background: var(--pk-black);
}

.pk-section-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

.pk-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 24px;
}

.pk-section-label {
    display: block;
    font-family: var(--pk-font) !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--pk-green);
    margin-bottom: 8px;
}

.pk-section-title {
    font-family: var(--pk-font) !important;
    font-size: clamp(26px, 3vw, 38px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    text-transform: capitalize !important;
    color: var(--pk-white) !important;
    margin: 0 !important;
    line-height: 1.1 !important;
}

.pk-link-btn {
    font-family: var(--pk-font) !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--pk-white-70) !important;
    text-decoration: none;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.pk-link-btn:hover {
    color: var(--pk-green) !important;
}

/* ── PRODUCT GRID ─────────────────────────────────────────── */
.pk-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.pk-product-card {
    background: #111;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.pk-product-card:hover {
    border-color: rgba(200,255,0,0.3);
    transform: translateY(-2px);
}

.pk-product-img-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    background: radial-gradient(ellipse at center, #1f1f1f 0%, #0d0d0d 72%);
}

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

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

.pk-product-img-placeholder {
    width: 100%;
    height: 100%;
    background: #111;
}

.pk-badge-sale,
.pk-badge-oos {
    position: absolute;
    top: 12px;
    left: 12px;
    font-family: var(--pk-font) !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: capitalize;
    padding: 4px 10px;
    border-radius: 3px;
    background: var(--pk-green);
    color: var(--pk-black);
}

.pk-badge-oos {
    background: rgba(255,255,255,0.15);
    color: var(--pk-white);
}

.pk-product-info {
    padding: 16px;
}

.pk-product-title {
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
}

.pk-product-title a {
    color: var(--pk-white) !important;
    text-decoration: none;
}

.pk-product-price {
    font-family: var(--pk-font) !important;
    font-size: 16px;
    font-weight: 700;
    color: var(--pk-green);
    margin-bottom: 14px;
}

.pk-product-price .woocommerce-Price-amount { color: var(--pk-green) !important; }

.pk-btn-add {
    display: block;
    text-align: center;
    background: var(--pk-green);
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: capitalize;
    padding: 10px 16px;
    border-radius: 3px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pk-btn-add:hover {
    background: transparent;
    color: var(--pk-green) !important;
    box-shadow: inset 0 0 0 1px var(--pk-green);
}

/* ── CATEGORIES ───────────────────────────────────────────── */
.pk-categories { background: #050505; }

.pk-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.pk-cat-card {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    display: block;
    text-decoration: none;
    aspect-ratio: 4/3;
    background: #111;
    border: 1px solid rgba(255,255,255,0.07);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.pk-cat-card:hover {
    border-color: rgba(200,255,0,0.3);
    transform: translateY(-2px);
}

.pk-cat-img-wrap {
    position: absolute;
    inset: 0;
}

.pk-cat-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.pk-cat-card:hover .pk-cat-img {
    transform: scale(1.05);
}

.pk-cat-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #111 0%, #1a1a1a 100%);
}

.pk-cat-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
}

.pk-cat-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    z-index: 1;
}

.pk-cat-name {
    font-family: var(--pk-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    color: var(--pk-white) !important;
    margin: 0 0 4px !important;
    letter-spacing: -0.01em !important;
}

.pk-cat-count {
    font-family: var(--pk-font) !important;
    font-size: 12px;
    color: var(--pk-white-70);
    font-weight: 400;
}

/* ── OUR STORY ────────────────────────────────────────────── */
.pk-story-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 80px;
}

.pk-story-text p {
    color: var(--pk-white-70);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 40px;
}

.pk-story-stats {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
}

.pk-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pk-stat-num {
    font-family: var(--pk-font) !important;
    font-size: 28px;
    font-weight: 700;
    color: var(--pk-green);
    letter-spacing: -0.03em;
    text-transform: capitalize;
}

.pk-stat-label {
    font-family: var(--pk-font) !important;
    font-size: 12px;
    color: var(--pk-white-40);
    text-transform: capitalize;
    letter-spacing: 0.02em;
}

.pk-story-img {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.pk-story-img::before {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(200,255,0,0.08) 0%, transparent 70%);
    border-radius: 50%;
}

.pk-story-product-img {
    max-height: 420px;
    width: auto;
    object-fit: contain;
    position: relative;
    z-index: 1;
}

/* ── NEWSLETTER ───────────────────────────────────────────── */
.pk-newsletter {
    background: #050505;
    border-top: 1px solid rgba(255,255,255,0.06);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.pk-newsletter-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.pk-newsletter-text .pk-section-title { margin-bottom: 8px !important; }
.pk-newsletter-text p { color: var(--pk-white-70); font-size: 15px; margin: 0; }

.pk-newsletter-inner .mc4wp-form {
    flex: 1;
    max-width: 480px;
}

.pk-newsletter-inner .mc4wp-form-fields {
    display: flex;
    gap: 12px;
}

.pk-newsletter-inner .mc4wp-form input[type="email"] {
    flex: 1;
    height: 48px !important;
    padding: 0 16px !important;
}

.pk-newsletter-inner .mc4wp-form input[type="submit"] {
    height: 48px !important;
    padding: 0 24px !important;
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    text-transform: capitalize !important;
    white-space: nowrap;
}

/* ── MOBILE ───────────────────────────────────────────────── */
@media (max-width: 920px) {
    .pk-hero-inner {
        grid-template-columns: 1fr;
        padding: 60px 20px;
        gap: 40px;
    }

    .pk-hero-visual { display: none; }

    .pk-section-inner { padding: 0 20px; }

    .pk-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .pk-cat-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .pk-story-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pk-story-img { display: none; }

    .pk-newsletter-inner {
        flex-direction: column;
        gap: 32px;
    }

    .pk-newsletter-inner .mc4wp-form { max-width: 100%; width: 100%; }

    .pk-section-header { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* Hero layout fix — 2-col grid, text left, image right */
.pk-hero-inner {
    grid-template-columns: 1.1fr 0.9fr !important;
    padding: 100px 60px !important;
}
.pk-hero-content {
    text-align: left !important;
}

/* Show logo image on staging, hide text-only title */
.site-logo-img {
    display: flex !important;
    align-items: center !important;
}
.site-logo-img img.custom-logo {
    display: block !important;
    max-height: 32px !important;
    max-width: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.ast-site-title-wrap .site-title {
    display: none !important;
}

/* Hero: full-width centered layout */
.pk-hero-inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 120px 40px !important;
    max-width: 860px !important;
    margin: 0 auto !important;
}
.pk-hero-content {
    text-align: center !important;
}
.pk-hero-h1 { text-align: center !important; }
.pk-hero-sub { max-width: 520px !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
.pk-hero-actions { justify-content: flex-start !important; }
.pk-trust-badges { justify-content: flex-start !important; }
.pk-hero-label { justify-content: flex-start !important; }
.pk-hero-visual { display: none !important; }

/* HERO FINAL — centered, full width, no grid issues */
.pk-hero-section { display: flex !important; flex-direction: column !important; }
.pk-hero-inner { display: block !important; max-width: 720px !important; margin: 0 auto !important; padding: 120px 40px !important; text-align: center !important; width: 100% !important; box-sizing: border-box !important; }
.pk-hero-content { text-align: center !important; }
.pk-hero-h1, .pk-hero-sub, .pk-hero-label { text-align: center !important; }
.pk-hero-sub { margin-left: auto !important; margin-right: auto !important; }
.pk-hero-actions, .pk-trust-badges { justify-content: flex-start !important; }
.pk-hero-visual { display: none !important; }

/* Homepage: full width sections */
body.home #primary, body.home .content-area { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.home #content .ast-container { max-width: 100% !important; padding: 0 !important; }

.pk-hero-inner { align-self: center !important; }
.pk-hero-section { align-items: center !important; }

/* Fix section content alignment on homepage */
body.home main#pk-home,
body.home #pk-home .pk-section,
body.home #pk-home .pk-arrivals,
body.home #pk-home .pk-categories,
body.home #pk-home .pk-story,
body.home #pk-home .pk-newsletter {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
}

/* Single product tab active state */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--pk-green) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover::before { background: var(--pk-green) !important; }
/* Quantity input - KAN-15: fix padding (general input rule has 12px 16px which clips
   the number in the narrow box-sizing:border-box qty input from Astra) */
.woocommerce .quantity input.qty {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    -webkit-box-shadow: 0 0 0 1000px #1a1a1a inset !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    text-align: center !important;
    padding: 0 2px !important;
}
/* Quantity +/- buttons - KAN-15: Astra uses --ast-global-color-3 which is dark on dark bg */
.woocommerce-js .quantity .minus,
.woocommerce-js .quantity .plus {
    color: rgba(255,255,255,0.8) !important;
    border-color: rgba(255,255,255,0.15) !important;
    background: transparent !important;
    background-color: transparent !important;
}
.woocommerce-js .quantity .minus:hover,
.woocommerce-js .quantity .plus:hover {
    color: var(--pk-green) !important;
    border-color: rgba(200,255,0,0.35) !important;
}

/* Cart totals box dark */
/* Cart totals — clean slate for pk-ct template */
.cart-collaterals .cart_totals, .pk-cart-totals { background: transparent !important; border: none !important; padding: 0 !important; }
.cart_totals table th, .cart_totals table td { background: transparent !important; color: #fff !important; }
.cart_totals h2, .pk-ct-heading { color: #fff !important; }
.cart_totals .woocommerce-shipping-calculator, .cart_totals .shipping-calculator-form, .woocommerce-shipping-calculator * { background: transparent !important; }
.cart-collaterals * { background-color: transparent !important; }
/* Hide Astra footer credit */
.ast-footer-copyright a[href*="astra"],
.ast-footer-copyright a[href*="wordpress"],
.ast-footer-copyright a[href*="woocommerce"] { display: none !important; }

/* Payment gateway box dark */
#payment, #payment .payment_methods, #payment div.payment_box,
#payment .wc_payment_method, .woocommerce-checkout #payment,
.psifi-payment-wrap, .psifi-gateway, [class*="psifi"],
.woocommerce-checkout #payment > .form-row {
 background: #111 !important;
 background-color: #111 !important;
 color: #fff !important;
 border-color: rgba(255,255,255,0.1) !important;
}
#payment .payment_methods li label { color: #fff !important; }
#payment .payment_methods li { border-color: rgba(255,255,255,0.1) !important; background: transparent !important; }
/* Checkout order review box */
#order_review, .woocommerce-checkout-review-order-table {
 background: #111 !important;
 border: 1px solid rgba(255,255,255,0.08) !important;
 border-radius: 8px !important;
 padding: 24px !important;
}
#order_review th, #order_review td { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,0.08) !important; }
#order_review .order-total td { color: var(--pk-green) !important; }

/* Footer: hide Astra/WP credits, show clean copyright */
.ast-footer-copyright { font-family: var(--pk-font) !important; font-size: 12px !important; color: rgba(255,255,255,0.35) !important; }
.ast-footer-copyright a { display: none !important; }
.ast-footer-copyright br { display: none !important; }
/* Hide the " Powered by\ text nodes — target the whole paragraph */
.site-below-footer-wrap .ast-footer-copyright { font-size: 0 !important; }
.site-below-footer-wrap .ast-footer-copyright::before { content: \Copyright 2026 PEPKITS. All rights reserved.\; font-size: 12px !important; font-family: var(--pk-font) !important; color: rgba(255,255,255,0.35) !important; }

/* State/country select dropdowns on checkout */
.woocommerce-checkout select,
.select2-container .select2-selection--single,
.select2-selection__rendered {
    background-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
}
.select2-dropdown, .select2-results {
    background: #111 !important;
    border-color: rgba(255,255,255,0.15) !important;
}
.select2-results__option { color: #fff !important; background: #111 !important; }
.select2-results__option--highlighted { background: var(--pk-green) !important; color: #000 !important; }

/* PSIFI / payment box - nuclear dark override */
.woocommerce-checkout #payment .payment_box,
.woocommerce #payment .payment_box,
#payment .payment_box,
.woocommerce-checkout #payment,
.payment_box {
    background: #111 !important;
    background-color: #111 !important;
    color: rgba(255,255,255,0.7) !important;
    border-color: rgba(255,255,255,0.08) !important;
}
.payment_box p, .payment_box * { color: rgba(255,255,255,0.7) !important; }
.payment_box::before { border-bottom-color: #111 !important; }
.psifi-payment-description { color: rgba(255,255,255,0.7) !important; background: transparent !important; }

/* Smart invert: flip payment box dark without JS race */
#payment .payment_box {
    filter: invert(1) hue-rotate(180deg) !important;
    border-radius: 6px !important;
}
/* Re-invert any images inside so they look normal */
#payment .payment_box img {
    filter: invert(1) hue-rotate(180deg) !important;
}

/* Direct fix: exact payment box element */
div.payment_box.payment_method_psifi,
div.payment_method_psifi,
.payment_method_psifi {
    background: #111111 !important;
    background-color: #111111 !important;
    color: rgba(255,255,255,0.75) !important;
}
div.payment_box.payment_method_psifi *,
.payment_method_psifi * {
    background: transparent !important;
    background-color: transparent !important;
    color: rgba(255,255,255,0.75) !important;
}
/* Select2 state dropdown */
.select2-selection.select2-selection--single {
    background: #111 !important;
    background-color: #111 !important;
    color: #fff !important;
}

/* State/Select2 dropdown final fix */
.select2-container--default .select2-selection--single {
    background: #111 !important;
    background-color: #111 !important;
    border-color: rgba(255,255,255,0.15) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
}

/* Select2 complete dark theme */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single:focus {
    background: #111 !important;
    background-color: #111 !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    height: 40px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 8px !important;
}
.select2-dropdown {
    background: #111 !important;
    border-color: rgba(255,255,255,0.15) !important;
}
.select2-search--dropdown .select2-search__field {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.15) !important;
}
.select2-results__option {
    background: #111 !important;
    color: rgba(255,255,255,0.8) !important;
}
.select2-results__option--highlighted,
.select2-results__option[aria-selected=true] {
    background: var(--pk-green) !important;
    color: #000 !important;
}
.select2-selection__rendered { color: #fff !important; }

/* Out of stock overlay dark */
.woocommerce ul.products li.product .button.disabled,
.ast-on-card-button.ast-pre-order-btn,
.woocommerce span.onsale,
.ast-on-card-button {
    background: rgba(0,0,0,0.75) !important;
    color: rgba(255,255,255,0.6) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
}
.woocommerce ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce ul.products .ast-on-card-button.out-of-stock-btn,
.woocommerce ul.products .button[disabled],
.woocommerce-loop-product__link + span,
.ast-loop-product__link,
[class*="out-of-stock"] {
 background: rgba(0,0,0,0.8) !important;
 color: rgba(255,255,255,0.5) !important;
}

/* Out of stock label - exact class */
.ast-shop-product-out-of-stock {
    background: rgba(0,0,0,0.75) !important;
    background-color: rgba(0,0,0,0.75) !important;
    color: rgba(255,255,255,0.5) !important;
    border: none !important;
}

/* ============================================================
   MY ACCOUNT / LOGIN / REGISTER FORMS
   ============================================================ */
.woocommerce-account .woocommerce,
.woocommerce-account #customer_login,
.woocommerce-account .u-columns {
    max-width: 900px;
    margin: 0 auto;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce form.login,
.woocommerce form.register {
    background: var(--pk-black-card) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: var(--pk-radius) !important;
    padding: 32px !important;
}

.woocommerce-account h2,
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

.woocommerce-account label {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    text-transform: capitalize !important;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account select,
.woocommerce-account textarea {
    background: var(--pk-black) !important;
    color: var(--pk-white) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: var(--pk-radius) !important;
    padding: 10px 14px !important;
    font-family: var(--pk-font) !important;
    -webkit-text-fill-color: var(--pk-white) !important;
}

.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus {
    border-color: var(--pk-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--pk-green-dim) !important;
}

.woocommerce-account .woocommerce-button,
.woocommerce-account button[type="submit"],
.woocommerce-account input[type="submit"],
.woocommerce-account .button {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    border: none !important;
    border-radius: var(--pk-radius) !important;
    font-family: var(--pk-font) !important;
    font-weight: 600 !important;
    text-transform: capitalize !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
    transition: opacity var(--pk-transition) !important;
}

.woocommerce-account .woocommerce-button:hover,
.woocommerce-account button[type="submit"]:hover,
.woocommerce-account .button:hover {
    opacity: 0.85 !important;
    color: var(--pk-black) !important;
}

.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account a {
    color: var(--pk-white-70) !important;
}
.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account a:hover {
    color: var(--pk-green) !important;
}

.woocommerce-account .woocommerce-privacy-policy-text p {
    color: var(--pk-white-40) !important;
    font-size: 12px !important;
}

.woocommerce-account #rememberme {
    accent-color: var(--pk-green) !important;
}

/* ============================================================
   MY ACCOUNT LOGIN/REGISTER — DARK OVERRIDE
   Fixes white backgrounds from ps_my_acc_page plugin styles
   ============================================================ */
.ps_my_acc_page .u-column1,
.ps_my_acc_page .u-column2,
.ps_my_acc_page .single-column,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register,
.woocommerce-ResetPassword a {
    background: var(--pk-black-card) !important;
    background-color: var(--pk-black-card) !important;
    color: var(--pk-white) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
}

.ps_my_acc_page #customer_login,
.woocommerce-account #customer_login {
    background: transparent !important;
}

.ps_my_acc_page h2,
.ps_my_acc_page .u-column1 h2,
.ps_my_acc_page .u-column2 h2,
.woocommerce-account .col2-set h2,
body.woocommerce-account #customer_login h2 {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 24px !important;
}

.ps_my_acc_page label,
.ps_my_acc_page .u-column1 label,
.ps_my_acc_page .u-column2 label,
body.woocommerce-account #customer_login label {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.ps_my_acc_page .u-column1 label .required,
.ps_my_acc_page .u-column2 label .required,
body.woocommerce-account #customer_login label .required {
    color: #ff4444 !important;
}

.ps_my_acc_page input[type= text],
.ps_my_acc_page input[type=email],
.ps_my_acc_page input[type=password],
.ps_my_acc_page input[type=tel],
body.woocommerce-account #customer_login input[type=text],
body.woocommerce-account #customer_login input[type=email],
body.woocommerce-account #customer_login input[type=password] {
    background: var(--pk-black) !important;
    background-color: var(--pk-black) !important;
    color: var(--pk-white) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: var(--pk-radius) !important;
    padding: 12px 16px !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    -webkit-text-fill-color: var(--pk-white) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--pk-black) inset !important;
    box-shadow: none !important;
}

.ps_my_acc_page input:focus,
body.woocommerce-account #customer_login input:focus {
    border-color: var(--pk-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--pk-green-dim) !important;
}

.ps_my_acc_page .woocommerce-form p,
body.woocommerce-account #customer_login p {
    color: var(--pk-white-70) !important;
}

.ps_my_acc_page .woocommerce-LostPassword a,
body.woocommerce-account #customer_login .woocommerce-LostPassword a,
.ps_my_acc_page a {
    color: var(--pk-white-70) !important;
}

.ps_my_acc_page .woocommerce-LostPassword a:hover,
body.woocommerce-account #customer_login .woocommerce-LostPassword a:hover {
    color: var(--pk-green) !important;
}

.ps_my_acc_page .woocommerce-privacy-policy-text,
.ps_my_acc_page .woocommerce-privacy-policy-text p {
    color: var(--pk-white-40) !important;
    font-size: 12px !important;
}

.ps_my_acc_page .woocommerce-form-login__rememberme,
body.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
    color: var(--pk-white-70) !important;
}

.ps_my_acc_page #rememberme,
body.woocommerce-account #customer_login #rememberme {
    accent-color: var(--pk-green) !important;
}

.ps_my_acc_page .show-password-input,
body.woocommerce-account #customer_login .show-password-input {
    color: var(--pk-white-40) !important;
}

body.woocommerce-account .site-content,
body.woocommerce-account #primary,
body.woocommerce-account .ast-article-single,
body.woocommerce-account .ast-woocommerce-container,
body.woocommerce-account .entry-content {
    background: var(--pk-black) !important;
    background-color: var(--pk-black) !important;
}

/* ============================================================
   MY ACCOUNT DASHBOARD — DARK THEME FIX
   Fixes white/light areas on Orders, Downloads, Addresses,
   Account Details, and all other logged-in account tabs
   ============================================================ */

/* ── Outer wrappers ── */
body.woocommerce-account,
body.woocommerce-account #page,
body.woocommerce-account #primary,
body.woocommerce-account .site-content,
body.woocommerce-account .content-area,
body.woocommerce-account .ast-woocommerce-container,
body.woocommerce-account .entry-content,
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-page {
    background: var(--pk-black) !important;
    background-color: var(--pk-black) !important;
}

/* ── My Account layout wrapper ── */
.woocommerce-account .woocommerce {
    background: var(--pk-black) !important;
}

/* ── Sidebar navigation ── */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--pk-black-border) !important;
    background: #0d0d0d !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 12px 20px !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--pk-white-70) !important;
    text-decoration: none !important;
    transition: all var(--pk-transition) !important;
    background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--pk-green) !important;
    background: var(--pk-green-dim) !important;
    padding-left: 24px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active {
    background: var(--pk-green-dim) !important;
    border-left: 3px solid var(--pk-green) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    color: var(--pk-green) !important;
    font-weight: 600 !important;
}

/* ── Main content area ── */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content > * {
    background: transparent !important;
    color: var(--pk-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: #0d0d0d !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    padding: 32px !important;
}

/* ── Orders table ── */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table,
.woocommerce-account table.woocommerce-table {
    background: transparent !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce-account .woocommerce-orders-table thead,
.woocommerce-account .shop_table thead,
.woocommerce-account table.woocommerce-table thead {
    background: #111 !important;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .shop_table th,
.woocommerce-account table.woocommerce-table th {
    background: #111 !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .shop_table td,
.woocommerce-account table.woocommerce-table td {
    background: transparent !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account .shop_table tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover td,
.woocommerce-account .shop_table tbody tr:hover td {
    background: rgba(255,255,255,0.02) !important;
}

/* Order status badges */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark,
.woocommerce-account mark.order-status {
    background: transparent !important;
    color: var(--pk-green) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

/* ── Account page headings & text ── */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content p {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    color: var(--pk-white-70) !important;
}

/* ── Address sections ── */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .addresses .col-1,
.woocommerce-account .addresses .col-2 {
    background: #0d0d0d !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    padding: 24px !important;
}

.woocommerce-account .woocommerce-Address-title h3 {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account address {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    font-style: normal !important;
}

/* ── Edit address / account details forms ── */
.woocommerce-account .woocommerce-MyAccount-content fieldset,
.woocommerce-account fieldset {
    background: transparent !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-bottom: 24px !important;
}

.woocommerce-account fieldset legend {
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 0 8px !important;
}

/* ── WooCommerce notices inside account ── */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    background: #0d0d0d !important;
    border-top-color: var(--pk-green) !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

.woocommerce-account .woocommerce-error {
    background: #0d0d0d !important;
    border-top-color: #ff4444 !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

/* ── Downloads page ── */
.woocommerce-account .woocommerce-MyAccount-downloads,
.woocommerce-account .woocommerce-table--order-downloads {
    background: transparent !important;
}

/* ── Pagination ── */
.woocommerce-account .woocommerce-pagination ul,
.woocommerce-account nav.woocommerce-pagination ul {
    background: transparent !important;
}

.woocommerce-account .woocommerce-pagination ul li span,
.woocommerce-account .woocommerce-pagination ul li a {
    background: #111 !important;
    color: var(--pk-white-70) !important;
    border-color: var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-pagination ul li span.current {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
}

/* ── View Order detail page ── */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details {
    background: transparent !important;
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
}

.woocommerce-account .woocommerce-column--billing-address address,
.woocommerce-account .woocommerce-column--shipping-address address {
    color: var(--pk-white-70) !important;
}

/* ── Generic: kill any white or light bg that slips through ── */
body.woocommerce-account .woocommerce *,
body.woocommerce-account .woocommerce-page * {
    background-color: transparent;
}

/* Re-apply specific dark backgrounds so above wildcard doesn't break things */
body.woocommerce-account .woocommerce-MyAccount-content {
    background-color: #0d0d0d !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    background-color: #0d0d0d !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active {
    background-color: rgba(200,255,0,0.08) !important;
}
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .shop_table th,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    background-color: #111 !important;
}
body.woocommerce-account .addresses .col-1,
body.woocommerce-account .addresses .col-2 {
    background-color: #0d0d0d !important;
}

/* ============================================================
   VIEW ORDER PAGE — DARK THEME FIX
   Targets the individual order detail view inside My Account
   ============================================================ */

/* Kill any remaining white backgrounds — now with !important */
body.woocommerce-account .woocommerce *,
body.woocommerce-account .woocommerce-page * {
    background-color: transparent !important;
    color: var(--pk-white) !important;
}

/* Order overview bar (order #, date, email, total, payment) */
.woocommerce-account .woocommerce-order-overview,
.woocommerce-account ul.woocommerce-order-overview {
    background: #111 !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    margin-bottom: 32px !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

.woocommerce-account .woocommerce-order-overview li,
.woocommerce-account ul.woocommerce-order-overview li {
    background: transparent !important;
    border-right: 1px solid var(--pk-black-border) !important;
    padding: 0 24px !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    color: var(--pk-white-70) !important;
}

.woocommerce-account .woocommerce-order-overview li:first-child {
    padding-left: 0 !important;
}

.woocommerce-account .woocommerce-order-overview li:last-child {
    border-right: none !important;
}

.woocommerce-account .woocommerce-order-overview li strong {
    color: var(--pk-white) !important;
    display: block !important;
    font-size: 15px !important;
    margin-top: 4px !important;
}

/* Fix mark elements (order #, date, status, total, payment) — override Astra's mark{background:#ff0;color:#000} */
.woocommerce-account mark,
.woocommerce-account .woocommerce mark,
.woocommerce-account .woocommerce-order-overview mark,
.woocommerce-account .woocommerce-table--order-details mark,
.woocommerce-account .woocommerce-orders-table mark {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--pk-white) !important;
}
.woocommerce-account mark.order-status,
.woocommerce-account .woocommerce-orders-table mark.order-status {
    color: var(--pk-green) !important;
}

/* Order items table on view-order page */
.woocommerce-account .woocommerce-table--order-details,
.woocommerce-account table.woocommerce-table--order-details {
    background: transparent !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce-account .woocommerce-table--order-details thead {
    background: #111 !important;
}

.woocommerce-account .woocommerce-table--order-details th {
    background: #111 !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-table--order-details td {
    background: transparent !important;
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-table--order-details tfoot tr td,
.woocommerce-account .woocommerce-table--order-details tfoot tr th {
    background: #111 !important;
    color: var(--pk-white) !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-table--order-details tfoot .order-total td,
.woocommerce-account .woocommerce-table--order-details tfoot .order-total th {
    color: var(--pk-green) !important;
    font-weight: 700 !important;
}

/* Customer billing/shipping columns on view-order page */
.woocommerce-account .woocommerce-customer-details .woocommerce-column,
.woocommerce-account .woocommerce-column--billing-address,
.woocommerce-account .woocommerce-column--shipping-address {
    background: #111 !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    padding: 24px !important;
}

.woocommerce-account .woocommerce-column__title {
    color: var(--pk-white) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--pk-black-border) !important;
}

.woocommerce-account .woocommerce-customer-details address,
.woocommerce-account .woocommerce-column--billing-address address,
.woocommerce-account .woocommerce-column--shipping-address address {
    background: transparent !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    font-style: normal !important;
}

/* Re-apply critical dark backgrounds after wildcard wipe */
body.woocommerce-account .woocommerce-MyAccount-content {
    background-color: #0d0d0d !important;
    color: var(--pk-white) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    background-color: #0d0d0d !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active {
    background-color: rgba(200,255,0,0.08) !important;
}
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .shop_table th,
body.woocommerce-account .woocommerce-table--order-details th {
    background-color: #111 !important;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .addresses .col-1,
body.woocommerce-account .addresses .col-2 {
    background-color: #0d0d0d !important;
}

/* ============================================================
   MY ACCOUNT — DARK THEME OVERRIDE (KAN-11 FIX)
   Must be last in file to win cascade over Astra's dynamic CSS.
   Astra sets .ast-woocommerce-container + nav ul to #fff via
   .ast-separate-container .ast-woocommerce-container { bg: #fff }
   and table.shop_table thead { bg: #fbfbfb }.
   ============================================================ */

/* Astra's WooCommerce container → dark */
body.woocommerce-account .ast-woocommerce-container,
body.woocommerce-account .ast-separate-container .ast-woocommerce-container {
    background-color: #000 !important;
}

/* Nav panel + ul (the ul is explicitly white from Astra dynamic CSS) */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    background-color: #0d0d0d !important;
    color: var(--pk-white) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    background-color: #0d0d0d !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active {
    background-color: rgba(200,255,0,0.08) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: rgba(255,255,255,0.8) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--pk-green) !important;
}

/* Content area */
body.woocommerce-account .woocommerce-MyAccount-content {
    background-color: #0d0d0d !important;
    color: var(--pk-white) !important;
}

/* Orders list table — Astra sets thead to #fbfbfb */
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account table.my_account_orders,
body.woocommerce-account table.shop_table {
    background-color: transparent !important;
}

body.woocommerce-account table.woocommerce-orders-table thead,
body.woocommerce-account table.my_account_orders thead,
body.woocommerce-account table.shop_table thead {
    background-color: #111 !important;
}

body.woocommerce-account table.woocommerce-orders-table thead th,
body.woocommerce-account table.my_account_orders thead th,
body.woocommerce-account table.shop_table thead th {
    background-color: #111 !important;
    color: rgba(255,255,255,0.6) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

body.woocommerce-account table.woocommerce-orders-table tbody tr,
body.woocommerce-account table.my_account_orders tbody tr {
    background-color: #0d0d0d !important;
}

body.woocommerce-account table.woocommerce-orders-table tbody td,
body.woocommerce-account table.woocommerce-orders-table tbody th,
body.woocommerce-account table.my_account_orders tbody td,
body.woocommerce-account table.my_account_orders tbody th {
    background-color: #0d0d0d !important;
    color: var(--pk-white) !important;
    border-color: rgba(255,255,255,0.07) !important;
}

/* WooCommerce Address boxes (Addresses tab) */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
body.woocommerce-account .woocommerce-column__title {
    background-color: #111 !important;
    color: var(--pk-white) !important;
    border-color: rgba(255,255,255,0.08) !important;
}

/* Notices on account pages */
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
    background-color: #111 !important;
    color: var(--pk-white) !important;
    border-top-color: var(--pk-green) !important;
}

body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-info .woocommerce-info-icon {
    color: var(--pk-green) !important;
}


/* ============================================================
   MOBILE NAV DROPDOWN FIX (KAN-12)
   Astra default mobile menu bg is #f9f9f9 but links are forced
   white in this dark theme, making them invisible.
   Override all Astra mobile menu backgrounds to dark + ensure
   readable text. Also handles the header height clip issue.
   ============================================================ */

/* Kill Astra light-gray mobile menu background */
.ast-header-break-point .main-header-menu,
.ast-header-break-point .main-header-bar-navigation .main-header-menu,
.ast-header-break-point .main-navigation,
.ast-header-break-point .ast-builder-menu,
#ast-mobile-header .ast-mobile-header-content,
#ast-mobile-header .main-header-menu,
#ast-mobile-header .main-navigation,
#ast-mobile-header .ast-builder-menu .main-navigation {
    background: var(--pk-black) !important;
    background-color: var(--pk-black) !important;
}

/* Mobile menu items: readable text + dark dividers */
.ast-header-break-point .main-navigation ul .menu-item .menu-link,
.ast-header-break-point .main-header-menu .menu-item .menu-link,
#ast-mobile-header .menu-item .menu-link,
#ast-mobile-header .ast-mobile-header-content .menu-link {
    color: var(--pk-white-70) !important;
    background: transparent !important;
    border-color: var(--pk-black-border) !important;
}

/* Hover / active state */
.ast-header-break-point .main-navigation ul .menu-item:hover > .menu-link,
.ast-header-break-point .main-header-menu .menu-item:hover > .menu-link,
.ast-header-break-point .main-header-menu .menu-item.current-menu-item > .menu-link,
#ast-mobile-header .menu-item:hover > .menu-link,
#ast-mobile-header .menu-item.current-menu-item > .menu-link,
#ast-mobile-header .menu-item.current-menu-ancestor > .menu-link {
    color: var(--pk-green) !important;
    background: var(--pk-green-dim) !important;
}

/* Mobile sub-menu: dark */
.ast-header-break-point .main-header-menu .sub-menu,
.ast-header-break-point .main-navigation .sub-menu,
#ast-mobile-header .sub-menu {
    background: var(--pk-black-soft) !important;
    background-color: var(--pk-black-soft) !important;
    border-color: var(--pk-black-border) !important;
}

/* Mobile sub-menu links */
.ast-header-break-point .main-navigation .sub-menu .menu-item .menu-link,
#ast-mobile-header .sub-menu .menu-item .menu-link {
    color: var(--pk-white-70) !important;
    background: transparent !important;
    border-color: var(--pk-black-border) !important;
}

/* Mobile toggle arrow (expand sub-menu) */
#ast-mobile-header .ast-menu-toggle,
.ast-header-break-point .ast-menu-toggle {
    color: var(--pk-white-40) !important;
}

/* Mobile header content area: dark + full width */
#ast-mobile-header .ast-mobile-header-content {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--pk-black) !important;
    background-color: var(--pk-black) !important;
    border-top: 1px solid var(--pk-black-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.8) !important;
    z-index: 99998 !important;
}

/* Ensure the fixed header allows the dropdown to overflow */
#masthead,
.site-header {
    overflow: visible !important;
}


/* ============================================================
   MOBILE HAMBURGER TAP FIX (KAN-12)
   Astra sets .ast-site-identity { width: 100% } at mobile
   breakpoint. Combined with our position:absolute centering,
   this creates a full-width invisible overlay that intercepts
   ALL taps on the header bar ? including the hamburger button.
   Fix: constrain logo to auto width, set pointer-events so
   only the logo link itself captures taps, and give the
   hamburger button explicit z-index so it wins above any overlap.
   ============================================================ */
@media (max-width: 920px) {

    /* Constrain logo to its own content width (not 100% from Astra) */
    .ast-site-identity,
    .site-branding,
    .ast-header-break-point .ast-site-identity {
        width: auto !important;
        max-width: 50% !important;
        pointer-events: none !important;  /* logo div doesn't block taps */
    }

    /* Logo link + image itself is still tappable */
    .ast-site-identity a,
    .site-branding a,
    .ast-site-title-wrap a,
    .site-logo-img a {
        pointer-events: auto !important;
    }

    /* Hamburger: always on top and tappable */
    .ast-button-wrap,
    .ast-button-wrap .menu-toggle,
    button.menu-toggle,
    .ast-mobile-menu-buttons,
    #ast-mobile-header .ast-button-wrap {
        position: relative !important;
        z-index: 100 !important;
        pointer-events: auto !important;
    }

    /* Cart icon: also tappable */
    .ast-site-header-cart {
        position: relative !important;
        z-index: 100 !important;
        pointer-events: auto !important;
    }
}


/* ============================================================
   MOBILE NAV OPEN STATE (KAN-12)
   When body has ast-main-header-nav-open (set by our custom
   toggle JS), make the dropdown content fully visible.
   Astra normally generates this in dynamic CSS but it may not
   be present when builder/LiteSpeed combos change output.
   ============================================================ */
body.ast-main-header-nav-open #ast-mobile-header .ast-mobile-header-content,
body.ast-main-header-nav-open .ast-mobile-header-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    width: 100% !important;
}

/* Ensure the header wrapper expands with the dropdown (not clipped) */
body.ast-main-header-nav-open #ast-mobile-header {
    overflow: visible !important;
}

body.ast-main-header-nav-open #masthead,
body.ast-main-header-nav-open .site-header {
    height: auto !important;
    min-height: var(--pk-header-h) !important;
}

/* === KAN-17: Hero Background Image === */
/* Background image is set inline on .pk-hero-section via PHP.
   .pk-hero-bg acts as a dark overlay so text stays legible. */

.has-hero-bg .pk-hero-bg {
    background:
        linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.72) 100%),
        radial-gradient(ellipse 70% 60% at 80% 40%, rgba(200,255,0,0.07) 0%, transparent 65%),
        radial-gradient(ellipse 50% 70% at 10% 90%, rgba(200,255,0,0.04) 0%, transparent 60%);
}

/* On mobile, slightly heavier scrim since text fills more of the frame */
@media (max-width: 767px) {
    .has-hero-bg .pk-hero-bg {
        background:
            linear-gradient(180deg, rgba(0,0,0,0.60) 0%, rgba(0,0,0,0.78) 100%),
            radial-gradient(ellipse 70% 60% at 80% 40%, rgba(200,255,0,0.07) 0%, transparent 65%);
    }
}

/* === KAN-17: Remove black gap above hero on homepage === */
body.home #primary,
body.home .site-content,
body.home #main,
body.home .ast-article-single,
body.home #pk-home {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ============================================================
   KAN-19: Addify Advanced Pre-Order Plugin Branding
   ============================================================ */

/* --- Stock / out-of-stock availability text --- */
p.stock,
.stock.out-of-stock,
.stock.in-stock,
.woocommerce-variation-availability .stock {
    display: inline-block !important;
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    padding: 5px 14px !important;
    border-radius: 100px !important;
    color: var(--pk-white-70) !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
}
.stock.in-stock {
    color: var(--pk-green) !important;
    background: rgba(200,255,0,0.06) !important;
    border-color: rgba(200,255,0,0.2) !important;
}

/* --- Pre-order / Add to cart button on single product page --- */
button.single_add_to_cart_button,
.single_add_to_cart_button.button,
.woocommerce .single_add_to_cart_button {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: capitalize !important;
    padding: 14px 40px !important;
    border: 2px solid var(--pk-green) !important;
    border-radius: 3px !important;
    transition: all 0.2s ease !important;
}
button.single_add_to_cart_button:hover,
.single_add_to_cart_button.button:hover {
    background: transparent !important;
    color: var(--pk-green) !important;
}

/* --- Availability date message (.af-availability-msg) --- */
.af-availability-msg {
    display: inline-block !important;
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 6px 14px !important;
    border-radius: 4px !important;
    background: rgba(200,255,0,0.06) !important;
    border: 1px solid rgba(200,255,0,0.2) !important;
    color: var(--pk-green) !important;
    margin-bottom: 12px !important;
    margin-top: 4px !important;
}

/* --- Plugin badge containers --- */
.wpo_txt,
.wpo_text_box {
    font-family: var(--pk-font) !important;
    border-radius: 3px !important;
}
.wpo_text_class,
.wpo_text_class_pro,
.wpo_textimg_class {
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}
.badge-wrapper {
    z-index: 2 !important;
}

/* --- Cart item pre-order message --- */
.wpo_availabilitydate_msg,
dl.variation dt,
dl.variation dd {
    font-family: var(--pk-font) !important;
}

/* --- Checkout pre-order notice/warning --- */
.woocommerce-info {
    background: #111111 !important;
    color: var(--pk-white-70) !important;
    border-top-color: var(--pk-green) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
}
.woocommerce-info::before {
    color: var(--pk-green) !important;
}
.woocommerce-info a {
    color: var(--pk-green) !important;
}

/* --- My Account: pre-order order status column --- */
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status span,
.wpo_custom_orders_column_status {
    font-family: var(--pk-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--pk-green) !important;
    background: rgba(200,255,0,0.08) !important;
    border: 1px solid rgba(200,255,0,0.2) !important;
    padding: 3px 10px !important;
    border-radius: 100px !important;
    display: inline-block !important;
}

/* --- Thank-you / order confirmation: pre-order meta --- */
.woocommerce-order-details .woocommerce-table--order-details td,
.woocommerce-table--order-details .product-name {
    font-family: var(--pk-font) !important;
}
.woocommerce-order .woocommerce-message {
    background: #111 !important;
    color: var(--pk-white-70) !important;
    border-top-color: var(--pk-green) !important;
    font-family: var(--pk-font) !important;
}

/* === Pagination — match dark theme === */
.woocommerce-pagination {
    margin-top: 40px !important;
    text-align: center !important;
}
.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-pagination ul.page-numbers li {
    display: inline-flex !important;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-pagination ul.page-numbers li span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    background: #111 !important;
    color: var(--pk-white-70) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    border-color: var(--pk-green) !important;
    color: var(--pk-green) !important;
    background: #111 !important;
}
.woocommerce-pagination ul.page-numbers li span.current {
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    border-color: var(--pk-green) !important;
}
.woocommerce-pagination ul.page-numbers li a.next.page-numbers,
.woocommerce-pagination ul.page-numbers li a.prev.page-numbers {
    font-size: 16px !important;
}

/* === Out of stock overlay on shop/archive product images === */
.woocommerce ul.products li.product .button.product_type_simple[disabled],
.ast-woo-product-category span.onsale,
.woocommerce span.onsale {
    font-family: var(--pk-font) !important;
}
/* The "OUT OF STOCK" ribbon/badge */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce .ast-shop-product-out-of-stock,
.woocommerce ul.products .ast-out-of-stock-badge {
    background: rgba(0,0,0,0.75) !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    border: none !important;
    backdrop-filter: blur(4px) !important;
}

/* ============================================================
   FOOTER — COMPLETE REDESIGN (KAN-20)
   ============================================================ */

/* Remove old Astra footer overrides that conflict */
.site-footer,
#colophon {
    background: transparent !important;
    border-top: none !important;
    padding: 0 !important;
}

.site-footer * {
    color: inherit !important;
    font-family: var(--pk-font) !important;
}

/* Remove old Astra credit rules now handled by footer.php */
.ast-footer-copyright,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.ast-footer-credit {
    display: none !important;
}

/* ── Layout tokens ─────────────────────────────────────── */
.pk-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
}

/* ── Main footer grid ──────────────────────────────────── */
.pk-footer-main {
    background: #0a0a0a;
    border-top: 1px solid rgba(200, 255, 0, 0.18);
    padding: 72px 0 56px;
}

.pk-footer-main .pk-footer-container {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    align-items: start;
}

/* ── Brand column ──────────────────────────────────────── */
.pk-footer-logo {
    display: inline-block;
    font-family: var(--pk-font) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: #C8FF00 !important;
    text-decoration: none !important;
    margin-bottom: 16px;
}

.pk-footer-logo:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.pk-footer-tagline {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin: 0 0 24px 0 !important;
}

/* Social icons */
.pk-footer-socials {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
}

.pk-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6) !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.pk-social-link:hover {
    background: rgba(200, 255, 0, 0.12) !important;
    border-color: rgba(200, 255, 0, 0.4) !important;
    color: #C8FF00 !important;
    transform: translateY(-2px);
    text-decoration: none !important;
}

.pk-social-link svg {
    flex-shrink: 0;
}

/* Security badge */
.pk-footer-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.35) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    padding: 6px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 100px;
}

.pk-footer-badge svg {
    color: rgba(200, 255, 0, 0.6) !important;
    flex-shrink: 0;
}

/* ── Link columns ──────────────────────────────────────── */
.pk-footer-heading {
    font-family: var(--pk-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 0 20px 0 !important;
}

.pk-footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pk-footer-links li {
    margin-bottom: 11px !important;
}

.pk-footer-links li:last-child {
    margin-bottom: 0 !important;
}

.pk-footer-links a {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: inline-block;
}

.pk-footer-links a:hover {
    color: #C8FF00 !important;
    padding-left: 4px;
    text-decoration: none !important;
}

/* ── Disclaimer band ───────────────────────────────────── */
.pk-footer-disclaimer-band {
    background: #060606;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 28px 0;
}

.pk-footer-disclaimer {
    max-width: 900px;
}

.pk-disclaimer-header {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

.pk-disclaimer-header svg {
    color: #C8FF00 !important;
    flex-shrink: 0;
}

.pk-disclaimer-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #C8FF00 !important;
}

.pk-footer-disclaimer p {
    font-size: 11.5px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.35) !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

.pk-footer-disclaimer p strong {
    color: rgba(255, 255, 255, 0.55) !important;
    font-weight: 600 !important;
}

/* ── Bottom bar ────────────────────────────────────────── */
.pk-footer-bottom {
    background: #050505;
    padding: 20px 0;
}

.pk-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.pk-footer-copy {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    font-weight: 400 !important;
    white-space: nowrap;
}

/* Legal nav in bottom bar */
.pk-footer-legal-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.pk-footer-legal-nav a {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s ease;
}

.pk-footer-legal-nav a:hover {
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
}

.pk-footer-sep {
    color: rgba(255, 255, 255, 0.15) !important;
    font-size: 12px;
    line-height: 1;
}

/* Payment icons */
.pk-footer-payments {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.pk-pay-icon {
    width: 38px;
    height: 24px;
    border-radius: 3px;
    opacity: 0.55;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
}

.pk-pay-icon:hover {
    opacity: 0.85;
}

/* ── Mobile responsive ─────────────────────────────────── */
@media (max-width: 960px) {
    .pk-footer-main .pk-footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 40px 32px;
    }

    .pk-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .pk-footer-container {
        padding: 0 20px;
    }

    .pk-footer-main {
        padding: 48px 0 40px;
    }

    .pk-footer-main .pk-footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 32px 20px;
    }

    .pk-footer-brand {
        grid-column: 1 / -1;
    }

    .pk-footer-bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .pk-footer-payments {
        order: -1;
    }
}

@media (max-width: 420px) {
    .pk-footer-main .pk-footer-container {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   FOOTER — SVG + ICON SIZE FIXES
   ============================================================ */

/* Force payment icons to stay small — override any global SVG rules */
.pk-footer-payments svg,
.pk-footer-payments .pk-pay-icon,
svg.pk-pay-icon {
    width: 38px !important;
    height: 24px !important;
    max-width: 38px !important;
    max-height: 24px !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/* Force social icon SVGs to stay small */
.pk-social-link svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    flex-shrink: 0 !important;
}

/* Force footer badge SVG to stay small */
.pk-footer-badge svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    flex-shrink: 0 !important;
}

/* Force disclaimer SVG to stay small */
.pk-disclaimer-header svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    flex-shrink: 0 !important;
}


/* ============================================================
   CHECKOUT — premium mobile-first redesign
   Selector specificity matches Astra's pattern:
   .ast-modern-checkout .woocommerce form.woocommerce-checkout
   ============================================================ */

/* ---- MOBILE (≤921px = Astra tablet breakpoint) ---- */
@media (max-width: 921px) {

    /* Single column: hide desktop order sidebar, full width form */
    .ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #ast-order-review-wrapper {
        display: none !important;
    }
    .ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #customer_details {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Kill the flex row — all fields must stack */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        display: block !important;
        margin: 0 !important;
    }

    /* Every field: full width, uniform spacing, zero Astra padding */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-first,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-last,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-wide,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.ast-column-33,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.ast-column-50 {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        flex: none !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }

    /* Labels: muted, uppercase, well-separated from input */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row > label:not(.checkbox):not(.radio) {
        display: block !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: rgba(255,255,255,0.45) !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Required asterisk color */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row > label .required {
        color: var(--pk-green) !important;
        visibility: visible !important;
    }

    /* Inputs: 16px prevents iOS zoom, 56px tall = generous touch target */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input[type="text"],
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input[type="email"],
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input[type="tel"],
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input[type="number"],
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input[type="password"],
    .ast-modern-checkout .woocommerce form.woocommerce-checkout select {
        font-size: 16px !important;
        height: 56px !important;
        padding: 0 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: var(--pk-black-card) !important;
        border: 1.5px solid rgba(255,255,255,0.12) !important;
        border-radius: 10px !important;
        color: #fff !important;
        font-family: var(--pk-font) !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    /* Focus: green border accent */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input:focus,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout select:focus {
        border-color: var(--pk-green) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(200,255,0,0.08) !important;
    }

    /* Placeholder */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout input::placeholder {
        color: rgba(255,255,255,0.28) !important;
        font-size: 15px !important;
    }

    /* Textarea: flexible height but matching style */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout textarea {
        font-size: 16px !important;
        height: auto !important;
        min-height: 100px !important;
        padding: 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: var(--pk-black-card) !important;
        border: 1.5px solid rgba(255,255,255,0.12) !important;
        border-radius: 10px !important;
        color: #fff !important;
        font-family: var(--pk-font) !important;
    }

    /* Select2 (State dropdown): match input exactly */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .select2-container {
        width: 100% !important;
    }
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .select2-container--default .select2-selection--single {
        height: 56px !important;
        display: flex !important;
        align-items: center !important;
        background: var(--pk-black-card) !important;
        border: 1.5px solid rgba(255,255,255,0.12) !important;
        border-radius: 10px !important;
    }
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .select2-selection__rendered {
        font-size: 16px !important;
        color: #fff !important;
        line-height: 56px !important;
        padding-left: 16px !important;
    }
    .ast-modern-checkout .woocommerce form.woocommerce-checkout .select2-selection__arrow {
        height: 56px !important;
        right: 12px !important;
    }

    /* Country display: treat like a disabled input */
    .ast-modern-checkout .woocommerce form.woocommerce-checkout #billing_country_field strong,
    .ast-modern-checkout .woocommerce form.woocommerce-checkout #shipping_country_field strong {
        display: block !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        height: 56px !important;
        line-height: 56px !important;
        padding: 0 16px !important;
        background: var(--pk-black-card) !important;
        border: 1.5px solid rgba(255,255,255,0.06) !important;
        border-radius: 10px !important;
        color: rgba(255,255,255,0.5) !important;
    }

    /* Section headers */
    .woocommerce-checkout h3 {
        font-size: 20px !important;
        font-weight: 700 !important;
        margin: 32px 0 4px 0 !important;
        letter-spacing: -0.01em !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields h3 + hr,
    .woocommerce-checkout hr {
        border-color: rgba(255,255,255,0.06) !important;
        margin-bottom: 24px !important;
    }

    /* Shipping checkbox */
    .woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address label {
        font-size: 14px !important;
        text-transform: none !important;
        font-weight: 500 !important;
        color: rgba(255,255,255,0.7) !important;
    }

    /* Mobile order review table */
    #ast-order-review-content .woocommerce-checkout-review-order-table {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
    }
    #ast-order-review-content .woocommerce-checkout-review-order-table th,
    #ast-order-review-content .woocommerce-checkout-review-order-table td {
        background: transparent !important;
        color: var(--pk-white) !important;
    }
    #ast-order-review-content {
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
}

/* ============================================================
   FIX: Cart totals shipping method layout
   ============================================================ */

/* Each shipping option row: flex, aligned, proper gap */
.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.woocommerce-shipping-methods li:last-of-type {
    border-bottom: none !important;
}
.woocommerce-shipping-methods li input[type= radio] {
    flex-shrink: 0 !important;
    margin: 3px 0 0 0 !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--pk-green) !important;
}
.woocommerce-shipping-methods li label {
    flex: 1 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: rgba(255,255,255,0.85) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* Shipping destination address — lowercase it */
.woocommerce-shipping-destination {
    font-size: 13px !important;
    color: rgba(255,255,255,0.45) !important;
    text-transform: none !important;
    font-weight: 400 !important;
    margin-top: 10px !important;
    line-height: 1.5 !important;
}
.woocommerce-shipping-destination address,
.woocommerce-shipping-destination strong {
    font-style: normal !important;
    text-transform: capitalize !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.65) !important;
}

/* ============================================================
   FIX: Shipping methods — label+price alignment & address case
   ============================================================ */

/* Row: radio flush left, label takes remaining space */
.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    list-style: none !important;
}
.woocommerce-shipping-methods li:last-of-type {
    border-bottom: none !important;
}
.woocommerce-shipping-methods li input[type= radio] {
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    accent-color: var(--pk-green) !important;
    cursor: pointer !important;
}
/* Label: name left, price right — never wraps oddly */
.woocommerce-shipping-methods li label {
    flex: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
    text-transform: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
/* Price: bold, right-aligned, never wraps */
.woocommerce-shipping-methods li label .woocommerce-Price-amount {
    flex-shrink: 0 !important;
    font-weight: 600 !important;
    color: #fff !important;
    white-space: nowrap !important;
}

/* Shipping destination: normal case via JS, muted style */
.woocommerce-shipping-destination {
    font-size: 12px !important;
    color: rgba(255,255,255,0.35) !important;
    margin-top: 8px !important;
    line-height: 1.5 !important;
    text-transform: none !important;
}
.woocommerce-shipping-destination strong {
    font-weight: 400 !important;
    color: rgba(255,255,255,0.5) !important;
}

/* ============================================================
   PK CART TOTALS — custom template, no table, fully responsive
   ============================================================ */
.pk-cart-totals { width: 100%; box-sizing: border-box; }
.pk-ct-heading { font-size: 22px; font-weight: 700; margin: 0 0 20px 0; color: #fff; }
.pk-ct-rows { display: flex; flex-direction: column; gap: 10px; }

/* Every row: dark card */
.pk-ct-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #111;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 16px 20px;
    gap: 16px;
    min-width: 0;
    box-sizing: border-box;
}
.pk-ct-label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    flex-shrink: 0;
}
.pk-ct-value {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-align: right;
    min-width: 0;
}

/* Total row: green */
.pk-ct-total {
    border-color: var(--pk-green);
    background: rgba(200,255,0,0.04);
}
.pk-ct-total .pk-ct-value,
.pk-ct-total .woocommerce-Price-amount { color: var(--pk-green) !important; font-size: 22px !important; }

/* Shipping row: stacked layout */
.pk-ct-shipping {
    display: block !important;
    padding: 16px 20px;
}
.pk-ct-shipping .woocommerce-shipping-totals,
.pk-ct-shipping table,
.pk-ct-shipping tbody,
.pk-ct-shipping tr,
.pk-ct-shipping th,
.pk-ct-shipping td { display: block !important; width: 100% !important; padding: 0 !important; border: none !important; background: transparent !important; }
.pk-ct-shipping th { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; color: rgba(255,255,255,0.4) !important; margin-bottom: 14px !important; }

/* Shipping options */
.pk-ct-shipping .woocommerce-shipping-methods { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.pk-ct-shipping .woocommerce-shipping-methods li {
    display: grid !important;
    grid-template-columns: 22px 1fr !important;
    column-gap: 12px !important;
    align-items: start !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.pk-ct-shipping .woocommerce-shipping-methods li input[type= radio] {
    grid-column: 1 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
    accent-color: var(--pk-green);
}
.pk-ct-shipping .woocommerce-shipping-methods li label {
    grid-column: 2 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
    text-transform: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li label .woocommerce-Price-amount {
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    color: #fff !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}
.pk-ct-shipping .woocommerce-shipping-destination {
    font-size: 12px !important;
    color: rgba(255,255,255,0.3) !important;
    margin-top: 10px !important;
    word-break: break-word !important;
    text-transform: none !important;
}

/* Checkout button */
.pk-cart-totals .wc-proceed-to-checkout { margin-top: 8px; }

/* Override blanket transparent rule for pk-ct cards */
.pk-ct-row { background: #111 !important; }
.pk-ct-total { background: rgba(200,255,0,0.04) !important; border-color: var(--pk-green) !important; }

/* High-specificity overrides for pk-ct card backgrounds */
.cart-collaterals .pk-cart-totals .pk-ct-rows .pk-ct-row {
    background: #111111 !important;
    background-color: #111111 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 12px !important;
}
.cart-collaterals .pk-cart-totals .pk-ct-rows .pk-ct-total {
    background: rgba(200,255,0,0.04) !important;
    background-color: rgba(200,255,0,0.04) !important;
    border-color: var(--pk-green) !important;
}

/* Shipping inner table inside pk-ct-shipping block */
.pk-ct-shipping table,
.pk-ct-shipping table thead,
.pk-ct-shipping table tbody,
.pk-ct-shipping table tfoot,
.pk-ct-shipping table tr,
.pk-ct-shipping table th,
.pk-ct-shipping table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.pk-ct-shipping table th {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: rgba(255,255,255,0.4) !important;
    margin-bottom: 12px !important;
}
.pk-ct-shipping .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li {
    display: grid !important;
    grid-template-columns: 22px 1fr !important;
    column-gap: 12px !important;
    align-items: start !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li input[type= radio] {
    grid-column: 1 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
    accent-color: var(--pk-green) !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li label {
    grid-column: 2 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
    text-transform: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.pk-ct-shipping .woocommerce-shipping-methods li label .woocommerce-Price-amount {
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    color: #fff !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}
.pk-ct-shipping .woocommerce-shipping-destination {
    font-size: 12px !important;
    color: rgba(255,255,255,0.3) !important;
    margin-top: 10px !important;
    word-break: break-word !important;
    text-transform: none !important;
}
/* value spans in pk-ct rows */
.pk-ct-row .woocommerce-Price-amount { color: #fff; font-weight: 700; }


/* ===== ASTRA LOAD MORE BUTTON =============================== */
.ast-shop-pagination-infinite {
    text-align: center !important;
    margin: 40px 0 64px !important;
}
.ast-shop-pagination-infinite .ast-shop-load-more,
span.ast-shop-load-more,
.ast-shop-load-more {
    display: inline-block !important;
    background: #C8FF00 !important;
    background-color: #C8FF00 !important;
    color: #000 !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 14px 48px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background 0.25s ease, transform 0.25s ease !important;
    border: none !important;
    box-shadow: 0 4px 40px rgba(200,255,0,0.25) !important;
    width: auto !important;
    text-decoration: none !important;
}
.ast-shop-pagination-infinite .ast-shop-load-more:hover,
.ast-shop-load-more:hover {
    background: #ddff00 !important;
    background-color: #ddff00 !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}
.ast-shop-load-more.no-more {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: rgba(255,255,255,0.4) !important;
    cursor: default !important;
    transform: none !important;
}
.ast-loader { display: none !important; }

/* =====================================================

/* =====================================================

/* =====================================================
   FIX: Affiliate Portal - Input fields (dark theme match)
   Dark inputs, white text, #C8FF00 focus — no card/text overrides
   ===================================================== */
.sld_field-input input[type="text"],
.sld_field-input input[type="email"],
.sld_field-input input[type="password"],
.sld-ap-form input[type="text"],
.sld-ap-form input[type="email"],
.sld-ap-form input[type="password"],
input.regular-text {
    background: #111111 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 4px !important;
    -webkit-box-shadow: 0 0 0 1000px #111111 inset !important;
    -webkit-text-fill-color: #ffffff !important;
    transition: border-color 0.2s ease !important;
}

.sld_field-input input:focus,
.sld-ap-form input:focus,
input.regular-text:focus {
    border-color: #C8FF00 !important;
    outline: none !important;
    -webkit-box-shadow: 0 0 0 1000px #111111 inset !important;
}

.sld_field-input input::placeholder,
.sld-ap-form input::placeholder,
input.regular-text::placeholder {
    color: rgba(255,255,255,0.4) !important;
    opacity: 1 !important;
}

.sld-ap-form a,
.sld_field-label a {
    color: #C8FF00 !important;
}

/* =====================================================
   SliceWP Affiliate Registration — Pepkits Dark Theme
   ===================================================== */

/* Page wrapper — constrain and center the form */
.page-id-30110 .entry-content,
.page-id-30110 .ast-container {
    max-width: 640px !important;
}

/* Form container */
#slicewp-affiliate-register-form {
    background: var(--pk-black-card) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 8px !important;
    padding: 40px !important;
    margin-top: 24px !important;
}

/* Field wrappers */
.slicewp-form .slicewp-field-wrapper {
    margin-bottom: 20px !important;
}

/* Labels */
.slicewp-form .slicewp-field-wrapper label,
.slicewp-form label {
    display: block !important;
    color: var(--pk-white-70) !important;
    font-family: var(--pk-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}

/* All inputs and textarea */
#slicewp-affiliate-register-form input[type="text"],
#slicewp-affiliate-register-form input[type="email"],
#slicewp-affiliate-register-form input[type="url"],
#slicewp-affiliate-register-form input[type="password"],
#slicewp-affiliate-register-form textarea,
#slicewp-affiliate-register-form select {
    width: 100% !important;
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    color: var(--pk-white) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: var(--pk-radius) !important;
    padding: 12px 14px !important;
    font-family: var(--pk-font) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    transition: border-color var(--pk-transition), box-shadow var(--pk-transition) !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-box-shadow: 0 0 0 1000px #0a0a0a inset !important;
    -webkit-text-fill-color: var(--pk-white) !important;
    box-sizing: border-box !important;
}

#slicewp-affiliate-register-form input[type="text"]:focus,
#slicewp-affiliate-register-form input[type="email"]:focus,
#slicewp-affiliate-register-form input[type="url"]:focus,
#slicewp-affiliate-register-form input[type="password"]:focus,
#slicewp-affiliate-register-form textarea:focus,
#slicewp-affiliate-register-form select:focus {
    border-color: var(--pk-green) !important;
    box-shadow: 0 0 0 3px var(--pk-green-dim) !important;
    -webkit-box-shadow: 0 0 0 1000px #0a0a0a inset, 0 0 0 3px var(--pk-green-dim) !important;
    outline: none !important;
}

#slicewp-affiliate-register-form input::placeholder,
#slicewp-affiliate-register-form textarea::placeholder {
    color: var(--pk-white-40) !important;
    -webkit-text-fill-color: var(--pk-white-40) !important;
    opacity: 1 !important;
}

/* Textarea height */
#slicewp-affiliate-register-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Submit button */
#slicewp-affiliate-register-form .slicewp-button-primary,
#slicewp-affiliate-register-form button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--pk-green) !important;
    color: var(--pk-black) !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: var(--pk-radius) !important;
    cursor: pointer !important;
    transition: background var(--pk-transition), transform var(--pk-transition), box-shadow var(--pk-transition) !important;
    width: 100% !important;
    margin-top: 8px !important;
    box-shadow: 0 0 20px var(--pk-green-glow) !important;
}

#slicewp-affiliate-register-form .slicewp-button-primary:hover,
#slicewp-affiliate-register-form button[type="submit"]:hover {
    background: #d4ff1a !important;
    box-shadow: 0 0 30px rgba(200,255,0,0.4) !important;
    transform: translateY(-1px) !important;
}

#slicewp-affiliate-register-form .slicewp-button-primary:active,
#slicewp-affiliate-register-form button[type="submit"]:active {
    transform: translateY(0) !important;
    box-shadow: 0 0 15px var(--pk-green-glow) !important;
}

/* Notice messages */
#slicewp-affiliate-register-form .slicewp-user-notice {
    border-radius: 6px !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
}

#slicewp-affiliate-register-form .slicewp-user-notice.slicewp-error {
    background: rgba(220, 50, 50, 0.12) !important;
    border-color: rgba(220, 50, 50, 0.5) !important;
    color: #ff6b6b !important;
}

#slicewp-affiliate-register-form .slicewp-user-notice.slicewp-updated {
    background: rgba(200, 255, 0, 0.08) !important;
    border-color: rgba(200, 255, 0, 0.35) !important;
    color: var(--pk-green) !important;
}

#slicewp-affiliate-register-form .slicewp-user-notice.slicewp-warning {
    background: rgba(243, 156, 18, 0.1) !important;
    border-color: rgba(243, 156, 18, 0.4) !important;
    color: #f39c12 !important;
}

/* Required asterisk */
.slicewp-form .slicewp-field-wrapper .slicewp-required {
    color: var(--pk-green) !important;
}

/* Error message below field */
.slicewp-form .slicewp-field-error-message * {
    color: #ff6b6b !important;
}

/* Select dropdown arrow */
#slicewp-affiliate-register-form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
}

/* Page title */
.page-id-30110 .entry-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 4px !important;
    color: var(--pk-white) !important;
}

/* Responsive */
@media (max-width: 680px) {
    #slicewp-affiliate-register-form {
        padding: 24px 20px !important;
    }
}


/* =====================================================
   SliceWP — targeted fixes for url input + button
   ===================================================== */

/* Website/URL field — nuclear override */
#slicewp-affiliate-register-form .slicewp-field-wrapper input[type="url"],
body #slicewp-affiliate-register-form input[type="url"],
body.page-id-30110 input[type="url"] {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-family: var(--pk-font) !important;
    font-size: 15px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    -webkit-box-shadow: 0 0 0 1000px #0a0a0a inset !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
}

body #slicewp-affiliate-register-form input[type="url"]:focus,
body.page-id-30110 input[type="url"]:focus {
    border-color: #C8FF00 !important;
    box-shadow: 0 0 0 3px rgba(200,255,0,0.12) !important;
    -webkit-box-shadow: 0 0 0 1000px #0a0a0a inset, 0 0 0 3px rgba(200,255,0,0.12) !important;
}

/* Register button — override Astra/WooCommerce blue */
body #slicewp-affiliate-register-form button[type="submit"],
body #slicewp-affiliate-register-form .slicewp-button-primary {
    background: #C8FF00 !important;
    background-color: #C8FF00 !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: var(--pk-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 0 20px rgba(200,255,0,0.25) !important;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 8px !important;
    display: block !important;
}

body #slicewp-affiliate-register-form button[type="submit"]:hover,
body #slicewp-affiliate-register-form .slicewp-button-primary:hover {
    background: #d4ff1a !important;
    background-color: #d4ff1a !important;
    color: #000000 !important;
    box-shadow: 0 0 30px rgba(200,255,0,0.4) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   FIX: Star ratings position in shop loop product cards
   Astra's WooCommerce CSS sets order:2 on .review-rating which
   pushes stars to the bottom of the flex column, below the
   Add to Cart button. Reset to DOM order (after title, before price).
   ============================================================ */
.woocommerce ul.products .astra-shop-summary-wrap .review-rating {
    order: 0 !important;
}

/* ============================================================
   FIX: Track Order page (shortcode [woocommerce_order_tracking])
   The page-id-491 / Elementor wrapper does NOT add .woocommerce-account
   body class, so the existing mark fix at line ~2876 doesn't apply.
   ============================================================ */
.woocommerce p.order-info,
.woocommerce-order-details,
.woocommerce-order-details p,
.woocommerce-order-details td,
.woocommerce-order-details th,
.woocommerce-customer-details,
.woocommerce-customer-details p,
.woocommerce-customer-details address {
    color: var(--pk-white) !important;
}

.woocommerce p.order-info mark,
.woocommerce mark.order-number,
.woocommerce mark.order-date,
.woocommerce mark.order-status,
.woocommerce-order-details mark,
.woocommerce-customer-details mark {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--pk-white) !important;
    font-weight: 700 !important;
}

.woocommerce mark.order-status,
.woocommerce-order-details mark.order-status {
    color: var(--pk-green) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* ============================================================
   PDP TABS — full dark theme + mobile stack (Don 2026-05-09)
   ============================================================ */
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 0 0 !important;
    margin: 0 0 24px 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::before {
    display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: var(--pk-black-card) !important;
    background-color: var(--pk-black-card) !important;
    border: 1px solid var(--pk-black-border) !important;
    border-radius: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    color: var(--pk-white-70) !important;
    padding: 12px 20px !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    background: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    border-color: rgba(200,255,0,0.45) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--pk-white) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: rgba(200,255,0,0.08) !important;
    background-color: rgba(200,255,0,0.08) !important;
    border-color: var(--pk-green) !important;
    box-shadow: 0 0 0 1px var(--pk-green) inset !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--pk-green) !important;
}
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: transparent !important;
    color: var(--pk-white-70) !important;
    padding: 8px 0 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4 {
    color: var(--pk-white) !important;
}
@media (max-width: 768px) {
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
        flex-direction: column !important;
        gap: 6px !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        text-align: left !important;
        padding: 14px 18px !important;
    }
}

/* H1 keyword reflow 2026-05-12 SEO fix */
.pk-hero-h1 .pk-hero-label { display: block; margin-bottom: 0.4em; }
