/* Bridartis Premium V4.9.53 — Cart Page 1:1 z makieta
   (V4.9.52 + hero na pelna szerokosc, przebudowany wiersz produktu, usuniety szary pas)
   Scoped only to the cart page. The add-to-cart modal from Claude V4.9.51 is untouched. */

body#cart,
body.page-cart {
  --bc52-ink: #303527;
  --bc52-text: #5f6259;
  --bc52-olive: #667348;
  --bc52-olive-dark: #505d37;
  --bc52-gold: #b58c4a;
  --bc52-line: #e7dfd2;
  --bc52-card: #fffefb;
  --bc52-cream: #f8f4ec;
}

body#cart #wrapper,
body.page-cart #wrapper {
  padding-top: 0 !important;
  padding-bottom: 54px !important;
  background: #fbfaf7 !important;
}

body#cart #wrapper > .container,
body.page-cart #wrapper > .container {
  width: min(1440px, calc(100% - 54px)) !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.bp-cart52-page {
  padding-top: 14px;
}

/* HERO */
.bp-cart52-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  width: 100vw;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 56px;
  margin: 0 calc(50% - 50vw) 38px;
  padding: 46px max(24px, calc((100vw - 1440px) / 2));
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(255,253,249,.30) 0%, rgba(255,253,249,.90) 26%, #fbf7f0 58%, #f8f2e7 100%);
  box-shadow: none;
}

.bp-cart52-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0 auto 0 0;
  width: 36vw;
  background:
    linear-gradient(90deg, rgba(255,253,249,.04) 0%, rgba(254,251,246,.34) 58%, rgba(253,250,245,.60) 82%),
    url('../img/bridartis/newsletter-floral-left.webp') left center / cover no-repeat;
  opacity: .9;
  -webkit-mask-image: linear-gradient(90deg, #000 0 38%, rgba(0,0,0,.55) 70%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(90deg, #000 0 38%, rgba(0,0,0,.55) 70%, rgba(0,0,0,0) 100%);
}

.bp-cart52-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: max(24px, calc((100vw - 1440px) / 2));
  top: 14px;
  width: 190px;
  height: 190px;
  opacity: .22;
  background: url('../img/bridartis/footer-botanical.svg') center / contain no-repeat;
  transform: rotate(-10deg);
  pointer-events: none;
}

.bp-cart52-hero__copy {
  position: relative;
  z-index: 1;
  padding-left: 27vw;
}

.bp-cart52-eyebrow {
  margin: 0 0 10px;
  color: var(--bc52-gold);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bp-cart52-hero h1 {
  margin: 0;
  color: var(--bc52-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(56px, 5vw, 78px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .92;
  text-transform: none;
}

.bp-cart52-lead {
  margin: 20px 0 0;
  color: #696b63;
  font-size: 15.5px;
  line-height: 1.72;
}

.bp-cart52-progress {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
  padding: 14px 46px 0 0;
  list-style: none;
}

.bp-cart52-progress li {
  position: relative;
  min-width: 122px;
  display: grid;
  justify-items: center;
  gap: 10px;
  color: #707169;
  font-size: 12px;
  white-space: nowrap;
}

.bp-cart52-progress li + li::before {
  content: "";
  position: absolute;
  top: 18px;
  right: calc(50% + 22px);
  width: calc(100% - 44px);
  border-top: 1px dashed rgba(181, 140, 74, .40);
  transform: translateX(-50%);
}

.bp-cart52-progress span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #d8cebb;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: #6e7067;
  font-size: 12px;
  box-shadow: 0 6px 16px rgba(56,50,38,.04);
}

.bp-cart52-progress strong {
  font-size: 12px;
  font-weight: 550;
}

.bp-cart52-progress .is-active {
  color: var(--bc52-ink);
}

.bp-cart52-progress .is-active span {
  border-color: var(--bc52-olive);
  background: var(--bc52-olive);
  color: #fff;
  box-shadow: 0 8px 20px rgba(92, 106, 61, .22);
}

/* MAIN GRID */
.bp-cart52-grid {
  display: flex;
  align-items: flex-start;
  margin-right: -16px !important;
  margin-left: -16px !important;
}

.bp-cart52-grid > [class*="col-"] {
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.bp-cart52-main {
  flex: 0 0 66%;
  max-width: 66%;
}

.bp-cart52-aside {
  flex: 0 0 34%;
  max-width: 34%;
}

.bp-cart52-products,
.bp-cart52-summary {
  border: 1px solid var(--bc52-line) !important;
  border-radius: 26px !important;
  background: var(--bc52-card) !important;
  box-shadow: 0 18px 45px rgba(61, 54, 40, .055) !important;
}

.bp-cart52-products {
  overflow: hidden;
  padding: 0 42px 30px;
}

.bp-cart52-card-title {
  position: relative;
  padding: 34px 0 22px;
  border-bottom: 1px solid var(--bc52-line);
}

.bp-cart52-card-title h2 {
  margin: 0;
  color: var(--bc52-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1;
  text-transform: none;
}

.bp-cart52-card-title > span {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 44px;
  height: 2px;
  background: var(--bc52-gold);
}

/* NATIVE CART ITEM: functionality stays native, layout is rebuilt visually. */
.bp-cart52-products .cart-overview {
  padding: 0 !important;
}

.bp-cart52-products .cart-items {
  margin: 0 !important;
}

.bp-cart52-products .cart-item {
  margin: 0 !important;
  padding: 34px 0 28px !important;
  border-bottom: 1px solid var(--bc52-line) !important;
}

.bp-cart52-products .cart-item:last-child {
  border-bottom: 1px solid var(--bc52-line) !important;
}

.bp-cart52-products .product-line-grid {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 34px !important;
  row-gap: 20px !important;
  margin: 0 !important;
}

.bp-cart52-products .product-line-grid-left {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

.bp-cart52-products .product-line-grid-body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
}

.bp-cart52-products .product-line-grid-right {
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: end !important;
  align-self: start !important;
}

.bp-cart52-products .product-line-grid-left,
.bp-cart52-products .product-line-grid-body,
.bp-cart52-products .product-line-grid-right {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

.bp-cart52-products .product-image {
  width: 190px !important;
  height: 204px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #ded6c8 !important;
  border-radius: 20px !important;
  background: #fbfaf7 !important;
  box-shadow: 0 9px 24px rgba(63,56,43,.045) !important;
}

.bp-cart52-products .product-image picture,
.bp-cart52-products .product-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.bp-cart52-products .product-image img {
  object-fit: contain !important;
  padding: 8px;
}

.bp-cart52-products .product-line-info {
  margin: 0 0 8px !important;
}

.bp-cart52-products .product-line-info > a.label {
  display: inline-block !important;
  max-width: 300px !important;
  color: var(--bc52-ink) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
}

.bp-cart52-products .product-line-info.product-price {
  margin-top: 16px !important;
  color: var(--bc52-ink) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.bp-cart52-products .product-line-grid-body > br {
  display: none !important;
}

.bp-cart52-products .product-line-grid-body .product-line-info:not(.product-price) .label,
.bp-cart52-products .product-line-grid-body .product-line-info:not(.product-price) .value {
  color: #7a7b74 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.bp-cart52-products .product-line-grid-right {
  width: auto !important;
  max-width: none !important;
}

.bp-cart52-products .product-line-grid-right > .row,
.bp-cart52-products .product-line-grid-right .col-md-10 > .row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 15px !important;
  margin: 0 !important;
}

.bp-cart52-products .product-line-grid-right .col-md-10,
.bp-cart52-products .product-line-grid-right .col-md-2,
.bp-cart52-products .product-line-grid-right .qty,
.bp-cart52-products .product-line-grid-right .price {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

.bp-cart52-products .product-line-grid-right .col-md-10 {
  flex: 0 0 auto !important;
}

.bp-cart52-products .product-line-grid-right .col-md-2 {
  flex: 0 0 42px !important;
}

.bp-cart52-products .product-line-grid-right .qty {
  flex: 0 0 128px !important;
  width: 128px !important;
}

.bp-cart52-products .product-line-grid-right .price {
  flex: 0 0 auto !important;
  min-width: 82px !important;
  text-align: right !important;
}

/* Native TouchSpin remains intact. */
.bp-cart52-products .bootstrap-touchspin {
  position: relative !important;
  display: block !important;
  width: 126px !important;
  height: 46px !important;
  padding: 0 38px !important;
  overflow: hidden !important;
  border: 1px solid #d9d0c0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.bp-cart52-products .bootstrap-touchspin .js-cart-line-product-quantity,
.bp-cart52-products .bootstrap-touchspin input[name="product-quantity-spin"] {
  display: block !important;
  width: 50px !important;
  min-width: 50px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--bc52-ink) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 44px !important;
  text-align: center !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}

.bp-cart52-products .bootstrap-touchspin .input-group-btn-vertical {
  position: static !important;
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}

.bp-cart52-products .bootstrap-touchspin .btn-touchspin {
  position: absolute !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #faf7f1 !important;
  color: #586342 !important;
  font-size: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-down {
  left: 0 !important;
  border-right: 1px solid #e3dacb !important;
}

.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-up {
  right: 0 !important;
  border-left: 1px solid #e3dacb !important;
}

.bp-cart52-products .bootstrap-touchspin .btn-touchspin i {
  display: none !important;
}

.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-down::before,
.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-up::before {
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-down::before { content: "−"; }
.bp-cart52-products .bootstrap-touchspin .bootstrap-touchspin-up::before { content: "+"; }

.bp-cart52-products .bootstrap-touchspin .btn-touchspin:hover,
.bp-cart52-products .bootstrap-touchspin .btn-touchspin:focus {
  background: #f0f1e9 !important;
  color: var(--bc52-olive-dark) !important;
}

.bp-cart52-products .product-line-actions .product-price strong {
  color: var(--bc52-ink) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.bp-cart52-products .remove-from-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid #ece4d7 !important;
  border-radius: 50% !important;
  background: #fffdf9 !important;
  color: #8a8b83 !important;
  transition: border-color .2s ease, background .2s ease, color .2s ease !important;
}

.bp-cart52-products .remove-from-cart:hover {
  border-color: #c69588 !important;
  background: #fff7f4 !important;
  color: #9e5747 !important;
}

.bp-cart52-products .remove-from-cart .material-icons {
  font-size: 18px !important;
}

.bp-cart52-continue-wrap {
  padding-top: 28px;
}

.bp-cart52-continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 210px;
  min-height: 54px;
  padding: 12px 22px;
  border: 1px solid #d8cfbf;
  border-radius: 8px;
  background: #fffefb;
  color: #3e4534 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.bp-cart52-continue:hover {
  border-color: #bbae97;
  background: #faf7f1;
  transform: translateY(-1px);
}

.bp-cart52-continue .material-icons {
  font-size: 18px;
}

/* SUMMARY */
.bp-cart52-aside {
  position: relative;
}

.bp-cart52-summary {
  position: sticky !important;
  top: 24px;
  overflow: hidden;
  padding: 0 !important;
}

.bp-cart52-card-title--summary {
  margin: 0 30px;
  padding-top: 34px;
}

.bp-cart52-card-title--summary h2 {
  font-size: 32px;
}

.bp-cart52-summary .cart-detailed-totals {
  padding: 18px 30px 0 !important;
}

.bp-cart52-summary .card-block,
.bp-cart52-summary .cart-detailed-subtotals {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.bp-cart52-summary .cart-summary-line {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 11px 0 !important;
  color: #65675f !important;
  font-size: 13px !important;
}

.bp-cart52-summary .cart-summary-line .value {
  margin-left: auto !important;
  color: var(--bc52-ink) !important;
  font-weight: 700 !important;
  text-align: right !important;
}

.bp-cart52-summary .cart-summary-line:nth-child(2) .value,
.bp-cart52-summary .cart-summary-line .value:has(.free-shipping) {
  color: var(--bc52-olive) !important;
}

.bp-cart52-summary .cart-summary-totals {
  margin-top: 16px !important;
  padding: 20px 0 6px !important;
  border-top: 1px solid var(--bc52-line) !important;
}

.bp-cart52-summary .cart-summary-line.cart-total .label,
.bp-cart52-summary .cart-summary-line.cart-total .value {
  color: var(--bc52-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.bp-cart52-summary .cart-voucher {
  padding: 12px 0 !important;
}

.bp-cart52-summary .cart-detailed-actions {
  padding: 22px 30px 30px !important;
}

.bp-cart52-summary .cart-detailed-actions .btn-primary {
  width: 100% !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #6e7b4d 0%, #59673c 100%) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  box-shadow: 0 12px 24px rgba(84, 98, 55, .18) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.bp-cart52-summary .cart-detailed-actions .btn-primary::after {
  content: "→";
  font-size: 17px;
  font-weight: 400;
}

.bp-cart52-summary .cart-detailed-actions .btn-primary:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 15px 28px rgba(84, 98, 55, .25) !important;
}

/* TRUST CARDS */
.bp-cart52-trust {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.bp-cart52-trust__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 14px 18px;
  border: 1px solid var(--bc52-line);
  border-radius: 16px;
  background: rgba(255,254,251,.92);
  box-shadow: 0 8px 20px rgba(60,54,42,.035);
}

.bp-cart52-trust__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f7f0e4;
  color: var(--bc52-gold);
}

.bp-cart52-trust__icon .material-icons {
  font-size: 21px;
}

.bp-cart52-trust__item > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.bp-cart52-trust strong {
  color: var(--bc52-ink);
  font-size: 12px;
  font-weight: 700;
}

.bp-cart52-trust small {
  color: #85857e;
  font-size: 10px;
  line-height: 1.4;
}

.bp-cart52-native-reassurance {
  display: none !important;
}

/* Do not let inherited legacy cart-specific styling leak into the new layout. */
.bp-cart52-page .bp-cart-products-card,
.bp-cart52-page .bp-cart-summary-card,
.bp-cart52-page .bp-order-hero,
.bp-cart52-page .bp-order-trust,
.bp-cart52-page .bp-continue-shopping {
  all: unset;
}

/* Responsive */
@media (max-width: 1199.98px) {
  body#cart #wrapper > .container,
  body.page-cart #wrapper > .container {
    width: min(1180px, calc(100% - 36px)) !important;
  }

  .bp-cart52-hero {
    min-height: 236px;
    padding: 38px max(20px, calc((100vw - 1180px) / 2));
  }

  .bp-cart52-hero__copy {
    padding-left: 25vw;
  }

  .bp-cart52-main,
  .bp-cart52-aside {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .bp-cart52-grid {
    flex-wrap: wrap;
    gap: 24px 0;
  }

  .bp-cart52-summary {
    position: static !important;
  }

  .bp-cart52-products .product-line-grid {
    grid-template-columns: 170px minmax(0,1fr) !important;
  }

  .bp-cart52-products .product-image {
    width: 170px !important;
    height: 184px !important;
  }
}

@media (max-width: 991.98px) {
  .bp-cart52-hero {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .bp-cart52-hero::before {
    width: 48%;
    opacity: .5;
  }

  .bp-cart52-hero__copy {
    padding-left: 24vw;
  }

  .bp-cart52-progress {
    justify-content: flex-start;
    padding-left: 24vw;
  }

  .bp-cart52-products .product-line-grid {
    grid-template-columns: 150px minmax(0,1fr) !important;
  }

  .bp-cart52-products .product-image {
    width: 150px !important;
    height: 162px !important;
  }
}

@media (max-width: 767.98px) {
  body#cart #wrapper > .container,
  body.page-cart #wrapper > .container {
    width: calc(100% - 20px) !important;
  }

  .bp-cart52-page {
    padding-top: 16px;
  }

  .bp-cart52-hero {
    min-height: auto;
    padding: 28px 22px;
    border-radius: 20px;
  }

  .bp-cart52-hero::before {
    width: 100%;
    opacity: .18;
  }

  .bp-cart52-hero::after {
    width: 120px;
    height: 120px;
    right: 0;
  }

  .bp-cart52-hero__copy,
  .bp-cart52-progress {
    padding-left: 0;
  }

  .bp-cart52-hero h1 {
    font-size: 48px;
  }

  .bp-cart52-lead {
    font-size: 12.5px;
  }

  .bp-cart52-progress {
    width: 100%;
    justify-content: space-between;
    padding-right: 0;
    overflow: hidden;
  }

  .bp-cart52-progress li {
    min-width: auto;
    flex: 1 1 0;
    font-size: 10px;
  }

  .bp-cart52-progress strong {
    font-size: 10px;
  }

  .bp-cart52-progress li + li::before {
    width: calc(100% - 36px);
    right: calc(50% + 18px);
  }

  .bp-cart52-progress span {
    width: 34px;
    height: 34px;
  }

  .bp-cart52-grid {
    margin-right: -5px !important;
    margin-left: -5px !important;
  }

  .bp-cart52-grid > [class*="col-"] {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }

  .bp-cart52-products {
    padding: 0 18px 20px;
    border-radius: 20px !important;
  }

  .bp-cart52-card-title {
    padding: 26px 0 18px;
  }

  .bp-cart52-card-title h2,
  .bp-cart52-card-title--summary h2 {
    font-size: 28px;
  }

  .bp-cart52-products .cart-item {
    padding: 24px 0 !important;
  }

  .bp-cart52-products .product-line-grid {
    grid-template-columns: 96px minmax(0,1fr) !important;
    column-gap: 16px !important;
    row-gap: 14px !important;
  }

  .bp-cart52-products .product-image {
    width: 96px !important;
    height: 110px !important;
    border-radius: 14px !important;
  }

  .bp-cart52-products .product-line-info > a.label {
    max-width: none !important;
  }

  .bp-cart52-products .product-line-info > a.label {
    font-size: 13px !important;
  }

  .bp-cart52-products .product-line-info.product-price {
    font-size: 12px !important;
    margin-top: 10px !important;
  }

  .bp-cart52-products .product-line-grid-right {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    justify-self: stretch !important;
  }

  .bp-cart52-products .product-line-grid-right > .row,
  .bp-cart52-products .product-line-grid-right .col-md-10 > .row {
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .bp-cart52-continue {
    width: 100%;
  }

  .bp-cart52-card-title--summary {
    margin-right: 22px;
    margin-left: 22px;
  }

  .bp-cart52-summary .cart-detailed-totals {
    padding-right: 22px !important;
    padding-left: 22px !important;
  }

  .bp-cart52-summary .cart-detailed-actions {
    padding: 18px 22px 24px !important;
  }
}

/* ---------------------------------------------------------------
   Bez szarego pasa miedzy koszykiem a newsletterem.
   --------------------------------------------------------------- */
body#cart,
body.page-cart {
  background: #fbfaf7 !important;
}

body#cart #footer,
body.page-cart #footer,
body#cart .footer-container,
body.page-cart .footer-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
}

body#cart #wrapper,
body.page-cart #wrapper {
  margin-bottom: 0 !important;
}

/* Strzalka w "Kontynuuj zakupy" (ikona SVG zamiast material-icons "west") */
.bp-cart52-continue svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ===============================================================
   Bridartis V4.9.56 — STRONA ZAMOWIENIA (checkout)
   Reguly celowo mieszkaja w TYM pliku, bo jest juz zarejestrowany
   w theme.yml i laduje sie na kazdej stronie. Dzieki temu wyglad
   checkoutu nie zalezy od tego, czy PrestaShop odswiezyl liste
   zasobow z theme.yml. Wszystko jest zawezone do body#checkout.
   =============================================================== */

body#checkout {
  --bc54-gold: #b8802c;
  --bc54-line: rgba(95, 103, 71, .14);
  background: #fdfcf9 !important;
}

body#checkout #wrapper {
  padding: 0 0 56px !important;
  background: #fdfcf9 !important;
}

body#checkout #wrapper > .container {
  width: min(1400px, calc(100% - 56px)) !important;
}

/* ---------------------------------------------------------------
   1. Pelny naglowek i stopka sklepu — neutralizacja skroconego
      naglowka z wersji 4.9.49 (checkout korzysta teraz z tych samych
      szablonow co reszta sklepu).
   --------------------------------------------------------------- */
body#checkout #header {
  border-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout #header .header-nav {
  min-height: 0 !important;
  background: transparent !important;
}

body#checkout #header .header-nav > .container {
  width: auto !important;
  max-width: none !important;
}

body#checkout #header .header-nav .row {
  display: block !important;
  min-height: 0 !important;
}

/* UWAGA: logo NIE moze byc odblokowywane — rozmiar ustala regula motywu
   .bp-logo img (max-width 260px). Wczesniejsza proba "neutralizacji"
   powodowala logo na cala szerokosc naglowka. */
body#checkout #header #_desktop_logo img,
body#checkout #header .bp-logo img {
  display: block !important;
  width: auto !important;
  max-width: 260px !important;
  max-height: 94px !important;
  object-fit: contain !important;
}

body#checkout .bp-checkout-footer {
  display: none !important;
}

/* ukryta kopia regulaminu — potrzebna skryptom checkoutu, ale nie ma prawa
   pokazywac sie na stronie */
body#checkout .bp-checkout-terms-source {
  display: none !important;
}

/* ---------------------------------------------------------------
   2. Hero "Dokoncz zamowienie"
   --------------------------------------------------------------- */
body#checkout .bp-order-hero--checkout {
  position: relative;
  align-items: center;
  gap: 32px;
  margin: 26px 0 34px;
  padding-right: 236px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 6% 118%, rgba(170, 180, 154, .18), transparent 44%),
    linear-gradient(112deg, #fffefb 0%, #fdf9f1 46%, #f8f1e4 100%) !important;
  box-shadow: 0 18px 46px rgba(51, 49, 40, .06) !important;
}

/* delikatna botanika po lewej */
body#checkout .bp-order-hero--checkout::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: -14px;
  top: 50%;
  width: 158px;
  height: 158px;
  opacity: .22;
  background: url('../img/bridartis/footer-botanical.svg') center / contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}

/* zdjecie kwiatow po prawej, wtopione maska */
body#checkout .bp-order-hero--checkout::after {
  content: "" !important;
  position: absolute;
  z-index: 0;
  top: 0 !important;
  right: 0 !important;
  bottom: 0;
  left: auto;
  width: 214px;
  color: transparent !important;
  font: 0 / 0 a !important;
  transform: none !important;
  background: url('../img/bridartis/newsletter-floral-right.webp') right center / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 30%, #000 66%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 30%, #000 66%);
  pointer-events: none;
}

body#checkout .bp-order-hero--checkout > * {
  position: relative;
  z-index: 1;
}

body#checkout .bp-order-hero--checkout h1 {
  letter-spacing: -.02em;
}

body#checkout .bp-order-hero--checkout .bp-order-lead {
  margin-top: 14px;
  font-size: 13.5px;
}

/* chipsy zaufania */
body#checkout .bp-checkout-assurances {
  gap: 13px;
  max-width: 452px;
}

body#checkout .bp-checkout-assurances span {
  gap: 11px;
  min-height: 50px;
  padding: 8px 20px 8px 9px;
  border-color: rgba(95, 103, 71, .09);
  background: #fff;
  color: #55564f;
  font-size: 11.5px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(51, 49, 40, .07);
}

body#checkout .bp-checkout-assurances .material-icons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bc54-gold);
  color: #fff;
  font-size: 17px;
}

/* ---------------------------------------------------------------
   3. Formularz kroku 1
   --------------------------------------------------------------- */
body#checkout .checkout-step .form-group.row,
body#checkout .checkout-step .form-group {
  grid-template-columns: minmax(120px, 168px) minmax(0, 1fr) auto !important;
  gap: 14px !important;
  margin-bottom: 11px !important;
}

body#checkout .checkout-step .form-control-label,
body#checkout .checkout-step .custom-checkbox label,
body#checkout .checkout-step .custom-radio + label,
body#checkout .checkout-step label {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body#checkout .checkout-step input.form-control,
body#checkout .checkout-step select.form-control {
  min-height: 46px !important;
}

body#checkout .checkout-step .input-group-btn .btn {
  min-height: 46px !important;
}

body#checkout .checkout-step input.form-control::placeholder,
body#checkout .checkout-step textarea.form-control::placeholder {
  color: #b4b3ab;
  font-size: 12.5px;
  opacity: 1;
}

/* natywne kontrolki chowamy — widoczne sa tylko stylowane ramki */
body#checkout .checkout-step .custom-checkbox input[type="checkbox"],
body#checkout .checkout-step .custom-radio input[type="radio"] {
  position: absolute;
  width: 20px;
  height: 20px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

/* okragle radio "Pani / Pan" */
body#checkout .checkout-step .custom-radio {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px;
  overflow: hidden;
  border: 1px solid rgba(95, 103, 71, .34) !important;
  border-radius: 50% !important;
  background: #fff !important;
  vertical-align: middle;
}

body#checkout .checkout-step .custom-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

body#checkout .checkout-step .custom-radio input[type="radio"] + span {
  display: none;
  width: 10px;
  height: 10px;
  border-radius: 50% !important;
  background: var(--bc54-gold) !important;
}

body#checkout .checkout-step .custom-radio input[type="radio"]:checked + span {
  display: block;
}

body#checkout .checkout-step .custom-radio:has(input:checked) {
  border-color: var(--bc54-gold) !important;
}

body#checkout .checkout-step .radio-inline {
  display: inline-flex !important;
  align-items: center;
  margin: 0 26px 0 0 !important;
  padding: 0 !important;
  color: #4d4e48;
  font-size: 12.5px;
  font-weight: 600;
}

/* zgody — bez lamania slow w polowie */
body#checkout .checkout-step .custom-checkbox {
  gap: 12px !important;
  margin: 13px 0 !important;
  font-size: 11.5px !important;
}

body#checkout .checkout-step .custom-checkbox > label {
  flex: 0 0 auto !important;
  min-width: 148px !important;
  max-width: 100% !important;
  line-height: 1.5 !important;
}

body#checkout .checkout-step .custom-checkbox em,
body#checkout .checkout-step .custom-checkbox > em {
  flex: 1 1 auto;
  min-width: 0;
  color: #7c7d75;
  font-style: italic;
  line-height: 1.55;
}

/* zwiniete kroki 2-4 ze strzalka */
body#checkout .checkout-step .step-title {
  position: relative;
  padding-right: 38px !important;
}

body#checkout .checkout-step:not(.-current) .step-title::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -7px;
  border-right: 1.6px solid #a9aaa2;
  border-bottom: 1.6px solid #a9aaa2;
  transform: rotate(45deg);
  pointer-events: none;
}

/* przycisk DALEJ ze strzalka */
body#checkout .checkout-step .continue {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 11px;
}

body#checkout .checkout-step .continue::after {
  content: "\2192";
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
}

/* ---------------------------------------------------------------
   4. Responsywnosc
   --------------------------------------------------------------- */
@media (max-width: 991.98px) {
  body#checkout .bp-order-hero--checkout {
    padding-right: clamp(28px, 4vw, 52px) !important;
  }

  body#checkout .bp-order-hero--checkout::after {
    width: 150px;
    opacity: .55;
  }

  body#checkout .bp-checkout-assurances {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  body#checkout #wrapper > .container {
    width: calc(100% - 24px) !important;
  }

  body#checkout .bp-order-hero--checkout::after,
  body#checkout .bp-order-hero--checkout::before {
    display: none;
  }

  body#checkout .checkout-step .form-group.row,
  body#checkout .checkout-step .form-group {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
    margin-bottom: 15px !important;
  }

  body#checkout .checkout-step .form-control-label {
    padding-top: 0 !important;
  }

  body#checkout .checkout-step .custom-checkbox {
    flex-wrap: wrap !important;
  }

  body#checkout .checkout-step .custom-checkbox > label {
    min-width: 0 !important;
  }
}


/* pole telefonu wymagane — gwiazdka przy etykiecie */
body#checkout .checkout-step .form-control-label.bp-required-phone::after {
  content: " *";
  color: #c0392b;
  font-weight: 700;
}

body#checkout .checkout-step input[name="phone"]:invalid:not(:placeholder-shown) {
  border-color: rgba(192, 57, 43, .55) !important;
}

body#checkout .bp-phone-hint {
  display: block;
  margin-top: 5px;
  color: #96978f;
  font-size: 10px;
}

/* ---------------------------------------------------------------
   V4.9.57 — wyrownanie kontrolek wyboru w krokach 2-4.
   PrestaShop renderuje kolko radio jako pływajacy (float) element
   przed etykieta, przez co ladowalo w gornym rogu kafelka.
   Ustawiamy kazdy taki wiersz jako flex: kolko | tresc.
   --------------------------------------------------------------- */
body#checkout .checkout-step .custom-radio,
body#checkout .checkout-step .custom-checkbox {
  float: none !important;
}

/* metody platnosci */
body#checkout .checkout-step .payment-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 16px !important;
}

body#checkout .checkout-step .payment-option > .custom-radio {
  flex: 0 0 20px !important;
  margin: 0 !important;
}

body#checkout .checkout-step .payment-option label {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 15px 0 !important;
  color: #4d4e48 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

body#checkout .checkout-step .payment-option label img {
  width: auto !important;
  max-width: 62px !important;
  max-height: 26px !important;
  object-fit: contain !important;
}

/* sposoby dostawy */
body#checkout .checkout-step .delivery-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body#checkout .checkout-step .delivery-option > [class*="col-"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body#checkout .checkout-step .delivery-option > [class*="col-"]:last-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body#checkout .checkout-step .delivery-option label {
  margin: 0 !important;
  cursor: pointer !important;
}

/* wybor adresu */
body#checkout .checkout-step label.radio-block,
body#checkout .checkout-step .address-item .radio-block {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* zgody nad przyciskiem "Zamawiam z obowiazkiem zaplaty" */
body#checkout #conditions-to-approve ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout .condition-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout .condition-label .custom-checkbox {
  flex: 0 0 20px !important;
  margin: 1px 0 0 !important;
}

body#checkout .condition-label label,
body#checkout .condition-label .js-terms {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #55564f !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  cursor: pointer !important;
}

/* ukonczony krok ma juz link "edytuj" — strzalka bylaby powtorzeniem */
body#checkout .checkout-step.-complete .step-title::after {
  content: none !important;
}

/* ---------------------------------------------------------------
   V4.9.58 — sekcja "Producent i bezpieczenstwo produktu" (GPSR).
   Modul bridartiscompliance renderuje ja w hooku
   displayProductAdditionalInfo, ktory w motywie ladowal w kontenerze
   .bp-product-extra-inline ukrytym regula display:none.
   Odslaniamy kontener, ale zostawiamy ukryte przyciski udostepniania,
   ktore byly wlasciwym powodem schowania tego bloku.
   --------------------------------------------------------------- */
.bp-product-information .bp-product-extra-inline {
  display: block !important;
  margin-top: 16px;
  padding-top: 0;
  border-top: 0;
}

.bp-product-information .bp-product-extra-inline .product-additional-info {
  display: block !important;
}

.bp-product-information .bp-product-extra-inline .social-sharing,
.bp-product-information .bp-product-extra-inline .product-additional-info > .social-sharing {
  display: none !important;
}

/* dopasowanie akordeonu do stylu karty produktu */
.bp-product-information .bc-product-safety {
  margin: 0 !important;
  border-top: 1px solid rgba(95, 103, 71, .14) !important;
  border-bottom: 0 !important;
}

.bp-product-information .bc-product-safety__toggle {
  padding: 16px 0 !important;
  color: #3f4136 !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

.bp-product-information .bc-product-safety__toggle svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #b8802c !important;
}

.bp-product-information .bc-product-safety__toggle i {
  font-size: 22px !important;
  color: #9a9b93 !important;
}

.bp-product-information .bc-product-safety__body {
  padding-bottom: 18px !important;
}

.bp-product-information .bc-product-safety__body dl > div {
  grid-template-columns: 150px minmax(0, 1fr) !important;
  padding: 9px 0 !important;
}

.bp-product-information .bc-product-safety__body dt {
  font-size: 10.5px !important;
  color: #8a897f !important;
}

.bp-product-information .bc-product-safety__body dd {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #53544e !important;
}

@media (max-width: 767.98px) {
  .bp-product-information .bc-product-safety__body dl > div {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
}

/* ---------------------------------------------------------------
   V4.9.60 — karta produktu: porzadki w buyboxie.
   1) Wiersz zakupu mial minimalne szerokosci kolumn 138+96+210+54 px
      (+30 px odstepow) = 528 px, a kolumna podsumowania ma ok. 440 px
      miejsca. Siatka nie miescila sie w karcie i ostatnia kolumna
      (serce "ulubione") wychodzila poza jej krawedz.
      Rozwiazanie: przycisk zakupu staje obok ilosci i serca, a napis
      o minimalnej ilosci przechodzi do drugiego wiersza.
   2) Przycisk "Napisz swoja opinie" z modulu productcomments trafial do
      tego samego hooka co dane producenta — nie jest tu potrzebny,
      opinie maja wlasna sekcje nizej.
   --------------------------------------------------------------- */
.bp-product-information .bp-buybox__grid {
  grid-template-columns: 138px minmax(0, 1fr) 54px !important;
  grid-template-areas:
    "qty add extras"
    "minimum minimum minimum" !important;
  column-gap: 10px !important;
  row-gap: 8px !important;
  max-width: 100% !important;
}

.bp-product-information .bp-buybox__minimum {
  min-height: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
}

.bp-product-information .bp-buybox__add,
.bp-product-information .bp-buybox__add .add-to-cart {
  width: 100% !important;
  min-width: 0 !important;
}

.bp-product-information .bp-buybox__extras {
  justify-self: end !important;
}

/* zabezpieczenie: nic z buyboxu nie wychodzi poza karte */
.bp-product-summary-card,
.bp-product-information,
.bp-product-information .bp-buybox {
  min-width: 0 !important;
}

/* przycisk "Napisz swoja opinie" — opinie sa w sekcji nizej */
.bp-product-extra-inline .product-comments-additional-info,
.bp-product-extra-inline .post-product-comment,
.bp-product-extra-inline .btn-comment-big {
  display: none !important;
}

/* ---------------------------------------------------------------
   V4.9.61 (6) — czytelnosc tekstu na podstronach.
   Motyw uzywal 7-11 px dla opisow w kartach (Credo, kontakt, FAQ,
   sekcje produktowe). Podnosimy dolna granice do 11-12,5 px.
   Nawigacja, przyciski i ozdobne mikro-etykiety zostaja bez zmian.
   --------------------------------------------------------------- */
.bp-about-distinct__copy a { font-size: 11.5px !important; }
.bp-about-distinct__copy p { font-size: 12.5px !important; }
.bp-about-process__steps p { font-size: 11.5px !important; }
.bp-about-stats small { font-size: 11.5px !important; }
.bp-about-testimonials__grid p { font-size: 12.5px !important; }
.bp-about-values__grid p { font-size: 11.5px !important; }
.bp-accessories-card--side .bp-accessory-price small { font-size: 11.5px !important; }
.bp-benefit small { font-size: 11.5px !important; }
.bp-benefit small { font-size: 12.5px !important; }
.bp-category-benefit small { font-size: 11.5px !important; }
.bp-category-card small { font-size: 11.5px !important; }
.bp-category-cta__copy p { font-size: 12.5px !important; }
.bp-contact-data__item small { font-size: 11.5px !important; }
.bp-contact-help__grid p { font-size: 12.5px !important; }
.bp-credo-device-overlay { font-size: 11.5px !important; }
.bp-credo-final__checks { font-size: 11.5px !important; }
.bp-credo-footnote { font-size: 11.5px !important; }
.bp-credo-hero__facts small { font-size: 11.5px !important; }
.bp-credo-hero__facts strong { font-size: 11.5px !important; }
.bp-credo-link { font-size: 12.5px !important; }
.bp-credo-safety__items small { font-size: 11.5px !important; }
.bp-credo-safety__items strong { font-size: 11.5px !important; }
.bp-credo-shield small { font-size: 11px !important; }
.bp-credo-step-no { font-size: 11.5px !important; }
.bp-credo-steps b { font-size: 11px !important; }
.bp-credo-steps p { font-size: 11.5px !important; }
.bp-credo-support-card p { font-size: 12.5px !important; }
.bp-credo-support-card small { font-size: 11.5px !important; }
.bp-credo-why-grid small { font-size: 11.5px !important; }
.bp-credo-why-grid strong { font-size: 11.5px !important; }
.bp-faq-benefits small { font-size: 11.5px !important; }
.bp-faq-category-btn small { font-size: 11.5px !important; }
.bp-faq-contact-lines small { font-size: 11.5px !important; }
.bp-faq-mini-contact p { font-size: 12.5px !important; }
.bp-faq-panel__head p { font-size: 11.5px !important; }
.bp-gallery-trust__copy small { font-size: 12.5px !important; }
.bp-order-progress li { font-size: 12.5px !important; }
.bp-order-trust small { font-size: 11.5px !important; }
.bp-product-benefits-card--gallery .bp-product-benefit small { font-size: 11.5px !important; }
.bp-product-benefits-card--gallery .bp-product-benefit small { font-size: 12.5px !important; }
.bp-why-grid p { font-size: 12.5px !important; }
.page-index .bp-benefit small { font-size: 11.5px !important; }

/* ===============================================================
   V4.9.61 — poprawki wygladu zglodzone po przegladzie strony
   =============================================================== */

/* (1) Bialy pasek menu na cala szerokosc ekranu.
   .bp-menu-row siedzi w .bp-shell (kontener o ograniczonej
   szerokosci), wiec biale tlo koncilo sie razem z kontenerem,
   a po bokach przebijalo bezowe tlo naglowka. Tlo i obie linie
   rysujemy warstwa 100vw pod trescia menu. */
#header .bp-menu-row {
  position: relative !important;
  z-index: 50 !important;
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

#header .bp-menu-row::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #fff;
  border-top: 1px solid rgba(95, 103, 71, .13);
  border-bottom: 1px solid rgba(95, 103, 71, .11);
  pointer-events: none;
}

/* (2) Koszyk podswietla sie tak samo jak "Zaloguj sie" i "Ulubione".
   Reguly hover byly pisane pod bezposrednie dziecko .bp-header-actions,
   a koszyk siedzi glebiej (host > modul > blockcart > a). */
#header .bp-header-actions .bp-desktop-cart-host,
#header .bp-header-actions .bp-action-module--cart,
#header .bp-header-actions .blockcart,
#header .bp-header-actions .blockcart > * {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

#header .bp-header-actions .bp-desktop-cart-host,
#header .bp-header-actions .bp-action-module--cart,
#header .bp-header-actions .blockcart,
#header .bp-header-actions .blockcart > *,
#header .bp-header-actions .bp-desktop-cart-host .bp-action {
  width: 100% !important;
}

#header .bp-header-actions .bp-action {
  border-radius: 8px !important;
  transition: background-color .2s ease, color .2s ease !important;
}

#header .bp-header-actions .bp-action:hover,
#header .bp-header-actions .bp-action:focus-visible {
  background: rgba(95, 103, 71, .055) !important;
  color: #444b33 !important;
}

/* zeby nie podswietlala sie sama ikonka zamiast calego kafelka */
#header .bp-header-actions .bp-action:hover .bp-action__icon,
#header .bp-header-actions .bp-action:focus-visible .bp-action__icon {
  background: transparent !important;
}

/* (3) "Odstap od umowy" w stopce — bialy tekst na zielonym tle.
   Modul compliance renderuje drugi przycisk jako wypelniony,
   ale kolor tekstu zostawal ciemny i napis ginal. */
.bc-footer__action,
.bc-footer__action--primary,
.bc-footer__actions .bc-footer__action:last-child {
  text-decoration: none !important;
}

.bc-footer__action--primary,
.bc-footer__action--filled,
.bc-footer__actions a:last-child {
  background: #5f6747 !important;
  border-color: #5f6747 !important;
  color: #fff !important;
}

.bc-footer__action--primary:hover,
.bc-footer__action--filled:hover,
.bc-footer__actions a:last-child:hover {
  background: #515840 !important;
  border-color: #515840 !important;
  color: #fff !important;
}

/* (4) Miniatury produktow — wieksze zdjecie, pelna nazwa w dwoch
   wierszach i mala etykieta kategorii nad nazwa. */
.bp-category-product .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail img {
  aspect-ratio: 1 / 1.18 !important;
  object-fit: cover !important;
  background: #f4f2ed !important;
}

.bp-category-product__body,
.product-miniature .product-description {
  align-items: flex-start !important;
  text-align: left !important;
  padding: 16px 16px 18px !important;
}

.bp-tile-eyebrow {
  display: block;
  margin: 0 0 6px;
  color: #9a927f;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.bp-category-product__body .product-title,
.product-miniature .product-description .product-title {
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 10px !important;
  text-align: left !important;
}

.bp-category-product__body .product-title a,
.product-miniature .product-description .product-title a,
.page-index .product-miniature .product-title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #3f4136 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.bp-category-product__price,
.product-miniature .product-price-and-shipping {
  margin: auto 0 0 !important;
  text-align: left !important;
}

.bp-category-product__price .price,
.product-miniature .product-price-and-shipping .price {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #7a6a3f !important;
}

/* (5) Serce "ulubione" po lewej — po prawej siedzi znacznik AI. */
.bp-category-product__wishlist,
.product-miniature .bp-category-product__wishlist {
  right: auto !important;
  left: 10px !important;
}

.bp-category-product__badges {
  left: auto !important;
  right: 10px !important;
  justify-content: flex-end !important;
}

.bp-category-product__media.bc-ai-marked > .bp-category-product__wishlist {
  top: 10px !important;
}

@media (max-width: 767px) {
  .bp-category-product__wishlist {
    left: 6px !important;
    right: auto !important;
  }
  .bp-category-product__badges {
    right: 6px !important;
    left: auto !important;
  }
  .bp-category-product__body,
  .product-miniature .product-description {
    padding: 12px 11px 14px !important;
  }
  .bp-category-product__body .product-title a,
  .product-miniature .product-description .product-title a {
    font-size: 12.5px !important;
  }
}

.bp-category-product__body .product-title a,
.product-miniature .product-description .product-title a {
  text-decoration: none !important;
}

.bp-category-product__body .product-title a:hover,
.product-miniature .product-description .product-title a:hover {
  color: #7a6a3f !important;
}

/* ---------------------------------------------------------------
   V4.9.62 — korekty po przegladzie kafli produktow.
   --------------------------------------------------------------- */

/* (a) Zdjecia kwadratowe i w calosci widoczne.
   Wczesniejsze 1/1.18 z object-fit:cover przycinalo zdjecia po bokach.
   Kwadrat + contain pokazuje caly kadr, a wolne miejsce wypelnia
   jasne tlo, tak jak w referencji. */
.bp-category-product .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: #f6f5f2 !important;
}

.bp-category-product .bp-category-product__media,
.product-miniature .thumbnail-top {
  background: #f6f5f2 !important;
}

/* (b) Bialy pasek pod sercami — to nakladka .highlighted-informations
   z motywu classic (pozycjonowana absolutnie, biale tlo, 46 px).
   W kaflach jej nie uzywamy. */
.bp-category-product .highlighted-informations,
.product-miniature .highlighted-informations {
  position: static !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bp-category-product .bp-category-product__wishlist.highlighted-informations,
.product-miniature .bp-category-product__wishlist.highlighted-informations {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  height: auto !important;
  background: transparent !important;
}

/* (c) Jasniejsze tlo srodkowej czesci strony — bylo #fbfaf6,
   czyli wyraznie kremowe. */
:root {
  --bp-paper: #fdfdfb !important;
}

#wrapper {
  background: #fdfdfb !important;
}

/* ---------------------------------------------------------------
   V4.9.63 — kafle: kwadratowy kadr, serce poza znaczkiem AI,
   biale tlo strony.
   --------------------------------------------------------------- */

/* (a) Kontener zdjecia jest kwadratem, a zdjecie wypelnia go w calosci. */
.bp-category-product .bp-category-product__media,
.product-miniature .thumbnail-top {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f6f5f2 !important;
}

.bp-category-product .product-thumbnail,
.product-miniature .thumbnail-container .product-thumbnail {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.bp-category-product .product-thumbnail picture,
.product-miniature .thumbnail-container .product-thumbnail picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.bp-category-product .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* (b) Serce w lewym gornym rogu — znaczek AI modulu compliance jest
   przyklejony do prawego gornego rogu regula o specyficznosci 0,3,0
   z !important, wiec nasze reguly musza byc rownie mocne i pozniejsze. */
.bp-category-product .bp-category-product__media .bp-category-product__wishlist,
.bp-category-product__media.bc-ai-marked > .bp-category-product__wishlist,
.product-miniature .thumbnail-top .bp-category-product__wishlist,
.product-miniature .thumbnail-top .highlighted-informations {
  position: absolute !important;
  z-index: 6 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* znaczniki promocji na dol po lewej — gora po prawej nalezy do AI */
.bp-category-product .bp-category-product__badges,
.product-miniature .thumbnail-top .bp-category-product__badges {
  top: auto !important;
  bottom: 10px !important;
  left: 10px !important;
  right: auto !important;
  justify-content: flex-start !important;
}

/* (c) Biale tlo srodkowej czesci strony.
   Zmiennej --bp-paper NIE ruszamy, bo uzywa jej takze naglowek —
   ten ma zostac kremowy, zeby bialy pasek menu byl widoczny. */
body,
#wrapper,
#content-wrapper,
body#category #wrapper,
body#index #wrapper,
.page-index #wrapper {
  background: #ffffff !important;
}

#header {
  background: #fbfaf6 !important;
}

@media (max-width: 767px) {
  .bp-category-product .bp-category-product__media .bp-category-product__wishlist,
  .bp-category-product__media.bc-ai-marked > .bp-category-product__wishlist,
  .product-miniature .thumbnail-top .bp-category-product__wishlist {
    top: 6px !important;
    left: 6px !important;
  }
  .bp-category-product .bp-category-product__badges,
  .product-miniature .thumbnail-top .bp-category-product__badges {
    bottom: 6px !important;
    left: 6px !important;
  }
}

/* ---------------------------------------------------------------
   V4.9.64 — strona wynikow wyszukiwania.
   Szablon catalog/listing/search.tpl korzysta teraz z tej samej
   powloki i siatki co kategorie; tutaj tylko naglowek i stan pusty.
   --------------------------------------------------------------- */
body#search #wrapper > .container,
body#search #content-wrapper {
  width: 100% !important;
  max-width: none !important;
}

.bp-search-heading {
  padding: 40px 20px 20px;
  text-align: center;
}

.bp-search-heading__eyebrow {
  margin: 0 0 10px;
  color: var(--bp-gold);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bp-search-heading h1 {
  margin: 0;
  color: var(--bp-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(38px, 3.4vw, 58px);
  font-weight: 500;
  line-height: 1;
  text-transform: none;
}

.bp-search-heading__query {
  margin: 14px 0 0;
  color: #6d6e66;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 14px;
}

.bp-search-heading__query strong {
  color: #3f4136;
  font-weight: 700;
}

.bp-search-empty {
  max-width: 620px;
  margin: 22px auto 60px;
  padding: 46px 34px;
  border: 1px solid rgba(95, 103, 71, .14);
  border-radius: 20px;
  background: #fdfcf9;
  text-align: center;
}

.bp-search-empty__ornament {
  display: block;
  margin-bottom: 14px;
  color: var(--bp-gold-soft);
  font-size: 26px;
  line-height: 1;
}

.bp-search-empty h2 {
  margin: 0 0 12px;
  color: var(--bp-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 500;
}

.bp-search-empty p {
  margin: 0 auto 22px;
  max-width: 460px;
  color: #6d6e66;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 13.5px;
  line-height: 1.7;
}

.bp-search-empty__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

@media (max-width: 767px) {
  .bp-search-heading {
    padding: 28px 14px 14px;
  }
  .bp-search-empty {
    margin-bottom: 40px;
    padding: 32px 20px;
  }
}

/* ===============================================================
   V4.9.66 — kompaktowa kolumna zakupu na karcie produktu.
   Prawa kolumna byla o ok. 320 px wyzsza od galerii, przez co pod
   galeria zostawala pusta przestrzen. Zmierzone na zrzucie przerwy
   miedzy blokami: 60, 58, 54, 42 i 33 px. Ponizej sa przyciete
   do rozsadnych wartosci — bez zmiany ukladu i wielkosci tekstu.
   =============================================================== */

/* --- karta: mniejszy oddech przy krawedziach --- */
.bp-product-summary-card {
  padding: 24px 24px 20px !important;
}

/* --- (1) tytul, cena, "Brutto" --- */
.bp-product-summary-card .bp-product-title {
  margin-bottom: 6px !important;
}

.bp-product-summary-card .bp-product-price-wrap {
  margin-bottom: 4px !important;
}

.bp-product-summary-card .bp-product-meta {
  margin-bottom: 6px !important;
}

/* --- (2) "Opinie i szczegoly produktu" --- */
.bp-product-summary-card .bp-product-rating {
  margin: 0 0 8px !important;
}

.bp-product-summary-card .bp-rating-link {
  margin: 0 !important;
}

/* --- opis skrocony --- */
.bp-product-summary-card .bp-short-description-wrap {
  margin-bottom: 4px !important;
}

.bp-product-summary-card .bp-product-short-description.is-collapsed {
  max-height: 132px !important;
}

.bp-product-summary-card .bp-read-more {
  margin-top: 6px !important;
}

/* --- (3) i (4) grupy dodatkow: Koperta, Sznurki i Wstazki --- */
.bp-product-summary-card .bia-addons-mount,
.bp-product-information .bia-addons-mount {
  margin: 14px 0 10px !important;
}

.bp-product-summary-card .bia-addon-group,
.bp-product-information .bia-addon-group {
  margin: 0 0 10px !important;
}

.bp-product-summary-card .bia-addon-head,
.bp-product-information .bia-addon-head {
  margin-bottom: 6px !important;
}

.bp-product-summary-card .bia-addon-desc,
.bp-product-information .bia-addon-desc {
  margin-top: 2px !important;
}

.bp-product-summary-card .bia-addon-scroller,
.bp-product-information .bia-addon-scroller {
  padding-bottom: 4px !important;
}

/* --- cena jednostkowa z dodatkami --- */
.bp-product-summary-card .bia-addon-summary,
.bp-product-information .bia-addon-summary {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

/* --- (5) ilosc, przycisk zakupu, minimalna ilosc --- */
.bp-product-summary-card .bp-buybox {
  margin-top: 12px !important;
}

.bp-product-summary-card .bp-buybox__label {
  margin-bottom: 6px !important;
}

.bp-product-summary-card .bp-buybox__minimum {
  max-width: none !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}

/* --- (6) sekcja producenta (GPSR) --- */
.bp-product-information .bp-product-extra-inline {
  margin-top: 10px !important;
}

.bp-product-information .bc-product-safety__toggle {
  padding: 11px 0 !important;
}

/* --- (7) informacje pod koszykiem --- */
.bp-product-summary-card .bp-product-promise,
.bp-product-summary-card .bp-product-facts {
  margin-top: 10px !important;
  gap: 8px 14px !important;
}

.bp-product-summary-card .bp-product-promise-item,
.bp-product-summary-card .bp-product-fact {
  padding: 8px 0 !important;
}

@media (max-width: 991.98px) {
  .bp-product-summary-card {
    padding: 20px 18px 18px !important;
  }
  .bp-product-summary-card .bp-buybox__minimum {
    white-space: normal !important;
  }
}

/* --- V4.9.66 cd. — miejsca, ktore odpowiadaly za najwieksze przerwy --- */

/* przerwa 60 px miedzy opisem a sekcja "Koperta" */
.bp-product-summary-card .bp-product-summary-top {
  margin-bottom: 8px !important;
}

/* przerwa 54 px przed blokiem ilosci (regula motywu: margin-top 18/14 px) */
.bp-product-information .product-add-to-cart {
  margin-top: 8px !important;
}

/* przerwa 25 px + 22 px paddingu nad informacjami pod koszykiem */
.bp-product-summary-card .bp-product-promise {
  margin-top: 12px !important;
  padding-top: 12px !important;
  gap: 8px 16px !important;
}

/* wiersze informacji: mniej swiatla miedzy ikona a tekstem */
.bp-product-summary-card .bp-product-promise div {
  line-height: 1.45 !important;
}

.bp-product-summary-card .bp-product-promise-icon {
  width: 26px !important;
  height: 26px !important;
  flex-basis: 26px !important;
  font-size: 14px !important;
}

/* karuzela dodatkow — nizsze kafelki opcji */
.bp-product-information .bia-addon-option {
  padding-bottom: 6px !important;
}

.bp-product-information .bia-addon-scroller-wrap {
  margin-bottom: 0 !important;
}

/* --- V4.9.66 cd. — nizsze kafelki dodatkow.
   Dwie karuzele to najwiekszy pojedynczy blok w kolumnie zakupu
   (ok. 166 px kazda). Zmniejszenie kafelka o ~22 px skraca kolumne
   o ok. 45 px, nie zmieniajac ukladu ani czytelnosci. --- */
.bp-product-information .bia-addon-option {
  min-height: 114px !important;
  padding: 7px 7px 8px !important;
}

.bp-product-information .bia-option-image {
  width: 58px !important;
  height: 50px !important;
  margin-bottom: 5px !important;
}

.bp-product-information .bia-addon-scroller {
  gap: 7px !important;
}

/* ===============================================================
   V4.9.67 — dalsze oszczedzanie miejsca w kolumnie zakupu.
   =============================================================== */

/* (2) "Brutto" ustawione w jednej linii z cena, dosuniete do prawej */
.bp-product-summary-card .bp-product-price-wrap .product-prices {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 4px 12px !important;
  margin: 0 !important;
}

.bp-product-summary-card .bp-product-price-wrap .product-price {
  margin: 0 !important;
}

.bp-product-summary-card .bp-product-price-wrap .tax-shipping-delivery-label {
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  text-align: right !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #8a8b83 !important;
}

/* (3) "Minimalna ilosc: 20 szt." zawsze w jednej linii.
   Element ma klase --inline, ktora ustawia grid-column:auto i wrzucala
   go do waskiej kolumny obok licznika — stad lamanie na dwie linie. */
.bp-product-summary-card .bp-buybox__minimum,
.bp-product-information .product-minimal-quantity--inline {
  grid-area: minimum !important;
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

.bp-product-summary-card .bp-buybox__minimum span,
.bp-product-summary-card .bp-buybox__minimum strong {
  display: inline !important;
  white-space: nowrap !important;
}

/* (4) blok oceny bez linku — gdy modul opinii nic nie zwraca,
   pusty kontener nie ma zajmowac miejsca */
.bp-product-summary-card .bp-product-rating:empty,
.bp-product-summary-card .bp-product-rating:not(:has(*)) {
  display: none !important;
}

.bp-product-summary-card .bp-product-rating {
  margin-bottom: 6px !important;
}

.bp-product-summary-card .bp-product-rating-hook:empty {
  display: none !important;
}

/* ===============================================================
   V4.9.69 — calkowicie bez obwodki fokusu.
   Znacznik fokusu jest wylaczony zarowno przy kliknieciu mysza,
   jak i przy nawigacji klawiatura — zgodnie z decyzja wlasciciela
   sklepu. Zostaje tylko delikatna oliwkowa poswiata w polach
   formularzy, zeby bylo widac, w ktorym polu sie pisze; jesli i to
   ma zniknac, wystarczy usunac ostatni blok tej sekcji.
   =============================================================== */
*:focus,
*:focus-visible,
*:focus-within,
a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
.btn:focus,
.btn:focus-visible,
summary:focus,
label:focus,
[role="button"]:focus,
[tabindex]:focus,
[tabindex]:focus-visible,
.nav-link:focus,
.dropdown-item:focus,
.page-link:focus,
select:focus,
input:focus,
textarea:focus {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* podglad zdjecia produktu — jedyne miejsce z wlasna niebieska ramka */
#product-modal.bp-product-modal .bp-product-modal__close:focus,
#product-modal.bp-product-modal .bp-product-modal__close:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* telefony: bez niebieskiego blysku przy dotknieciu */
html {
  -webkit-tap-highlight-color: transparent;
}

/* pola formularzy: subtelne zaznaczenie aktywnego pola zamiast
   niebieskiej poswiaty Bootstrapa (usun ten blok, jesli ma go nie byc) */
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select.form-control:focus,
textarea.form-control:focus {
  border-color: rgba(95, 103, 71, .45) !important;
  box-shadow: 0 0 0 3px rgba(95, 103, 71, .10) !important;
  outline: none !important;
}

/* ===============================================================
   V4.9.71 — koszyk w naglowku podswietla sie jak pozostale skroty.
   Reguly z 4.9.61 dzialaly tylko wtedy, gdy koszyk siedzial wewnatrz
   .bp-header-actions. Ponizsze sa zakotwiczone bezposrednio na
   koszyku (#_desktop_cart / .blockcart), wiec dzialaja niezaleznie
   od tego, gdzie modul albo skrypt umiesci ten blok, i przebijaja
   ewentualne style modulu dokladajace tlo pod sama ikone.
   =============================================================== */
#header #_desktop_cart,
#header .bp-action-module--cart,
#header .bp-desktop-cart-host,
#header #_desktop_cart .blockcart,
#header #_desktop_cart .blockcart > .header {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* link koszyka: ten sam ksztalt i te same odstepy co konto i ulubione */
#header #_desktop_cart .bp-action,
#header .blockcart .bp-action {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 66px !important;
  padding: 8px 18px !important;
  border-radius: 8px !important;
  background: transparent !important;
  transition: background-color .2s ease, color .2s ease !important;
}

#header #_desktop_cart .bp-action:hover,
#header .blockcart .bp-action:hover {
  background: rgba(95, 103, 71, .055) !important;
}

/* zadnego tla pod sama ikona — w zadnym stanie */
#header .bp-header-actions .bp-action__icon,
#header .bp-header-actions .bp-action:hover .bp-action__icon,
#header .bp-header-actions .bp-action:focus .bp-action__icon,
#header #_desktop_cart .bp-action__icon,
#header #_desktop_cart .bp-action:hover .bp-action__icon,
#header .blockcart .bp-action__icon,
#header .blockcart .bp-action:hover .bp-action__icon {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* licznik produktow zostaje na ikonie */
#header #_desktop_cart .bp-action__icon .cart-products-count,
#header .blockcart .cart-products-count {
  border-radius: 999px !important;
}

/* Ponizej 1280 px motyw daje skrotom inne proporcje (bez paddingu,
   staly minimalny wzrost) — koszyk musi je powtorzyc co do piksela. */
@media (max-width: 1279px) {
  #header #_desktop_cart .bp-action,
  #header .blockcart .bp-action {
    min-height: 52px !important;
    padding: 0 !important;
    gap: 10px !important;
  }
}
