/* =========================================================================
   NRVE — WooCommerce styling
   Brands the Woo storefront (shop/archive, single product, cart, checkout,
   thank-you, my-account) to the NRVE identity and the shared width system
   (--nrve-measure content measure with consistent 5vw padding).
   ========================================================================= */

/* Layout wrappers --------------------------------------------------------- */
.woocommerce .nrve-section,
.woocommerce .nrve-shop-body { padding-block: clamp(40px,6vw,80px); }

/* Only cap .nrve-container when it's NOT the wide variant, so
   .nrve-container--wide can exceed the measure on Woo pages. */
.woocommerce .nrve-container:not(.nrve-container--wide),
.woocommerce-page .nrve-container:not(.nrve-container--wide) { max-width: var(--nrve-measure); margin-inline:auto; padding-inline:var(--nrve-pad); }

/* Store breadcrumb — black bar, white text, NRVE font ------------------- */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb {
    background: var(--nrve-black);
    color: #fff !important;
    max-width: none;
    margin: 0 0 0 !important;
    padding: 14px var(--nrve-pad);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce-page .woocommerce-breadcrumb a {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    transition: color .15s;
}
.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce-page .woocommerce-breadcrumb a:hover { color: #fff; }

/* Result count + sort dropdown bar -------------------------------------- */
.woocommerce .nrve-shop-body > .woocommerce-result-count,
.woocommerce-page .nrve-shop-body > .woocommerce-result-count,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--nrve-grey);
    margin: 0 0 20px;
    float: none;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    margin: 0 0 20px;
    float: none;
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select,
.woocommerce .orderby,
.woocommerce-page .orderby {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    border: 1px solid var(--nrve-border) !important;
    border-radius: 0 !important;
    color: var(--nrve-black) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 10px 36px 10px 14px !important;
    cursor: pointer;
    font-family: inherit;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px;
}

/* Shop / archive grid ---------------------------------------------------- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px !important;
    max-width: var(--nrve-measure);
    margin: 0 auto !important;
    background: var(--nrve-border); /* gap lines */
    border: 1px solid var(--nrve-border);
}
.woocommerce-page ul.products li.product {
    background: #fff;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    text-align: center; /* centered attributes + title + price */
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
    overflow: hidden;
    position: relative;
}
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .4);
    z-index: 2;
}

/* Sale flash = full-width bar across the top of the card image. */
.woocommerce ul.products li.product span.onsale{
    position:absolute!important;top:0!important;left:0!important;right:0!important;
    width:auto!important;min-width:0!important;border-radius:0!important;
    margin:0!important;padding:7px 10px!important;font-size:9px!important;
    text-align:center;z-index:3;
}

/* Card link wraps image + indicators + title + price (WooCommerce default).
   Make it a flex column so the image sits flush and content stacks below. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
    display:flex;flex-direction:column;color:inherit;text-decoration:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem !important;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--nrve-black) !important; /* solid black, never purple/visited */
    margin: 0 22px 6px !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product a.woocommerce-loop-product__title{
    color: var(--nrve-black) !important;
}
/* Image — slightly smaller, contained square crop on a soft panel. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
    margin: 22px auto 0 !important;
    width: calc(100% - 44px) !important;
    max-width: 180px !important;
    height: 180px !important;
    object-fit: contain !important;
    object-position: center;
    border: 0 !important;
    background: #f7f7f4;
    transition: transform .4s ease;
}
.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product:hover img.attachment-woocommerce_thumbnail {
    transform: scale(1.03);
}

/* Rating + price inside the link, centered. */
.woocommerce ul.products li.product .star-rating{ margin:0 auto 8px;color:#0b0b0b;float:none }
.woocommerce ul.products li.product .price {
    color: var(--nrve-black) !important;
    font-weight: 700;
    margin: 0 22px !important;
    padding-top: 4px;
    display:block;
}
.woocommerce ul.products li.product .price del { opacity: .45; }

/* Add-to-cart button is a SIBLING of the link (outside <a>) — full width. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ margin-bottom:16px }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    margin: 0 22px 22px !important;
    width: calc(100% - 44px);
    text-align: center;
    padding: 13px 18px !important;
}

/* Product indicators (purity + size) on archive cards — centered. */
.nrve-product-indicators{
    display:flex;gap:6px;flex-wrap:wrap;justify-content:center;
    margin:16px 22px 8px !important;
    padding:0;
}
.nrve-purity-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:#0b0b0b;color:#fff;font-size:10px;font-weight:800;
    letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;line-height:1;
}
.nrve-purity-dot{
    width:7px;height:7px;border-radius:50%;background:#1a7a4c;
    box-shadow:0 0 0 2px rgba(26,122,76,.3);
}
.nrve-purity-pill[data-purity="0"] .nrve-purity-dot{background:var(--nrve-grey);box-shadow:none}
.nrve-size-badge{
    display:inline-flex;align-items:center;
    border:1px solid var(--nrve-border);color:var(--nrve-black);
    font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    padding:4px 8px;line-height:1;
}

/* Research disclaimer under each loop item (sibling, after the button) */
.nrve-loop-disclaimer {
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--nrve-grey);
    margin: 0 22px 18px !important;
    padding-top: 0;
}

/* Single product ---------------------------------------------------------- */
.woocommerce div.product {
    max-width: var(--nrve-measure);
    margin-inline: auto;
    padding: clamp(40px,6vw,80px) var(--nrve-pad);
}
.woocommerce div.product .product_title,
.woocommerce div.product .product_title.entry-title {
    font-size: clamp(1.8rem,3.5vw,2.8rem) !important;
    line-height: 1;
    letter-spacing: -.035em;
    margin: 0 0 14px !important;
    font-weight: 800;
}
.woocommerce div.product div.images img { border: 1px solid var(--nrve-border); }
.woocommerce div.product .product_meta {
    border-top: 1px solid var(--nrve-border);
    padding-top: 20px;
    font-size: 12px;
    color: var(--nrve-grey);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.35rem !important;
    color: var(--nrve-black) !important;
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 14px; }

/* Spec panel: purity meter + size --------------------------------------- */
.nrve-spec-panel{
    border:1px solid var(--nrve-border);
    background:#fff;
    padding:18px;
    margin:8px 0 22px;
}
.nrve-spec-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nrve-spec{display:flex;flex-direction:column;gap:8px;min-width:0}
.nrve-spec-label{
    font-size:10px;font-weight:800;letter-spacing:.12em;
    text-transform:uppercase;color:var(--nrve-grey);
}
.nrve-spec-value{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}
.nrve-spec-value small{font-size:11px;font-weight:600;color:var(--nrve-grey)}
.nrve-spec-size{display:flex;align-items:baseline;gap:4px}

/* Variation attribute choice buttons (replaces the dropdown) ------------ */
.nrve-choice-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.nrve-variation-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.nrve-choice{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:54px;padding:10px 14px;
    background:#fff;border:1px solid var(--nrve-border);
    color:var(--nrve-black);font-size:12px;font-weight:700;letter-spacing:.01em;
    text-transform:none;cursor:pointer;border-radius:0;
    transition:border-color .15s,background .15s,color .15s;
}
.nrve-choice:hover{border-color:var(--nrve-black)}
.nrve-choice.is-selected{
    background:var(--nrve-black);border-color:var(--nrve-black);color:#fff;
}
/* Tighten the variation table so labels sit nicely above the buttons */
.woocommerce div.product form.cart .variations{margin-bottom:18px}
.woocommerce div.product form.cart .variations tr{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{display:block;text-align:left;padding:0;border:0}
.woocommerce div.product form.cart .variations label{
    font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--nrve-grey);
}

/* Purity meter bar */
.nrve-purity-meter{
    height:10px;width:100%;background:#efefe9;border:1px solid var(--nrve-border);
    position:relative;overflow:hidden;
}
.nrve-purity-meter-fill{
    height:100%;background:linear-gradient(90deg,#1a7a4c,#0b0b0b);
    transition:width .6s ease;
}

/* Product research disclaimer */
.nrve-product-disclaimer {
    background: #f7f7f4;
    border: 1px solid var(--nrve-border);
    border-left: 3px solid var(--nrve-black);
    padding: 16px 18px;
    font-size: 12px;
    line-height: 1.55;
    color: #444;
    margin: 22px 0;
}
.nrve-product-disclaimer strong { color: var(--nrve-black); }

/* Trust badges grid */
.nrve-trust-badges {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--nrve-border);
    border: 1px solid var(--nrve-border);
    margin: 28px 0;
}
.nrve-trust-badge {
    background: #fff;
    padding: 16px;
    display: flex;
    gap: 12px;
    align-items: center;
}
.nrve-trust-mark {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--nrve-black);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; flex-shrink: 0;
}
.nrve-trust-badge strong { display: block; font-size: 13px; }
.nrve-trust-badge small { color: var(--nrve-grey); font-size: 11px; }

/* Certifications / documentation ---------------------------------------- */
.nrve-certs{
    max-width:var(--nrve-measure);
    margin-inline:auto;
    padding:clamp(40px,6vw,70px) var(--nrve-pad);
    border-top:1px solid var(--nrve-border);
}
.nrve-certs-title{
    font-size:clamp(1.4rem,3vw,2rem)!important;
    letter-spacing:-.03em;font-weight:800;margin:0 0 6px;
}
.nrve-certs-sub{color:var(--nrve-grey);font-size:14px;margin:0 0 24px;max-width:560px}
.nrve-certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--nrve-border);border:1px solid var(--nrve-border)}
.nrve-cert{
    background:#fff;padding:18px;display:flex;gap:14px;align-items:center;
    text-decoration:none;color:var(--nrve-black);transition:background .15s;
}
.nrve-cert:hover{background:#f7f7f4;color:var(--nrve-black)}
.nrve-cert-icon{
    width:40px;height:40px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:#0b0b0b;color:#fff;
}
.nrve-cert-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nrve-cert-icon[data-type="hplc"] svg,
.nrve-cert-icon[data-type="ms"] svg{fill:none}
.nrve-cert-body strong{display:block;font-size:13px;font-weight:700;letter-spacing:-.01em}
.nrve-cert-body small{color:var(--nrve-grey);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.nrve-certs-foot{margin:20px 0 0;font-size:13px;color:var(--nrve-grey)}
.nrve-certs-foot a{color:var(--nrve-black);text-decoration:underline}

/* Buttons (global Woo buttons) — scoped to classic Woo pages only, NOT the
   Cart/Checkout blocks (which manage their own button styling via React).    */
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) button.button,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) a.button,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) input.button,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) #respond input#submit,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) a.added_to_cart {
    background: var(--nrve-black) !important;
    color: #fff !important;
    border-radius: 0 !important;
    text-transform: uppercase;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 15px 22px !important;
    transition: transform .2s, background .2s;
    line-height: 1;
}
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) button.button:hover,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) a.button:hover,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) input.button:hover,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) #respond input#submit:hover,
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) a.added_to_cart:hover {
    background: #333 !important;
    transform: translateY(-2px);
}
.woocommerce:not(.woocommerce-cart):not(.woocommerce-checkout) a.added_to_cart {
    background: transparent !important;
    color: var(--nrve-black) !important;
    border: 1px solid var(--nrve-border);
}
.woocommerce .quantity .qty {
    padding: 13px;
    border: 1px solid var(--nrve-border);
    border-radius: 0;
}

/* Notices + sale + tabs --------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
    border-radius: 0 !important;
    border-left: 3px solid var(--nrve-black) !important;
    background: #fff !important;
    padding: 16px 18px !important;
}
.woocommerce-error { border-left-color: #c0392b !important; }

.woocommerce span.onsale {
    border-radius: 0 !important;
    background: var(--nrve-black) !important;
    color: #fff !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 10px !important;
    padding: 6px 10px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1 !important;
    top: 12px !important;
    left: 12px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--nrve-black) !important;
    color: #fff !important;
    border-radius: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel { border: 1px solid var(--nrve-border); padding: 24px; }

/* Related products */
.woocommerce .related.products,
.woocommerce .up-sells.products {
    max-width: var(--nrve-measure);
    margin: 40px auto !important;
    padding: 0 var(--nrve-pad) 60px;
}
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 {
    font-size: clamp(1.4rem,3vw,2rem) !important;
    letter-spacing: -.03em;
    font-weight: 800;
    margin-bottom: 24px;
}

/* =========================================================================
   Cart / Checkout / My Account — NRVE themed
   Styles both the classic shortcode templates AND the WooCommerce blocks.
   ========================================================================= */
.woocommerce-cart .nrve-main .nrve-page-title,
.woocommerce-cart .nrve-main .entry-title,
.woocommerce-checkout .nrve-main .nrve-page-title,
.woocommerce-checkout .nrve-main .entry-title,
.woocommerce-account .nrve-main .nrve-page-title,
.woocommerce-account .nrve-main .entry-title { display: none !important; }

/* Page content wrapper — consistent width + padding */
.woocommerce-cart .nrve-main,
.woocommerce-checkout .nrve-main,
.woocommerce-account .nrve-main {
    max-width: var(--nrve-wide);
    margin-inline: auto;
    padding-block: clamp(30px,5vw,60px);
    padding-inline: var(--nrve-pad);
}

/* Headings on these pages */
.woocommerce-cart .entry-content h1,
.woocommerce-cart .entry-content h2,
.woocommerce-checkout .entry-content h1,
.woocommerce-checkout .entry-content h2,
.woocommerce-account .entry-content h1,
.woocommerce-account .entry-content h2 {
    font-size: clamp(1.4rem,3vw,2rem);
    letter-spacing: -.03em;
    font-weight: 800;
}

/* Form inputs — square corners, NRVE border */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-textarea,
.woocommerce-checkout .wc-block-components-address-form input,
.woocommerce-checkout .wc-block-components-address-form select,
.woocommerce-checkout .wc-block-components-state-input input,
.woocommerce-checkout .wc-block-components-country-input select,
.woocommerce-cart .wc-block-components-text-input input,
.woocommerce-cart .wc-block-components-textarea,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="url"],
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 1px solid var(--nrve-border) !important;
    border-radius: 0 !important;
    padding: 12px !important;
}

/* Block checkout buttons */
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-cart .wc-block-cart__submit-button {
    background: var(--nrve-black) !important;
    color: #fff !important;
    border-radius: 0 !important;
    text-transform: uppercase;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 16px 24px !important;
}
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: #333 !important;
}

/* Block checkout layout — two columns with gap */
.woocommerce-checkout .wp-block-woocommerce-checkout {
    display: block;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
    box-sizing: border-box;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
    border: 1px solid var(--nrve-border);
    background: #fff;
    padding: 24px;
}

/* Order summary headings */
.woocommerce-checkout .wc-block-components-order-summary__heading,
.woocommerce-cart .wc-block-components-order-summary__heading {
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 800;
    color: var(--nrve-grey);
}

/* Checkout / cart notices */
.woocommerce-checkout .wc-block-components-notices,
.woocommerce-cart .wc-block-components-notices {
    border-left: 3px solid var(--nrve-black);
    background: #fff;
    padding: 12px 16px;
}

/* =========================================================================
   My Account — NRVE themed (full width, same as other Woo pages)
   The .nrve-main wrapper already provides width + padding, so the .woocommerce
   inner wrapper just provides the flex layout.
   ========================================================================= */
.woocommerce-account .woocommerce {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Two-column layout: sidebar nav + content */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 260px;
    flex-shrink: 0;
}
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

/* Make the account wrapper a flex row (desktop) */
.woocommerce-account .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    align-items: flex-start;
}

/* Navigation sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid var(--nrve-border);
    background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--nrve-border);
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    background: var(--nrve-black);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 16px;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--nrve-black);
    text-decoration: none;
    transition: background .15s, color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover {
    background: #f7f7f4;
}

/* Account content */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: clamp(1.2rem,2.5vw,1.6rem);
    letter-spacing: -.025em;
    margin: 0 0 14px;
    font-weight: 800;
}
.woocommerce-account .button,
.woocommerce-account a.button {
    background: var(--nrve-black) !important;
    color: #fff !important;
    text-transform: uppercase;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 12px 18px !important;
    border-radius: 0 !important;
}
.woocommerce-account .button:hover,
.woocommerce-account a.button:hover {
    background: #333 !important;
    color: #fff !important;
}
.woocommerce-account table {
    border: 1px solid var(--nrve-border);
}
.woocommerce-account table th { background: #f7f7f4; color: var(--nrve-black); }
.woocommerce-account .woocommerce-Addresses .title h3 { font-size: 1.1rem; }
.woocommerce-account .woocommerce-Address { border: 1px solid var(--nrve-border); padding: 18px; background: #fff; }

/* Login / register forms */
.woocommerce-form-login,
.woocommerce-form-register {
    max-width: 480px;
    margin-inline: auto;
    border: 1px solid var(--nrve-border);
    background: #fff;
    padding: 30px;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { display: block; }

/* Thank-you banner (branded) */
.nrve-thankyou-banner {
    background: var(--nrve-black);
    color: #fff;
    padding: 50px var(--nrve-pad);
    margin-bottom: 40px;
    text-align: center;
}
.nrve-thankyou-banner .nrve-eyebrow { color: #999; }
.nrve-thankyou-banner h2 {
    color: #fff;
    font-size: clamp(1.6rem,4vw,2.6rem);
    letter-spacing: -.035em;
    margin: 12px 0;
}
.nrve-thankyou-banner .nrve-copy { color: #bbb; max-width: 560px; margin: 0 auto; }

/* Checkout research notice (classic shortcode only) */
.nrve-checkout-notice {
    background: #f7f7f4;
    border: 1px solid var(--nrve-border);
    border-left: 3px solid var(--nrve-black);
    padding: 14px 16px;
    font-size: 12px;
    color: #444;
    margin: 16px 0;
}
.nrve-checkout-notice strong { color: var(--nrve-black); }

/* Pagination -------------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border: 1px solid var(--nrve-border) !important;
    border-radius: 0 !important;
    color: var(--nrve-black) !important;
    font-weight: 700;
    min-width: 42px;
    padding: 12px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--nrve-black) !important;
    color: #fff !important;
}
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; }

/* No-results / empty states ---------------------------------------------- */
.woocommerce-no-products-found p,
.woocommerce-info { color: var(--nrve-grey); }

/* Responsive -------------------------------------------------------------- */
@media (max-width: 980px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
    /* My Account collapses to a single column */
    .woocommerce-account .woocommerce,
    .woocommerce-account .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content {
        flex-direction: column;
        gap: 24px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid var(--nrve-border);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        border-bottom: 0;
        border-right: 1px solid var(--nrve-border);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 12px 14px; }
}
/* Phones — single-column product grid */
@media (max-width: 780px) {
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
    .nrve-trust-badges { grid-template-columns: 1fr; }
    .nrve-spec-row{ grid-template-columns:1fr }
    .woocommerce div.product .product_title,
    .woocommerce div.product .product_title.entry-title {
        font-size: clamp(1.6rem,8vw,2.4rem) !important;
    }
}
