/* ============================================================
   Auratide Jewels — Mejuri-Inspired Global Styles
   Light theme: warm minimalism, white space, quiet luxury
   ============================================================ */

/* === CSS Variables === */
:root {
    --color-bg: #ffffff;
    --color-bg-secondary: #f7f7f5;
    --color-bg-warm: #fafaf8;
    --color-border: #e8e8e5;
    --color-border-light: #f0f0ed;
    --color-text: #1a1a1a;
    --color-text-secondary: #666666;
    --color-text-muted: #999999;
    --color-accent: #c9a96e;
    --color-accent-hover: #b8954f;
    --color-button-bg: #1a1a1a;
    --color-button-text: #ffffff;
    --font-primary: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-size-xs: 11px;
    --font-size-sm: 13px;
    --font-size-base: 15px;
    --font-size-lg: 18px;
    --font-size-xl: 24px;
    --font-size-2xl: 36px;
    --font-size-3xl: 48px;
    --letter-spacing-tight: 0.5px;
    --letter-spacing-wide: 2px;
    --letter-spacing-wider: 3px;
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
}

/* === Global Reset & Base === */
body {
    background-color: var(--color-bg) !important;
    color: var(--color-text) !important;
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === Typography === */
h1, h2, h3, h4, h5, h6 {
    color: var(--color-text);
    font-weight: 300;
    letter-spacing: var(--letter-spacing-tight);
    line-height: 1.2;
}

h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }

a {
    color: var(--color-text);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-text-secondary);
}

p {
    color: var(--color-text-secondary);
    line-height: 1.8;
}

/* === Astra Theme Overrides === */
.ast-separate-container {
    background-color: var(--color-bg) !important;
}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
    background-color: var(--color-bg) !important;
    border-bottom: 1px solid var(--color-border) !important;
}

.site-content {
    background-color: var(--color-bg) !important;
}

.ast-container {
    max-width: 1280px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* === Header / Navigation === */
.ast-primary-header-bar,
.ast-below-header-bar,
.site-header {
    background-color: var(--color-bg) !important;
    border-bottom: 1px solid var(--color-border) !important;
}

.site-header {
    position: sticky !important;
    top: 0;
    z-index: 999;
}

/* Logo area */
.site-branding .site-title a {
    color: var(--color-text) !important;
    font-weight: 300 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    font-size: 22px !important;
    text-transform: uppercase;
}

/* Main navigation */
.main-navigation .menu-link,
.main-header-menu .menu-link,
.ast-masthead-custom-menu-items .menu-link {
    color: var(--color-text-secondary) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 400 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    padding: 20px 16px !important;
    transition: color var(--transition-fast);
}

.main-navigation .menu-link:hover,
.main-header-menu .menu-link:hover {
    color: var(--color-text) !important;
}

.main-navigation .current-menu-item > .menu-link {
    color: var(--color-text) !important;
}

/* Dropdown/submenu */
.main-navigation .sub-menu {
    background-color: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.06) !important;
    padding: 12px 0 !important;
}

.main-navigation .sub-menu .menu-link {
    font-size: var(--font-size-xs) !important;
    padding: 10px 24px !important;
    letter-spacing: 1px !important;
    color: var(--color-text-secondary) !important;
    border: none !important;
}

.main-navigation .sub-menu .menu-link:hover {
    color: var(--color-text) !important;
    background-color: rgba(0,0,0,0.02) !important;
}

/* Mobile menu toggle */
.ast-menu-toggle,
.menu-toggle {
    color: var(--color-text) !important;
}

/* === WooCommerce Product Grid === */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px 24px !important;
}

.woocommerce ul.products li.product {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transition: transform var(--transition-normal);
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--color-text) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 400 !important;
    letter-spacing: var(--letter-spacing-tight) !important;
    padding: 16px 0 4px !important;
}

.woocommerce ul.products li.product .price {
    color: var(--color-text-secondary) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 400 !important;
    margin-bottom: 4px !important;
}

.woocommerce ul.products li.product .price del {
    color: var(--color-text-muted) !important;
    font-weight: 400 !important;
}

.woocommerce ul.products li.product .price ins {
    color: var(--color-text) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .onsale {
    background-color: var(--color-text) !important;
    color: var(--color-button-text) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    padding: 4px 12px !important;
    border-radius: 0 !important;
    left: 12px !important;
    top: 12px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    background: transparent !important;
    color: var(--color-text) !important;
    border: 1px solid var(--color-border) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    padding: 12px 24px !important;
    border-radius: 0 !important;
    transition: all var(--transition-fast);
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: var(--color-button-bg) !important;
    color: var(--color-button-text) !important;
    border-color: var(--color-button-bg) !important;
}

/* Product Image Container */
.woocommerce ul.products li.product .woo-entry-image {
    background-color: var(--color-bg-secondary) !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product img {
    transition: transform var(--transition-normal);
}

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

/* === Single Product Page === */
.single-product .product .product_title {
    font-size: var(--font-size-2xl) !important;
    font-weight: 300 !important;
    letter-spacing: var(--letter-spacing-tight) !important;
    color: var(--color-text) !important;
}

.single-product .product .price {
    font-size: var(--font-size-lg) !important;
    font-weight: 400 !important;
    color: var(--color-text) !important;
}

.single-product .product .price del {
    color: var(--color-text-muted) !important;
}

.single-product .product .single_add_to_cart_button,
.single-product .product button.single_add_to_cart_button {
    background: var(--color-button-bg) !important;
    color: var(--color-button-text) !important;
    border: none !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wider) !important;
    text-transform: uppercase;
    padding: 16px 40px !important;
    border-radius: 0 !important;
    transition: all var(--transition-fast);
}

.single-product .product .single_add_to_cart_button:hover {
    background: #333 !important;
}

.single-product div.product {
    background: transparent !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--color-border) !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 24px 0 0 !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--color-text-secondary) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    padding: 12px 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-text) !important;
    border-bottom: 2px solid var(--color-text) !important;
}

/* === Buttons (Global) === */
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: 0 !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    transition: all var(--transition-fast) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--color-text) !important;
    color: var(--color-text) !important;
    background: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--color-text) !important;
    color: var(--color-button-text) !important;
}

/* === Footer === */
.site-footer {
    background-color: var(--color-bg-secondary) !important;
    border-top: 1px solid var(--color-border) !important;
    padding: 80px 0 40px !important;
}

.site-footer a {
    color: var(--color-text-secondary) !important;
    font-size: var(--font-size-sm) !important;
    transition: color var(--transition-fast);
}

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

/* === Breadcrumbs === */
.woocommerce-breadcrumb,
.ast-breadcrumbs {
    color: var(--color-text-secondary) !important;
    font-size: var(--font-size-xs) !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
}

.woocommerce-breadcrumb a,
.ast-breadcrumbs a {
    color: var(--color-text-muted) !important;
}

/* === Sale Badge / On Sale === */
.onsale {
    background-color: var(--color-text) !important;
    color: var(--color-button-text) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    border-radius: 0 !important;
}

/* === Input Fields === */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select,
.woocommerce .input-text {
    background-color: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text) !important;
    font-size: var(--font-size-sm) !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
    transition: border-color var(--transition-fast);
}

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

/* === Cart & Checkout === */
.woocommerce-cart table.cart,
.woocommerce-checkout table {
    background: transparent !important;
}

.woocommerce-cart table.cart th,
.woocommerce-checkout table th {
    color: var(--color-text) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce-cart table.cart td {
    border-bottom: 1px solid var(--color-border) !important;
    color: var(--color-text-secondary) !important;
}

/* === Category Page Header === */
.woocommerce-products-header {
    text-align: center;
    padding: 60px 0 40px;
}

.woocommerce-products-header .woocommerce-products-header__title {
    font-size: var(--font-size-2xl) !important;
    font-weight: 300 !important;
    letter-spacing: var(--letter-spacing-wide) !important;
    color: var(--color-text) !important;
}

/* === Pagination === */
.woocommerce-pagination .page-numbers li .page-numbers {
    color: var(--color-text-secondary) !important;
    background: transparent !important;
    border: 1px solid var(--color-border) !important;
    font-size: var(--font-size-xs) !important;
    border-radius: 0 !important;
}

.woocommerce-pagination .page-numbers li .page-numbers.current {
    background: var(--color-text) !important;
    color: var(--color-button-text) !important;
    border-color: var(--color-text) !important;
}

/* === Responsive === */
@media (max-width: 768px) {
    .ast-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px 16px !important;
    }
    
    h1 { font-size: 32px !important; }
    h2 { font-size: 24px !important; }
    
    .main-navigation .menu-link {
        padding: 12px 20px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* === Misc: Remove Astra Default Shadows & Borders === */
.ast-separate-container .ast-article-post {
    box-shadow: none !important;
}

/* === Cover Block Spacing Fix === */
.wp-block-cover {
    margin: 0 !important;
}

.has-text-align-center {
    text-align: center;
}

/* === Footer Widget Areas === */
.site-footer .footer-widget-area {
    color: var(--color-text-secondary) !important;
}

.site-footer .widget-title {
    color: var(--color-text) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 500 !important;
    letter-spacing: var(--letter-spacing-wider) !important;
    text-transform: uppercase;
    margin-bottom: 24px !important;
}

/* === WooCommerce Notice/Messages === */
.woocommerce-message,
.woocommerce-info {
    background-color: var(--color-bg-secondary) !important;
    border-top-color: var(--color-text) !important;
    color: var(--color-text) !important;
}

.woocommerce-error {
    background-color: #fef7f6 !important;
    border-top-color: #d4a09a !important;
}

/* === Quantity Input === */
.woocommerce .quantity .qty {
    background: var(--color-bg) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text) !important;
}
