/**
 * NBN Cart Dark Glass Theme - Unified Styles
 * Includes mini-cart, cart checkout, and stepped cart styles
 * Dark glass effect with orange/coral accents
 */

/* CSS Variables for Consistent Theming */
:root {
    /* Primary Colors */
    --nbn-navy-bg: rgba(30, 42, 71, 0.95);
    --nbn-navy-solid: rgb(30, 42, 71);
    --nbn-navy-light: rgba(30, 42, 71, 0.9);

    /* Accent Colors - Orange/Coral Gradient */
    --nbn-orange-start: #ff6b6b;
    --nbn-orange-end: #ffb800;
    --nbn-gradient: linear-gradient(135deg, var(--nbn-orange-start) 0%, var(--nbn-orange-end) 100%);

    /* Price Colors - Teal/Cyan */
    --nbn-teal-start: #4fd1c5;
    --nbn-teal-end: #20d6b4;
    --nbn-price-gradient: linear-gradient(135deg, var(--nbn-teal-start) 0%, var(--nbn-teal-end) 100%);

    /* Glass Effect */
    --nbn-backdrop-blur: 20px;
    --nbn-border-glass: rgba(255, 255, 255, 0.1);
    --nbn-border-glass-hover: rgba(255, 255, 255, 0.2);

    /* Text Colors */
    --nbn-text-primary: white;
    --nbn-text-secondary: rgba(255, 255, 255, 0.8);
    --nbn-text-muted: rgba(255, 255, 255, 0.6);

    /* Shadows */
    --nbn-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
    --nbn-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
    --nbn-shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.5);
    --nbn-shadow-orange: 0 4px 15px rgba(255, 107, 107, 0.3);

    /* Enhanced Animations */
    --bounce-in: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --smooth-out: cubic-bezier(0.4, 0, 0.2, 1);
}

/* =========================
   Cart & Checkout Container Styles
   ========================= */

.nbn-cart-checkout-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Dark Glass Cart Summary */
.nbn-cart-summary-column {
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    padding: 30px;
    border-radius: 16px;
    box-shadow: var(--nbn-shadow-lg);
    position: sticky;
    top: 20px;
    color: var(--nbn-text-primary);
}

.nbn-cart-summary-column h2 {
    color: var(--nbn-text-primary);
    margin-bottom: 25px;
    font-weight: 600;
}

/* Add subtle animated background pattern */
.nbn-cart-summary-column::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background:
        radial-gradient(circle at 20% 50%, rgba(79, 209, 197, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 50%, rgba(255, 107, 107, 0.05) 0%, transparent 50%);
    animation: floatBackground 20s ease-in-out infinite;
    pointer-events: none;
    border-radius: 16px;
}

@keyframes floatBackground {
    0%,
    100% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(180deg) scale(1.1);
    }
}

/* Cart Items with Glass Effect */
.nbn-cart-summary-item {
    display: flex;
    justify-content: space-between;
    padding: 15px;
    margin-bottom: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.nbn-cart-summary-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}

.nbn-item-info h4 {
    color: var(--nbn-text-primary);
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 500;
}

.nbn-item-meta {
    font-size: 14px;
    color: var(--nbn-text-muted);
    margin: 5px 0;
}

/* Price Display with Teal/Cyan Gradient */
.nbn-item-price {
    text-align: right;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.nbn-item-price span:first-child {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 18px;
    font-weight: 700;
}

.nbn-recurring-label {
    font-size: 12px;
    color: var(--nbn-text-muted);
    font-weight: 400;
}

/* Remove Button Styling */
.nbn-item-remove {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    padding: 5px;
    transition: all 0.2s;
}

.nbn-item-remove:hover {
    color: #f56565;
}

/* Enhanced Cart Item States */
.nbn-cart-summary-item.empty {
    border: 2px dashed rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.02);
    cursor: default;
}

.nbn-cart-summary-item:not(.empty) {
    animation: itemAdded 0.6s var(--bounce-in);
}

@keyframes itemAdded {
    0% {
        transform: scale(0) rotate(180deg);
        opacity: 0;
    }

    50% {
        transform: scale(1.1) rotate(10deg);
    }

    100% {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

/* Enhanced Item Icon with Shimmer */
.nbn-cart-item-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nbn-price-gradient);
    border-radius: 8px;
    font-size: 18px;
    color: white;
    position: relative;
    overflow: hidden;
}

/* Animated Icon Background */
.nbn-cart-item-icon::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%);
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% {
        transform: translateX(-100%) translateY(-100%) rotate(45deg);
    }

    100% {
        transform: translateX(100%) translateY(100%) rotate(45deg);
    }
}

/* Totals Section */
.nbn-cart-totals-summary {
    padding-top: 20px;
    border-top: 2px solid var(--nbn-border-glass);
}

.nbn-total-line {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 16px;
    color: var(--nbn-text-secondary);
}

.nbn-total-today {
    font-size: 20px;
    font-weight: 600;
    border-top: 1px solid var(--nbn-border-glass);
    margin-top: 10px;
    padding-top: 15px;
    color: var(--nbn-text-primary);
}

.nbn-total-today .nbn-total-amount {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 24px;
    font-weight: 700;
}

/* Value Proposition Badge */
.nbn-value-badge {
    position: absolute;
    top: -8px;
    left: 20px;
    background: var(--nbn-orange-start);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    text-transform: none;
    letter-spacing: 0.3px;
    animation: pulseBadge 2s ease-in-out infinite;
    box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
}

@keyframes pulseBadge {
    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Speed Badge for Plans */
.nbn-speed-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: var(--nbn-teal-start);
    color: white;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    margin-left: 8px;
}

/* Savings Indicator */
.nbn-savings-indicator {
    position: absolute;
    top: -20px;
    right: 20px;
    background: var(--nbn-orange-start);
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    animation: savingsPulse 2s ease-in-out infinite;
}

@keyframes savingsPulse {
    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7);
    }

    50% {
        transform: scale(1.05);
        box-shadow: 0 0 0 8px rgba(255, 107, 107, 0);
    }
}

/* =========================
   Orange/Coral Gradient Buttons
   ========================= */

.nbn-checkout-button,
.button.alt,
.nbn-button-primary {
    background: var(--nbn-gradient);
    color: white;
    border: none;
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: var(--nbn-shadow-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.nbn-checkout-button:hover,
.button.alt:hover,
.nbn-button-primary:hover {
    background: linear-gradient(135deg, #ff5252 0%, #ffa000 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
}

/* Button Ripple Effect */
.nbn-checkout-button::before,
.button.alt::before,
.nbn-button-primary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transform: translate(-50%, -50%);
    transition:
        width 0.6s,
        height 0.6s;
}

.nbn-checkout-button:active::before,
.button.alt:active::before,
.nbn-button-primary:active::before {
    width: 300px;
    height: 300px;
}

/* Disabled State */
.nbn-checkout-button:disabled,
.button.alt:disabled,
.nbn-button-primary:disabled {
    background: rgba(255, 255, 255, 0.1);
    cursor: not-allowed;
    box-shadow: none;
}

/* Checkout Form Dark Theme */
.nbn-checkout-form-column {
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    padding: 30px;
    border-radius: 16px;
    box-shadow: var(--nbn-shadow-lg);
    color: var(--nbn-text-primary);
}

.nbn-checkout-form h2,
.nbn-form-section h3 {
    color: var(--nbn-text-primary);
}

.nbn-form-field label {
    color: var(--nbn-text-secondary);
}

.nbn-form-field input[type='text'],
.nbn-form-field input[type='email'],
.nbn-form-field input[type='tel'],
.nbn-form-field input[type='password'],
.nbn-form-field select,
.nbn-form-field textarea {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--nbn-border-glass);
    color: var(--nbn-text-primary);
    padding: 12px 15px;
    border-radius: 8px;
    transition: all 0.3s;
}

.nbn-form-field input:focus,
.nbn-form-field select:focus,
.nbn-form-field textarea:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--nbn-teal-start);
    outline: none;
    box-shadow: 0 0 0 3px rgba(79, 209, 197, 0.2);
}

/* =========================
   Stepped Cart Progress Bar
   ========================= */

.nbn-step-progress {
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 30px;
}

.nbn-step-circle {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid var(--nbn-border-glass);
    color: var(--nbn-text-muted);
    transition: all 0.3s ease;
}

.nbn-step-active .nbn-step-circle {
    background: var(--nbn-gradient);
    border-color: var(--nbn-orange-start);
    color: white;
    box-shadow: var(--nbn-shadow-orange);
}

.nbn-step-current .nbn-step-circle {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--nbn-teal-start);
    color: var(--nbn-teal-start);
    box-shadow: 0 0 0 3px rgba(79, 209, 197, 0.2);
}

.nbn-step-label {
    color: var(--nbn-text-muted);
    font-size: 14px;
    margin-top: 8px;
}

.nbn-step-active .nbn-step-label,
.nbn-step-current .nbn-step-label {
    color: var(--nbn-text-primary);
}

.nbn-step-line {
    background: var(--nbn-border-glass);
}

.nbn-step-line-progress {
    background: var(--nbn-gradient);
}

/* =========================
   Mini Cart V2 Enhancements
   ========================= */

/* Add price gradient to mini cart items */
.nbn-mini-cart-item .item-price > span:first-child {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600;
}

/* Enhance mini cart total display */
.nbn-mini-cart-footer .total-today .total-amount {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 18px;
    font-weight: 700;
}

/* =========================
   Custom Cart Dark Theme
   ========================= */

.nbn-custom-cart {
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    border-radius: 16px;
    box-shadow: var(--nbn-shadow-lg);
    padding: 30px;
    color: var(--nbn-text-primary);
}

.nbn-cart-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.nbn-cart-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}

.nbn-cart-item-title {
    color: var(--nbn-text-primary);
}

.nbn-cart-item-address,
.nbn-cart-item-connection {
    color: var(--nbn-text-muted);
}

.nbn-cart-item-price {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 20px;
    font-weight: 700;
}

/* Quantity Controls Dark Theme */
.nbn-cart-item-quantity,
.nbn-item-quantity-controls {
    border-color: var(--nbn-border-glass);
}

.nbn-quantity-minus,
.nbn-quantity-plus,
.nbn-qty-minus,
.nbn-qty-plus {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--nbn-border-glass);
    color: var(--nbn-text-secondary);
}

.nbn-quantity-minus:hover,
.nbn-quantity-plus:hover,
.nbn-qty-minus:hover,
.nbn-qty-plus:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--nbn-border-glass-hover);
    color: var(--nbn-text-primary);
}

.nbn-quantity-input,
.nbn-qty-input {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--nbn-border-glass);
    color: var(--nbn-text-primary);
}

/* Cart Total Dark Theme */
.nbn-cart-total-amount {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* =========================
   Trust Indicators with Tooltips
   ========================= */

.nbn-trust-indicators {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 16px;
    padding-left: 16px;
    border-left: 1px solid var(--nbn-border-glass);
}

.nbn-trust-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--nbn-text-muted);
    position: relative;
}

.nbn-trust-icon {
    width: 14px;
    height: 14px;
    color: var(--nbn-teal-start);
}

/* Info Icon */
.nbn-info-icon {
    font-size: 10px;
    color: var(--nbn-text-muted);
    cursor: help;
    position: relative;
    display: inline-flex;
}

/* Tooltip Container - JavaScript will add this */
.nbn-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 8px;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.9);
    color: white;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    border-radius: 4px;
    z-index: 999;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
    line-height: 1.4;
    max-width: 250px;
}

/* Tooltip arrow */
.nbn-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: rgba(0, 0, 0, 0.9) transparent transparent transparent;
}

/* Show tooltip on hover */
.nbn-trust-item:hover .nbn-tooltip,
.nbn-info-icon:hover .nbn-tooltip,
.has-tooltip:hover .nbn-tooltip {
    opacity: 1;
    visibility: visible;
}

/* Right-aligned tooltip for info icons */
.nbn-info-icon .nbn-tooltip {
    left: auto;
    right: -10px;
    transform: translateX(0);
}

.nbn-info-icon .nbn-tooltip::after {
    left: auto;
    right: 15px;
}

/* =========================
   Loading States
   ========================= */

.nbn-cart-loading,
.nbn-mini-cart-loading {
    background: rgba(30, 42, 71, 0.9);
}

.nbn-spinner {
    border-color: var(--nbn-border-glass);
    border-top-color: var(--nbn-teal-start);
}

/* =========================
   Security Badges Dark Theme
   ========================= */

.nbn-security-badges {
    border-top-color: var(--nbn-border-glass);
}

.nbn-security-badges p {
    color: var(--nbn-text-secondary);
}

.nbn-security-badges .dashicons {
    color: var(--nbn-teal-start);
}

/* =========================
   Mobile Responsive
   ========================= */

@media (max-width: 768px) {
    .nbn-cart-checkout-wrapper {
        padding: 15px;
    }

    .nbn-cart-summary-column,
    .nbn-checkout-form-column,
    .nbn-custom-cart {
        padding: 20px;
        border-radius: 12px;
    }

    .nbn-checkout-button,
    .button.alt,
    .nbn-button-primary {
        width: 100%;
        padding: 12px 20px;
        font-size: 14px;
    }

    /* Hide tooltips on mobile */
    .nbn-tooltip {
        display: none;
    }

    .nbn-value-badge {
        display: none;
    }

    .nbn-trust-indicators {
        display: none;
    }

    /* Mobile-specific animations */
    .nbn-cart-summary-item:not(.empty) {
        animation: mobileItemAdded 0.4s ease-out;
    }

    @keyframes mobileItemAdded {
        0% {
            transform: scale(0.8);
            opacity: 0;
        }

        100% {
            transform: scale(1);
            opacity: 1;
        }
    }
}

/* =========================
   Celebration Animations & Confetti
   ========================= */

/* Celebration Animation for Completed Cart */
@keyframes celebration {
    0% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.05) rotate(2deg);
    }

    50% {
        transform: scale(1) rotate(-2deg);
    }

    75% {
        transform: scale(1.05) rotate(1deg);
    }

    100% {
        transform: scale(1) rotate(0deg);
    }
}

.nbn-cart-complete {
    animation: celebration 0.6s ease-in-out;
}

/* Confetti Effect for Checkout */
.nbn-confetti {
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--nbn-teal-start);
    border-radius: 50%;
    animation: confetti-fall 3s linear forwards;
}

.nbn-confetti:nth-child(2n) {
    background: var(--nbn-orange-start);
}

.nbn-confetti:nth-child(3n) {
    background: var(--nbn-orange-end);
}

@keyframes confetti-fall {
    0% {
        transform: translateY(-100vh) rotate(0deg);
        opacity: 1;
    }

    100% {
        transform: translateY(100vh) rotate(720deg);
        opacity: 0;
    }
}

/* Animated price counter effect */
.nbn-cart-payment-amount[data-value]::after {
    content: attr(data-value);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: var(--nbn-text-primary);
    animation: priceCount 0.6s ease-out;
}

@keyframes priceCount {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* =========================
   Utility Classes
   ========================= */

.nbn-glass-effect {
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    box-shadow: var(--nbn-shadow-lg);
}

.nbn-price-gradient {
    background: var(--nbn-price-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nbn-button-gradient {
    background: var(--nbn-gradient);
    color: white;
    box-shadow: var(--nbn-shadow-orange);
}

.nbn-button-gradient:hover {
    background: linear-gradient(135deg, #ff5252 0%, #ffa000 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
}

/* =========================
   Mini Cart Essential Styles
   ========================= */

/* Mini Cart Wrapper */
.nbn-mini-cart-wrapper {
    position: relative;
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.nbn-mini-cart-wrapper.nbn-mini-cart-fixed {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    animation: slideInUp 0.3s ease-out;
}

@keyframes slideInUp {
    from {
        transform: translateY(100px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Mini Cart Button - CRITICAL: Hidden when empty */
.nbn-mini-cart {
    display: none !important; /* Hidden by default */
    align-items: center;
    background: var(--nbn-navy-bg);
    backdrop-filter: blur(var(--nbn-backdrop-blur));
    -webkit-backdrop-filter: blur(var(--nbn-backdrop-blur));
    border: 1px solid var(--nbn-border-glass);
    color: var(--nbn-text-primary);
    padding: 12px 16px;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: var(--nbn-shadow-md);
    transition: all 0.3s ease;
    position: relative;
    font-weight: 500;
    font-size: 14px;
    min-width: 140px;
    height: 48px;
}

/* CRITICAL: Show mini-cart only when it has items */
.nbn-mini-cart.has-items {
    display: flex !important; /* Show only when items exist */
}

.nbn-mini-cart:hover {
    background: var(--nbn-navy-light);
    border-color: var(--nbn-border-glass-hover);
    transform: translateY(-2px);
    box-shadow: var(--nbn-shadow-lg);
}

/* Cart Icon */
.nbn-mini-cart .dashicons {
    font-size: 18px;
    margin-right: 8px;
    color: var(--nbn-text-primary);
}

/* Cart Count */
.nbn-mini-cart-count {
    background: var(--nbn-gradient);
    color: white;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 10px;
    margin-right: 8px;
    min-width: 18px;
    text-align: center;
    line-height: 1.2;
}

/* Cart Total */
.nbn-mini-cart-total {
    font-weight: 600;
    color: var(--nbn-text-primary);
    font-size: 14px;
}
