/**
 * Cart & Checkout - Dark Theme Overrides
 * Fixes: contrast, input fields, checkboxes, radios, borders, text sizes
 */

/* =========================================
   WC BLOCKS - GENERAL FORM INPUTS
   ========================================= */

/* All text inputs & textareas in Blocks */
body .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="text"],
body .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="email"],
body .wp-block-woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body .wp-block-woocommerce-checkout .wc-block-components-text-input textarea,
body .wp-block-woocommerce-checkout .wc-block-components-textarea,
body .wp-block-woocommerce-checkout textarea,
body .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body .wp-block-woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__input,
body .wp-block-woocommerce-cart .wc-block-components-text-input input,
body .wp-block-woocommerce-cart .wc-block-components-text-input textarea {
    background-color: rgba(var(--masar-primary-rgb), 0.08) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.35) !important;
    color: var(--masar-header-font-color) !important;
    font-size: 15px !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
}

body .wc-block-components-text-input input:focus,
body .wc-block-components-text-input textarea:focus,
body .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
    border-color: var(--masar-primary-color) !important;
    box-shadow: 0 0 0 1px var(--masar-primary-color) !important;
    outline: none !important;
}

/* Floating labels in Blocks */
body .wc-block-components-text-input label,
body .wc-block-components-combobox .wc-block-components-combobox-control label {
    color: rgba(var(--masar-header-rgb), 0.6) !important;
    font-size: 14px !important;
}

body .wc-block-components-text-input.is-active label,
body .wc-block-components-combobox .wc-block-components-combobox-control.has-value label {
    color: rgba(var(--masar-header-rgb), 0.9) !important;
    font-size: 12px !important;
    background: transparent !important;
}

/* Fix wrapper backgrounds that might be white */
.wc-block-components-text-input {
    background: transparent !important;
}

/* Specific Select fixes */
body .wc-blocks-components-select__select {
    background-color: rgba(var(--masar-primary-rgb), 0.08) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.35) !important;
    color: var(--masar-header-font-color) !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
}

body .wc-blocks-components-select__label {
    color: rgba(var(--masar-header-rgb), 0.9) !important;
}

body .wc-blocks-components-select__expand {
    fill: var(--masar-header-font-color) !important;
}

/* =========================================
   WC BLOCKS - CHECKBOXES & RADIOS
   ========================================= */

/* Reset built-in styles for radio and checkboxes to allow custom styling */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"],
body .wp-block-woocommerce-checkout input[type="checkbox"],
body .wp-block-woocommerce-checkout input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border: 2px solid rgba(var(--masar-primary-rgb), 0.5) !important;
    background: rgba(var(--masar-primary-rgb), 0.08) !important;
    cursor: pointer !important;

    margin-right: 12px !important;
    margin-top: 0 !important;
    vertical-align: middle !important;
    display: inline-block !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.wc-block-components-shipping-rates-control__package [type="checkbox"],
.wc-block-components-shipping-rates-control__package [type="radio"]{
 position: relative!Important;   
}

/* Checkbox specific */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
body .wp-block-woocommerce-checkout input[type="checkbox"] {
    border-radius: 4px !important;
}

body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,
body .wp-block-woocommerce-checkout input[type="checkbox"]:checked {
    background: var(--masar-primary-color) !important;
    border-color: var(--masar-primary-color) !important;
}

body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked::after,
body .wp-block-woocommerce-checkout input[type="checkbox"]:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

/* Radio specific */
body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"],
body .wp-block-woocommerce-checkout input[type="radio"] {
    border-radius: 50% !important;
}

body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"]:checked,
body .wp-block-woocommerce-checkout input[type="radio"]:checked {
    border-color: var(--masar-primary-color) !important;
}

body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"]:checked::after,
body .wp-block-woocommerce-checkout input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--masar-primary-color) !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
}

/* Fix specific SVG checkmarks injected by React components */
body .wc-block-components-checkbox__mark {
    fill: #fff !important;
    display: none !important;
}

body .wc-block-components-checkbox__input[type="checkbox"]:checked + .wc-block-components-checkbox__mark {
    display: block !important;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    pointer-events: none;
}

body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked::after {
    display: none !important; /* Hide our custom one if SVG exists */
}

/* Checkbox/Radio Labels */
body .wc-block-components-checkbox__label,
body .wc-block-components-radio-control__label,
body .wc-block-components-radio-control__description {
    color: var(--masar-header-font-color) !important;
    font-size: 15px !important;
    vertical-align: middle;
}

/* Overcome WooCommerce Blocks default checkmarks if they use background images */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]::before,
body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"]::before {
    display: none !important;
}

/* =========================================
   WC BLOCKS - CART PAGE
   ========================================= */

/* Table headers & Section titles */
body .wc-block-cart__totals-title,
body .wc-block-cart-items__header span {
    color: var(--masar-header-font-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 14px !important;
}

/* Cart Item Row */
body .wc-block-cart-items .wc-block-cart-item {
    border-top: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    padding: 24px 0 !important;
}

/* Product name */
body .wc-block-components-product-name {
    color: var(--masar-header-font-color) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

body .wc-block-components-product-name:hover {
    color: var(--masar-primary-color) !important;
}

/* Price */
body .wc-block-components-product-price {
    color: rgba(var(--masar-header-rgb), 0.8) !important;
    font-size: 16px !important;
}

/* Quantity Selector in Cart */
body .wc-block-components-quantity-selector {
    background: rgba(var(--masar-primary-rgb), 0.08) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.3) !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
}

body .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    background: transparent !important;
    color: var(--masar-header-font-color) !important;
    border: none !important;
    font-size: 18px !important;
    text-align: center !important;
    padding: 0 !important;
}

body .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button {
    color: var(--masar-header-font-color) !important;
    background: transparent !important;
    border: none !important;
    font-size: 20px !important;
}

body .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button:hover {
    color: var(--masar-primary-color) !important;
}

/* Remove button */
body .wc-block-cart-item__remove-link {
    color: rgba(var(--masar-primary-rgb), 0.6) !important;
    font-size: 14px !important;
    text-decoration: underline !important;
}

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

/* Subtotal */
body .wc-block-cart-item__total .wc-block-formatted-money-amount {
    color: var(--masar-header-font-color) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

/* Cart Totals Sidebar */
body .wc-block-cart__totals-wrapper,
body .wp-block-woocommerce-cart-totals-block {
    background: transparent !important;
}

body .wc-block-components-totals-wrapper {
    border: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    background: rgba(var(--masar-primary-rgb), 0.04) !important;
    border-radius: 8px !important;
    padding: 20px 30px !important;
    margin-bottom: 20px !important;
}

/* Totals items */
body .wc-block-components-totals-item__label,
body .wc-block-components-totals-item__value {
    color: var(--masar-header-font-color) !important;
    font-size: 16px !important;
}

body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 24px !important;
    font-weight: 500 !important;
    color: var(--masar-header-font-color) !important;
    border-top: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    padding-top: 20px !important;
    margin-top: 10px !important;
}

/* Coupon block panel */
body .wc-block-components-totals-coupon.wc-block-components-panel {
    border-color: rgba(var(--masar-primary-rgb), 0.2) !important;
}

body .wc-block-components-panel__button {
    color: var(--masar-header-font-color) !important;
}

body .wc-block-components-panel__button-icon {
    fill: var(--masar-primary-color) !important;
}

/* Coupon input in Cart/Checkout */
body .wc-block-components-totals-coupon__input {
    background-color: rgba(var(--masar-primary-rgb), 0.08) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.35) !important;
    color: var(--masar-header-font-color) !important;
}

/* Buttons */
body .wc-block-cart__submit-button,
body .wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
body .wc-block-components-button:not(.is-link) {
    font-size: 16px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 16px 30px !important;
    border-radius: 4px !important;
    background-color: var(--masar-primary-color) !important;
    color: #fff !important;
    border: none !important;
    transition: 0.3s ease !important;
}

body .wc-block-cart__submit-button:hover,
body .wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover,
body .wc-block-components-button:not(.is-link):hover {
    background-color: rgba(var(--masar-primary-rgb), 0.8) !important;
}


/* =========================================
   WC BLOCKS - CHECKOUT PAGE
   ========================================= */

/* Step headings */
body .wc-block-components-checkout-step__title {
    font-size: 24px !important;
    color: var(--masar-header-font-color) !important;
    letter-spacing: 0.05em !important;
    font-weight: 300 !important;
    margin-bottom: 24px !important;
}

body .wc-block-components-checkout-step::after {
    border-bottom: 1px solid rgba(var(--masar-primary-rgb), 0.15) !important;
}

/* Payment Method Panels */
body .wc-block-components-radio-control-accordion-content {
    background: rgba(var(--masar-primary-rgb), 0.05) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    border-radius: 4px !important;
    color: rgba(var(--masar-header-rgb), 0.8) !important;
    font-size: 14px !important;
    margin-top: 10px !important;
    padding: 16px !important;
}

/* Payment Method highlighted wrapper */
body .wc-block-components-radio-control-accordion-option.is-highlighted {
    background-color: transparent !important;
}

/* Shipping Methods Box */
body .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
    border: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    background: rgba(var(--masar-primary-rgb), 0.03) !important;
}

body .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
    align-items: center !important;
}

/* Order Summary Box (Right column on checkout) */
body .wc-block-checkout__order-summary {
    background: rgba(var(--masar-primary-rgb), 0.04) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    border-radius: 8px !important;
    padding: 30px !important;
}

body .wc-block-components-order-summary-item {
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(var(--masar-primary-rgb), 0.15) !important;
}

/* Summary image */
body .wc-block-components-order-summary-item__image {
    border-radius: 4px !important;
    overflow: visible !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0) !important;
}

/* Product names & prices in summary */
body .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-size: 15px !important;
    color: var(--masar-header-font-color) !important;
    font-weight: 500 !important;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
	color: #000!important;
}
body .wc-block-components-order-summary-item__quantity {
    font-size: 14px !important;
    color: rgba(var(--masar-header-rgb), 0.6) !important;
}

body .wc-block-components-order-summary-item__total-price {
    font-size: 16px !important;
    color: var(--masar-header-font-color) !important;
}

/* Combobox (Select/Dropdown) Dropdown Menu items */
body .components-form-token-field__suggestions-list {
    background-color: #151515 !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.4) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}

body .components-form-token-field__suggestion {
    color: rgba(255, 255, 255, 0.8) !important;
    background: transparent !important;
    font-size: 15px !important;
    padding: 12px 16px !important;
}

body .components-form-token-field__suggestion.is-highlighted,
body .components-form-token-field__suggestion:hover {
    background-color: rgba(var(--masar-primary-rgb), 0.3) !important;
    color: #fff !important;
}

/* Checkout terms and conditions */
body .wc-block-checkout__terms {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
}

body .wc-block-checkout__terms .wc-block-components-checkbox__label {
    font-size: 14px !important;
    color: rgba(var(--masar-header-rgb), 0.8) !important;
    line-height: 1.6 !important;
}

body .wc-block-checkout__terms a {
    color: var(--masar-primary-color) !important;
    text-decoration: underline !important;
}

body .wc-block-checkout__terms a:hover {
    opacity: 0.8 !important;
}

/* Return to cart link */
body .wc-block-components-checkout-return-to-cart-button {
    color: rgba(var(--masar-header-rgb), 0.6) !important;
    font-size: 15px !important;
}

body .wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--masar-primary-color) !important;
}

/* Express payment divider */
body .wc-block-components-express-payment-separator span {
    background-color: #111 !important; /* Match site bg to obscure line behind text */
    color: rgba(var(--masar-header-rgb), 0.6) !important;
}

body .wc-block-components-express-payment-separator::before {
    background-color: rgba(var(--masar-primary-rgb), 0.2) !important;
}

/* Error messages / notices in blocks */
body .wc-block-components-notice-banner {
    background-color: rgba(var(--masar-primary-rgb), 0.1) !important;
    border-left-color: var(--masar-primary-color) !important;
    color: var(--masar-header-font-color) !important;
}

/* Force dark text color on general elements that might inherit white backgrounds */
body .wp-block-woocommerce-cart,
body .wp-block-woocommerce-checkout,
body .wc-block-components-main,
body .wc-block-components-sidebar {
    color: var(--masar-header-font-color) !important;
}


 

.wc-block-components-totals-wrapper {
 margin-bottom: 15px; 
}
.wc-block-components-totals-wrapper:empty {
 display: none; 
}

.wc-block-cart-items__row {
 border: 1px solid rgba(var(--masar-primary-rgb), 0.2) !important;
    background: rgba(var(--masar-primary-rgb), 0.04) !important;
    border-radius: 8px !important;
    padding: 20px 30px !important;
    margin-bottom: 20px !important;  
}
td.wc-block-cart-item__total {
    border-top: none !important;
}
@container (min-width: 700px) {
    .wc-block-cart__main .wc-block-cart-items td {
        border-color:rgba(var(--masar-primary-rgb), 0.2) !important;!important;
        padding: 20px 0 20px 16px;
        vertical-align: top;
    }
}


.wp-block-woocommerce-checkout .wc-blocks-components-select__select {
      background-color: rgba(var(--masar-primary-rgb), 0.08) !important;
    border: 1px solid rgba(var(--masar-primary-rgb), 0.35) !important;
    color: var(--masar-header-font-color) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__container {
 background-color: transparent!important; 
}

body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"], body .wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"], body .wp-block-woocommerce-checkout input[type="checkbox"], body .wp-block-woocommerce-checkout input[type="radio"] {
 visibility: visible!Important; 
  opacity: 1!Important;l
}


.wc-block-components-radio-control__option-layout {
 display: inline-block!Important; 
}

label.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked.wc-block-components-radio-control__option--checked-option-highlighted {
    display: flex;
    justify-content: center;
    align-items: center;
}
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input {
    top: 0!important;
margin-right: 30px!Important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control.disable-radio-control .wc-block-components-radio-control__option {
      display: flex;
    justify-content: center;
    align-items: center;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control.disable-radio-control .wc-block-components-radio-control__input {
      top: 10px!important;
margin-right: 30px!Important;
}


.wc-blocks-components-select .wc-blocks-components-select__select {
    font-size: 14px!important;
    padding-top: 18px !important;
}
body .wc-block-components-totals-coupon__input {
    background-color: transparent !important;
    border: none !important;
    color: var(--masar-header-font-color) !important;
}