.product-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.stock {
  margin: 6px 0 12px;
  font-weight: 800;
}

.in-stock {
  color: #169306;
}

.catalog-page,
.page-simple,
.product-page {
  padding-top: 32px;
  padding-bottom: 70px;
}

.catalog-title {
  margin-bottom: 22px;
}

.catalog-title h1,
.page-simple h1 {
  margin: 0;
  font-size: clamp(34px,4vw,58px);
  letter-spacing: -.045em;
}

.catalog-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
}

.catalog-filters {
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 28px;
  padding: 22px;
  align-self: start;
  position: sticky;
  top: 110px;
  box-shadow: 0 18px 50px rgba(16,18,23,.06);
}

.catalog-toolbar {
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 20px;
  padding: 16px 18px;
  border: 1px solid var(--line,#e7ebf0);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(220px,1fr));
  gap: 18px;
}

.info-card {
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 28px;
  padding: 26px;
  box-shadow: 0 18px 50px rgba(16,18,23,.06);
}

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
}

.cart-list {
  display: grid;
  gap: 14px;
}

.cart-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 24px;
  padding: 14px;
}

.cart-img {
  height: 90px;
  background: #f3f5f7;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cart-summary {
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 28px;
  padding: 22px;
  align-self: start;
  position: sticky;
  top: 110px;
  box-shadow: 0 18px 50px rgba(16,18,23,.06);
}

.summary-row {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f0f2f4;
}

.secondary-btn {
  width: 100%;
  margin-top: 12px;
  min-height: 48px;
  border-radius: 16px;
  border: 0;
  background: #101216;
  color: #fff;
  font-weight: 900;
}

.product-top-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.back-link {
  color: #697386;
  text-decoration: none;
  font-weight: 900;
}

.product-actions-top {
  display: flex;
  gap: 10px;
}

.product-actions-top button {
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #fff;
  font-weight: 900;
  box-shadow: 0 12px 34px rgba(16,18,23,.08);
}

.product-layout {
  display: grid;
  grid-template-columns: minmax(360px, 560px) 1fr;
  gap: 26px;
}

.product-loading,
.product-message {
  grid-column: 1 / -1;
  background: #fff;
  border-radius: 28px;
  padding: 36px;
  text-align: center;
  font-weight: 900;
}

.product-gallery,
.product-info-panel {
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 34px;
  box-shadow: 0 24px 70px rgba(16,18,23,.08);
}

.product-gallery {
  position: sticky;
  top: 110px;
  align-self: start;
  padding: 24px;
  overflow: hidden;
}

.promo-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: linear-gradient(135deg,#f4f6f8,#fff);
  border-radius: 22px;
  padding: 16px 18px;
  margin-bottom: 22px;
}

.promo-strip span {
  background: #34e21f;
  color: #111318;
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 950;
}

.main-photo {
  height: 520px;
  background: #f3f5f7;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.main-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.photo-empty {
  font-size: 22px;
  font-weight: 900;
  color: #8b95a5;
}

.photo-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 20px;
}

.photo-dots span {
  width: 12px;
  height: 12px;
  background: #c8ced8;
  border-radius: 50%;
}

.photo-dots .active {
  background: #101216;
}

.floating-tags,
.chips,
.viewer-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.floating-tags {
  margin-top: 22px;
}

.floating-tags span,
.chips span {
  background: #f3f5f7;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
}

.product-info-panel {
  padding: 30px;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #7b8494;
  margin-bottom: 20px;
}

.breadcrumbs a {
  color: #7b8494;
  text-decoration: none;
}

.product-info-panel h1 {
  margin: 0;
  font-size: clamp(34px,4vw,58px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.chips {
  margin: 20px 0;
}

.viewer-row {
  margin: 24px 0;
}

.viewer-row div {
  background: #fff;
  border: 1px solid var(--line,#e7ebf0);
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: 0 12px 34px rgba(16,18,23,.06);
}

.buy-card {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 14px;
  background: #f7f9fb;
  border-radius: 28px;
  padding: 22px;
  margin: 24px 0;
}

.price-big {
  font-size: 44px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.stock-ok {
  color: #189506;
  font-weight: 950;
}

.stock-zero {
  color: #b00020;
  font-weight: 950;
}

.buy-btn,
.quick-btn {
  min-height: 56px;
  border-radius: 18px;
  border: 0;
  padding: 0 26px;
  font-weight: 950;
  cursor: pointer;
}

.buy-btn {
  background: #34e21f;
  color: #111318;
}

.buy-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.quick-btn {
  background: #101216;
  color: #fff;
}

.product-block {
  border-top: 1px solid var(--line,#e7ebf0);
  padding-top: 24px;
  margin-top: 24px;
}

.spec {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #f0f2f4;
}

.spec span {
  color: #7b8494;
}

@media(max-width: 980px) {
  .catalog-layout,
  .cart-layout,
  .product-layout,
  .info-grid {
    grid-template-columns: 1fr;
  }

  .catalog-filters,
  .cart-summary,
  .product-gallery {
    position: static;
  }

  .buy-card {
    grid-template-columns: 1fr;
  }

  .product-actions-top {
    display: none;
  }
}

@media(max-width: 560px) {
  .main-photo {
    height: 330px;
  }

  .cart-row {
    grid-template-columns: 70px 1fr;
  }

  .cart-row .danger {
    grid-column: 1 / -1;
  }

  .spec {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}


/* Cart upgrade: qty, installment, discount card and quick preview */
.cart-product-open{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  text-align:inherit;
}
.cart-product-info{min-width:0;}
.cart-title-btn{
  border:0;
  background:transparent;
  padding:0;
  color:#111827;
  font:inherit;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
.cart-title-btn:hover{color:#1fb815;}
.cart-product-bottom{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:10px;
}
.cart-qty{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#f3f5f7;
  border:1px solid #e7ebf0;
  border-radius:999px;
  padding:5px;
}
.cart-qty button{
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111827;
  font-size:20px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(15,23,42,.08);
}
.cart-qty span{
  min-width:26px;
  text-align:center;
  font-weight:950;
}
.installment-box{
  margin:14px 0 0;
  border:1px solid #e7ebf0;
  border-radius:18px;
  background:#f8fafc;
  overflow:hidden;
}
.installment-box summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:950;
  color:#111827;
  list-style:none;
}
.installment-box summary::-webkit-details-marker{display:none;}
#installmentResults{padding:0 16px 14px;}
.installment-bank{
  background:#fff;
  border:1px solid #edf0f3;
  border-radius:16px;
  padding:12px;
  margin-top:10px;
}
.installment-bank>b{
  display:block;
  margin-bottom:8px;
  color:#111827;
}
.installment-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  border-top:1px solid #f1f3f5;
}
.installment-row span{color:#667085;font-weight:800;}
.installment-row strong{white-space:nowrap;}
.cart-summary-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
.discount-card-btn{
  width:100%;
  min-height:48px;
  border-radius:16px;
  border:1px solid #c9f4c4;
  background:#eaffea;
  color:#137b0b;
  font-weight:950;
  cursor:pointer;
}
.continue-shopping-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e7ebf0;
  color:#111827;
  text-decoration:none;
  font-weight:950;
}
.continue-shopping-btn:hover{background:#f6f8fa;}
.quick-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.quick-modal.open{display:flex;}
.quick-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,8,20,.58);
  backdrop-filter:blur(8px);
}
.quick-modal-card{
  position:relative;
  z-index:1;
  width:min(900px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:30px;
  padding:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.quick-modal-close{
  position:absolute;
  right:18px;
  top:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#f1f3f5;
  font-size:28px;
  font-weight:700;
  cursor:pointer;
  z-index:2;
}
.quick-product{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:24px;
  align-items:center;
}
.quick-product-img{
  height:330px;
  background:#f3f5f7;
  border-radius:24px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.quick-product-img img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.quick-product-info h2{
  margin:8px 0 14px;
  font-size:32px;
  line-height:1.08;
}
.quick-price-line{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
  margin:8px 0;
}
.quick-price-line b{
  font-size:38px;
  line-height:1;
  white-space:nowrap;
}
.quick-price-line span{
  color:#98a2b3;
  text-decoration:line-through;
  font-weight:900;
}
.quick-stock{
  display:inline-flex;
  border-radius:999px;
  background:#ddf8d8;
  color:#16830b;
  padding:7px 10px;
  font-weight:950;
  margin:8px 0 12px;
}
.quick-desc{color:#475467;line-height:1.5;}
.quick-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.quick-actions a{text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center;}
@media(max-width:700px){
  .quick-product{grid-template-columns:1fr;}
  .quick-product-img{height:260px;}
  .quick-actions{grid-template-columns:1fr;}
}

/* ===== Cart final marketplace UI ===== */
.cart-layout{
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}
.cart-list{gap:18px;}
.cart-row{
  grid-template-columns:92px minmax(0,1fr) 190px auto;
  min-height:132px;
  padding:22px;
  border-radius:28px;
  box-shadow:0 24px 70px rgba(16,18,23,.06);
}
.cart-product-open{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.cart-img{
  width:92px;
  height:92px;
  background:#f4f6f8;
  border-radius:20px;
  overflow:hidden;
}
.cart-img span{font-weight:900;color:#8b95a5;}
.cart-product-info{min-width:0;}
.cart-title-btn{
  display:block;
  border:0;
  background:transparent;
  padding:0;
  margin:0 0 8px;
  color:#111722;
  font:inherit;
  font-weight:950;
  text-align:left;
  cursor:pointer;
}
.cart-title-btn:hover{color:#24d91b;}
.cart-meta{
  margin:0 0 10px;
  color:#7a8597;
  font-weight:700;
}
.cart-mobile-price{display:none;}
.quick-view-btn{
  border:0;
  background:transparent;
  color:#18c313;
  padding:0;
  font-weight:950;
  cursor:pointer;
}
.cart-row-controls{
  display:flex;
  align-items:center;
  gap:20px;
  justify-content:flex-end;
}
.cart-qty{
  display:grid;
  grid-template-columns:46px 54px 46px;
  height:46px;
  border:1px solid #dfe5ee;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.cart-qty button{
  border:0;
  background:#fff;
  color:#111722;
  font-size:20px;
  font-weight:950;
  cursor:pointer;
}
.cart-qty button:hover{background:#effaf0;color:#18c313;}
.cart-qty span{
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid #dfe5ee;
  border-right:1px solid #dfe5ee;
  font-weight:950;
}
.cart-line-price{
  min-width:78px;
  white-space:nowrap;
  font-size:18px;
}
.cart-row .danger{
  min-height:42px;
  border:0;
  border-radius:14px;
  padding:0 16px;
  background:#ffe8e8;
  color:#df3434;
  font-weight:900;
  cursor:pointer;
}
.cart-row .danger:hover{background:#ffd8d8;}
.cart-summary{
  padding:28px;
  border-radius:30px;
  box-shadow:0 28px 80px rgba(16,18,23,.08);
}
.cart-summary h2{margin:0 0 18px;font-size:26px;}
.cart-summary-actions{display:grid;gap:12px;margin-top:16px;}
.cart-summary .primary,
.discount-card-btn{
  width:100%;
  min-height:52px;
  border-radius:16px;
  font-weight:950;
  cursor:pointer;
}
.cart-summary .primary{
  border:0;
  background:#25e11b;
  color:#050814;
  box-shadow:0 16px 36px rgba(37,225,27,.20);
}
.discount-card-btn{
  border:1px solid #cfd7e3;
  background:#fff;
  color:#111722;
}
.discount-card-btn::before{content:'▣ ';color:#606b7c;}
.installment-box{
  margin-top:24px;
  border:0;
}
.installment-box summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:18px;
  font-weight:950;
  color:#111722;
  padding:0 0 12px;
}
.installment-box summary::-webkit-details-marker{display:none;}
.installment-box summary::after{content:'⌄';font-size:24px;line-height:1;}
.installment-box[open] summary::after{content:'⌃';}
.installment-results{display:grid;gap:12px;}
.installment-bank{
  display:block;
  position:relative;
  border:1px solid #dfe5ee;
  border-radius:18px;
  padding:14px;
  background:#fff;
  cursor:pointer;
}
.installment-bank.selected{
  border-color:#24d91b;
  box-shadow:0 12px 30px rgba(36,217,27,.10);
}
.installment-bank input{position:absolute;right:14px;top:16px;accent-color:#24d91b;}
.bank-head{
  display:flex;
  align-items:center;
  gap:8px;
  color:#18a914;
  text-transform:uppercase;
  font-size:13px;
  font-weight:950;
}
.bank-head::before{
  content:'A';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;height:22px;
  border-radius:50%;
  background:#25d747;
  color:#fff;
  font-weight:950;
}
.installment-bank:nth-child(2) .bank-head::before{content:'Э';background:#1775d1;}
.installment-bank:nth-child(3) .bank-head::before{content:'✓';background:#20c95b;}
.bank-months{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:12px;
}
.bank-months span{display:grid;gap:4px;}
.bank-months em{font-style:normal;color:#7a8597;font-size:12px;font-weight:800;}
.bank-months strong{font-size:12px;white-space:nowrap;}
.installment-empty{
  border:1px dashed #dfe5ee;
  border-radius:16px;
  padding:14px;
  color:#7a8597;
  font-weight:800;
}
.cart-bottom-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}
.continue-shopping-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:16px;
  border:1px solid #dfe5ee;
  background:#fff;
  color:#111722;
  text-decoration:none;
  font-weight:950;
}
.continue-shopping-btn:hover{border-color:#24d91b;color:#18a914;}
.cart-empty-card{
  background:#fff;
  border:1px solid #e7ebf0;
  border-radius:30px;
  padding:44px;
  box-shadow:0 24px 70px rgba(16,18,23,.06);
}
.cart-empty-card h2{margin:0 0 10px;font-size:32px;}
.cart-empty-card p{color:#7a8597;font-weight:700;}
.cart-empty-card a{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-radius:16px;
  background:#25e11b;
  color:#050814;
  text-decoration:none;
  font-weight:950;
}
.quick-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.quick-modal.open{display:flex;}
.quick-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,9,13,.28);
  backdrop-filter:blur(8px);
}
.quick-modal-card{
  position:relative;
  width:min(720px,100%);
  background:#fff;
  border-radius:28px;
  padding:26px;
  box-shadow:0 40px 110px rgba(16,18,23,.22);
}
.quick-modal-close{
  position:absolute;
  right:20px;
  top:18px;
  width:40px;height:40px;
  border:0;
  background:#fff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.quick-product{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:26px;
  align-items:center;
}
.quick-product-img{
  height:260px;
  border-radius:24px;
  background:#f4f6f8;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-weight:900;
  color:#8b95a5;
}
.quick-product-img img{width:100%;height:100%;object-fit:contain;}
.quick-product-info{position:relative;min-width:0;}
.quick-modal-close-inline{display:none;}
.quick-product-info h2{margin:0 0 10px;font-size:24px;line-height:1.05;}
.quick-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.quick-tags span{
  padding:7px 11px;
  border-radius:999px;
  background:#eef2f6;
  font-weight:900;
  color:#667085;
}
.quick-tags .stock-pill{background:#dffbdd;color:#13920d;}
.quick-price-line{display:flex;align-items:baseline;gap:12px;margin:10px 0 18px;}
.quick-price-line b{font-size:30px;white-space:nowrap;}
.quick-price-line span{text-decoration:line-through;color:#98a2b3;font-weight:900;}
.quick-desc{border-top:1px solid #eef1f5;padding-top:14px;color:#333b49;line-height:1.45;}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
.quick-actions a{
  min-height:50px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:950;
}
.quick-actions .primary{background:#25e11b;color:#050814;}
.secondary-outline{border:1px solid #cfd7e3;color:#111722;background:#fff;}
@media (max-width: 900px){
  .cart-layout{grid-template-columns:1fr;}
  .cart-summary{position:static;}
  .cart-row{grid-template-columns:78px 1fr;}
  .cart-row-controls{grid-column:1/-1;justify-content:space-between;}
  .cart-row .danger{grid-column:1/-1;}
  .cart-line-price{display:none;}
  .cart-mobile-price{display:block;margin:8px 0;font-size:18px;}
  .quick-product{grid-template-columns:1fr;}
  .quick-product-img{height:220px;}
}


/* ===== Cart installment/banks polish ===== */
.cart-summary-actions{
  gap:10px;
}
.discount-card-btn,
.continue-shopping-btn{
  min-height:46px;
  border-radius:14px;
  border:1px solid #cfd7e3;
  background:#fff;
  color:#111722;
  font-size:14px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 8px 22px rgba(16,18,23,.035);
}
.discount-card-btn::before{content:'▣';font-size:14px;color:#667085;}
.cart-bottom-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.continue-shopping-btn:first-child::before{content:'←';font-size:20px;line-height:0;}
.continue-shopping-btn:nth-child(2)::before{content:'▢';font-size:14px;color:#667085;}
.cart-qty{
  grid-template-columns:38px 44px 38px;
  height:40px;
  border-radius:12px;
}
.cart-qty button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:40px;
  font-size:18px;
  line-height:1;
  font-family:Arial, sans-serif;
}
.cart-qty .plus::before{content:'+';}
.cart-qty .plus{font-size:0;}
.cart-qty .plus::before{font-size:18px;font-weight:950;}
.cart-qty span{font-size:15px;}
.cart-row-controls{gap:14px;}
.installment-box{
  margin-top:22px;
  padding:16px;
  border-radius:20px;
  border:1px solid #ccefd0;
  background:linear-gradient(180deg,#fbfffb,#f6fff6);
}
.installment-box summary{
  font-size:16px;
  padding:0 0 14px;
}
.installment-bank{
  padding:12px 12px 13px;
  border-radius:16px;
  overflow:hidden;
}
.installment-bank input{right:12px;top:15px;width:16px;height:16px;}
.bank-head{
  padding-right:26px;
  font-size:13px;
  line-height:1.1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bank-head::before{display:none !important;}
.bank-head img{
  width:24px;
  height:24px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
}
.installment-bank.agro .bank-head{color:#2184ff;}
.installment-bank.exim .bank-head{color:#f4b000;}
.installment-bank.sber .bank-head{color:#16b957;}
.installment-bank.agro.selected{border-color:#2184ff;box-shadow:0 10px 26px rgba(33,132,255,.12);}
.installment-bank.exim.selected{border-color:#f4b000;box-shadow:0 10px 26px rgba(244,176,0,.13);}
.installment-bank.sber.selected{border-color:#16b957;box-shadow:0 10px 26px rgba(22,185,87,.12);}
.installment-bank.agro input{accent-color:#2184ff;}
.installment-bank.exim input{accent-color:#f4b000;}
.installment-bank.sber input{accent-color:#16b957;}
.bank-months{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:12px;
}
.bank-months span{min-width:0;}
.bank-months em{
  font-size:11px;
  line-height:1.05;
  white-space:nowrap;
}
.bank-months strong{
  font-size:10.5px;
  line-height:1.15;
  white-space:nowrap;
}
.installment-calc-btn{
  width:100%;
  min-height:48px;
  margin-top:4px;
  border:0;
  border-radius:14px;
  background:#25e11b;
  color:#050814;
  font-weight:950;
  font-size:14px;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(37,225,27,.20);
}
.installment-calc-btn:hover{filter:brightness(.96);}
@media(max-width:900px){
  .cart-bottom-actions{grid-template-columns:1fr;}
  .bank-months strong{font-size:11px;}
}

/* ===== Cart installment accordion final fix ===== */
.cart-row{
  grid-template-columns:92px minmax(0,1fr) 178px auto !important;
}
.cart-row-controls{
  gap:12px !important;
}
.cart-qty{
  display:grid !important;
  grid-template-columns:34px 38px 34px !important;
  width:106px !important;
  min-width:106px !important;
  height:38px !important;
  padding:0 !important;
  gap:0 !important;
  border-radius:13px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.cart-qty button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  min-width:34px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
  color:#111722 !important;
  font-size:0 !important;
  line-height:1 !important;
  font-weight:950 !important;
  font-family:Arial, sans-serif !important;
}
.cart-qty .minus::before{content:'−';font-size:19px;font-weight:950;line-height:1;}
.cart-qty .plus::before{content:'+' !important;font-size:19px !important;font-weight:950 !important;line-height:1 !important;display:block !important;color:inherit !important;}
.cart-qty button:hover{background:#effaf0 !important;color:#18c313 !important;}
.cart-qty span{
  min-width:38px !important;
  width:38px !important;
  height:38px !important;
  font-size:14px !important;
}
.cart-line-price{
  min-width:70px !important;
  font-size:16px !important;
  text-align:left !important;
}
.installment-box{
  margin-top:20px !important;
  padding:14px !important;
  border:1px solid #beeec0 !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fbfffb,#f4fff4) !important;
  overflow:visible !important;
}
.installment-box summary{
  min-height:44px !important;
  padding:0 0 10px !important;
  font-size:17px !important;
  line-height:1.15 !important;
}
#installmentResults,
.installment-results{
  padding:0 !important;
  display:grid !important;
  gap:10px !important;
}
.installment-bank{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  position:relative !important;
  padding:12px !important;
  border:1px solid #dfe5ee !important;
  border-radius:16px !important;
  background:#fff !important;
  text-align:left !important;
  cursor:pointer !important;
}
.installment-bank input{display:none !important;}
.bank-head{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  padding-right:0 !important;
  font-size:12px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  overflow:visible !important;
}
.bank-head img{
  width:24px !important;
  height:24px !important;
  object-fit:contain !important;
  border-radius:7px !important;
  background:#fff !important;
}
.bank-head b{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.bank-head i{
  justify-self:end !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:#f3f6fa !important;
  color:#667085 !important;
  font-style:normal !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.installment-bank.selected .bank-head i{background:rgba(52,226,31,.16) !important;color:#16830b !important;}
.installment-bank.agro .bank-head{color:#2184ff !important;}
.installment-bank.exim .bank-head{color:#f4b000 !important;}
.installment-bank.sber .bank-head{color:#16b957 !important;}
.installment-bank.agro.selected{border-color:#2184ff !important;box-shadow:0 10px 26px rgba(33,132,255,.12) !important;}
.installment-bank.exim.selected{border-color:#f4b000 !important;box-shadow:0 10px 26px rgba(244,176,0,.13) !important;}
.installment-bank.sber.selected{border-color:#16b957 !important;box-shadow:0 10px 26px rgba(22,185,87,.12) !important;}
.bank-months{
  display:none !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:12px !important;
}
.installment-bank.selected .bank-months{display:grid !important;}
.bank-months span{
  min-width:0 !important;
  display:grid !important;
  gap:3px !important;
  padding:8px !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  border:1px solid #edf0f3 !important;
}
.bank-months em{
  color:#7a8597 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}
.bank-months strong{
  color:#111722 !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.installment-calc-btn{
  width:100% !important;
  min-height:50px !important;
  margin-top:2px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#25e11b !important;
  color:#050814 !important;
  font-size:15px !important;
  font-weight:950 !important;
  box-shadow:0 14px 30px rgba(37,225,27,.20) !important;
}
@media(max-width:900px){
  .cart-row{grid-template-columns:78px 1fr !important;}
  .cart-row-controls{grid-column:1/-1 !important;justify-content:space-between !important;}
}


/* ===== Payment methods + order checkout final ===== */
.payment-methods{
  margin:16px 0 14px;
  padding:14px;
  border:1px solid #e7ebf0;
  border-radius:18px;
  background:#fbfcfe;
}
.payment-methods h3{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.1;
}
.payment-option{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid #e5eaf1;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  font-weight:900;
  font-size:14px;
}
.payment-option + .payment-option{margin-top:8px;}
.payment-option input{accent-color:#25e11b;}
.payment-option.active{
  border-color:#25e11b;
  background:#f1fff0;
  box-shadow:0 8px 22px rgba(37,225,27,.08);
}
.payment-icon{
  width:24px;
  height:24px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#101216;
  color:#34e21f;
  font-weight:950;
}
.installment-box[hidden]{display:none !important;}
.installment-bank{
  display:block !important;
}
.installment-bank .bank-head{
  width:100%;
  border:0;
  background:transparent;
  padding:0 26px 0 0;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  text-align:left;
}
.installment-bank .bank-head i{
  margin-left:auto;
  font-style:normal;
  font-size:10px;
  color:#7a8597;
  text-transform:none;
}
.bank-months{
  display:none !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:12px !important;
}
.installment-bank.selected .bank-months{display:grid !important;}
.bank-month{
  display:grid;
  gap:3px;
  min-width:0;
  padding:8px 7px;
  border-radius:12px;
  border:1px solid #edf0f3;
  background:#f8fafc;
  text-align:left;
  cursor:pointer;
}
.bank-month.selected{
  border-color:#25e11b;
  background:#efffed;
}
.bank-month em{
  color:#7a8597;
  font-size:11px;
  line-height:1.05;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.bank-month strong{
  color:#111722;
  font-size:11px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
}
.installment-calc-btn{display:none !important;}
@media(max-width:1100px){
  .cart-layout{grid-template-columns:1fr;}
  .cart-summary{position:static;}
}

/* ===== Profile detailed orders ===== */
.profile-order-card{
  background:#fff;
  border:1px solid #e7ebf0;
  border-radius:22px;
  padding:18px;
  box-shadow:0 16px 42px rgba(16,24,40,.06);
}
.profile-order-card + .profile-order-card{margin-top:14px;}
.profile-order-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.profile-order-top h3{
  margin:0 0 4px;
  font-size:20px;
}
.profile-order-top p{
  margin:0;
  color:#697386;
  font-weight:800;
}
.profile-order-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#eef2f6;
  color:#344054;
  font-weight:950;
  white-space:nowrap;
}
.profile-order-status.status-new{background:#fff7d6;color:#8a6200;}
.profile-order-status.status-processing{background:#e8f1ff;color:#145bc5;}
.profile-order-status.status-ready{background:#e9ffe7;color:#16830b;}
.profile-order-status.status-completed,
.profile-order-status.status-done{background:#effaf0;color:#11800a;}
.profile-order-status.status-cancelled,
.profile-order-status.status-canceled{background:#ffe8e8;color:#c1121f;}
.profile-order-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.profile-order-meta span{
  background:#f6f8fb;
  border-radius:14px;
  padding:10px 12px;
  color:#697386;
  font-weight:800;
}
.profile-order-meta b{
  color:#111318;
}
.profile-order-items{
  display:grid;
  gap:10px;
}
.profile-order-item{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:12px;
  align-items:center;
  border-top:1px solid #eef1f5;
  padding-top:10px;
}
.profile-order-img{
  width:56px;
  height:56px;
  border-radius:14px;
  background:#f3f5f7;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#8b95a5;
  font-size:12px;
  font-weight:900;
}
.profile-order-img img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.profile-order-item b{
  display:block;
  line-height:1.2;
}
.profile-order-item p{
  margin:4px 0 0;
  color:#697386;
  font-weight:700;
}
.profile-order-item strong{
  white-space:nowrap;
}
@media(max-width:760px){
  .profile-order-meta{grid-template-columns:1fr;}
  .profile-order-item{grid-template-columns:48px 1fr;}
  .profile-order-item strong{grid-column:2;}
}

/* ===== Quick product preview description fix ===== */
.quick-modal{
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}
.quick-modal-card{
  width:min(920px, calc(100vw - 36px)) !important;
  max-height:calc(100vh - 36px) !important;
  overflow:hidden !important;
  padding:24px !important;
  border-radius:28px !important;
}
.quick-product{
  display:grid !important;
  grid-template-columns:minmax(240px, 340px) minmax(0, 1fr) !important;
  gap:26px !important;
  align-items:stretch !important;
  max-height:calc(100vh - 84px) !important;
  min-height:0 !important;
}
.quick-product-img{
  height:auto !important;
  min-height:360px !important;
  max-height:calc(100vh - 120px) !important;
  align-self:stretch !important;
}
.quick-product-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:16px !important;
}
.quick-product-info{
  min-width:0 !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.quick-product-info h2{
  font-size:26px !important;
  line-height:1.15 !important;
  margin:0 44px 10px 0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.quick-tags,
.quick-price-line{
  flex:0 0 auto !important;
}
.quick-desc{
  flex:1 1 auto !important;
  min-height:120px !important;
  max-height:260px !important;
  overflow:auto !important;
  margin:0 !important;
  padding:16px 12px 16px 0 !important;
  border-top:1px solid #eef1f5 !important;
  border-bottom:1px solid #eef1f5 !important;
  color:#333b49 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}
.quick-desc b{
  display:block !important;
  margin-bottom:8px !important;
  color:#101828 !important;
  font-size:16px !important;
}
.quick-actions{
  flex:0 0 auto !important;
  margin-top:16px !important;
}
@media(max-width:760px){
  .quick-modal-card{
    overflow:auto !important;
  }
  .quick-product{
    grid-template-columns:1fr !important;
    max-height:none !important;
  }
  .quick-product-img{
    min-height:240px !important;
    height:260px !important;
  }
  .quick-desc{
    max-height:220px !important;
  }
}

/* ===== AutoStyle cart polish: SVG icons, strong actions, stock guard ===== */
.payment-icon,
.discount-card-btn img,
.continue-shopping-btn img,
.quick-view-btn img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:inline-block;
  vertical-align:middle;
}
.payment-icon{
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
  background:#101217!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 28px!important;
}
.payment-icon img{
  width:15px;
  height:15px;
  filter:none;
}
.cart-summary-actions{
  display:grid!important;
  gap:10px!important;
}
.cart-summary-actions .primary,
#checkoutBtn{
  min-height:54px!important;
  border-radius:18px!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 14px 28px rgba(36,217,27,.22)!important;
}
#checkoutBtn:disabled,
#checkoutBtn.cart-checkout-disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:grayscale(.35)!important;
  box-shadow:none!important;
}
.discount-card-btn{
  min-height:50px!important;
  border-radius:16px!important;
  border:0!important;
  background:linear-gradient(135deg,#ff2d2d,#ff6b35)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 14px 28px rgba(255,45,45,.22)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.discount-card-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(255,45,45,.28)!important;}
.discount-card-btn.applied{background:linear-gradient(135deg,#21d91b,#12b70d)!important;box-shadow:0 14px 28px rgba(33,217,27,.22)!important;}
.discount-card-btn::before{content:none!important;}
.discount-card-btn img{filter:brightness(0) invert(1);}
.cart-bottom-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}
.continue-shopping-btn{
  min-height:48px!important;
  border-radius:16px!important;
  border:1px solid #dfe6ef!important;
  background:#fff!important;
  color:#101217!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(16,18,23,.06)!important;
}
.continue-shopping-btn:hover{
  border-color:#24d91b!important;
  background:#efffed!important;
  color:#12a80e!important;
  transform:translateY(-1px);
}
.continue-shopping-btn::before{content:none!important;}
.continue-shopping-btn img{width:17px;height:17px;}
.cart-stock-line{
  margin:6px 0 0!important;
  font-size:13px!important;
  color:#667085!important;
  font-weight:800!important;
}
.cart-stock-line.bad{color:#d92d20!important;}
.cart-stock-warning{
  margin:7px 0 0!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#fff1f1!important;
  color:#d92d20!important;
  border:1px solid #ffd2d2!important;
  font-size:13px!important;
  font-weight:900!important;
}
.cart-row.cart-stock-error{
  border-color:#ffb4b4!important;
  box-shadow:0 12px 28px rgba(217,45,32,.08)!important;
}
.cart-qty .plus:disabled{
  opacity:.35!important;
  cursor:not-allowed!important;
  background:#f1f3f6!important;
  color:#98a2b3!important;
}
.quick-view-btn{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
@media (max-width: 760px){
  .cart-bottom-actions{grid-template-columns:1fr!important;}
}

/* === AS CART SELECT CHECKBOXES === */
.cart-selectbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:12px 16px;margin:0 0 12px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.cart-selectbar small{color:#667085;font-weight:800}.cart-check,.cart-row-pick{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.cart-check input,.cart-row-pick input{position:absolute;opacity:0;pointer-events:none}.cart-check span,.cart-row-pick span{width:24px;height:24px;border:2px solid #c9d1dc;border-radius:8px;background:#fff;display:inline-grid;place-items:center;flex:0 0 auto}.cart-check input:checked+span,.cart-row-pick input:checked+span{background:#28e11a;border-color:#28e11a}.cart-check input:checked+span:after,.cart-row-pick input:checked+span:after{content:'✓';font-weight:950;color:#031003;font-size:16px}.cart-check b{font-weight:950}.cart-row{position:relative}.cart-row-pick{align-self:center;justify-self:center;margin-right:8px}.cart-row-selected{outline:2px solid rgba(40,225,26,.55);outline-offset:-2px}
@media(min-width:700px){.cart-row{grid-template-columns:32px auto 1fr auto auto!important}}


/* Desktop cart order module */
.cart-order-module{border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(229,231,235,.95);box-shadow:0 18px 48px rgba(15,23,42,.10);}
.cart-checkout-note{margin:10px 0 12px;color:#667085;font-size:13px;line-height:1.35;font-weight:800;}
.cart-row-pick input:disabled+span{background:#eef1f5!important;border-color:#d5dbe5!important;color:#98a2b3!important;}
.cart-checkout-disabled{opacity:.55;filter:grayscale(.35);cursor:not-allowed!important;}

/* === AS SMART PRODUCT PHOTO FIT: product pages safe, without cart === */
.quick-product-img,
.product-detail-image,
.product-main-image,
.product-photo-main,
.product-image,
.product-card .product-photo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
}
.quick-product-img img,
.product-detail-image img,
.product-main-image img,
.product-photo-main img,
.product-image img,
.product-card .product-photo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#fff!important;
}


/* === Smart desktop catalog image fit === */
.catalog .product-card .product-image,
.catalog-grid .product-card .product-image,
.products-grid .product-card .product-image{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.catalog .product-card .product-image img,
.catalog-grid .product-card .product-image img,
.products-grid .product-card .product-image img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center;
  background:#fff;
}
