/* =============================================================
   NEO COMPOUNDS — Main Stylesheet
   Clean build on Storefront parent theme
   ============================================================= */

/* ── Variables ── */
:root {
    --neo-bg:        #082448;
    --neo-bg-2:      #0a315f;
    --neo-panel:     #0e294f;
    --neo-border:    rgba(255,255,255,0.10);
    --neo-text:      #f5f9ff;
    --neo-muted:     #a9b6cc;
    --neo-blue:      #3ea0ff;   /* UI blue — links, prices, badges */
    --neo-blue-2:    #00c4b4;   /* secondary accent — teal */
    --neo-hover:     #0000ff;   /* hover highlight — electric blue */
    --neo-accent:    #0000ff;   /* alias used by sort dropdown focus */
    --neo-shadow:    0 20px 60px rgba(0,0,0,0.35);
    --neo-radius:    22px;
    --neo-radius-sm: 14px;
    --neo-max:       1440px;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: linear-gradient(180deg, #0a2f5d 0%, #082448 52%, #061d3a 100%);
    color: var(--neo-text);
    font-family: Inter, system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; transition: opacity 0.2s ease; }
img { max-width: 100%; height: auto; }

/* ── Override Storefront parent theme container ── */
/* Storefront caps .col-full at ~1180px — override to let our layout fill the viewport */
.col-full,
.site-header .col-full,
.site-footer .col-full {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── Container ── */
.neo-container {
    width: min(calc(100% - 48px), var(--neo-max));
    margin: 0 auto;
}

/* ── Topbar ── */
.neo-topbar {
    background: #061d3a;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    font-size: 13px;
    color: #dce7f7;
}
.neo-topbar-inner {
    display: flex;
    gap: 18px;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
    flex-wrap: wrap;
}
.neo-topbar-inner span { opacity: .92; }
.neo-topbar-inner span:not(:last-child)::after {
    content: "•";
    margin-left: 18px;
    color: rgba(255,255,255,0.35);
}

/* ── Compliance bar ── */
.neo-compliance-bar {
    background: #0f1c2f;
    border-bottom: 2px solid #ff5f5f;
    color: #ffdddd;
    font-size: 13.5px;
    font-weight: 600;
    text-align: center;
    padding: 11px 0;
    letter-spacing: 0.4px;
}

/* ── Header ── */
.neo-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(14px);
    background: rgba(7,31,61,0.94);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.neo-header-main {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
}
.neo-manual-logo {
    display: block;
    width: 260px;
    height: auto;
    object-fit: contain;
}
.neo-search-form {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 999px;
    padding: 6px 8px 6px 16px;
}
.neo-search-input {
    flex: 1;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 15px;
    outline: none;
}
.neo-search-input::placeholder { color: #95a6c2; }
.neo-search-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 0;
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2));
    color: #031321;
    display: grid;
    place-items: center;
    cursor: pointer;
    flex-shrink: 0;
}
.neo-search-btn svg { width: 17px; height: 17px; }
.neo-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}
.neo-action-link {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #fff;
    font-size: 14px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    transition: background 0.2s ease;
}
.neo-action-link:hover { background: rgba(255,255,255,0.08); }
.neo-action-link svg { width: 17px; height: 17px; }

.neo-cart-link { position: relative; }
.neo-cart-count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #e53935;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    border-radius: 999px;
    border: 2px solid #042749;
}

/* ── Navigation ── */
.neo-nav-wrap {
    border-top: 1px solid rgba(255,255,255,0.06);
}
.neo-main-nav {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 13px 0;
    list-style: none;
    margin: 0;
}
.neo-main-nav a {
    color: #d6e0ee;
    font-size: 14.5px;
    font-weight: 600;
    transition: color 0.2s ease;
}
.neo-main-nav a:hover { color: #fff; }

/* ── WooCommerce wrapper ── */
.neo-woo-wrap {
    padding: 40px 0 80px;
}
.neo-woo-wrap .neo-container {
    width: min(calc(100% - 48px), var(--neo-max));
    margin: 0 auto;
}

/* ── Hide WooCommerce shop page title (redundant with category section) ── */
.woocommerce-products-header { display: none; }

/* ── Research Area grid ── */
#research-areas.neo-research-section {
    margin-bottom: 40px;
}
.neo-research-heading {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 24px;
}
.neo-category-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.neo-category-card {
    display: block;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)),
                rgba(13,27,47,0.92);
    border: 1px solid var(--neo-border);
    border-radius: var(--neo-radius);
    overflow: hidden;
    color: var(--neo-text);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.neo-category-card:hover {
    border-color: var(--neo-hover);
    box-shadow: 0 0 0 2px rgba(0,0,255,0.35), 0 8px 28px rgba(0,0,255,0.18);
    transform: translateY(-3px);
}
.neo-category-image {
    height: 160px;
    overflow: hidden;
}
.neo-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.neo-category-card:hover .neo-category-image img { transform: scale(1.06); }
.neo-category-content { padding: 16px; }
.neo-category-content h3 {
    margin: 0 0 12px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 2.6em;
    line-height: 1.3;
}
.neo-category-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}
.neo-cat-count {
    font-size: 0.82rem;
    color: var(--neo-blue-2);
    font-weight: 600;
    white-space: nowrap;
}
.neo-browse-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    color: #d6e8ff;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}

/* ── WooCommerce product grid ── */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Kill WooCommerce's clearfix pseudo-elements — they become ghost grid items */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

/* ── Product card ── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #f4f6f8 !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
    cursor: pointer !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: var(--neo-hover) !important;
    box-shadow: 0 0 0 2px rgba(0,0,255,0.25), 0 8px 28px rgba(0,0,255,0.14) !important;
    transform: translateY(-3px) !important;
}

/* Suppress all focus rings inside product cards */
.woocommerce ul.products li.product:focus,
.woocommerce ul.products li.product *:focus {
    outline: none !important;
}

/* ── Product card anchor ── */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

/* ── Product image ── */
.woocommerce ul.products li.product img {
    width: auto !important;
    height: auto !important;
    max-width: 120px !important;
    max-height: 120px !important;
    display: block !important;
    margin: 0 auto 10px !important;
    object-fit: contain !important;
}

/* ── Product title ── */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 0 6px !important;
    color: #1a2533 !important;
    word-break: break-word !important;
}

/* ── Product price ── */
.woocommerce ul.products li.product .price {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--neo-blue-2) !important;
    margin: 0 0 10px !important;
}

/* ── Product button ── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    background: rgba(0,0,0,0.05) !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    color: #1a2533 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    margin-top: auto !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:hover a.button,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: rgba(0,0,200,0.75) !important;
    border-color: rgba(0,0,200,0.9) !important;
    color: #ffffff !important;
}

/* ── Result count + ordering — see full rules in toolbar section below ── */

/* ── Pagination ── */
.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    color: #e8f1ff;        /* high-contrast white-blue */
    font-size: 14px;
    font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: rgba(62,160,255,0.18);
    border-color: var(--neo-blue);
    color: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--neo-blue);
    border-color: var(--neo-blue);
    color: #031321;
    font-weight: 700;
}
/* next/prev arrow links */
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev {
    color: #e8f1ff;
    font-size: 16px;
}

/* ── Trust panel (single product) ── */
.neo-trust-panel {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.08);
}
.neo-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.neo-trust-item {
    padding: 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}
.neo-trust-item strong {
    display: block;
    color: #fff;
    font-size: 13px;
    margin-bottom: 4px;
}
.neo-trust-item span {
    display: block;
    color: var(--neo-muted);
    font-size: 12px;
    line-height: 1.6;
}

/* ── Footer ── */
.neo-site-footer {
    margin-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.08);
    background: rgba(6,29,58,0.94);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
}
.neo-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 48px;
    padding: 56px 0 40px;
    width: 100%;
}
.neo-footer-logo {
    display: block;
    width: 200px;
    height: auto;
    object-fit: contain;
    margin-bottom: 20px;
    opacity: 1;
}
.neo-footer-logo-link { display: inline-block; }
.neo-footer-col p {
    color: var(--neo-muted);
    line-height: 1.8;
    font-size: 14px;
    margin: 0 0 12px;
}
.neo-footer-compliance {
    font-size: 12.5px !important;
    color: #ffdddd !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    border-top: 1px solid rgba(255,95,95,0.35);
    border-left: 3px solid #ff5f5f;
    padding: 10px 0 0 10px;
    margin-top: 8px;
}
.neo-footer-col h3,
.neo-footer-col h4 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
}
.neo-footer-col a {
    color: var(--neo-muted);
    line-height: 1.9;
    font-size: 14px;
}
.neo-footer-col ul { list-style: none; margin: 0; padding: 0; }
.neo-footer-col li { margin-bottom: 4px; }
.neo-footer-col a:hover { color: #fff; }
.neo-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 16px 0;
}
.neo-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}
.neo-footer-bottom p { margin: 0; color: #8ea2bf; font-size: 13px; }
.neo-footer-bottom-links {
    display: flex;
    gap: 20px;
}
.neo-footer-bottom-links a {
    color: #8ea2bf;
    font-size: 13px;
    transition: color 0.2s ease;
}
.neo-footer-bottom-links a:hover { color: #fff; }

/* ── Responsive ── */
@media (max-width: 1100px) {
    .neo-header-main { grid-template-columns: auto auto; }
    .neo-header-search { display: none; } /* simplify on tablet */
    .neo-category-grid { grid-template-columns: repeat(3, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 767px) {
    .neo-header-main { grid-template-columns: 1fr auto; gap: 12px; }
    .neo-main-nav { gap: 14px; }
    .neo-main-nav a { font-size: 13px; }
    .neo-category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .neo-category-image { height: 130px; }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
    .neo-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 0 28px; }
    .neo-trust-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .neo-topbar-inner { font-size: 11px; gap: 8px; }
    .neo-header-actions .neo-action-link span { display: none; }
}

/* ── Additional fixes ── */

/* Hide Shop page title */
.woocommerce-products-header,
.woocommerce-products-header__title,
body.archive.post-type-archive-product h1.page-title {
    display: none !important;
}

/* Move pagination below grid */
.woocommerce nav.woocommerce-pagination {
    order: 99;
    width: 100%;
    margin-top: 32px;
}

/* ── Storefront's sorting wrapper — style it as our toolbar ── */
.storefront-sorting {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    width: 100%;
}

/* Tighten spacing between product name, price, button */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 4px !important;
}

.woocommerce ul.products li.product .price {
    margin: 0 0 8px !important;
}

.woocommerce-result-count {
    color: var(--neo-muted);
    font-size: 13px;
    margin: 0 !important;
}

.woocommerce-ordering {
    margin: 0 !important;
}

.woocommerce-ordering select {
    background-color: rgba(255,255,255,0.07);
    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='%23a0aec0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--neo-text);
    border-radius: 8px;
    padding: 8px 36px 8px 12px;
    font-size: 13px;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    min-width: 180px;
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--neo-accent, #3ea0ff);
}

/* =============================================================
   CART / CHECKOUT — premium WooCommerce scaling
   Makes the cart page feel less "zoomed out" on desktop while
   preserving Storefront/WooCommerce markup compatibility.
   ============================================================= */
body.woocommerce-cart .neo-woo-wrap,
body.woocommerce-checkout .neo-woo-wrap {
    padding: 56px 0 72px;
}

body.woocommerce-cart .neo-woo-wrap .neo-container,
body.woocommerce-checkout .neo-woo-wrap .neo-container {
    width: min(calc(100% - 64px), 1180px);
}

body.woocommerce-cart .entry-title,
body.woocommerce-cart h1,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1 {
    font-size: clamp(2rem, 3vw, 2.55rem) !important;
    line-height: 1.1 !important;
    margin: 0 0 30px !important;
    letter-spacing: -0.035em;
    color: #ffffff !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    font-size: 16px;
    color: var(--neo-text);
}

body.woocommerce-cart form.woocommerce-cart-form {
    width: 66%;
    float: left;
    padding-right: 28px;
}

body.woocommerce-cart .cart-collaterals {
    width: 34%;
    float: right;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03)), var(--neo-panel);
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.26);
    overflow: hidden;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table {
    margin: 0 0 28px !important;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
    border-color: rgba(255,255,255,0.10) !important;
    color: #dbe7f7;
    padding: 18px 20px !important;
    font-size: 15.5px;
    vertical-align: middle;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-checkout table.shop_table th {
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.035);
}

body.woocommerce-cart table.shop_table .product-name a,
body.woocommerce-checkout table.shop_table .product-name {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
}

body.woocommerce-cart table.shop_table .product-price,
body.woocommerce-cart table.shop_table .product-subtotal,
body.woocommerce-checkout table.shop_table .product-total,
body.woocommerce-cart table.shop_table .amount,
body.woocommerce-checkout table.shop_table .amount {
    color: var(--neo-blue-2) !important;
    font-weight: 800;
}

body.woocommerce-cart table.cart img {
    width: 88px !important;
    max-width: 88px !important;
    height: auto !important;
    padding: 8px;
    background: #f4f6f8;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.18);
}

body.woocommerce-cart table.cart td.product-thumbnail {
    width: 116px;
}

body.woocommerce-cart table.cart .quantity .qty,
body.woocommerce-cart table.cart input.qty {
    width: 76px !important;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.07);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}

body.woocommerce-cart table.cart td.actions {
    padding: 22px 20px !important;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text {
    min-height: 46px;
    min-width: 220px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.06);
    color: #ffffff;
    padding: 0 18px;
    font-size: 15px;
}

body.woocommerce-cart .button,
body.woocommerce-cart button.button,
body.woocommerce-cart a.button,
body.woocommerce-checkout .button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout a.button {
    min-height: 46px;
    border-radius: 999px !important;
    padding: 13px 22px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    padding: 28px;
}

body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout h3 {
    color: #ffffff;
    font-size: 1.45rem;
    line-height: 1.2;
    margin: 0 0 20px;
    letter-spacing: -0.02em;
}

body.woocommerce-cart .cart_totals table.shop_table {
    border: 0 !important;
    margin-bottom: 24px !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
    background: transparent !important;
    padding: 14px 0 !important;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td {
    font-size: 18px !important;
    color: #ffffff !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin-top: 18px;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 54px;
    padding: 16px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2)) !important;
    background-color: transparent !important;
    background-clip: padding-box !important;
    color: #031321 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 14px 34px rgba(62,160,255,0.30);
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-checkout #place_order:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(0,196,180,0.34);
    opacity: 1;
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .wc-backward {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
    background: rgba(62,160,255,0.10) !important;
    border: 1px solid rgba(62,160,255,0.24) !important;
    border-radius: 18px;
    color: #dcecff !important;
    font-size: 16px;
    padding: 18px 22px !important;
}

body.woocommerce-cart .cross-sells,
body.woocommerce-cart .woocommerce .products {
    clear: both;
}

@media (max-width: 920px) {
    body.woocommerce-cart .neo-woo-wrap .neo-container,
    body.woocommerce-checkout .neo-woo-wrap .neo-container {
        width: min(calc(100% - 32px), 720px);
    }
    body.woocommerce-cart form.woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals {
        width: 100%;
        float: none;
        padding-right: 0;
    }
    body.woocommerce-cart .cart-collaterals {
        margin-top: 24px;
    }
}

@media (max-width: 640px) {
    body.woocommerce-cart .neo-woo-wrap,
    body.woocommerce-checkout .neo-woo-wrap {
        padding: 34px 0 56px;
    }
    body.woocommerce-cart table.shop_table th,
    body.woocommerce-cart table.shop_table td,
    body.woocommerce-checkout table.shop_table th,
    body.woocommerce-checkout table.shop_table td {
        padding: 14px 12px !important;
        font-size: 14px;
    }
    body.woocommerce-cart table.cart img {
        width: 68px !important;
        max-width: 68px !important;
    }
    body.woocommerce-cart .cart_totals {
        padding: 22px;
    }
}

/* =============================================================
   WOO BLOCK CART / CHECKOUT — current live cart markup
   The live Cart page uses WooCommerce Blocks, not the classic
   table markup above. These selectors target the block cart UI.
   ============================================================= */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 1180px;
    margin: 0 auto;
    color: var(--neo-text);
    font-size: 16px;
}

body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.9fr) minmax(340px, 0.9fr);
    gap: 32px;
    align-items: start;
}

body.woocommerce-cart .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
    width: auto !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-checkout__form {
    background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.03)), var(--neo-panel);
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.26);
    overflow: hidden;
}

body.woocommerce-cart .wc-block-cart-items {
    padding: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart-items__row td {
    border-color: rgba(255,255,255,0.10) !important;
}

body.woocommerce-cart .wc-block-cart-items__header th {
    padding: 18px 20px !important;
    background: rgba(255,255,255,0.035);
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items__row td {
    padding: 22px 20px !important;
    background: transparent !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    color: #dbe7f7 !important;
    font-size: 16px !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .wc-block-cart-items__row td:first-child {
    border-left: 0 !important;
    border-radius: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row td:last-child {
    background: transparent !important;
    border-right: 0 !important;
    border-radius: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row:hover td {
    background: rgba(62,160,255,0.045) !important;
}

body.woocommerce-cart .wc-block-cart-item__image {
    width: 132px !important;
    padding-right: 18px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 96px !important;
    max-width: 96px !important;
    height: auto !important;
    padding: 8px;
    background: #f4f6f8;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.26);
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wc-block-components-product-metadata__description {
    color: var(--neo-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-product-price,
body.woocommerce-checkout .wc-block-components-formatted-money-amount {
    color: var(--neo-blue-2) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    min-height: 44px;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.07) !important;
    font-size: 15px !important;
    overflow: hidden;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button:hover {
    background: rgba(62,160,255,0.18) !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
    background: transparent !important;
    text-align: right !important;
}

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    padding: 10px 14px;
    border: 1px solid rgba(62,160,255,0.24);
    border-radius: 999px;
    background: rgba(62,160,255,0.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #ffb3b3 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
    padding: 28px !important;
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: #ffffff !important;
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
    margin: 0 0 20px !important;
    letter-spacing: -0.02em;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: rgba(255,255,255,0.10) !important;
    padding: 14px 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item {
    color: #dbe7f7 !important;
    font-size: 15.5px !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    margin-top: 18px !important;
}

body.woocommerce-cart .wc-block-cart__submit,
body.woocommerce-cart .wc-block-cart__submit-container {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 54px !important;
    padding: 16px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2)) !important;
    background-color: transparent !important;
    background-clip: padding-box !important;
    color: #031321 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 14px 34px rgba(62,160,255,0.30);
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(0,196,180,0.34);
    opacity: 1;
}

body.woocommerce-cart .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-button__text {
    color: inherit !important;
    font-weight: inherit !important;
}

body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-cart .wc-block-components-empty-cart__notice {
    background: rgba(62,160,255,0.10) !important;
    border: 1px solid rgba(62,160,255,0.24) !important;
    border-radius: 18px !important;
    color: #dcecff !important;
    font-size: 16px !important;
    padding: 18px 22px !important;
}

body.woocommerce-cart .wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    margin-top: 34px;
}

@media (max-width: 920px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block !important;
    }
    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        margin-top: 24px !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-cart .wp-block-woocommerce-cart,
    body.woocommerce-checkout .wp-block-woocommerce-checkout {
        font-size: 14px;
    }
    body.woocommerce-cart .wc-block-cart-items__header {
        display: none !important;
    }
    body.woocommerce-cart .wc-block-cart-items,
    body.woocommerce-cart .wc-block-cart-items tbody,
    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row td {
        display: block !important;
        width: 100% !important;
    }
    body.woocommerce-cart .wc-block-cart-items__row td {
        padding: 16px !important;
    }
    body.woocommerce-cart .wc-block-cart-item__image {
        width: auto !important;
        padding-right: 0 !important;
        margin-bottom: 12px;
    }
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 72px !important;
        max-width: 72px !important;
    }
    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        padding: 22px !important;
    }

    /* Cycle 05: WooCommerce Blocks renders the mobile cart checkout action
       inside a full-width submit wrapper. Keep it in normal flow below the
       completed cart item instead of letting the relative 100vw button cover
       the lower portion of the product card at 390px. */
    body.woocommerce-cart .wc-block-cart__submit,
    body.woocommerce-cart .wc-block-cart__submit-container {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 18px 0 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    body.woocommerce-cart .wc-block-cart__submit-button {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
    }
}


/* =============================================================
   HOMEPAGE — front-page.php styles
   ============================================================= */

/* ── Shared section helpers ── */
.neo-section {
    padding: 48px 0;
}
.neo-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 36px;
}
.neo-section-header--centered {
    justify-content: center;
    text-align: center;
}
.neo-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: -0.3px;
}
.neo-section-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--neo-blue);
    font-size: 14px;
    font-weight: 600;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}
.neo-section-link:hover { opacity: 0.75; }
.neo-section-link svg { width: 16px; height: 16px; }

/* ── Buttons ── */
.neo-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    background: linear-gradient(135deg, var(--neo-blue), #0090e8);
    color: #031321;
    font-weight: 700;
    font-size: 15px;
    border-radius: 999px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}
.neo-btn-primary svg { width: 17px; height: 17px; }
.neo-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 28px rgba(62,160,255,0.35);
    opacity: 1;
}
.neo-btn-primary--large { padding: 16px 32px; font-size: 16px; }

.neo-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 26px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.18);
    color: #d6e8ff;
    font-weight: 600;
    font-size: 15px;
    border-radius: 999px;
    transition: background 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}
.neo-btn-ghost:hover {
    background: rgba(255,255,255,0.09);
    border-color: rgba(255,255,255,0.30);
    opacity: 1;
}
.neo-btn-ghost--large { padding: 16px 32px; font-size: 16px; }

/* ── HERO ── */
.neo-hero {
    position: relative;
    padding: 80px 0 56px;
    overflow: hidden;
}
.neo-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.neo-hero-grid-lines {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(62,160,255,0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(62,160,255,0.07) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, black 40%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, black 40%, transparent 100%);
}
.neo-hero-glow {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 1100px;
    height: 700px;
    background: radial-gradient(ellipse, rgba(62,160,255,0.18) 0%, rgba(0,0,255,0.06) 40%, transparent 70%);
}
.neo-hero-glow-2 {
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(ellipse, rgba(0,196,180,0.08) 0%, transparent 70%);
}
.neo-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
}
.neo-hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(62,160,255,0.10);
    border: 1px solid rgba(62,160,255,0.28);
    color: var(--neo-blue-2);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}
.neo-hero-headline {
    font-size: clamp(2.6rem, 5.5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.10;
    letter-spacing: -1px;
    color: #fff;
    margin: 0 0 24px;
}
.neo-hero-accent {
    background: linear-gradient(90deg, var(--neo-blue), var(--neo-blue-2));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.neo-hero-sub {
    max-width: 520px;
    font-size: 1.1rem;
    color: var(--neo-muted);
    line-height: 1.7;
    margin: 0 0 38px;
}
.neo-hero-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 60px;
}
.neo-hero-stats {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    justify-content: center;
    padding: 22px 36px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    backdrop-filter: blur(8px);
}
.neo-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 32px;
}
.neo-stat-num {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.5px;
    line-height: 1;
    margin-bottom: 4px;
}
.neo-stat-label {
    font-size: 12px;
    color: var(--neo-muted);
    font-weight: 500;
    white-space: nowrap;
}
.neo-stat-divider {
    width: 1px;
    height: 44px;
    background: rgba(255,255,255,0.10);
    flex-shrink: 0;
}

/* ── TRUST BAR ── */
.neo-trust-bar {
    background: rgba(255,255,255,0.025);
    border-top: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 20px 0;
}
.neo-trust-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 32px;
}
.neo-trust-bar-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    font-weight: 500;
    color: #c8d9ee;
}
.neo-trust-bar-item svg {
    width: 18px;
    height: 18px;
    color: var(--neo-blue);
    flex-shrink: 0;
}

/* ── CATEGORY GRID (homepage) ── */
.neo-categories-section { padding-top: 40px; }
.neo-hp-category-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.neo-hp-cat-card {
    display: flex;
    flex-direction: column;
    background: rgba(13,27,47,0.85);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 18px;
    overflow: hidden;
    color: var(--neo-text);
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.neo-hp-cat-card:hover {
    border-color: var(--neo-hover);
    box-shadow: 0 0 0 2px rgba(0,0,255,0.35), 0 12px 32px rgba(0,0,255,0.18);
    transform: translateY(-3px);
    opacity: 1;
}
.neo-hp-cat-img {
    height: 150px;
    overflow: hidden;
}
.neo-hp-cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.neo-hp-cat-card:hover .neo-hp-cat-img img { transform: scale(1.06); }
.neo-hp-cat-body {
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 4px 8px;
}
.neo-hp-cat-body h3 {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    font-size: 0.90rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}
.neo-hp-cat-count {
    grid-column: 1;
    grid-row: 2;
    font-size: 12px;
    color: var(--neo-blue-2);
    font-weight: 600;
}
.neo-hp-cat-arrow {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    color: var(--neo-blue-2);
    flex-shrink: 0;
    transition: background 0.2s ease;
}
.neo-hp-cat-arrow svg { width: 14px; height: 14px; }
.neo-hp-cat-card:hover .neo-hp-cat-arrow {
    background: rgba(0,0,255,0.15);
    border-color: rgba(0,0,255,0.4);
}

/* ── FEATURED PRODUCTS (homepage) ── */
.neo-featured-section { padding-top: 32px; }
.neo-hp-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.neo-hp-product-card {
    display: flex;
    flex-direction: column;
    background: #f4f6f8;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 18px;
    overflow: hidden;
    color: #1a2533;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    cursor: pointer;
}
.neo-hp-product-card:hover {
    border-color: var(--neo-hover);
    box-shadow: 0 0 0 2px rgba(0,0,255,0.25), 0 10px 28px rgba(0,0,255,0.14);
    transform: translateY(-2px);
    opacity: 1;
}
.neo-hp-product-img {
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,0.02);
    border-bottom: 1px solid rgba(0,0,0,0.06);
}
.neo-hp-product-img img {
    max-height: 120px;
    max-width: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.neo-hp-product-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: center;
    text-align: center;
}
.neo-hp-product-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #1a2533;
    margin: 0 0 6px;
    line-height: 1.35;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    width: 100%;
}
.neo-hp-product-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--neo-blue-2);
    margin-bottom: 12px;
    width: 100%;
}
.neo-hp-product-btn {
    margin-top: auto;
    display: block;
    text-align: center;
    padding: 8px;
    border-radius: 8px;
    background: rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.15);
    color: #1a2533;
    font-size: 12.5px;
    font-weight: 600;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.neo-hp-product-card:hover .neo-hp-product-btn {
    background: rgba(0,0,255,0.10);
    border-color: rgba(0,0,255,0.35);
    color: #0000cc;
}

/* ── VALUE PILLARS ── */
.neo-pillars-section {
    background: linear-gradient(180deg, transparent, rgba(62,160,255,0.03), transparent);
}
.neo-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.neo-pillar {
    padding: 28px 24px 32px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    transition: border-color 0.25s ease, transform 0.25s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.neo-pillar:hover {
    border-color: rgba(0,0,255,0.4);
    transform: translateY(-2px);
}
.neo-pillar-icon {
    margin-bottom: 20px;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(62,160,255,0.08);
    border: 1px solid rgba(62,160,255,0.18);
    border-radius: 16px;
}
.neo-pillar-icon svg { width: 32px; height: 32px; }
.neo-pillar h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
}
.neo-pillar p {
    font-size: 14px;
    color: var(--neo-muted);
    line-height: 1.7;
    margin: 0;
}

/* ── CTA BANNER ── */
.neo-cta-banner {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    margin-top: 20px;
}
.neo-cta-banner-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(62,160,255,0.07) 0%, rgba(14,34,60,0.95) 60%);
    border-top: 1px solid rgba(62,160,255,0.15);
    border-bottom: 1px solid rgba(62,160,255,0.15);
}
.neo-cta-banner-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 28px;
}
.neo-cta-copy { flex: unset; min-width: unset; }
.neo-cta-copy h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
    letter-spacing: -0.3px;
}
.neo-cta-copy p {
    font-size: 1rem;
    color: var(--neo-muted);
    line-height: 1.7;
    margin: 0;
    max-width: 540px;
}
.neo-cta-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

/* ── Homepage responsive ── */
@media (max-width: 1100px) {
    .neo-hp-category-grid { grid-template-columns: repeat(3, 1fr); }
    .neo-hp-products { grid-template-columns: repeat(3, 1fr); }
    .neo-pillars-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
    .neo-hero { padding: 80px 0 60px; }
    .neo-hero-stats { padding: 18px 20px; gap: 0; }
    .neo-stat { padding: 0 18px; }
    .neo-stat-num { font-size: 1.2rem; }
    .neo-cta-banner-inner { flex-direction: column; text-align: center; }
    .neo-cta-copy p { max-width: 100%; }
    .neo-cta-actions { justify-content: center; }
}
@media (max-width: 767px) {
    .neo-section { padding: 56px 0; }
    .neo-section-title { font-size: 1.45rem; }
    .neo-hp-category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .neo-hp-cat-img { height: 120px; }
    .neo-hp-products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .neo-pillars-grid { grid-template-columns: 1fr; gap: 14px; }
    .neo-trust-bar-inner { gap: 10px 20px; }
    .neo-hero-stats { flex-direction: column; gap: 16px; }
    .neo-stat-divider { width: 48px; height: 1px; }
}

/* ── Standard WordPress pages (FAQ, About, etc.) ── */
/* page.php renders neo-page-wrap > neo-container, same pattern as woocommerce.php.
   No Storefront layout machinery involved — these are clean standalone rules. */
.neo-page-wrap {
    padding: 40px 0 80px;
}
.neo-page-header {
    margin-bottom: 28px;
    border-bottom: 1px solid var(--neo-border);
    padding-bottom: 16px;
}
.neo-page-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--neo-text);
    margin: 0;
}
.neo-page-content {
    color: var(--neo-text);
    line-height: 1.8;
}
.neo-page-content p {
    margin-bottom: 1.2em;
}
.neo-page-content strong,
.neo-page-content b {
    color: #fff;
}

/* =============================================================
   PRODUCT TYPOGRAPHY LIFT — align cards with cart/totals weight
   Small, scoped polish pass: stronger product names/prices on
   shop archives and homepage product sections without changing
   layout density or mobile behavior.
   ============================================================= */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    padding: 20px 16px 16px !important;
}

.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 14.75px !important;
    font-weight: 750 !important;
    line-height: 1.32 !important;
    letter-spacing: -0.01em;
    margin-bottom: 7px !important;
}

.woocommerce ul.products li.product .price {
    font-size: 14px !important;
    font-weight: 800 !important;
    margin-bottom: 11px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    font-size: 13.25px !important;
    font-weight: 750 !important;
    padding: 9px 14px !important;
}

.neo-hp-product-name {
    font-size: 14.75px;
    font-weight: 750;
    line-height: 1.32;
    letter-spacing: -0.01em;
    margin-bottom: 7px;
}

.neo-hp-product-price {
    font-size: 14px;
    font-weight: 800;
}

.neo-hp-product-btn {
    font-size: 13.25px;
    font-weight: 750;
    padding: 9px;
}

@media (max-width: 640px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 16px 12px 13px !important;
    }

    .woocommerce ul.products li.product h2,
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .neo-hp-product-name {
        font-size: 13.75px !important;
    }

    .woocommerce ul.products li.product .price,
    .neo-hp-product-price {
        font-size: 13.25px !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product a.button,
    .neo-hp-product-btn {
        font-size: 12.75px !important;
    }
}

/* =============================================================
   SINGLE PRODUCT + CATEGORY QA PATCH — 2026-07-10
   Fixes first validation notes: avoid compliance-risk category
   artwork, restore blue depth to the product page, contain the
   product gallery, remove the detached zoom affordance, and raise
   text contrast across product details/tabs.
   ============================================================= */
body,
.site,
.site-content,
.neo-woo-wrap,
.neo-page-wrap {
    background:
        radial-gradient(circle at 22% 10%, rgba(62,160,255,0.22), transparent 36%),
        radial-gradient(circle at 82% 28%, rgba(0,196,180,0.10), transparent 34%),
        linear-gradient(180deg, #0b376c 0%, #082a55 44%, #061f42 100%) !important;
}

body.woocommerce-shop .neo-category-image,
body.tax-product_cat .neo-category-image,
.neo-hp-cat-img {
    display: none !important;
}

body.woocommerce-shop .neo-category-content,
body.tax-product_cat .neo-category-content {
    padding: 22px 18px 18px;
    min-height: 154px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

body.woocommerce-shop .neo-category-content h3,
body.tax-product_cat .neo-category-content h3,
.neo-hp-cat-body h3 {
    min-height: auto;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.neo-hp-cat-body {
    padding: 20px 18px;
}

body.single-product .neo-woo-wrap {
    padding-top: 52px;
}

body.single-product .neo-woo-wrap .neo-container {
    width: min(calc(100% - 64px), 1320px);
}

body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(340px, 0.86fr) minmax(480px, 1.14fr);
    gap: 64px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery {
    position: relative !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025)), var(--neo-panel);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 24px 64px rgba(0,0,0,0.28);
}

body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    overflow: hidden !important;
}

body.single-product div.product .woocommerce-product-gallery__image a {
    pointer-events: none;
    cursor: default;
}

body.single-product div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: min(100%, 430px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 16px;
    background: #f4f6f8;
    box-shadow: 0 16px 38px rgba(0,0,0,0.24);
}

body.single-product div.product .woocommerce-product-gallery__trigger,
body.single-product div.product .flex-control-nav,
body.single-product div.product .flex-direction-nav {
    display: none !important;
}

body.single-product div.product .summary {
    background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 20px 58px rgba(0,0,0,0.22);
}

body.single-product div.product .product_title {
    color: #ffffff !important;
    font-size: clamp(2rem, 3vw, 2.85rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em;
    font-weight: 850 !important;
    margin: 0 0 24px !important;
}

body.single-product div.product .onsale {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.40) !important;
    background: rgba(255,255,255,0.08) !important;
    font-weight: 800;
}

body.single-product div.product p.price,
body.single-product div.product p.price .amount,
body.single-product div.product p.price ins {
    color: #ffffff !important;
    font-size: 1.22rem !important;
    font-weight: 850 !important;
}

body.single-product div.product p.price del,
body.single-product div.product p.price del .amount {
    color: #91a0b7 !important;
    opacity: 1 !important;
}

body.single-product div.product .woocommerce-product-details__short-description,
body.single-product div.product .woocommerce-product-details__short-description p,
body.single-product div.product .summary p,
body.single-product div.product .summary label,
body.single-product div.product .summary .stock {
    color: #e8f1ff !important;
}

body.single-product div.product .woocommerce-product-details__short-description p {
    font-size: 16.5px;
    line-height: 1.72;
}

body.single-product div.product table.variations th,
body.single-product div.product table.variations td {
    display: block;
    padding: 0 0 8px !important;
    color: #ffffff !important;
}

body.single-product div.product table.variations select,
body.single-product div.product form.cart input.qty {
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.22);
    background: #f5f8fb;
    color: #0b1628;
    font-size: 16px;
}

body.single-product div.product .reset_variations {
    display: none !important;
}

body.single-product div.product form.cart .button {
    min-height: 50px;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2)) !important;
    color: #031321 !important;
    font-size: 15.5px !important;
    font-weight: 900 !important;
}

body.single-product .woocommerce-tabs {
    clear: both;
    max-width: 1200px;
    margin: 52px auto 0;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    color: #e8f1ff;
}

body.single-product .woocommerce-tabs ul.tabs {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    display: block !important;
    margin: 0 0 10px !important;
    border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.10);
    color: #dbe7f7 !important;
    font-weight: 800;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
    background: rgba(62,160,255,0.14);
    border-color: rgba(62,160,255,0.32);
    color: #ffffff !important;
}

body.single-product .woocommerce-tabs .panel {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 28px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)), var(--neo-panel);
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: 22px;
    color: #e8f1ff;
}

body.single-product .woocommerce-tabs .panel h2,
body.single-product .woocommerce-tabs .panel strong,
body.single-product .related.products > h2 {
    color: #ffffff !important;
}

body.single-product .woocommerce-tabs .panel p,
body.single-product .woocommerce-tabs .panel li,
body.single-product .woocommerce-tabs .panel td,
body.single-product .woocommerce-tabs .panel th {
    color: #dbe7f7 !important;
    font-size: 16px;
    line-height: 1.72;
}

body.single-product .related.products {
    clear: both;
    max-width: 1200px;
    margin: 56px auto 0;
}

@media (max-width: 920px) {
    body.single-product .neo-woo-wrap .neo-container {
        width: min(calc(100% - 32px), 760px);
    }

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

    body.single-product div.product .summary,
    body.single-product .woocommerce-tabs .panel {
        margin-top: 24px !important;
    }
}

@media (max-width: 640px) {
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary,
    body.single-product .woocommerce-tabs .panel {
        padding: 20px !important;
    }

    body.single-product div.product .product_title {
        font-size: 2rem !important;
    }
}

/* =============================================================
   UAT PATCH v1.3.0 — product tabs, gallery containment, blue depth
   ============================================================= */
body.single-product div.product .woocommerce-product-gallery .flex-viewport,
body.single-product div.product .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    transform: none !important;
}

body.single-product div.product .woocommerce-product-gallery__wrapper {
    display: block !important;
    white-space: normal !important;
}

body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image.flex-active-slide {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

body.single-product div.product .woocommerce-product-gallery__image:not(:first-child),
body.single-product div.product .woocommerce-product-gallery__image.clone,
body.single-product div.product .woocommerce-product-gallery__image.woocommerce-product-gallery__image--clone {
    display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button {
    display: block;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    text-align: left;
    cursor: pointer;
    font: inherit;
    line-height: inherit;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.10);
    color: #dbe7f7 !important;
    font-weight: 800;
    text-decoration: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover,
body.single-product .woocommerce-tabs ul.tabs li.active button.neo-tab-button,
body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button:hover,
body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button:focus-visible {
    background: rgba(62,160,255,0.18);
    border-color: rgba(62,160,255,0.42);
    color: #ffffff !important;
    outline: none;
}

body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button::-moz-focus-inner {
    border: 0;
}

/* =============================================================
   UAT PATCH v1.3.2 — safe visual-only update from v1.3.0
   - Remove visible research-area/category grouping blocks.
   - Flatten page background to a brighter blue; avoid navy/black bottom.
   - No search template/query behavior changes in this revision.
   ============================================================= */
#research-areas.neo-research-section,
.neo-research-section,
.neo-categories-section,
.neo-category-grid,
.neo-category-card,
.neo-hp-category-grid,
.neo-hp-cat-card {
    display: none !important;
}

body,
.site,
.site-content,
.neo-woo-wrap,
.neo-page-wrap {
    background-color: #1676bb !important;
    background-image: linear-gradient(180deg, #1a7fc7 0%, #1778bf 52%, #1571b7 100%) !important;
    background-attachment: fixed !important;
}

.neo-topbar,
.neo-compliance-bar,
.neo-site-header,
.neo-site-footer {
    background-color: rgba(12, 88, 150, 0.96) !important;
    background-image: none !important;
}

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

/* =============================================================
   UAT PATCH v1.3.3 — product page layout reflow from v1.3.2
   - Keep the v1.3.2 visual/background/research removals intact.
   - Constrain the product hero to image + summary only, centered and balanced.
   - Move WooCommerce tabs/related products onto full-width rows below.
   ============================================================= */
body.single-product .neo-woo-wrap .neo-container {
    width: min(calc(100% - 48px), 1240px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-product div.product {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.05fr) !important;
    gap: clamp(32px, 4vw, 56px) !important;
    justify-content: center !important;
    overflow: visible !important;
}

body.single-product div.product > .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    align-self: start !important;
}

body.single-product div.product > .summary.entry-summary,
body.single-product div.product > .summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    align-self: start !important;
}

body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > .related.products,
body.single-product div.product > .storefront-product-pagination {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 1180px !important;
    justify-self: center !important;
    overflow: visible !important;
}

body.single-product div.product > .woocommerce-tabs {
    grid-row: 2 !important;
    display: block !important;
    margin: 48px auto 0 !important;
    clear: both !important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    list-style: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    width: auto !important;
}

body.single-product .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button {
    width: auto !important;
    min-width: min(220px, 100%) !important;
    text-align: center !important;
}

body.single-product .woocommerce-tabs .panel {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    overflow: visible !important;
}

body.single-product div.product > .related.products {
    grid-row: 3 !important;
    margin: 56px auto 0 !important;
}

body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
    content: none !important;
    display: none !important;
}

body.single-product .related.products ul.products li.product {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 920px) {
    body.single-product .neo-woo-wrap .neo-container {
        width: min(calc(100% - 32px), 760px) !important;
    }

    body.single-product div.product {
        display: block !important;
        max-width: 760px !important;
    }

    body.single-product div.product > .summary.entry-summary,
    body.single-product div.product > .woocommerce-tabs,
    body.single-product div.product > .related.products {
        margin-top: 28px !important;
    }

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

@media (max-width: 640px) {
    body.single-product .woocommerce-tabs ul.tabs {
        display: block !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li + li {
        margin-top: 10px !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a,
    body.single-product .woocommerce-tabs ul.tabs li button.neo-tab-button {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product .related.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================================
   STAGING PATCH v1.3.4 — rendered product-page polish
   - Hide Storefront side-pagination thumbnails that looked like stray vials.
   - Replace floating Woo tab buttons with integrated information cards.
   - Force tab panels visible even if Woo's tab JS leaves inline display:none.
   - Remove stray single-product sale badge grid artifact below related cards.
   ============================================================= */
body.single-product div.product > .storefront-product-pagination,
body.single-product .storefront-product-pagination {
    display: none !important;
}

body.single-product div.product > .onsale {
    display: none !important;
}

body.single-product div.product > .woocommerce-product-gallery,
body.single-product div.product > .summary.entry-summary {
    margin-bottom: 0 !important;
}

body.single-product div.product > .woocommerce-tabs {
    margin-top: clamp(28px, 3.5vw, 42px) !important;
    padding: clamp(20px, 2.5vw, 30px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr) !important;
    gap: clamp(18px, 2.2vw, 26px) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025)), rgba(14, 41, 79, 0.62) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 58px rgba(0,0,0,0.16) !important;
}

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

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .wc-tab,
body.single-product .woocommerce-tabs .panel {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: clamp(22px, 2.4vw, 30px) !important;
    background: rgba(255,255,255,0.075) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    border-radius: 20px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
    color: #edf6ff !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description {
    grid-column: 1 !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information {
    grid-column: 2 !important;
}

body.single-product .woocommerce-tabs .panel h2 {
    margin: 0 0 14px !important;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem) !important;
    letter-spacing: -0.02em !important;
}

body.single-product .woocommerce-tabs .panel table,
body.single-product .woocommerce-tabs .panel .woocommerce-product-attributes {
    margin: 0 !important;
    width: 100% !important;
    border: 0 !important;
}

body.single-product .woocommerce-tabs .panel table th,
body.single-product .woocommerce-tabs .panel table td {
    border-color: rgba(255,255,255,0.11) !important;
    background: transparent !important;
    padding: 12px 0 !important;
    vertical-align: top !important;
}

body.single-product div.product > .related.products {
    margin-top: clamp(36px, 4vw, 52px) !important;
}

body.single-product .related.products > h2 {
    text-align: center !important;
    margin-bottom: 24px !important;
    font-size: clamp(1.45rem, 2.1vw, 2rem) !important;
    letter-spacing: -0.03em !important;
}

body.single-product .related.products ul.products li.product {
    min-height: 100% !important;
}

body.single-product .related.products ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button {
    margin-top: auto !important;
}

@media (max-width: 920px) {
    body.single-product div.product > .woocommerce-tabs {
        display: grid !important;
        grid-template-columns: 1fr !important;
        max-width: 760px !important;
    }

    body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description,
    body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information {
        grid-column: 1 !important;
    }
}

@media (max-width: 640px) {
    body.single-product div.product > .woocommerce-tabs {
        padding: 16px !important;
        border-radius: 20px !important;
    }

    body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
    body.single-product .woocommerce-tabs .wc-tab,
    body.single-product .woocommerce-tabs .panel {
        padding: 20px !important;
    }
}

/* =============================================================
   STAGING PATCH v1.3.5 — cart / Woo block polish
   - Make the empty-cart page and Woo product-new block match the storefront cards.
   - Improve text contrast/readability on block-rendered cart surfaces.
   ============================================================= */
body.woocommerce-cart .neo-page-wrap,
body.woocommerce-cart .neo-page-content {
    color: #f5f9ff !important;
}

body.woocommerce-cart .neo-page-title {
    color: #ffffff !important;
    letter-spacing: -0.04em !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading {
    color: #ffffff !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
    display: grid !important;
    place-items: center !important;
    gap: 12px !important;
    margin: 34px auto 18px !important;
    padding: 30px !important;
    max-width: 680px !important;
    background: rgba(255,255,255,0.075) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 58px rgba(0,0,0,0.16) !important;
    font-size: clamp(1.45rem, 2.4vw, 2.2rem) !important;
    line-height: 1.18 !important;
}

body.woocommerce-cart .wp-block-separator.is-style-dots {
    opacity: 0.38 !important;
}

body.woocommerce-cart .wp-block-product-new,
body.woocommerce-cart .wc-block-grid.wp-block-product-new {
    margin-top: 28px !important;
}

body.woocommerce-cart .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-grid__product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 26px 22px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #f4f7fb !important;
    border: 1px solid rgba(7, 31, 61, 0.10) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 42px rgba(0,0,0,0.14) !important;
    color: #071526 !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-grid__product-link {
    color: #071526 !important;
    width: 100% !important;
}

body.woocommerce-cart .wc-block-grid__product-image {
    width: 150px !important;
    height: 150px !important;
    margin: 0 auto 16px !important;
    display: grid !important;
    place-items: center !important;
    background: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-grid__product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

body.woocommerce-cart .wc-block-grid__product-title {
    color: #071526 !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    font-weight: 850 !important;
    text-align: center !important;
    min-height: 42px !important;
}

body.woocommerce-cart .wc-block-grid__product-price,
body.woocommerce-cart .wc-block-grid__product-price .amount {
    color: #00bda8 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart {
    width: 100% !important;
    margin-top: auto !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
    width: 100% !important;
    min-height: 44px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 10px !important;
    background: #e8edf2 !important;
    border: 1px solid rgba(7, 31, 61, 0.18) !important;
    color: #071526 !important;
    font-weight: 850 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible {
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2)) !important;
    border-color: transparent !important;
    color: #031321 !important;
}

body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items__row {
    color: #f5f9ff !important;
}

@media (max-width: 920px) {
    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-cart .wc-block-cart__empty-cart__title {
        padding: 22px 18px !important;
        margin-top: 22px !important;
    }

    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.woocommerce-cart .wc-block-grid__product {
        padding: 24px 18px 20px !important;
    }
}

/* =============================================================
   STAGING PATCH v1.3.6 — product Additional information cleanup
   - Hide the Additional information card when its attributes are only
     size/options values already represented by the product selector.
   - Let Description occupy the full information-card width in that case.
   ============================================================= */
body.single-product div.product > .woocommerce-tabs:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    )
):not(:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:not(:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    ))
)) {
    grid-template-columns: 1fr !important;
}

body.single-product div.product > .woocommerce-tabs:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    )
):not(:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:not(:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    ))
)) .woocommerce-Tabs-panel--description {
    grid-column: 1 / -1 !important;
}

body.single-product div.product > .woocommerce-tabs:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    )
):not(:has(
    .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes-item:not(:is(
        .woocommerce-product-attributes-item--attribute_size,
        .woocommerce-product-attributes-item--attribute_pa_size,
        .woocommerce-product-attributes-item--attribute_option,
        .woocommerce-product-attributes-item--attribute_options,
        .woocommerce-product-attributes-item--attribute_pa_option,
        .woocommerce-product-attributes-item--attribute_pa_options
    ))
)) .woocommerce-Tabs-panel--additional_information {
    display: none !important;
}

/* UAT PATCH v1.3.7: product trust panel removed via functions.php; v1.3.6 additional-info suppression retained. */

/* =============================================================
   STAGING PATCH v1.3.8 — wider single-product hero
   - Match the product hero more closely to the header/container width.
   - Give the summary/title more desktop room while keeping image size capped.
   - Preserve the existing single-column mobile layout.
   ============================================================= */
body.single-product .neo-woo-wrap .neo-container {
    width: min(calc(100% - 48px), var(--neo-max)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-product div.product {
    max-width: 1380px !important;
    grid-template-columns: minmax(360px, 0.78fr) minmax(620px, 1.22fr) !important;
    gap: clamp(32px, 3.6vw, 56px) !important;
    justify-content: center !important;
}

body.single-product div.product > .woocommerce-product-gallery {
    max-width: 560px !important;
    justify-self: end !important;
}

body.single-product div.product > .summary.entry-summary,
body.single-product div.product > .summary {
    max-width: 760px !important;
    justify-self: stretch !important;
}

body.single-product div.product .woocommerce-product-gallery__image img {
    width: min(100%, 430px) !important;
}

body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > .related.products,
body.single-product div.product > .storefront-product-pagination {
    max-width: 1380px !important;
}

@media (min-width: 1180px) {
    body.single-product div.product .product_title {
        white-space: nowrap !important;
        font-size: clamp(2rem, 2.55vw, 2.7rem) !important;
    }
}

@media (max-width: 1179px) and (min-width: 921px) {
    body.single-product div.product {
        grid-template-columns: minmax(300px, 0.84fr) minmax(0, 1.16fr) !important;
        gap: clamp(28px, 3vw, 40px) !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product div.product > .summary.entry-summary,
    body.single-product div.product > .summary {
        max-width: none !important;
        justify-self: stretch !important;
    }
}

@media (max-width: 920px) {
    body.single-product .neo-woo-wrap .neo-container {
        width: min(calc(100% - 32px), 760px) !important;
    }

    body.single-product div.product {
        max-width: 760px !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product div.product > .summary.entry-summary,
    body.single-product div.product > .summary {
        max-width: none !important;
        justify-self: stretch !important;
    }

    body.single-product div.product .product_title {
        white-space: normal !important;
    }
}

/* =============================================================
   STAGING PATCH v1.3.9 — premium About page overhaul
   - Scoped to page-about.php markup only.
   - Compliance-safe RUO positioning with bright Neo blue surfaces.
   ============================================================= */
.neo-about-page {
    position: relative;
    overflow: hidden;
    color: #f6fbff;
    background:
        radial-gradient(circle at 16% 0%, rgba(90, 188, 255, 0.34), transparent 32%),
        radial-gradient(circle at 86% 12%, rgba(0, 196, 180, 0.16), transparent 30%),
        linear-gradient(180deg, #0b3f7a 0%, #08305f 46%, #061f42 100%);
}

.neo-about-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.42), transparent 62%);
}

.neo-about-page .neo-container {
    position: relative;
    z-index: 1;
}

.neo-about-hero {
    padding: clamp(62px, 8vw, 112px) 0 clamp(44px, 6vw, 78px);
}

.neo-about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.62fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.neo-about-eyebrow,
.neo-about-section-label,
.neo-about-panel-kicker {
    margin: 0 0 12px;
    color: #8bd5ff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.neo-about-hero h1 {
    max-width: 980px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.55rem, 5.5vw, 5.45rem);
    line-height: 0.94;
    letter-spacing: -0.065em;
    font-weight: 900;
}

.neo-about-lede {
    max-width: 760px;
    margin: 26px 0 0;
    color: #d8ebff;
    font-size: clamp(1.08rem, 1.55vw, 1.34rem);
    line-height: 1.65;
}

.neo-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.neo-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 0.96rem;
    font-weight: 850;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.neo-about-btn:hover,
.neo-about-btn:focus-visible {
    transform: translateY(-1px);
}

.neo-about-btn--primary {
    background: linear-gradient(135deg, #69c7ff, #00d8c5);
    color: #031526 !important;
    box-shadow: 0 20px 45px rgba(0, 169, 255, 0.25);
}

.neo-about-btn--secondary {
    color: #f4fbff !important;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.08);
}

.neo-about-btn--secondary:hover,
.neo-about-btn--secondary:focus-visible {
    border-color: rgba(139,213,255,0.72);
    background: rgba(255,255,255,0.12);
}

.neo-about-hero-panel {
    border: 1px solid rgba(169, 220, 255, 0.30);
    border-radius: 30px;
    padding: clamp(26px, 3vw, 38px);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.07)),
        rgba(6, 33, 70, 0.58);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
}

.neo-about-hero-panel p {
    margin: 0;
    color: #eef8ff;
    font-size: 1.03rem;
    line-height: 1.7;
}

.neo-about-hero-panel ul {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.neo-about-hero-panel li {
    position: relative;
    padding: 13px 14px 13px 42px;
    border-radius: 16px;
    color: #ffffff;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.11);
    font-weight: 750;
}

.neo-about-hero-panel li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #00d8c5;
    box-shadow: 0 0 0 6px rgba(0,216,197,0.12);
    transform: translateY(-50%);
}

.neo-about-section {
    padding: clamp(48px, 7vw, 86px) 0;
}

.neo-about-section--light {
    background: linear-gradient(180deg, rgba(232, 247, 255, 0.97), rgba(218, 241, 255, 0.95));
    color: #071f3c;
}

.neo-about-section--light .neo-about-section-label {
    color: #0472c9;
}

.neo-about-section--light h2,
.neo-about-section--light h3 {
    color: #061c35;
}

.neo-about-section--light p {
    color: #24415e;
}

.neo-about-split {
    display: grid;
    grid-template-columns: minmax(260px, 0.48fr) minmax(0, 0.82fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: start;
}

.neo-about-section h2,
.neo-about-contact-card h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2rem, 3.7vw, 3.65rem);
    line-height: 1;
    letter-spacing: -0.045em;
    font-weight: 900;
}

.neo-about-section--light .neo-about-section-head h2 {
    color: #061c35;
}

.neo-about-copy-card {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 28px;
    background: rgba(255,255,255,0.08);
    box-shadow: 0 20px 55px rgba(0,0,0,0.20);
}

.neo-about-copy-card p,
.neo-about-section-head p,
.neo-about-standard p,
.neo-about-contact-main p {
    margin: 0;
    color: #d9ebff;
    font-size: 1.02rem;
    line-height: 1.78;
}

.neo-about-copy-card p + p {
    margin-top: 18px;
}

.neo-about-section--light .neo-about-section-head p {
    color: #24415e;
}

.neo-about-section-head {
    max-width: 890px;
    margin-bottom: clamp(28px, 4vw, 42px);
}

.neo-about-section-head--narrow {
    max-width: 820px;
}

.neo-about-section-head h2 {
    margin-bottom: 18px;
}

.neo-about-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.neo-about-card,
.neo-about-standard {
    border: 1px solid rgba(7, 64, 122, 0.12);
    border-radius: 24px;
    padding: clamp(22px, 2.4vw, 30px);
    background: rgba(255,255,255,0.82);
    box-shadow: 0 18px 45px rgba(6, 38, 76, 0.11);
}

.neo-about-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #d7f2ff, #b9fff7);
    color: #04538f;
    font-weight: 950;
    font-size: 0.82rem;
}

.neo-about-card h3,
.neo-about-standard h3 {
    margin: 0 0 12px;
    font-size: 1.18rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 900;
}

.neo-about-card p {
    margin: 0;
    line-height: 1.68;
}

.neo-about-standards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: clamp(28px, 4vw, 42px);
}

.neo-about-standard {
    border-color: rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.085);
    box-shadow: none;
}

.neo-about-standard h3 {
    color: #ffffff;
}

.neo-about-contact-section {
    padding: 8px 0 clamp(64px, 8vw, 104px);
}

.neo-about-contact-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    gap: clamp(24px, 5vw, 64px);
    align-items: center;
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid rgba(139, 213, 255, 0.30);
    border-radius: 32px;
    background:
        radial-gradient(circle at 100% 0%, rgba(105,199,255,0.22), transparent 34%),
        rgba(255,255,255,0.10);
    box-shadow: 0 28px 80px rgba(0,0,0,0.24);
}

.neo-about-contact-main p {
    max-width: 720px;
    margin-top: 18px;
}

.neo-about-address {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,0.92);
    color: #082448;
    font-style: normal;
    box-shadow: 0 18px 48px rgba(0,0,0,0.16);
}

.neo-about-address strong {
    color: #061c35;
    font-size: 1.12rem;
    font-weight: 900;
}

.neo-about-address a {
    color: #036fc4;
    font-weight: 850;
    text-decoration: none !important;
}

.neo-about-address a:first-of-type {
    margin-top: 10px;
}

@media (max-width: 980px) {
    .neo-about-hero-grid,
    .neo-about-split,
    .neo-about-contact-card {
        grid-template-columns: 1fr;
    }

    .neo-about-hero-panel,
    .neo-about-contact-card {
        max-width: 760px;
    }

    .neo-about-card-grid,
    .neo-about-standards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .neo-about-hero {
        padding-top: 46px;
    }

    .neo-about-actions,
    .neo-about-btn {
        width: 100%;
    }

    .neo-about-card,
    .neo-about-standard,
    .neo-about-copy-card,
    .neo-about-contact-card,
    .neo-about-hero-panel {
        border-radius: 22px;
    }

    .neo-about-contact-card {
        padding: 22px;
    }

    .neo-about-address {
        padding: 20px;
    }
}

/* =============================================================
   STAGING PATCH v1.4.0 — COA batch lookup page
   - Direct third-party lab batch-ID lookup.
   - Softer available-batches presentation with no missing-batch table.
   ============================================================= */
.neo-coa-page {
    position: relative;
    overflow: hidden;
    color: #f6fbff;
    background:
        radial-gradient(circle at 12% 2%, rgba(90, 188, 255, 0.32), transparent 34%),
        radial-gradient(circle at 90% 16%, rgba(0, 216, 197, 0.18), transparent 30%),
        linear-gradient(180deg, #0b3f7a 0%, #08315f 46%, #061f42 100%);
}

.neo-coa-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.032) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.36), transparent 58%);
}

.neo-coa-page .neo-container {
    position: relative;
    z-index: 1;
}

.neo-coa-hero {
    padding: clamp(58px, 8vw, 108px) 0 clamp(42px, 6vw, 74px);
}

.neo-coa-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.64fr);
    gap: clamp(30px, 5vw, 76px);
    align-items: center;
}

.neo-coa-eyebrow,
.neo-coa-card-kicker {
    margin: 0 0 12px;
    color: #8bd5ff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.neo-coa-hero h1 {
    max-width: 940px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.45rem, 5.1vw, 5.1rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
}

.neo-coa-lede {
    max-width: 760px;
    margin: 26px 0 0;
    color: #d8ebff;
    font-size: clamp(1.08rem, 1.55vw, 1.32rem);
    line-height: 1.65;
}

.neo-coa-lookup-card,
.neo-coa-info-card,
.neo-coa-batch-card,
.neo-coa-note-card {
    border: 1px solid rgba(169, 220, 255, 0.24);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.07)),
        rgba(6, 33, 70, 0.58);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(16px);
}

.neo-coa-lookup-card {
    padding: clamp(26px, 3vw, 38px);
}

.neo-coa-lookup-card h2 {
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(1.55rem, 2.2vw, 2rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 900;
}

.neo-coa-form label {
    display: block;
    margin-bottom: 9px;
    color: #eaf7ff;
    font-weight: 850;
}

.neo-coa-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.neo-coa-input-row input {
    min-width: 0;
    height: 50px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
    color: #061c35;
    padding: 0 18px;
    font-size: 1rem;
    font-weight: 750;
    outline: none;
}

.neo-coa-input-row input:focus {
    border-color: #8bd5ff;
    box-shadow: 0 0 0 4px rgba(139,213,255,0.18);
}

.neo-coa-input-row button,
.neo-coa-batch-link,
.neo-coa-note-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 20px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #69c7ff, #00d8c5);
    color: #031526 !important;
    font-weight: 900;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    white-space: nowrap;
}

.neo-coa-input-row button:hover,
.neo-coa-input-row button:focus-visible,
.neo-coa-batch-link:hover,
.neo-coa-batch-link:focus-visible,
.neo-coa-note-card a:hover,
.neo-coa-note-card a:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(0, 169, 255, 0.22);
}

.neo-coa-help,
.neo-coa-status {
    margin: 14px 0 0;
    color: #cfe7ff;
    font-size: 0.94rem;
    line-height: 1.6;
}

.neo-coa-status a {
    color: #94f2ff;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.neo-coa-info-section,
.neo-coa-available-section {
    padding: clamp(44px, 6vw, 76px) 0;
}

.neo-coa-info-section {
    background: rgba(4, 23, 48, 0.24);
}

.neo-coa-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.neo-coa-info-card {
    padding: clamp(22px, 2.4vw, 30px);
    box-shadow: none;
}

.neo-coa-info-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    border-radius: 14px;
    background: rgba(139, 213, 255, 0.16);
    color: #9ee7ff;
    font-weight: 950;
    font-size: 0.82rem;
}

.neo-coa-info-card h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1.18;
    letter-spacing: -0.025em;
    font-weight: 900;
}

.neo-coa-info-card p,
.neo-coa-section-head p,
.neo-coa-note-card p {
    margin: 0;
    color: #d8ebff;
    line-height: 1.72;
}

.neo-coa-section-head {
    max-width: 820px;
    margin-bottom: clamp(26px, 4vw, 40px);
}

.neo-coa-section-head h2 {
    margin: 0 0 16px;
    color: #ffffff;
    font-size: clamp(2rem, 3.5vw, 3.45rem);
    line-height: 1;
    letter-spacing: -0.045em;
    font-weight: 900;
}

.neo-coa-batch-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.neo-coa-batch-card {
    display: flex;
    min-height: 236px;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
    padding: 22px;
    border-color: rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.075);
    box-shadow: none;
}

.neo-coa-batch-product {
    margin: 0 0 8px;
    color: #8bd5ff;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.neo-coa-batch-card h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.12rem;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.neo-coa-batch-meta {
    margin: 10px 0 0;
    color: #c8def3;
    font-size: 0.92rem;
    line-height: 1.55;
}

.neo-coa-batch-link {
    width: 100%;
    min-height: 44px;
    padding: 11px 16px;
    font-size: 0.92rem;
}

.neo-coa-note-section {
    padding: 4px 0 clamp(62px, 8vw, 96px);
}

.neo-coa-note-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: clamp(22px, 3vw, 32px);
}

.neo-coa-note-card strong {
    color: #ffffff;
    font-weight: 950;
}

@media (max-width: 1180px) {
    .neo-coa-batch-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .neo-coa-hero-grid,
    .neo-coa-info-grid,
    .neo-coa-note-card {
        grid-template-columns: 1fr;
    }

    .neo-coa-lookup-card {
        max-width: 760px;
    }

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

@media (max-width: 640px) {
    .neo-coa-hero {
        padding-top: 46px;
    }

    .neo-coa-input-row {
        grid-template-columns: 1fr;
    }

    .neo-coa-input-row button,
    .neo-coa-note-card a {
        width: 100%;
    }

    .neo-coa-batch-grid {
        grid-template-columns: 1fr;
    }

    .neo-coa-lookup-card,
    .neo-coa-info-card,
    .neo-coa-batch-card,
    .neo-coa-note-card {
        border-radius: 22px;
    }
}

/* =============================================================
   STAGING PATCH v1.4.2 — homepage stripe reduction
   - Scope to the staging homepage markup so product/COA/page layouts stay intact.
   - Keep the RUO notice visible, but remove the red hard-stop stripe.
   - Blend topbar/header/nav/CTA/Best Sellers into one premium blue surface.
   ============================================================= */
body.home,
body.home .site,
body.home .site-content {
    background-color: #1676bb !important;
    background-image:
        radial-gradient(circle at 18% 0%, rgba(118, 205, 255, 0.30), transparent 32%),
        radial-gradient(circle at 88% 14%, rgba(0, 216, 197, 0.13), transparent 28%),
        linear-gradient(180deg, #166fb0 0%, #177cc3 42%, #146fb4 100%) !important;
    background-attachment: fixed !important;
}

body.home .neo-topbar,
body.home .neo-compliance-bar,
body.home .neo-site-header {
    background-image: none !important;
}

body.home .neo-topbar {
    background-color: rgba(13, 86, 150, 0.98) !important;
    border-bottom: 0 !important;
    color: #e6f4ff !important;
}

body.home .neo-topbar-inner {
    padding: 8px 0;
}

body.home .neo-compliance-bar {
    background-color: rgba(10, 76, 138, 0.94) !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
    border-bottom: 1px solid rgba(139,213,255,0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
    color: #edf8ff !important;
    padding: 9px 0;
    letter-spacing: 0.28px;
}

body.home .neo-compliance-bar strong {
    font-weight: 800;
}

body.home .neo-site-header {
    background-color: rgba(10, 78, 140, 0.90) !important;
    border-bottom: 1px solid rgba(139,213,255,0.20) !important;
    box-shadow: 0 18px 54px rgba(4, 28, 58, 0.16);
}

body.home .neo-header-main {
    padding: 18px 0 16px;
}

body.home .neo-nav-wrap {
    border-top: 0 !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
}

body.home .neo-main-nav {
    padding: 11px 0 12px;
}

body.home .neo-search-form,
body.home .neo-action-link {
    background: rgba(255,255,255,0.075);
    border-color: rgba(202,236,255,0.18);
}

body.home .neo-cta-banner {
    margin-top: 0;
    padding: clamp(56px, 7vw, 86px) 0 clamp(42px, 5vw, 62px);
    background:
        radial-gradient(circle at 50% -8%, rgba(139,213,255,0.24), transparent 42%),
        linear-gradient(180deg, rgba(18,116,184,0.44) 0%, rgba(20,121,192,0.32) 54%, rgba(20,112,180,0.10) 100%);
}

body.home .neo-cta-banner-bg {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.025)),
        rgba(7, 68, 124, 0.18) !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(139,213,255,0.18) !important;
}

body.home .neo-cta-copy h2 {
    text-shadow: 0 10px 34px rgba(4, 28, 58, 0.20);
}

body.home .neo-featured-section {
    padding-top: clamp(36px, 5vw, 56px);
    padding-bottom: clamp(58px, 7vw, 84px);
    background:
        linear-gradient(180deg, rgba(232,247,255,0.08) 0%, rgba(232,247,255,0.04) 46%, rgba(232,247,255,0) 100%);
    border-top: 1px solid rgba(139,213,255,0.12);
}

body.home .neo-section-header {
    margin-bottom: 28px;
}

body.home .neo-section-title {
    letter-spacing: -0.035em;
    text-shadow: 0 10px 28px rgba(4, 28, 58, 0.18);
}

body.home .neo-section-link {
    color: #d8f2ff !important;
    opacity: 0.92;
    text-shadow: 0 8px 22px rgba(4, 28, 58, 0.22);
}

body.home .neo-section-link:hover,
body.home .neo-section-link:focus-visible {
    color: #ffffff !important;
    opacity: 1;
}

body.home .neo-hp-product-card {
    border-color: rgba(255,255,255,0.32);
    box-shadow: 0 16px 44px rgba(5, 44, 86, 0.16);
}

body.home .neo-site-footer {
    margin-top: 0 !important;
    background:
        linear-gradient(180deg, rgba(9, 77, 139, 0.92), rgba(6, 45, 86, 0.96)) !important;
    border-top: 1px solid rgba(139,213,255,0.22) !important;
}

body.home .neo-footer-compliance {
    color: #eaf7ff !important;
    border-top-color: rgba(139,213,255,0.24) !important;
    border-left-color: #8bd5ff !important;
}

@media (max-width: 767px) {
    body.home .neo-topbar-inner {
        padding: 7px 0;
    }

    body.home .neo-compliance-bar {
        padding: 8px 0;
        font-size: 12.5px;
    }

    body.home .neo-header-main {
        padding: 14px 0 12px;
    }

    body.home .neo-cta-banner {
        padding: 44px 0 40px;
    }

    body.home .neo-featured-section {
        padding-top: 34px;
    }
}

/* =============================================================
   Privacy Policy + Terms formatting cleanup — v1.4.3 + cycle 01
   Page-scoped polish for the editor-rendered legal copy. No copy
   changes: this only improves width, duplicate title, spacing,
   manual line-break artifacts, lists, links, and mobile readability.
   ============================================================= */
body.privacy-policy .neo-page-wrap {
    padding: clamp(34px, 5vw, 72px) 0 clamp(64px, 8vw, 104px);
}

body.privacy-policy .neo-page-wrap .neo-container {
    width: min(calc(100% - 40px), 1040px);
}

body.privacy-policy .neo-page-header {
    max-width: 920px;
    margin: 0 auto 22px;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(226, 242, 255, 0.22);
    text-align: center;
}

body.privacy-policy .neo-page-title {
    font-size: clamp(2.1rem, 5vw, 4.15rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-shadow: 0 16px 44px rgba(4, 28, 58, 0.26);
}

body.privacy-policy .neo-page-content {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(26px, 4.5vw, 50px);
    border: 1px solid rgba(226, 242, 255, 0.22);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.155), rgba(255,255,255,0.075)),
        rgba(6, 43, 83, 0.34);
    box-shadow: 0 24px 72px rgba(4, 28, 58, 0.24);
    color: #eff8ff;
    font-size: clamp(1rem, 0.36vw + 0.92rem, 1.08rem);
    line-height: 1.76;
}

body.privacy-policy .neo-page-content > h1:first-child {
    display: none;
}

body.privacy-policy .neo-page-content p {
    max-width: 72ch;
    margin: 0 0 1.05rem;
}

body.privacy-policy .neo-page-content br {
    display: none;
}

body.privacy-policy .neo-page-content > p:first-of-type {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
    margin: 0 0 1.45rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(139, 213, 255, 0.30);
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    color: #ffffff;
    font-size: 0.94rem;
    line-height: 1.3;
}

body.privacy-policy .neo-page-content > p:first-of-type strong {
    color: #ffffff;
    font-weight: 750;
}

body.privacy-policy .neo-page-content p:has(> strong:only-child) {
    max-width: none;
    margin: 2rem 0 0.72rem;
    padding-top: 1.45rem;
    border-top: 1px solid rgba(226, 242, 255, 0.16);
    color: #ffffff;
    font-size: clamp(1.08rem, 0.55vw + 0.96rem, 1.28rem);
    line-height: 1.28;
}

body.privacy-policy .neo-page-content > p:first-of-type:has(> strong:only-child) {
    margin-top: 0;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(139, 213, 255, 0.30);
    font-size: 0.94rem;
}

body.privacy-policy .neo-page-content p:has(> strong:only-child) strong {
    color: #ffffff;
    font-weight: 800;
}

body.privacy-policy .neo-page-content ul {
    max-width: 760px;
    margin: 0.2rem 0 1.35rem;
    padding: 1rem 1.1rem 1rem 1.25rem;
    border: 1px solid rgba(226, 242, 255, 0.16);
    border-radius: 18px;
    background: rgba(3, 22, 44, 0.22);
    list-style: none;
}

body.privacy-policy .neo-page-content li {
    position: relative;
    margin: 0;
    padding: 0.28rem 0 0.28rem 1.45rem;
    color: #f7fbff;
}

body.privacy-policy .neo-page-content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.86em;
    width: 0.46rem;
    height: 0.46rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--neo-blue), var(--neo-blue-2));
    box-shadow: 0 0 0 4px rgba(62,160,255,0.12);
}

body.privacy-policy .neo-page-content a {
    color: #ffffff;
    font-weight: 750;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

body.privacy-policy .neo-page-content a:hover,
body.privacy-policy .neo-page-content a:focus-visible {
    color: #d8f2ff;
}

@media (max-width: 767px) {
    body.privacy-policy .neo-page-wrap .neo-container {
        width: min(calc(100% - 28px), 1040px);
    }

    body.privacy-policy .neo-page-header {
        text-align: left;
    }

    body.privacy-policy .neo-page-content {
        padding: 22px 18px;
        border-radius: 22px;
        line-height: 1.68;
    }

    body.privacy-policy .neo-page-content > p:first-of-type {
        display: flex;
        border-radius: 16px;
    }

    body.privacy-policy .neo-page-content p:has(> strong:only-child) {
        margin-top: 1.65rem;
        padding-top: 1.2rem;
    }

    body.privacy-policy .neo-page-content ul {
        padding: 0.84rem 0.82rem 0.84rem 0.95rem;
        border-radius: 16px;
    }
}

/* ── Shop toolbar + pagination tightening (v1.4.4) ── */
body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
    display: grid !important;
    grid-template-columns: minmax(180px, max-content) 1fr;
    align-items: center;
    column-gap: 24px;
    row-gap: 10px;
    width: 100%;
}

body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:first-child {
    margin: 0 0 16px !important;
}

body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:last-child {
    margin: 14px 0 0 !important;
}

body.post-type-archive-product .storefront-sorting .woocommerce-ordering,
body.tax-product_cat .storefront-sorting .woocommerce-ordering,
body.tax-product_tag .storefront-sorting .woocommerce-ordering {
    justify-self: start;
}

body.post-type-archive-product .storefront-sorting .woocommerce-result-count,
body.tax-product_cat .storefront-sorting .woocommerce-result-count,
body.tax-product_tag .storefront-sorting .woocommerce-result-count {
    justify-self: end;
    color: #d9efff;
    opacity: 0.94;
    font-weight: 600;
}

body.post-type-archive-product .storefront-sorting nav.woocommerce-pagination,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination {
    grid-column: 1 / -1;
    width: auto;
    margin: 8px 0 0 !important;
    justify-self: center;
}

body.post-type-archive-product .storefront-sorting nav.woocommerce-pagination ul,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination ul,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination ul {
    gap: 4px;
    margin: 0 !important;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers {
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(217,239,255,0.55);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(3,19,33,0.12);
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #ffffff;
    border-color: #ffffff;
    color: #08213a;
    box-shadow: 0 6px 16px rgba(3,19,33,0.18);
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible {
    background: #d9efff;
    border-color: #ffffff;
    color: #08213a;
    outline: none;
}

@media (max-width: 767px) {
    body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
        grid-template-columns: 1fr;
        justify-items: stretch;
        row-gap: 8px;
    }

    body.post-type-archive-product .storefront-sorting .woocommerce-result-count,
    body.tax-product_cat .storefront-sorting .woocommerce-result-count,
    body.tax-product_tag .storefront-sorting .woocommerce-result-count,
    body.post-type-archive-product .storefront-sorting .woocommerce-ordering,
    body.tax-product_cat .storefront-sorting .woocommerce-ordering,
    body.tax-product_tag .storefront-sorting .woocommerce-ordering {
        justify-self: stretch;
        text-align: left;
    }
}

/* ── Shop toolbar correction (v1.4.5)
   Put sort, pagination, and result count on one consistent row and make every
   pagination tile obvious on the blue shop background. ── */
body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
    display: grid !important;
    grid-template-columns: minmax(190px, 240px) minmax(116px, 1fr) minmax(210px, 260px) !important;
    align-items: center !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    width: 100% !important;
}

body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:first-child {
    margin: 0 0 10px !important;
}

body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:last-child {
    margin: 12px 0 0 !important;
}

body.post-type-archive-product .storefront-sorting > .woocommerce-notices-wrapper:empty,
body.tax-product_cat .storefront-sorting > .woocommerce-notices-wrapper:empty,
body.tax-product_tag .storefront-sorting > .woocommerce-notices-wrapper:empty {
    display: none !important;
}

body.post-type-archive-product .storefront-sorting > .woocommerce-ordering,
body.tax-product_cat .storefront-sorting > .woocommerce-ordering,
body.tax-product_tag .storefront-sorting > .woocommerce-ordering {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
}

body.post-type-archive-product .storefront-sorting > nav.woocommerce-pagination,
body.tax-product_cat .storefront-sorting > nav.woocommerce-pagination,
body.tax-product_tag .storefront-sorting > nav.woocommerce-pagination {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: auto !important;
    margin: 0 !important;
}

body.post-type-archive-product .storefront-sorting > .woocommerce-result-count,
body.tax-product_cat .storefront-sorting > .woocommerce-result-count,
body.tax-product_tag .storefront-sorting > .woocommerce-result-count {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    margin: 0 !important;
    color: #f4fbff !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 8px rgba(3,19,33,0.22);
}

body.post-type-archive-product .storefront-sorting nav.woocommerce-pagination ul.page-numbers,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination ul.page-numbers,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination ul.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li {
    margin: 0 !important;
    border: 0 !important;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span.page-numbers,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.page-numbers,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    background: #f5fbff !important;
    border: 1px solid #ffffff !important;
    color: #08213a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    box-shadow: 0 4px 12px rgba(3,19,33,0.22) !important;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.current {
    background: #00dec2 !important;
    border-color: #78fff0 !important;
    color: #021a2f !important;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #021a2f !important;
    outline: 2px solid rgba(120,255,240,0.75) !important;
    outline-offset: 2px !important;
}

@media (max-width: 767px) {
    body.post-type-archive-product .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
        grid-template-columns: 1fr !important;
        row-gap: 8px !important;
    }

    body.post-type-archive-product .storefront-sorting > .woocommerce-ordering,
    body.post-type-archive-product .storefront-sorting > nav.woocommerce-pagination,
    body.post-type-archive-product .storefront-sorting > .woocommerce-result-count,
    body.tax-product_cat .storefront-sorting > .woocommerce-ordering,
    body.tax-product_cat .storefront-sorting > nav.woocommerce-pagination,
    body.tax-product_cat .storefront-sorting > .woocommerce-result-count,
    body.tax-product_tag .storefront-sorting > .woocommerce-ordering,
    body.tax-product_tag .storefront-sorting > nav.woocommerce-pagination,
    body.tax-product_tag .storefront-sorting > .woocommerce-result-count {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: center !important;
        text-align: center !important;
    }
}

/* ── Shop toolbar correction (v1.4.6)
   Correct selector scope: the shop body class is `woocommerce-shop`, not
   `post-type-archive-product`. These override v1.4.4/1.4.5. ── */
body.woocommerce-shop .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
    display: grid !important;
    grid-template-columns: minmax(190px, 240px) minmax(120px, 1fr) minmax(210px, 270px) !important;
    align-items: center !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    width: 100% !important;
}

body.woocommerce-shop .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:first-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:first-child {
    margin: 0 0 10px !important;
}

body.woocommerce-shop .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting:last-child,
body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting:last-child {
    margin: 12px 0 0 !important;
}

body.woocommerce-shop .storefront-sorting > .woocommerce-notices-wrapper:empty,
body.tax-product_cat .storefront-sorting > .woocommerce-notices-wrapper:empty,
body.tax-product_tag .storefront-sorting > .woocommerce-notices-wrapper:empty {
    display: none !important;
}

body.woocommerce-shop .storefront-sorting > .woocommerce-ordering,
body.tax-product_cat .storefront-sorting > .woocommerce-ordering,
body.tax-product_tag .storefront-sorting > .woocommerce-ordering {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
}

body.woocommerce-shop .storefront-sorting > nav.woocommerce-pagination,
body.tax-product_cat .storefront-sorting > nav.woocommerce-pagination,
body.tax-product_tag .storefront-sorting > nav.woocommerce-pagination {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: auto !important;
    margin: 0 !important;
}

body.woocommerce-shop .storefront-sorting > .woocommerce-result-count,
body.tax-product_cat .storefront-sorting > .woocommerce-result-count,
body.tax-product_tag .storefront-sorting > .woocommerce-result-count {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    margin: 0 !important;
    color: #f4fbff !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 8px rgba(3,19,33,0.24) !important;
}

body.woocommerce-shop .storefront-sorting nav.woocommerce-pagination ul.page-numbers,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination ul.page-numbers,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination ul.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li {
    margin: 0 !important;
    border: 0 !important;
}

body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li span.page-numbers,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.page-numbers,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    background-color: #f5fbff !important;
    background-image: none !important;
    border: 1px solid #ffffff !important;
    color: #08213a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    box-shadow: 0 4px 12px rgba(3,19,33,0.22) !important;
}

body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: #00dec2 !important;
    border-color: #78fff0 !important;
    color: #021a2f !important;
}

body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus-visible {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #021a2f !important;
    outline: 2px solid rgba(120,255,240,0.75) !important;
    outline-offset: 2px !important;
}

@media (max-width: 767px) {
    body.woocommerce-shop .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_cat .neo-woo-wrap .neo-container > .storefront-sorting,
    body.tax-product_tag .neo-woo-wrap .neo-container > .storefront-sorting {
        grid-template-columns: 1fr !important;
        row-gap: 8px !important;
    }

    body.woocommerce-shop .storefront-sorting > .woocommerce-ordering,
    body.woocommerce-shop .storefront-sorting > nav.woocommerce-pagination,
    body.woocommerce-shop .storefront-sorting > .woocommerce-result-count,
    body.tax-product_cat .storefront-sorting > .woocommerce-ordering,
    body.tax-product_cat .storefront-sorting > nav.woocommerce-pagination,
    body.tax-product_cat .storefront-sorting > .woocommerce-result-count,
    body.tax-product_tag .storefront-sorting > .woocommerce-ordering,
    body.tax-product_tag .storefront-sorting > nav.woocommerce-pagination,
    body.tax-product_tag .storefront-sorting > .woocommerce-result-count {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: center !important;
        text-align: center !important;
    }
}

/* ── Pagination visibility correction (v1.4.7)
   Non-current page tiles must be light/obvious, not dark translucent boxes. ── */
body.woocommerce-shop nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.tax-product_cat nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.tax-product_tag nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.woocommerce-shop .storefront-sorting nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination ul.page-numbers li a.page-numbers {
    background: #f7fbff !important;
    background-color: #f7fbff !important;
    background-image: none !important;
    border: 2px solid #ffffff !important;
    color: #07213a !important;
    opacity: 1 !important;
    box-shadow: 0 5px 14px rgba(3,19,33,0.26) !important;
}

body.woocommerce-shop nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
body.tax-product_cat nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
body.tax-product_tag nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
body.woocommerce-shop .storefront-sorting nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
body.tax-product_cat .storefront-sorting nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
body.tax-product_tag .storefront-sorting nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 2px solid #ffffff !important;
    color: #07213a !important;
    opacity: 1 !important;
    box-shadow: 0 5px 14px rgba(3,19,33,0.26) !important;
}

/* cycle 02 terms legal container fix (consistent with Privacy Policy card) */
body.page-id-314 .neo-page-wrap .neo-container {
    width: min(calc(100% - 40px), 1040px);
}
body.page-id-314 .neo-page-header {
    max-width: 920px;
    margin: 0 auto 22px;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(226, 242, 255, 0.22);
    text-align: center;
}
body.page-id-314 .neo-page-title {
    font-size: clamp(2.1rem, 5vw, 4.15rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-shadow: 0 16px 44px rgba(4, 28, 58, 0.26);
}
body.page-id-314 .neo-page-content {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(26px, 4.5vw, 50px);
    border: 1px solid rgba(226, 242, 255, 0.22);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.155), rgba(255,255,255,0.075)),
        rgba(6, 43, 83, 0.34);
    box-shadow: 0 24px 72px rgba(4, 28, 58, 0.24);
    color: #eff8ff;
    font-size: clamp(1rem, 0.36vw + 0.92rem, 1.08rem);
    line-height: 1.76;
}
body.page-id-314 .neo-page-content > h1:first-child {
    display: none;
}
body.page-id-314 .neo-page-content p {
    max-width: 72ch;
    margin: 0 0 1.05rem;
}
body.page-id-314 .neo-page-content ul {
    max-width: 760px;
    margin: 0.2rem 0 1.35rem;
    padding: 1rem 1.1rem 1rem 1.25rem;
    border: 1px solid rgba(226, 242, 255, 0.16);
    border-radius: 18px;
    background: rgba(3, 22, 44, 0.22);
    list-style: none;
}
@media (max-width: 767px) {
    body.page-id-314 .neo-page-wrap .neo-container {
        width: min(calc(100% - 28px), 1040px);
    }
    body.page-id-314 .neo-page-header {
        text-align: left;
    }
    body.page-id-314 .neo-page-content {
        padding: 22px 18px;
        border-radius: 22px;
        line-height: 1.68;
    }
}

/* =============================================================
   CYCLE 03 — homepage cosmetic polish (staging only)
   Fix 1: remove conspicuous visual blocking/banding and harsh section seams/transitions
   Fix 2: remove the thin stray line/artifact at the lower-left of the footer
   Scoped exclusively to body.home ; preserve all RUO text, functionality, other pages.
   ============================================================= */

body.home .neo-cta-banner-bg {
    border-top: none !important;
    border-bottom: none !important;
    background: rgba(7, 68, 124, 0.06) !important;
}

body.home .neo-featured-section {
    border-top: none !important;
    background: transparent !important;
    padding-top: 20px !important;
    padding-bottom: 40px !important;
}

body.home .neo-section-header {
    margin-bottom: 20px !important;
}

/* further blend top transitions */
body.home .neo-compliance-bar {
    border-bottom: 1px solid rgba(139,213,255,0.08) !important;
}

body.home .neo-site-header {
    border-bottom: 1px solid rgba(139,213,255,0.08) !important;
}

/* remove footer stray line/artifact at lower-left */
body.home .neo-site-footer {
    border-top: none !important;
}

body.home .neo-footer-bottom {
    border-top: none !important;
}

body.home .neo-footer-compliance {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid rgba(139,213,255,0.12) !important;
}

/* reduce any residual blocking from product cards on home */
body.home .neo-hp-product-card {
    box-shadow: 0 8px 24px rgba(5, 44, 86, 0.10) !important;
}

/* =============================================================
   CYCLE 04 — footer duplicate removal + account login polish
   - Remove copyright-bar Privacy/Terms links (HTML edit preserves primary Policies & Account)
   - My Account login: label exactly "Email address", input type=email for email-only UX
   - Fix Login h2 + Lost your password? contrast (readable light text + hover/focus on blue .neo-page-wrap)
   - Preserve all WC login/error/reset/accessibility behavior
   ============================================================= */

/* After removing duplicate links, keep copyright centered and clean */
.neo-footer-bottom-inner {
    justify-content: center;
    gap: 0;
}

/* Account page inside blue .neo-page-wrap: force light high-contrast text for headings and links */
body.woocommerce-account .neo-page-wrap h2,
body.woocommerce-account .woocommerce-account h2,
body.woocommerce-account .u-column1 h2,
body.woocommerce-account .woocommerce-form h2 {
    color: #ffffff !important;
}

/* Lost password link - use 4.5:1+ contrast light color */
body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce-LostPassword.lost_password a {
    color: #f0f8ff !important;
    text-decoration: underline;
    transition: color 0.15s ease;
}

body.woocommerce-account .woocommerce-LostPassword a:hover,
body.woocommerce-account .woocommerce-LostPassword a:focus {
    color: #ffffff !important;
}

body.woocommerce-account .woocommerce-LostPassword a:focus {
    outline: 2px solid #f0f8ff !important;
    outline-offset: 3px;
}

/* Form labels inside the blue account area for better readability */
body.woocommerce-account .woocommerce-form-row label {
    color: #e8f4ff !important;
}

/* =============================================================
   CYCLE 06 — focused checkout validation + empty product tabs
   ============================================================= */
body.single-product .woocommerce-tabs.neo-tabs-empty[hidden] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    scroll-margin-top: calc(var(--neo-checkout-sticky-offset, 224px) + 20px);
}

/* Ensure inputs have sufficient contrast on the blue surface */
body.woocommerce-account .woocommerce-Input {
    color: #07213a !important;
    background-color: #ffffff !important;
}

/* =============================================================
   CYCLE 07 — integrated homepage color field + full-bleed header
   NEO-UI-004 / NEO-UI-005 (staging only)
   ============================================================= */
body.home,
body.home .site,
body.home .site-content {
    background-color: #0b629d !important;
    background-image:
        radial-gradient(circle at 18% 7%, rgba(129, 215, 255, 0.22), transparent 30%),
        radial-gradient(circle at 86% 24%, rgba(0, 213, 196, 0.10), transparent 31%),
        linear-gradient(180deg, #0b548b 0%, #0e72ae 37%, #117fba 63%, #0a568b 84%, #062f58 100%) !important;
    background-attachment: scroll !important;
}

body.home .neo-topbar,
body.home .neo-compliance-bar,
body.home .neo-site-header,
body.home .neo-site-header .neo-nav-wrap,
body.home .neo-site-header .neo-header-main,
body.home .neo-site-footer .neo-footer-bottom {
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.home .neo-topbar { background: rgba(4, 45, 83, 0.16) !important; }
body.home .neo-compliance-bar { background: rgba(4, 49, 88, 0.14) !important; }
body.home .neo-site-header {
    background: rgba(5, 56, 99, 0.20) !important;
    backdrop-filter: blur(16px);
}

body.home .neo-site-header .neo-header-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: max(24px, calc((100vw - var(--neo-max)) / 2)) !important;
    padding-right: max(24px, calc((100vw - var(--neo-max)) / 2)) !important;
}

body.home .neo-logo-link,
body.home .neo-manual-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.home .neo-manual-logo {
    filter: drop-shadow(0 8px 18px rgba(3, 27, 50, 0.24));
}

body.home .neo-cta-banner {
    background: radial-gradient(circle at 50% 18%, rgba(145, 222, 255, 0.18), transparent 48%) !important;
}

body.home .neo-cta-banner-bg,
body.home .neo-featured-section {
    background: transparent !important;
    border: 0 !important;
}

body.home .neo-featured-section { position: relative; }
body.home .neo-featured-section::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 38% 0 0;
    background: linear-gradient(180deg, transparent, rgba(5, 54, 94, 0.18));
    pointer-events: none;
}

body.home .neo-site-footer {
    margin-top: 0 !important;
    border: 0 !important;
    background: linear-gradient(180deg, rgba(5, 54, 94, 0.12) 0%, rgba(4, 42, 77, 0.72) 28%, rgba(3, 31, 59, 0.96) 100%) !important;
}

body.home .neo-site-footer .neo-footer-bottom {
    background: rgba(3, 31, 59, 0.34) !important;
}

@media (max-width: 767px) {
    body.home .neo-site-header .neo-header-main {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    body.home .neo-manual-logo {
        width: min(220px, 58vw);
    }
}

/* =============================================================
   CYCLE 08 — footer simplification + complete FAQ
   NEO-FOOTER-001 / NEO-FAQ-001 (staging only)
   ============================================================= */
.neo-footer-grid {
    grid-template-columns: minmax(280px, 1.1fr) minmax(360px, 1.55fr) !important;
    align-items: start;
    gap: clamp(36px, 6vw, 96px) !important;
}

.neo-footer-nav {
    align-self: center;
}

.neo-footer-nav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 10px 34px;
}

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

.neo-footer-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: #edf7ff !important;
    font-size: 15px !important;
    font-weight: 800;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
}

.neo-footer-nav a:hover,
.neo-footer-nav a:focus {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.neo-footer-compliance {
    border-left: 0 !important;
    padding-left: 0 !important;
    border-top-color: rgba(255, 95, 95, 0.36) !important;
}

.neo-faq-page {
    background:
        radial-gradient(circle at 18% 7%, rgba(129, 215, 255, 0.22), transparent 30%),
        radial-gradient(circle at 86% 24%, rgba(0, 213, 196, 0.10), transparent 31%),
        linear-gradient(180deg, #0b548b 0%, #0e72ae 44%, #0c6099 76%, #063763 100%);
    color: #f5fbff;
}

.neo-faq-hero {
    padding: clamp(44px, 7vw, 88px) 0 clamp(30px, 5vw, 56px);
}

.neo-faq-hero-grid,
.neo-faq-layout {
    display: grid;
    grid-template-columns: minmax(240px, 0.74fr) minmax(0, 1.26fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: start;
}

.neo-faq-eyebrow {
    margin: 0 0 10px;
    color: #aee7ff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.neo-faq-hero h1,
.neo-faq-section-head h2,
.neo-faq-support-card h2 {
    margin: 0;
    color: #ffffff;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.neo-faq-hero h1 {
    max-width: 760px;
    font-size: clamp(2.3rem, 5vw, 4.8rem);
}

.neo-faq-lede {
    max-width: 760px;
    margin: 18px 0 0;
    color: #e4f5ff;
    font-size: clamp(1.05rem, 1.6vw, 1.28rem);
    line-height: 1.65;
}

.neo-faq-ruo-card,
.neo-faq-item,
.neo-faq-support-card {
    border: 1px solid rgba(174, 231, 255, 0.20);
    background: rgba(4, 39, 73, 0.42);
    box-shadow: 0 18px 48px rgba(3, 31, 59, 0.18);
    backdrop-filter: blur(10px);
}

.neo-faq-ruo-card {
    border-left: 4px solid #ff6b6b;
    border-radius: 24px;
    padding: clamp(20px, 3vw, 30px);
}

.neo-faq-ruo-card strong {
    display: block;
    margin-bottom: 8px;
    color: #ffffff;
    font-size: 1rem;
}

.neo-faq-ruo-card p,
.neo-faq-item p,
.neo-faq-support-card p {
    margin: 0;
    color: #e3f3ff;
    line-height: 1.72;
}

.neo-faq-section {
    padding: clamp(36px, 6vw, 70px) 0;
}

.neo-faq-section--soft {
    background: rgba(5, 54, 94, 0.18);
}

.neo-faq-section-head {
    position: sticky;
    top: 112px;
}

.neo-faq-section-head h2 {
    font-size: clamp(1.65rem, 2.6vw, 2.55rem);
}

.neo-faq-list {
    display: grid;
    gap: 16px;
}

.neo-faq-item {
    border-radius: 22px;
    padding: clamp(20px, 3vw, 30px);
}

.neo-faq-item h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: clamp(1.02rem, 1.35vw, 1.22rem);
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.neo-faq-item a,
.neo-faq-support-link {
    color: #ffffff;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.neo-faq-support {
    padding: clamp(36px, 6vw, 76px) 0 clamp(56px, 8vw, 96px);
}

.neo-faq-support-card {
    display: block;
    border-radius: 28px;
    padding: clamp(24px, 4vw, 42px);
}

.neo-faq-support-card h2 {
    margin-bottom: 10px;
    font-size: clamp(1.45rem, 2.3vw, 2.2rem);
}

.neo-faq-support-link {
    display: inline-block;
    margin-top: 16px;
    color: #ffffff;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 767px) {
    .neo-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 42px 0 30px !important;
    }

    .neo-footer-nav {
        width: 100%;
    }

    .neo-footer-nav ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 18px;
    }

    .neo-footer-nav a {
        min-height: 34px;
        font-size: 14px !important;
    }

    .neo-faq-hero-grid,
    .neo-faq-layout {
        grid-template-columns: 1fr;
    }

    .neo-faq-section-head {
        position: static;
    }
}
