/* * WEEZEL CHECKOUT & CART STYLES
 * Version 3.0 (Layout Fixes)
 */

/* --- BASIS LAYOUT & VARIABLES --- */
body.woocommerce-cart, 
body.woocommerce-checkout { 
    background-color: var(--neutral-50, #f8fafc); 
    font-family: 'Outfit', sans-serif;
}

h1, h2, h3, h4, h5, h6 { 
    color: var(--neutral-900, #0f172a); 
    font-weight: 700;
}

a { color: var(--primary-700, #84cc16); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--primary-800, #4d7c0f); }

/* --- CART ITEM (LINKS) --- */
.cart-items-wrapper .card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    margin-bottom: 1rem;
    overflow: hidden;
}

/* BILD FIX: Zwingt das Bild, den Container zu füllen */
.cart-item img { 
    width: 100% !important; 
    height: auto !important; 
    max-width: 100% !important;
    border-radius: 8px;
    object-fit: cover;
    aspect-ratio: 1/1; /* Quadratisch, passend zu Rucksäcken */
}

/* Titel & Text */
.cart-item .card-title a {
    color: var(--neutral-900, #0f172a);
    text-decoration: none;
    font-size: 1.1rem;
}

/* Quantity Input Styling */
.quantity .input-group { flex-wrap: nowrap; }
.quantity input.qty {
    border-top: 1px solid var(--neutral-200, #e2e8f0);
    border-bottom: 1px solid var(--neutral-200, #e2e8f0);
    border-left: none;
    border-right: none;
    font-weight: 600;
    color: var(--neutral-900, #0f172a);
    width: 50px;
    text-align: center;
}
.quantity button {
    border: 1px solid var(--neutral-200, #e2e8f0);
    background: #fff;
    color: var(--neutral-600, #64748b);
}
.quantity button:hover {
    background: var(--neutral-50, #f8fafc);
    color: var(--primary-700, #84cc16);
}

/* --- SIDEBAR & TOTALS --- */
.cart-sidebar { position: sticky; top: 20px; }

.cart-summary-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    border: 1px solid var(--neutral-100, #f1f5f9);
}

/* --- IMPULSE (CROSS SELLS) FIX --- */
/* Wir stylen die Standard Woo-Liste (ul.products) um zu Cards */
.wzl-impulse-wrapper ul.products {
    display: flex;
    flex-wrap: wrap; /* Fallback */
    margin: 0 -5px;
    padding: 0;
    list-style: none;
}
.wzl-impulse-wrapper ul.products li.product {
    padding: 0 5px;
    margin-bottom: 0;
    width: 100%; /* Slider regelt die Breite */
}

/* Die "Karte" innerhalb des Sliders */
.wzl-impulse-wrapper ul.products li.product .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid var(--neutral-200, #e2e8f0);
    border-radius: 10px;
    padding: 10px;
    transition: all 0.2s;
    height: 100%;
}
.wzl-impulse-wrapper ul.products li.product:hover .woocommerce-loop-product__link {
    border-color: var(--primary-700, #84cc16);
    transform: translateY(-2px);
}

/* Bild im Impulse Slider */
.wzl-impulse-wrapper ul.products li.product img {
    width: 80px !important; 
    height: 80px !important;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 0.5rem;
}

/* Titel im Impulse Slider */
.wzl-impulse-wrapper ul.products li.product h2 {
    font-size: 0.9rem;
    color: var(--neutral-700, #334155);
    margin-bottom: 4px;
    min-height: 2.2em; /* Damit Boxen gleich hoch sind */
    line-height: 1.1;
}

/* Preis im Impulse Slider */
.wzl-impulse-wrapper ul.products li.product .price {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--primary-700, #84cc16);
    display: block;
    margin-bottom: 8px;
}

/* Add to Cart Button im Slider */
.wzl-impulse-wrapper ul.products li.product .button {
    font-size: 0.75rem;
    padding: 6px 12px;
    width: 100%;
    background-color: var(--neutral-100, #f1f5f9);
    color: var(--neutral-700, #334155);
    border-radius: 6px;
    font-weight: 600;
}
.wzl-impulse-wrapper ul.products li.product .button:hover {
    background-color: var(--primary-700, #84cc16);
    color: #fff;
}

/* --- YITH POINTS & REWARDS FIX --- */
/* Style für die "Taler einlösen" Box, die YITH einfügt */
.cart-sidebar .ywpar-points-cart-messages,
.cart-sidebar .ywpar-cart-messages {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #b45309;
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}
.cart-sidebar form.ywpar-apply-points {
    background: #fff;
    border: 1px solid var(--neutral-200);
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}
/* Slider/Input styling für YITH */
.cart-sidebar form.ywpar-apply-points input[type="number"] {
    width: 100%;
    border: 1px solid var(--neutral-300);
    border-radius: 6px;
    padding: 8px;
    margin-bottom: 8px;
}
.cart-sidebar form.ywpar-apply-points input[type="submit"] {
    width: 100%;
    background: var(--primary-700, #84cc16);
    color: #fff;
    border: none;
    padding: 8px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

/* --- BUTTONS & UTILS --- */
.btn-primary, 
.wc-proceed-to-checkout .button, 
#place_order {
    background-color: var(--primary-700, #84cc16) !important; 
    border-color: var(--primary-700, #84cc16) !important;
    color: #fff !important; 
    font-weight: 600; 
    padding: 14px 24px; 
    border-radius: 8px;
    width: 100%;
    display: block;
    text-align: center;
    transition: all 0.2s;
    font-size: 1.1rem;
}
.btn-primary:hover, 
.wc-proceed-to-checkout .button:hover { 
    background-color: var(--primary-800, #4d7c0f) !important; 
    border-color: var(--primary-800, #4d7c0f) !important; 
    transform: translateY(-1px); 
}

/* Timer Bar */
.cart-timer-bar {
    background: #fffbeb; 
    color: #b45309; 
    text-align: center;
    padding: 8px; 
    font-size: 0.9rem; 
    font-weight: 500;
    border-bottom: 1px solid #fcd34d;
}