/* Default collapsed height for mobile cart header area (summary + tabs) */
:root{ --cart-collapsed-height: 12vh; }
/* Prawa kolumna i koszyk */
#rightCol{min-height:0;display:flex;flex-direction:column;overflow:hidden;height:100%}
.cart-card{display:flex;flex-direction:column;min-height:0;flex:1}
.cart-card{max-height:100%;}
.cart-main{display:flex;flex-direction:column;flex:1;gap:clamp(1vh, 1.5vw, 1.5vh);min-height:0;overflow:hidden}
.cart-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;border-radius:10px;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;touch-action:pan-y}

/* Koszyk – stałe szerokości kolumn */
.cart-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:calc(13px * var(--ui-scale))}
.cart-table th,.cart-table td{padding:6px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:middle}
.cart-table .right{text-align:right}
.cart-table .center{text-align:center}
.col-name{width:35%}
.col-price{width:25%}
.col-qty{width:12%}
.col-sum{width:20%}
.col-act{width:8%}
.price-input{width:100%;max-width:none;font-size:1em;padding:0.4em 0.6em;border-radius:10px;border:none;min-width:0}
.qty-cell input{ padding:0.4em 0.6em; font-size:1em; border-radius:10px; width:auto; min-width:0; }
.cart-table .name-cell{ word-break:break-word; }
/* Product name bold and VAT note tiny */
.cart-table .name-cell .pname{ font-weight:800; }
.cart-table .name-cell .muted{ font-size:calc(10px * var(--ui-scale)); opacity:.8; }

/* Inputs flex to fill available column; avoid forced character-based widths */
/* Consistent, equal widths for numeric inputs in cart */
:root{ --num-input-width: 7ch; }
.cart-table input{ font-variant-numeric: tabular-nums; }
.price-field, .qty-field{ width:var(--num-input-width); min-width:var(--num-input-width); max-width:var(--num-input-width); }
.cart-price-wrap input.price-field{ flex:0 0 var(--num-input-width); }
.qty-cell input.qty-field{ flex:0 0 var(--num-input-width); }

/* Compact controls in price cell */
.btn-small{ padding:6px 8px; font-size:0.9em; }
.pct-btn{ padding:0.25em 0.5em; border-radius:8px; flex:0 0 auto; }
.cart-price-wrap{ display:flex; align-items:center; gap:4px; justify-content:center; }
.cart-price-wrap input{ min-width:0; }

/* Hide number input spinners (cart only) */
.cart-table input[type=number]::-webkit-outer-spin-button,
.cart-table input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cart-table input[type=number]{ appearance: textfield; -moz-appearance:textfield; text-align:center; }

/* Cart summary bar */
.cart-summary{ display:none; align-items:center; gap:12px; justify-content:space-between; }
.summary-main{ flex:1; display:flex; align-items:center; gap:12px; background:transparent; border:none; color:#fff; font-weight:600; padding:8px 0; }
.summary-main:focus{ outline:2px solid rgba(255,255,255,.3); outline-offset:2px; }
.summary-count,.summary-total{ font-size:calc(0.95rem * var(--ui-scale)); display:flex; align-items:center; gap:6px; }
.summary-main #btnIssueSummary{ margin-left:auto; }
/* duplicated for specificity above; keep here for compatibility */
.cart-main{ display:flex; flex-direction:column; flex:1; gap:clamp(1vh, 1.5vw, 1.5vh); min-height:0; }
#btnIssueSummary{ white-space:nowrap; }

/* Enlarged fonts inside expanded cart panel (desktop always expanded; mobile when opened) */
.cart-card .cart-main .cart-table{ font-size:calc(15px * var(--ui-scale)); }
.cart-card .cart-main .cart-table .name-cell .pname{ font-size:1.1em; }
.cart-card .cart-main .cart-table .right{ font-size:1.05em; }
.cart-card .cart-main .price-input,
.cart-card .cart-main .qty-cell input{ font-size:1.05em; }
.cart-card .cart-main .totals .row{ font-size:calc(1.05rem * var(--ui-scale)); }
.cart-card .cart-main #sumGross{ font-size:calc(1.1rem * var(--ui-scale)); }

/* Delete button (round red X) */
.btn-del{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; border-radius:50%; background:var(--bad); color:#fff; border:none; font-weight:800; font-size:calc(14px * var(--ui-scale)); }
.btn-del:hover{ background:#c0392b; }

/* Keep action buttons visible within cart; scroll the list only */
.action-row{ position:sticky; bottom:0; background:var(--card); padding-top:8px; }
.totals{ position:sticky; bottom:56px; background:var(--card); }

/* Zebra striping */
#cartTable tbody tr:nth-child(2n){ background-color: rgba(255,255,255,0.03); }

/* Multi-cart tabs */
.cart-tabs{ display:flex; gap:8px; align-items:center; justify-content:center; margin:8px 0; flex-wrap:nowrap; overflow-x:auto; }
.cart-tab{ padding:6px 10px; border-radius:10px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; cursor:pointer; font-weight:600; font-size:calc(0.95rem * var(--ui-scale)); white-space:nowrap; }
.cart-tab.active{ background: var(--ok); border-color: var(--ok-dark); color:#fff; box-shadow: none; }
.cart-tab.has-items:not(.active){ border-color: rgba(231, 76, 60, .6); box-shadow: inset 0 0 0 1px rgba(231,76,60,.35); background: rgba(231,76,60,.18); }
.cart-tab:focus{ outline:2px solid rgba(255,255,255,.35); outline-offset:2px; }
/* "Nowy" button styling - green accent */
.cart-tab-new{ background: rgba(46, 204, 113, 0.2); border-color: rgba(46, 204, 113, 0.4); color: #2ecc71; font-weight:700; }
.cart-tab-new:hover{ background: rgba(46, 204, 113, 0.3); border-color: rgba(46, 204, 113, 0.6); }
/* Desktop/Mobile visibility helpers for cart tabs */
.desktop-only{ display:flex; }
@media (max-width:820px){ .desktop-only{ display:none; } }

/* Mobile-only helper */
@media (max-width:1024px){ .mobile-only{display:inline-block} #rightCol{ max-height:60vh; } .cart-card{ height:100%; } .cart-scroll{ max-height:calc(60vh - 160px); } }
@media (max-width:820px){
    .wrap{grid-template-columns:1fr;gap:clamp(1vh, 1.5vw, 1.5vh);padding:clamp(1vh, 1.5vw, 1.5vh);height:100vh;}
    #rightCol{min-height:0;}
    #rightCol .card:not(#cartCard){display:none;}
    .cart-summary{display:flex;}
    /* Default state: cart collapsed (without .mobile-open class) - FORCE collapsed by default */
    .cart-card{position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:clamp(1.8vh, 2.5vw, 3vh) clamp(1.8vh, 2.5vw, 3vh) 0 0;box-shadow:0 -12px 32px rgba(0,0,0,.45);padding:clamp(1vh, 1.5vw, 1.5vh) clamp(1.5vh, 2vw, 2.5vh) clamp(1.5vh, 2vw, 2.5vh);background:var(--card);z-index:700;transform:translateY(calc(100% - var(--cart-collapsed-height))) !important;transition:transform .28s ease;}
    /* Reduce padding when collapsed to minimize gap around tabs */
    .cart-card:not(.mobile-open){ padding-top: clamp(0.3vh, 0.7vw, 0.7vh); padding-bottom: clamp(0.3vh, 0.7vw, 0.7vh); }
    /* Expanded state: cart open (with .mobile-open class) */
    .cart-card.mobile-open{transform:translateY(0) !important;}
    /* Hide cart content when collapsed - x-show will override this */
    .cart-card .cart-main{display:flex;flex-direction:column;flex:1;gap:clamp(1vh, 1.5vw, 1.5vh);}
    .cart-card .cart-scroll{max-height:52vh;}
    .cart-card .totals, .cart-card .action-row{margin-top:12px;}
    #btnIssueSummary{display:inline-flex;align-items:center;padding:8px 12px;font-size:calc(0.95rem * var(--ui-scale));}
    .summary-main{justify-content:flex-start;}
    .cart-main{margin-top:8px;}
    /* Make summary stack vertically to fit tabs nicely */
    .cart-summary{ flex-direction: column; align-items: stretch; gap: 6px; }
    .cart-summary .summary-main{ padding:6px 0; }
    .cart-summary #btnIssueSummary{ align-self:flex-end; }
    .cart-summary .cart-tabs{ margin-top:2px; }
    /* Ensure mobile tabs container stays flex, not inline-block */
    #cartTabs.cart-tabs.mobile-only{ display:flex; }
}

/* Tiny screens */
@media (max-width:520px){
    /* Slightly smaller boost on tiny screens to avoid overflow */
    .cart-card .cart-main .cart-table{ font-size:calc(14px * var(--ui-scale)); }
    .cart-card .cart-main .cart-table .name-cell .pname{ font-size:1.06em; }
    .cart-card .cart-main .cart-table .right{ font-size:1em; }
    .cart-card .totals, .cart-card .action-row{margin-top:12px;}
    .cart-tabs{ margin:8px 0 4px 0; }
    .cart-tab{ padding:8px 12px; font-size:calc(0.95rem * var(--ui-scale)); }
    .cart-table th, .cart-table td{ padding:4px; }
    .cart-table .name-cell .pname{ font-size:calc(0.9rem * var(--ui-scale)); }
    .cart-table .name-cell .muted{ font-size:calc(9px * var(--ui-scale)); }
    .cart-price-wrap{ gap:2px; }
    .price-field{ width:100%; max-width:none; }
    .qty-field{ width:100%; max-width:none; }
    .cart-table .price-input{ padding:0.3em 0.4em; font-size:0.9em; }
    .cart-table .qty-cell .unit{ display:none; }
    .btn-del{ width:24px; height:24px; font-size:calc(12px * var(--ui-scale)); }
    .cart-table .right{ font-size:calc(0.9rem * var(--ui-scale)); }
}
