/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.8
Text Domain:  Avada
*/

/* ============================================
   WPC COMPOSITE PLUGIN FIXES
   ============================================ */
.wooco_component_product_qty_btn.wooco-minus,
.wooco_component_product_qty_btn.wooco-plus,
.wooco_component_product_selection_grid_item_qty .wooco-qty-label {
    display: none !important;
}

/* ============================================
   FUSION POST CARDS
   ============================================ */
.fusion-post-cards-grid-column {
    min-height: 35rem !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.fusion-post-cards-grid-column .fusion-column-wrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.fusion-post-cards-grid-column .fusion-button.button-flat.button-default {
    margin-top: auto;
    width: 100%;
}

/* ============================================
   GENERAL STYLING
   ============================================ */
.fusion-title-heading {
    text-transform: none !important;
}

.woocommerce-SavedPaymentMethods-new {
    list-style: none;
}

/* ============================================
   CART TOTALS STYLING
   ============================================ */
div.fusion-woo-cart-totals-wrapper div.wc-proceed-to-checkout a {
    color: #fff !important;
}

div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr th,
div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr td {
    color: #111 !important;
}

div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr span,
div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr bdi {
    color: #ff512f !important;
    font-weight: 700;
}

/* ============================================
   SHIPPING METHODS - CART & CHECKOUT
   ============================================ */
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.shop_table .woocommerce-shipping-totals th {
    display: none !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
.shop_table .woocommerce-shipping-totals td {
    padding: 20px 0 !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td::before,
.shop_table .woocommerce-shipping-totals td::before {
    content: 'Hoe kunnen we van dienst zijn?' !important;
    display: block !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    color: #111111 !important;
    margin-bottom: 20px !important;
}

/* Hide ::before when .awb-shipping-heading div exists (cart page) */
.shop_table .woocommerce-shipping-totals td:has(.awb-shipping-heading)::before,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td:has(.awb-shipping-heading)::before {
    display: none !important;
    content: none !important;
}

/* Shipping heading div - override Avada theme's white color and absolute positioning */
div.fusion-woo-cart-totals-wrapper table.shop_table .awb-shipping-heading,
div.fusion-woo-cart-totals-wrapper .woocommerce-shipping-totals .awb-shipping-heading,
.woocommerce-shipping-totals .awb-shipping-heading,
.shop_table .awb-shipping-heading,
td .awb-shipping-heading {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    color: #111111 !important;
    display: block !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    margin-bottom: 0;
    width: auto !important;
    background-color: transparent !important;
}

.woocommerce-shipping-totals td > p {
    display: none;
}

.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-shipping-methods li {
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px 18px 24px;
    background: #fff;
    margin-bottom: 12px;
    transition: all 0.2s ease;
    text-align: left;
}

.woocommerce-shipping-methods li:hover {
    border-color: #10b981;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15);
}

.woocommerce-shipping-methods li:has(input:checked) {
    border-color: #10b981;
    border-width: 3px;
    background: #f0fdf4;
}

.woocommerce-shipping-methods label {
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    color: #111111 !important;
    width: 100%;
    position: relative;
    padding-left: 32px !important;
    margin: 0 !important;
    line-height: 1.5;
}

.woocommerce-shipping-methods label > * {
    color: #111111 !important;
}

.woocommerce-shipping-methods .woocommerce-Price-amount {
    color: #ff512f;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 12px;
}

.woocommerce-shipping-methods .shipping-method-description {
    margin: 10px 0 0 0;
    padding-top: 10px;
    padding-left: 32px;
    border-top: 1px dashed #e5e7eb;
    font-size: 13px;
    color: #6b7280;
}

.woocommerce-shipping-methods input.shipping_method {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    clip: rect(0, 0, 0, 0) !important;
}

.woocommerce-shipping-methods label::before {
    content: '' !important;
    display: block !important;
    visibility: visible !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    position: absolute !important;
    left: 0px !important;
    top: 0.1rem !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.woocommerce-shipping-methods li:has(input:checked) label::before {
    border-color: #10b981 !important;
    background: #10b981 !important;
    box-shadow: inset 0 0 0 4px #fff !important;
}

.woocommerce-shipping-methods label::after {
    display: none !important;
}

/* ============================================
   CHECKOUT PAGE STYLING
   ============================================ */
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px 18px 24px;
    background: #fff;
    margin-bottom: 12px;
    transition: all 0.2s ease;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:hover {
    border-color: #10b981;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15);
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:has(input:checked) {
    border-color: #10b981;
    border-width: 3px;
    background: #f0fdf4;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label {
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: flex-start !important;
    text-align: left !important;
    color: #111111 !important;
    width: 100%;
    position: relative;
    padding-left: 32px !important;
    margin: 0 !important;
    line-height: 1.5;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label > * {
    color: #111111 !important;
    text-align: left !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods input.shipping_method {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    clip: rect(0, 0, 0, 0) !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label::before {
    content: '' !important;
    display: block !important;
    visibility: visible !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    position: absolute !important;
    left: 0px !important;
    top: 0.1rem !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:has(input:checked) label::before {
    border-color: #10b981 !important;
    background: #10b981 !important;
    box-shadow: inset 0 0 0 4px #fff !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label::after {
    display: none !important;
}

.fusion-woo-checkout-order-review-tb ul li > label,
.fusion-woo-checkout-payment-tb ul li > label {
    position: relative;
    padding-left: 32px !important;
}

.fusion-woo-checkout-order-review-tb ul li > label::before, 
.fusion-woo-checkout-payment-tb ul li > label::before {
    content: '' !important;
    display: block !important;
    visibility: visible !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    position: absolute !important;
    left: 0px !important;
    top: 0.75rem !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.fusion-woo-checkout-order-review-tb ul li:has(input:checked) > label::before,
.fusion-woo-checkout-payment-tb ul li:has(input:checked) > label::before {
    border-color: #10b981 !important;
    background: #10b981 !important;
    box-shadow: inset 0 0 0 4px #fff !important;
}

.fusion-woo-checkout-order-review-tb .woocommerce-Price-amount,
.fusion-woo-checkout-order-review-tb .amount,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods .woocommerce-Price-amount {
    color: #ff512f !important;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label .woocommerce-Price-amount {
    margin-left: auto;
    padding-left: 12px;
}

.fusion-woo-checkout-order-review-tb ul li input:checked+label:after,
.fusion-woo-checkout-payment-tb ul li input:checked+label:after {
    background: none !important;
}

/* ============================================
   WOOCOMMERCE PRODUCT PRICES
   ============================================ */
.woocommerce-Price-amount.amount bdi {
    color: #ff512f !important;
    font-weight: 700;
}

/* ============================================
   PRODUCT LISTING GRID
   ============================================ */
.product-details .product-title {
    font-size: 1.25rem;
}

.product-details-container {
    min-height: 5rem;
}

.product-details-container .fusion-price-rating {
    position: absolute;
    bottom: 4.25rem;
    right: 0.5rem;
}

.woocommerce-Price-amount.amount bdi {
    font-size: 1.5rem;
    margin-left: 0.5rem;
}

.product .product-buttons {
    padding-top: 40px;
}

.product .fusion-product-wrapper {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

.products li.product .fusion-product-wrapper img {
    border-radius: 10px 10px 0 0;
}

.wooco_component_product_selection_grid .wooco_component_product_selection_grid_item {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 10px;
}

.woocommerce-product-gallery {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    border: 1px solid #efefef;
    border-radius: 10px;
    overflow: hidden !important;
    max-width: 100% !important;
    width: fit-content !important;
    margin: 0 auto 2rem !important;
}

.woocommerce-product-gallery img {
    border-radius: 0 !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__wrapper {
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
}

.woocommerce-product-gallery__image > a,
.single-product .woocommerce-product-gallery__image > a {
    display: block !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.fusion-author .fusion-author-title,
.fusion-modal .modal-title,
.fusion-widget-area h3,
.post-content h3,
.project-content h3,
.woocommerce-container .product-title,
body #wrapper h2.woocommerce-loop-category__title,
h3,
p.woocommerce-store-notice {
    font-size: 1.25rem !important;
}

/* ============================================
   SINGLE PRODUCT PAGE - CPM ADDON LAYOUT
   ============================================ */

/* Product gallery */
.single-product .avada-single-product-gallery-wrapper,
.single-product .fusion-woocommerce-product-images,
.single-product .woocommerce-product-gallery {
    max-width: 800px !important;
    width: 100% !important;
    margin: 0 auto 2rem !important;
}

/* Product title */
.single-product .product_title {
    font-size: 2rem !important;
}

/* Product page layout */
.single-product .product {
    display: block !important;
    width: 100% !important;
}

.single-product .summary.entry-summary {
    width: 100% !important;
    float: none !important;
    margin: 2rem 0 0 0 !important;
    padding: 0 !important;
}

/* CPM Addons Grid */
.cpm-addons-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    margin-bottom: 2rem !important;
    list-style: none !important;
    padding: 0 !important;
}

@media (min-width: 768px) {
    .cpm-addons-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (min-width: 992px) {
    .cpm-addons-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (min-width: 1200px) {
    .cpm-addons-grid {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

/* Addon item cards */
.cpm-addon-item,
li.cpm-addon-item,
.cpm-addons-grid .cpm-addon-item,
.cpm-addons-grid li.cpm-addon-item {
    background: #fff !important;
    border: 0 !important;
    border: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    border-style: none !important;
    border-radius: 12px !important;
    padding: 1rem !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    min-height: 280px !important;
    margin: 0 !important;
}

.cpm-addon-item:hover,
li.cpm-addon-item:hover,
.cpm-addons-grid .cpm-addon-item:hover,
.cpm-addons-grid li.cpm-addon-item:hover {
    box-shadow: 0 4px 12px rgba(255, 81, 47, 0.15) !important;
    transform: translateY(-2px) !important;
    border: 0 !important;
}

.cpm-addon-item.selected,
li.cpm-addon-item.selected,
.cpm-addons-grid .cpm-addon-item.selected,
.cpm-addons-grid li.cpm-addon-item.selected {
    border: 3px solid #10b981 !important;
    border-width: 3px !important;
    border-color: #10b981 !important;
    background: #f0fdf4 !important;
}

/* Addon image */
.cpm-addon-image {
    width: 100% !important;
    aspect-ratio: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 0.75rem !important;
    background: transparent !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    min-height: 150px !important;
}

.cpm-addon-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 0.5rem !important;
}

/* Addon title */
.cpm-addon-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 0 0.5rem 0 !important;
    line-height: 1.3 !important;
    min-height: 2.6rem !important;
}

/* Addon price */
.cpm-addon-price-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    margin-top: auto !important;
}

.cpm-addon-price,
.cpm-addon-price .woocommerce-Price-amount,
.cpm-addon-price .amount,
.cpm-addon-price bdi {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #ff512f !important;
}

/* Quantity controls */
.cpm-addon-quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    background: #f9fafb !important;
    border-radius: 8px !important;
    padding: 0.25rem !important;
}

.cpm-qty-btn {
    width: 36px !important;
    height: 36px !important;
    border: 2px solid #e5e7eb !important;
    background: #fff !important;
    border-radius: 6px !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.cpm-qty-btn:hover {
    background: #ff512f !important;
    border-color: #ff512f !important;
    color: #fff !important;
}

.cpm-qty-input {
    width: 70px !important;
    height: 36px !important;
    text-align: center !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    background: #fff !important;
}

/* Group headers */
.cpm-addon-group {
    margin-bottom: 3rem !important;
}

.cpm-group-title {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.5rem !important;
    color: #111 !important;
}

.cpm-group-description {
    font-size: 1rem !important;
    color: #6b7280 !important;
    margin-bottom: 1.5rem !important;
}

/* Totals */
.cpm-total-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: end !important;
    padding: 0.5rem 1.5rem !important;
    background: #f9fafb !important;
    border: 2px solid #f9fafb !important;
    border-radius: 12px !important;
    margin-bottom: 1rem !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
}

.cpm-grand-total-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.25rem 1.5rem !important;
    background: #ff512f !important;
    border: 2px solid #ff512f !important;
    border-radius: 12px !important;
    margin-bottom: 1rem !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #fff !important;
}

.cpm-total-price {
    color: #ff512f !important;
    font-size: 1.25rem !important;
}

.cpm-grand-total-price {
    font-size: 1.5rem !important;
    color: #fff !important;
}

/* Product quantity section */
.quantity.buttons_added {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    margin: 1.5rem auto !important;
    background: #f9fafb !important;
    border-radius: 12px !important;
    padding: 0.5rem !important;
    max-width: 200px !important;
}

/* ============================================
   UPSELLS AND RELATED PRODUCTS
   ============================================ */
.up-sells.upsells .products,
.related.products .products,
.up-sells .products,
.related .products,
section.up-sells .products,
section.related .products,
section.up-sells ul.products,
section.related ul.products,
.up-sells.upsells ul.products,
.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 1.25rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 2 columns for tablets and up */
@media (min-width: 600px) {
    .up-sells.upsells .products,
    .related.products .products,
    .up-sells .products,
    .related .products,
    section.up-sells .products,
    section.related .products,
    section.up-sells ul.products,
    section.related ul.products,
    .up-sells.upsells ul.products,
    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* 3 columns for larger tablets at 750px */
@media (min-width: 750px) {
    .up-sells.upsells .products,
    .related.products .products,
    .up-sells .products,
    .related .products,
    section.up-sells .products,
    section.related .products,
    section.up-sells ul.products,
    section.related ul.products,
    .up-sells.upsells ul.products,
    .related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    /* Force products to be 100% width within grid */
    .up-sells.upsells .products li.product,
    .related.products .products li.product,
    .up-sells .products li.product,
    .related .products li.product,
    section.up-sells .products li.product,
    section.related .products li.product,
    .up-sells ul.products .product,
    .related ul.products .product {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
}

/* 4 columns for desktops */
@media (min-width: 1200px) {
    .up-sells.upsells .products,
    .related.products .products,
    .up-sells .products,
    .related .products,
    section.up-sells .products,
    section.related .products,
    section.up-sells ul.products,
    section.related ul.products,
    .up-sells.upsells ul.products,
    .related.products ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* Remove Avada's ::before pseudo-element on upsells */
.up-sells.upsells .products::before,
.related.products .products::before,
.up-sells .products::before,
.related .products::before,
section.up-sells .products::before,
section.related .products::before {
    display: none !important;
    content: none !important;
}

/* Fix product width in upsells and related */
.up-sells .product,
.related .product,
.up-sells.upsells .product,
.related.products .product,
section.up-sells .product,
section.related .product {
    width: 100% !important;
    max-width: 100% !important;
}

.up-sells .products > li,
.related .products > li,
section.up-sells .products > li,
section.related .products > li {
    width: 100% !important;
    max-width: 100% !important;
}

/* Ultra-specific Avada overrides for upsells/related only */
.up-sells.upsells .products li.product,
.related.products .products li.product,
section.up-sells .products li.product,
section.related .products li.product,
.up-sells.upsells ul.products .product,
.related.products ul.products .product {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Aggressively fix strikethrough on upsell and related product prices */
.up-sells.upsells .product .price del,
.up-sells.upsells .product .price del *,
.up-sells.upsells .product del,
.up-sells.upsells del,
.up-sells.upsells .price del,
.up-sells .product .price del,
.up-sells .price del,
.up-sells del,
.related.products .product .price del,
.related.products .product .price del *,
.related.products .product del,
.related.products del,
.related.products .price del,
.related .product .price del,
.related .price del,
.related del,
.upsells .product .price del,
.upsells .price del,
.upsells del,
section.up-sells del,
section.related del,
.up-sells li del,
.related li del,
.products li del {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    max-height: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    clip: rect(0,0,0,0) !important;
    left: -9999px !important;
}

.up-sells.upsells .product .price ins,
.up-sells.upsells .product ins,
.up-sells.upsells .price ins,
.up-sells.upsells ins,
.up-sells .product .price ins,
.up-sells .price ins,
.up-sells ins,
.related.products .product .price ins,
.related.products .product ins,
.related.products .price ins,
.related.products ins,
.related .product .price ins,
.related .price ins,
.related ins,
.upsells .product .price ins,
.upsells .price ins,
.upsells ins,
section.up-sells ins,
section.related ins {
    text-decoration: none !important;
    background: none !important;
    font-weight: inherit !important;
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */
@media (max-width: 767px) {
    .cpm-addon-item {
        min-height: 240px !important;
    }
    
    .cpm-addon-title {
        font-size: 0.9rem !important;
        min-height: 2.4rem !important;
    }
    
    .cpm-addon-price,
    .cpm-addon-price .woocommerce-Price-amount {
        font-size: 1.1rem !important;
    }
    
    .cpm-qty-btn {
        width: 32px !important;
        height: 32px !important;
        font-size: 1.1rem !important;
    }
    
    .cpm-qty-input {
        width: 60px !important;
    }
    
    .single-product .avada-single-product-gallery-wrapper,
    .single-product .fusion-woocommerce-product-images {
        max-width: 100% !important;
    }
}

/* ============================================
   ULTIMATE STRIKETHROUGH KILLER
   Highest specificity - MUST BE LAST
   ============================================ */
html body .up-sells del,
html body .up-sells .price del,
html body .up-sells .products del,
html body .up-sells .product .price del,
html body .related del,
html body .related .price del,
html body .related .products del,
html body .related .product .price del,
html body section.up-sells del,
html body section.related del,
html body .upsells del,
html body ul.products del,
html body .products del {
    content: '' !important;
    text-indent: -9999px !important;
    display: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    height: 0 !important;
    width: 0 !important;
    max-height: 0 !important;
    max-width: 0 !important;
    clip: rect(0,0,0,0) !important;
    position: absolute !important;
    left: -9999px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    overflow: hidden !important;
}

/* Force remove text-decoration from del elements */
html body .up-sells del *,
html body .related del *,
html body ul.products del *,
html body .products del * {
    text-decoration: none !important;
    display: none !important;
}

/* Alternative approach - hide any strikethrough price formatting */
html body .up-sells .price > del,
html body .related .price > del,
html body ul.products .price > del {
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

/* Force ins elements to display as regular text */
html body .up-sells ins,
html body .related ins,
html body ul.products ins {
    text-decoration: none !important;
    font-style: normal !important;
    font-weight: inherit !important;
}

/* ============================================
   ABSOLUTE FINAL STRIKETHROUGH REMOVAL
   Multiple approaches combined
   ============================================ */
 
/* Method 1: Complete hiding with maximum specificity */
html body .up-sells.upsells del,
html body .related.products del,
html body section.up-sells del,
html body section.related del,
html body .up-sells.upsells .price del,
html body .related.products .price del,
html body .up-sells.upsells ul.products del,
html body .related.products ul.products del,
html body .up-sells.upsells .products li del,
html body .related.products .products li del {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -99999px !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -99999px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

/* Method 2: Remove text-decoration globally */
html body .up-sells del,
html body .related del,
html body .up-sells del span,
html body .related del span,
html body .up-sells del .woocommerce-Price-amount,
html body .related del .woocommerce-Price-amount {
    text-decoration: none !important;
}

/* Method 3: Make del elements empty via pseudo-content */
html body .up-sells del::before,
html body .related del::before,
html body .up-sells del::after,
html body .related del::after {
    content: '' !important;
    display: none !important;
}

/* Method 4: Override any potential inline styles */
html body .up-sells .price del[style],
html body .related .price del[style] {
    display: none !important;
    visibility: hidden !important;
}

/* Method 5: Target specific WooCommerce classes */
html body .up-sells .woocommerce-Price-amount.amount del,
html body .related .woocommerce-Price-amount.amount del,
html body .up-sells span.amount del,
html body .related span.amount del {
    display: none !important;
}

/* ============================================
   ALTERNATIVE STRIKETHROUGH HIDING METHOD
   Make it transparent instead of hiding
   ============================================ */

/* Make del elements completely transparent */
html body .up-sells del,
html body .related del,
html body section.up-sells del,
html body section.related del,
html body .up-sells.upsells del,
html body .related.products del {
    color: transparent !important;
    background: transparent !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    text-decoration-color: transparent !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    display: inline-block !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* Target all children of del */
html body .up-sells del *,
html body .related del *,
html body section.up-sells del *,
html body section.related del * {
    color: transparent !important;
    text-decoration: none !important;
    font-size: 0 !important;
    display: none !important;
}

/* Remove strikethrough decoration from any element within price */
html body .up-sells .price *[style*="text-decoration"],
html body .related .price *[style*="text-decoration"] {
    text-decoration: none !important;
}

/* Force price display to only show non-deleted prices */
html body .up-sells .price,
html body .related .price {
    text-decoration: none !important;
}

html body .up-sells .price ins,
html body .related .price ins {
    display: inline-block !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    color: #ff512f !important;
}

/* Nuclear option - remove any element with text-decoration line-through */
html body .up-sells .price > *:first-child:not(ins),
html body .related .price > *:first-child:not(ins) {
    display: none !important;
}

/* ============================================
   CRITICAL 750PX BREAKPOINT FIX
   Must override Avada's width: 50% at 750px
   ============================================ */
@media (min-width: 750px) {
    html body .up-sells.upsells .products,
    html body .related.products .products,
    html body section.up-sells .products,
    html body section.related .products,
    html body section.up-sells ul.products,
    html body section.related ul.products,
    html body .up-sells.upsells ul.products,
    html body .related.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.25rem !important;
    }
    
    html body .up-sells.upsells .products li.product,
    html body .related.products .products li.product,
    html body section.up-sells .products li.product,
    html body section.related .products li.product,
    html body .up-sells ul.products .product,
    html body .related ul.products .product,
    html body .up-sells .products-4 li,
    html body .related .products-4 li,
    html body section.up-sells .products li.product,
    html body section.related .products li.product {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ============================================
   FINAL NUCLEAR OPTION FOR 750-849PX
   Highest possible specificity for problem range
   ============================================ */
@media only screen and (min-width: 750px) and (max-width: 849px) {
    html body .up-sells.upsells .products,
    html body .related.products .products,
    html body section.up-sells ul.products,
    html body section.related ul.products,
    html body .up-sells.upsells ul.products,
    html body .related.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        grid-gap: 1.25rem !important;
        gap: 1.25rem !important;
    }
    
    html body .up-sells.upsells .products li.product,
    html body .related.products .products li.product,
    html body section.up-sells ul.products li.product,
    html body section.related ul.products li.product,
    html body .up-sells.upsells ul.products li.product,
    html body .related.products ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ============================================
   CRITICAL OVERRIDES - DO NOT REMOVE
   These rules have maximum specificity to override theme conflicts
   ============================================ */

/* Force remove borders from CPM addon items */
body .cpm-addons-grid .cpm-addon-item:not(.selected) {
    border: 0 !important;
    border-width: 0 !important;
}

/* Force transparent background on addon images */
body .cpm-addon-image,
body .cpm-addons-grid .cpm-addon-image {
    background: transparent !important;
    background-color: transparent !important;
}

/* Force proper styling on product gallery */
body .single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    background: #fff !important;
    overflow: hidden !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto 2rem !important;
}

body .single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__wrapper {
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: block !important;
}

body .single-product .woocommerce-product-gallery img,
body.single-product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Ultra-aggressive strikethrough removal - NUCLEAR OPTION */
body .up-sells del,
body .related del,
body section.up-sells del,
body section.related del,
body .upsells del,
body .up-sells .price del,
body .related .price del,
body .up-sells li del,
body .related li del,
body .up-sells .products del,
body .related .products del,
body .up-sells .product del,
body .related .product del,
html body .up-sells del,
html body .related del {
    display: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    height: 0 !important;
    width: 0 !important;
    clip: rect(0,0,0,0) !important;
    position: absolute !important;
    left: -9999px !important;
    max-height: 0 !important;
    max-width: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Force grid layout on mobile for upsells/related */
@media (max-width: 599px) {
    body .up-sells .products,
    body .related .products,
    body section.up-sells .products,
    body section.related .products,
    body section.up-sells ul.products,
    body section.related ul.products {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* Force 2 columns between 600-749px */
@media (min-width: 600px) and (max-width: 749px) {
    body .up-sells .products,
    body .related .products,
    body section.up-sells .products,
    body section.related .products,
    body section.up-sells ul.products,
    body section.related ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Ultra-aggressive del removal at this breakpoint */
    body .up-sells del,
    body .related del {
        content: '' !important;
        display: none !important;
    }
}

/* Force 3 columns at 750px+ */
@media (min-width: 750px) {
    body .up-sells .products,
    body .related .products,
    body section.up-sells .products,
    body section.related .products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Force 100% width on all products in grid - upsells/related only */
body .up-sells .product,
body .related .product,
body section.up-sells .product,
body section.related .product {
    width: 100% !important;
    max-width: 100% !important;
}

body .up-sells .products > li,
body .related .products > li,
body section.up-sells .products > li,
body section.related .products > li {
    width: 100% !important;
    max-width: 100% !important;
}

/* Maximum specificity overrides for Avada grid classes - upsells/related only */
html body .up-sells.upsells .products li.product,
html body .related.products .products li.product,
html body section.up-sells .products li.product,
html body section.related .products li.product,
html body .up-sells.upsells ul.products .product,
html body .related.products ul.products .product {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Target Avada's calc-based padding - upsells/related only */
@media (min-width: 600px) {
    html body .up-sells ul.products .product,
    html body .related ul.products .product,
    html body section.up-sells ul.products .product,
    html body section.related ul.products .product {
        padding: 0 !important;
        width: 100% !important;
    }
}

.product-buttons-container.clearfix {
  min-height: 2.1rem;
}


/* ============================================*/
/* better cards -  ----------------- */
/* ============================================*/

/* Title & Subtitle - fixed height, text at top */
.service-card .fusion-text {
    height: 5rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* Buttons - equal height */
.service-card .fusion-button {
    height: 4rem;
    display: flex;
    align-items: center;
}

/* Mobile - reset */
@media (max-width: 768px) {
    .service-card .fusion-text {
        height: auto;
    }
    .service-card .fusion-button {
        height: auto;
    }
}

/* ============================================
   COMPOSITE PRODUCTS MANAGER - AVADA THEME STYLING
   Add this to your Avada child theme's style.css
   Version: 2.3.8 - Added spacing between price columns
   
   NOTE: This is the ONLY CSS you need to add.
   The plugin has minimal structural CSS as fallback.
   ============================================ */

/* Cart & Checkout table - composite products display */
.cpm-cart-addons-wrapper,
.cpm-checkout-addons-wrapper,
.cpm-order-addons-wrapper {
    border-left: 3px solid #ff512f;
    padding-left: 10px;
    margin: 0;
}

.cpm-cart-addons-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.cpm-cart-addons-table tr {
    height: auto !important;
}

.cpm-cart-addons-table td {
    padding: 6px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #eee;
    height: auto !important;
}

.cpm-cart-addons-table tr:last-child td {
    border-bottom: none;
}

/* Column widths: qty + name = ~75%, prices = ~25% */
.cpm-cart-addons-table .cpm-addon-qty {
    width: 30px;
    color: #666;
    font-weight: 500;
    white-space: nowrap;
}

/* Product name column - takes remaining space */
.cpm-cart-addons-table .cpm-addon-name {
    color: #333;
}

.cpm-cart-addons-table .cpm-addon-name a.product-title {
    color: #333;
    text-decoration: none;
}

.cpm-cart-addons-table .cpm-addon-name a.product-title:hover {
    color: #ff512f;
}

/* Unit price column - bigger font + spacing */
.cpm-cart-addons-table .cpm-addon-unit-price {
    width: 70px;
    text-align: right;
    color: #666;
    font-size: 15px;
    white-space: nowrap;
    padding-right: 15px;
    border-right: 1px solid #ddd;
}

/* Subtotal column - bigger font + bold + accent color + spacing */
.cpm-cart-addons-table .cpm-addon-subtotal {
    width: 70px;
    text-align: right;
    color: #ff512f;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    padding-left: 15px;
}

/* Main product row styling */
.cpm-cart-addons-table tr.cpm-main-product .cpm-addon-name {
    font-weight: 500;
}

/* Admin order view */
.cpm-order-item-meta {
    margin-top: 8px;
    padding: 8px;
    background: #f8f9fa;
    border-radius: 4px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cpm-cart-addons-table td {
        padding: 4px 5px;
        font-size: 13px;
    }
    
    .cpm-cart-addons-table .cpm-addon-unit-price {
        width: 55px;
        font-size: 13px;
        padding-right: 10px;
    }
    
    .cpm-cart-addons-table .cpm-addon-subtotal {
        width: 55px;
        font-size: 14px;
        padding-left: 10px;
    }
}
/* ============================================
   CART PAGE RESPONSIVE FIX
   Force stacked layout below 1200px instead of 800px
   Fixes the ugly middle-ground layout between 800-1200px
   ============================================ */
@media (max-width: 1199px) {
    /* Force cart to single column layout */
    .woocommerce-cart .woocommerce,
    .woocommerce-cart .woocommerce > form,
    .woocommerce-cart .avada-checkout,
    body.woocommerce-cart .fusion-row {
        display: block !important;
        flex-direction: column !important;
    }
    
    /* Cart form (items table) - full width */
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart form.woocommerce-cart-form {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin-bottom: 30px !important;
    }
    
    /* Cart collaterals (coupon + totals) - full width, below cart */
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
    }
    
    /* Avada specific: fusion columns in cart - RESET POSITION */
    .woocommerce-cart .fusion-layout-column,
    .woocommerce-cart .fusion-builder-column,
    .woocommerce-cart .fusion-flex-column {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
    }
    
    /* Disable sticky positioning on cart totals */
    .woocommerce-cart .fusion-woo-cart-totals-wrapper,
    .woocommerce-cart .cart_totals,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .fusion-column-wrapper {
        position: relative !important;
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        z-index: auto !important;
    }
    
    /* Avada cart totals wrapper */
    .woocommerce-cart .fusion-woo-cart-totals-wrapper {
        width: 100% !important;
        max-width: 600px !important;
        margin: 0 auto !important;
    }
    
    /* Coupon form - full width */
    .woocommerce-cart .coupon-contents,
    .woocommerce-cart .fusion-coupon-code-form {
        width: 100% !important;
        max-width: 600px !important;
        margin: 0 auto 20px !important;
    }
    
    /* Ensure proper stacking - no overlap */
    .woocommerce-cart .fusion-fullwidth {
        position: relative !important;
        z-index: auto !important;
    }
}

/* ============================================
   CHECKOUT PAGE RESPONSIVE FIX
   Force stacked layout below 1200px
   Order review below billing form
   ============================================ */
@media (max-width: 1199px) {
    /* Force checkout to single column layout */
    .woocommerce-checkout .woocommerce,
    .woocommerce-checkout .avada-checkout,
    body.woocommerce-checkout .fusion-row {
        display: block !important;
        flex-direction: column !important;
    }
    
    /* Billing/shipping form - full width */
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout .col2-set {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin-bottom: 30px !important;
    }
    
    /* Order review - full width, below form */
    .woocommerce-checkout .woocommerce-checkout-review-order,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-checkout-review-order-table {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
    }
    
    /* Avada specific: fusion columns in checkout - RESET POSITION */
    .woocommerce-checkout .fusion-layout-column,
    .woocommerce-checkout .fusion-builder-column,
    .woocommerce-checkout .fusion-flex-column {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
    }
    
    /* Disable sticky positioning on order review */
    .woocommerce-checkout .fusion-column-wrapper,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        position: relative !important;
        position: static !important;
        top: auto !important;
        bottom: auto !important;
        z-index: auto !important;
    }
    
    /* Ensure proper stacking - no overlap */
    .woocommerce-checkout .fusion-fullwidth {
        position: relative !important;
        z-index: auto !important;
    }
    
    /* Center the order review */
    .woocommerce-checkout .woocommerce-checkout-review-order {
        max-width: 600px !important;
        margin: 0 auto !important;
    }
}


/* footer */
.fusion-footer a
{
    color: white;
    text-align: right;
}

.awb-icon-facebook:before {
    color: white !important;
}



