/* Global styles to ensure consistency across all pages */

/* Reset and base styles */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: #333;
    line-height: 1.6;
}

/* Header consistency */
.elementor-location-header {
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Container widths */
.elementor-container,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Green theme colors */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    background-color: #27ae60 !important;
    color: white !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    transition: background-color 0.3s ease !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background-color: #219a52 !important;
}

/* Cart and checkout page styling */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
    padding: 40px 0;
}

/* Cart table styling */
.woocommerce table.shop_table {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce table.shop_table th {
    background-color: #f8f9fa;
    padding: 20px;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #e0e0e0;
}

.woocommerce table.shop_table td {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}

/* Quantity inputs */
.woocommerce .quantity .qty {
    width: 60px;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: center;
}

/* Cart totals box */
.cart_totals,
.woocommerce-checkout-review-order {
    background-color: #f8f9fa;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.cart_totals h2,
.woocommerce-checkout-review-order-table th {
    color: #333;
    font-size: 24px;
    margin-bottom: 20px;
}

/* Coupon button */
.woocommerce-cart .coupon button.button {
    background-color: #f39c12 !important;
}

.woocommerce-cart .coupon button.button:hover {
    background-color: #e67e22 !important;
}

/* Remove link styling */
.woocommerce a.remove {
    color: #e74c3c !important;
    font-weight: bold;
    text-decoration: none;
}

.woocommerce a.remove:hover {
    color: #c0392b !important;
}

/* Product images in cart */
.woocommerce-cart table.cart img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
}

/* Checkout form styling */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    padding: 20px;
}

.woocommerce form .form-row {
    margin-bottom: 20px;
}

.woocommerce form .form-row label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: #333;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: #27ae60;
    outline: none;
}

/* Payment methods */
.woocommerce-checkout #payment {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 8px;
    margin-top: 30px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border: none;
    margin-bottom: 20px;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin-bottom: 10px;
    padding: 20px;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method_stripe {
    border-color: #27ae60;
}

/* Place order button */
#place_order {
    width: 100%;
    font-size: 18px !important;
    padding: 16px 24px !important;
    margin-top: 20px;
}

/* WooCommerce Blocks styling */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-checkout .wc-block-checkout__main {
    padding: 40px 0;
}

.wc-block-components-totals-wrapper {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

/* Express checkout buttons */
.wc-block-components-express-payment__content {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .woocommerce table.shop_table,
    .woocommerce-page table.shop_table {
        font-size: 14px;
    }
    
    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th {
        padding: 10px;
    }
    
    .cart_totals,
    .woocommerce-checkout-review-order {
        padding: 20px;
    }
}

/* Page titles */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
    font-size: 36px;
    color: #333;
    margin-bottom: 30px;
    text-align: center;
}

/* Breadcrumbs styling */
.woocommerce-breadcrumb {
    margin-bottom: 30px;
    color: #666;
}

.woocommerce-breadcrumb a {
    color: #27ae60;
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* Success messages */
.woocommerce-message,
.woocommerce-info {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 15px 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

.woocommerce-error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 15px 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

/* Loading states */
.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before {
    border-color: #27ae60 !important;
}

/* Update the header cart widget to match */
.eftg-header-cart {
    background: #27ae60;
    color: white;
}

.eftg-header-cart:hover {
    background: #219a52;
}
