/* 
Theme Name: Sona Health v2 (Tailwind)
Theme URI: https://sonahealth.com
Author: Distrospace
Author URI: mailto:distrospace@tutamail.com
Description: Rediseño completo para Sona Health utilizando Tailwind CSS, enfocado en conversión y estética de Inteligencia Biológica. Desarrollado por Distrospace.
Version: 4.7.0
Text Domain: sona-health-v2
*/

.force-body-md {
    font-family: 'Manrope', sans-serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}

/* --- ESTILOS DE LUJO PARA TÉRMINOS, DESCARGOS Y DETALLES DEL CLIENTE --- */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text,
.form-row.terms {
    background-color: #F9F7F2 !important;
    border: 1px solid rgba(197, 161, 111, 0.4) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 20px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #424849 !important;
    text-transform: none !important;
}

.woocommerce-terms-and-conditions-wrapper label,
.form-row.terms label,
.woocommerce-form__label-for-checkbox {
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: #001540 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.form-row.terms input[type="checkbox"],
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    accent-color: #C5A16F !important;
    margin-top: 2px !important;
    cursor: pointer !important;
}

#customer_details {
    background-color: #ffffff !important;
    border: 1px solid rgba(197, 161, 111, 0.35) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    font-family: 'Libre Caslon Text', serif !important;
    font-size: 22px !important;
    color: #001540 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(197, 161, 111, 0.25) !important;
}

/* --- FIX UNIVERSAL PARA WOOCOMMERCE CHECKOUT BLOCKS, SELECT2 & CLASSIC FORM --- */
.wc-block-components-floating-label,
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select-input label,
.wc-block-components-form-item label,
.woocommerce-checkout form .form-row label,
p.form-row label {
    position: static !important;
    transform: none !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 6px !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #001540 !important;
    line-height: 1.4 !important;
    float: none !important;
    top: auto !important;
    left: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-select-input,
.wc-block-components-form-item,
.wc-block-components-address-form .wc-block-components-text-input,
.woocommerce-checkout form .form-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-top: 0 !important;
    margin-bottom: 20px !important;
    clear: both !important;
    position: relative !important;
    width: 100% !important;
}

.wc-block-components-combobox .wc-block-components-combobox__input,
.wc-block-components-select-input select,
.wc-block-components-text-input input,
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout select {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    margin-top: 4px !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(195, 199, 201, 0.8) !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    color: #001540 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

/* Fix overlapping Select2 elements */
.select2-container .select2-selection--single {
    height: 48px !important;
    border: 1px solid rgba(195, 199, 201, 0.8) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #001540 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    line-height: 48px !important;
}

.woocommerce-checkout form .form-row .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-checkout select {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(195, 199, 201, 0.8) !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px !important;
    color: #001540 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

.woocommerce-checkout form .form-row textarea {
    height: 100px !important;
}

/* Place Order CTA Button */
.woocommerce-checkout #place_order,
#place_order {
    width: 100% !important;
    background-color: #001540 !important;
    color: #ffffff !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 16px 24px !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 24px !important;
    box-shadow: 0 4px 14px rgba(0, 21, 64, 0.25) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.woocommerce-checkout #place_order:hover,
#place_order:hover {
    background-color: #C5A16F !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 161, 111, 0.3) !important;
}

/* Payment Methods List styling inside checkout */
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #ffffff !important;
    border: 1px solid rgba(195, 199, 201, 0.5) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #001540 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #f9f7f2 !important;
    border-radius: 6px !important;
    padding: 14px !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 13px !important;
    color: #424849 !important;
    margin-top: 10px !important;
    border-left: 3px solid #C5A16F !important;
}

/* --- ESTILO LUXURY PARA DISPONIBILIDAD Y STOCK --- */
.woocommerce div.product p.stock,
p.stock.in-stock {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background-color: #F9F7F2 !important;
    border: 1px solid rgba(197, 161, 111, 0.45) !important;
    color: #001540 !important;
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 6px 14px !important;
    border-radius: 9999px !important;
    margin: 0 0 6px 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce div.product p.stock.in-stock::before,
p.stock.in-stock::before {
    content: '' !important;
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: #10b981 !important;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
}

.woocommerce div.product p.stock.out-of-stock,
p.stock.out-of-stock {
    background-color: #fef2f2 !important;
    border-color: #f87171 !important;
    color: #991b1b !important;
}

.woocommerce div.product p.stock.out-of-stock::before,
p.stock.out-of-stock::before {
    background-color: #ef4444 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25) !important;
}

