/**
 * Side Cart CSS Styles
 * Contains all styling for side cart functionality including extra items display and mixed product validation
 */

.cart-widget-side .woocommerce-mini-cart .mini_cart_item {
    font-family: var(--wd-title-font);
}

.shopping-cart-widget-footer>* {
    margin-bottom: 0;
}

.product_list_widget>li .wd-entities-title {
    font-size: 14px;
}

.woocommerce-mini-cart__total {
    font-size: 110%;
}

.widget_shopping_cart .sh-extras-price .woocommerce-Price-amount.amount {
    color: unset;
    font-size: 10px;
}

.product_list_widget>li {
    border: none !important;
}

/* Section Headers */
.wd-extra-section-header {
    margin: 0 !important;
    padding: 12px 0 8px 0 !important;
    border: none !important;
    list-style: none;
    position: relative;
}

.wd-extra-section-header:not(:first-child) {
    margin-left: 25px !important;
}

.sh-extras-section-title {
    font-size: 0.8em;
    font-weight: 600;
    color: #333;
    margin: 0;
    padding: 0;
    font-family: var(--wd-title-font);
}

.wd-extra-cart-item {
    margin: 0px 0 0px 0 !important;
    padding: 8px 0;
    border: none;
    border-top: none;
    border-bottom: none;
    font-size: 0.9em;
    color: #666;
    position: relative;
    list-style: none;
    display: block !important;
    font-family: var(--wd-title-font);
}

/* Container for image and content - match CartController layout */
.widget_shopping_cart .sh-extras-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
}

/* Image styling - match CartController */
.widget_shopping_cart .sh-extras-image {
    flex-shrink: 0;
    object-fit: cover;
    margin-left: 15px;
    margin-inline-end: 10px !important;
}

/* Content container - match CartController */
.widget_shopping_cart .sh-extras-content {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-right: 30px !important;
}

/* Left side - title and variations */
.widget_shopping_cart .sh-extras-left {
    width: 55%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Title styling - match CartController */
.widget_shopping_cart .sh-extras-title {
    font-size: 0.8em;
    color: #333;
    font-weight: 500;
    line-height: 1.3;
    font-family: var(--wd-title-font);
}

/* Right side - price and quantity */
.widget_shopping_cart .sh-extras-right {
    width: 45%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

/* Meta container - match CartController */
.widget_shopping_cart .sh-extras-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

/* Price styling - match CartController */
.widget_shopping_cart .sh-extras-price {
    color: #333;
    font-weight: 600;
    font-size: 0.85em;
    line-height: 1.2;
    text-align: right;
    font-family: var(--wd-title-font);
}

/* Original price styling */
.widget_shopping_cart .sh-price-original {
    color: #999 !important;
    text-decoration: line-through;
    font-weight: 400;
    font-size: 0.85em;
    margin-top: 2px;
    display: block;
    font-family: var(--wd-title-font);
}

/* Quantity styling - match CartController */
.sh-extras-qty {
    font-size: 0.65em;
    color: #666;
    font-weight: 400;
    font-family: var(--wd-title-font);
}

/* Ensure no standard cart item elements appear */
.wd-extra-cart-item .cart-item-link,
.wd-extra-cart-item .remove,
.wd-extra-cart-item .cart-item-image,
.wd-extra-cart-item .cart-info {
    display: none !important;
}

.cart-info ul.variation {
    font-size: 12px;
}

.cart-info span.quantity {
    font-size: 80%;
}

/* Add border-bottom to items detected by JavaScript as the lowest in each group */
.woocommerce-mini-cart .mini_cart_item.has-border-bottom,
.widget_shopping_cart .mini_cart_item.has-border-bottom,
.woocommerce-mini-cart .wd-extra-cart-item.has-border-bottom,
.widget_shopping_cart .wd-extra-cart-item.has-border-bottom {
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
}

/* Ensure proper spacing for extra items with borders */
.woocommerce-mini-cart .wd-extra-cart-item.has-border-bottom,
.widget_shopping_cart .wd-extra-cart-item.has-border-bottom {
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
}

/* Hide item-variation-name in side cart */
ul.variation .item-variation-name,
.widget_shopping_cart .item-variation-name,
.woocommerce-mini-cart .item-variation-name {
    display: none !important;
}

.woocommerce-mini-cart .variation-TradeIn {
    display: flex;
}

.woocommerce-mini-cart .variation-TradeIn .item-variation-name {
    display: block !important;
    padding-right: 5px;
}

/* Mini cart specific styling */
.woocommerce-mini-cart .sh-cart-extras-group {
    font-size: 0.75em;
    margin: 4px 0 1px 0;
}

.woocommerce-mini-cart .pewc-cart-extras-separator {
    margin: 4px 0 2px 0;
}

.woocommerce-mini-cart .pewc-cart-extras-separator:after {
    font-size: 0.6em;
    top: -7px;
    padding: 0 6px;
}

.woocommerce-mini-cart .sh-cart-extra-item {
    font-size: 0.8em;
    margin: 1px 0;
    padding: 1px 0 1px 6px;
}

/* Cart page specific styling */
.woocommerce-cart .sh-cart-extras-group {
    margin: 8px 0 2px 0;
    font-size: 0.9em;
    font-family: var(--wd-title-font);
}

.woocommerce-cart .sh-cart-extra-item {
    margin: 2px 0;
    padding: 2px 0 2px 12px;
    font-size: 0.95em;
    font-family: var(--wd-title-font);
}

/* Checkout page specific styling */
.woocommerce-checkout .sh-cart-extras-group {
    margin: 6px 0 2px 0;
    font-size: 0.85em;
}

.woocommerce-checkout .sh-cart-extra-item {
    margin: 2px 0;
    padding: 2px 0 2px 8px;
    font-size: 0.85em;
    font-family: var(--wd-title-font);
}



.cart-variation-data .variation-values {
    margin-bottom: 4px !important;
    font-size: 11px;
}

/* Mixed Product Notice Styles - Matching WooCommerce Error Design */

.sh-mixed-products-notice {
    font-size: 12px;
}

.sh-mixed-products-notice:before {
    position: absolute !important;
    top: calc(50% - 9px) !important;
    left: 12px !important;
    width: 18px !important;
    height: 18px !important;
    content: "" !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23dc3232'%3E%3Cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0-64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.sh-mixed-products-notice p:last-child {
    margin-bottom: 0 !important;
}

.sh-mixed-products-notice a {
    color: currentColor !important;
    text-decoration: underline !important;
}

.sh-mixed-products-notice a:hover {
    color: color-mix(in srgb, currentColor 80%, transparent) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wd-extra-cart-item {
        margin: 2px 0 2px 20px !important;
        padding: 6px 8px;
        font-size: 0.8em;
    }

    .wd-extra-cart-item:before {
        left: -15px;
        font-size: 10px;
    }

    .sh-extras-item {
        gap: 8px;
        padding: 6px 0;
    }

    .sh-extras-image {
        width: 32px;
        height: 32px;
    }

    .sh-extras-title {
        font-size: 0.8em;
    }

    .sh-extras-price {
        font-size: 0.8em;
    }

    .sh-extras-qty {
        font-size: 0.7em;
    }
}