/* ========================================================================
   Voltado – Dark Mode Overrides
   Fix contrast issues for elements with hardcoded colors
   ======================================================================== */

@media (prefers-color-scheme: dark) {

    /* =================================================================
       GLOBAL / BASE
       ================================================================= */
    body {
        background-color: var(--color-neutral-950);
        color: var(--color-neutral-50);
    }

    /* Force all inputs, selects, textareas to adapt */
    input,
    select,
    textarea {
        background-color: var(--color-neutral-800) !important;
        color: var(--color-neutral-100) !important;
        border-color: var(--color-neutral-600) !important;
    }

    input::placeholder,
    textarea::placeholder {
        color: var(--color-neutral-500) !important;
    }


    /* =================================================================
       CART PAGE
       ================================================================= */

    /* Cart hero section */
    .cart-hero {
        background: var(--color-neutral-900) !important;
        border-bottom-color: var(--color-neutral-700) !important;
    }

    .cart-hero__icon {
        background: linear-gradient(135deg, #1e3a8a, #1e40af) !important;
        color: #93c5fd !important;
    }

    .cart-hero__title {
        color: var(--color-neutral-50) !important;
    }

    .cart-hero__subtitle {
        color: var(--color-neutral-400) !important;
    }

    /* Cart items container */
    .wc-block-cart .wc-block-cart-items {
        background: var(--color-neutral-900) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .wc-block-cart .wc-block-cart-items__header {
        background: var(--color-neutral-800) !important;
        border-bottom-color: var(--color-neutral-700) !important;
    }

    .wc-block-cart-items .wc-block-cart-items__row {
        border-bottom-color: var(--color-neutral-800) !important;
    }

    .wc-block-cart-items .wc-block-cart-items__row:hover {
        background: var(--color-neutral-800) !important;
    }

    /* Product name in cart */
    .wc-block-cart-item__product .wc-block-components-product-name {
        color: var(--color-neutral-100) !important;
    }

    /* Product metadata / description in cart */
    .wc-block-cart-item__product .wc-block-components-product-metadata,
    .wc-block-cart-item__product .wc-block-components-product-metadata span,
    .wc-block-cart-item__product .wc-block-components-product-details,
    .wc-block-cart-item__product .wc-block-components-product-details li,
    .wc-block-cart-item__product p,
    .wc-block-components-product-metadata__description,
    .wc-block-components-product-metadata__description p {
        color: var(--color-neutral-400) !important;
    }

    /* Price in cart */
    .wc-block-cart-item__total .wc-block-components-product-price,
    .wc-block-components-product-price,
    .wc-block-components-product-price .wc-block-components-product-price__value {
        color: var(--color-neutral-100) !important;
    }

    /* Quantity selector */
    .wc-block-components-quantity-selector {
        background: var(--color-neutral-800) !important;
        border-color: var(--color-neutral-600) !important;
    }

    .wc-block-components-quantity-selector input {
        color: var(--color-neutral-100) !important;
        background: var(--color-neutral-800) !important;
    }

    .wc-block-components-quantity-selector button {
        color: var(--color-neutral-300) !important;
    }

    .wc-block-components-quantity-selector button:hover {
        background: var(--color-neutral-700) !important;
    }

    /* Cart sidebar / order summary */
    .wc-block-cart .wc-block-cart__sidebar {
        background: var(--color-neutral-900) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .wc-block-cart .wc-block-cart__totals-title {
        color: var(--color-neutral-100) !important;
        border-bottom-color: var(--color-neutral-700) !important;
    }

    .wc-block-components-totals-item {
        border-bottom-color: var(--color-neutral-800) !important;
    }

    .wc-block-components-totals-item__label {
        color: var(--color-neutral-400) !important;
    }

    .wc-block-components-totals-item__value {
        color: var(--color-neutral-100) !important;
    }

    .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        color: var(--color-neutral-50) !important;
    }

    /* Empty cart */
    .wc-block-cart .wc-block-cart__empty-cart__title {
        color: var(--color-neutral-100) !important;
    }

    /* Cart trust bar */
    .cart-trust {
        border-top-color: var(--color-neutral-800) !important;
    }


    /* =================================================================
       CHECKOUT PAGE
       ================================================================= */
    .wc-block-checkout,
    .wc-block-components-checkout-step {
        color: var(--color-neutral-100) !important;
    }

    .wc-block-checkout .wc-block-components-checkout-step__heading,
    .wc-block-checkout .wc-block-components-checkout-step__title {
        color: var(--color-neutral-50) !important;
    }

    .wc-block-checkout .wc-block-components-checkout-step__description {
        color: var(--color-neutral-400) !important;
    }

    /* Checkout form fields */
    .wc-block-checkout .wc-block-components-text-input input,
    .wc-block-checkout .wc-block-components-text-input label,
    .wc-block-components-text-input input,
    .wc-block-components-text-input label {
        color: var(--color-neutral-200) !important;
    }

    .wc-block-components-text-input input {
        background-color: var(--color-neutral-800) !important;
        border-color: var(--color-neutral-600) !important;
    }

    /* Checkout order summary */
    .wc-block-components-order-summary,
    .wc-block-components-order-summary-item__description {
        color: var(--color-neutral-300) !important;
    }

    .wc-block-components-order-summary-item__quantity {
        background: var(--color-neutral-700) !important;
        color: var(--color-neutral-200) !important;
    }

    /* Payment methods */
    .wc-block-components-radio-control__option,
    .wc-block-components-payment-method-label {
        color: var(--color-neutral-200) !important;
    }

    .wc-block-components-radio-control__description {
        color: var(--color-neutral-400) !important;
    }


    /* =================================================================
       WOOCOMMERCE PRODUCT PAGES
       ================================================================= */

    /* Product title */
    .woocommerce div.product .product_title {
        color: var(--color-neutral-50) !important;
    }

    /* Product price */
    .woocommerce div.product p.price,
    .woocommerce div.product span.price,
    .woocommerce div.product .price .woocommerce-Price-amount {
        color: var(--color-neutral-100) !important;
    }

    /* Product short description */
    .woocommerce div.product .woocommerce-product-details__short-description,
    .woocommerce div.product .woocommerce-product-details__short-description p {
        color: var(--color-neutral-300) !important;
    }

    /* Product meta (SKU, categories) */
    .woocommerce div.product .product_meta,
    .woocommerce div.product .product_meta span {
        color: var(--color-neutral-400) !important;
    }

    /* Tabs */
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        border-bottom-color: var(--color-neutral-700) !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        color: var(--color-neutral-400) !important;
    }

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

    /* Tab panels */
    .woocommerce div.product .woocommerce-tabs .panel,
    .woocommerce div.product .woocommerce-tabs .panel p,
    .woocommerce div.product .woocommerce-tabs .panel li {
        color: var(--color-neutral-300) !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel h2,
    .woocommerce div.product .woocommerce-tabs .panel h3 {
        color: var(--color-neutral-100) !important;
    }

    /* Tab panel tables (description specs) */
    .woocommerce div.product .woocommerce-tabs .panel table,
    .woocommerce div.product .woocommerce-tabs .panel table td,
    .woocommerce div.product .woocommerce-tabs .panel table th {
        color: var(--color-neutral-300) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel table td:first-child {
        color: var(--color-neutral-400) !important;
    }

    /* Additional information table */
    .woocommerce div.product .shop_attributes th,
    .woocommerce div.product .shop_attributes td {
        color: var(--color-neutral-300) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .woocommerce div.product .shop_attributes th {
        color: var(--color-neutral-400) !important;
    }

    /* Product image border */
    .wc-block-cart-item__image img,
    .woocommerce div.product .woocommerce-product-gallery img {
        border-color: var(--color-neutral-700) !important;
    }

    /* Shipping badges */
    .product-shipping-info .shipping-badge {
        color: var(--color-neutral-300) !important;
        background: var(--color-neutral-800) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .product-shipping-info .shipping-badge--free {
        color: #4ade80 !important;
        background: rgba(34, 197, 94, 0.1) !important;
        border-color: rgba(34, 197, 94, 0.3) !important;
    }

    /* Trust badges */
    .product-trust-badges {
        border-top-color: var(--color-neutral-700) !important;
    }

    .trust-badge-item {
        color: var(--color-neutral-400) !important;
    }


    /* =================================================================
       SHOP / ARCHIVE PAGES
       ================================================================= */

    /* Product cards */
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        color: var(--color-neutral-100) !important;
    }

    .woocommerce ul.products li.product .price {
        color: var(--color-neutral-200) !important;
    }

    /* Product card backgrounds */
    .product-card,
    .woocommerce ul.products li.product {
        background: var(--color-neutral-900) !important;
        border-color: var(--color-neutral-700) !important;
    }


    /* =================================================================
       WOOCOMMERCE NOTICES (add to cart, errors, info)
       ================================================================= */

    /* Success notice */
    .woocommerce-message,
    .wc-block-components-notice-banner.is-success {
        background: rgba(34, 197, 94, 0.1) !important;
        border-color: rgba(34, 197, 94, 0.3) !important;
        color: #86efac !important;
    }

    .woocommerce-message a {
        color: #4ade80 !important;
    }

    /* Error notice */
    .woocommerce-error,
    .wc-block-components-notice-banner.is-error {
        background: rgba(239, 68, 68, 0.1) !important;
        border-color: rgba(239, 68, 68, 0.3) !important;
        color: #fca5a5 !important;
    }

    /* Info notice */
    .woocommerce-info,
    .wc-block-components-notice-banner.is-info {
        background: rgba(59, 130, 246, 0.1) !important;
        border-color: rgba(59, 130, 246, 0.3) !important;
        color: #93c5fd !important;
    }


    /* =================================================================
       STOCK STATUS
       ================================================================= */
    .stock.in-stock,
    .product-stock--instock,
    .woocommerce-variation-availability .stock.in-stock {
        color: #4ade80 !important;
    }

    .stock.out-of-stock {
        color: #f87171 !important;
    }


    /* =================================================================
       BREADCRUMBS
       ================================================================= */
    .woocommerce .woocommerce-breadcrumb,
    .woocommerce .woocommerce-breadcrumb a {
        color: var(--color-neutral-400) !important;
    }


    /* =================================================================
       RELATED PRODUCTS
       ================================================================= */
    .woocommerce div.product .related.products h2 {
        color: var(--color-neutral-100) !important;
    }


    /* =================================================================
       STAR RATINGS
       ================================================================= */
    .woocommerce .star-rating::before {
        color: var(--color-neutral-600) !important;
    }


    /* =================================================================
       COUPON + FORMS
       ================================================================= */
    .wc-block-components-totals-coupon input {
        background: var(--color-neutral-800) !important;
        border-color: var(--color-neutral-600) !important;
        color: var(--color-neutral-100) !important;
    }


    /* =================================================================
       CATEGORY SEO CONTENT
       ================================================================= */
    .category-seo-content,
    .category-seo-content__body,
    .category-seo-content__body p,
    .category-seo-content__body li {
        color: var(--color-neutral-300) !important;
    }

    .category-seo-content__body h2,
    .category-seo-content__body h3 {
        color: var(--color-neutral-100) !important;
    }

    .category-seo-content__body table {
        border-color: var(--color-neutral-700) !important;
    }

    .category-seo-content__body table th {
        background: var(--color-neutral-800) !important;
        color: var(--color-neutral-200) !important;
    }

    .category-seo-content__body table td {
        color: var(--color-neutral-300) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .category-seo-content__body table tr:nth-child(even) td {
        background: var(--color-neutral-800) !important;
    }


    /* =================================================================
       TRUST BAR (above footer)
       ================================================================= */
    .trust-bar {
        background: var(--color-neutral-900) !important;
    }

    .trust-bar__item strong {
        color: var(--color-neutral-100) !important;
    }

    .trust-bar__item span {
        color: var(--color-neutral-400) !important;
    }


    /* =================================================================
       WC BLOCK GENERIC OVERRIDES
       ================================================================= */

    /* WC blocks text */
    .wc-block-components-product-name,
    .wc-block-components-product-price,
    .wc-block-components-totals-item__label,
    .wc-block-components-totals-item__value,
    .wc-block-components-shipping-rates-control__package__description,
    .wc-block-components-totals-shipping__fieldset legend {
        color: var(--color-neutral-200) !important;
    }

    /* WC blocks backgrounds */
    .wc-block-components-sidebar,
    .wc-block-components-main {
        background: transparent !important;
    }

    /* WC blocks panels */
    .wc-block-components-panel,
    .wc-block-components-panel__content {
        color: var(--color-neutral-300) !important;
    }

    .wc-block-components-panel__button {
        color: var(--color-neutral-200) !important;
    }

    /* WC block borders */
    .wc-block-components-totals-wrapper,
    .wc-block-components-totals-coupon,
    .wc-block-components-totals-item {
        border-color: var(--color-neutral-700) !important;
    }

    /* Select dropdowns and form controls */
    .wc-block-components-combobox .components-form-token-field__input-container,
    .wc-block-components-address-form select {
        background: var(--color-neutral-800) !important;
        color: var(--color-neutral-100) !important;
        border-color: var(--color-neutral-600) !important;
    }


    /* =================================================================
       THANK YOU / ORDER CONFIRMED PAGE
       ================================================================= */
    .woocommerce-order-details,
    .woocommerce-customer-details {
        color: var(--color-neutral-200) !important;
    }

    .woocommerce-order-details table th,
    .woocommerce-order-details table td {
        color: var(--color-neutral-300) !important;
        border-color: var(--color-neutral-700) !important;
    }

    .woocommerce-order-details table thead th {
        color: var(--color-neutral-100) !important;
    }


    /* =================================================================
       MISC HARDCODED ELEMENTS
       ================================================================= */

    /* WC variation description */
    .woocommerce-variation-description p {
        color: var(--color-neutral-300) !important;
    }

    /* WC variation price */
    .woocommerce-variation-price .price {
        color: var(--color-neutral-100) !important;
    }

    /* PayPal buttons container text */
    .wc-block-components-express-payment .wc-block-components-express-payment__title {
        color: var(--color-neutral-400) !important;
    }

    /* Links in dark mode */
    a {
        color: var(--color-primary-400);
    }

    /* Recipe / blog content */
    .entry-content,
    .entry-content p,
    .entry-content li {
        color: var(--color-neutral-300) !important;
    }

    .entry-content h1,
    .entry-content h2,
    .entry-content h3,
    .entry-content h4 {
        color: var(--color-neutral-100) !important;
    }

    /* FAQ accordion */
    .faq-item__question {
        color: var(--color-neutral-200) !important;
    }

    .faq-item__answer,
    .faq-item__answer p {
        color: var(--color-neutral-300) !important;
    }

    /* Contact / about pages */
    .page-content,
    .page-content p {
        color: var(--color-neutral-300) !important;
    }

    .page-content h1,
    .page-content h2 {
        color: var(--color-neutral-100) !important;
    }

    /* WC sale badge */
    .woocommerce span.onsale {
        background: #ef4444 !important;
        color: #fff !important;
    }

    /* Remove link */
    .wc-block-cart-item__remove-link {
        color: var(--color-neutral-500) !important;
    }

    .wc-block-cart-item__remove-link:hover {
        color: #f87171 !important;
    }
}
