/* Quote Product Styles - Optimized */

/* Base styles for quote elements */
.wc-quote-products,
.wc-quote-request-page,
.wc-quote-notice,
.wc-quote-products-button,
.wc-quote-products-form,
.wc-quote-items-table,
.wc-quote-empty {
    font-family: inherit;
}

/* WooCommerce Message Styles */
.woocommerce-message {
    color: #000000 !important;
    background-color: #f8f9fa !important;
    border-left: 4px solid #2ecc71 !important;
    padding: 1em !important;
    margin: 1em 0 !important;
    font-size: 1em !important;
}

/* Quote Button Styles */
.wc-quote-request-page .quote-actions {
    margin-bottom: 1em;
    text-align: right;
}

/* All Quote Request Page Buttons */
.wc-quote-request-page .quote-request-form .button.alt,
.wc-quote-request-page .button.remove-from-quote,
.wc-quote-request-page .button.clear-quote {
    background-color: var(--quote-button-bg-color) !important;
    color: var(--quote-button-text-color) !important;
    padding: var(--quote-button-padding) !important;
    border: none !important;
    border-radius: var(--quote-button-border-radius) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    font-size: 1em !important;
    line-height: 1.5 !important;
}

.wc-quote-request-page .quote-request-form .button.alt:hover,
.wc-quote-request-page .button.remove-from-quote:hover,
.wc-quote-request-page .button.clear-quote:hover {
    background-color: var(--quote-button-hover-bg-color) !important;
    color: var(--quote-button-hover-text-color) !important;
}

.quote-product-message {
    margin: 15px 0;
    padding: 10px;
    background-color: #f8f9fa;
    border-left: 4px solid #2ecc71;
    font-style: italic;
    font-size: 1em;
}

/* Quote Request Page Styles */
.wc-quote-request-page {
    padding: 2em 0;
}

.wc-quote-request-page .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1em;
}

.wc-quote-request-page h1 {
    margin-bottom: 2em;
    text-align: center;
}

.wc-quote-request-page .quote-items {
    margin-bottom: 3em;
}

.wc-quote-request-page .shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
}

.wc-quote-request-page .shop_table th,
.wc-quote-request-page .shop_table td {
    padding: 1em;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-size: 1em;
}

.wc-quote-request-page .quote-quantity {
    width: 80px;
    padding: 0.5em;
    font-size: 1em;
}

.wc-quote-request-page .quote-request-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 2em;
    background: #f9f9f9;
    border-radius: 4px;
}

.wc-quote-request-page .form-row {
    margin-bottom: 1.5em;
}

.wc-quote-request-page label {
    display: block;
    margin-bottom: 0.5em;
    font-weight: bold;
    font-size: 18px;
}

.wc-quote-request-page input[type="text"],
.wc-quote-request-page input[type="email"],
.wc-quote-request-page input[type="tel"],
.wc-quote-request-page textarea,
.wc-quote-request-page select {
    width: 100% !important;
    padding: 0.8em !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 18px;
    line-height: 1.5 !important;
    height: auto !important;
    min-height: 35px !important;
    box-sizing: border-box !important;
    color: #333 !important;
    background-color: #fff !important;
}

.wc-quote-request-page select {
    padding-right: 30px !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M5 6l5 5 5-5 2 1-7 7-7-7 2-1z" fill="%23555"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 16px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.wc-quote-request-page select option {
    font-size: 18px;
    padding: 8px;
    color: #333;
    background-color: #fff;
}

/* Force font size on all select elements */
.wc-quote-request-page select,
.wc-quote-request-page select option {
    font-size: 18px !important;
}

/* Override any other styles that might affect our form elements */
.wc-quote-request-page .form-row * {
    font-size: 18px !important;
}

.wc-quote-request-page .empty-quote {
    text-align: center;
    padding: 2em;
    background: #f9f9f9;
    border-radius: 4px;
    font-size: 1em;
}

/* Quote Cart Styles */
.woocommerce-cart .woocommerce-cart-form__cart-item .amount {
    color: #666;
    font-style: italic;
    font-size: 1em;
}

.woocommerce-cart .cart-collaterals .order-total {
    font-size: 1.2em;
    color: #666;
}

.woocommerce-cart .cart-collaterals .order-total .amount {
    font-style: italic;
}

/* Quote Checkout Styles */
.woocommerce-checkout .woocommerce-checkout-payment {
    display: none;
}

.woocommerce-checkout .place-order {
    margin-top: 20px;
}

/* Custom Fields Styles */
.woocommerce-checkout #billing .form-row.quote-field {
    margin-bottom: 15px;
}

.woocommerce-checkout #billing .form-row.quote-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 1em;
}

.woocommerce-checkout #billing .form-row.quote-field input[type="text"],
.woocommerce-checkout #billing .form-row.quote-field textarea,
.woocommerce-checkout #billing .form-row.quote-field select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
    line-height: 1.5;
}

.woocommerce-checkout #billing .form-row.quote-field textarea {
    min-height: 100px;
    resize: vertical;
}

.woocommerce-checkout #billing .form-row.quote-field .required {
    color: #e74c3c;
    margin-left: 3px;
}

/* Quote Request Page Styles */
.wc-quote-request-page .shop_table td a.product-link {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.wc-quote-request-page .shop_table td a.product-link:hover {
    color: var(--quote-button-bg-color);
}

/* Responsive Styles */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-cart-form__cart-item .amount {
        display: block;
        margin-top: 5px;
    }

    .woocommerce-checkout #billing .form-row.quote-field {
        margin-bottom: 20px;
    }

    .wc-quote-request-page {
        padding: 10px;
    }

    .wc-quote-request-page .container {
        padding: 0;
        width: 100%;
    }

    .wc-quote-request-page .quote-items {
        margin-bottom: 2em;
    }

    .wc-quote-request-page .shop_table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .wc-quote-request-page .shop_table th,
    .wc-quote-request-page .shop_table td {
        padding: 0.8em;
        font-size: 0.9em;
        white-space: nowrap;
    }

    .wc-quote-request-page .quote-quantity {
        width: 60px;
        padding: 0.4em;
    }

    .wc-quote-request-page .quote-request-form {
        padding: 1.5em;
        margin: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .wc-quote-request-page .form-row {
        margin-bottom: 1.2em;
    }

    .wc-quote-request-page label {
        font-size: 0.9em;
    }

    .wc-quote-request-page input[type="text"],
    .wc-quote-request-page input[type="email"],
    .wc-quote-request-page input[type="tel"],
    .wc-quote-request-page textarea {
        padding: 0.6em;
        font-size: 0.9em;
    }

    .quote-actions {
        text-align: center;
        margin: 1.5em 0;
    }

    .quote-actions .button {
        display: block;
        width: 100%;
        margin: 0.5em 0;
        text-align: center;
    }

    .wc-quote-request-page .button.remove-from-quote {
        padding: 0.5em 1em;
        font-size: 0.9em;
    }

    .wc-quote-request-page .shop_table td a.product-link {
        font-size: 0.9em;
        display: block;
        padding: 0.2em 0;
    }
}

/* Quote notice on product page */
.wc-quote-notice {
    margin: 20px 0;
    padding: 15px;
    background-color: #f8f8f8;
    border-left: 4px solid #000;
}

.wc-quote-notice p {
    margin: 0;
    color: #000;
}

.wc-quote-notice a {
    color: #000;
    text-decoration: underline;
}

/* Hide default add to cart elements for quote products */
.woocommerce .product .single_add_to_cart_button,
.woocommerce .product .wp-block-woocommerce-add-to-cart-form,
.woocommerce .product .wp-block-woocommerce-add-to-cart-button,
.woocommerce .product .wp-block-woocommerce-add-to-cart,
.woocommerce .product .price,
.woocommerce .product .stock {
    display: none !important;
}

/* Additional Quote Product Styles */

/* Product Page Notice */
.quote-product-notice {
    background: #f8f9fa;
    border-left: 4px solid #0073aa;
    padding: 12px;
    margin: 15px 0;
}

/* Cart Notice */
.quote-cart-notice {
    background: #f8f9fa;
    border-left: 4px solid #0073aa;
    padding: 12px;
    margin: 15px 0;
}

/* Checkout Fields */
.quote-request-fields {
    background: #f8f9fa;
    padding: 20px;
    margin: 20px 0;
    border-radius: 4px;
}

.quote-request-fields h3 {
    margin-top: 0;
    margin-bottom: 20px;
}

.quote-request-fields .form-row {
    margin-bottom: 15px;
}

.quote-request-fields .form-row label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.quote-request-fields .form-row input[type="text"],
.quote-request-fields .form-row textarea,
.quote-request-fields .form-row select {
    width: 100%;
}

.quote-request-fields .form-row textarea {
    min-height: 100px;
}

/* Radio and Checkbox Styles */
.radio-label,
.checkbox-label {
    display: block;
    margin-bottom: 8px;
    font-weight: normal;
    cursor: pointer;
}

.radio-label input[type="radio"],
.checkbox-label input[type="checkbox"] {
    margin-right: 8px;
}

/* Select Field Styles */
select[name*="quote_fields"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
}

/* File Upload Styles */
.quote-file-upload {
    border: 2px dashed #ddd;
    padding: 20px;
    text-align: center;
    margin: 10px 0;
    border-radius: 4px;
    cursor: pointer;
    background-color: #f9f9f9;
}

.quote-file-upload:hover {
    border-color: #0073aa;
    background-color: #f0f0f0;
}

.quote-file-upload input[type="file"] {
    display: none;
}

.quote-file-upload .file-name {
    display: block;
    margin-top: 5px;
    color: #666;
    font-size: 0.9em;
}

/* Required Field Indicator */
.required {
    color: #e2401c;
    margin-left: 3px;
}

/* Admin Order List */
.column-quote_status {
    width: 100px;
}

.quote-status {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.4;
    background: #f0f0f0;
    color: #666;
} 