/* =========================================================
   KOLJA PAINTER - CART
   Cart page and cart window – dark mode, sharp/modern style
   ========================================================= */

:root {
  --kp-accent: #ffcc99;
  --kp-accent-2: #ffddb3;
  --kp-danger: #d00000;
}

/* Scope: cart page + cart window */
body:is(.in-kosik, .ordering-process) .cart-window-in,
body.type-basket .cart-window-in,
.cart-window-in {
  color: var(--kp-text-primary, rgba(255, 255, 255, 0.95));
}

body:is(.in-kosik, .ordering-process) .cart-window-in .place-cart-here,
body.type-basket .cart-window-in .place-cart-here,
.cart-window-in .place-cart-here {
  max-width: 1378px;
  margin: 0 auto;
}

/* Main cart panel */
body:is(.in-kosik, .ordering-process) #cart-wrapper,
body.type-basket #cart-wrapper,
.cart-window-in #cart-wrapper,
#cart-widget #cart-wrapper {
  background: #0d0d0cd1;
  border: 1px solid var(--kp-border-subtle, rgba(255, 255, 255, 0.12));
  border-radius: 0;
  padding: 22px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Back button ("Zpět do obchodu" top) */
.cart-window-in .toggle-window-arr {
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  transition: all 0.2s ease;
}

.cart-window-in .toggle-window-arr:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.42);
}

/* =========================================================
   STEP NAVIGATION (1. Košík, 2. Doprava, 3. Info)
   ========================================================= */

.cart-window-in .cart-header,
#cart-widget .cart-header {
  display: flex !important;
  gap: 0 !important;
  border: none !important;
  background: transparent !important;
  margin-bottom: 18px !important;
  list-style: none !important;
  padding: 0 !important;
}

.cart-window-in .cart-header .step,
#cart-widget .cart-header .step {
  flex: 1 !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
}

.cart-window-in .cart-header .step > *,
#cart-widget .cart-header .step > * {
  display: block !important;
  padding: 14px 18px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.cart-window-in .cart-header .step > *:hover,
#cart-widget .cart-header .step > *:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.cart-window-in .cart-header .step > * span,
#cart-widget .cart-header .step > * span {
  background: transparent !important;
  color: inherit !important;
  border: none !important;
}

/* Active step */
.cart-window-in .cart-header .step.active > *,
#cart-widget .cart-header .step.active > * {
  background: rgba(0, 0, 0, 0.5) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: 3px solid #fff !important;
}

.cart-window-in .cart-header .step.active > * span,
#cart-widget .cart-header .step.active > * span {
  color: #fff !important;
}

/* =========================================================
   CART TABLE (product rows)
   ========================================================= */

.cart-window-in .cart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.cart-window-in .cart-table tbody tr {
  background: rgba(0, 0, 0, 0.45);
}

.cart-window-in .cart-table td,
.cart-table tr td,
.cart-table tr td.cart-p-image {
  padding: 14px;
  vertical-align: middle;
  color: var(--kp-text-secondary, rgba(255, 255, 255, 0.85));
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background-color: transparent !important;
}

.cart-window-in .cart-table td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.cart-window-in .cart-table td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

/* Product image */
.cart-window-in .cart-table .cart-p-image a {
  display: block;
  width: 92px;
  height: 92px;
  border-radius: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.cart-window-in .cart-table .cart-p-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.35);
}

/* Product name */
.cart-window-in .cart-table .p-name .main-link {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.cart-window-in .cart-table .p-name .main-link:hover {
  color: rgba(255, 255, 255, 0.86);
}

.cart-window-in .cart-table .p-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.62);
  margin-bottom: 4px;
}

/* Availability */
.cart-window-in .cart-table .availability-label {
  color: var(--kp-danger) !important;
  font-weight: 700;
}

.cart-window-in .availability-value {
  color: #4caf50;
  font-weight: 700;
}

/* =========================================================
   QUANTITY (+/- buttons)
   ========================================================= */

/* Quantity wrapper – jen barvy, bez změny layoutu */
.cart-window-in .quantity {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.cart-window-in .quantity .amount {
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.cart-window-in .quantity .increase,
.cart-window-in .quantity .decrease {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.15) !important;
  transition: background 0.2s ease;
}

.cart-window-in .quantity .increase:hover,
.cart-window-in .quantity .decrease:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* Prices */
.cart-window-in .price-final,
.cart-window-in .price,
.cart-window-in .price-primary {
  color: #fff;
}

.cart-window-in .p-total .price-final {
  font-size: 19px;
  font-weight: 800;
}

/* Discount badge */
.cart-window-in .discount-amount,
.cart-window-in .p-discount {
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 2px 6px;
  border-radius: 0;
}

/* Original / strikethrough price */
.cart-window-in .price-standard {
  color: rgba(255, 255, 255, 0.45);
  text-decoration: line-through;
}

/* =========================================================
   REMOVE BUTTON (×)
   ========================================================= */

.cart-window-in .remove-item {
  width: 36px;
  height: 36px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.04);
  position: relative;
  transition: all 0.2s ease;
}

.cart-window-in .remove-item::before,
.cart-window-in .remove-item::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 1.5px;
  background: #fff;
  transform-origin: center;
}

.cart-window-in .remove-item::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.cart-window-in .remove-item::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.cart-window-in .remove-item:hover {
  background: rgba(208, 0, 0, 0.24);
  border-color: rgba(208, 0, 0, 0.62);
}

/* =========================================================
   GIFTS & DISCOUNTS SECTION ("Dárky a slevy")
   ========================================================= */

.cart-window-in h4 {
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-bottom: 10px;
}

/* Gift item */
.cart-window-in .gift-item,
.cart-window-in .free-gift {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 12px;
}

.cart-window-in .gift-item img,
.cart-window-in .free-gift img {
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* "VYBRAT JINÝ DÁREK" button */
.cart-window-in .btn-gift,
.cart-window-in .btn-outline,
.cart-window-in a[href*="gift"] {
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #fff;
  border-radius: 0;
  padding: 8px 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: all 0.2s ease;
}

.cart-window-in .btn-gift:hover,
.cart-window-in .btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
}

/* =========================================================
   COUPON INPUT ("Vložit slevový kupón")
   ========================================================= */

.cart-window-in .coupon-form input[type="text"],
.cart-window-in input.coupon-input,
.cart-window-in .discount-coupon input {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 10px 14px;
  height: 44px;
}

.cart-window-in .coupon-form input[type="text"]::placeholder,
.cart-window-in input.coupon-input::placeholder,
.cart-window-in .discount-coupon input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.cart-window-in .coupon-form input[type="text"]:focus,
.cart-window-in input.coupon-input:focus,
.cart-window-in .discount-coupon input:focus {
  border-color: rgba(255, 255, 255, 0.45);
  outline: none;
}

/* "PŘIDAT SLEVOVÝ KUPÓN" button */
.cart-window-in .coupon-form button,
.cart-window-in .coupon-form .btn,
.cart-window-in .discount-coupon .btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 20px;
  height: 44px;
  transition: all 0.2s ease;
}

.cart-window-in .coupon-form button:hover,
.cart-window-in .coupon-form .btn:hover,
.cart-window-in .discount-coupon .btn:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.5);
}

/* =========================================================
   BONUSES & PROGRESS BAR
   ========================================================= */

.cart-window-in .box.box-md.box-bg-default,
.cart-window-in .cart-bonus,
.cart-window-in .bonus-wrapper {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 14px;
}

/* Progress bar track */
.cart-window-in .progress,
.cart-window-in .bonus-progress {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0;
  height: 6px;
  overflow: hidden;
}

/* Progress bar fill */
.cart-window-in .progress-bar,
.cart-window-in .bonus-progress-bar {
  background: var(--kp-accent);
  border-radius: 0;
  height: 100%;
  transition: width 0.3s ease;
}

/* Bonus text */
.cart-window-in .bonus-text,
.cart-window-in .cart-bonus p {
  color: rgba(255, 255, 255, 0.75);
}

.cart-window-in .bonus-text strong,
.cart-window-in .cart-bonus strong {
  color: #fff;
}

/* Delivery info */
.cart-window-in .delivery-date {
  color: rgba(255, 255, 255, 0.7);
}

/* =========================================================
   SUMMARY (Celkem za zboží)
   ========================================================= */

.cart-window-in .summary .price-wrapper {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  padding: 14px;
}

.cart-window-in .summary .price-label {
  color: rgba(255, 255, 255, 0.72);
}

.cart-window-in .summary .price-primary {
  font-size: 28px;
  font-weight: 800;
}

.cart-window-in .summary .price-secondary {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
}

/* =========================================================
   NEXT STEP CTA (Zpět + Pokračovat)
   ========================================================= */

.cart-window-in .next-step--cart {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.cart-window-in .next-step--cart .btn {
  border-radius: 0;
  min-height: 48px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* "Zpět do obchodu" */
.cart-window-in .next-step--cart .next-step-back {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s ease;
}

.cart-window-in .next-step--cart .next-step-back:hover {
  color: #fff;
}

/* "POKRAČOVAT →" */
.cart-window-in .next-step--cart .btn-conversion {
  border: 0;
  color: #000;
  background: #60b800;
  box-shadow: none;
  padding: 14px 32px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.2s ease;
}

.cart-window-in .next-step--cart .btn-conversion:hover {
  background: #3c7300;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* =========================================================
   GENERIC FORM ELEMENTS IN CART
   ========================================================= */

.cart-window-in select {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 8px 12px;
}

.cart-window-in input[type="text"],
.cart-window-in input[type="email"],
.cart-window-in input[type="tel"],
.cart-window-in textarea {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 10px 14px;
}

.cart-window-in input:focus,
.cart-window-in select:focus,
.cart-window-in textarea:focus {
  border-color: rgba(255, 255, 255, 0.45);
  outline: none;
}

/* =========================================================
   EMPTY CART ("Váš nákupní košík je prázdný")
   ========================================================= */

.cart-window-in .cart-empty .cart-heading,
#cart-widget .cart-empty .cart-heading{
  color: #fff;
}

.cart-window-in .cart-empty h3,
#cart-widget .cart-empty h3{
  color: rgba(255,255,255,.9);
}

.cart-window-in .cart-empty a,
#cart-widget .cart-empty a{
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: color .2s ease;
}

.cart-window-in .cart-empty a:hover,
#cart-widget .cart-empty a:hover{
  color: #fff;
  text-decoration: underline;
}

.cart-window-in .cart-empty ul,
#cart-widget .cart-empty ul{
  color: rgba(255,255,255,.85);
}

/* Contact box */
.cart-window-in .contact-box,
#cart-widget .contact-box{
  color: rgba(255,255,255,.85);
}

.cart-window-in .contact-box strong,
#cart-widget .contact-box strong{
  color: #fff;
}

.cart-window-in .contact-box a,
#cart-widget .contact-box a{
  color: rgba(255,255,255,.7) !important;
}

.cart-window-in .contact-box a:hover,
#cart-widget .contact-box a:hover{
  color: #fff !important;
}

.cart-window-in .box.box-bg-default,
#cart-widget .box.box-bg-default{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 0 !important;
}

/* Search form in empty cart */
.cart-window-in .cart-empty .search-input,
#cart-widget .cart-empty .search-input{
  background: rgba(0,0,0,.3) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 0 !important;
  color: #fff !important;
}

.cart-window-in .cart-empty .search-input::placeholder,
#cart-widget .cart-empty .search-input::placeholder{
  color: rgba(255,255,255,.4) !important;
}

.cart-window-in .cart-empty .btn-default,
#cart-widget .cart-empty .btn-default{
  background: #60b800 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #000 !important;
  font-weight: 700 !important;
  transition: all .2s ease;
}

.cart-window-in .cart-empty .btn-default:hover,
#cart-widget .cart-empty .btn-default:hover{
  background: #3c7300 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.3);
}

/* =========================================================
   RELATED PRODUCTS ("Související produkty")
   ========================================================= */

.cart-window-in .related-products {
  color: rgba(255, 255, 255, 0.6);
}

.cart-window-in .related-products a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: underline;
}

.cart-window-in .related-products a:hover {
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {
  .cart-window-in .cart-header .step > *,
  #cart-widget .cart-header .step > * {
    font-size: 15px !important;
    padding: 14px 10px !important;
  }

  .cart-window-in #cart-wrapper {
    padding: 16px;
  }

  .cart-window-in .cart-table,
  .cart-window-in .cart-table tbody,
  .cart-window-in .cart-table tr,
  .cart-window-in .cart-table td {
    display: block;
    width: 100%;
  }

  .cart-window-in .cart-table tbody tr {
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 12px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.45);
  }

  .cart-window-in .cart-table td {
    border: 0;
    padding: 8px 0;
  }

  .cart-window-in .cart-table td:first-child,
  .cart-window-in .cart-table td:last-child {
    border: 0;
  }

  .cart-window-in .cart-table .cart-p-image img {
    width: 78px;
    height: 78px;
  }

  .cart-window-in .summary .row,
  .cart-window-in .summary .col-md-8,
  .cart-window-in .summary .col-md-4 {
    display: block;
    width: 100%;
  }

  .cart-window-in .summary .col-md-4 {
    margin-top: 10px;
  }

  .cart-window-in .next-step--cart .btn {
    width: 100%;
  }
}

/* =========================================================
   Z-INDEX: content-wrapper NAD header když je cart otevřený
   ========================================================= */

#content-wrapper:has(#cart-widget[aria-hidden="false"]),
div#content-wrapper:has(#cart-widget[aria-hidden="false"]) {
  z-index: 999999 !important;
}

/* =========================================================
   CART OVERLAY BACKGROUND
   ========================================================= */

#cart-widget,
#cart-widget.cart-window,
#cart-widget.content-window {
  background:
    linear-gradient(rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.78)),
    url("/user/documents/upload/background.jpg") center/cover no-repeat !important;
}

#cart-widget .cart-window-in,
#cart-widget .content-window-in,
#cart-widget .container,
#cart-widget .container.place-cart-here {
  background: transparent !important;
}

/* =========================================================
   CART TOP SPACING FROM HEADER
   ========================================================= */

#cart-widget .place-cart-here,
body:is(.in-kosik, .ordering-process) .cart-window-in .place-cart-here,
body.type-basket .cart-window-in .place-cart-here {
  margin-top: 14px;
}

@media (max-width: 980px) {
  #cart-widget .place-cart-here,
  body:is(.in-kosik, .ordering-process) .cart-window-in .place-cart-here,
  body.type-basket .cart-window-in .place-cart-here {
    margin-top: 10px;
  }
}

/* =========================================================
   CART PAGE + ORDER PAGES – full-page dark mode
   body:is(.in-kosik, .ordering-process) •  body.ordering-process  (via :is())
   ========================================================= */

/* --- Layout: hide sidebar, full-width content --- */

body:is(.in-kosik, .ordering-process) .sidebar-left {
  display: none !important;
}

body:is(.in-kosik, .ordering-process) #content.content.wide,
body:is(.in-kosik, .ordering-process) .content-inner {
  max-width: 1378px;
  margin: 0 auto;
  width: 100%;
}

body:is(.in-kosik, .ordering-process) .content-wrapper-in {
  display: block !important;
}

/* --- Main cart panel --- */

body:is(.in-kosik, .ordering-process) #cart-wrapper {
  background: #0d0d0cd1;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  padding: 22px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: rgba(255, 255, 255, 0.95);
}

/* --- Step navigation (1. Košík, 2. Doprava, 3. Info) --- */

body:is(.in-kosik, .ordering-process) .cart-header {
  display: flex !important;
  gap: 0 !important;
  border: none !important;
  background: transparent !important;
  margin-bottom: 18px !important;
  list-style: none !important;
  padding: 0 !important;
}

body:is(.in-kosik, .ordering-process) .cart-header .step {
  flex: 1 !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
}

body:is(.in-kosik, .ordering-process) .cart-header .step > * {
  display: block !important;
  padding: 14px 18px !important;
  background: rgb(71 71 71 / 89%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .cart-header .step > *:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body:is(.in-kosik, .ordering-process) .cart-header .step > * span {
  background: transparent !important;
  color: inherit !important;
  border: none !important;
}

/* Active step */
body:is(.in-kosik, .ordering-process) .cart-header .step.active > * {
  background: rgba(0, 0, 0, 0.5) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-bottom: 3px solid #fff !important;
}

body:is(.in-kosik, .ordering-process) .cart-header .step.active > * span {
  color: #fff !important;
}

/* --- Cart inner (product rows) --- */

body:is(.in-kosik, .ordering-process) .cart-inner {
  color: rgba(255, 255, 255, 0.95);
}

body:is(.in-kosik, .ordering-process) .cart-inner .cart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}

body:is(.in-kosik, .ordering-process) .cart-inner .cart-table tbody tr {
  background: rgba(0, 0, 0, 0.45);
}

body:is(.in-kosik, .ordering-process) .cart-inner .cart-table td {
  padding: 14px;
  vertical-align: middle;
  color: rgba(255, 255, 255, 0.85);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background-color: transparent !important;
}

body:is(.in-kosik, .ordering-process) .cart-inner .cart-table td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

body:is(.in-kosik, .ordering-process) .cart-inner .cart-table td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

/* Product image */
body:is(.in-kosik, .ordering-process) .cart-p-image a {
  display: block;
  width: 92px;
  height: 92px;
  border-radius: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

body:is(.in-kosik, .ordering-process) .cart-p-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.35);
}

/* Product name */
body:is(.in-kosik, .ordering-process) .p-name .main-link {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

body:is(.in-kosik, .ordering-process) .p-name .main-link:hover {
  color: rgba(255, 255, 255, 0.86);
}

body:is(.in-kosik, .ordering-process) .p-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.62);
  margin-bottom: 4px;
}

/* Availability */
body:is(.in-kosik, .ordering-process) .availability-label {
  color: var(--kp-danger) !important;
  font-weight: 700;
}

body:is(.in-kosik, .ordering-process) .availability-value {
  color: #4caf50;
  font-weight: 700;
}

/* --- Quantity (+/- buttons) --- */

body:is(.in-kosik, .ordering-process) .quantity {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

body:is(.in-kosik, .ordering-process) .quantity .amount {
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

body:is(.in-kosik, .ordering-process) .quantity .increase,
body:is(.in-kosik, .ordering-process) .quantity .decrease {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.15) !important;
  transition: background 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .quantity .increase:hover,
body:is(.in-kosik, .ordering-process) .quantity .decrease:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* --- Prices --- */

body:is(.in-kosik, .ordering-process) .price-final,
body:is(.in-kosik, .ordering-process) .price,
body:is(.in-kosik, .ordering-process) .price-primary {
  color: #fff;
}

body:is(.in-kosik, .ordering-process) .p-total .price-final {
  font-size: 19px;
  font-weight: 800;
}

body:is(.in-kosik, .ordering-process) .price-standard {
  color: rgba(255, 255, 255, 0.45);
  text-decoration: line-through;
}

body:is(.in-kosik, .ordering-process) .discount-amount,
body:is(.in-kosik, .ordering-process) .p-discount {
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 2px 6px;
  border-radius: 0;
}

/* --- Remove button (×) --- */

body:is(.in-kosik, .ordering-process) .remove-item {
  width: 36px;
  height: 36px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.04);
  position: relative;
  transition: all 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .remove-item:hover {
  background: rgba(208, 0, 0, 0.24);
  border-color: rgba(208, 0, 0, 0.62);
}

/* --- Gifts & discounts --- */

body:is(.in-kosik, .ordering-process) h4 {
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-bottom: 10px;
}

body:is(.in-kosik, .ordering-process) .gift-item,
body:is(.in-kosik, .ordering-process) .free-gift {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 12px;
}

/* --- Coupon input --- */

body:is(.in-kosik, .ordering-process) .coupon-form input[type="text"],
body:is(.in-kosik, .ordering-process) input.coupon-input,
body:is(.in-kosik, .ordering-process) .discount-coupon input {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 10px 14px;
  height: 44px;
}

body:is(.in-kosik, .ordering-process) .coupon-form input[type="text"]::placeholder,
body:is(.in-kosik, .ordering-process) input.coupon-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

body:is(.in-kosik, .ordering-process) .coupon-form button,
body:is(.in-kosik, .ordering-process) .coupon-form .btn,
body:is(.in-kosik, .ordering-process) .discount-coupon .btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 20px;
  height: 44px;
  transition: all 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .coupon-form button:hover,
body:is(.in-kosik, .ordering-process) .coupon-form .btn:hover,
body:is(.in-kosik, .ordering-process) .discount-coupon .btn:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.5);
}

/* --- Bonuses & progress bar --- */

body:is(.in-kosik, .ordering-process) .cart-bonus,
body:is(.in-kosik, .ordering-process) .bonus-wrapper {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 14px;
  color: rgba(255, 255, 255, 0.75);
}

body:is(.in-kosik, .ordering-process) .progress,
body:is(.in-kosik, .ordering-process) .bonus-progress {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0;
  height: 6px;
  overflow: hidden;
}

body:is(.in-kosik, .ordering-process) .progress-bar,
body:is(.in-kosik, .ordering-process) .bonus-progress-bar {
  background: var(--kp-accent);
  border-radius: 0;
  height: 100%;
}

body:is(.in-kosik, .ordering-process) .bonus-text strong,
body:is(.in-kosik, .ordering-process) .cart-bonus strong {
  color: #fff;
}

body:is(.in-kosik, .ordering-process) .delivery-date {
  color: rgba(255, 255, 255, 0.7);
}

/* --- Summary (Celkem za zboží) --- */

body:is(.in-kosik, .ordering-process) .summary .price-wrapper {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  padding: 14px;
}

body:is(.in-kosik, .ordering-process) .summary .price-label {
  color: rgba(255, 255, 255, 0.72);
}

body:is(.in-kosik, .ordering-process) .summary .price-primary {
  font-size: 28px;
  font-weight: 800;
}

body:is(.in-kosik, .ordering-process) .summary .price-secondary {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
}

/* --- CTA buttons (Zpět + Pokračovat) --- */

body:is(.in-kosik, .ordering-process) .next-step--cart {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

body:is(.in-kosik, .ordering-process) .next-step--cart .btn {
  border-radius: 0;
  min-height: 48px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

body:is(.in-kosik, .ordering-process) .next-step--cart .next-step-back {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .next-step--cart .next-step-back:hover {
  color: #fff;
}

body:is(.in-kosik, .ordering-process) .next-step--cart .btn-conversion {
  border: 0;
  color: #000;
  background: #60b800;
  box-shadow: none;
  padding: 14px 32px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.2s ease;
}

body:is(.in-kosik, .ordering-process) .next-step--cart .btn-conversion:hover {
  background: #3c7300;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* --- Generic form elements on cart page --- */

body:is(.in-kosik, .ordering-process) select {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 8px 12px;
}

body:is(.in-kosik, .ordering-process) input[type="text"],
body:is(.in-kosik, .ordering-process) input[type="email"],
body:is(.in-kosik, .ordering-process) input[type="tel"],
body:is(.in-kosik, .ordering-process) textarea {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 10px 14px;
}

body:is(.in-kosik, .ordering-process) input:focus,
body:is(.in-kosik, .ordering-process) select:focus,
body:is(.in-kosik, .ordering-process) textarea:focus {
  border-color: rgba(255, 255, 255, 0.45);
  outline: none;
}

/* --- Responsive cart page --- */

@media (max-width: 980px) {
  body:is(.in-kosik, .ordering-process) .cart-header .step > * {
    font-size: 15px !important;
    padding: 14px 10px !important;
  }

  body:is(.in-kosik, .ordering-process) #cart-wrapper {
    padding: 16px;
  }

  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table,
  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table tbody,
  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table tr,
  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table td {
    display: block;
    width: 100%;
  }

  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table tbody tr {
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 12px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.45);
  }

  body:is(.in-kosik, .ordering-process) .cart-inner .cart-table td {
    border: 0;
    padding: 8px 0;
  }

  body:is(.in-kosik, .ordering-process) .next-step--cart .btn {
    width: 100%;
  }
}

/* =========================================================
   ORDER PAGES – shipping, payment, forms
   /objednavka/krok-1/  •  /objednavka/krok-2/
   ========================================================= */

/* --- Checkout content wrapper --- */

body.ordering-process #checkoutContent {
  color: rgba(255, 255, 255, 0.95);
}

/* --- Boxes (co-box): dark glass panels --- */

body.ordering-process .co-box,
body.ordering-process .box.box-bg-default,
body.ordering-process .order-summary.box {
  background: rgb(71 71 71 / 89%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 !important;
  color: rgba(255, 255, 255, 0.9);
}

/* --- General text & labels --- */

body.ordering-process #checkoutContent label,
body.ordering-process #checkoutContent p,
body.ordering-process #checkoutContent span,
body.ordering-process #checkoutContent legend,
body.ordering-process #checkoutContent h2,
body.ordering-process #checkoutContent h3,
body.ordering-process #checkoutContent h4,
body.ordering-process #checkoutContent strong,
body.ordering-process #checkoutContent b {
  color: rgba(255, 255, 255, 0.9);
}

body.ordering-process #checkoutContent a {
  color: #7ac203 !important;
}

body.ordering-process #checkoutContent a:hover {
  color: #548208 !important;
}

/* --- Shipping / payment radio-wrapper rows --- */

body.ordering-process .radio-wrapper {
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.15s ease;
}

body.ordering-process .radio-wrapper label {
  color: rgba(255, 255, 255, 0.85);
}

body.ordering-process .radio-wrapper:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* Active/selected shipping & payment row */
body.ordering-process .radio-wrapper.active {
  background: rgba(255, 255, 255, 0.08);
  border-left: 3px solid #fff;
}

/* Shipping/billing name */
body.ordering-process .shipping-billing-name {
  color: #fff;
}

/* Price label (ZDARMA) */
body.ordering-process .payment-shipping-price {
  color: #4caf50 !important;
  font-weight: 700;
}

/* "Zvolte odběrné místo" link */
body.ordering-process .pickup-point-choose a {
  color: var(--kp-accent);
}

/* Not-possible info */
body.ordering-process .not-possible-info {
  color: rgba(255, 255, 255, 0.4) !important;
}

/* --- Radio & checkbox inputs --- */

body.ordering-process input[type="radio"],
body.ordering-process input[type="checkbox"] {
  accent-color: var(--kp-accent);
}

/* --- Select dropdowns --- */

body.ordering-process select,
body.ordering-process .form-control {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 0 !important;
  color: #fff !important;
  padding: 8px 12px;
}

body.ordering-process select option {
  background: #1a1a1a;
  color: #fff;
}

/* --- Text inputs on order pages --- */

body.ordering-process input[type="text"],
body.ordering-process input[type="email"],
body.ordering-process input[type="tel"],
body.ordering-process input[type="number"],
body.ordering-process input[type="password"],
body.ordering-process textarea {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  color: #fff;
  padding: 10px 14px;
}

body.ordering-process input::placeholder,
body.ordering-process textarea::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

body.ordering-process input:focus,
body.ordering-process select:focus,
body.ordering-process textarea:focus {
  border-color: rgba(255, 255, 255, 0.45) !important;
  outline: none;
}

/* --- Order summary (Rekapitulace) --- */

body.ordering-process .order-summary-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
}

body.ordering-process .order-summary-item a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}

body.ordering-process .order-summary-item a:hover {
  color: #fff;
}

body.ordering-process .order-summary-item.price .price-primary {
  color: #fff;
}

body.ordering-process .recapitulation-shipping-billing {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.75);
}

body.ordering-process .recapitulation-shipping-billing-info {
  color: #fff;
}

/* --- Completed step style --- */

body:is(.in-kosik, .ordering-process) .cart-header .step.completed > * {
  background: rgb(71 71 71 / 89%) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

body:is(.in-kosik, .ordering-process) .cart-header .step.completed > *:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

/* --- Next step buttons on order pages --- */

body.ordering-process .next-step,
body.ordering-process .next-step--step-1,
body.ordering-process .next-step--step-2 {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.ordering-process .next-step .btn-conversion,
body.ordering-process .next-step-forward,
body.ordering-process .next-step-finish,
body.ordering-process #submit-order {
  border: 0;
  color: #000 !important;
  background: #60b800;
  box-shadow: none;
  padding: 14px 32px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 0;
  transition: all 0.2s ease;
}

body.ordering-process .next-step .btn-conversion:hover,
body.ordering-process .next-step-forward:hover,
body.ordering-process .next-step-finish:hover,
body.ordering-process #submit-order:hover {
  background: #3c7300;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* Conversion buttons – black text for inner spans */
body.ordering-process #checkoutContent .btn-conversion,
body.ordering-process #checkoutContent .btn-conversion span,
body.ordering-process #checkoutContent .btn-conversion .order-button-text,
body.ordering-process #checkoutContent .btn-conversion .order-button-suffix {
  color: #000 !important;
}

/* Secondary buttons – dark style with green border */
body.ordering-process .btn.btn-secondary,
body.ordering-process a.btn.btn-secondary {
  background-color: #000 !important;
  border-color: #60b800 !important;
  color: #fff !important;
}

body.ordering-process .btn.btn-secondary:hover,
body.ordering-process a.btn.btn-secondary:hover {
  background-color: #1a1a1a !important;
}

body.ordering-process .next-step .next-step-back {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
}

body.ordering-process .next-step .next-step-back:hover {
  color: #fff;
}


/* =========================================================
   DĚKUJEME PAGE  (/objednavka/dekujeme)
   body.in-dekujeme.ordering-process
   ========================================================= */

/* --- Nadpis "Objednávka odeslána" --- */

body.in-dekujeme h1,
body.in-dekujeme .order-summary-heading{
  color: #fff !important;
}

/* --- Texty mimo #checkoutContent --- */

body.in-dekujeme p,
body.in-dekujeme span,
body.in-dekujeme strong,
body.in-dekujeme b,
body.in-dekujeme label,
body.in-dekujeme td,
body.in-dekujeme th,
body.in-dekujeme li{
  color: rgba(255,255,255,.9);
}

body.in-dekujeme h2,
body.in-dekujeme h3,
body.in-dekujeme h4{
  color: #fff;
}

/* --- Odkazy na stránce --- */

body.in-dekujeme a{
  color: #7ac203 !important;
  transition: color .2s ease;
}

body.in-dekujeme a:hover{
  color: #548208 !important;
}

/* --- Rekapitulace wrapper --- */

body.in-dekujeme .recapitulation-wrapper{
  color: rgba(255,255,255,.9);
}

body.in-dekujeme .recapitulation-wrapper .price-primary,
body.in-dekujeme .recapitulation-wrapper .price-final{
  color: #fff;
  font-weight: 800;
}

body.in-dekujeme .recapitulation-wrapper .price-secondary{
  color: rgba(255,255,255,.5);
}

/* --- Order complete links (Moje nákupy, Zpět do obchodu…) --- */

body.in-dekujeme .order-complete-links{
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.12);
}

body.in-dekujeme .order-complete-links a{
  color: rgba(255,255,255,.7) !important;
  text-decoration: none;
}

body.in-dekujeme .order-complete-links a:hover{
  color: #fff !important;
}

/* --- Hlavní CTA tlačítko (Moje nákupy) --- */

body.in-dekujeme .btn-primary,
body.in-dekujeme .order-complete-links .btn{
  border: 0 !important;
  background: #60b800 !important;
  color: #000 !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
  transition: all .2s ease;
}

body.in-dekujeme .btn-primary:hover,
body.in-dekujeme .order-complete-links .btn:hover{
  background: #3c7300 !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.3);
}

/* --- Sidebar na děkujeme stránce --- */

body.in-dekujeme .sidebar{
  background: transparent;
}

body.in-dekujeme .sidebar .box,
body.in-dekujeme .sidebar .box-bg-default{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 0 !important;
}

body.in-dekujeme .sidebar .btn{
  border: 1px solid rgba(255,255,255,.3) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-radius: 0 !important;
  transition: all .2s ease;
}

body.in-dekujeme .sidebar .btn:hover{
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.5) !important;
}
