/* =========================================================
   cheese-house-cart.css
   ---------------------------------------------------------
   Samostatný stylesheet POUZE pro stránku Nákupní košík.
   Vypnutí: odeber <link> z hlavičky Shoptetu (nebo z něj
   v Šablona → Soubor headerstart.html udělej komentář).

   Závisí na tokenech (--color-*, --font-*, --radius-*,
   --shadow-gold) z hlavního cheese-house.css. Vždy nahrávej
   tento soubor PO hlavním cheese-house.css, ať vyhraje
   specificita #content + !important kde je potřeba.

   <link rel="stylesheet" href="/user/documents/upload/cheese-house.css?v=N">
   <link rel="stylesheet" href="/user/documents/upload/cheese-house-cart.css?v=N">
   ========================================================= */

/* =========================================================
   NÁKUPNÍ KOŠÍK — UI kit alignment
   - typografie, barvy, radii dle Cheese House DS
   - nativní Shoptet stepper kvantity neměnit
   ========================================================= */

/* Wrapper — respektovat Shoptet narrow šířku, ale vycentrovat */
#content.content.narrow{
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:8px!important;
}
#content .cart-wrapper{margin-top:8px!important}

/* --- Layout: vynutit správný rozpad col-md-8 / col-md-4 ---
   Bez tohohle Shoptet sidebar překryje pravý sloupec tabulky. */
#content .row.cart-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:32px!important;
  margin:0!important;
}
#content .row.cart-row > .col-md-8{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:calc(100% - 380px - 32px)!important;
  padding:0!important;
}
#content .row.cart-row > .col-md-4.sidebar-in-cart{
  flex:0 0 380px!important;
  max-width:380px!important;
  padding:0!important;
}

/* --- Krokovník dle UI kitu (.ch-stepper-bar) ---------------
   Číslo v kroužku + popisek + spojnice mezi kroky.
   Active = primary bg + gold číslo. Done (před active) = success.
   ---------------------------------------------------------- */
#content .cart-header{
  list-style:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:0!important;
  margin:0 0 32px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  counter-reset:checkout-step!important;
}
#content .cart-header .step{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  counter-increment:checkout-step!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:13px!important;
  color:var(--color-muted)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#content .cart-header .step::before{
  content:counter(checkout-step)!important;
  width:28px!important;height:28px!important;
  border-radius:999px!important;
  background:var(--color-surface)!important;
  border:1.5px solid var(--color-line)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:13px!important;
  color:var(--color-muted)!important;
  flex-shrink:0!important;
}
#content .cart-header .step:not(:last-child)::after{
  content:""!important;
  display:inline-block!important;
  width:48px!important;
  height:1.5px!important;
  background:var(--color-line)!important;
  margin:0 18px!important;
  flex-shrink:0!important;
}
/* Done step (před active) */
#content .cart-header .step:has(~ .step.active){
  color:var(--color-success)!important;
}
#content .cart-header .step:has(~ .step.active)::before{
  background:var(--color-success)!important;
  border-color:var(--color-success)!important;
  color:#FFFFFF!important;
}
#content .cart-header .step:has(~ .step.active)::after{
  background:var(--color-success)!important;
}
/* Active step (current) */
#content .cart-header .step.active{color:var(--color-ink)!important}
#content .cart-header .step.active::before{
  background:var(--color-primary)!important;
  border-color:var(--color-primary)!important;
  color:var(--color-gold)!important;
}
/* Strip pill backgrounds + jakékoli underline/border z původní impl */
#content .cart-header .step strong,
#content .cart-header .step a,
#content .cart-header .step span,
#content .cart-header .step strong span{
  display:inline!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-bottom:0!important;
  outline:0!important;
  padding:0!important;
  margin:0!important;
  height:auto!important;
  color:inherit!important;
  font-family:inherit!important;
  font-weight:inherit!important;
  font-size:inherit!important;
  text-transform:none!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  text-decoration-color:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#content .cart-header .step a:hover{color:var(--color-ink)!important;text-decoration:none!important}

/* --- Cart linecart (.ch-linecart) ---
   Bílá karta s shadow-sm, řádky jako grid:
   80px (img) | 1fr (name) | 140 (avail) | 120 (qty) | auto (total+remove)
   align-items: center pro vertical alignment.
   ---------------------------------------------------------- */
#content .cart-inner{
  background:transparent!important;
  padding:0!important;
}
#content .cart-table{
  display:block!important;
  width:100%!important;
  background:var(--color-surface)!important;
  border-radius:var(--radius-md)!important;
  box-shadow:var(--shadow-sm,0 2px 8px rgba(44,33,23,.06))!important;
  margin:0 0 24px!important;
  overflow:hidden!important;
  position:relative!important;
}
#content .cart-table tbody{display:block!important;width:100%!important}

/* Header band tabulky — popisky sloupců via flex distribuce */
#content .cart-table::before{
  content:"Produkt\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0Množství\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0Skladem\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0Cena"!important;
  display:block!important;
  padding:14px 20px!important;
  background:var(--color-surface-warm)!important;
  border-bottom:1px solid var(--color-line)!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--color-muted)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
#content .cart-table tr.removeable{
  display:grid!important;
  grid-template-columns:80px minmax(0,1fr) 140px 120px auto!important;
  column-gap:16px!important;
  align-items:center!important;
  padding:18px 20px!important;
  border-top:1px solid var(--color-line)!important;
}
#content .cart-table tr.removeable:first-child{border-top:0!important}
#content .cart-table tr.removeable > td{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  vertical-align:middle!important;
}
#content .cart-table .p-label{
  display:none!important;
  font-family:var(--font-body)!important;
  font-size:12px!important;
  color:var(--color-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:4px!important;
}

/* Obrázek — bez rámečku, jen čistá fotka */
#content .cart-p-image{width:auto!important;background:transparent!important;padding:0!important}
#content .cart-p-image a{display:inline-block!important;border:0!important;background:transparent!important}
#content .cart-p-image img{
  width:80px!important;
  height:80px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:var(--radius-sm,8px)!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

/* Název + varianta */
#content .cart-table .p-name{min-width:0!important}
#content .cart-table .p-name .main-link{
  font-family:var(--font-head)!important;
  font-weight:600!important;
  font-size:16px!important;
  line-height:1.3!important;
  color:var(--color-ink)!important;
  text-decoration:none!important;
}
#content .cart-table .p-name .main-link:hover{color:var(--color-rust)!important}
#content .cart-table .p-name .main-link-variant{
  display:block!important;
  font-family:var(--font-body)!important;
  font-weight:400!important;
  font-size:13px!important;
  color:var(--color-muted)!important;
  margin-top:4px!important;
}
#content .cart-table .p-name .show-related{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-top:8px!important;
  font-family:var(--font-body)!important;
  font-size:12px!important;
  color:var(--color-rust)!important;
  text-decoration:none!important;
  border-bottom:1px dashed var(--color-rust)!important;
  padding-bottom:1px!important;
}
#content .cart-table .p-name .show-related b{font-weight:700!important;color:var(--color-rust)!important}
#content .cart-table .p-name .show-related:hover{color:var(--color-primary)!important;border-color:var(--color-primary)!important}

/* Dostupnost — sémantické barvy přes inline #009901 */
#content .cart-table .p-availability{min-width:0!important;text-align:left!important}
#content .cart-table .availability-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:13px!important;
  line-height:1!important;
}
#content .cart-table .availability-label[style*="009901"]{color:var(--color-success)!important}
#content .cart-table .availability-label[style*="009901"]::before{
  content:""!important;
  width:8px!important;height:8px!important;
  border-radius:50%!important;
  background:var(--color-success)!important;
  display:inline-block!important;
}
#content .cart-table .availability-amount{
  display:inline-block!important;
  margin-left:4px!important;
  font-size:12px!important;
  color:var(--color-muted)!important;
}

/* Cena: skrýt per-unit (.p-price), nechat jen p-total s flex price + trash */
#content .cart-table .p-price{display:none!important}
#content .cart-table .p-total{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  white-space:nowrap!important;
  text-align:right!important;
  position:relative!important;
}
#content .cart-table .p-total form.inline,
#content .cart-table .p-total form.inline > .inline{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
#content .cart-table .p-total .price-final{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:16px!important;
  color:var(--color-ink)!important;
  margin:0!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  line-height:1.1!important;
}

/* Kvantita — nech nativní Shoptet, jen orámování ladí s DS */
#content .cart-table .p-quantity{width:140px!important}
#content .cart-table .p-quantity .quantity{
  display:inline-flex!important;
  align-items:center!important;
  background:var(--color-surface)!important;
  border:1px solid var(--color-line)!important;
  border-radius:var(--radius-md)!important;
  height:40px!important;
  overflow:hidden!important;
}
#content .cart-table .p-quantity .quantity .amount{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:14px!important;
  color:var(--color-ink)!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  width:40px!important;
}
#content .cart-table .p-quantity .quantity .increase,
#content .cart-table .p-quantity .quantity .decrease{
  background:transparent!important;
  color:var(--color-ink)!important;
  border:0!important;
}
#content .cart-table .p-quantity .quantity .increase:hover,
#content .cart-table .p-quantity .quantity .decrease:hover{
  background:var(--color-surface-warm)!important;
}

/* Smazat položku — TRASH ikona (muted, ne červená) */
#content .cart-table .remove-item,
#content .cart-table .p-total .remove-item,
#content .cart-table form.inline .remove-item{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;height:36px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#94908B!important;
  cursor:pointer!important;
  border-radius:999px!important;
  position:static!important;
  top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;
  vertical-align:middle!important;
  flex:0 0 36px!important;
  transition:background .15s ease,color .15s ease!important;
  box-shadow:none!important;
}
#content .cart-table .remove-item::before{
  content:""!important;
  display:block!important;
  width:18px!important;height:18px!important;
  background:currentColor!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") center/contain no-repeat!important;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>") center/contain no-repeat!important;
  position:static!important;
  transform:none!important;
  border:0!important;
}
#content .cart-table .remove-item::after{display:none!important;content:none!important;background:transparent!important}
#content .cart-table .remove-item:hover{
  background:var(--color-surface-warm)!important;
  color:var(--color-ink)!important;
}
#content .cart-table .remove-item .sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* --- Související produkty (related row) --- */
#content .cart-table tr.related td{
  padding:16px!important;
  background:var(--color-surface-warm)!important;
  border-bottom:1px solid var(--color-line)!important;
}
#content .cart-related-product{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 12px!important;
  margin:8px 0!important;
  background:var(--color-surface)!important;
  border:1px solid var(--color-line)!important;
  border-radius:var(--radius-md)!important;
}
#content .cart-related-product .cart-related-info{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex:1!important;
  min-width:0!important;
}
#content .cart-related-product .cart-related-img{
  flex:0 0 56px!important;
  width:56px!important;height:56px!important;
  border-radius:var(--radius-sm,8px)!important;
  overflow:hidden!important;
  background:var(--color-surface-warm)!important;
  border:1px solid var(--color-line)!important;
}
#content .cart-related-product .cart-related-img img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;
  padding:4px!important;
}
#content .cart-related-product .cart-related-name{
  font-family:var(--font-head)!important;
  font-weight:600!important;
  font-size:14px!important;
  color:var(--color-ink)!important;
  text-decoration:none!important;
  line-height:1.3!important;
}
#content .cart-related-product .cart-related-name:hover{color:var(--color-rust)!important}
#content .cart-related-product .cart-related-availability{
  display:block!important;
  margin-top:2px!important;
  font-family:var(--font-body)!important;
  font-size:12px!important;
}
#content .cart-related-product .cart-related-availability span[style*="009901"]{
  color:var(--color-success)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
#content .cart-related-product .cart-related-availability span[style*="009901"]::before{
  content:""!important;
  width:6px!important;height:6px!important;
  border-radius:50%!important;
  background:var(--color-success)!important;
}
#content .cart-related-product .cart-related-button{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-shrink:0!important;
}
#content .cart-related-product .price-final{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:14px!important;
  color:var(--color-ink)!important;
  white-space:nowrap!important;
}
#content .cart-related-product .price-final small{
  font-family:var(--font-body)!important;
  font-weight:400!important;
  font-size:11px!important;
  color:var(--color-muted)!important;
  margin-right:2px!important;
}
#content .cart-related-product .btn.btn-sm{
  height:32px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:transparent!important;
  border:1.5px solid var(--color-ink)!important;
  color:var(--color-ink)!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease!important;
}
#content .cart-related-product .btn.btn-sm:hover{
  background:var(--color-ink)!important;
  color:#FFFFFF!important;
}

/* --- Upsell (fvDoplnek) --- */
#content .fvDoplnek{
  margin:24px 0!important;
  padding:18px 20px!important;
  background:var(--color-surface-warm)!important;
  border:1px solid var(--color-line)!important;
  border-radius:var(--radius-md)!important;
}
#content .fvDoplnek h4{display:none!important}
#content .fvDoplnek-produkt{
  padding:12px 0!important;
  border-bottom:1px dashed var(--color-line)!important;
}
#content .fvDoplnek-produkt:last-child{border-bottom:0!important;padding-bottom:0!important}
#content .fvDoplnek-produkt:first-child{padding-top:0!important}
#content .fvDoplnek-produkt form{margin:0!important;background:transparent!important;padding:0!important}
#content .fvDoplnek-produkt .fvcontent{width:100%!important;display:block!important}
#content .fvDoplnek-produkt .header{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:4px!important;
}
#content .fvDoplnek-variant-checkbox{
  width:18px!important;height:18px!important;
  accent-color:var(--color-gold)!important;
  margin:0!important;
  cursor:pointer!important;
}
#content .fvDoplnek-produkt .fvDoplnek-text{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  flex:1!important;
  flex-wrap:wrap!important;
}
#content .fvDoplnek-produkt .name{
  font-family:var(--font-head)!important;
  font-weight:600!important;
  font-size:15px!important;
  color:var(--color-ink)!important;
  cursor:default!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#content .fvDoplnek-produkt .price{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:14px!important;
  color:var(--color-rust)!important;
  margin-left:auto!important;
}
#content .fvDoplnek-produkt .fvDoplnek-description{
  margin:6px 0 0 30px!important;
  font-family:var(--font-body)!important;
  font-size:13px!important;
  line-height:1.5!important;
  color:var(--color-body)!important;
}
#content .fvDoplnek-produkt .upsell-product-tooltip{display:none!important}

/* --- Termín doručení --- */
#content .delivery-time{
  margin:16px 0 24px!important;
  padding:12px 16px!important;
  background:rgba(63,125,78,.10)!important;
  border-left:3px solid var(--color-success)!important;
  border-radius:var(--radius-sm,8px)!important;
  font-family:var(--font-body)!important;
  font-size:14px!important;
  color:var(--color-body)!important;
}
#content .delivery-time strong{color:var(--color-success)!important;font-weight:700!important}

/* --- Cart summary (kupón + motivační lišty) --- */
#content .cart-summary{
  margin-top:8px!important;
  padding-top:8px!important;
}
#content .cart-summary h2.h4{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:18px!important;
  color:var(--color-ink)!important;
  margin:0 0 16px!important;
  text-transform:none!important;
}
#content .extras-wrapper{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:24px!important;
  align-items:start!important;
}
#content .extras-wrapper .extras-col{padding:0!important;background:transparent!important;border:0!important}

/* Kupón */
#content .discount-coupon form.input-group{
  display:flex!important;
  gap:8px!important;
}
#content .discount-coupon .form-control{
  flex:1!important;
  height:44px!important;
  padding:0 16px!important;
  border:1px solid var(--color-line)!important;
  border-radius:999px!important;
  background:var(--color-surface)!important;
  font-family:var(--font-body)!important;
  font-size:14px!important;
  color:var(--color-ink)!important;
  outline:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
#content .discount-coupon .form-control:focus{
  border-color:var(--color-gold)!important;
  box-shadow:0 0 0 3px rgba(212,160,23,.18)!important;
}
#content .discount-coupon .btn.btn-secondary{
  flex:0 0 auto!important;
  height:44px!important;
  padding:0 22px!important;
  border:1.5px solid var(--color-ink)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--color-ink)!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:14px!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease!important;
}
#content .discount-coupon .btn.btn-secondary:hover{
  background:var(--color-ink)!important;
  color:#FFFFFF!important;
}

/* Motivační lišty */
#content .extras-wrapper .extra{
  position:relative!important;
  margin-bottom:14px!important;
  padding:14px 16px!important;
  background:var(--color-surface)!important;
  border:1px solid var(--color-line)!important;
  border-radius:var(--radius-md)!important;
  font-family:var(--font-body)!important;
  font-size:13px!important;
  color:var(--color-body)!important;
  overflow:hidden!important;
}
#content .extras-wrapper .extra:last-child{margin-bottom:0!important}
/* Zabít Shoptet dekorativní ikonu (truck / -%) která se ukazuje obří přes pozadí */
#content .extras-wrapper .extra::before,
#content .extras-wrapper .extra::after,
#content .extras-wrapper .extras-col::before,
#content .extras-wrapper .extras-col::after,
#content .extras-wrapper .extras-wrap::before,
#content .extras-wrapper .extras-wrap::after,
#content .extras-wrapper .extra > i,
#content .extras-wrapper .extra > svg,
#content .extras-wrapper .extra [class*="icon"]{
  content:none!important;
  display:none!important;
  background-image:none!important;
}
#content .extras-wrapper .extra strong{color:var(--color-ink)!important;font-weight:700!important}
#content .extras-wrapper .extra.delivery{
  border-color:rgba(212,160,23,.4)!important;
  background:rgba(212,160,23,.08)!important;
}
#content .extras-wrapper .extra.discount{
  border-color:rgba(122,62,29,.3)!important;
  background:rgba(122,62,29,.06)!important;
}
#content .extras-wrapper .extra .price-range{
  margin-top:10px!important;
  height:6px!important;
  background:rgba(44,33,23,.08)!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
#content .extras-wrapper .extra.delivery .price-range > div{
  height:100%!important;
  background:var(--color-gold)!important;
  border-radius:999px!important;
  transition:width .3s ease!important;
}
#content .extras-wrapper .extra.discount .price-range > div{
  height:100%!important;
  background:var(--color-rust)!important;
  border-radius:999px!important;
  transition:width .3s ease!important;
}

/* --- Sidebar (kontakt + souhrn) ---
   Bílé boxy s shadow-sm (žádný šedivý wrapper). */
#content .sidebar-in-cart .cart-content,
#content .sidebar-in-cart .checkout-box-wrapper,
#content .sidebar-in-cart .summary-wrapper{
  margin-bottom:18px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
#content .sidebar-in-cart .box,
#content .sidebar-in-cart .box.box-bg-default,
#content .sidebar-in-cart .box.box-sm{
  background:var(--color-surface)!important;
  border:0!important;
  border-radius:var(--radius-md)!important;
  padding:22px!important;
  box-shadow:var(--shadow-sm,0 2px 8px rgba(44,33,23,.06))!important;
}
#content .sidebar-in-cart h2.h4{
  font-family:var(--font-head)!important;
  font-weight:700!important;
  font-size:16px!important;
  color:var(--color-ink)!important;
  margin:0 0 14px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

/* Kontakt box */
#content .sidebar-in-cart .contact-box ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
#content .sidebar-in-cart .contact-box li{
  margin:0 0 10px!important;
  padding:0!important;
  font-family:var(--font-body)!important;
  font-size:14px!important;
  color:var(--color-body)!important;
}
#content .sidebar-in-cart .contact-box li:last-child{margin-bottom:0!important}
#content .sidebar-in-cart .contact-box a{
  color:var(--color-rust)!important;
  text-decoration:none!important;
  font-weight:600!important;
  word-break:break-word!important;
}
#content .sidebar-in-cart .contact-box a:hover{color:var(--color-primary)!important;text-decoration:underline!important}
#content .sidebar-in-cart .contact-box .mail,
#content .sidebar-in-cart .contact-box .tel,
#content .sidebar-in-cart .contact-box .facebook,
#content .sidebar-in-cart .contact-box .instagram{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}

/* Souhrn */
#content .summary-wrapper .box{padding:22px!important}
#content .summary-wrapper .price-wrapper{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:6px 16px!important;
  margin-bottom:18px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid var(--color-line)!important;
}
#content .summary-wrapper .price-label{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  color:var(--color-body)!important;
  align-self:center!important;
  white-space:nowrap!important;
}
#content .summary-wrapper .price-label.price-primary{
  font-weight:600!important;
  color:var(--color-ink)!important;
  font-size:15px!important;
}
#content .summary-wrapper .price{
  text-align:right!important;
  font-family:var(--font-head)!important;
  font-weight:700!important;
  white-space:nowrap!important;
  align-self:center!important;
}
#content .summary-wrapper .price.price-primary{
  font-size:24px!important;
  color:var(--color-ink)!important;
  line-height:1.1!important;
}
#content .summary-wrapper .price.price-secondary{
  font-size:13px!important;
  font-weight:600!important;
  color:var(--color-muted)!important;
}
#content .summary-wrapper .price-label.price-secondary{
  font-size:12px!important;
  color:var(--color-muted)!important;
}

/* Tlačítka další krok dle UI kitu:
   Pokračovat = .ch-btn--accent --l (gold, 48px, šipka)
   Zpět do obchodu = .ch-textlink (text + arrow-left, no bg/border) */
#content .summary-wrapper .next-step{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  align-items:stretch!important;
}
#content .summary-wrapper .next-step .btn,
#content .summary-wrapper .next-step a.btn,
#content .summary-wrapper .next-step button.btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease!important;
  cursor:pointer!important;
  flex-direction:row!important;
}
/* Accent CTA — Pokračovat */
#content .summary-wrapper .next-step-forward,
#content .summary-wrapper .btn-conversion,
#content .summary-wrapper a.next-step-forward{
  width:100%!important;
  height:48px!important;
  padding:0 24px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--color-gold)!important;
  color:var(--color-ink)!important;
  box-shadow:var(--shadow-gold,0 4px 14px rgba(212,160,23,.35))!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:15px!important;
  white-space:nowrap!important;
  flex-direction:row!important;
  order:1!important;
}
#content .summary-wrapper .next-step-forward .order-button-text,
#content .summary-wrapper .btn-conversion .order-button-text{
  display:inline!important;
  white-space:nowrap!important;
}
#content .summary-wrapper .next-step-forward::after,
#content .summary-wrapper .btn-conversion::after{
  content:"→"!important;
  font-family:var(--font-head)!important;
  font-weight:400!important;
  font-size:18px!important;
  margin-left:4px!important;
  line-height:1!important;
  display:inline!important;
}
#content .summary-wrapper .next-step-forward:hover,
#content .summary-wrapper .btn-conversion:hover{
  background:var(--color-gold-hover,#C09013)!important;
}
/* Textlink — Zpět do obchodu */
#content .summary-wrapper .next-step-back{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--color-rust)!important;
  font-family:var(--font-body)!important;
  font-weight:600!important;
  font-size:14px!important;
  text-decoration:none!important;
  order:2!important;
  align-self:center!important;
  box-shadow:none!important;
}
#content .summary-wrapper .next-step-back::before{
  content:"←"!important;
  margin-right:6px!important;
  font-family:var(--font-head)!important;
  font-size:16px!important;
  line-height:1!important;
}
#content .summary-wrapper .next-step-back:hover{
  color:var(--color-rust-hover,#5C2F16)!important;
  background:transparent!important;
  text-decoration:underline!important;
}

/* --- Mobil: card layout per položku, related row HIDDEN -- */
@media (max-width:767px){

  /* Layout: stack sloupců, sidebar pod košíkem */
  #content .row.cart-row{
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    margin:0!important;
  }
  #content .row.cart-row > .col-md-8,
  #content .row.cart-row > .col-md-4.sidebar-in-cart{
    flex:1 1 100%!important;
    max-width:100%!important;
    width:100%!important;
    padding:0!important;
  }

  /* Krokovník — kompaktnější (číslo + popisek + spojnice) */
  #content .cart-header{gap:0!important;margin:0 0 20px!important;flex-wrap:nowrap!important;overflow-x:auto!important}
  #content .cart-header .step{font-size:11px!important;flex-shrink:0!important;gap:6px!important}
  #content .cart-header .step::before{width:24px!important;height:24px!important;font-size:11px!important}
  #content .cart-header .step:not(:last-child)::after{width:20px!important;margin:0 8px!important}

  /* Cart card wrapper — bez vnitřního paddingu */
  #content .cart-table{
    border-radius:var(--radius-md)!important;
    overflow:hidden!important;
  }
  #content .cart-table tbody{display:block!important;width:100%!important}

  /* Každý produkt = card grid 72px foto | obsah */
  #content .cart-table tr.removeable{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:4px!important;
    padding:14px!important;
    align-items:start!important;
  }
  #content .cart-table tr.removeable:first-child{border-top:0!important}
  #content .cart-table tr.removeable > td{
    padding:0!important;
    text-align:left!important;
    display:block!important;
    width:auto!important;
    border:0!important;
  }

  /* Explicitní grid placement (robustnější než template-areas) */
  #content .cart-table tr.removeable > .cart-p-image{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    width:72px!important;
  }
  #content .cart-table tr.removeable > .p-name{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
  }
  #content .cart-table tr.removeable > .p-availability{
    grid-column:2!important;
    grid-row:2!important;
    margin-top:4px!important;
  }
  #content .cart-table tr.removeable > .p-quantity{
    grid-column:2!important;
    grid-row:3!important;
    margin-top:6px!important;
    width:auto!important;
  }
  #content .cart-table tr.removeable > .p-total{
    grid-column:2!important;
    grid-row:4!important;
    margin-top:6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    text-align:left!important;
  }

  /* Vynuceně skryté na mobilu */
  #content .cart-table tr.removeable > .p-label,
  #content .cart-table .p-label,
  #content .cart-table tr.removeable > .p-price,
  #content .cart-table .p-price,
  #content .cart-table .availability-amount{display:none!important}

  /* RELATED ROW — kompletně skrýt na mobilu (jinak rozhází layout) */
  #content .cart-table tr.related,
  #content .cart-table tr.related td,
  #content .cart-table .p-name .show-related{display:none!important}

  /* Foto */
  #content .cart-table .cart-p-image img{
    width:72px!important;height:72px!important;
    padding:4px!important;
  }

  /* Název + varianta */
  #content .cart-table .p-name .main-link{font-size:15px!important;line-height:1.25!important}
  #content .cart-table .p-name .main-link-variant{font-size:12px!important;margin-top:2px!important}

  /* Kvantita */
  #content .cart-table .p-quantity .quantity{height:36px!important}
  #content .cart-table .p-quantity .quantity .amount{width:36px!important;font-size:13px!important}

  /* Cena + trash inline */
  #content .cart-table .p-total .price-final{
    font-size:18px!important;
    color:var(--color-rust)!important;
  }
  #content .cart-table .remove-item{width:34px!important;height:34px!important;flex:0 0 34px!important}

  /* fvDoplnek — full width */
  #content .fvDoplnek{padding:14px 16px!important;margin:18px 0!important}
  #content .fvDoplnek-produkt .fvDoplnek-description{margin-left:30px!important;font-size:12px!important}
  #content .fvDoplnek-produkt .price{font-size:14px!important}

  /* Termín doručení */
  #content .delivery-time{font-size:13px!important;padding:10px 14px!important}

  /* Kupón + motivace */
  #content .extras-wrapper{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  #content .discount-coupon form.input-group{flex-wrap:nowrap!important}
  #content .discount-coupon .form-control{height:42px!important;font-size:13px!important;padding:0 14px!important}
  #content .discount-coupon .btn.btn-secondary{height:42px!important;padding:0 18px!important;font-size:13px!important}
  #content .extras-wrapper .extra{padding:12px 14px!important;font-size:12px!important}

  /* Sidebar: summary nejdřív, kontakt pod ním */
  #content .sidebar-in-cart{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  #content .sidebar-in-cart .summary-wrapper{order:1!important}
  #content .sidebar-in-cart .checkout-box-wrapper{order:2!important}
  #content .sidebar-in-cart .box{padding:18px!important}
  #content .summary-wrapper .price.price-primary{font-size:22px!important}
  #content .summary-wrapper .next-step-forward,
  #content .summary-wrapper .btn-conversion{height:48px!important;font-size:14px!important}
}

/* --- Desktop: sidebar sticky --- */
@media (min-width:992px){
  #content .sidebar-in-cart{position:sticky!important;top:24px!important;align-self:flex-start!important}
}
