/* ==============================================
   KOŠÍK – TABULKA PRODUKTŮ & SOUHRN (KROK 1)
   Upravuje: tabulka, obrázky, množství, ceny, souhrn
   ============================================== */




@media (min-width: 992px) {


/* ==================================================
   KOŠÍK KROK 1: TABULKA A SOUHRN (MODERNIZACE)
   ================================================== */

/* --- 1. TABULKA PRODUKTŮ --- */

/* Odstranění starých rámečků a stínů */
.cart-inner, .cart-table {
    border: none !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Hlavička tabulky (Dostupnost, Počet, Cena...) */
.cart-table-header td {
    border-bottom: 2px solid #eee !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #999 !important;
    text-transform: uppercase !important;
    padding-bottom: 15px !important;
}

tr.removeable {
    border-bottom: 1px solid #f0f0f0 !important;
    transition: background 0.2s !important;
}
tr.removeable:hover {
    background: #fafafa !important;
}

.cart-table td {
    vertical-align: middle !important;
    padding: 20px 10px !important;
}


}


.cart-p-image img {
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    padding: 3px !important;
    background: #fff !important;
    width: 80px !important;
    height: auto !important;
    max-width: 100% !important;
}

.p-name .main-link {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 5px !important;
}
.p-name .main-link:hover { color: var(--rc-gold) !important; }

.availability-label {
    font-size: 13px !important;
    font-weight: 600 !important;
}

.quantity-form .quantity {
    display: inline-flex !important;
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 36px !important;
}
.quantity-form .quantity input {
    border: none !important;
    background: transparent !important;
    font-weight: bold !important;
    width: 40px !important;
    text-align: center !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.quantity-form .quantity button {
    background: #f5f5f5 !important;
    border: none !important;
    width: 30px !important;
    height: 100% !important;
    color: #555 !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}
.quantity-form .quantity button:hover {
    background: var(--rc-gold) !important;
    color: #fff !important;
}

.p-price .price-final, .p-total .price-final {
    font-size: 15px !important;
    color: #333 !important;
    font-weight: 600 !important;
}
.p-total .price-final {
    font-weight: 800 !important;
    font-size: 16px !important;
}

button.remove-item {
    background: transparent !important;
    border: 1px solid #eee !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    color: #aaa !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 10px !important;
}
button.remove-item:hover {
    background: #ffebeb !important;
    color: #d9534f !important;
    border-color: #d9534f !important;
}
button.remove-item::before {
    content: "\00d7";
    font-size: 20px !important;
    line-height: 1 !important;
    margin-top: -2px !important;
}
button.remove-item span { display: none !important; }


tr.related td {
    background: #fdfdfd !important;
    padding: 10px 20px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
.cart-related-product {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
}
.cart-related-img img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 4px !important;
}
.cart-related-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
}
.cart-related-button .btn {
    padding: 4px 10px !important;
    font-size: 12px !important;
    background: #fff !important;
    border: 1px solid var(--rc-gold) !important;
    color: var(--rc-gold) !important;
    text-transform: none !important;
}
.cart-related-button .btn:hover {
    background: var(--rc-gold) !important;
    color: #fff !important;
}

/* ==================================================
   KOŠÍK FIX: MNOŽSTVÍ (+/-)
   ================================================== */

.quantity-form .quantity button,
.quantity-form .quantity .increase,
.quantity-form .quantity .decrease {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    text-indent: 0 !important;
    line-height: 1 !important;
}

.quantity-form .quantity .increase::before,
.quantity-form .quantity .decrease::before {
    font-family: Arial, sans-serif !important;
    font-weight: 300 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    position: static !important;
    background: none !important;
    display: block !important;
}

.quantity-form .quantity .increase::before { content: "+" !important; margin-top: 1px !important; }
.quantity-form .quantity .decrease::before { content: "-" !important; margin-top: -1px !important; }
.quantity-form .quantity button span { display: none !important; }


@media (min-width: 992px) {

.cart-table tr.removeable td {
    display: table-cell !important;
    vertical-align: middle !important;
    height: auto !important;
    border-bottom: 1px solid #eee !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.cart-table tr.removeable td.p-total {
    white-space: nowrap !important;
    text-align: right !important;
    width: 1% !important;
}

.cart-table tr.removeable td.p-total .price-final {
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    line-height: 1.2 !important;
}

.cart-table tr.removeable td.p-total form {
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 0 0 15px !important;
    padding: 0 !important;
}

.cart-table tr.removeable td.p-total .remove-item {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cart-table tr.removeable td.p-total .p-label { display: none !important; }
}

@media (max-width: 768px) {
    .cart-table tr.removeable td.p-total {
        display: flex !important;
        justify-content: space-between !important;
        white-space: normal !important;
        width: 100% !important;
        text-align: left !important;
    }
    .cart-table tr.removeable td.p-total .p-label { display: inline-block !important; }
    .cart-table tr.removeable td.p-total .remove-item { margin-left: 0 !important; }
}

/* ==================================================
   KOŠÍK KROK 1: SOUHRN - FINÁLNÍ GRID FIX
   ================================================== */

div.summary {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    background: #fdfdfd !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-top: 20px !important;
    gap: 30px !important;
}

div.summary .col-md-8 {
    flex: 1 1 auto !important;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
}

.toggle-coupon-input-button { margin-bottom: 5px !important; font-size: 16px !important; }
.coupon-input { margin-bottom: 10px !important; width: 100% !important; max-width: 405px !important; }

@media (max-width: 767px) {
    .coupon-input { margin-bottom: 10px !important; width: 100% !important; max-width: 700px !important; }
}

.delivery-time { margin: 0 !important; padding: 5px 0 !important; background: transparent !important; border: none !important; font-size: 13px !important; }

div.summary .col-md-4 {
    flex: 0 0 400px !important;
    width: 400px !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
}

.price-wrapper {
    text-align: right !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
    box-shadow: none !important;
    border: none !important;
}
.price-wrapper .price-label.price-primary { display: none !important; }
.price-wrapper .price.price-primary { font-size: 34px !important; font-weight: 800 !important; color: #000 !important; line-height: 1 !important; }
.price-wrapper .price-secondary { font-size: 11px !important; color: #999 !important; margin-top: 3px !important; }

.next-step {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 15px 0 0 0 !important;
    border-top: 1px solid #eee !important;
}

.next-step-forward {
    flex: 2 !important;
    background: var(--rc-gold) !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    padding: 12px 20px !important;
    text-align: center !important;
    font-size: 15px !important;
    border: none !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.next-step-forward:hover { background: #000 !important; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }

.next-step-back {
    flex: 1 !important;
    order: -1 !important;
    text-align: left !important;
    color: #888 !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    white-space: nowrap !important;
}
.next-step-back:hover { color: #000 !important; text-decoration: none !important; }

@media (max-width: 991px) {
    div.summary { flex-direction: column !important; align-items: stretch !important; gap: 20px !important; }
    div.summary .col-md-8, div.summary .col-md-4 { width: 100% !important; flex: auto !important; }
    div.summary .col-md-8 { border-bottom: 1px solid #eee !important; padding-bottom: 20px !important; }
    .next-step { flex-direction: column-reverse !important; }
    .next-step-forward, .next-step-back { width: 100% !important; text-align: center !important; }
    .next-step-back { margin-top: 5px !important; }
}
