/* ==========================================================================
   SHOPTIMIZER FLY CART — StickIt Design Override
   Stilizăm fly cart-ul nativ Shoptimizer cu design system-ul StickIt.
   NU înlocuim funcționalitatea, doar aplicăm stilul corect.
   ========================================================================== */

/* Overlay */
.shoptimizer-fly-cart-overlay,
.commercekit-fly-cart-overlay {
    background-color: rgba(0, 0, 0, 0.55) !important;
}

/* Drawer container */
.shoptimizer-fly-cart,
.commercekit-fly-cart,
.widget_shopping_cart.fly-cart {
    font-family: var(--font-primary) !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.15) !important;
    width: min(380px, 100vw) !important;
    border-left: none !important;
}

/* Header */
.shoptimizer-fly-cart .fly-cart-header,
.commercekit-fly-cart .fly-cart-header,
.shoptimizer-fly-cart h2,
.commercekit-fly-cart h2 {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-lg) !important;
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-gray-900) !important;
    padding: var(--space-4) var(--space-5) !important;
    border-bottom: 1px solid var(--color-gray-300) !important;
    background-color: var(--color-white) !important;
    margin: 0 !important;
}

/* Close button */
.shoptimizer-fly-cart .fly-cart-close,
.commercekit-fly-cart .fly-cart-close,
.shoptimizer-fly-cart button.close,
.commercekit-fly-cart button.close {
    color: var(--color-gray-500) !important;
    background: none !important;
    border: none !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--border-radius-sm) !important;
    transition: color var(--transition-fast), background-color var(--transition-fast) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.shoptimizer-fly-cart .fly-cart-close:hover,
.commercekit-fly-cart .fly-cart-close:hover {
    color: var(--color-gray-900) !important;
    background-color: var(--color-gray-100) !important;
}

/* Free shipping bar (injected via PHP hook) */
.stickitauto-shipping-bar {
    padding: var(--space-3) var(--space-5);
    background-color: var(--color-gray-100);
    border-bottom: 1px solid var(--color-gray-300);
    font-size: var(--font-size-sm);
    color: var(--color-gray-700);
    text-align: center;
}

.stickitauto-shipping-bar strong {
    color: var(--color-primary);
}

.stickitauto-shipping-bar.reached {
    background-color: var(--color-success-bg);
    color: var(--color-success);
    font-weight: var(--font-weight-semibold);
}

.shipping-bar-track {
    width: 100%;
    height: 5px;
    background-color: var(--color-gray-300);
    border-radius: var(--border-radius-full);
    margin-top: var(--space-2);
    overflow: hidden;
}

.shipping-bar-fill {
    height: 100%;
    background-color: var(--color-success);
    border-radius: var(--border-radius-full);
    transition: width 0.4s ease;
}

/* Cart items area */
.shoptimizer-fly-cart .widget_shopping_cart_content,
.commercekit-fly-cart .widget_shopping_cart_content,
.shoptimizer-fly-cart .cart_list,
.commercekit-fly-cart .cart_list {
    padding: 0 !important;
}

/* Individual cart item */
.shoptimizer-fly-cart .woocommerce-mini-cart__item,
.commercekit-fly-cart .woocommerce-mini-cart__item,
.shoptimizer-fly-cart .mini_cart_item,
.commercekit-fly-cart .mini_cart_item {
    padding: var(--space-3) var(--space-5) !important;
    border-bottom: 1px solid var(--color-gray-100) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--space-3) !important;
}

/* Item image */
.shoptimizer-fly-cart .woocommerce-mini-cart__item img,
.commercekit-fly-cart .woocommerce-mini-cart__item img,
.shoptimizer-fly-cart .mini_cart_item img,
.commercekit-fly-cart .mini_cart_item img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: var(--border-radius-md) !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* Item name */
.shoptimizer-fly-cart .woocommerce-mini-cart__item a:not(.remove),
.commercekit-fly-cart .woocommerce-mini-cart__item a:not(.remove),
.shoptimizer-fly-cart .mini_cart_item a:not(.remove),
.commercekit-fly-cart .mini_cart_item a:not(.remove) {
    font-size: var(--font-size-sm) !important;
    font-weight: var(--font-weight-semibold) !important;
    color: var(--color-gray-900) !important;
    line-height: var(--line-height-tight) !important;
    text-decoration: none !important;
}

/* Item price */
.shoptimizer-fly-cart .woocommerce-mini-cart__item .quantity,
.commercekit-fly-cart .woocommerce-mini-cart__item .quantity,
.shoptimizer-fly-cart .mini_cart_item .quantity,
.commercekit-fly-cart .mini_cart_item .quantity {
    font-size: var(--font-size-sm) !important;
    color: var(--color-gray-500) !important;
    margin-top: var(--space-1) !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__item .amount,
.commercekit-fly-cart .woocommerce-mini-cart__item .amount,
.shoptimizer-fly-cart .mini_cart_item .amount,
.commercekit-fly-cart .mini_cart_item .amount {
    font-size: var(--font-size-base) !important;
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-primary) !important;
}

/* Remove button */
.shoptimizer-fly-cart .woocommerce-mini-cart__item a.remove,
.commercekit-fly-cart .woocommerce-mini-cart__item a.remove,
.shoptimizer-fly-cart .mini_cart_item a.remove,
.commercekit-fly-cart .mini_cart_item a.remove {
    color: var(--color-gray-300) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: color var(--transition-fast), background-color var(--transition-fast) !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__item a.remove:hover,
.commercekit-fly-cart .woocommerce-mini-cart__item a.remove:hover,
.shoptimizer-fly-cart .mini_cart_item a.remove:hover,
.commercekit-fly-cart .mini_cart_item a.remove:hover {
    color: var(--color-primary) !important;
    background-color: rgba(232, 0, 29, 0.08) !important;
}

/* Footer / totals area */
.shoptimizer-fly-cart .woocommerce-mini-cart__total,
.commercekit-fly-cart .woocommerce-mini-cart__total,
.shoptimizer-fly-cart .total,
.commercekit-fly-cart .total {
    padding: var(--space-4) var(--space-5) !important;
    border-top: 1px solid var(--color-gray-300) !important;
    background-color: var(--color-white) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: var(--font-size-base) !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__total strong,
.commercekit-fly-cart .woocommerce-mini-cart__total strong,
.shoptimizer-fly-cart .total strong,
.commercekit-fly-cart .total strong {
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-gray-700) !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__total .amount,
.commercekit-fly-cart .woocommerce-mini-cart__total .amount,
.shoptimizer-fly-cart .total .amount,
.commercekit-fly-cart .total .amount {
    font-size: var(--font-size-xl) !important;
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-gray-900) !important;
}

/* Buttons area */
.shoptimizer-fly-cart .woocommerce-mini-cart__buttons,
.commercekit-fly-cart .woocommerce-mini-cart__buttons,
.shoptimizer-fly-cart .buttons,
.commercekit-fly-cart .buttons {
    padding: 0 var(--space-5) var(--space-5) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-3) !important;
    background-color: var(--color-white) !important;
}

/* Checkout button — primary CTA */
.shoptimizer-fly-cart .woocommerce-mini-cart__buttons a.checkout,
.commercekit-fly-cart .woocommerce-mini-cart__buttons a.checkout,
.shoptimizer-fly-cart .buttons a.checkout,
.commercekit-fly-cart .buttons a.checkout,
.shoptimizer-fly-cart a.checkout.wc-forward,
.commercekit-fly-cart a.checkout.wc-forward {
    display: block !important;
    width: 100% !important;
    padding: var(--space-4) !important;
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-lg) !important;
    font-weight: var(--font-weight-bold) !important;
    text-align: center !important;
    border-radius: var(--border-radius-md) !important;
    border: none !important;
    box-shadow: var(--shadow-cta) !important;
    min-height: 56px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: background-color var(--transition-fast), transform var(--transition-fast) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__buttons a.checkout:hover,
.commercekit-fly-cart .woocommerce-mini-cart__buttons a.checkout:hover,
.shoptimizer-fly-cart .buttons a.checkout:hover,
.commercekit-fly-cart .buttons a.checkout:hover {
    background-color: var(--color-primary-dark) !important;
    color: var(--color-white) !important;
    transform: translateY(-1px) !important;
}

/* View cart button — secondary */
.shoptimizer-fly-cart .woocommerce-mini-cart__buttons a.cart,
.commercekit-fly-cart .woocommerce-mini-cart__buttons a.cart,
.shoptimizer-fly-cart .buttons a.cart,
.commercekit-fly-cart .buttons a.cart,
.shoptimizer-fly-cart a.button.wc-forward:not(.checkout),
.commercekit-fly-cart a.button.wc-forward:not(.checkout) {
    display: block !important;
    width: 100% !important;
    padding: var(--space-3) !important;
    background-color: transparent !important;
    color: var(--color-gray-500) !important;
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: var(--font-weight-medium) !important;
    text-align: center !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: underline !important;
    min-height: auto !important;
    transition: color var(--transition-fast) !important;
}

.shoptimizer-fly-cart .woocommerce-mini-cart__buttons a.cart:hover,
.commercekit-fly-cart .woocommerce-mini-cart__buttons a.cart:hover,
.shoptimizer-fly-cart .buttons a.cart:hover,
.commercekit-fly-cart .buttons a.cart:hover {
    color: var(--color-gray-900) !important;
    background-color: transparent !important;
}

/* Empty cart state */
.shoptimizer-fly-cart .woocommerce-mini-cart__empty-message,
.commercekit-fly-cart .woocommerce-mini-cart__empty-message,
.shoptimizer-fly-cart p.woocommerce-mini-cart__empty-message,
.commercekit-fly-cart p.woocommerce-mini-cart__empty-message {
    text-align: center !important;
    padding: var(--space-12) var(--space-5) !important;
    color: var(--color-gray-500) !important;
    font-size: var(--font-size-sm) !important;
}

/* Cart count badge in header */
.cart-contents .count,
.header-cart-count,
span.cart-count {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-family: var(--font-primary) !important;
    font-size: 11px !important;
    font-weight: var(--font-weight-bold) !important;
    min-width: 18px !important;
    height: 18px !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    line-height: 1 !important;
}
