/*
 * Turbo Child Theme Custom CSS
 * Add your custom styles here
 * Theme colors and styling should be configured via Appearance > Customize
 */

/* Pricing Flip Box - Ensure proper text colors */
.pricing-flip-box .day-ranges-pricing-plan .range-days,
.pricing-flip-box .day-ranges-pricing-plan .range-price {
    color: #333 !important;
}

.pricing-flip-box .day-ranges-pricing-plan .range-price strong {
    color: #000 !important;
}

.pricing-flip-box .item-pricing h5 {
    color: #000 !important;
}

.pricing-flip-box .rnb-pricing-plan-button button {
    color: #333 !important;
}

/* Force pricing details to always be visible on product pages */
.single-product .price-showing {
    display: block !important;
}

/* Ensure product page pricing flip box text colors are correct */
.single-product .price-showing .day-ranges-pricing-plan .range-days,
.single-product .price-showing .day-ranges-pricing-plan .range-price {
    color: #333 !important;
}

.single-product .price-showing .day-ranges-pricing-plan .range-price strong {
    color: #000 !important;
}

/* Cart page banner buttons */
.cart-banner-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cart-banner-button {
    display: inline-block;
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.cart-banner-button.view-more-button {
    background-color: #ffffff;
    color: #ff6600 !important;
    border: 2px solid #ff6600;
}

.cart-banner-button.view-more-button:hover {
    background-color: #ff6600;
    color: #ffffff !important;
}

.cart-banner-button.checkout-button {
    background-color: #ff6600;
    color: #ffffff !important;
    border: 2px solid #ff6600;
}

.cart-banner-button.checkout-button:hover {
    background-color: #ff8833;
    border-color: #ff8833;
}

/* Make bottom checkout button uppercase */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    text-transform: uppercase !important;
}

/* Hide product added to cart alert notification */
.woocommerce-message,
.woocommerce-info.added-to-cart-message,
div.woocommerce-message[role="alert"],
.woocommerce-notices-wrapper .woocommerce-message {
    display: none !important;
}

/* Checkout page dark theme styling */
.woocommerce-checkout .turbo-review-order .accordion-section {
    background-color: rgba(17, 24, 39, 0.5) !important;
}

/* Ensure all links in checkout accordion are visible */
.woocommerce-checkout .turbo-review-order a {
    color: #ffffff !important;
}

.woocommerce-checkout .turbo-review-order a:hover {
    color: #d1d5db !important;
}

/* Product description links (View Details, etc.) */
.woocommerce-checkout .turbo-review-order .accordion-heading a,
.woocommerce-checkout .turbo-review-order p a {
    color: #ff6600 !important;
}

.woocommerce-checkout .turbo-review-order .accordion-heading a:hover,
.woocommerce-checkout .turbo-review-order p a:hover {
    color: #ff8833 !important;
}

/* Ensure product name in accordion heading is white */
.woocommerce-checkout .turbo-review-order .accordion-heading h4,
.woocommerce-checkout .turbo-review-order .accordion-heading h4 a {
    color: #ffffff !important;
}

/* All text in accordion content should be light */
.woocommerce-checkout .turbo-review-order .accordion-content {
    color: #d1d5db !important;
}

/* Make sure all spans and paragraphs are visible */
.woocommerce-checkout .turbo-review-order .accordion-content p,
.woocommerce-checkout .turbo-review-order .accordion-content span {
    color: #d1d5db !important;
}

/* Billing Details heading */
.woocommerce-checkout h3,
.woocommerce-checkout h4 {
    color: #ffffff !important;
}

/* Force all text in product descriptions to be visible */
.woocommerce-checkout .turbo-review-order .accordion-heading p,
.woocommerce-checkout .turbo-review-order .accordion-heading p *,
.woocommerce-checkout .turbo-review-order .accordion-heading p a,
.woocommerce-checkout .turbo-review-order .accordion-heading span:not(.qty):not(.multiplier),
.woocommerce-checkout .turbo-review-order p.text-sm,
.woocommerce-checkout .turbo-review-order p.text-sm *,
.woocommerce-checkout .turbo-review-order p.text-sm a {
    color: #ff6600 !important;
}

/* Make accordion toggle icons visible - replace with white SVG */
.woocommerce-checkout .turbo-accordion .accordion-section .accordion-heading::after {
    content: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.99996 7.99016C6.74905 7.99016 6.49818 7.89436 6.30688 7.70315L0.287198 1.68341C-0.0957326 1.30048 -0.0957326 0.679623 0.287198 0.296847C0.669973 -0.0859283 1.29071 -0.0859283 1.67367 0.296847L6.99996 5.62345L12.3263 0.297033C12.7092 -0.0857422 13.3299 -0.0857422 13.7126 0.297033C14.0957 0.679809 14.0957 1.30066 13.7126 1.6836L7.69304 7.70334C7.50165 7.89457 7.25078 7.99016 6.99996 7.99016Z' fill='%23FFFFFF'/%3E%3C/svg%3E") !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Force all accordion content text to be visible */
.woocommerce-checkout .turbo-review-order .accordion-content h4,
.woocommerce-checkout .turbo-review-order .accordion-content h4 *,
.woocommerce-checkout .turbo-review-order .accordion-content span,
.woocommerce-checkout .turbo-review-order .accordion-content p {
    color: #ffffff !important;
}

/* Ensure all values/data in accordion are light gray */
.woocommerce-checkout .turbo-review-order .accordion-content .text-gray-300,
.woocommerce-checkout .turbo-review-order .accordion-content span.text-gray-300 {
    color: #d1d5db !important;
}

/* Force ACCESSORIES and all product data to be visible */
.woocommerce-checkout .turbo-review-order .accordion-content .text-end,
.woocommerce-checkout .turbo-review-order .accordion-content .text-end *,
.woocommerce-checkout .turbo-review-order .accordion-content ul,
.woocommerce-checkout .turbo-review-order .accordion-content ul li,
.woocommerce-checkout .turbo-review-order .accordion-content div {
    color: #d1d5db !important;
}

/* Ensure all text within accordion content sections is visible */
.woocommerce-checkout .accordion-content * {
    color: #d1d5db !important;
}

/* Labels should be white */
.woocommerce-checkout .accordion-content .min-w-\[40\%\],
.woocommerce-checkout .accordion-content .xl\:min-w-\[180px\] {
    color: #ffffff !important;
}

/* Change payment section background to match Order Summary */
.woocommerce-checkout .woocommerce-checkout-payment {
    background-color: #1f2937 !important;
    padding: 1.5rem !important;
    border-radius: 0.5rem !important;
}

/* Ensure payment section text is visible on dark background */
.woocommerce-checkout .woocommerce-checkout-payment label,
.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_method label {
    color: #ffffff !important;
}

/* Make payment method radio buttons/icons white */
.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods .wc_payment_method > input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods .wc_payment_method > input[type="radio"]:before,
.woocommerce-checkout .woocommerce-checkout-payment input[type="radio"] {
    accent-color: #ffffff !important;
    border-color: #ffffff !important;
}

.woocommerce-checkout .woocommerce-checkout-payment .wc_payment_methods .wc_payment_method label:before {
    border-color: #ffffff !important;
}

/* Fix checkbox styling - ensure proper display */
.woocommerce-checkout .woocommerce-checkout-payment input[type="checkbox"] {
    display: inline-block !important;
    width: auto !important;
    margin-right: 0.5rem !important;
    vertical-align: middle !important;
}

/* Make privacy policy text white */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p {
    color: #ffffff !important;
}

/* Ensure all text in payment section is visible */
.woocommerce-checkout .woocommerce-checkout-payment p,
.woocommerce-checkout .woocommerce-checkout-payment span,
.woocommerce-checkout .woocommerce-checkout-payment label {
    color: #ffffff !important;
}

/* Make card icon SVG white */
.woocommerce-checkout .p-Icon--card,
.woocommerce-checkout .p-PaymentAccordionButtonIcon,
.woocommerce-checkout svg.p-Icon {
    fill: #ffffff !important;
}

/* Override CSS variable for icon color */
.woocommerce-checkout .woocommerce-checkout-payment {
    --colorIcon: #ffffff !important;
}

/* Fix duplicate checkbox/radio issue - hide radio button for save payment */
.woocommerce-checkout .woocommerce-checkout-payment .wc-stripe-save-payment-method-radio,
.woocommerce-checkout .woocommerce-checkout-payment input[type="radio"][name="wc-stripe-new-payment-method"] {
    display: none !important;
}

/* Ensure terms and conditions checkbox is visible */
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text input[type="checkbox"],
.woocommerce-checkout input#terms,
.woocommerce-checkout .terms input[type="checkbox"] {
    display: inline-block !important;
    width: auto !important;
    margin-right: 0.5rem !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure terms checkbox wrapper is visible */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Make sure terms checkbox label is white */
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text label {
    color: #ffffff !important;
}

/* Hide the ::before circle on save payment label */
.woocommerce-checkout label[for="wc-stripe-new-payment-method"]::before,
.woocommerce-checkout .wc-stripe-new-payment-method::before,
.woocommerce-checkout .woocommerce-SavedPaymentMethods label::before {
    display: none !important;
    content: none !important;
}

/* More aggressive SVG icon targeting */
.woocommerce-checkout-payment svg[class*="Icon"],
.woocommerce-checkout-payment svg[class*="icon"],
.woocommerce-checkout-payment .p-Icon,
.woocommerce-checkout-payment [class*="Icon"] svg {
    fill: #ffffff !important;
    color: #ffffff !important;
}

/* Target Stripe's payment icon specifically */
.woocommerce-checkout-payment .wc_payment_method label svg,
.woocommerce-checkout-payment [class*="payment"] svg {
    fill: #ffffff !important;
}

/* Fix huge gap between save payment checkbox and text */
.woocommerce-checkout .woocommerce-checkout-payment input[type="checkbox"] {
    margin-right: 0.5rem !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-SavedPaymentMethods label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Make terms checkbox visible and properly aligned */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .terms,
.woocommerce-checkout .form-row.terms {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.woocommerce-checkout input#terms,
.woocommerce-checkout input[name="terms"],
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text input[type="checkbox"] {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 0.5rem 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
}

/* Stripe UPE form white background */
#wc-stripe-upe-form {
    background-color: #ffffff !important;
}

/* Fix checkbox gap - use gap only, no margin */
.woocommerce-checkout label[for="wc-stripe-new-payment-method"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout #wc-stripe-new-payment-method {
    margin: 0 !important;
    padding: 0 !important;
    width: 16px !important;
    height: 16px !important;
}

/* Remove any extra spacing around the save payment checkbox */
.woocommerce-checkout .woocommerce-SavedPaymentMethods {
    margin: 1rem 0 !important;
}

.woocommerce-checkout .wc-stripe-save-payment-method-checkbox {
    margin: 0 !important;
    padding: 0 !important;
}

/* Force terms checkbox to be visible and properly styled */
.woocommerce-checkout .form-row.terms,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-bottom: 1rem !important;
}

.woocommerce-checkout input#terms,
.woocommerce-checkout input[name="terms"] {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 0.5rem 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text label {
    color: #ffffff !important;
    margin: 0 !important;
}

/* ============================================
   ELEMENTOR MENU CART WIDGET FIXES
   ============================================ */

/* Fix Elementor cart product layout */
.elementor-menu-cart__product {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    padding-right: 30px !important;
}

/* Product image - fixed width */
.elementor-menu-cart__product-image {
    flex: 0 0 70px !important;
    width: 70px !important;
    max-width: 70px !important;
}

.elementor-menu-cart__product-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Product name - allow flex growth and horizontal text */
.elementor-menu-cart__product-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 200px) !important;
    display: block !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    white-space: normal !important;
    overflow: visible !important;
}

.elementor-menu-cart__product-name > a {
    display: inline-block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: #ff6600 !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

/* Variation details */
.elementor-menu-cart__product-name dl.variation {
    margin-top: 0.5rem !important;
    font-size: 0.875rem !important;
    color: #666666 !important;
}

.elementor-menu-cart__product-name dl.variation dt {
    display: inline-block !important;
    font-weight: 600 !important;
    margin-right: 0.25rem !important;
    color: #333333 !important;
}

.elementor-menu-cart__product-name dl.variation dd {
    display: inline-block !important;
    margin: 0 0 0.25rem 0 !important;
}

.elementor-menu-cart__product-name dl.variation dd p {
    display: inline !important;
    margin: 0 !important;
}

/* Product price */
.elementor-menu-cart__product-price {
    flex: 0 0 auto !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
    color: #000000 !important;
}

/* Remove button */
.elementor-menu-cart__product-remove {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    flex: 0 0 auto !important;
}

/* Container background and spacing */
.elementor-menu-cart__container {
    background-color: #ffffff !important;
}

.elementor-menu-cart__main {
    background-color: #ffffff !important;
    padding: 1.5rem !important;
}

.elementor-menu-cart__products {
    width: 100% !important;
    max-width: 100% !important;
}

/* Subtotal section */
.elementor-menu-cart__subtotal {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 1rem 0 !important;
    margin-top: 1rem !important;
    border-top: 2px solid #e5e7eb !important;
    font-size: 1.125rem !important;
}

.elementor-menu-cart__subtotal strong {
    color: #000000 !important;
    font-weight: 600 !important;
}

.elementor-menu-cart__subtotal .woocommerce-Price-amount {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
}

/* Footer buttons */
.elementor-menu-cart__footer-buttons {
    display: flex !important;
    gap: 1rem !important;
    margin-top: 1rem !important;
}

.elementor-menu-cart__footer-buttons .elementor-button {
    flex: 1 !important;
    text-align: center !important;
}

/* Ensure all text within product name displays horizontally */
.elementor-menu-cart__product-name * {
    white-space: normal !important;
    word-break: normal !important;
    max-width: 100% !important;
}
