/*
Theme Name:  Happy Nectar
Version:     1.0.0
Template:    nectar-blocks-theme
Description: Custom theme by Happy Design Co.
Theme URI:   https://happydesigncompany.com
Author:      Happy Design Co.
Author URI:  https://happydesigncompany.com
Text Domain: happy-nectar
*/

/*-------------------------------------------------------------------------*/
/* Note: The theme CSS files are loaded through the /css/ folder.
/*-------------------------------------------------------------------------*/

:root {
    --nectar-dropdown-padding: 10px;
}

/* ==========================================================================
   SPACESHIP EARTH COFFEE CO. — WooCommerce Dark Theme Overrides
   For: Salient / Nectar theme + WooCommerce
   Uses existing CSS custom properties from Nectar global colors:
     --dark:          #0b0e14  (background)
     --light:         #f0ece3  (primary text)
     --accentPrimary: #00f0b5  (neon green — CTAs, links, active)
     --accentDark:    #ff6b35  (electric orange — alerts, badges, sale)
     --accentLight:   #b366ff  (neon purple — tags, secondary, hover)
     --nectar-gc-N4DSDsB94F: #b8b2a6  (muted text)
     --nectar-gc-jRkoIpyGcU: #141821  (surface)
     --nectar-gc-xqV56LDsR3: #1e2330  (elevated surface)
   ========================================================================== */


/* --------------------------------------------------------------------------
   0a. WOOCOMMERCE CORE CSS VARIABLE OVERRIDES
   WooCommerce uses these internally for buttons, badges, form styling, etc.
   Remapping them to our dark palette so any WC template or block that
   references these variables gets the right colors automatically.
   -------------------------------------------------------------------------- */

:root {
    /* Brand / primary — neon green */
    --woocommerce:          var(--accentPrimary);
    --wc-primary:           var(--accentPrimary);
    --wc-primary-text:      var(--dark);

    /* Status colors — mapped to our neon accents */
    --wc-green:             var(--accentPrimary);
    --wc-red:               var(--accentDark);
    --wc-orange:            #ffba00;
    --wc-blue:              var(--accentLight);

    /* Secondary (muted buttons, inactive tabs) */
    --wc-secondary:         var(--nectar-gc-xqV56LDsR3);
    --wc-secondary-text:    var(--light);

    /* Highlight (sale badges, special callouts) */
    --wc-highlight:         var(--accentDark);
    --wc-highligh-text:     var(--dark);

    /* Content backgrounds + subtext */
    --wc-content-bg:        var(--nectar-gc-jRkoIpyGcU);
    --wc-subtext:           var(--nectar-gc-N4DSDsB94F);

    /* Form controls */
    --wc-form-border-color: rgba(240, 236, 227, 0.12);
    --wc-form-border-radius: 6px;
    --wc-form-border-width: 1px;
    --wc-form-color-background: var(--nectar-gc-xqV56LDsR3);
    --wc-form-color-text:   var(--light);
}


/* --------------------------------------------------------------------------
   0. SHARED FOUNDATIONS
   -------------------------------------------------------------------------- */

/* Muted text utility — use on secondary labels, meta, etc. */
.woocommerce .price del,
.woocommerce-page .price del,
.woocommerce .stock,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce-page .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb a {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* Links — neon green, purple hover */
.woocommerce a,
.woocommerce-page a,
.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--accentPrimary);
    transition: color 0.2s ease;
}

.woocommerce a:hover,
.woocommerce-page a:hover {
    color: var(--accentLight);
}


/* --------------------------------------------------------------------------
   1. SHOP / PRODUCT ARCHIVE
   -------------------------------------------------------------------------- */

/* Product cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    padding: 1rem;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: var(--accentPrimary);
    box-shadow: 0 0 20px rgba(0, 240, 181, 0.08);
}

/* Product titles on archive */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    color: var(--light);
}

/* Prices */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price ins .amount {
    color: var(--accentPrimary);
}

/* Sale badge */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    background: var(--accentDark);
    color: var(--dark);
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 4px;
}

/* Add to Cart button (archive) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
    background: transparent;
    color: var(--accentPrimary);
    border: 1px solid var(--accentPrimary);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-size: 0.8rem;
    padding: 0.6rem 1.2rem;
    transition: all 0.25s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover {
    background: var(--accentPrimary);
    color: var(--dark);
    box-shadow: 0 0 16px rgba(0, 240, 181, 0.25);
}

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
    color: var(--accentDark);
}

/* Sorting / ordering dropdown */
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-family: "Satoshi", sans-serif;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--nectar-gc-jRkoIpyGcU);
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--accentPrimary);
    border-color: var(--accentPrimary);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--accentPrimary);
    color: var(--dark);
    border-color: var(--accentPrimary);
}


/* --------------------------------------------------------------------------
   2. SINGLE PRODUCT PAGE
   -------------------------------------------------------------------------- */

/* Product title */
.woocommerce div.product .product_title,
.woocommerce div.product h1 {
    color: var(--light);
}

/* Product subtitle (single) */
.woocommerce div.product .se-product-subtitle {
    font-family: "Satoshi", sans-serif;
    color: #d1a1ff;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0.4rem 0 1.25rem;
    line-height: 1.5;
    opacity: 0.85;
}
.woocommerce div.product .se-product-subtitle::before {
    content: "— ";
    color: var(--accentPrimary);
    font-weight: 700;
}

/* Product subtitle (archive loop) */
.woocommerce ul.products li.product .se-product-subtitle-loop {
    font-family: "Satoshi", sans-serif;
    color: #d1a1ff;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    margin: 0.2rem 0 0.5rem;
    line-height: 1.4;
    opacity: 0.75;
    white-space:normal;
}
.woocommerce ul.products li.product .se-product-subtitle-loop::before {
    content: "— ";
    color: var(--accentPrimary);
    font-weight: 700;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price .amount,
.woocommerce div.product span.price .amount,
.woocommerce div.product p.price ins .amount {
    color: var(--accentPrimary);
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p {
    color: var(--light);
}

/* Variation selects (size, frequency, etc.) */
.woocommerce div.product .variations select,
.woocommerce div.product .variations .value select {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    font-family: "Satoshi", sans-serif;
}

.woocommerce div.product .variations select:focus {
    border-color: var(--accentPrimary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
}

.woocommerce div.product .variations label,
.woocommerce div.product .variations .label label {
    color: var(--light);
    font-family: "Satoshi", sans-serif;
    font-weight: 300;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Variation description + price update */
.woocommerce div.product .woocommerce-variation-description p,
.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .amount {
    color: var(--accentPrimary);
}

/* Quantity input */
.woocommerce div.product .quantity .qty,
.woocommerce .quantity .qty {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    text-align: center;
}

.woocommerce .quantity .qty:focus {
    border-color: var(--accentPrimary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
}

/* Add to Cart — primary CTA (single product) */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.85rem 2rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.woocommerce div.product .single_add_to_cart_button:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
    transform: translateY(-1px);
}

/* Product meta (SKU, categories, tags) */
.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta span,
.woocommerce div.product .product_meta a {
    color: var(--nectar-gc-N4DSDsB94F);
}

.woocommerce div.product .product_meta a:hover {
    color: var(--accentPrimary);
}

/* Tabs (Description, Additional Info, Reviews) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: transparent;
    border-bottom: 1px solid var(--nectar-gc-xqV56LDsR3);
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent;
    border: none;
    border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--nectar-gc-N4DSDsB94F);
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.75rem 1.25rem;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--accentPrimary);
    border-bottom-color: var(--accentPrimary);
}

/* Tab panels */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: transparent;
    color: var(--light);
    border: none;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    color: var(--light);
}

/* Product image gallery — subtle border */
.woocommerce div.product div.images {
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
    border-radius: 8px;
}

/* Related products heading */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
    color: var(--light);
}


/* --------------------------------------------------------------------------
   3. CART
   -------------------------------------------------------------------------- */

/* Cart table */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce table.shop_table th {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--nectar-gc-N4DSDsB94F);
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce table.shop_table td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

/* Product name in cart */
.woocommerce table.shop_table td.product-name a {
    color: var(--light);
    font-weight: 700;
}

.woocommerce table.shop_table td.product-name a:hover {
    color: var(--accentPrimary);
}

/* Variation details in cart (size, frequency, grind) */
.woocommerce table.shop_table td.product-name .variation,
.woocommerce table.shop_table td.product-name dl.variation dt,
.woocommerce table.shop_table td.product-name dl.variation dd {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* Cart item price + subtotal */
.woocommerce table.shop_table td.product-price .amount,
.woocommerce table.shop_table td.product-subtotal .amount {
    color: var(--accentPrimary);
}

/* Remove item (×) */
.woocommerce table.shop_table td.product-remove a.remove {
    color: var(--accentDark) !important;
    font-size: 1.4rem;
}

.woocommerce table.shop_table td.product-remove a.remove:hover {
    background: var(--accentDark);
    color: var(--dark) !important;
}

/* Coupon input */
.woocommerce .cart .coupon .input-text,
.woocommerce-page .cart .coupon .input-text {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    padding: 0.6rem 0.75rem;
}

.woocommerce .cart .coupon .input-text:focus {
    border-color: var(--accentPrimary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
}

.woocommerce .cart .coupon .input-text::placeholder {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* Apply coupon + Update cart — secondary buttons */
.woocommerce .cart .coupon .button,
.woocommerce button[name="update_cart"] {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.65rem 1.2rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.woocommerce .cart .coupon .button:hover,
.woocommerce button[name="update_cart"]:hover {
    background: var(--nectar-gc-jRkoIpyGcU);
    border-color: var(--accentPrimary);
    color: var(--accentPrimary);
}

/* Cart totals */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    padding: 1.5rem;
}

.woocommerce .cart_totals h2 {
    color: var(--light);
}

.woocommerce .cart_totals table th {
    color: var(--nectar-gc-N4DSDsB94F);
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce .cart_totals table td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce .cart_totals .order-total .amount {
    color: var(--accentPrimary);
    font-weight: 700;
    font-size: 1.15rem;
}

/* Proceed to Checkout — primary CTA */
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 1rem 2rem;
    display: block;
    text-align: center;
    transition: all 0.25s ease;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
    transform: translateY(-1px);
    color: var(--dark);
}

/* Shipping calculator */
.woocommerce .cart_totals .shipping-calculator-button {
    color: var(--accentPrimary);
    font-size: 0.85rem;
}

.woocommerce .shipping-calculator-form select,
.woocommerce .shipping-calculator-form .input-text {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
}

/* Empty cart message */
.woocommerce .cart-empty,
.woocommerce-page .cart-empty {
    color: var(--nectar-gc-N4DSDsB94F);
}

.woocommerce .return-to-shop a.button {
    background: var(--accentPrimary);
    color: var(--dark);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}


/* --------------------------------------------------------------------------
   4. CHECKOUT
   -------------------------------------------------------------------------- */

/* Form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container--default .select2-selection--single {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
:where(.woocommerce) .select2-container .select2-selection--single .select2-selection__rendered {
    padding:0;
}

.select2-container--default .select2-results__option {

}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--accentPrimary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
}

.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* Labels */
.woocommerce form .form-row label {
    color: var(--light);
}

.woocommerce form .form-row label .required {
    color: var(--accentDark);
}

/* Select2 dropdown (country/state) — single select */
.select2-container--default .select2-selection--single {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    height: 42px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--light);
    line-height: 40px;
    padding-left: 12px;
    font-family: "Satoshi", sans-serif;
    font-size: 0.95rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--nectar-gc-N4DSDsB94F);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
    right: 6px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--nectar-gc-N4DSDsB94F) transparent transparent transparent;
    border-width: 5px 4px 0 4px;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--accentPrimary) transparent;
    border-width: 0 4px 5px 4px;
}

/* Focus / open state */
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--accentPrimary);
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
    outline: none;
}

/* Multiple select */
.select2-container--default .select2-selection--multiple {
    background: var(--nectar-gc-xqV56LDsR3);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    min-height: 42px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--accentPrimary);
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
    outline: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: rgba(0, 240, 181, 0.1);
    border: 1px solid rgba(0, 240, 181, 0.25);
    border-radius: 4px;
    color: var(--accentPrimary);
    font-family: "Satoshi", sans-serif;
    font-size: 0.85rem;
    padding: 2px 8px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--nectar-gc-N4DSDsB94F);
    margin-right: 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--accentDark);
}

/* Dropdown panel */
.select2-dropdown {
    background: var(--nectar-gc-xqV56LDsR3);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Search field inside dropdown */
.select2-search--dropdown {
    padding: 8px;
    background: var(--nectar-gc-jRkoIpyGcU);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 4px;
    padding: 6px 10px;
    font-family: "Satoshi", sans-serif;
    font-size: 0.9rem;
    outline: none;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--accentPrimary);
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.15);
}

.select2-container--default .select2-search--dropdown .select2-search__field::placeholder {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* Results list */
.select2-container--default .select2-results__option {
    color: var(--light);
    padding: 8px 12px;
    font-family: "Satoshi", sans-serif;
    font-size: 0.9rem;
    transition: background 0.15s ease;
}

/* Hover / keyboard highlight */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background: var(--accentPrimary);
    color: var(--dark);
}

/* Already selected option */
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
    background: rgba(0, 240, 181, 0.08);
    color: var(--accentPrimary);
}

/* Disabled option */
.select2-container--default .select2-results__option[aria-disabled="true"] {
    color: var(--nectar-gc-N4DSDsB94F);
    opacity: 0.5;
}

/* Group heading inside dropdown */
.select2-container--default .select2-results__group {
    color: var(--nectar-gc-N4DSDsB94F);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 8px 12px 4px;
}

/* Disabled container */
.select2-container--default.select2-container--disabled .select2-selection--single {
    background: var(--nectar-gc-jRkoIpyGcU);
    opacity: 0.5;
    cursor: not-allowed;
}

/* Inline search (multiple) */
.select2-container--default .select2-search--inline .select2-search__field {
    background: transparent;
    color: var(--light);
    font-family: "Satoshi", sans-serif;
}

/* Close mask — keep transparent on dark */
.select2-close-mask {
    background-color: transparent;
}

/* --------------------------------------------------------------------------
   SALIENT SPECIFICITY OVERRIDES — Select2
   Salient prepends body[data-form-select-js="1"] to its Select2 rules,
   which beats our class-only selectors. Match that specificity here.
   -------------------------------------------------------------------------- */

/* Rendered text in closed select */
body[data-form-select-js="1"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--light) !important;
    font-family: "Satoshi", sans-serif;
}

/* Placeholder */
body[data-form-select-js="1"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--nectar-gc-N4DSDsB94F) !important;
}

/* Selection box background */
body[data-form-select-js="1"] .select2-container--default .select2-selection--single {
    background: var(--nectar-gc-xqV56LDsR3) !important;
    border-color: rgba(240, 236, 227, 0.12) !important;
}

/* Open / focus state */
body[data-form-select-js="1"] .select2-container--default.select2-container--open .select2-selection--single,
body[data-form-select-js="1"] .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--accentPrimary) !important;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2) !important;
}

/* Ordering select — hover + open */
body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default:hover .select2-selection--single .select2-selection__rendered,
body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered {
    color: var(--light) !important;
}

/* Dropdown panel */
body[data-form-select-js="1"] .select2-dropdown {
    background: var(--nectar-gc-xqV56LDsR3) !important;
    border-color: rgba(240, 236, 227, 0.12) !important;
}

/* Normal options */
body[data-form-select-js="1"] .select2-container--default .select2-results__option {
    color: var(--light) !important;
}

/* Highlighted option (hover / keyboard) — dark text on neon green */
body[data-form-select-js="1"] .select2-container--default .select2-results__option--highlighted[aria-selected],
body[data-form-select-js="1"] .select2-container--default .select2-results__option--highlighted[data-selected] {
    background: var(--accentPrimary) !important;
    color: var(--dark) !important;
}

/* Already selected option */
body[data-form-select-js="1"] .select2-container--default .select2-results__option[aria-selected="true"],
body[data-form-select-js="1"] .select2-container--default .select2-results__option[data-selected="true"] {
    background: rgba(0, 240, 181, 0.08) !important;
    color: var(--accentPrimary) !important;
}

/* Search field inside dropdown */
body[data-form-select-js="1"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--nectar-gc-xqV56LDsR3) !important;
    color: var(--light) !important;
    border-color: rgba(240, 236, 227, 0.12) !important;
}

body[data-form-select-js="1"] .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--accentPrimary) !important;
}

/* Arrow color */
body[data-form-select-js="1"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--nectar-gc-N4DSDsB94F) transparent transparent transparent !important;
}

body[data-form-select-js="1"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--accentPrimary) transparent !important;
}

/* Checkout sections */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    color: var(--light);
}


/* Order review table */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
    color: var(--light);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    color: var(--nectar-gc-N4DSDsB94F);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
    color: var(--accentPrimary);
    font-weight: 700;
}

/* Payment methods */
.woocommerce-checkout #payment {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: transparent;
    color: var(--light);
}

.woocommerce-checkout #payment ul.payment_methods li label {
    color: var(--light);
}

.woocommerce-checkout #payment div.payment_box {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--nectar-gc-N4DSDsB94F);
    border-radius: 6px;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--nectar-gc-xqV56LDsR3);
}

/* Place Order — primary CTA */
.woocommerce-checkout #payment #place_order,
.woocommerce #place_order {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 1rem 2.5rem;
    cursor: pointer;
    transition: all 0.25s ease;
    width: 100%;
}

.woocommerce-checkout #payment #place_order:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
    transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   CUSTOM RADIO + CHECKBOX — Global WooCommerce
   Hides native inputs, replaces with styled pseudo-elements.
   Neon green fill, rounded-square checkboxes, pill radios.
   -------------------------------------------------------------------------- */

/* --- Base: hide native inputs, set up layout --- */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"],
.woocommerce-page input[type="checkbox"],
.woocommerce-page input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 2px solid var(--nectar-gc-N4DSDsB94F);
    background: var(--nectar-gc-xqV56LDsR3);
    cursor: pointer;
    position: relative;
    top: 3px;
    margin-right: 0.5rem;
    transition: all 0.2s ease;
}

/* --- Checkbox: rounded square --- */
.woocommerce input[type="checkbox"],
.woocommerce-page input[type="checkbox"] {
    border-radius: 4px;
}

.woocommerce input[type="checkbox"]:checked,
.woocommerce-page input[type="checkbox"]:checked {
    background: var(--accentPrimary);
    border-color: var(--accentPrimary);
}

/* Checkmark via pseudo-element */
.woocommerce input[type="checkbox"]:checked::after,
.woocommerce-page input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid var(--dark);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* --- Radio: circle --- */
.woocommerce input[type="radio"],
.woocommerce-page input[type="radio"] {
    border-radius: 50%;
}

.woocommerce input[type="radio"]:checked,
.woocommerce-page input[type="radio"]:checked {
    border-color: var(--accentPrimary);
    background: var(--nectar-gc-xqV56LDsR3);
}

/* Inner dot via pseudo-element */
.woocommerce input[type="radio"]:checked::after,
.woocommerce-page input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accentPrimary);
}

/* --- Hover + focus states --- */
.woocommerce input[type="checkbox"]:hover,
.woocommerce input[type="radio"]:hover,
.woocommerce-page input[type="checkbox"]:hover,
.woocommerce-page input[type="radio"]:hover {
    border-color: var(--accentPrimary);
}

.woocommerce input[type="checkbox"]:focus-visible,
.woocommerce input[type="radio"]:focus-visible,
.woocommerce-page input[type="checkbox"]:focus-visible,
.woocommerce-page input[type="radio"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.25);
}
.woocommerce form .form-row .input-checkbox {
    display:inline-block;
}
/* --- Label alignment for shipping methods + payment --- */
.woocommerce-checkout .woocommerce-shipping-methods label,
.woocommerce-checkout #payment ul.payment_methods li label {
    color: var(--light);
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}


/* --------------------------------------------------------------------------
   5. MY ACCOUNT
   -------------------------------------------------------------------------- */

/* Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--nectar-gc-xqV56LDsR3);
}

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

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: var(--nectar-gc-N4DSDsB94F);
    padding: 0.85rem 1.25rem;
    display: block;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
    transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--light);
    background: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--accentPrimary);
    background: var(--nectar-gc-xqV56LDsR3);
    border-left: 3px solid var(--accentPrimary);
}

/* Content area */
.woocommerce-account .woocommerce-MyAccount-content {
    color: var(--light);
}

.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content span {
    color: var(--light);
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.woocommerce-orders-table {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-account .woocommerce-orders-table th {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--nectar-gc-N4DSDsB94F);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-account .woocommerce-orders-table td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-account .woocommerce-orders-table td .button {
    background: transparent;
    color: var(--accentPrimary);
    border: 1px solid var(--accentPrimary);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.35rem 0.75rem;
    transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-orders-table td .button:hover {
    background: var(--accentPrimary);
    color: var(--dark);
}

/* Addresses */
.woocommerce-account .woocommerce-address-fields address,
.woocommerce-account .addresses address {
    color: var(--light);
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    padding: 1.25rem;
}

/* Edit account / address form fields */
.woocommerce-account .woocommerce-EditAccountForm input.woocommerce-Input,
.woocommerce-account .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-address-fields select {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    padding: 0.7rem 0.85rem;
}

/* Save button (my account forms) */
.woocommerce-account button.woocommerce-Button,
.woocommerce-account input.woocommerce-Button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.85rem 2rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.woocommerce-account button.woocommerce-Button:hover,
.woocommerce-account input.woocommerce-Button:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
}

/* Login / Register forms */
.woocommerce form.login,
.woocommerce form.register {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    padding: 2rem;
}

.woocommerce form.login h2,
.woocommerce form.register h2 {
    color: var(--light);
}

.woocommerce form.login .form-row label,
.woocommerce form.register .form-row label {
    color: var(--light);
}

.woocommerce form.login .button,
.woocommerce form.register .button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.85rem 2rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
}

/* Lost password link */
.woocommerce form.login .lost_password a {
    color: var(--accentPrimary);
    font-size: 0.85rem;
}


/* --------------------------------------------------------------------------
   6. WCS — SUBSCRIPTION-SPECIFIC
   -------------------------------------------------------------------------- */

/* Subscription table in My Account */
.woocommerce-account table.my_account_subscriptions {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-account table.my_account_subscriptions th {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--nectar-gc-N4DSDsB94F);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-account table.my_account_subscriptions td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

/* Subscription status badges */
.woocommerce-account table.my_account_subscriptions td .subscription-status {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
}

/* Active status */
.woocommerce-account .subscription-status.active,
.woocommerce-account .woocommerce-orders-table .order-status.wc-active {
    background: rgba(0, 240, 181, 0.12);
    color: var(--accentPrimary);
}

/* On-hold / pending */
.woocommerce-account .subscription-status.on-hold {
    background: rgba(179, 102, 255, 0.12);
    color: var(--accentLight);
}

/* Cancelled / expired */
.woocommerce-account .subscription-status.cancelled,
.woocommerce-account .subscription-status.expired {
    background: rgba(255, 107, 53, 0.12);
    color: var(--accentDark);
}

/* View Subscription detail page */
.woocommerce-account .woocommerce-subscription-details table {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
}

.woocommerce-account .woocommerce-subscription-details table th {
    color: var(--nectar-gc-N4DSDsB94F);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce-account .woocommerce-subscription-details table td {
    color: var(--light);
    border-color: var(--nectar-gc-xqV56LDsR3);
}

/* Subscription action buttons (Suspend, Cancel, Change Payment) */
.woocommerce-account .subscription_details .button,
.woocommerce-account .order-actions .button {
    background: transparent;
    color: var(--accentPrimary);
    border: 1px solid var(--accentPrimary);
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.45rem 0.9rem;
    transition: all 0.2s ease;
}

.woocommerce-account .subscription_details .button:hover,
.woocommerce-account .order-actions .button:hover {
    background: var(--accentPrimary);
    color: var(--dark);
}

/* Cancel button — orange destructive */
.woocommerce-account .subscription_details .button.cancel,
.woocommerce-account a.button.cancel {
    color: var(--accentDark);
    border-color: var(--accentDark);
}

.woocommerce-account .subscription_details .button.cancel:hover,
.woocommerce-account a.button.cancel:hover {
    background: var(--accentDark);
    color: var(--dark);
}


/* --------------------------------------------------------------------------
   7. NOTICES & MESSAGES
   -------------------------------------------------------------------------- */

/* Success (added to cart, order placed) */
.woocommerce-message,
.woocommerce-info {
    background: var(--nectar-gc-jRkoIpyGcU)!important;
    color: var(--light)!important;
    border-top-color: var(--accentPrimary)!important;
    border-radius:8px!important;
}
.woocommerce .woocommerce-error a, .woocommerce .woocommerce-info a {
    color:var(--accentPrimary)!important;
}
.woocommerce-message::before {
    color: var(--accentPrimary);
}

.woocommerce-info::before {
    color: var(--accentLight);
}

.woocommerce-info {
    border-top-color: var(--accentLight);
}

/* Error */
.woocommerce-error {
    background: var(--nectar-gc-jRkoIpyGcU);
    color: var(--light);
    border-top-color: var(--accentDark);
    border-radius: 0 0 8px 8px;
}

.woocommerce-error::before {
    color: var(--accentDark);
}

/* Buttons inside notices */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    background: transparent;
    color: var(--accentPrimary);
    border: 1px solid var(--accentPrimary);
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
    background: var(--accentPrimary);
    color: var(--dark);
}


/* --------------------------------------------------------------------------
   8. ORDER RECEIVED / THANK YOU
   -------------------------------------------------------------------------- */

.woocommerce-order-received .woocommerce-order h2,
.woocommerce-order-received .woocommerce-order-overview li strong {
    color: var(--light);
}

.woocommerce-order-received .woocommerce-order-overview {
    color: var(--nectar-gc-N4DSDsB94F);
}

.woocommerce-order-received .woocommerce-order-details table,
.woocommerce-order-received .woocommerce-customer-details address {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 1px solid var(--nectar-gc-xqV56LDsR3);
    border-radius: 8px;
    color: var(--light);
}


/* --------------------------------------------------------------------------
   9. MINI CART / WIDGET
   -------------------------------------------------------------------------- */

.widget_shopping_cart,
.woocommerce .widget_shopping_cart {
    background: var(--nectar-gc-jRkoIpyGcU);
    color: var(--light);
}

.woocommerce .widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .cart_list li {
    border-bottom-color: var(--nectar-gc-xqV56LDsR3);
}

.woocommerce .widget_shopping_cart .cart_list li a {
    color: var(--light);
}

.woocommerce .widget_shopping_cart .cart_list li .amount {
    color: var(--accentPrimary);
}

.woocommerce .widget_shopping_cart .total {
    border-top-color: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
}

.woocommerce .widget_shopping_cart .total .amount {
    color: var(--accentPrimary);
}

.woocommerce .widget_shopping_cart .buttons a.button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Salient slide-out cart */
#slide-out-widget-area .widget_shopping_cart {
    background: var(--nectar-gc-jRkoIpyGcU);
}

#slide-out-widget-area .widget_shopping_cart .cart_list li a {
    color: var(--light);
}


/* --------------------------------------------------------------------------
   10. GLOBAL WOOCOMMERCE BUTTON RESET
   Catch-all for any WooCommerce buttons not covered above.
   -------------------------------------------------------------------------- */

.woocommerce .button,
.woocommerce-page .button,
.woocommerce input.button,
.woocommerce button.button {
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
    border-radius: 6px;
    transition: all 0.2s ease;
    cursor: pointer;
}

/* Primary buttons (alt) */
.woocommerce .button.alt,
.woocommerce-page .button.alt,
.woocommerce input.button.alt,
.woocommerce button.button.alt {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
}

.woocommerce .button.alt:hover,
.woocommerce-page .button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: #00d9a3;
    box-shadow: 0 0 24px rgba(0, 240, 181, 0.3);
    color: var(--dark);
}

/* Disabled state */
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce .button[disabled],
.woocommerce input.button:disabled {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--nectar-gc-N4DSDsB94F);
    border-color: transparent;
    cursor: not-allowed;
    opacity: 0.6;
    box-shadow: none;
    transform: none;
}

/* Loading state */
.woocommerce .blockUI.blockOverlay {
    background: var(--dark) !important;
    opacity: 0.6 !important;
}

.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before {
    border-color: var(--accentPrimary) transparent transparent transparent;
}


/* ==========================================================================
   11. GRAVITY FORMS — Dark Theme
   Covers form wrapper, fields, labels, inputs, textareas, selects,
   checkboxes, radios, file uploads, progress bars, validation, and buttons.
   ========================================================================== */

/* --- Form wrapper --- */
.gform_wrapper.gravity-theme {
    color: var(--light);
}

/* --- Labels --- */
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gfield_header_title,
.gform_wrapper.gravity-theme legend.gfield_label {
    color: var(--light);
    font-family: "Satoshi", sans-serif;
    font-weight: 600;
}

/* Sub-labels (below split fields like name/address) */
.gform_wrapper.gravity-theme .gform-field-label--type-sub {
    color: var(--nectar-gc-N4DSDsB94F);
    font-family: "Satoshi", sans-serif;
    font-size: 0.8rem;
}

/* Required asterisk */
.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper.gravity-theme .gfield_required_asterisk {
    color: var(--accentDark) !important;
}

/* Description text */
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .instruction {
    color: var(--nectar-gc-N4DSDsB94F);
    font-family: "Satoshi", sans-serif;
    font-size: 0.85rem;
}

/* Section break */
.gform_wrapper.gravity-theme .gsection .gsection_title {
    color: var(--light);
    font-family: "Space Grotesk", sans-serif;
    border-bottom-color: rgba(240, 236, 227, 0.1);
}

.gform_wrapper.gravity-theme .gsection .gsection_description {
    color: var(--nectar-gc-N4DSDsB94F);
}

/* --- Text inputs, textareas, selects --- */
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    padding: 0.7rem 0.9rem;
    font-family: "Satoshi", sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper.gravity-theme input[type="text"]:focus,
.gform_wrapper.gravity-theme input[type="email"]:focus,
.gform_wrapper.gravity-theme input[type="tel"]:focus,
.gform_wrapper.gravity-theme input[type="url"]:focus,
.gform_wrapper.gravity-theme input[type="number"]:focus,
.gform_wrapper.gravity-theme input[type="password"]:focus,
.gform_wrapper.gravity-theme input[type="date"]:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme select:focus {
    border-color: var(--accentPrimary);
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.2);
    outline: none;
}

/* Placeholder */
.gform_wrapper.gravity-theme input::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder {
    color: var(--nectar-gc-N4DSDsB94F);
    opacity: 0.7;
}

/* --- Checkboxes + Radios (custom styled) --- */
.gform_wrapper.gravity-theme input[type="checkbox"],
.gform_wrapper.gravity-theme input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 2px solid var(--nectar-gc-N4DSDsB94F);
    background: var(--nectar-gc-xqV56LDsR3);
    cursor: pointer;
    position: relative;
    top: 3px;
    margin-right: 0.5rem;
    transition: all 0.2s ease;
}

.gform_wrapper.gravity-theme input[type="checkbox"] {
    border-radius: 4px;
}

.gform_wrapper.gravity-theme input[type="checkbox"]:checked {
    background: var(--accentPrimary);
    border-color: var(--accentPrimary);
}

.gform_wrapper.gravity-theme input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid var(--dark);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.gform_wrapper.gravity-theme input[type="radio"] {
    border-radius: 50%;
}

.gform_wrapper.gravity-theme input[type="radio"]:checked {
    border-color: var(--accentPrimary);
    background: var(--nectar-gc-xqV56LDsR3);
}

.gform_wrapper.gravity-theme input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accentPrimary);
}

.gform_wrapper.gravity-theme input[type="checkbox"]:hover,
.gform_wrapper.gravity-theme input[type="radio"]:hover {
    border-color: var(--accentPrimary);
}

.gform_wrapper.gravity-theme input[type="checkbox"]:focus-visible,
.gform_wrapper.gravity-theme input[type="radio"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 240, 181, 0.25);
}

/* Checkbox / radio labels */
.gform_wrapper.gravity-theme .gchoice label,
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
    color: var(--light);
    font-family: "Satoshi", sans-serif;
    cursor: pointer;
}

/* --- Consent field --- */
.gform_wrapper.gravity-theme .gfield_consent_label {
    color: var(--light);
}

.gform_wrapper.gravity-theme .gfield_consent_description {
    background: var(--nectar-gc-jRkoIpyGcU);
    color: var(--nectar-gc-N4DSDsB94F);
    border-color: rgba(240, 236, 227, 0.08);
}

/* --- File upload --- */
.gform_wrapper.gravity-theme .gform_drop_area {
    background: var(--nectar-gc-jRkoIpyGcU);
    border: 2px dashed rgba(240, 236, 227, 0.15);
    border-radius: 6px;
    color: var(--nectar-gc-N4DSDsB94F);
    transition: border-color 0.2s ease;
}

.gform_wrapper.gravity-theme .gform_drop_area:hover {
    border-color: var(--accentPrimary);
}

.gform_wrapper.gravity-theme .gform_drop_area .gform_drop_instructions {
    color: var(--nectar-gc-N4DSDsB94F);
}

.gform_wrapper.gravity-theme .gform_drop_area .gform_button_select_files,
.gform_wrapper.gravity-theme .gform_drop_area .button {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--accentPrimary);
    border: 1px solid rgba(0, 240, 181, 0.3);
    border-radius: 4px;
}

.gform_wrapper.gravity-theme .gform_drop_area .gform_button_select_files:hover {
    background: rgba(0, 240, 181, 0.08);
    border-color: var(--accentPrimary);
}

/* Uploaded file previews */
.gform_wrapper.gravity-theme .ginput_preview {
    background: var(--nectar-gc-jRkoIpyGcU);
    border-color: rgba(240, 236, 227, 0.1);
    color: var(--light);
}

.gform_wrapper.gravity-theme .gform_delete {
    color: var(--accentDark);
}

/* --- Date / time picker --- */
.gform_wrapper.gravity-theme .ui-datepicker {
    background: var(--nectar-gc-xqV56LDsR3);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    font-family: "Satoshi", sans-serif;
}

.gform_wrapper.gravity-theme .ui-datepicker-header {
    background: var(--nectar-gc-jRkoIpyGcU);
    color: var(--light);
    border-bottom: 1px solid rgba(240, 236, 227, 0.08);
}

.gform_wrapper.gravity-theme .ui-datepicker td a {
    color: var(--light);
}

.gform_wrapper.gravity-theme .ui-datepicker td a:hover {
    background: rgba(0, 240, 181, 0.1);
    color: var(--accentPrimary);
}

.gform_wrapper.gravity-theme .ui-datepicker td a.ui-state-active {
    background: var(--accentPrimary);
    color: var(--dark);
}

.gform_wrapper.gravity-theme .ui-datepicker td .ui-state-disabled span {
    color: var(--nectar-gc-N4DSDsB94F);
    opacity: 0.4;
}

/* --- Multi-page progress bar --- */
.gform_wrapper.gravity-theme .gf_progressbar {
    background: var(--nectar-gc-jRkoIpyGcU);
    border-radius: 6px;
    overflow: hidden;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage {
    background: var(--accentPrimary);
    color: var(--dark);
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.8rem;
}

.gform_wrapper.gravity-theme .gf_step {
    color: var(--nectar-gc-N4DSDsB94F);
}

.gform_wrapper.gravity-theme .gf_step_active {
    color: var(--accentPrimary);
}

.gform_wrapper.gravity-theme .gf_step_completed {
    color: var(--accentPrimary);
    opacity: 0.6;
}

/* --- Submit button --- */
.gform_wrapper.gravity-theme .gform_button,
.gform_wrapper.gravity-theme input[type="submit"],
.gform_wrapper.gravity-theme .gform_footer .button {
    background: var(--accentPrimary);
    color: var(--dark);
    border: none;
    border-radius: 6px;
    padding: 0.9rem 2rem;
    font-family: "Satoshi", sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}

.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme input[type="submit"]:hover {
    box-shadow: 0 0 25px rgba(0, 240, 181, 0.3), 0 0 50px rgba(0, 240, 181, 0.1);
    transform: translateY(-2px);
}

/* Previous / Next (multi-page) */
.gform_wrapper.gravity-theme .gform_previous_button {
    background: transparent !important;
    color: var(--light) !important;
    border: 1px solid rgba(240, 236, 227, 0.2) !important;
}

.gform_wrapper.gravity-theme .gform_previous_button:hover {
    border-color: var(--accentLight) !important;
    color: var(--accentLight) !important;
    box-shadow: 0 0 15px rgba(179, 102, 255, 0.15);
}

/* Save & continue link */
.gform_wrapper.gravity-theme .gform_save_link {
    color: var(--accentPrimary);
    font-family: "Satoshi", sans-serif;
}

.gform_wrapper.gravity-theme .gform_save_link:hover {
    color: var(--accentLight);
}

/* --- Validation / error states --- */
.gform_wrapper.gravity-theme .gform_validation_errors {
    background: rgba(255, 107, 53, 0.06);
    border: 1px solid rgba(255, 107, 53, 0.3);
    border-radius: 6px;
    padding: 1rem 1.25rem;
}

.gform_wrapper.gravity-theme .gform_validation_errors > h2,
.gform_wrapper.gravity-theme .gform_submission_error {
    color: var(--accentDark);
    font-family: "Space Grotesk", sans-serif;
}

.gform_wrapper.gravity-theme .gfield_error label,
.gform_wrapper.gravity-theme .gfield_error legend {
    color: var(--accentDark) !important;
}

.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select {
    border-color: rgba(255, 107, 53, 0.5) !important;
}

.gform_wrapper.gravity-theme .gfield_error input:focus,
.gform_wrapper.gravity-theme .gfield_error textarea:focus,
.gform_wrapper.gravity-theme .gfield_error select:focus {
    box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.2) !important;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_description.validation_message {
    color: var(--accentDark);
    font-size: 0.8rem;
    font-weight: 600;
}

/* --- Confirmation message --- */
.gform_wrapper.gravity-theme .gform_confirmation_message {
    background: rgba(0, 240, 181, 0.06);
    border: 1px solid rgba(0, 240, 181, 0.25);
    border-radius: 6px;
    color: var(--light);
    padding: 1.25rem;
    font-family: "Satoshi", sans-serif;
}

/* --- Honeypot + hidden fields --- */
.gform_wrapper.gravity-theme .gform_validation_container {
    display: none !important;
}

/* --- List field --- */
.gform_wrapper.gravity-theme .gfield_list_container {
    border-color: rgba(240, 236, 227, 0.1);
}

.gform_wrapper.gravity-theme .gfield_list thead th {
    color: var(--nectar-gc-N4DSDsB94F);
    font-family: "Satoshi", sans-serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--nectar-gc-jRkoIpyGcU);
    border-color: rgba(240, 236, 227, 0.08);
}

.gform_wrapper.gravity-theme .gfield_list td {
    border-color: rgba(240, 236, 227, 0.08);
}

.gform_wrapper.gravity-theme .gfield_list .add_list_item,
.gform_wrapper.gravity-theme .gfield_list .delete_list_item {
    filter: brightness(0) invert(0.7);
    transition: filter 0.2s ease;
}

.gform_wrapper.gravity-theme .gfield_list .add_list_item:hover {
    filter: brightness(0) saturate(100%) invert(85%) sepia(50%) saturate(1000%) hue-rotate(110deg);
}

.gform_wrapper.gravity-theme .gfield_list .delete_list_item:hover {
    filter: brightness(0) saturate(100%) invert(50%) sepia(100%) saturate(400%) hue-rotate(340deg);
}


/* Adam's Updates */
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout #payment {
    padding: 1em;
}

.woocommerce table.order-review tfoot td, .woocommerce table.order-review tfoot th, .woocommerce table.order-review th, .woocommerce-page table.order-review th, .woocommerce-page table.shop_table tfoot td, .woocommerce-page table.shop_table tfoot th {
    color:var(--light);
    opacity:.6;
}

#footer-outer[data-link-hover="underline"] #footer-widgets ul:not([class*="nectar_blog_posts"]) li > a:not(.tag-cloud-link):not(.nectar-button), #footer-outer[data-link-hover="underline"] #footer-widgets .textwidget a:not(.nectar-button), #slide-out-widget-area.fullscreen-split .widget ul:not([class*="nectar_blog_posts"]) li > a:not(.tag-cloud-link):not(.nectar-button), #slide-out-widget-area.fullscreen-split .textwidget a:not(.nectar-button), .products li.product.minimal .product-add-to-cart .added_to_cart, .woocommerce-account .woocommerce > #customer_login .nectar-form-controls .control, .woocommerce-tabs .full-width-content[data-tab-style="fullwidth"] ul.tabs li a, .woocommerce .woocommerce-info a, .woocommerce .woocommerce-error a, .woocommerce-message a, .woocommerce-MyAccount-content .woocommerce-message a.button, #search-results .result .title a, a > .nectar-ext-menu-item .menu-title-text, .nectar-slide-in-cart.style_slide_in_click .cart_list .product-meta a:not(.remove), body .woocommerce-checkout-review-order-table .product-info h4 a, body.woocommerce-cart .product-name a, .woocommerce .woocommerce-breadcrumb a, .nectar-ajax-search-results .search-post-item h5, .nectar-category-grid[data-style="mouse_follow_image"] .nectar-category-grid-item .cat-heading, .nectar-underline h1, .nectar-underline h2, .nectar-underline h3, .nectar-underline h4, .nectar-underline h5, .nectar-link-underline a span, .nectar-shop-header > .woocommerce-ordering .select2-container--default:hover .select2-selection__rendered, .nectar-shop-header > .woocommerce-ordering .select2-container--default.select2-container--open .select2-selection__rendered, .variations_form .variations .select2-container--default:hover .select2-selection__rendered, .variations_form .variations .select2-container--default.select2-container--open .select2-selection__rendered, body .variations_form .variations select:hover, .woocommerce div.product .woocommerce-review-link, .woocommerce.single-product div.product_meta a {
    text-decoration: none;
}

body[data-form-select-js="1"] .select2-drop, body[data-form-select-js="1"] .select2-dropdown {
    background: var(--nectar-gc-xqV56LDsR3);
}

body[data-form-select-js="1"] .variations select, body[data-form-select-js="1"] .select2-container--default .select2-selection--single {
    padding-top:0;
    padding-bottom:0;
}

body[data-form-select-js="1"] .select2-container--default .select2-selection--single .select2-selection__rendered, body[data-form-select-js="1"] .select2-container--default .select2-results__option--highlighted[aria-selected], body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default:hover .select2-selection--single .select2-selection__rendered, body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered {
    color: var(--light)!important;
}
body[data-form-select-js="1"] .select2-container--default .select2-selection--single .select2-selection__rendered, body[data-form-select-js="1"] .select2-container--default .select2-results__option--highlighted[aria-selected], body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default:hover .select2-selection--single .select2-selection__rendered, body[data-form-select-js="1"] .woocommerce-ordering .select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered {
    color: var(--light)!important;
}

.select2-container--default .select2-results__option {
    color:var(--light)!important;
}


/* --- Text inputs, textareas, selects --- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="date"],
textarea,
select {
    background: var(--nectar-gc-xqV56LDsR3);
    color: var(--light);
    border: 1px solid rgba(240, 236, 227, 0.12);
    border-radius: 6px;
    padding: 0.7rem 0.9rem;
    font-family: "Satoshi", sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    padding-right:0px;
}

.se-sms-fields {
    border: 1px solid var(--accentLight);
    border-radius: 8px;
    padding: 10px;
    background: #b366ff24;
}

.woocommerce table.shop_table td.product-name a.wcs-switch-link {
    border: 1px solid var(--accentLight);
    background: #b366ff42;
}

.se-grind-field {
    margin-bottom:1em;
}

.se-grind-field label {
    font-weight: 600;
    margin-bottom: .5em;
    display: block;
}
.woocommerce div.product form.cart .variations select {
    background: var(--nectar-gc-xqV56LDsR3) !important;
}

.woocommerce div.product .variations_form.cart .variations td.label {
    padding-bottom:0.5rem;
}

.woocommerce ul.products li.product .price .from {
    color: var(--light);
    opacity: .75;
    position: relative;
    top: -2px;
}

.products li.product.minimal .product-image-wrap .product-add-to-cart a i.normal {
    color:inherit!important;
}

.products li.product.minimal .product-meta {
    padding-left: 1em;
    padding-right: 1em;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3 {
    white-space: break-spaces;
}

.woocommerce div.product form.cart .variations label {
    display: block;
    margin-bottom: .5em;
}

.woocommerce-account #nectar-content-wrap {
    padding-bottom:40px;
}

.nectar-prod-wrap .product_meta {
    display:none;
}