/* =========================================================
   Boże Krówki — motyw potomny (parent: classic)
   Design system 1:1 z makiety Claude Design
   ========================================================= */

:root {
  --bk-bg: #fbfdfe;
  --bk-ink: #233038;
  --bk-ink-soft: #4a5a63;
  --bk-teal: #2f5a6e;
  --bk-teal-dark: #26485a;
  --bk-teal-soft: #5b8298;
  --bk-rose: #d96a78;
  --bk-green: #2f8a5e;
  --bk-mute: #90a6b1;
  --bk-mute-2: #7ba0b3;
  --bk-panel: #eef7fc;
  --bk-panel-2: #f4fafd;
  --bk-border: #eaf3f7;
  --bk-border-2: #e4f0f6;
  --bk-border-3: #d6e8f0;
  --bk-serif: 'Cormorant Garamond', Georgia, serif;
  --bk-sans: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bk-dots: radial-gradient(circle, rgba(255,255,255,0.9) 1.8px, transparent 2px);
}

/* ---------- base ---------- */
body {
  background: var(--bk-bg);
  font-family: var(--bk-sans);
  color: var(--bk-ink);
  -webkit-font-smoothing: antialiased;
}

/* ---- kill default blue focus outline / glow everywhere ---- */
* { -webkit-tap-highlight-color: transparent; }
a, button, input, select, textarea, label, [tabindex],
.btn, .form-control, .bk-nav__item, .bk-chip, .bk-card__add, .bk-burger, .bk-cart {
  outline: none !important;
}
*:focus, *:focus-visible { outline: none !important; }
a:focus, button:focus, .btn:focus, .bk-nav__item:focus, .bk-card__add:focus,
.bk-chip:focus, .bk-cart:focus, .bk-burger:focus { box-shadow: none !important; }
/* form fields: subtle teal focus instead of the blue glow */
input:focus, select:focus, textarea:focus, .form-control:focus {
  box-shadow: none !important; border-color: var(--bk-teal) !important;
}
#wrapper, .wrapper { background: transparent; box-shadow: none; }
body#index #wrapper, body .wrapper { padding-top: 0; }
a { color: var(--bk-teal); }
a:hover { color: var(--bk-teal-dark); }
h1, h2, h3, h4, .h1, .h2, .h3, .h4 { font-family: var(--bk-serif); color: #1f2e36; font-weight: 500; }

@keyframes bk-float { 0%,100% { transform: translateY(0) rotate(var(--r,0deg)); } 50% { transform: translateY(-12px) rotate(var(--r,0deg)); } }
@keyframes bk-fade-up { from { opacity:0; transform: translateY(18px);} to {opacity:1; transform: translateY(0);} }

/* hide classic chrome we replace */
.header-nav, .header-top .header-top-right, #search_widget { }

/* ====================================================
   HEADER
   ==================================================== */
.bk-announce {
  background: var(--bk-teal);
  color: #eaf6fc;
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
  padding: 9px 16px;
  font-weight: 400;
}
.bk-header {
  position: relative; z-index: 1001;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #edf4f8;
}
.bk-header__bar {
  max-width: 1180px; margin: 0 auto; padding: 18px 28px 6px;
  display: flex; align-items: center; justify-content: center; gap: 24px;
}
.bk-header__spacer { display: none; }
.bk-header__logo { display: flex; align-items: center; justify-content: center; }
.bk-header__logo a { display: block; line-height: 0; }
.bk-header .bk-header__logo img,
.bk-header__logo img.logo,
.bk-header__logo img {
  height: 62px !important;
  width: auto !important;
  max-width: 280px !important;
  max-height: 62px !important;
  display: block;
}
.bk-cart {
  flex: none; display: flex; align-items: center; gap: 10px;
  background: none; border: none; cursor: pointer; color: var(--bk-ink);
  font-family: var(--bk-sans); text-decoration: none;
}
.bk-cart--bar { display: none; } /* desktop: cart lives in the nav row */
.bk-cart__label { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.bk-cart__icn { position: relative; display: inline-flex; }
.bk-cart__count {
  position: absolute; top: -7px; right: -9px; min-width: 18px; height: 18px; padding: 0 4px;
  border-radius: 9px; background: var(--bk-teal); color: #fff; font-size: 10px; font-weight: 600;
  display: flex; align-items: center; justify-content: center;
}

/* hamburger (mobile only — hidden on desktop) */
.bk-nav-cb { display: none; }
.bk-burger {
  display: none; flex: none; width: 44px; height: 44px; border-radius: 12px;
  background: var(--bk-panel); border: 1px solid var(--bk-border-2);
  align-items: center; justify-content: center; cursor: pointer;
}
.bk-burger__bars { display: flex; flex-direction: column; gap: 4px; width: 20px; }
.bk-burger__bars i { display: block; height: 2px; background: var(--bk-teal); border-radius: 2px; transition: transform .25s, opacity .2s; }

/* nav row: krówki (centered) + cart on the same line (desktop) */
.bk-navrow {
  max-width: 1320px; margin: 0 auto; padding: 12px 28px 20px;
  display: flex; align-items: center; gap: 16px;
}
/* equal left spacer & right cart → krówki centered on the page (under the logo) */
.bk-navrow__spacer { flex: 0 0 140px; }
.bk-navrow .bk-nav-wrap { flex: 1 1 auto; min-width: 0; }
.bk-cart--nav { flex: 0 0 140px; justify-content: flex-end; }

/* krówka nav */
.bk-nav {
  margin: 0; padding: 0; max-width: 100%;
  display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 8px;
  list-style: none;
}
.bk-nav__li { flex: 1 1 0; min-width: 0; max-width: 260px; display: flex; }
.bk-nav__item {
  position: relative; flex: 1 1 auto; width: 100%; min-width: 0; height: 140px;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; background: transparent; border: none; cursor: pointer; padding: 0;
  outline: none; -webkit-tap-highlight-color: transparent;
}
.bk-nav__item:focus, .bk-nav__item:focus-visible, .bk-nav__item:active { outline: none; box-shadow: none; }
.bk-nav__label { outline: none; }
.bk-nav__bg {
  position: absolute; inset: 0;
  background: url('../img/krowka.webp') center/contain no-repeat;
  filter: drop-shadow(0 5px 9px rgba(47,90,110,.18));
  transition: transform .25s, filter .25s;
}
.bk-nav__item:hover .bk-nav__bg {
  filter: drop-shadow(0 8px 14px rgba(47,90,110,.26)) saturate(1.1);
  transform: scale(1.07);
}
.bk-nav__label {
  position: relative; z-index: 1; font-size: 11px; font-weight: 600; letter-spacing: .08em;
  color: #23556a; text-align: center; line-height: 1.22; padding: 0 50px; text-transform: uppercase;
}
.bk-nav__item.is-active .bk-nav__label::after,
.bk-nav__item:hover .bk-nav__label::after {
  content: ""; position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%);
  width: 26px; height: 2px; border-radius: 2px; background: var(--bk-teal);
}

/* ====================================================
   HERO
   ==================================================== */
.bk-hero {
  position: relative; overflow: hidden;
  background-color: #e7f4fb;
  background-image: radial-gradient(circle, rgba(255,255,255,0.92) 2.2px, transparent 2.4px);
  background-size: 36px 36px;
  padding: 74px 24px 84px; text-align: center;
}
/* full-bleed: break hero & about out of the bootstrap .container */
.bk-hero, .bk-about {
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.bk-hero__deco {
  position: absolute; pointer-events: none; display: block;
  background: url('../img/krowka.webp') center/contain no-repeat;
}
.bk-hero__deco--1 { top: 46px; left: 6%; width: 150px; height: 100px; opacity:.55; --r:-12deg; animation: bk-float 7s ease-in-out infinite; }
.bk-hero__deco--2 { bottom: 40px; right: 7%; width: 184px; height: 123px; opacity:.5; --r:9deg; animation: bk-float 8s ease-in-out infinite .8s; }
.bk-hero__deco--3 { top: 120px; right: 20%; width: 96px; height: 64px; opacity:.4; --r:18deg; animation: bk-float 6.5s ease-in-out infinite .4s; }
.bk-hero__inner { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.bk-eyebrow { display: inline-block; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--bk-teal-soft); }
.bk-hero h1 { font-size: 62px; line-height: 1.04; margin: 0 0 20px; letter-spacing: .5px; }
.bk-hero h1 em { font-style: italic; color: var(--bk-teal); }
.bk-hero__eyebrow { margin-bottom: 22px; }
.bk-hero p { max-width: 520px; margin: 0 auto 34px; font-size: 16.5px; line-height: 1.7; color: var(--bk-ink-soft); font-weight: 300; }

/* ====================================================
   BUTTONS
   ==================================================== */
.bk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bk-teal); color: #fff; border: none; border-radius: 999px;
  padding: 15px 38px; font-family: var(--bk-sans); font-size: 13px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; cursor: pointer; text-decoration: none;
  box-shadow: 0 10px 26px rgba(47,90,110,.24); transition: transform .2s, box-shadow .2s, background .2s;
}
.bk-btn:hover { background: var(--bk-teal-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 32px rgba(47,90,110,.32); }
.bk-btn--ghost { background: var(--bk-panel); color: var(--bk-teal); border: 1px solid #d8ecf5; box-shadow: none; }
.bk-btn--ghost:hover { background: #e2f1f9; color: var(--bk-teal); }

/* ====================================================
   SECTION HEADINGS
   ==================================================== */
.bk-section { max-width: 1180px; margin: 0 auto; padding: 64px 28px 40px; }
.bk-section__head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 14px; }
.bk-section__eyebrow { font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--bk-mute-2); }
.bk-section__title { font-size: 40px; margin: 8px 0 0; }

/* filter chips */
.bk-chips { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 26px 0 42px; padding: 0; list-style: none; }
.bk-chip {
  font-family: var(--bk-sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
  padding: 9px 18px; border-radius: 999px; cursor: pointer; transition: all .2s; text-decoration: none;
  background: #fff; color: #5b7a89; border: 1px solid #dceaf1;
}
.bk-chip:hover { color: var(--bk-teal); border-color: #c3e1ef; }
.bk-chip.is-active { background: var(--bk-teal); color: #fff; border-color: var(--bk-teal); }

/* ====================================================
   PRODUCT GRID + CARDS  (shared: home grid & classic listing)
   ==================================================== */
/* Layout: use Bootstrap row/col (markup already has col-xs-12 col-sm-6 col-lg-4 col-xl-3).
   Just add vertical spacing between rows; horizontal gutters come from Bootstrap. */
.featured-products .products > .product,
#products .products > .product,
.products.product_list > .product { margin-bottom: 26px; display: flex; }
.featured-products .products > .product > .product-miniature,
#products .products > .product > .product-miniature,
.products.product_list > .product > .product-miniature { width: 100%; display: flex; }

/* card surface — ONE box: only the inner container is the card (article is a transparent wrapper) */
.product-miniature { background: transparent; border: none; box-shadow: none; width: 100%; }
.product-miniature .thumbnail-container {
  position: relative; background: #fff; border: 1px solid var(--bk-border-2);
  border-radius: 22px; overflow: hidden; display: flex; flex-direction: column;
  box-shadow: 0 6px 20px rgba(47,90,110,.06); transition: transform .26s, box-shadow .26s, border-color .26s;
  height: 100%; width: 100%; margin: 0;
}
.product-miniature .thumbnail-container:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(47,90,110,.16); border-color: #dcebf2; }

/* image panel with dotted pattern */
.product-miniature .thumbnail-top,
.bk-card__media {
  position: relative; aspect-ratio: 1/1;
  background-color: var(--bk-panel);
  background-image: var(--bk-dots); background-size: 26px 26px;
  display: flex; align-items: center; justify-content: center; padding: 18px;
}
.product-miniature .thumbnail-top .thumbnail,
.product-miniature .thumbnail-top picture { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.product-miniature .thumbnail-top img,
.bk-card__media img { width: auto; max-width: 82%; max-height: 88%; height: auto; object-fit: contain; border-radius: 10px; filter: drop-shadow(0 10px 16px rgba(47,90,110,.14)); }

/* body */
.product-miniature .product-description,
.bk-card__body { padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; text-align: left; }
.product-miniature .product-title,
.bk-card__title { font-family: var(--bk-sans); font-size: 14.5px; font-weight: 500; line-height: 1.35; margin: 0 0 12px; color: #26333b; min-height: 39px; }
.product-miniature .product-title a, .bk-card__title a { color: #26333b; text-decoration: none; }
.product-miniature .product-title a:hover, .bk-card__title a:hover { color: var(--bk-teal); }

.product-miniature .product-price-and-shipping,
.bk-card__foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.product-miniature .price,
.bk-card__price { font-size: 18px; font-weight: 600; color: var(--bk-teal); font-family: var(--bk-serif); letter-spacing: .3px; }
.product-miniature .regular-price,
.bk-card__old { font-size: 12.5px; color: #aab8bf; text-decoration: line-through; font-family: var(--bk-sans); }

/* card foot: price (left) + circular add button (right) */
.bk-card__foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.bk-card__prices { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.bk-card__price { font-size: 18px; font-weight: 600; color: var(--bk-teal); font-family: var(--bk-serif); letter-spacing: .3px; }
.bk-card__old { font-size: 12.5px; color: #aab8bf; text-decoration: line-through; font-family: var(--bk-sans); }
.bk-card__variant { font-size: 13px; color: var(--bk-mute-2); font-weight: 400; }

/* add button on card */
.bk-card__add {
  flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--bk-border-3);
  background: #f3fafd; color: var(--bk-teal); cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s, transform .2s; text-decoration: none;
}
.bk-card__add:hover { background: var(--bk-teal); color: #fff; border-color: var(--bk-teal); transform: scale(1.08); }
/* usuń frameworkową kreskę (border-top) pojawiającą się na hover karty */
.product-miniature .thumbnail-container:hover .product-description::after,
.product-miniature .thumbnail-container:focus .product-description::after,
.bk-card .product-description::after, .bk-card__body::after { content: none !important; display: none !important; border: 0 !important; }

/* stos toastów „Dodano do koszyka" — styl landing page (teal, pastel) */
.bk-toast-stack { position: fixed; top: 20px; right: 20px; z-index: 10000; display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.bk-toast {
  display: flex; align-items: center; gap: 13px;
  background: #fff; border: 1px solid var(--bk-border-2, #e3eef3);
  border-radius: 18px; box-shadow: 0 18px 44px rgba(47,90,110,.20);
  padding: 14px 22px 14px 15px; font-family: var(--bk-sans);
  opacity: 0; transform: translateX(24px) scale(.97);
  transition: opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1); max-width: 340px;
}
.bk-toast.is-show { opacity: 1; transform: translateX(0) scale(1); }
.bk-toast__icon {
  flex: none; width: 38px; height: 38px; border-radius: 50%;
  background: var(--bk-panel, #eaf4f8); color: var(--bk-teal, #2f5a6e);
  display: flex; align-items: center; justify-content: center;
}
.bk-toast__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.bk-toast__title { font-family: var(--bk-serif); font-size: 15px; font-weight: 600; color: var(--bk-ink, #1f2e36); line-height: 1.2; }
.bk-toast__msg { font-size: 12.5px; color: var(--bk-mute-2, #6c8794); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 240px; }
.bk-toast.is-error .bk-toast__icon { background: #fdeef0; color: #c0405a; }
@media (max-width: 560px) { .bk-toast-stack { left: 16px; right: 16px; top: 16px; } .bk-toast { max-width: none; } .bk-toast__msg { max-width: none; } }

/* ====================================================
   BANER COOKIES (RODO)
   ==================================================== */
.bk-cookies {
  position: fixed; left: 20px; bottom: 20px; z-index: 10002; max-width: 380px;
  background: #fff; border: 1px solid var(--bk-border-2, #e3eef3); border-radius: 18px;
  box-shadow: 0 18px 46px rgba(47,90,110,.22); padding: 18px 20px; font-family: var(--bk-sans);
}
.bk-cookies__text strong { display: block; font-family: var(--bk-serif); font-size: 16px; color: var(--bk-ink, #1f2e36); margin-bottom: 5px; }
.bk-cookies__text p { font-size: 13px; line-height: 1.6; color: var(--bk-mute-2, #6c8794); margin: 0; }
.bk-cookies__text a { color: var(--bk-teal); text-decoration: underline; }
.bk-cookies__actions { display: flex; gap: 10px; margin-top: 14px; }
.bk-cookies__btn { flex: 1; padding: 11px 14px; border-radius: 999px; border: none; cursor: pointer; font-weight: 600; font-size: 13.5px; background: var(--bk-teal); color: #fff; transition: background .15s; }
.bk-cookies__btn:hover { background: var(--bk-teal-dark); }
.bk-cookies__btn--ghost { background: transparent; color: var(--bk-ink, #1f2e36); border: 1px solid var(--bk-border-3, #d6e5ec); }
.bk-cookies__btn--ghost:hover { background: #f3f7f9; }
@media (max-width: 560px) { .bk-cookies { left: 12px; right: 12px; bottom: 12px; max-width: none; } }

/* ====================================================
   WYSUWANY KOSZYK (drawer)
   ==================================================== */
body.bk-drawer-open { overflow: hidden; }
.bk-drawer { position: fixed; inset: 0; z-index: 10001; visibility: hidden; }
.bk-drawer.is-open { visibility: visible; }
.bk-drawer__backdrop { position: absolute; inset: 0; background: rgba(31,46,54,.42); opacity: 0; transition: opacity .3s ease; }
.bk-drawer.is-open .bk-drawer__backdrop { opacity: 1; }
.bk-drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: 400px; max-width: 92vw; background: #fff; box-shadow: -20px 0 50px rgba(47,90,110,.18); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.bk-drawer.is-open .bk-drawer__panel { transform: translateX(0); }
.bk-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--bk-border-2, #e3eef3); }
.bk-drawer__title { font-family: var(--bk-serif); font-size: 20px; font-weight: 600; color: var(--bk-ink, #1f2e36); }
.bk-drawer__close { background: none; border: none; color: var(--bk-mute-2, #6c8794); cursor: pointer; padding: 4px; display: flex; }
.bk-drawer__close:hover { color: var(--bk-teal); }
.bk-drawer__body { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.bk-drawer__loading, .bk-drawer__empty { padding: 44px 22px; text-align: center; color: var(--bk-mute-2, #6c8794); }
.bk-drawer__empty .bk-drawer__continue { display: inline-block; margin-top: 14px; padding: 11px 22px; border-radius: 999px; background: var(--bk-teal); color: #fff; text-decoration: none; font-weight: 600; font-size: 14px; }
.bk-drawer__items { flex: 1; overflow-y: auto; padding: 6px 0; }
.bk-drawer__item { display: flex; align-items: center; gap: 12px; padding: 14px 22px; border-bottom: 1px solid #f0f5f7; transition: opacity .2s; }
.bk-drawer__item.is-removing { opacity: .4; pointer-events: none; }
.bk-drawer__img { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: var(--bk-panel, #eaf4f8); flex: none; }
.bk-drawer__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bk-drawer__name { font-size: 14px; font-weight: 600; color: var(--bk-ink, #1f2e36); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bk-drawer__qty { font-size: 12.5px; color: var(--bk-mute-2, #6c8794); }
.bk-drawer__price { font-weight: 700; color: var(--bk-teal); font-size: 14.5px; white-space: nowrap; }
.bk-drawer__remove { color: var(--bk-mute-2, #6c8794); text-decoration: none; font-size: 22px; line-height: 1; padding: 0 2px; flex: none; }
.bk-drawer__remove:hover { color: #c0405a; }
.bk-drawer__foot { border-top: 1px solid var(--bk-border-2, #e3eef3); padding: 18px 22px; background: #fff; }
.bk-drawer__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.bk-drawer__total span:first-child { font-size: 13px; color: var(--bk-mute-2, #6c8794); text-transform: uppercase; letter-spacing: .08em; }
.bk-drawer__total-v { font-family: var(--bk-serif); font-size: 24px; font-weight: 600; color: var(--bk-teal); }
.bk-drawer__checkout { display: block; text-align: center; padding: 14px; border-radius: 999px; background: var(--bk-teal); color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; letter-spacing: .02em; transition: background .15s; }
.bk-drawer__checkout:hover { background: var(--bk-teal-dark); color: #fff; }
.bk-drawer__view { display: block; text-align: center; margin-top: 10px; color: var(--bk-mute-2, #6c8794); text-decoration: none; font-size: 13px; }
.bk-drawer__view:hover { color: var(--bk-teal); }
@media (max-width: 480px) { .bk-drawer__panel { width: 100%; max-width: 100%; } }

/* sale flag */
.product-miniature .product-flags,
.bk-card .product-flags { position: absolute; top: 14px; left: 14px; z-index: 2; margin: 0; padding: 0; list-style: none; }
.product-flag, .bk-flag-sale {
  background: var(--bk-rose); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .06em;
  padding: 5px 11px; border-radius: 999px; box-shadow: 0 4px 10px rgba(217,106,120,.3); display: inline-block;
}
.bk-card__media .bk-flag-sale { position: absolute; top: 14px; left: 14px; z-index: 2; }
.product-miniature .highlighted-informations { display: none; }

/* flaga na stronie produktu — w rogu kadru, równy odstęp od góry i lewej */
#product .page-content { position: relative; }
#product .product-flags { position: absolute; top: 14px; left: 14px; z-index: 3; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
#product .product-flag {
  background: var(--bk-teal); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; padding: 6px 13px; border-radius: 999px; display: inline-block;
  box-shadow: 0 4px 12px rgba(47,90,110,.28);
}
#product .product-flag.discount, #product .product-flag.on-sale, #product .product-flag.reduced-price { background: var(--bk-rose); box-shadow: 0 4px 12px rgba(217,106,120,.3); }

/* ====================================================
   STRONA O NAS (CMS) — siatka kafelków
   ==================================================== */
.bk-onas-grid { max-width: 1180px; margin: 0 auto; padding: 26px 16px 64px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.bk-onas-card { display: flex; flex-direction: column; text-align: center; text-decoration: none; color: inherit; }
.bk-onas-card__media { display: flex; align-items: center; justify-content: center; height: 220px; margin-bottom: 16px; }
.bk-onas-card__media img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .2s ease; }
.bk-onas-card:hover .bk-onas-card__media img { transform: scale(1.04); }
.bk-onas-card__title { display: block; margin: 4px 0 12px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bk-ink); }
.bk-onas-card__excerpt { display: block; flex: 1; font-size: 14px; line-height: 1.7; color: var(--bk-ink-soft); font-weight: 300; }
.bk-onas-card__more { display: inline-block; margin-top: 18px; font-size: 13px; color: var(--bk-teal); text-decoration: underline; text-underline-offset: 3px; }
.bk-onas-card:hover .bk-onas-card__more { color: var(--bk-teal-dark); }
@media (max-width: 900px) { .bk-onas-grid { grid-template-columns: repeat(2, 1fr); gap: 26px; } }
@media (max-width: 520px) { .bk-onas-grid { grid-template-columns: 1fr; } .bk-onas-card__media { height: 200px; } }

/* podstrony artykułów O nas */
.bk-article { max-width: 760px; margin: 0 auto; padding: 20px 16px 60px; }
.bk-article__title { font-family: var(--bk-serif); font-size: 34px; font-weight: 500; color: var(--bk-ink); margin: 0 0 22px; line-height: 1.1; }
.bk-article__img { width: 100%; border-radius: 20px; box-shadow: 0 18px 40px rgba(47,90,110,.14); margin: 0 0 26px; display: block; }
.bk-article p { font-size: 15.5px; line-height: 1.85; color: var(--bk-ink-soft); font-weight: 300; margin: 0 0 16px; }
.bk-article p em { color: var(--bk-ink); font-style: italic; }
.bk-onas__sign { font-family: var(--bk-serif) !important; font-style: italic; color: var(--bk-teal) !important; font-weight: 500 !important; font-size: 17px !important; }

/* ====================================================
   ABOUT / CONTACT  (home)
   ==================================================== */
.bk-about { background: var(--bk-panel-2); border-top: 1px solid var(--bk-border); border-bottom: 1px solid var(--bk-border); padding: 74px 28px; margin-top: 48px; }
.bk-about__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.bk-about h2 { font-size: 38px; margin: 10px 0 18px; }
.bk-about p { font-size: 16px; line-height: 1.8; color: var(--bk-ink-soft); font-weight: 300; margin: 0; }
.bk-contact { padding: 70px 28px 30px; }
.bk-contact__grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 28px; }
.bk-contact__col { text-align: center; }
.bk-contact__col h3 { font-size: 24px; margin: 0 0 8px; color: var(--bk-teal); }
.bk-contact__col p { margin: 0; font-size: 15px; color: var(--bk-ink-soft); font-weight: 300; }

/* ====================================================
   FOOTER
   ==================================================== */
.bk-footer { background: var(--bk-teal); color: #cfe4ee; padding: 46px 28px; }
.bk-footer__inner { max-width: 1180px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.bk-footer__tag { font-family: var(--bk-serif); font-style: italic; font-size: 22px; color: #fff; }
.bk-footer__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 24px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: 0; margin: 0; list-style: none; }
.bk-footer__links a { color: #cfe4ee; text-decoration: none; }
.bk-footer__links a:hover { color: #fff; }
.bk-footer__copy { font-size: 11.5px; color: #8fb6c6; }

/* ====================================================
   PRODUCT PAGE
   ==================================================== */
#product .bk-breadcrumb, .bk-breadcrumb { max-width: 1180px; margin: 0 auto; padding: 26px 28px 0; font-size: 12px; letter-spacing: .04em; color: var(--bk-mute); }
.bk-breadcrumb a { color: var(--bk-mute); text-decoration: none; }
.bk-breadcrumb a:hover { color: var(--bk-teal); }
.bk-breadcrumb .sep { margin: 0 8px; }
.bk-breadcrumb .current { color: var(--bk-teal); }

#product #wrapper > .container { max-width: 1180px; }
#product .product-container { display: grid; grid-template-columns: 1.05fr 1fr; gap: 54px; margin: 0; align-items: start; }
#product .product-container > .col-md-6 { max-width: none; flex: none; width: auto; padding: 0; }
#product #content-wrapper { width: 100%; }

/* sticky prawy panel (cena + ilość + dodaj do koszyka jadą ze scrollem).
   framework theme.css ma body{overflow:hidden} — psuje sticky, więc nadpisujemy */
body { overflow: visible !important; }
@media (min-width: 992px) {
  #product .product-container > .col-md-6 + .col-md-6 { position: sticky; top: 20px; align-self: start; }
}

/* usuń kolizje: duplikat krótkiego opisu (jest niżej w „O produkcie") + nieskonfigurowany reassurance (ang. placeholdery) */
#product .product-information > .product-description { display: none; }
#product .blockreassurance_product { display: none; }

/* „O produkcie" — pełna szerokość pod rzędem produktu (opis + szczegóły) */
.bk-product-about { max-width: 1180px; margin: 44px auto 0; padding: 26px 28px 0; border-top: 1px solid var(--bk-border); }
.bk-product-about::before {
  content: "O produkcie"; display: block; font-size: 12px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--bk-teal); font-weight: 600; margin-bottom: 16px;
}
.bk-product-about .nav-tabs { display: none; }
.bk-product-about .tab-content { border: none; padding: 0; }
.bk-product-about .tab-pane:not(#description) { display: none !important; }
.bk-product-about #description { display: block !important; opacity: 1; }
.bk-product-about .product-description p { font-size: 15px; line-height: 1.8; color: var(--bk-ink-soft); font-weight: 300; margin: 0 0 12px; }

/* galeria */
#product .product-cover,
#product .images-container .product-cover {
  position: relative; aspect-ratio: 1/1; background-color: #fff;
  border: 1px solid var(--bk-border-3, #d6e5ec); border-radius: 20px; display: block;
  overflow: hidden; width: 100%; box-shadow: 0 12px 30px rgba(47,90,110,.08);
}
#product .product-cover picture { display: block; width: 100%; height: 100%; }
#product .product-cover img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; margin: 0; }

/* lupa/zoom po najechaniu */
#product .product-cover .layer {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0); opacity: 0; cursor: zoom-in; transition: background .2s, opacity .2s;
}
#product .product-cover:hover .layer { background: rgba(47,90,110,.06); opacity: 1; }
#product .product-cover .layer .zoom-in {
  width: 46px; height: 46px; border-radius: 999px; background: #fff; color: var(--bk-teal);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(47,90,110,.2);
}

/* pasek miniatur */
#product .js-qv-mask.mask { margin-top: 16px; overflow: visible; }
#product .product-images { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; list-style: none; }
#product .product-images .thumb-container { width: auto; }
#product .js-qv-mask .thumb, #product .product-images img {
  width: 74px; height: 74px; object-fit: contain; padding: 8px; cursor: pointer;
  border-radius: 14px; border: 1px solid var(--bk-border-2); background-color: #fff; transition: border-color .15s;
}
#product .js-qv-mask .thumb:hover { border-color: var(--bk-teal); }
#product .product-thumbs .thumb.selected, #product .product-images img.selected,
#product .js-qv-mask .thumb.js-thumb-selected { border: 2px solid var(--bk-teal); }

/* modal podglądu zdjęcia — nadpisuje framework (#product-modal .modal-content .modal-body{display:flex;margin-left:-35%}) */
#product-modal .modal-dialog { max-width: 560px; margin: 3.5vh auto; }
#product-modal .modal-content {
  padding: 0; background: var(--bk-panel); border: 1px solid var(--bk-border-2); border-radius: 24px;
  box-shadow: 0 30px 70px rgba(47,90,110,.25); overflow: hidden;
}
#product-modal .modal-content .modal-body {
  display: flex; flex-direction: column; align-items: stretch;
  margin: 0; padding: 24px;
}
#product-modal .modal-content .modal-body figure { margin: 0; width: 100%; float: none; display: block; }
#product-modal .modal-content .modal-body picture { display: block; }
#product-modal .modal-content .modal-body .product-cover-modal,
#product-modal .modal-content .modal-body figure img {
  display: block; width: auto; max-width: 100%; max-height: 62vh; height: auto;
  margin: 0 auto; object-fit: contain; border-radius: 14px;
  filter: drop-shadow(0 14px 22px rgba(47,90,110,.16));
}
#product-modal .modal-content .modal-body .image-caption {
  width: 100%; margin: 14px 0 0; padding: 14px 0 0; background: transparent;
  border-top: 1px solid var(--bk-border);
  font-size: 13.5px; line-height: 1.7; color: var(--bk-ink-soft); text-align: center;
}
#product-modal .modal-content .modal-body .image-caption:empty { display: none; border: none; padding: 0; margin: 0; }
#product-modal .modal-content .modal-body #thumbnails {
  width: 100%; float: none; position: static; margin: 16px 0 0; padding: 0; max-width: none;
}
#product-modal .modal-content .modal-body .mask,
#product-modal .modal-content .modal-body .js-modal-mask {
  position: static; margin: 0; max-height: none; overflow: visible;
}
#product-modal .modal-content .modal-body .product-images {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none;
}
#product-modal .modal-content .modal-body .thumb-container { width: auto; }
#product-modal .modal-content .modal-body .product-images img,
#product-modal .modal-content .modal-body .js-modal-thumb {
  width: 60px; height: 60px; object-fit: contain; padding: 6px; cursor: pointer;
  border-radius: 12px; border: 1px solid var(--bk-border-2); background: #fff; transition: border-color .15s;
}
#product-modal .modal-content .modal-body .js-modal-thumb:hover,
#product-modal .modal-content .modal-body .product-images img:hover,
#product-modal .modal-content .modal-body .js-modal-thumb.selected { border: 2px solid var(--bk-teal); }
#product-modal .modal-content .modal-body .arrows { display: none; }

/* schowaj śmieci frameworka w kolumnie info */
#product .social-sharing,
#product .product-additional-info,
#product .product-comments-additional-info { display: none; }

/* eyebrow + tytuł */
.bk-product-eyebrow {
  display: inline-block; font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--bk-teal); font-weight: 600; margin: 0 0 12px;
}
#product h1.h1, #product .product-information h1 {
  font-family: var(--bk-serif); font-size: 38px; line-height: 1.1; font-weight: 600;
  text-transform: none; color: var(--bk-ink); margin: 0 0 4px; letter-spacing: -.01em;
}

/* cena */
.bk-price { margin: 14px 0 0; }
.bk-price__row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.bk-price__now .current-price-value {
  font-family: var(--bk-serif); font-size: 34px; font-weight: 600; color: var(--bk-teal); line-height: 1;
}
.bk-price__old { font-size: 18px; color: var(--bk-mute-2); text-decoration: line-through; }
.bk-price__save {
  font-size: 12px; font-weight: 600; color: #a23b5c; background: #fdeef3;
  border: 1px solid #f6d6e1; border-radius: 999px; padding: 3px 10px;
}
.bk-price__note { display: block; font-size: 12.5px; color: var(--bk-mute-2); margin-top: 6px; }

/* panel zakupu */
.bk-buy {
  margin: 22px 0 0; padding: 22px; background: #fff;
  border: 1px solid var(--bk-border-2); border-radius: 20px;
  box-shadow: 0 10px 30px rgba(47,90,110,.07);
}
.bk-buy__qtyrow { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.bk-buy__qtylabel { font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--bk-ink); }

.bk-qty {
  display: inline-flex; align-items: center; gap: 4px;
  border: 1px solid var(--bk-border-3); border-radius: 999px; background: #fff; padding: 4px;
}
.bk-qty__btn {
  width: 36px; height: 36px; border: none; border-radius: 999px; background: var(--bk-teal);
  color: #fff; font-size: 20px; line-height: 1; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(47,90,110,.22); transition: background .15s, transform .1s;
}
.bk-qty__btn:hover { background: var(--bk-teal-dark); }
.bk-qty__btn:active { transform: scale(.94); }
/* touchspin frameworka opakowuje input — neutralizujemy wrapper i chowamy pionowe strzałki */
.bk-qty .input-group.bootstrap-touchspin {
  display: inline-flex; align-items: center; width: auto; border: none; background: transparent; box-shadow: none; padding: 0; margin: 0;
}
.bk-qty .input-group-btn-vertical,
.bk-qty .bootstrap-touchspin-prefix,
.bk-qty .bootstrap-touchspin-postfix,
.bk-qty .btn-touchspin,
.bk-qty .js-touchspin { display: none !important; }
.bk-qty__input {
  width: 46px; height: 34px; border: none; background: transparent; text-align: center;
  font-family: var(--bk-sans); font-size: 15px; font-weight: 600; color: var(--bk-ink);
  box-shadow: none; padding: 0; -moz-appearance: textfield; appearance: textfield;
}
.bk-qty .bk-qty__input.form-control { border: none; background: transparent; box-shadow: none; height: 34px; }
.bk-qty__input::-webkit-outer-spin-button,
.bk-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bk-qty__input:focus { outline: none; }

.bk-buy__total { text-align: right; }
.bk-buy__totallabel { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--bk-mute-2); }
.bk-buy__totalvalue { font-family: var(--bk-serif); font-size: 22px; font-weight: 600; color: var(--bk-ink); }

#product .product-minimal-quantity { margin: 0; padding: 0; }
#product .product-minimal-quantity:not(:empty) { font-size: 13px; color: #3f6373; margin: 14px 0 0; }

.bk-buy__actions { display: block; margin-top: 18px; }
.bk-add {
  display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px;
  background: var(--bk-teal); color: #fff; border: none; border-radius: 999px;
  padding: 15px 26px; font-family: var(--bk-sans); font-size: 13px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
  box-shadow: 0 10px 26px rgba(47,90,110,.24); transition: background .15s, transform .1s;
}
.bk-add:hover { background: var(--bk-teal-dark); color: #fff; }
.bk-add:active { transform: translateY(1px); }
.bk-add[disabled] { opacity: .5; cursor: not-allowed; box-shadow: none; }
.bk-add .material-icons { font-size: 19px; margin: 0; }
/* pewne wyśrodkowanie treści przycisku (bije reguły frameworka) */
#product .bk-buy__actions { display: block; text-align: center; }
#product .bk-buy .bk-add { display: flex !important; width: 100% !important; align-items: center; justify-content: center; gap: 8px; text-align: center; float: none; }
.wishlist-button-add,
.wishlist-button-product,
[data-button-action="add-to-wishlist"] { display: none !important; }

#product #product-availability { display: block; margin-top: 12px; font-size: 13px; color: var(--bk-mute-2); }
#product #product-availability:empty { display: none; }

/* dostosowania + rabaty ilościowe */
#product .product-customization { background: #fff; border: 1px solid #e8f1f6; border-radius: 20px; padding: 30px; box-shadow: 0 8px 24px rgba(47,90,110,.06); margin-top: 22px; }
#product .product-customization textarea, #product .product-customization .form-control { border: 1px solid var(--bk-border-3); border-radius: 14px; padding: 14px 16px; font-family: var(--bk-sans); background: var(--bk-bg); }
#product .product-message, #product textarea.form-control { border-radius: 14px; }
#product .product-discounts table, .table-product-discounts { border-radius: 14px; overflow: hidden; margin-top: 16px; }
.table-product-discounts td, .table-product-discounts th { background: #f7fbfd; border: 1px solid var(--bk-border); color: var(--bk-ink-soft); }

/* breadcrumb (classic markup) on inner pages */
#product .breadcrumb, #category .breadcrumb, body[id^="category"] .breadcrumb {
  background: transparent; max-width: 1180px; margin: 0 auto; padding: 26px 28px 0;
  font-size: 12px; letter-spacing: .04em;
}
.breadcrumb ol { padding: 0; margin: 0; }
.breadcrumb li, .breadcrumb li a { color: var(--bk-mute); font-size: 12px; }
.breadcrumb li a:hover { color: var(--bk-teal); }
.breadcrumb li:last-child span { color: var(--bk-teal); }

/* ====================================================
   CHECKOUT  (restyle classic checkout markup)
   ==================================================== */
#checkout .bk-checkout-head, .bk-checkout-head { max-width: 1180px; margin: 0 auto; padding: 40px 28px 8px; text-align: center; }
.bk-checkout-head .eyebrow { font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--bk-mute-2); }
.bk-checkout-head h1 { font-size: 42px; margin: 10px 0 0; }

/* ===== CHECKOUT — układ wg specyfikacji, kolory brandowe (teal) ===== */
:root {
  --ck-accent: var(--bk-teal); --ck-accent-dark: var(--bk-teal-dark); --ck-accent-soft: #eef6f9;
  --ck-ink: #111827; --ck-muted: #6b7280; --ck-border: #e1e4e8; --ck-field: #d9dde3; --ck-panel: #f8f9fa;
}
body#checkout, body#cart { background: #f2f3f5; }

/* szerokości: ~1066 / 682 + 358 / gap 26, wyśrodkowane */
#checkout #content-wrapper, body#checkout #wrapper > .container, #checkout #content > .row { max-width: 1066px; margin: 0 auto; }
#checkout #content > .row { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
#checkout .cart-grid-body { flex: 1 1 400px; min-width: 0; max-width: 100%; padding: 0; }
#checkout .cart-grid-right { flex: 1 1 300px; min-width: 260px; max-width: 360px; padding: 0; }

/* sekcja = tytuł NAD białą kartą */
#checkout .checkout-step { background: transparent; border: none; box-shadow: none; overflow: visible; margin-bottom: 26px; }
#checkout .checkout-step .step-title {
  display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 0;
  background: transparent; border: none; border-radius: 0;
  font-family: var(--bk-sans); font-size: 18px; font-weight: 700; letter-spacing: .02em;
  text-transform: uppercase; color: var(--ck-ink);
}
#checkout .checkout-step .step-number {
  width: 25px; height: 25px; border-radius: 50%; background: var(--ck-accent); color: #fff;
  font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; flex: none;
}
#checkout .checkout-step .step-title .done { display: none; }
#checkout .checkout-step > .content, #checkout .card, .bk-summary-card {
  background: #fff; border: 1px solid var(--ck-border); border-radius: 8px;
  box-shadow: 0 1px 2px rgba(17,24,39,.04); padding: 22px; margin: 0;
}

/* one-page: wszystkie osiągalne kroki widoczne */
body#checkout section.checkout-step.-reachable > .content,
body#checkout section.checkout-step.-reachable.-complete > .content { display: block; }
body#checkout section.checkout-step .step-title .step-edit { display: none; }

/* scalenie wizualne: dane osobowe + adres jako jeden blok „Dane kontaktowe" */
#checkout #checkout-personal-information-step { margin-bottom: 0; }
#checkout #checkout-personal-information-step > .content {
  border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: none; padding-bottom: 8px;
}
#checkout #checkout-addresses-step { margin-top: 0; }
#checkout #checkout-addresses-step > .step-title { display: none; }
#checkout #checkout-addresses-step > .content {
  border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 8px;
}
/* w scalonym bloku ukryj pośrednie „Dalej" danych osobowych — wysyłkę spina jeden przycisk niżej */
#checkout #checkout-personal-information-step .form-footer { margin-top: 8px; }

/* zakładki gość / logowanie */
#checkout .nav-inline { list-style: none; display: flex; align-items: center; gap: 0; padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--ck-border); }
#checkout .nav-inline .nav-link { display: inline-block; padding: 8px 0; margin-right: 22px; color: var(--ck-muted); font-weight: 600; font-size: 14px; border-bottom: 2px solid transparent; }
#checkout .nav-inline .nav-link.active { color: var(--ck-accent); border-bottom-color: var(--ck-accent); }
#checkout .nav-inline .nav-separator { display: none; }

/* ---- pola: etykieta w środku boxa (floating-filled) + układ wielokolumnowy ---- */
/* kontener pól = siatka */
#checkout #customer-form > div,
#checkout .js-address-form .form-fields { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }

/* każde pole tekstowe/select = box z etykietą u góry (akcent), input bez własnej ramki */
#checkout .checkout-step .form-group.row { flex: 1 1 100%; margin: 0; padding: 7px 14px 6px; border: 1px solid var(--ck-field); border-radius: 8px; background: #fff; transition: border-color .15s, box-shadow .15s; }
#checkout .checkout-step .form-group.row:focus-within { border-color: var(--ck-accent); box-shadow: 0 0 0 3px rgba(47,90,110,.12); }
#checkout .form-group .col-md-3.form-control-label, #checkout .form-group label.form-control-label {
  display: block; width: 100%; max-width: none; text-align: left; float: none; padding: 0; margin: 0;
  font-size: 11px; font-weight: 600; letter-spacing: .01em; color: var(--ck-accent); text-transform: none;
}
#checkout .form-group .js-input-column, #checkout .form-group .col-md-6, #checkout .form-group .col-md-9 { width: 100%; max-width: none; flex: none; float: none; padding: 0; }
#checkout .form-group .col-md-3.form-control-comment { display: none; }
#checkout input.form-control, #checkout select.form-control {
  width: 100%; height: auto; border: none; background: transparent; box-shadow: none;
  padding: 2px 0 0; font-size: 15px; line-height: 1.35; color: var(--ck-ink);
}
#checkout input.form-control:focus, #checkout select.form-control:focus { outline: none; box-shadow: none; }
#checkout select.form-control { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 2px center; padding-right: 22px; }

/* szerokości kolumn wg wzoru */
#checkout .form-group.row:has(#field-firstname),
#checkout .form-group.row:has(#field-lastname),
#checkout .form-group.row:has(#field-postcode),
#checkout .form-group.row:has(#field-city) { flex: 1 1 calc(50% - 6px); }
#checkout .bk-field-street { flex: 1 1 calc(58% - 12px); }
#checkout .bk-field-house, #checkout .bk-field-apt { flex: 1 1 calc(21% - 8px); }

/* duplikat Imię/Nazwisko w adresie chowamy (uzupełniane JS-em z góry) */
#checkout .js-address-form .form-group.row:has(#field-firstname),
#checkout .js-address-form .form-group.row:has(#field-lastname) { display: none; }

/* pola pełnej szerokości */
#checkout .form-group.row:has(#field-email),
#checkout .form-group.row:has(#field-phone),
#checkout .form-group.row:has(#field-id_country),
#checkout .form-group.row:has(#field-password),
#checkout .form-group.row:has(#field-birthday),
#checkout .form-group.row:has(#field-company),
#checkout .form-group.row:has(#field-vat_number) { flex: 1 1 100%; }

/* password: przycisk „Pokaż" w boxie */
#checkout .form-group.row:has(#field-password) .input-group { display: flex; align-items: center; }
#checkout .input-group-btn .btn { border: none; background: transparent; color: var(--ck-accent); padding: 0 4px; font-weight: 600; font-size: 12px; height: auto; }

/* checkboxy / radia = bez boxa */
#checkout .form-group.row:has(input[type="checkbox"]),
#checkout .form-group.row:has(input[type="radio"]),
#checkout .form-group.row.bk-invoice-toggle { flex: 1 1 100%; border: none; background: transparent; padding: 4px 0; box-shadow: none; }
#checkout .form-group.row:has(input[type="checkbox"]) .form-control-label,
#checkout .form-group.row:has(input[type="radio"]) .form-control-label { display: none; }

#checkout textarea.form-control { width: 100%; height: auto; min-height: 80px; border: 1px solid var(--ck-field); border-radius: 8px; padding: 10px 14px; font-size: 15px; background: #fff; }
#checkout .required::after, #checkout .form-control-label.required::after { content: " *"; color: var(--ck-accent); }
#checkout .help-block, #checkout .form-control-comment { display: block; font-size: 11.5px; color: var(--ck-muted); margin-top: 3px; }
#checkout .help-block li { color: #dc3545; }
#checkout .has-error, #checkout .form-group.row.has-error { border-color: #dc3545 !important; }
#checkout input[type="checkbox"], #checkout input[type="radio"] { accent-color: var(--ck-accent); }
#checkout .custom-checkbox, #checkout .radio-inline { display: inline-flex; align-items: flex-start; gap: 6px; font-size: 14px; color: var(--ck-ink); line-height: 1.4; }
#checkout .custom-checkbox label, #checkout .radio-inline label { margin: 0; }

/* declutter: elementy spoza wzoru rozbijały siatkę — chowamy w checkoucie */
#checkout #customer-form .form-informations,
#checkout #customer-form .field-password-policy,
#checkout #customer-form .form-group.row:has(#field-password),
#checkout #customer-form .form-group.row:has(#field-birthday),
#checkout #checkout-addresses-step .content > .js-address-form > form > p { display: none; }

/* ---- METODA DOSTAWY: rzędy, cena po prawej ---- */
#checkout .delivery-options, #checkout .delivery-options-list { display: block; margin: 0; }
#checkout .delivery-option {
  display: flex; align-items: center; gap: 12px; margin: 0 0 12px; padding: 14px 16px;
  background: #fff; border: 1px solid var(--ck-border); border-radius: 8px;
  transition: border-color .15s, background .15s;
}
#checkout .delivery-option:hover { border-color: var(--ck-accent); }
#checkout .delivery-option:has(input[type="radio"]:checked) { border: 2px solid var(--ck-accent); background: var(--ck-accent-soft); }
#checkout .delivery-option .col-sm-1 { flex: 0 0 auto; width: auto; padding: 0; }
#checkout .delivery-option .custom-radio { margin: 0; float: none; }
#checkout .delivery-option .delivery-option-2 { flex: 1 1 auto; width: auto; max-width: none; padding: 0; margin: 0; cursor: pointer; }
#checkout .delivery-option .delivery-option-2 > .row { display: flex; align-items: center; gap: 14px; margin: 0; flex-wrap: nowrap; }
#checkout .delivery-option .delivery-option-2 > .row > [class*="col-"] { width: auto; max-width: none; flex: 0 0 auto; padding: 0; }
#checkout .delivery-option .delivery-option-2 > .row > .col-sm-5 { flex: 1 1 auto; min-width: 0; }
#checkout .delivery-option .row.carrier { display: flex; align-items: center; gap: 10px; margin: 0; }
#checkout .delivery-option .carrier-logo { flex: 0 0 auto; width: auto; padding: 0; }
#checkout .delivery-option .carrier-logo img { width: 28px; height: 28px; object-fit: contain; }
#checkout .delivery-option .carriere-name-container { width: auto; padding: 0; }
#checkout .delivery-option .carrier-name { font-size: 14.5px; font-weight: 700; color: var(--ck-ink); }
#checkout .delivery-option .carrier-delay { font-size: 12.5px; color: var(--ck-muted); }
#checkout .delivery-option .carrier-price { margin-left: auto; font-size: 15px; font-weight: 700; color: var(--ck-accent); white-space: nowrap; }
#checkout .delivery-option .carrier-extra-content:not(:empty) { flex: 1 0 100%; margin-top: 8px; }

/* ---- METODA PŁATNOŚCI: rzędy ---- */
#checkout .payment-options { display: block; }
#checkout .payment-option { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--ck-border); border-radius: 8px; cursor: pointer; transition: border-color .15s, background .15s; }
#checkout .payment-option:hover { border-color: var(--ck-accent); }
#checkout .payment-option:has(input[type="radio"]:checked) { border: 2px solid var(--ck-accent); background: var(--ck-accent-soft); }
#checkout .payment-option input[type="radio"] { flex: 0 0 auto; margin: 0; }
#checkout .payment-option label { margin: 0; font-size: 14.5px; font-weight: 600; color: var(--ck-ink); cursor: pointer; }
#checkout .payment-option img { max-height: 24px; width: auto; margin-left: 6px; }
#checkout .js-payment-option-form, #checkout .js-additional-information { width: 100%; }

/* zgody / regulaminy */
#checkout #conditions-to-approve, #checkout .js-conditions-to-approve { margin: 20px 0 0; }
#checkout #conditions-to-approve label, #checkout .js-conditions-to-approve label { font-size: 13.5px; color: var(--ck-ink); }
#checkout #conditions-to-approve a { color: var(--ck-accent); text-decoration: underline; }

/* przyciski */
#checkout .btn-primary, #cart .btn-primary, .btn-primary,
#checkout .continue, #checkout button[name="confirmDeliveryOption"], #checkout #payment-confirmation button {
  background: var(--ck-accent); border: none; color: #fff; border-radius: 6px;
  font-size: 15px; font-weight: 700; letter-spacing: .01em; text-transform: none; padding: 0 26px; height: 54px;
}
.btn-primary:hover, #checkout .btn-primary:hover, #checkout .continue:hover, #checkout #payment-confirmation button:hover { background: var(--ck-accent-dark); color: #fff; }
#checkout .checkout-step .form-footer { margin-top: 22px; padding: 0; border: none; text-align: left; }
#checkout .checkout-step .continue, #checkout #payment-confirmation button { width: 100%; display: block; float: none; }
/* one-click: pośrednie „Dalej" schowane — „Złóż zamówienie" spina wszystko (JS).
   Gdy łańcuch padnie (bk-chain-failed), „Dalej" wracają jako awaryjne. */
#checkout .checkout-step:not(#checkout-payment-step) .continue { display: none; }
body#checkout.bk-chain-failed .checkout-step .continue { display: block; }

/* ---- PODSUMOWANIE (sticky) ---- */
#checkout .cart-grid-right { position: sticky; top: 24px; align-self: flex-start; }
.bk-summary-title { font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ck-ink); margin: 0 0 12px; }
#checkout .cart-grid-right .card, #checkout .cart-summary { border: 1px solid var(--ck-border); border-radius: 8px; box-shadow: 0 1px 2px rgba(17,24,39,.04); overflow: hidden; }
#checkout .cart-summary-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--ck-ink); font-size: 14px; margin-bottom: 10px; }
#checkout .cart-summary-line .label { color: var(--ck-muted); float: none; padding: 0; }
#checkout .cart-summary-line .value { float: none; margin-left: auto; text-align: right; white-space: nowrap; }
#checkout .cart-summary-line.cart-total { align-items: center; padding-top: 12px; border-top: 1px solid var(--ck-border); margin: 6px 0 0; }
#checkout .cart-summary-line.cart-total .label { font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ck-ink); }
#checkout .cart-summary-line.cart-total .value { font-family: var(--bk-sans); font-size: 20px; font-weight: 700; color: var(--ck-ink); }
#checkout .cart-summary-products { background: #fff; }
#checkout .cart-summary-line.cart-summary-shipping .value, .bk-free { color: #16a34a; font-weight: 700; }

/* ikony zaufania pod podsumowaniem */
/* overlay „Podsumowanie zamówienia" przed płatnością */
.bk-review-overlay { position: fixed; inset: 0; background: rgba(17,24,39,.5); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 20px; }
.bk-review { background: #fff; border-radius: 12px; max-width: 460px; width: 100%; max-height: 90vh; overflow: auto; padding: 24px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.bk-review h3 { font-family: var(--bk-serif); font-size: 22px; margin: 0 0 8px; color: var(--ck-ink); }
.bk-review__section { padding: 12px 0; border-top: 1px solid var(--ck-border); font-size: 14px; color: var(--ck-ink); line-height: 1.5; }
.bk-review__row { display: flex; justify-content: space-between; gap: 12px; margin: 3px 0; }
.bk-review__row .m { color: var(--ck-muted); }
.bk-review__label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ck-muted); margin-bottom: 5px; }
.bk-review__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; border-top: 2px solid var(--ck-border); margin-top: 6px; font-weight: 700; font-size: 15px; color: var(--ck-ink); }
.bk-review__total .v { font-family: var(--bk-serif); font-size: 22px; color: var(--ck-accent); }
.bk-review__actions { display: flex; gap: 10px; margin-top: 20px; }
.bk-review__back { flex: 0 0 auto; padding: 12px 18px; border-radius: 8px; border: 1px solid var(--ck-field); background: #fff; color: var(--ck-ink); cursor: pointer; font-weight: 600; }
.bk-review__confirm { flex: 1; padding: 12px; border-radius: 8px; border: none; background: var(--ck-accent); color: #fff; cursor: pointer; font-weight: 700; font-size: 15px; }
.bk-review__confirm:hover { background: var(--ck-accent-dark); }

/* ====================================================
   KOSZYK (/koszyk) — restyle w motywie
   ==================================================== */
#cart #content-wrapper, body#cart #content > .cart-grid.row, #cart .cart-grid.row { max-width: 1066px; margin: 0 auto; }
#cart .cart-grid.row { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
#cart .cart-grid-body { flex: 1 1 400px; min-width: 0; max-width: 100%; padding: 0; }
#cart .cart-grid-right { flex: 1 1 300px; min-width: 260px; max-width: 360px; padding: 0; position: sticky; top: 24px; }
#cart .cart-grid-body .cart-grid-body-up, #cart .cart-grid-body .cart-grid-body-down { padding: 0; }
#cart .card { background: #fff; border: 1px solid var(--ck-border); border-radius: 12px; box-shadow: 0 1px 2px rgba(17,24,39,.04); overflow: hidden; }
#cart .cart-container > .card-block { padding: 22px 24px 8px; }
#cart .cart-container h1 { font-family: var(--bk-serif); font-size: 26px; margin: 0; text-transform: none; letter-spacing: 0; color: var(--ck-ink); }
#cart .separator { margin: 0; border: none; border-top: 1px solid var(--ck-border); }
#cart .cart-item { padding: 20px 24px; border-bottom: 1px solid #eef1f4; }
#cart .cart-item:last-child { border-bottom: none; }
#cart .product-line-info.product-name a, #cart .product-line-grid-body .label { font-weight: 600; color: var(--ck-ink); text-decoration: none; }
#cart .product-price, #cart .product-line-info.product-price { color: var(--ck-accent); font-weight: 700; }
#cart .cart-summary { position: static; }
#cart .cart-summary .card-block, #cart .cart-summary .cart-summary-totals { padding: 20px 22px; }
#cart .cart-summary-line, #cart .cart-summary .cart-summary-line { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: var(--ck-ink); margin-bottom: 10px; }
#cart .cart-summary-line .label { color: var(--ck-muted); font-weight: 400; }
#cart .cart-summary-line .value { float: none; margin-left: auto; font-weight: 600; }
#cart .cart-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--ck-border); margin: 4px 0 0; }
#cart .cart-total .label { font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--ck-ink); }
#cart .cart-total .value { float: none; font-family: var(--bk-serif); font-size: 22px; font-weight: 700; color: var(--ck-accent); }
#cart .cart-summary-line.cart-summary-shipping .value { color: var(--bk-green, #16a34a); font-weight: 700; }
#cart .cart-detailed-actions { padding: 4px 22px 20px; }
#cart .cart-detailed-actions .btn-primary { display: block; width: 100%; padding: 14px; height: auto; border: none; border-radius: 8px; background: var(--ck-accent); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; }
#cart .cart-detailed-actions .btn-primary:hover { background: var(--ck-accent-dark); }
/* stepper ilości — czysty box zamiast surowego touchspin */
#cart .qty .bootstrap-touchspin, #cart .input-group.bootstrap-touchspin { display: inline-flex; align-items: stretch; width: auto; border: 1px solid var(--ck-field); border-radius: 10px; overflow: hidden; background: #fff; }
#cart .qty .bootstrap-touchspin-prefix, #cart .qty .bootstrap-touchspin-postfix { display: none !important; }
#cart .qty .js-cart-line-product-quantity, #cart .qty input.form-control { width: 46px; border: none; background: transparent; text-align: center; font-weight: 600; color: var(--ck-ink); box-shadow: none; padding: 0; -moz-appearance: textfield; appearance: textfield; }
#cart .qty .js-cart-line-product-quantity::-webkit-outer-spin-button, #cart .qty .js-cart-line-product-quantity::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#cart .qty .input-group-btn-vertical { display: flex; flex-direction: column; border-left: 1px solid var(--ck-field); }
#cart .qty .btn-touchspin { background: #f3f5f6; border: none; color: var(--ck-accent); width: 28px; min-height: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
#cart .qty .btn-touchspin:hover { background: var(--ck-accent); color: #fff; }
#cart .qty .btn-touchspin .material-icons { font-size: 16px; }
#cart .remove-from-cart, #cart .cart-line-product-actions .remove-from-cart { color: var(--ck-muted); }
#cart .remove-from-cart:hover { color: #dc3545; }
#cart .label a, #cart a.label { color: var(--ck-accent); }
@media (max-width: 760px) {
  #cart .cart-grid.row { display: block; }
  #cart .cart-grid-right { position: static; max-width: 100%; margin-top: 24px; }
}

/* ikony zaufania pod podsumowaniem koszyka */
#cart .bk-cart-trust { padding: 0 22px 20px; display: flex; flex-direction: column; gap: 11px; }
#cart .bk-cart-trust__item { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ck-muted); }
#cart .bk-cart-trust__item svg { width: 17px; height: 17px; stroke: var(--ck-accent); flex: none; }

/* dopieszczenie koszyka */
#cart .product-line-grid-left .product-image, #cart .product-line-grid-left img { border-radius: 12px; background: var(--bk-panel, #eaf4f8); }
#cart .product-line-grid-left img { padding: 6px; max-width: 100%; }
#cart .product-line-grid-body { padding-left: 4px; }
#cart .product-line-info.product-name a, #cart .product-line-grid-body a.label { font-size: 15px; font-weight: 600; }
#cart .cart-item { padding: 22px 24px; }
#cart .cart-container > .card-block h1 { font-size: 28px; }
#cart .cart-summary .card-block:first-child { padding-top: 22px; }
#cart .label a, body#cart a.label { color: var(--ck-muted); font-weight: 500; }
body#cart a.label:hover { color: var(--ck-accent); }

/* ====================================================
   MODUŁ CHECKOUT (bkcheckout) — jednostronicowy
   ==================================================== */
#bk-onepage {
  --op-accent: var(--bk-teal); --op-accent-dark: var(--bk-teal-dark);
  --op-ink: #111827; --op-muted: #6b7280; --op-field: #d9dde3; --op-border: #e1e4e8;
  max-width: 1066px; margin: 0 auto; padding: 24px 16px 60px;
}
body[id^="module-bkcheckout"] #wrapper { background: #f2f3f5; }
#bk-onepage .bk-op__grid { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
#bk-onepage .bk-op__main { flex: 1 1 400px; min-width: 0; }
#bk-onepage .bk-op__side { flex: 1 1 300px; max-width: 360px; min-width: 260px; position: sticky; top: 24px; }

#bk-onepage .bk-op__title { font-size: 18px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--op-ink); margin: 26px 0 14px; }
#bk-onepage .bk-op__main .bk-op__title:first-child { margin-top: 0; }
#bk-onepage .bk-op__card { background: #fff; border: 1px solid var(--op-border); border-radius: 8px; box-shadow: 0 1px 2px rgba(17,24,39,.04); padding: 20px; }

/* pola: label w boxie + siatka */
#bk-onepage .bk-op__fields { display: flex; flex-wrap: wrap; gap: 12px; }
#bk-onepage .bk-f { flex: 1 1 100%; display: flex; flex-direction: column; justify-content: center; min-height: 56px; border: 1px solid var(--op-field); border-radius: 8px; padding: 8px 14px; background: #fff; transition: border-color .15s, box-shadow .15s; }
#bk-onepage .bk-f:focus-within { border-color: var(--op-accent); box-shadow: 0 0 0 3px rgba(47,90,110,.12); }
#bk-onepage .bk-f label { display: block; text-align: left; font-size: 11px; font-weight: 600; color: var(--op-accent); margin: 0 0 3px; }
#bk-onepage .bk-f label span { color: var(--op-accent); }
#bk-onepage .bk-f input, #bk-onepage .bk-f select { width: 100%; border: none; background: transparent; padding: 0; font-size: 15px; line-height: 1.3; color: var(--op-ink); outline: none; }
#bk-onepage .bk-f--err { border-color: #dc3545; }
#bk-onepage .bk-f__err { display: block; font-size: 11px; color: #dc3545; margin-top: 3px; }
#bk-onepage .bk-f select { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right center; padding-right: 20px; }
#bk-onepage .bk-f--half { flex: 1 1 calc(50% - 6px); }
#bk-onepage .bk-f--street { flex: 1 1 calc(58% - 12px); }
#bk-onepage .bk-f--nr { flex: 1 1 calc(21% - 8px); }
#bk-onepage .bk-op__check { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; font-size: 14px; color: var(--op-ink); cursor: pointer; }
#bk-onepage .bk-op__check input { accent-color: var(--op-accent); }
#bk-onepage .bk-op__invoice { margin-top: 12px; }

/* kafelki dostawy / płatności */
#bk-onepage .bk-op__opts { display: flex; flex-direction: column; gap: 12px; }
#bk-onepage .bk-op__opts--pay { flex-direction: row; flex-wrap: wrap; }
#bk-onepage .bk-op__opt { display: flex; align-items: center; gap: 12px; border: 1px solid var(--op-border); border-radius: 8px; padding: 14px 16px; cursor: pointer; transition: border-color .15s, background .15s; }
#bk-onepage .bk-op__opt input { accent-color: var(--op-accent); flex: 0 0 auto; }
#bk-onepage .bk-op__opt:has(input:checked) { border: 2px solid var(--op-accent); background: var(--op-accent-soft, #eef6f9); }
#bk-onepage .bk-op__opt-body { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; }
#bk-onepage .bk-op__opt-name { font-size: 14.5px; font-weight: 700; color: var(--op-ink); }
#bk-onepage .bk-op__opt-sub { font-size: 12.5px; color: var(--op-muted); }
#bk-onepage .bk-op__opt-price { margin-left: auto; font-size: 15px; font-weight: 700; color: var(--op-accent); white-space: nowrap; }
#bk-onepage .bk-op__opt--pay { flex: 1 1 160px; justify-content: center; text-align: center; min-height: 66px; }

#bk-onepage .bk-op__submit { display: block; width: 100%; margin-top: 24px; padding: 15px; border: none; border-radius: 8px; background: var(--op-accent); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; transition: background .15s; }
#bk-onepage .bk-op__submit:hover { background: var(--op-accent-dark); }

/* podsumowanie */
#bk-onepage .bk-op__side-title { font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--op-ink); margin: 0 0 12px; }
#bk-onepage .bk-op__summary { background: #fff; border: 1px solid var(--op-border); border-radius: 8px; box-shadow: 0 1px 2px rgba(17,24,39,.04); padding: 20px; }
#bk-onepage .bk-op__sum-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--op-ink); margin-bottom: 8px; }
#bk-onepage .bk-op__sum-row .m { color: var(--op-muted); }
#bk-onepage .bk-op__sum-sep { border-top: 1px solid var(--op-border); margin: 10px 0; }
#bk-onepage .bk-op__sum-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--op-border); margin-top: 6px; font-weight: 700; font-size: 15px; color: var(--op-ink); }
#bk-onepage .bk-op__sum-total .v { font-family: var(--bk-serif); font-size: 22px; color: var(--op-accent); }
#bk-onepage .bk-op__trust { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 14px 2px 0; font-size: 11px; color: var(--op-muted); }

@media (max-width: 760px) {
  #bk-onepage .bk-op__side { position: static; max-width: 100%; margin-top: 24px; }
}

.bk-trust { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 14px 2px 0; }
.bk-trust__item { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--ck-muted); }
.bk-trust__item svg { width: 13px; height: 13px; stroke: var(--ck-accent); flex: none; }

@media (max-width: 991px) {
  #product .product-container { grid-template-columns: 1fr; }
}
/* checkout zwija się dopiero, gdy dwie kolumny realnie się nie mieszczą */
@media (max-width: 759px) {
  #checkout #content > .row { display: block; }
  #checkout .cart-grid-body, #checkout .cart-grid-right { max-width: 100%; min-width: 0; }
  #checkout .cart-grid-right { position: static; margin-top: 24px; }
}
@media (max-width: 639px) {
  #checkout .delivery-option .delivery-option-2 > .row { flex-wrap: wrap; }
  #checkout .delivery-option .carrier-price { margin-left: 0; }
}

/* ====================================================
   PAGE WIDTH RESETS for full-bleed sections on home
   ==================================================== */
body#index #wrapper { padding: 0; }
body#index #main, body#index #content-wrapper { width: 100%; max-width: 100%; padding: 0; }
body#index .breadcrumb { display: none; }
/* „Wszystkie produkty →" z modułu polecanych — zbędny, produkty są na głównej */
.all-product-link, #index .all-product-link, .featured-products .all-product-link { display: none !important; }

/* category / listing page header spacing */
#category #content-wrapper, body[id^="category"] #content-wrapper { padding-top: 24px; }
#js-product-list-header .block-category,
#js-product-list-header .block-category.card {
  background: none; border: none; box-shadow: none; padding: 0; margin: 0; min-height: 0;
}
#js-product-list-header h1, #js-product-list-header .h1 {
  font-family: var(--bk-serif); font-size: 40px; font-weight: 500; color: #1f2e36; margin: 0; line-height: 1.1;
}
/* pusty (z białymi znakami) inner rozpychał tytuł — chowamy zawsze */
#js-product-list-header .block-category-inner { display: none; }
#js-product-list-header { margin: 0 0 14px; }
#category #js-product-list-top, body[id^="category"] #js-product-list-top { margin-top: 0; margin-bottom: 14px; }


/* hide the featured module's own title — we render our "Wszystkie produkty" heading */
.featured-products .products-section-title { display: none; }

/* ====================================================
   PROMO BAND (branded, homepage)
   ==================================================== */
.bk-promo {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  background-color: #e7f4fb;
  background-image: radial-gradient(circle, rgba(255,255,255,0.92) 2.2px, transparent 2.4px);
  background-size: 36px 36px;
  padding: 60px 24px; text-align: center;
}
.bk-promo__inner { max-width: 680px; margin: 0 auto; }
.bk-promo__title { font-size: 38px; margin: 8px 0 14px; color: #1f2e36; }
.bk-promo__title em { font-style: italic; color: var(--bk-teal); }
.bk-promo p { font-size: 16px; line-height: 1.7; color: var(--bk-ink-soft); font-weight: 300; margin: 0 0 26px; }
@media (max-width: 767px) { .bk-promo { padding: 44px 18px; } .bk-promo__title { font-size: 28px; } }

/* ====================================================
   CONTACT PAGE
   ==================================================== */
#contact #content-wrapper, #contact #left-column { padding-top: 24px; }
#contact .page-header h1, #contact h1 { font-family: var(--bk-serif); font-size: 34px; font-weight: 500; }
#contact #content.card, #contact #content.page-content {
  background: #fff; border: 1px solid var(--bk-border); border-radius: 22px;
  box-shadow: 0 6px 20px rgba(47,90,110,.06); padding: 34px 36px;
}
#contact .contact-form { background: none; border: none; box-shadow: none; padding: 0; }
#contact .contact-form h3, #contact .contact-form .h3 {
  font-family: var(--bk-serif); font-size: 24px; font-weight: 500; color: #1f2e36; text-transform: none; margin: 0 0 22px;
}
#contact .contact-form label { color: var(--bk-ink-soft); font-weight: 500; }
#contact .form-control-label { display: flex; align-items: center; justify-content: flex-end; min-height: 48px; padding-top: 0; margin-bottom: 0; }
#contact .form-control, #contact select.form-control {
  height: 48px; line-height: 1.4; border: 1px solid var(--bk-border-3); border-radius: 12px;
  background: var(--bk-bg); padding: 0 16px; box-sizing: border-box;
}
#contact textarea.form-control { height: auto; min-height: 120px; line-height: 1.5; padding: 12px 16px; }
#contact select.form-control, #contact .form-control-select { padding-right: 38px; }
#contact .form-control-comment { color: var(--bk-mute); display: flex; align-items: center; min-height: 48px; }
#contact .bootstrap-filestyle .form-control[disabled] { color: var(--bk-mute); }
/* file "WYBIERZ PLIK" + submit "WYŚLIJ" → teal */
#contact .input-group .btn, #contact .bootstrap-filestyle .btn, #contact label.filestyle,
#contact .custom-file-label { background: var(--bk-teal); color: #fff; border: none; border-radius: 10px; }
#contact .form-footer .btn-primary, #contact button[type="submit"] {
  background: var(--bk-teal); border: none; border-radius: 999px; padding: 14px 34px;
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
#contact .form-footer .btn-primary:hover, #contact button[type="submit"]:hover { background: var(--bk-teal-dark); }

#contact #left-column .bk-contact-info { padding-top: 24px; }
.bk-contact-info__card {
  background: #fff; border: 1px solid var(--bk-border); border-radius: 18px;
  padding: 20px 22px; box-shadow: 0 6px 20px rgba(47,90,110,.06); margin-bottom: 18px;
}
.bk-contact-info__card:last-child { margin-bottom: 0; }
.bk-contact-info__card h3 { font-family: var(--bk-serif); font-size: 18px; font-weight: 500; color: var(--bk-teal); margin: 0 0 10px; }
.bk-contact-info__card p { font-size: 14px; line-height: 1.65; color: var(--bk-ink-soft); font-weight: 300; margin: 0 0 10px; }
.bk-contact-info__card p:last-child { margin-bottom: 0; }
.bk-contact-info__card a { color: var(--bk-teal); word-break: break-word; }

/* ====================================================
   404 / not found (branded)
   ==================================================== */
.bk-404 {
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  background-color: #e7f4fb;
  background-image: radial-gradient(circle, rgba(255,255,255,0.92) 2.2px, transparent 2.4px);
  background-size: 36px 36px;
  padding: 80px 24px 90px; text-align: center;
}
.bk-404__inner { max-width: 620px; margin: 0 auto; }
.bk-404__krowka {
  display: block; width: 130px; height: 87px; margin: 0 auto 8px;
  background: url('../img/krowka.webp') center/contain no-repeat;
  filter: drop-shadow(0 8px 14px rgba(47,90,110,.2));
  animation: bk-float 7s ease-in-out infinite;
}
.bk-404__code { font-family: var(--bk-serif); font-size: 92px; line-height: 1; font-weight: 600; color: var(--bk-teal); margin: 6px 0 4px; }
.bk-404__title { font-family: var(--bk-serif); font-size: 34px; font-weight: 500; color: #1f2e36; margin: 0 0 14px; }
.bk-404__text { font-size: 16px; line-height: 1.7; color: var(--bk-ink-soft); font-weight: 300; margin: 0 0 28px; }
@media (max-width: 767px) { .bk-404 { padding: 56px 18px; } .bk-404__code { font-size: 68px; } .bk-404__title { font-size: 26px; } }

/* ====================================================
   CATEGORY SIDEBAR (left column category nav)
   ==================================================== */
/* baner kategorii — pokazywany tylko tam, gdzie mamy grafikę (pliki nazwane = slug kategorii) */
.bk-cat-banner { display: none; }
.bk-cat-banner--10, .bk-cat-banner--11, .bk-cat-banner--12, .bk-cat-banner--13 {
  display: block; width: 100%; aspect-ratio: 3 / 1; border-radius: 18px; margin-bottom: 32px;
  background-position: center; background-size: cover; background-repeat: no-repeat;
}
.bk-cat-banner--10 { background-image: url('../img/klasyczne-krowki.jpg'); }
.bk-cat-banner--11 { background-image: url('../img/pudelka-prezentowe.jpg'); }
.bk-cat-banner--12 { background-image: url('../img/produkty-personalizowane.jpg'); }
.bk-cat-banner--13 { background-image: url('../img/skarpetki-zbawki.jpg'); }

/* sidebar wyrównany z produktami */
@media (min-width: 992px) {
  #category #left-column, body[id^="category"] #left-column { margin-top: 142px; }
}
/* klik w kategorię (kotwica #products) ląduje na produktach — mały offset pod nagłówkiem */
#products { scroll-margin-top: 24px; }

/* karta kategorii — biały box (osobna od kart produktów) */
#left-column .block-categories {
  background: #fff; border: 1px solid var(--bk-border); border-radius: 18px;
  padding: 20px 22px; box-shadow: 0 6px 20px rgba(47,90,110,.06); margin-bottom: 20px;
}
.block-categories .category-top-menu { list-style: none; padding: 0; margin: 0; }
.block-categories .bk-cat-heading {
  display: block; font-family: var(--bk-serif); font-size: 19px; font-weight: 500;
  color: #1f2e36; margin-bottom: 14px;
}
.block-categories .category-sub-menu { list-style: none; padding: 0; margin: 0; }
.block-categories .category-sub-menu li { margin: 0; }
.block-categories .category-sub-menu a {
  display: block; padding: 10px 0; color: var(--bk-ink-soft); font-weight: 500; font-size: 14px;
  letter-spacing: .04em; border-bottom: 1px solid var(--bk-border); text-decoration: none; transition: color .18s, padding .18s;
}
.block-categories .category-sub-menu li:last-child a { border-bottom: none; }
.block-categories .category-sub-menu a:hover { color: var(--bk-teal); padding-left: 4px; }
.block-categories .category-sub-menu a.bk-cat-active {
  color: var(--bk-teal); font-weight: 600; padding-left: 12px; position: relative;
}
.block-categories .category-sub-menu a.bk-cat-active::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 4px; height: 16px; border-radius: 2px; background: var(--bk-teal);
}

#left-column .bk-reassure { display: flex; align-items: flex-start; gap: 14px; padding: 18px 0 0; margin-top: 8px; border-top: 1px solid var(--bk-border); }
.bk-reassure__icon { flex: none; color: var(--bk-teal); }
.bk-reassure__text strong { display: block; color: var(--bk-teal); font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.bk-reassure__text p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--bk-ink-soft); font-weight: 300; }
/* tidy leftover facet controls in the sidebar */
#left-column #search_filter_controls { display: none; }
/* listing page heading in our serif */
#category #js-product-list-header .h1, #category .block-category h1 { font-family: var(--bk-serif); }

/* ====================================================
   CMS PAGES (Regulamin · Polityka prywatności · cookies · Dostawa i zwroty)
   ==================================================== */
#cms #wrapper > .container, #cms #content-wrapper { max-width: 900px; margin: 0 auto; }
#cms .page-header, #cms .page-header h1, #cms h1.h1 {
  font-family: var(--bk-serif); font-size: 40px; font-weight: 500; color: #1f2e36;
  text-align: center; margin: 8px 0 26px; border: none; padding: 0;
}
#cms #content.page-cms {
  background: #fff; border: 1px solid var(--bk-border); border-radius: 22px;
  box-shadow: 0 6px 20px rgba(47,90,110,.06); padding: 40px 44px; margin-bottom: 44px;
}
/* content typography — match the theme & override imported inline fonts/colors */
.page-cms .rte { font-family: var(--bk-sans) !important; color: var(--bk-ink-soft); font-weight: 300; line-height: 1.85; font-size: 15px; }
.page-cms .rte * { font-family: var(--bk-sans) !important; }
.page-cms .rte h1, .page-cms .rte h2, .page-cms .rte h3,
.page-cms .rte h4, .page-cms .rte h5, .page-cms .rte h6 {
  font-family: var(--bk-serif) !important; color: var(--bk-teal) !important;
  font-weight: 600; margin: 28px 0 12px; line-height: 1.25;
}
.page-cms .rte h1, .page-cms .rte h2 { font-size: 26px; }
.page-cms .rte h3, .page-cms .rte h4 { font-size: 20px; }
.page-cms .rte h5, .page-cms .rte h6 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.page-cms .rte p { margin: 0 0 14px; color: var(--bk-ink-soft); }
.page-cms .rte strong, .page-cms .rte b { color: var(--bk-ink); font-weight: 600; }
.page-cms .rte a { color: var(--bk-teal); text-decoration: underline; }
.page-cms .rte ul, .page-cms .rte ol { margin: 0 0 16px; padding-left: 22px; }
.page-cms .rte li { margin: 0 0 8px; }
.page-cms .rte table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.page-cms .rte td, .page-cms .rte th { border: 1px solid var(--bk-border-2); padding: 10px 12px; text-align: left; }
.page-cms .rte img { max-width: 100%; height: auto; }
.page-cms .rte hr { border: none; border-top: 1px solid var(--bk-border); margin: 24px 0; }
@media (max-width: 767px) {
  #cms #content.page-cms { padding: 24px 20px; border-radius: 16px; }
  #cms .page-header, #cms .page-header h1 { font-size: 30px; }
}

/* ---------- responsive: hamburger + dropdown ≤991 ---------- */
@media (max-width: 991px) {
  .bk-section { padding: 44px 18px 24px; }
  .bk-about { padding: 56px 20px; }
  .bk-contact { padding: 48px 20px 20px; }

  /* header bar: burger (left) · logo (center) · cart (right) */
  .bk-header__bar { padding: 12px 16px; gap: 10px; justify-content: space-between; }
  .bk-burger { display: flex; }
  .bk-cart--bar { display: flex; }
  .bk-header__logo { flex: 1; }

  /* burger → X when open */
  .bk-nav-cb:checked ~ .bk-header__bar .bk-burger__bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .bk-nav-cb:checked ~ .bk-header__bar .bk-burger__bars i:nth-child(2) { opacity: 0; }
  .bk-nav-cb:checked ~ .bk-header__bar .bk-burger__bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  /* nav row becomes the dropdown panel — white/blue */
  .bk-navrow { display: none; padding: 0; background: #fff; border-top: 1px solid var(--bk-border); }
  .bk-nav-cb:checked ~ .bk-navrow { display: block; box-shadow: 0 14px 30px rgba(47,90,110,.12); }
  .bk-navrow__spacer, .bk-cart--nav { display: none; }   /* cart stays in the top bar on mobile */
  .bk-navrow .bk-nav-wrap { flex: none; width: 100%; }

  /* menu as a clean vertical list of text links (no krówka tiles on mobile) */
  .bk-nav { flex-direction: column; flex-wrap: nowrap; align-items: stretch; max-width: 100%; gap: 0; padding: 6px 0 10px; }
  .bk-nav__li { flex: none; max-width: none; width: 100%; }
  .bk-nav__item { width: 100%; height: auto; min-height: 0; padding: 15px 22px; justify-content: flex-start; }
  .bk-nav__bg { display: none; }
  .bk-nav__label { position: static; padding: 0; font-size: 13px; letter-spacing: .1em; text-align: left; color: var(--bk-teal); }
  .bk-nav__li + .bk-nav__li { border-top: 1px solid var(--bk-border); }
  .bk-nav__item.is-active { background: var(--bk-panel); }
  .bk-nav__item.is-active .bk-nav__label::after,
  .bk-nav__item:hover .bk-nav__label::after { display: none; }
}

/* ---------- responsive: small phones ---------- */
@media (max-width: 767px) {
  .bk-header__logo img { height: 40px !important; max-height: 40px !important; }
  .bk-hero { padding: 48px 18px 56px; }
  .bk-hero h1 { font-size: 38px; }
  .bk-hero p { font-size: 15px; }
  .bk-hero__deco--1 { width: 90px; height: 60px; top: 24px; left: 2%; }
  .bk-hero__deco--2 { width: 110px; height: 74px; bottom: 20px; right: 2%; }
  .bk-hero__deco--3 { display: none; }

  .bk-section__title { font-size: 30px; }
  .bk-about h2 { font-size: 28px; }
  .bk-chips { gap: 8px; margin: 20px 0 30px; }
  .bk-chip { padding: 8px 14px; font-size: 11px; }

  .product-miniature .thumbnail-container { border-radius: 18px; }
  .bk-card__media { padding: 14px; }
  .bk-card__body { padding: 16px 16px 18px; }
  .bk-contact__grid { gap: 22px; }
}

@media (max-width: 380px) {
  .bk-hero h1 { font-size: 32px; }
}
