/* ═══════════════════════════════════════════════════════════════════════════
   LUNA UNIFIED — Store ↔ Homepage theme bridge (Luna Models dark theme)
   Loaded last, after parent + child styles. Safe to delete to revert.
   Palette: bg #0f0f1a / #0a0c10 · purple #8a2be2 · cyan #00e5ff · pink #ff4d8d
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
    --luna-bg: #0f0f1a;
    --luna-bg-darker: #0a0c10;
    --luna-text: #e0e0ff;
    --luna-text-muted: #a0a0cc;
    --luna-card: rgba(30, 30, 50, 0.45);
    --luna-card-solid: #16162a;
    --luna-border: rgba(111, 66, 193, 0.25);
    --luna-border-strong: rgba(111, 66, 193, 0.45);
    --luna-purple: #8a2be2;
    --luna-purple-dark: #6f42c1;
    --luna-cyan: #00e5ff;
    --luna-cyan-dark: #00b8d4;
    --luna-pink: #ff4d8d;
    --luna-grad: linear-gradient(135deg, var(--luna-purple), var(--luna-cyan));
    --luna-grad-cta: linear-gradient(45deg, var(--luna-purple), var(--luna-cyan));
    --luna-radius: 12px;
    --luna-radius-lg: 18px;
    --luna-font-main: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --luna-font-display: 'Orbitron', 'Inter', sans-serif;
}

/* ─── Base ─────────────────────────────────────────────────────────────── */
body {
    background-color: var(--luna-bg);
    color: var(--luna-text);
    font-family: var(--luna-font-main);
    -webkit-font-smoothing: antialiased;
}
::selection { background: rgba(138, 43, 226, 0.55); color: #fff; }

a { color: var(--luna-cyan); transition: color 0.25s ease; }
a:hover { color: var(--luna-cyan-dark); }

h1, h2, h3,
.wp-block-site-title, .wp-block-post-title, .wp-block-query-title,
.woocommerce-products-header__title {
    font-family: var(--luna-font-display);
    letter-spacing: 1px;
}

/* Gradient display titles (mirrors homepage h1/h2) */
.wp-block-post-title, .wp-block-query-title,
.woocommerce-products-header__title.page-title,
.wp-block-site-title a {
    background: linear-gradient(100deg, #fff 5%, var(--luna-cyan) 45%, var(--luna-purple) 85%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ─── Header / Footer (mirrors homepage fixed glass header) ────────────── */
.site-header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 900;
    background-color: rgba(15, 15, 25, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--luna-border);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}
.site-header .wp-block-navigation a {
    color: var(--luna-text-muted);
    border-radius: 8px;
    padding: 0.4em 0.9em;
}
.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation a[aria-current="page"] {
    color: #fff;
    text-decoration: none;
}
.site-header .wp-block-navigation a[aria-current="page"] {
    background: var(--luna-purple);
    box-shadow: 0 0 10px rgba(138, 43, 226, 0.5);
}

.site-footer, .luna-site-footer {
    border-top: 1px solid var(--luna-border) !important;
    background: var(--luna-bg-darker);
    color: var(--luna-text-muted);
}

/* ─── Buttons — homepage gradient CTA everywhere ───────────────────────── */
.wp-element-button,
.wp-block-button__link,
.button,
button[type="submit"],
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.wc-block-components-button:not(.is-style-outline),
.wc-block-components-checkout-place-order-button {
    background: var(--luna-grad-cta) !important;
    background-color: var(--luna-purple) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--luna-radius) !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    padding: 0.8em 1.6em;
    box-shadow: 0 6px 20px rgba(138, 43, 226, 0.35);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.button:hover,
button[type="submit"]:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.wc-block-components-button:not(.is-style-outline):hover,
.wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 229, 255, 0.35);
    filter: brightness(1.1);
    text-decoration: none;
}

/* Ghost / outline variant (mirrors homepage .button--ghost) */
.is-style-outline .wp-block-button__link,
.wc-block-mini-cart__footer-cart.is-style-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
    background: rgba(255, 255, 255, 0.04) !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(224, 224, 255, 0.35) !important;
    color: #fff !important;
    box-shadow: none;
}
.is-style-outline .wp-block-button__link:hover,
.wc-block-mini-cart__footer-cart.is-style-outline:hover {
    border-color: var(--luna-cyan) !important;
    box-shadow: 0 8px 24px rgba(0, 229, 255, 0.18);
}

/* ─── Product cards (mirrors homepage glass cards) ─────────────────────── */
.wc-block-grid__product,
ul.products li.product,
.wp-block-woocommerce-product-collection li.product {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    padding: 0 0 1.2em;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.wc-block-grid__product:hover,
ul.products li.product:hover,
.wp-block-woocommerce-product-collection li.product:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 229, 255, 0.4);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 28px rgba(138, 43, 226, 0.22);
}
.wc-block-grid__product .wc-block-grid__product-title,
ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-name {
    font-family: var(--luna-font-main);
    font-weight: 600;
    color: #fff !important;
}
.wc-block-grid__product-title a, .woocommerce-loop-product__title a { color: #fff; }

/* Prices → Luna cyan */
.woocommerce-Price-amount,
.wc-block-components-product-price,
.wc-block-grid__product-price,
ul.products li.product .price,
div.product p.price, div.product span.price {
    color: var(--luna-cyan) !important;
    font-weight: 600;
}
.price del, del .woocommerce-Price-amount { color: var(--luna-text-muted) !important; font-weight: 400; }

/* Sale badge → pink/purple gradient pill (kills default colors) */
.onsale, .wc-block-components-product-sale-badge, .wc-block-components-sale-badge {
    background: linear-gradient(135deg, var(--luna-pink), var(--luna-purple)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 0.3em 0.9em;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(255, 77, 141, 0.35);
}

/* Star ratings → Luna pink */
.star-rating, .wc-block-components-product-rating .stars,
.wc-block-components-product-rating-stars__stars { color: var(--luna-pink) !important; }
.star-rating::before, .stars a { color: rgba(224, 224, 255, 0.25); }

/* ─── Forms (mirrors catalog search field) ─────────────────────────────── */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="number"], input[type="search"], textarea, select,
.input-text, .wc-block-components-text-input input, .wc-block-components-select__select {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 10px !important;
    color: var(--luna-text) !important;
    padding: 0.75em 1em;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
input:focus, textarea:focus, select:focus,
.wc-block-components-text-input input:focus {
    border-color: var(--luna-cyan) !important;
    box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.15), 0 0 18px rgba(0, 229, 255, 0.1) !important;
    outline: none;
}
::placeholder { color: var(--luna-text-muted) !important; }
label, .woocommerce-form-row label, legend { color: var(--luna-text-muted); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--luna-purple); }

/* Quantity stepper */
.qty, .wc-block-add-to-cart-with-options__quantity-selector input {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 10px !important;
    color: var(--luna-text) !important;
}

/* ─── Notices (mirrors homepage .note) ─────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid var(--luna-border) !important;
    border-left: 3px solid var(--luna-purple) !important;
    border-radius: 10px !important;
    color: var(--luna-text) !important;
}
.woocommerce-message { border-left-color: var(--luna-cyan) !important; }
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-left-color: var(--luna-pink) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--luna-cyan); }
.woocommerce-error::before { color: var(--luna-pink); }

/* ─── Cart / Checkout surfaces ─────────────────────────────────────────── */
.woocommerce-cart-form, .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order, #order_review,
.woocommerce-checkout-payment, .woocommerce-bacs-bank-details,
.wc-block-cart__main, .wc-block-checkout__main,
.wc-block-components-shipping-calculator-address {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
}
table.shop_table, .shop_table th, .shop_table td,
.cart_item, .order-total {
    border-color: var(--luna-border) !important;
}
.shop_table thead th {
    color: var(--luna-text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85em;
}
.order-total .woocommerce-Price-amount { font-size: 1.2em; }
.wc-block-components-radio-control__option,
.wc-block-components-payment-method-icons { color: var(--luna-text-muted); }
.wc-block-components-radio-control__option-checked { color: var(--luna-cyan); }

/* Coupon / discount chip */
.wc-block-components-totals-coupon__input input { border-radius: 10px !important; }

/* ─── Mini cart drawer ─────────────────────────────────────────────────── */
.wc-block-mini-cart__drawer,
.wc-block-components-drawer {
    background: var(--luna-card-solid) !important;
    border-left: 1px solid var(--luna-border-strong) !important;
    color: var(--luna-text);
}
.wc-block-mini-cart__items .wc-block-mini-cart__products-table td {
    border-color: var(--luna-border) !important;
}

/* ─── Pagination (mirrors catalog chips) ───────────────────────────────── */
.woocommerce-pagination ul.page-numbers,
.page-numbers { border: none !important; }
.page-numbers li a, .page-numbers li span,
.wc-block-pagination-page {
    background: rgba(30, 30, 50, 0.5) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 8px !important;
    color: var(--luna-text-muted) !important;
    margin: 0 0.15em;
}
.page-numbers li a:hover { border-color: var(--luna-cyan) !important; color: #fff !important; }
.page-numbers li .current, .wc-block-pagination-page--active {
    background: var(--luna-grad) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 0 14px rgba(138, 43, 226, 0.4);
}

/* ─── Breadcrumbs / meta ───────────────────────────────────────────────── */
.woocommerce-breadcrumb { color: var(--luna-text-muted); }
.woocommerce-breadcrumb a { color: var(--luna-cyan); }
.product_meta, .wc-block-components-product-metadata { color: var(--luna-text-muted); }
.product_meta a { color: var(--luna-cyan); }

/* ─── My Account ───────────────────────────────────────────────────────── */
.woocommerce-MyAccount-navigation {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
    padding: 1em;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 0.6em 1em;
    border-radius: 10px;
    color: var(--luna-text-muted);
}
.woocommerce-MyAccount-navigation li a:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.woocommerce-MyAccount-navigation li.is-active a {
    background: var(--luna-grad);
    color: #fff;
    font-weight: 600;
}
.woocommerce-MyAccount-content {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
    padding: 1.5em;
}

/* ─── Store notice ─────────────────────────────────────────────────────── */
.woocommerce-store-notice, p.demo_store {
    background: linear-gradient(90deg, var(--luna-purple-dark), var(--luna-purple)) !important;
    color: #fff !important;
}
.woocommerce-store-notice a { color: var(--luna-cyan) !important; }

/* ─── Widgets / sidebar blocks ─────────────────────────────────────────── */
.widget, .wp-block-group.is-style-card {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
}
.widget-title, .widgettitle {
    font-family: var(--luna-font-display);
    letter-spacing: 1px;
    color: #fff;
}
.wc-block-price-filter__controls .wc-block-price-filter__amount { border-radius: 10px; }
.wc-block-components-filter-reset-button { color: var(--luna-cyan); }

/* ─── Subtle scrollbar (desktop) ───────────────────────────────────────── */
@media (pointer: fine) {
    ::-webkit-scrollbar { width: 10px; height: 10px; }
    ::-webkit-scrollbar-track { background: var(--luna-bg-darker); }
    ::-webkit-scrollbar-thumb { background: rgba(111, 66, 193, 0.45); border-radius: 6px; }
    ::-webkit-scrollbar-thumb:hover { background: rgba(138, 43, 226, 0.7); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   ROUND 2 — Shop grid, product page, my-account (visual QA fixes)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Single product add-to-cart (beats child theme's pastel rule) ─── */
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt {
    background: var(--luna-grad-cta) !important;
    background-color: var(--luna-purple) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(138, 43, 226, 0.35) !important;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:hover {
    background: var(--luna-grad-cta) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 229, 255, 0.35) !important;
    filter: brightness(1.1);
}

/* Sticky add-to-cart bar */
.wc-booster-sticky-add-to-cart-wrapper button.add-to-cart,
.wc-booster-sticky-add-to-cart-wrapper .single_add_to_cart_button {
    background: var(--luna-grad-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--luna-radius) !important;
    box-shadow: 0 6px 20px rgba(138, 43, 226, 0.35);
}

/* Loop / related-products add-to-cart (classic grid) */
ul.products li.product .add_to_cart_button,
.related.products .add_to_cart_button,
.woocommerce ul.products li.product .button {
    background: var(--luna-grad-cta) !important;
    background-color: var(--luna-purple) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--luna-radius) !important;
    box-shadow: 0 4px 14px rgba(138, 43, 226, 0.3);
}
ul.products li.product .add_to_cart_button:hover,
.related.products .add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0, 229, 255, 0.35) !important;
    color: #fff !important;
}

/* Product Collection block grid cards (li.wp-block-post.product) */
.wp-block-post-template li.wp-block-post.product,
.wc-block-product-template li.product {
    background: var(--luna-card);
    border: 1px solid var(--luna-border);
    border-radius: var(--luna-radius-lg);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.wp-block-post-template li.wp-block-post.product:hover,
.wc-block-product-template li.product:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 229, 255, 0.4);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 28px rgba(138, 43, 226, 0.22);
}

/* ─── Product page tabs (kill the white active tab) ─── */
.woocommerce-tabs ul.tabs { border-bottom-color: var(--luna-border) !important; }
.woocommerce-tabs ul.tabs li {
    background: var(--luna-card) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 10px 10px 0 0 !important;
}
.woocommerce-tabs ul.tabs li a { color: var(--luna-text-muted) !important; font-weight: 600; }
.woocommerce-tabs ul.tabs li.active {
    background: var(--luna-grad) !important;
    border-color: transparent !important;
}
.woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce-tabs .panel, .woocommerce-tabs .panel p { color: var(--luna-text); }
.woocommerce-Tabs-panel h2, .woocommerce-tabs .panel h2 { color: #fff; }

/* ─── Wishlist buttons (orange → Luna ghost-pink) ─── */
.wlfmc-add-button,
.wlfmc-add-to-wishlist .wlfmc-add-button {
    background: rgba(15, 15, 25, 0.8) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 999px !important;
    color: var(--luna-pink) !important;
    backdrop-filter: blur(8px);
    transition: all 0.25s ease !important;
}
.wlfmc-add-button:hover {
    border-color: var(--luna-pink) !important;
    color: var(--luna-pink) !important;
    box-shadow: 0 0 16px rgba(255, 77, 141, 0.35);
}
.wlfmc-add-to-wishlist .wlfmc-heart, .wlfmc-add-button svg, .wlfmc-add-button i { color: var(--luna-pink) !important; fill: none; }
.wlfmc-add-button, .wlfmc-add-button span, .wlfmc-add-button a, .wlfmc-add-button div { color: var(--luna-pink) !important; }

/* ─── Passwordless "Magical Entry" login card → dark glass ─── */
.magic-login-card, .magic-login-wrapper .magic-login-card {
    background: var(--luna-card) !important;
    background-color: var(--luna-card) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: var(--luna-radius-lg) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55), 0 0 30px rgba(138, 43, 226, 0.12) !important;
    backdrop-filter: blur(12px);
}
.magic-login-title { color: #fff !important; font-family: var(--luna-font-display) !important; letter-spacing: 1px; }
.magic-login-description { color: var(--luna-text-muted) !important; }
.magic-login-remember { color: var(--luna-text-muted) !important; }
.magic-login-card a { color: var(--luna-cyan) !important; }
.magic-input-group input, .magic-login-card input[type="email"], .magic-login-card input[type="text"] {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--luna-border) !important;
    color: var(--luna-text) !important;
    border-radius: 10px !important;
}

/* ─── Hero accent (blue mark → Luna cyan/purple gradient) ─── */
.luna-hero-title mark, .luna-hero-title .has-inline-color {
    background: linear-gradient(100deg, var(--luna-cyan) 20%, var(--luna-purple) 90%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ─── Offers plugin: warning note → Luna note style ─── */
.luna-offer-note.note-warning, .luna-offers-notes .luna-offer-note {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid var(--luna-border) !important;
    border-left: 3px solid var(--luna-purple) !important;
    border-radius: 10px !important;
    color: var(--luna-text-muted) !important;
}
.luna-offer-label { color: var(--luna-cyan) !important; }
.luna-offer-copy-area code, .luna-offer-copy-area .luna-offer-code { color: var(--luna-cyan); }

/* ─── Product gallery polish ─── */
.woocommerce div.product div.images img,
.wc-block-woocommerce-product-gallery-large-image__image {
    border-radius: var(--luna-radius-lg);
}
.flex-control-thumbs li img, .wc-block-product-gallery-thumbnails img { border-radius: 10px; }

/* ─── My Account custom nav polish (luna-nav from theme template) ─── */
.luna-nav-item a { color: var(--luna-text-muted); border-radius: 10px; transition: all 0.25s ease; }
.luna-nav-item a:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.luna-nav-item--active a, .luna-nav-item.is-active a {
    background: var(--luna-grad) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(138, 43, 226, 0.35);
}
.luna-nav-item--logout a:hover { color: var(--luna-pink); }

/* ─── Checkout country/region select (white wrapper → Luna dark) ─── */
.wc-blocks-components-select,
.wc-blocks-components-select__select,
.wc-blocks-components-select .wc-blocks-components-select__input,
.wc-block-components-select,
.wc-block-components-select__select {
    background-color: var(--luna-card-solid) !important;
    color: var(--luna-text) !important;
    border: 1px solid var(--luna-border) !important;
    border-radius: 10px !important;
}
.wc-blocks-components-select:focus-within,
.wc-block-components-select:focus-within {
    border-color: var(--luna-cyan) !important;
    box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.15) !important;
}
.wc-blocks-components-select__select option,
.wc-block-components-select__select option {
    background-color: var(--luna-card-solid);
    color: var(--luna-text);
}
.wc-blocks-components-select label, .wc-block-components-select label { color: var(--luna-text-muted) !important; }

/* PayPal/buttons inside payment box stay tidy */
.wc-block-components-radio-control__option { border-radius: var(--luna-radius); }
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option:checked + * {
    border-color: var(--luna-cyan) !important;
    box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.35);
}
