/* CDE Villanueva del Pardillo — WooCommerce Theme Override */
/* Covers: shop grid, single product, cart, checkout, my-account */

:root {
    --yellow: #fdee22;
    --green: #2ecc71;
    --dark: #0a0c12;
    --card: #13151c;
    --border: #1e2028;
    --input-bg: #1a1c24;
    --input-border: #2a2c34;
    --gray: #888;
    --text: #fff;
    --text-dim: #ccc;
    --text-muted: #666;
}

/* ─── GLOBAL ─── */
body, body.woocommerce-page, body.single-product, body.page-template-default,
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account {
    background: var(--dark) !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
}

a { color: var(--yellow) !important; }
a:hover { color: #e6b800 !important; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Barlow Condensed', sans-serif !important;
    color: var(--text) !important;
    letter-spacing: .5px;
}

/* Hide all default WP/FSE chrome */
.wp-site-blocks > header,
.wp-site-blocks > footer,
footer.wp-block-template-part,
.has-footer,
#colophon,
.site-footer { display: none !important; }

/* ─── NOTICES / MESSAGES ─── */
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
    background: rgba(46,204,113,.1) !important;
    border: 1px solid rgba(46,204,113,.3) !important;
    border-left: 4px solid var(--green) !important;
    color: var(--text) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    font-size: .88rem !important;
    margin-bottom: 16px !important;
}

.woocommerce-message a,
.wc-block-components-notice-banner a {
    color: var(--green) !important;
    font-weight: 700 !important;
}

.woocommerce-message .button,
.woocommerce-message a.button {
    background: var(--green) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    font-weight: 700 !important;
    font-size: .82rem !important;
    text-decoration: none !important;
    float: right !important;
}

.woocommerce-error, .wc-block-components-notice-banner.is-error {
    background: rgba(231,76,60,.1) !important;
    border: 1px solid rgba(231,76,60,.3) !important;
    border-left: 4px solid #e74c3c !important;
    color: var(--text) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
}

.woocommerce-info, .wc-block-components-notice-banner.is-info {
    background: rgba(52,152,219,.1) !important;
    border: 1px solid rgba(52,152,219,.3) !important;
    border-left: 4px solid #3498db !important;
    color: var(--text) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
}

/* ─── BUTTONS (all WC buttons) ─── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.button.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button,
.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background: var(--yellow) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
    font-size: .85rem !important;
    font-family: 'Inter', sans-serif !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
    transition: transform .1s, background .2s !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.button.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover {
    background: #e6b800 !important;
    transform: scale(.97) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background: var(--green) !important;
    color: #000 !important;
}

/* Disabled / loading buttons */
.woocommerce .button.disabled,
.woocommerce .button:disabled,
.button.add_to_cart_button.loading {
    opacity: .5 !important;
    cursor: wait !important;
}

/* View cart link after adding */
.added_to_cart {
    color: var(--green) !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    display: block !important;
    margin-top: 6px !important;
}

/* ─── PRODUCT PRICE ─── */
.price, .woocommerce-Price-amount,
.wc-block-components-product-price {
    color: var(--yellow) !important;
    font-weight: 800 !important;
    font-family: 'Barlow Condensed', sans-serif !important;
}

.price del { color: var(--gray) !important; opacity: .5; }
.price ins { text-decoration: none !important; color: var(--yellow) !important; }
.woocommerce-Price-currencySymbol { font-size: .85em; }

/* ─── INPUTS ─── */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce input[type="url"],
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea,
#coupon_code,
.input-text {
    background: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    border-radius: 10px !important;
    color: var(--text) !important;
    padding: 12px 14px !important;
    font-size: .88rem !important;
    font-family: 'Inter', sans-serif !important;
    outline: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.woocommerce input:focus,
.wc-block-components-text-input input:focus,
.input-text:focus {
    border-color: var(--green) !important;
}

.woocommerce label,
.wc-block-components-text-input label {
    color: var(--gray) !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
}

/* ─── CART TABLE ─── */
.woocommerce-cart-form,
.woocommerce table.shop_table {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.woocommerce table.shop_table th {
    background: rgba(255,255,255,.03) !important;
    color: var(--gray) !important;
    font-size: .72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 12px 14px !important;
}

.woocommerce table.shop_table td {
    border-bottom: 1px solid var(--border) !important;
    color: var(--text) !important;
    padding: 14px !important;
    vertical-align: middle !important;
}

.woocommerce table.shop_table td a {
    color: var(--text) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

/* Cart item image */
.woocommerce table.shop_table img {
    border-radius: 8px !important;
    border: 1px solid var(--border) !important;
}

/* Remove item */
.woocommerce a.remove {
    color: #e74c3c !important;
    font-size: 1.2rem !important;
}

/* Quantity input in cart */
.woocommerce .quantity .qty {
    background: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text) !important;
    border-radius: 8px !important;
    width: 60px !important;
    text-align: center !important;
    padding: 8px !important;
}

/* Coupon */
.woocommerce .coupon {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

.woocommerce .coupon .input-text {
    max-width: 200px !important;
}

/* Update cart button */
.woocommerce button[name="update_cart"] {
    background: rgba(255,255,255,.05) !important;
    color: var(--gray) !important;
    border: 1px solid var(--border) !important;
    font-size: .78rem !important;
    padding: 10px 16px !important;
}

/* ─── CART TOTALS ─── */
.cart_totals,
.woocommerce .cart-collaterals {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    padding: 20px !important;
    margin-top: 20px !important;
}

.cart_totals h2 {
    font-size: 1.2rem !important;
    margin-bottom: 16px !important;
}

.cart_totals table {
    border: none !important;
}

.cart_totals table th,
.cart_totals table td {
    border-bottom: 1px solid var(--border) !important;
    padding: 12px 0 !important;
    color: var(--text) !important;
}

.cart_totals table th {
    color: var(--gray) !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
    background: transparent !important;
}

.order-total .woocommerce-Price-amount {
    font-size: 1.4rem !important;
}

/* ─── CHECKOUT ─── */
.woocommerce-checkout h3 {
    font-size: 1.1rem !important;
    margin-bottom: 16px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid var(--border) !important;
}

.woocommerce-checkout .form-row {
    margin-bottom: 12px !important;
}

.woocommerce-checkout .form-row label {
    color: var(--gray) !important;
    font-size: .78rem !important;
    margin-bottom: 4px !important;
    display: block !important;
}

#order_review, .woocommerce-checkout-review-order {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    padding: 20px !important;
}

#order_review table th,
#order_review table td {
    border-bottom: 1px solid var(--border) !important;
    color: var(--text) !important;
    padding: 10px 0 !important;
}

#payment {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
}

#payment .payment_methods {
    border-bottom: 1px solid var(--border) !important;
}

#payment .payment_methods li {
    border-bottom: 1px solid var(--border) !important;
    padding: 14px !important;
}

#payment .payment_methods li label {
    color: var(--text) !important;
    font-weight: 600 !important;
}

.woocommerce-terms-and-conditions-wrapper {
    color: var(--gray) !important;
    font-size: .82rem !important;
}

/* ─── SINGLE PRODUCT ─── */
.single-product .summary { color: var(--text) !important; }
.single-product .woocommerce-product-details__short-description {
    color: var(--text-dim) !important;
    line-height: 1.7 !important;
}

/* Tabs */
.woocommerce-tabs { margin-top: 32px !important; }
.woocommerce-tabs .tabs {
    list-style: none !important;
    display: flex !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    border-bottom: 1px solid var(--border) !important;
}

.woocommerce-tabs .tabs li a {
    color: var(--gray) !important;
    padding: 10px 16px !important;
    display: block !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

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

.woocommerce-tabs .panel {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    color: var(--text-dim) !important;
}

/* Related products */
.related.products h2, .upsells h2 { margin-top: 40px !important; }

/* ─── MY ACCOUNT ─── */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.woocommerce-MyAccount-navigation ul li a {
    color: var(--text) !important;
    padding: 12px 16px !important;
    display: block !important;
    border-bottom: 1px solid var(--border) !important;
    text-decoration: none !important;
    font-size: .88rem !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--yellow) !important;
    font-weight: 700 !important;
    background: rgba(253,238,34,.05) !important;
}

/* ─── EMPTY CART ─── */
.cart-empty,
.woocommerce-info {
    text-align: center !important;
    padding: 40px !important;
}

.return-to-shop .button {
    margin-top: 16px !important;
}

/* ─── BREADCRUMBS ─── */
.woocommerce-breadcrumb {
    color: var(--gray) !important;
    font-size: .78rem !important;
    margin-bottom: 20px !important;
}

/* ─── SALE BADGE ─── */
.onsale {
    background: var(--green) !important;
    color: #000 !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
    padding: 4px 10px !important;
}

/* ─── PAGINATION ─── */
.woocommerce-pagination .page-numbers {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
}

.woocommerce-pagination .page-numbers.current {
    background: var(--yellow) !important;
    color: #000 !important;
    border-color: var(--yellow) !important;
}

/* ─── STAR RATING ─── */
.star-rating { color: var(--yellow) !important; }

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
    .woocommerce-checkout #customer_details {
        grid-template-columns: 1fr !important;
    }

    .woocommerce table.shop_table {
        font-size: .82rem !important;
    }

    .woocommerce table.shop_table img {
        max-width: 60px !important;
    }
}

/* ─── SELECT2 (WC uses this for dropdowns) ─── */
.select2-container--default .select2-selection--single {
    background: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    border-radius: 10px !important;
    height: 44px !important;
    padding: 8px 14px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text) !important;
    line-height: 28px !important;
}

.select2-dropdown {
    background: var(--card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
}

.select2-results__option {
    color: var(--text) !important;
    padding: 10px 14px !important;
}

.select2-results__option--highlighted {
    background: var(--yellow) !important;
    color: #000 !important;
}

/* ─── STRIPE ELEMENTS ─── */
.wc-stripe-elements-field,
.stripe-card-group {
    background: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
}
