/* Variant 3. Cart-only layout; native Bitrix price rendering and actions are retained. */
.puzzle-cart-page { --cart-ink:#232a34; --cart-muted:#6d7582; --cart-line:#e4e7eb; color:var(--cart-ink); padding-bottom:48px; }
.puzzle-cart-page *, .puzzle-cart-page *:before, .puzzle-cart-page *:after { box-sizing:border-box; }
.puzzle-cart-page .puzzle-cart-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:24px 0 12px; }
.puzzle-cart-page h1 { font-size:38px; line-height:1.2; font-weight:700; letter-spacing:-.7px; margin:0; color:var(--cart-ink); }
.puzzle-cart-page .puzzle-cart-back { color:#bb6500; font-size:16px; padding:12px 0; text-decoration:none; white-space:nowrap; }
.puzzle-cart-page .puzzle-cart-back:hover { color:#8c4b00; text-decoration:underline; }
.puzzle-cart-page > br { display:none; }
.puzzle-cart-page .clearall { margin:0; text-align:right; flex:none; }
.puzzle-cart-page .clear-cart { background:none; border:0; color:var(--cart-muted); font-size:13px; padding:8px 0 8px 14px; cursor:pointer; }
.puzzle-cart-page .clear-cart:hover { color:#800020; }
.puzzle-cart-page #basket-root { display:flex; flex-direction:column; gap:0; border:0; font-family:inherit; }
.puzzle-cart-page #basket-root > .row { margin:0; width:100%; min-width:0; }
.puzzle-cart-page #basket-root > .row:before, .puzzle-cart-page #basket-root > .row:after { display:none; }
.puzzle-cart-page #basket-root > .row > .col-xs-12 { padding:0; width:100%; float:none; }
.puzzle-cart-page .puzzle-cart-notices { order:0; }
.puzzle-cart-page .puzzle-cart-items { order:1; }
.puzzle-cart-page .puzzle-cart-summary { order:2; position:static; margin-top:24px!important; }
.puzzle-cart-page #basket-items-list-wrapper { border:0; background:transparent; padding:0; min-height:0; }
.puzzle-cart-page #basket-root .basket-items-list-header { display:flex!important; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; position:static!important; background:transparent; border:0; padding:0 0 8px; min-height:0; }
.puzzle-cart-page #basket-root .basket-items-search-field { display:none; }
.puzzle-cart-page #basket-root .basket-items-list-header-filter { flex:1; width:auto; min-width:0; padding:0; text-align:left; }
.puzzle-cart-page #basket-root .basket-items-list-header-filter-item { font-family:inherit; font-size:14px; line-height:1.5; color:var(--cart-muted); margin:0 14px 0 0; }
.puzzle-cart-page #basket-root .basket-items-list-container, .puzzle-cart-page #basket-root .basket-items-list { padding:0; overflow:visible; }
.puzzle-cart-page #basket-item-table { display:block; width:100%; border:1px solid var(--cart-line); border-radius:8px; padding:0 24px; background:#fff; }
.puzzle-cart-page #basket-item-table > tbody { display:block; width:100%; }
.puzzle-cart-page #basket-root .basket-items-list-item-container { display:grid!important; grid-template-columns:172px minmax(0,1fr) 114px 132px 128px 44px; gap:24px; position:relative; align-items:center; background:#fff; padding:26px 0; margin:0; border:0; border-bottom:1px solid var(--cart-line); }
.puzzle-cart-page #basket-root .basket-items-list-item-container:last-child { border-bottom:0; }
.puzzle-cart-page #basket-root .basket-items-list-item-container > td { display:block; padding:0; border:0; width:auto; min-width:0; text-align:left; order:0; }
.puzzle-cart-page #basket-root .basket-items-list-item-container > .basket-items-list-item-descriptions, .puzzle-cart-page #basket-root .basket-items-list-item-descriptions-inner { display:contents; }
.puzzle-cart-page #basket-root .basket-item-block-image { grid-column:1; grid-row:1; order:0; width:172px; max-width:none; min-width:0; height:164px; margin:0; padding:0; align-self:center; display:flex!important; align-items:center; justify-content:center; }
.puzzle-cart-page #basket-root .basket-item-image-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.puzzle-cart-page #basket-root .basket-item-image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.puzzle-cart-page #basket-root .basket-item-block-info { grid-column:2; grid-row:1; order:0; width:auto; padding:0; min-width:0; }
.puzzle-cart-page #basket-root h2.basket-item-info-name { margin:0 0 10px; padding:0; }
.puzzle-cart-page #basket-root .basket-item-info-name, .puzzle-cart-page #basket-root .basket-item-info-name-link { color:var(--cart-ink); font:600 17px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.puzzle-cart-page #basket-root .basket-item-info-name-link:hover { color:#a85b00; text-decoration:none; }
.puzzle-cart-page #basket-root .basket-item-property { margin-top:6px; }
.puzzle-cart-page #basket-root .basket-item-property-name, .puzzle-cart-page #basket-root .basket-item-property-value, .puzzle-cart-page #basket-root .basket-item-property-custom { font-size:13px; line-height:1.5; color:var(--cart-muted); }
.puzzle-cart-page #basket-root .basket-items-list-item-price-for-one { grid-column:3; }
.puzzle-cart-page #basket-root .basket-items-list-item-amount { grid-column:4; }
.puzzle-cart-page #basket-root .basket-items-list-item-price:not(.basket-items-list-item-price-for-one) { grid-column:5; text-align:right; }
.puzzle-cart-page #basket-root .basket-item-block-price { padding:0; }
/* Keep the old price in flow: the native absolute position overlaps the current price without padding. */
.puzzle-cart-page #basket-root .basket-item-price-old { position:static; top:auto; right:auto; display:block; margin:0 0 3px; text-align:inherit; }
.puzzle-cart-page #basket-root .basket-item-price-current { text-align:inherit; }
.puzzle-cart-page #basket-root .basket-items-list-item-price-for-one .basket-item-block-price { text-align:left; }
.puzzle-cart-page #basket-root .basket-item-price-current { white-space:normal; }
.puzzle-cart-page #basket-root .basket-item-price-current-text { font:700 21px/1.3 Arial,sans-serif; color:var(--cart-ink); white-space:nowrap; }
.puzzle-cart-page #basket-root .basket-items-list-item-price-for-one .basket-item-price-current-text { font-size:18px; font-weight:400; }
.puzzle-cart-page #basket-root .basket-item-price-title { color:var(--cart-muted); font-size:12px; margin-top:5px; }
.puzzle-cart-page #basket-root .basket-item-price-old-text { color:var(--cart-muted); font-size:13px; }
.puzzle-cart-page #basket-root .basket-item-price-difference { color:#905500; font-size:12px; }
.puzzle-cart-page #basket-root .basket-item-block-amount { display:flex; align-items:center; width:132px; padding:0; margin:0; border:1px solid #dce0e5; border-radius:6px; background:#f8f9fa; overflow:hidden; }
.puzzle-cart-page #basket-root .basket-item-amount-btn-minus, .puzzle-cart-page #basket-root .basket-item-amount-btn-plus { width:43px; min-width:43px; height:44px; margin:0; border:0; padding:0; background:transparent; position:relative; cursor:pointer; }
.puzzle-cart-page #basket-root .basket-item-amount-btn-minus:hover, .puzzle-cart-page #basket-root .basket-item-amount-btn-plus:hover { background:#fff0d8; }
.puzzle-cart-page #basket-root .basket-item-amount-btn-minus:after, .puzzle-cart-page #basket-root .basket-item-amount-btn-plus:before, .puzzle-cart-page #basket-root .basket-item-amount-btn-plus:after { background:#586372; }
.puzzle-cart-page #basket-root .basket-item-amount-filed-block { width:44px; padding:0; }
.puzzle-cart-page #basket-root .basket-item-amount-filed { width:44px; height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; color:var(--cart-ink); font-size:16px; font-weight:600; text-align:center; box-shadow:none; }
.puzzle-cart-page #basket-root .basket-item-amount-field-description { display:none; }
.puzzle-cart-page #basket-root .basket-item-quantity-notice { margin-top:10px; padding:8px; border-radius:5px; background:#fff3db; color:#805000; font:400 13px/1.45 Arial,sans-serif; text-align:left; overflow-wrap:anywhere; }
.puzzle-cart-page #basket-root .basket-item-quantity-notice:empty { display:none; }
.puzzle-cart-page #basket-root .basket-items-list-item-container > .basket-items-list-item-remove { grid-column:6; display:block!important; }
.puzzle-cart-page #basket-root .basket-item-block-actions { padding:0; width:44px; opacity:1; }
.puzzle-cart-page #basket-root .basket-item-actions-remove { display:flex; align-items:center; justify-content:center; position:relative; width:44px; height:44px; margin:0; border:0; border-radius:6px; background:transparent; color:#77808c; opacity:1; cursor:pointer; }
.puzzle-cart-page #basket-root .basket-item-actions-remove:before, .puzzle-cart-page #basket-root .basket-item-actions-remove:after { display:none; }
.puzzle-cart-page #basket-root .basket-item-actions-remove:hover { background:#fff2f4; color:#800020; }
.puzzle-cart-page #basket-root .basket-item-block-info > .basket-item-actions-remove { display:none!important; }
.puzzle-cart-page #basket-root .basket-items-list-item-container-expend { display:none!important; }
.puzzle-cart-page #basket-root .basket-checkout-container { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:0 32px; padding:28px; margin:0; border:1px solid var(--cart-line); border-radius:8px; background:#fff; width:100%; }
.puzzle-cart-page #basket-root .basket-coupon-section { padding:0 28px 0 0; margin:0; border-right:1px solid var(--cart-line); width:100%; align-self:center; }
.puzzle-cart-page #basket-root .basket-coupon-block-field { padding:0; min-width:0; }
.puzzle-cart-page #basket-root .basket-coupon-block-field-description { font:600 15px/1.5 Arial,sans-serif; color:var(--cart-ink); margin-bottom:10px; }
.puzzle-cart-page #basket-root .basket-coupon-block-field .form-group { display:flex; gap:10px; margin:0; }
.puzzle-cart-page #basket-root .basket-coupon-block-field .form-control { width:100%; min-width:0; height:48px; border:1px solid #d5dae1; border-radius:6px; background:#fff; box-shadow:none; padding:10px 12px; font-size:15px; }
.puzzle-cart-page #basket-root .basket-coupon-block-coupon-btn { position:static; display:block; flex:none; width:auto; height:48px; border:1px solid #d5dae1; border-radius:6px; padding:0 14px; margin:0; background:#f5f6f8; color:#4f5a69; font:600 14px Arial,sans-serif; transform:none; cursor:pointer; }
.puzzle-cart-page #basket-root .basket-coupon-block-coupon-btn:before, .puzzle-cart-page #basket-root .basket-coupon-block-coupon-btn:after { display:none; }
.puzzle-cart-page #basket-root .basket-checkout-section { width:100%; margin:0; }
.puzzle-cart-page #basket-root .basket-checkout-section-inner { display:grid; grid-template-columns:minmax(80px,.65fr) auto minmax(220px,1.35fr); gap:18px; align-items:center; padding:0; margin:0; width:100%; }
.puzzle-cart-page #basket-root .basket-checkout-block { padding:0; margin:0; min-width:0; }
.puzzle-cart-page #basket-root .basket-checkout-block-total-title { font:600 20px/1.4 Arial,sans-serif; color:var(--cart-ink); }
.puzzle-cart-page #basket-root .basket-checkout-block-total-description { font:400 12px/1.5 Arial,sans-serif; color:var(--cart-muted); margin-top:5px; }
.puzzle-cart-page #basket-root .basket-checkout-block-total-price { text-align:right; }
.puzzle-cart-page #basket-root .basket-coupon-block-total-price-current { font:700 28px/1.2 Arial,sans-serif; color:var(--cart-ink); white-space:nowrap; }
.puzzle-cart-page #basket-root .basket-coupon-block-total-price-difference { color:#905500; font-size:12px; }
.puzzle-cart-page #basket-root .basket-checkout-block-btn { width:100%; }
.puzzle-cart-page #basket-root .basket-btn-checkout, .puzzle-cart-page .puzzle-cart-catalog { display:block; width:100%; min-height:52px; padding:15px 18px; border:0; border-radius:6px; background:#ff9900; color:#fff; font:700 18px/1.3 Arial,sans-serif; text-align:center; text-decoration:none; box-shadow:none; transition:background .15s; }
.puzzle-cart-page #basket-root .basket-btn-checkout:hover, .puzzle-cart-page .puzzle-cart-catalog:hover { background:#e98a00; }
.puzzle-cart-page #basket-root .basket-btn-checkout.disabled { opacity:.5; cursor:not-allowed; }
.puzzle-cart-page #basket-root .basket-coupon-alert-section { grid-column:1/-1; width:100%; }
.puzzle-cart-page #basket-root .basket-coupon-alert { margin-top:12px; line-height:1.5!important; }
.puzzle-cart-page .puzzle-cart-order-note { color:var(--cart-muted); font-size:12px; line-height:1.5; margin:8px 0 0; text-align:center; }
.puzzle-cart-page :is(button,a,input):focus-visible { outline:2px solid #a85b00; outline-offset:3px; }
.puzzle-cart-page .bx-sbb-empty-cart-container { padding:48px 24px; background:#fff; border:1px solid var(--cart-line); border-radius:8px; text-align:center; margin:20px 0 40px; }
.puzzle-cart-page .bx-sbb-empty-cart-image { width:100px; height:100px; margin:0 auto 24px; background:none; }
.puzzle-cart-page .bx-sbb-empty-cart-image img { width:100%; height:100%; opacity:.65; }
.puzzle-cart-page .bx-sbb-empty-cart-text { font-size:27px; color:var(--cart-ink); }
.puzzle-cart-page .puzzle-cart-empty-note { color:var(--cart-muted); font-size:16px; margin:12px 0 24px; }
.puzzle-cart-page .puzzle-cart-catalog { max-width:260px; margin:auto; }
.puzzle-cart-page:has(.bx-sbb-empty-cart-container) .clearall { display:none; }
@media(max-width:1199px) {
 .puzzle-cart-page #basket-root .basket-items-list-item-container { grid-template-columns:130px minmax(0,1fr) 90px 132px 110px 44px; gap:16px; }
 .puzzle-cart-page #basket-root .basket-item-block-image { width:130px; height:140px; }
 .puzzle-cart-page #basket-root .basket-checkout-container { grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); padding:24px; gap:24px; }
 .puzzle-cart-page #basket-root .basket-coupon-block-field .form-group { flex-wrap:wrap; }
 .puzzle-cart-page #basket-root .basket-coupon-block-coupon-btn { height:40px; }
}
@media(max-width:991px) {
 .puzzle-cart-page #basket-root .basket-items-list-item-container { grid-template-columns:120px minmax(0,1fr) 132px 110px; gap:16px; padding:24px 0; }
 .puzzle-cart-page #basket-root .basket-item-block-image { grid-row:1/3; width:120px; height:140px; }
 .puzzle-cart-page #basket-root .basket-item-block-info { grid-column:2/5; grid-row:1; padding-right:44px; }
 .puzzle-cart-page #basket-root .basket-items-list-item-price-for-one { grid-column:2; grid-row:2; }
 .puzzle-cart-page #basket-root .basket-items-list-item-amount { grid-column:3; grid-row:2; }
 .puzzle-cart-page #basket-root .basket-items-list-item-price:not(.basket-items-list-item-price-for-one) { grid-column:4; grid-row:2; }
 .puzzle-cart-page #basket-root .basket-items-list-item-container > .basket-items-list-item-remove { position:absolute; top:16px; right:0; }
 .puzzle-cart-page #basket-root .basket-checkout-container { display:flex; flex-direction:column; gap:24px; }
 .puzzle-cart-page #basket-root .basket-coupon-section { border:0; border-bottom:1px solid var(--cart-line); padding:0 0 24px; }
 .puzzle-cart-page #basket-root .basket-coupon-block-field .form-group { flex-wrap:nowrap; }
 .puzzle-cart-page #basket-root .basket-coupon-block-coupon-btn { height:48px; }
}
@media(max-width:600px) {
 .puzzle-cart-page { width:100%!important; max-width:100%; min-width:0; padding:0 12px 32px!important; }
 .puzzle-cart-page .puzzle-cart-heading { display:block; margin:16px 0 8px; }
 .puzzle-cart-page h1 { font-size:30px; }
 .puzzle-cart-page .puzzle-cart-back { display:inline-block; font-size:14px; margin-top:8px; }
 .puzzle-cart-page .clearall { margin:0; }
 .puzzle-cart-page #basket-item-table { padding:0 12px; }
 .puzzle-cart-page #basket-root .basket-items-list-item-container { grid-template-columns:76px minmax(0,1fr) 100px; padding:18px 0; gap:12px; }
 .puzzle-cart-page #basket-root .basket-item-block-image { width:76px; height:90px; align-self:start; }
 .puzzle-cart-page #basket-root .basket-item-block-info { grid-column:2/4; padding-right:30px; }
 .puzzle-cart-page #basket-root .basket-item-info-name, .puzzle-cart-page #basket-root .basket-item-info-name-link { font-size:15px; line-height:1.45; }
 .puzzle-cart-page #basket-root .basket-items-list-item-price-for-one { display:block!important; grid-column:2/4; grid-row:2; }
 .puzzle-cart-page #basket-root .basket-items-list-item-price-for-one .basket-item-price-current-text { font-size:15px; }
 .puzzle-cart-page #basket-root .basket-item-price-title { display:inline; margin-left:4px; }
 .puzzle-cart-page #basket-root .basket-items-list-item-amount { grid-column:1/3; grid-row:3; }
 .puzzle-cart-page #basket-root .basket-items-list-item-price:not(.basket-items-list-item-price-for-one) { display:block!important; grid-column:3; grid-row:3; }
 .puzzle-cart-page #basket-root .basket-item-price-current-text { font-size:20px; }
 .puzzle-cart-page #basket-root .basket-items-list-item-container > .basket-items-list-item-remove { top:8px; right:-8px; }
 .puzzle-cart-page #basket-root .basket-checkout-container { padding:18px; }
 .puzzle-cart-page #basket-root .basket-checkout-section-inner { grid-template-columns:minmax(0,1fr) auto; gap:16px; }
 .puzzle-cart-page #basket-root .basket-checkout-block-btn { grid-column:1/-1; }
 .puzzle-cart-page #basket-root .basket-coupon-block-total-price-current { font-size:27px; }
 .puzzle-cart-page .bx-sbb-empty-cart-text { font-size:23px; }
}
