/* =========================
   RESET + BASE
========================= */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  background:#f7f8fb;
  color:#1a2233;
  -webkit-font-smoothing:antialiased;
}

img{
  max-width:100%;
  display:block;
}

.wrap{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.muted{
  color:#6b7688;
  font-size:13px;
  font-weight:500;
}

.h1{
  font-size:26px;
  font-weight:900;
  margin:0 0 10px;
  color:#0b1b3a;
}

.h2{
  font-size:20px;
  font-weight:900;
  margin:0 0 14px;
  color:#0b1b3a;
}

/* =========================
   BUTTONS
========================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px 18px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  border:none;
}

.btn--primary{
  background:#ff8a00;
  color:#fff;
}

.btn--primary:hover{
  background:#ff9b1f;
}

.btn--soft{
  background:#eef2f8;
  color:#0b1b3a;
}

.btn--sm{
  padding:8px 12px;
  font-size:13px;
}

/* =========================
   TOPBAR
========================= */
.topbar{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.05);
}

.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  gap:14px;
}

/* LOGO: większe i responsywne (desktop + mobile) */
.brand__logo{
  height:44px; /* baza */
  width:auto;
  object-fit:contain;
}

.topbar__contact,
.topbar__right{
  display:flex;
  gap:14px;
  align-items:center;
}

/* dla nowego header.php (phone + actions) */
.topbar__phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#f4f6fb;
  border:1px solid #e8edf4;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.topbar__phoneText{
  font-size:13px;
}

.topbar__actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.toplink{
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  color:#1a2233;
}

/* TOPBAR buttons like zpromo */
.topbar__right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.topbar__right .btn{
  border-radius:999px;
  padding:8px 12px;
  line-height:1;
  white-space:nowrap;
}

.topbar__right .muted{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ===== UPGRADE: ładniejsze przyciski po prawej (działa z Twoim header.php) ===== */
.topbarBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:12px;
  font-weight:600;
  transition:all .2s ease;
}

.topbarBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}

.topbarBtn__icon{ font-size:16px; }
.topbarBtn__text{ font-weight:900; }

.topbarBtn--cart{
  background:#eef6ff;
}

.topbarBtn--primary{
  background:#ff8a00;
  color:#fff;
}

.topbarBadge{
  margin-left:6px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  background:#111;
  color:#fff;
}
/* =========================
   MINI-KOSZYK (hover na koszyku w topbar)
========================= */
.topbarCartWrap{ position:relative; display:inline-flex; }

.miniCart{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:360px;
  max-width:calc(100vw - 24px);
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  padding:0;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:9999;
}

.topbarCartWrap:hover .miniCart,
.topbarCartWrap:focus-within .miniCart{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.miniCart__inner{ padding:14px; }

.miniCart__title{
  font-weight:950;
  font-size:13px;
  color:#0b1b3a;
}

.miniCart__items{ display:grid; gap:10px; margin-top:10px; }

.miniCart__item{
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:#0b1b3a;
  border:1px solid #e8edf4;
  border-radius:16px;
  padding:10px;
  background:#fff;
}

.miniCart__item:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-1px); }

.miniCart__thumb{ width:46px; height:46px; border-radius:14px; overflow:hidden; flex:0 0 46px; background:#f4f6fb; border:1px solid #eef2f8; }
.miniCart__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.miniCart__meta{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.miniCart__name{ font-weight:900; font-size:13px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.miniCart__sub{ font-size:12px; font-weight:800; }

.miniCart__sum{ margin-left:auto; font-weight:950; font-size:13px; white-space:nowrap; }

.miniCart__totals{ margin-top:12px; padding-top:12px; border-top:1px dashed #e8edf4; display:grid; gap:8px; }
.miniCart__row{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-weight:800; font-size:13px; }
.miniCart__row--big{ font-size:14px; }

.miniCart__actions{ display:flex; gap:10px; margin-top:12px; }
.miniCart__actions .btn{ flex:1; justify-content:center; }

.miniCart__empty{ display:flex; flex-direction:column; }

@media (max-width: 820px){
  /* na mobile nie pokazujemy hover dropdownu */
  .miniCart{ display:none !important; }
}
/* =========================
   MAIN NAV
========================= */
.mainnav{
  background:#122033;
}

.mainnav__inner{
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 0;
}

.navlink{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  opacity:.9;
}

.navlink:hover{
  opacity:1;
}

.navbtn{
  margin-left:auto;
  background:#ff8a00;
  color:#fff;
  padding:8px 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

/* =========================
   HERO
========================= */
.home{
  padding:20px 0 30px;
}

.hero{
  background:#fff;
  border-radius:18px;
  padding:24px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  align-items:center;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.hero__title{
  font-size:36px;
  font-weight:900;
  line-height:1.05;
  margin:0;
}

.blue{ color:#2b6cff; }
.orange{ color:#ff8a00; }

.hero__text{
  margin:12px 0 18px;
  font-size:15px;
  font-weight:600;
  color:#4e5a70;
}

.hero__img{
  border-radius:16px;
}

/* =========================
   BADGES
========================= */
.badges{
  margin:20px 0 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.badgecard{
  background:#fff;
  border-radius:16px;
  padding:16px;
  display:flex;
  gap:12px;
  align-items:center;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.badgecard__icon{
  width:40px;
  height:40px;
  border-radius:12px;
  background:#eef3ff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}

.badgecard__title{
  font-weight:900;
  font-size:14px;
}

.badgecard__text{
  font-size:12px;
  color:#6b7688;
}

/* =========================
   CARDS
========================= */
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.cardprod{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.cardprod__img{
  background:#f4f6fb;
  padding:20px;
}

.cardprod__body{
  padding:16px;
}

.cardprod__name{
  font-weight:900;
  font-size:14px;
  margin-bottom:8px;
}

.cardprod__price{
  font-weight:900;
  color:#ff8a00;
  margin-bottom:12px;
}

/* =========================
   PRODUCT PAGE
========================= */
.product{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  margin:30px 0;
  align-items:start;
}

/* Wrapper galerii (bezpiecznie, nawet jak nie masz klasy .gallery) */
.gallery{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* GŁÓWNE OKNO ZDJĘCIA (NAPRAWA) */
.gallery__main{
  position:relative;
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
  padding:0;            /* ważne: bez paddingu */
}

.gallery__main img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  background:#fff;
}

/* Strzałki (jeśli masz) */
.gallery__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid #e8edf4;
  background:rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:22px;
  font-weight:900;
  color:#0b1b3a;
}

.gallery__nav--prev{ left:12px; }
.gallery__nav--next{ right:12px; }

.gallery__nav:hover{
  background:#fff;
}

/* MINIATURY (NAPRAWA 1 OKIENKO + przewijanie) */
.gallery__thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px;
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:14px;
  -webkit-overflow-scrolling:touch;
}

.thumb{
  flex:0 0 auto;
  width:84px;           /* stały rozmiar miniatury */
  height:84px;
  border:1px solid #e8edf4;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  padding:0;
  opacity:.9;
}

.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.thumb.is-active{
  opacity:1;
  outline:2px solid #ff8a00;
  border-color:#ff8a00;
}

.product__right{
  background:#fff;
  padding:24px;
  border-radius:18px;
  border:1px solid #e8edf4;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}

/* standardowe qtycards (jeśli używasz) */
.qtycards{
  display:flex;
  gap:10px;
  margin:12px 0;
}

.qtycard{
  border-radius:12px;
  padding:10px 12px;
  background:#f4f6fb;
  border:1px solid #e8edf4;
  cursor:pointer;
  font-weight:700;
}

.qtycard.is-active{
  background:#ff8a00;
  color:#fff;
  border-color:#ff8a00;
}

.qtycard .small{
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:700;
  opacity:.9;
}

.qtycard .badge{
  margin-left:6px;
  background:#ff8a00;
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:2px 7px;
  border-radius:999px;
}

.priceblock{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:14px;
}

.price{
  font-size:22px;
  font-weight:900;
  color:#0b1b3a;
}

/* =========================
   BOTTOM BAR
========================= */
.bottombar{
  position:fixed;
  left:0;
  bottom:0;
  width:100%;
  background:#ffffff;
  border-top:1px solid #e8edf4;
  padding:12px 0;
  z-index:999;
}

.bottombar__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.bottombar__price{
  font-weight:900;
  font-size:18px;
}

/* =========================
   FOOTER
========================= */
.footer{
  background:#f6f7fb;
  margin-top:40px;
  border-top:1px solid #e8edf4;
}

.footer__inner{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:30px;
  padding:40px 0;
}

.footer__logo img{
  height:34px;
}

.footer__links a{
  display:block;
  margin:6px 0;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  color:#1a2233;
}

.footer__title{
  font-weight:900;
  margin-bottom:10px;
}

.footer__pay{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.footer__pay img{
  height:26px;
}

.footer__bottom{
  border-top:1px solid #e8edf4;
  padding:12px 0;
}

.footer__bottomInner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
}

/* =========================
   RESPONSIVE
========================= */
@media (min-width: 900px){
  .brand__logo{
    height:54px; /* większe na desktop */
  }
}

@media (max-width:1024px){
  .cards{
    grid-template-columns:repeat(2,1fr);
  }

  .product{
    grid-template-columns:1fr;
  }

  .hero{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .cards{
    grid-template-columns:1fr;
  }

  .badges{
    grid-template-columns:1fr;
  }

  /* logo większe na mobile */
  .brand__logo{
    height:56px;
  }

  .topbar__contact{
    flex-direction:column;
    align-items:flex-end;
  }

  .hero__title{
    font-size:28px;
  }

  .thumb{
    width:72px;
    height:72px;
  }
}

/* ===== PRODUCT LAYOUT like z-promo (Twoje kolory) ===== */
.product__right{ padding:20px; }

.productTitle{ font-size:28px; margin-bottom:6px; }

.ratingTop{ display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
.starsLine{ display:flex; align-items:center; gap:8px; }
.stars{ color:#ffb100; font-weight:900; letter-spacing:1px; }
.ratingNum{ font-weight:900; color:#0b1b3a; }

.bullets{ margin:10px 0 14px; padding-left:18px; color:#0b1b3a; font-weight:600; }
.bullets li{ margin:6px 0; }

.buyboxZ{
  border:1px solid #e8edf4;
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.buyboxZ__label{ font-weight:800; color:#0b1b3a; margin-bottom:10px; }

.qtygrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:12px;
}

.qtytile{
  position:relative;
  border:2px solid #eef2f8;
  border-radius:14px;
  background:#fff;
  padding:10px 10px 9px;
  cursor:pointer;
  text-align:center;
}

.qtytile.is-active{
  border-color:#ff8a00;
  box-shadow:0 10px 20px rgba(255,138,0,.15);
}

.qtytile__badge{
  position:absolute;
  right:8px;
  top:8px;
  background:#ff8a00;
  color:#fff;
  font-weight:900;
  font-size:12px;
  padding:4px 8px;
  border-radius:999px;
}

.qtytile__top{ font-weight:900; color:#0b1b3a; }
.qtytile__mid{ margin-top:6px; font-weight:800; color:#0b1b3a; font-size:13px; }
.qtytile__bot{ margin-top:6px; font-size:12px; }
.ok{ color:#1b8f3a; font-weight:800; }

.buyrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
}

.bigprice{
  font-size:34px;
  font-weight:1000;
  color:#e11b1b;
  letter-spacing:.2px;
}

.btnBuy{
  padding:14px 16px;
  border-radius:14px;
  font-size:14px;
  min-width:220px;
  background:#ff8a00;
  color:#fff;
  border:none;
  font-weight:900;
}

.btnBuy:hover{ background:#ff9b1f; }

.payblock{
  margin-top:12px;
  border-top:1px dashed #e8edf4;
  padding-top:12px;
}

.paylogos{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:10px;
}

.paylogos img{ height:22px; width:auto; }

.benefits{
  display:grid;
  gap:8px;
  color:#0b1b3a;
  font-weight:600;
  font-size:13px;
}

.benefit{ display:flex; align-items:center; gap:8px; }
.benefit.box{
  background:#fff8e9;
  border:1px solid #ffe2b3;
  padding:10px;
  border-radius:14px;
}

.dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.dot--green{ background:#20b15a; }
.flag{ font-size:16px; }
.logosMini{ margin-left:auto; display:flex; gap:8px; align-items:center; }
.logosMini img{ height:18px; width:auto; }

.googleRate{
  margin-top:6px;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  padding-top:10px;
}

.googleRate .g{ font-weight:900; color:#0b1b3a; }

/* Mobile: qty 1 kolumna, przycisk full width */
@media (max-width: 820px){
  .qtygrid{ grid-template-columns:1fr; }
  .buyrow{ flex-direction:column; align-items:stretch; }
  .btnBuy{ width:100%; min-width:unset; }
  .bigprice{ text-align:left; width:100%; }
}

/* ===== CHECKOUT / ORDER ===== */
.subbar{
  background:#fff;
  border-bottom:1px solid #e8edf4;
}
.subbar__inner{
  padding:10px 0;
}
.subbar__back{
  text-decoration:none;
  font-weight:800;
  color:#0b1b3a;
}

.ordergrid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  padding:18px 0 90px;
}
/* =========================
   KOSZYK – ładniejsze pozycje + stepper +/-
========================= */
.cartList{ display:grid; gap:12px; }

.cartItem{
  display:flex;
  gap:12px;
  align-items:center;
  border:1px solid #e8edf4;
  border-radius:18px;
  padding:12px;
  background:#fff;
}

.cartItem__thumb{
  width:74px;
  height:74px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #eef2f8;
  background:#f4f6fb;
  flex:0 0 74px;
}
.cartItem__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.cartItem__meta{ min-width:0; flex:1; }
.cartItem__name{ font-weight:950; font-size:14px; line-height:1.25; }
.cartItem__sub{ margin-top:6px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cartItem__sub .pill{ padding:6px 10px; border-radius:999px; background:#f4f6fb; border:1px solid #e8edf4; font-weight:900; font-size:12px; }

.cartItem__actions{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }

.qtyStepper{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e8edf4;
  border-radius:16px;
  background:#fff;
}

.qtyBtn{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid #e8edf4;
  background:#f4f6fb;
  font-weight:950;
  cursor:pointer;
}

.qtyBtn:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-1px); }

.qtyVal{ min-width:26px; text-align:center; font-weight:950; }

.cartItem__right{ text-align:right; min-width:160px; display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.cartItem__lineTotal{ font-weight:950; font-size:15px; }

@media (max-width: 820px){
  .cartItem{ flex-direction:column; align-items:stretch; }
  .cartItem__thumb{ width:100%; height:160px; flex:0 0 auto; }
  .cartItem__right{ align-items:flex-start; text-align:left; min-width:0; }
}
.card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.formrow{ margin-bottom:12px; }
.formrow label{
  display:block;
  font-weight:800;
  font-size:13px;
  margin-bottom:6px;
  color:#0b1b3a;
}

input, textarea{
  width:100%;
  border:1px solid #dfe6f2;
  border-radius:14px;
  padding:12px 12px;
  outline:none;
  font-size:14px;
  background:#fff;
}

input:focus, textarea:focus{
  border-color:#ff8a00;
  box-shadow:0 0 0 3px rgba(255,138,0,.18);
}

.cols2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.segmented{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  padding:10px;
  background:#f4f6fb;
  border-radius:14px;
  border:1px solid #e8edf4;
}

.segmented label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  font-weight:800;
  cursor:pointer;
}

.hidden{ display:none !important; }

.alert{
  background:#fff2f2;
  border:1px solid #ffd0d0;
  border-radius:14px;
  padding:12px;
  margin-bottom:12px;
  color:#8b1212;
  font-weight:700;
}

.sumrow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 0;
  font-size:14px;
}
.sumrow strong{ font-weight:900; color:#0b1b3a; }
.sumrow--big{
  font-size:16px;
  font-weight:900;
}
.sumrow--big strong{ color:#ff8a00; }

.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:9999;
}
.modal__inner{
  width:min(980px, 100%);
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #e8edf4;
}
.modal__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid #e8edf4;
}

/* Responsive checkout */
@media (max-width: 980px){
  .ordergrid{
    grid-template-columns:1fr;
    padding-bottom:110px;
  }
  .cols2{ grid-template-columns:1fr; }
}

/* ===== AUTH (login/register/reset) ===== */
.authwrap{ padding:22px 0 110px; }
.authcard{ max-width:720px; margin:0 auto; }
.authlinks{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.authlinks a{ font-weight:800; text-decoration:none; color:#0b1b3a; }
.hint{ font-size:12px; color:#6b7688; margin-top:6px; line-height:1.4; }

.pw-meter{ display:flex; gap:8px; align-items:center; margin-top:10px; }
.pw-bars{ display:flex; gap:6px; flex:1; }
.pw-bar{ height:8px; border-radius:999px; background:#e8edf4; flex:1; }
.pw-txt{ font-weight:900; font-size:12px; color:#0b1b3a; min-width:120px; text-align:right; }

.pw-bar.is-on{ background:#ff8a00; }

.kicker{
  background:#fff8e9;
  border:1px solid #ffe2b3;
  border-radius:14px;
  padding:12px;
  margin:12px 0;
  font-weight:700;
  color:#0b1b3a;
}

/* =========================
   MOBILE – topbar bez łamania
   - na małych ekranach chowamy tekst (zostają ikonki)
========================= */
@media (max-width: 680px){
  .topbar__inner{
    align-items:center;
  }

  /* logo nadal większe na mobile */
  .brand__logo{
    height:56px;
  }

  /* telefon zostaje, ale bez tekstu */
  .topbar__phoneText{
    display:none;
  }

  /* przyciski: tylko ikonki */
  .topbarBtn{
    padding:10px 12px;
  }
  .topbarBtn__text{
    display:none;
  }

  .topbar__right{
    gap:8px;
  }
}

@media (max-width: 420px){
  .topbar__user{
    display:none;
  }

  /* na bardzo małych ekranach ukryj telefon całkiem */
  .topbar__phone{
    display:none;
  }

  .topbar__right .btn{
    padding:8px 10px;
    font-size:12px;
  }
}

/* =========================
   ADMIN – dashboard / stats
========================= */
.adminWrap{ max-width:1400px; margin:0 auto; padding:0 16px; }
.adminTitle{ font-size:20px; font-weight:900; margin:18px 0 12px; color:#0b1b3a; }

.adminCard{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:18px;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.adminFilters{
  padding:12px;
  display:grid;
  grid-template-columns: 1.3fr 1.3fr 1fr 1fr auto;
  gap:10px;
  align-items:center;
}

.adminFilters .f{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.adminFilters label{
  font-size:12px;
  font-weight:800;
  color:#0b1b3a;
}

.adminFilters select,
.adminFilters input{
  width:100%;
  border:1px solid #dfe6f2;
  border-radius:14px;
  padding:10px 12px;
  outline:none;
  font-size:14px;
  background:#fff;
}

.adminFilters .btn{
  height:42px;
  border-radius:14px;
  padding:10px 14px;
}

.adminGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
}

.adminChart{
  padding:14px;
}

.adminChartHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.adminChartHead .muted{ font-size:12px; }

.adminKpis{
  display:grid;
  grid-template-columns: 1fr 1fr 1.3fr;
  gap:14px;
  margin-top:14px;
}

.kpi{
  padding:16px;
  display:flex;
  gap:12px;
  align-items:center;
}

.kpiIcon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef3ff;
  border:1px solid #e8edf4;
  font-size:18px;
}

.kpiVal{
  font-size:34px;
  font-weight:1000;
  line-height:1;
  color:#0b1b3a;
}

.kpiLbl{
  font-size:12px;
  font-weight:800;
  color:#6b7688;
  margin-top:4px;
}

.summary{
  padding:16px;
}

.summaryRow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #eef2f8;
  font-size:14px;
}

.summaryRow:last-child{ border-bottom:none; }
.summaryRow strong{ font-weight:900; color:#0b1b3a; }

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:2px 8px;
  font-size:12px;
  font-weight:900;
  background:#eef2f8;
  border:1px solid #e8edf4;
  white-space:nowrap;
}

.pill--green{ background:#ecfff2; border-color:#c7f2d4; color:#1b8f3a; }
.pill--orange{ background:#fff7ea; border-color:#ffe2b3; color:#ff8a00; }
.pill--gray{ background:#f4f6fb; border-color:#e8edf4; color:#6b7688; }

@media (max-width: 980px){
  .adminFilters{
    grid-template-columns: 1fr 1fr;
  }
  .adminGrid{
    grid-template-columns:1fr;
  }
  .adminKpis{
    grid-template-columns:1fr;
  }
}
/* ===== UI TWEAK: mniej bieli + mocniejsze buttony ===== */

body{
  background:#f3f5f9; /* lekko szare tło całej strony */
}

/* Topbar buttony bardziej premium */
.topbarBtn{
  padding:11px 16px;           /* ciut szersze */
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.topbarBtn__text{
  font-size:14px;
  letter-spacing:.2px;
}

/* ikonki svg */
.topbarIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}

.topbarIcon svg{
  display:block;
}

/* telefon też bardziej “buttonowy” */
.topbar__phone{
  padding:11px 14px;
  background:#f5f7fd;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.topbar__phoneText{
  font-size:14px;
  font-weight:900;
}

/* Koszyk delikatnie bardziej wyrazisty */
.topbarBtn--cart{
  background:#eaf3ff;
}

/* Rejestracja mocniejsza */
.topbarBtn--primary{
  box-shadow:0 10px 26px rgba(255,138,0,.22);
}

/* hover bardziej czytelny */
.topbarBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(0,0,0,.12);
}

/* Karty/sekcje zostają białe (kontrast na szarym tle) */
.card,
.hero,
.badgecard,
.cardprod,
.product__right,
.gallery__main,
.gallery__thumbs,
.footer{
  background:#fff;
}

/* Mobile: nadal kompaktowo */
@media (max-width: 600px){
  .topbarBtn{
    padding:11px 12px;
  }
  .topbar__phone{
    padding:11px 12px;
  }
}
/* =========================
   MAIN NAV – premium + responsive
   ========================= */

.mainnav{
  position:sticky;
  top:0;
  z-index:900;
  background:linear-gradient(180deg, #122033 0%, #0f1b2b 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.mainnav__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:10px 0;
  flex-wrap:wrap; /* mobile: zawijanie */
}

.navlink{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  letter-spacing:.2px;
  padding:9px 12px;
  border-radius:999px;
  transition:background .12s ease, color .12s ease, transform .12s ease;
}

.navlink:hover{
  background:rgba(255,255,255,.10);
  color:#fff;
  transform:translateY(-1px);
}

/* aktywny/kliknięty (opcjonalnie, jeśli kiedyś dodasz klasę is-active) */
.navlink.is-active{
  background:rgba(255,255,255,.14);
  color:#fff;
}

/* większa czytelność na desktop */
@media (min-width: 900px){
  .mainnav__inner{
    gap:18px;
    padding:12px 0;
  }
  .navlink{
    font-size:14px;
    padding:10px 14px;
  }
}

/* mobile: wygodniej klikać, nie za ciasno */
@media (max-width: 520px){
  .mainnav__inner{
    justify-content:flex-start; /* żeby było naturalnie przy lewej */
    gap:10px;
  }
  .navlink{
    padding:10px 12px;
    font-size:14px;
  }
}
/* =========================
   BADGES – READABLE PREMIUM
   ========================= */

.badges{
  margin:24px 0 36px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.badgecard{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  padding:22px 24px;     /* SZERSZE */
  display:flex;
  gap:18px;
  align-items:center;
  box-shadow:0 18px 50px rgba(0,0,0,.06);
  transition:all .16s ease;
}

.badgecard:hover{
  transform:translateY(-3px);
  box-shadow:0 28px 70px rgba(0,0,0,.10);
}

/* większa, czytelniejsza ikona */
.badgecard__icon{
  width:58px;
  height:58px;
  border-radius:16px;
  background:#f3f6fc;
  border:1px solid rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b1b3a;
  flex:0 0 auto;
}

/* TYPOGRAFIA – czytelniejsza */
.badgecard__title{
  font-weight:1000;
  font-size:16px;      /* większe */
  letter-spacing:.3px;
  color:#0b1b3a;
}

.badgecard__text{
  font-size:14px;      /* większe */
  font-weight:600;
  color:#556179;
  margin-top:6px;
}

/* RESPONSIVE */
@media (max-width: 860px){
  .badges{
    grid-template-columns:1fr;
  }

  .badgecard{
    padding:20px;
  }
}
/* =========================
   HERO – bigger CTA + better rhythm
   ========================= */

.hero{
  border:1px solid rgba(15, 30, 50, .08);
  box-shadow:0 18px 46px rgba(0,0,0,.06);
}

.hero__title{
  font-size:40px;
  letter-spacing:-.3px;
}

.hero__text{
  font-size:15.5px;
  line-height:1.6;
}

.hero__cta{
  padding:14px 22px !important;
  border-radius:16px !important;
  font-size:15px !important;
  font-weight:1000 !important;
  box-shadow:0 14px 30px rgba(255,138,0,.22);
}

.hero__cta:hover{
  transform:translateY(-1px);
  transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 20px 44px rgba(255,138,0,.28);
}

@media (max-width: 600px){
  .hero__title{ font-size:30px; }
  .hero__cta{ width:100%; justify-content:center; }
}
/* =========================
   TRUST BAR (under CTA)
   ========================= */

.trustbar{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.trustbar__left{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.trustpill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#f4f6fb;
  border:1px solid rgba(0,0,0,.06);
  color:#0b1b3a;
  font-weight:900;
  font-size:12.5px;
  line-height:1;
}

.trustbar__right{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  opacity:.95;
}

.trustbar__right img{
  height:20px;
  width:auto;
  display:block;
  filter:grayscale(10%);
}

@media (max-width: 600px){
  .trustbar{
    justify-content:flex-start;
  }
  .trustbar__right img{
    height:18px;
  }
}
/* =========================
   PRODUCT GRID – PREMIUM CARDS (HOME)
   ========================= */

.bests .cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:14px;
}

/* karta produktu */
.cardprod{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.06);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.cardprod:hover{
  transform:translateY(-3px);
  box-shadow:0 28px 70px rgba(0,0,0,.10);
  border-color:rgba(255,138,0,.30);
}

/* OKŁADKA (miniatura) */
.cardprod__img{
  position:relative;
  background:linear-gradient(180deg, #f4f6fb 0%, #ffffff 100%);
  border-bottom:1px solid rgba(0,0,0,.06);
  padding:0;
}

/* stałe proporcje okładki – wygląda jak produkt w sklepie */
.cardprod__img::before{
  content:"";
  display:block;
  padding-top:62%; /* proporcja miniatury */
}

.cardprod__img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;       /* jak okładka */
  object-position:center;
  display:block;
}

/* gdy brak zdjęcia (placeholder) też wygląda ok */
.cardprod__img img[src*="placeholder"],
.cardprod__img img[src*="product-placeholder"]{
  object-fit:contain;
  padding:18px;
}

/* dół karty */
.cardprod__body{
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* nazwa – 2 linie max, nie rozpycha kart */
.cardprod__name{
  font-weight:1000;
  font-size:14.5px;
  color:#0b1b3a;
  line-height:1.25;
  min-height:36px;              /* równe karty */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* cena mocniej, czytelniej */
.cardprod__price{
  font-weight:1000;
  color:#ff8a00;
  font-size:15px;
  letter-spacing:.2px;
}

/* CTA w karcie – pełna szerokość, premium */
.cardprod .btn{
  width:100%;
  justify-content:center;
  border-radius:14px;
  padding:12px 14px;
  font-weight:1000;
  box-shadow:0 14px 28px rgba(255,138,0,.18);
}

.cardprod .btn:hover{
  box-shadow:0 22px 46px rgba(255,138,0,.26);
}

/* RESPONSIVE */
@media (max-width: 1024px){
  .bests .cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .bests .cards{
    grid-template-columns:1fr;
    gap:14px;
  }
}
.hidden{display:none!important;}

/* Rejestracja/Logowanie – pełna szerokość w obrębie .wrap */
.page-auth .authgrid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:18px;
  align-items:start;
}

/* większe CTA */
.btn--lg{
  padding:14px 18px;
  font-weight:1000;
  letter-spacing:.4px;
}

/* Karty */
.page-auth .authcard{ padding:22px; }
.page-auth .authside{ padding:22px; }

/* segmented */
.segmented{
  display:flex;
  gap:10px;
  background:#f4f6fb;
  border:1px solid rgba(0,0,0,.07);
  border-radius:14px;
  padding:8px;
}
.segmented__item{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  user-select:none;
  font-weight:1000;
  color:#0b1b3a;
}
.segmented__item input{ accent-color:#ff8a00; }
.segmented__item:has(input:checked){
  background:#fff;
  border:1px solid rgba(255,138,0,.25);
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

/* Zgody – idealnie równo */
.consents{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.consent{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.07);
  background:#fff;
}
.consent input{
  margin-top:3px;
  width:18px;
  height:18px;
  accent-color:#ff8a00;
  flex:0 0 auto;
}
.consent span{
  font-weight:800;
  color:#0b1b3a;
  line-height:1.35;
}

/* Korzyści */
.benefitsList{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.benefitsList li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:900;
  color:#0b1b3a;
}
.benefitsList .check{
  display:inline-flex;
  width:26px;
  height:26px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(34,197,94,.12);
  color:#16a34a;
  font-weight:1200;
}

/* Responsywność */
@media (max-width: 980px){
  .page-auth .authgrid{
    grid-template-columns: 1fr;
  }
}
.topbarRoleBadge{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
  background:linear-gradient(135deg,#111,#333);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}
.topbarBtn--primary{
  background:linear-gradient(135deg,#111,#2b2b2b);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 16px rgba(0,0,0,.2);
}

.topbarBtn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
@media (max-width: 768px){

  .topbar__inner{
    flex-wrap:wrap;
    gap:12px;
  }

  .topbar__right{
    width:100%;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
  }

  .topbar__actions{
    flex-wrap:wrap;
    gap:8px;
  }

  .topbar__phoneText{
    display:none; /* na mobile tylko ikonka */
  }

}
/* =========================
   FASTY: mini-koszyk (remove + mobile click)
========================= */
.miniCart__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }

.miniCart__item{ position:relative; }
.miniCart__itemLink{ display:flex; gap:10px; align-items:center; text-decoration:none; color:#0b1b3a; flex:1; }

.miniCart__remove{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border-radius:10px;
  border:1px solid #e8edf4;
  background:#fff;
  font-weight:950;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.miniCart__remove:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-1px); }

.miniCartBackdrop{ display:none; }

/* domyślnie chowamy X (pokazujemy dopiero na mobile) */
.miniCart__close{ display:none; }

@media (max-width: 820px){
  .topbarCartWrap.is-open .miniCart{ display:block !important; }

  .miniCart{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:74px !important;
    width:auto !important;
    max-height:70vh;
    overflow:auto;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
    z-index:10000;
  }

  .miniCartBackdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:9999;
  }

  .topbarCartWrap.is-open .miniCartBackdrop{ display:block; }

  .miniCart__close{
    display:inline-flex !important;
    width:34px;
    height:34px;
    border-radius:12px;
    border:1px solid #e8edf4;
    background:#fff;
    font-weight:950;
    cursor:pointer;
    align-items:center;
    justify-content:center;
  }
}
/* =========================
   LIGHTBOX (galeria produktu)
========================= */
.noScroll{ overflow:hidden; }

.lightbox{
  position:fixed;
  inset:0;
  z-index:20000;
  display:none;
}
.lightbox.is-open{ display:block; }

.lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}

.lightbox__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(980px, calc(100vw - 24px));
  height:min(78vh, 720px);
  background:rgba(255,255,255,.98);
  border-radius:20px;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.lightbox__img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

.lightbox__close{
  position:absolute;
  top:10px;
  right:10px;
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:950;
  cursor:pointer;
}

.lightbox__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:950;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  user-select:none;
}
.lightbox__nav--prev{ left:10px; }
.lightbox__nav--next{ right:10px; }

.lightbox__nav:hover,
.lightbox__close:hover{
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  transform:translateY(-50%) translateY(-1px);
}
.lightbox__close:hover{ transform:translateY(-1px); }
/* =========================
   PREMIUM REVIEWS (FASTY)
========================= */
.reviewgrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-top:14px;
}
@media (max-width: 920px){
  .reviewgrid{ grid-template-columns:1fr; }
}

.reviewCard{
  border:1px solid #e8edf4;
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:0 14px 38px rgba(0,0,0,.08);
  transition:transform .14s ease, box-shadow .14s ease;
}
.reviewCard:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 55px rgba(0,0,0,.12);
}

.reviewCard__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.reviewBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #bfe8cb;
  background:#eaf8ef;
  color:#0f5132;
  font-weight:950;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.reviewBadge__icon{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#16a34a;
  color:#fff;
  font-size:12px;
  font-weight:950;
}

.reviewName{
  margin-top:8px;
  font-weight:950;
  font-size:15px;
  color:#0b1b3a;
}
.reviewDate{
  margin-top:4px;
  font-weight:800;
  font-size:12px;
  color:#6b7280;
}

.ratingPill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #e8edf4;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  white-space:nowrap;
}
.ratingPill__val{
  font-weight:950;
  font-size:13px;
  color:#0b1b3a;
}

/* mniejsze, premium gwiazdki */
.starsWrap.starsWrap--sm{
  font-size:14px;
  letter-spacing:1.2px;
}

/* treść */
.reviewText{
  margin-top:12px;
  font-weight:800;
  font-size:13px;
  line-height:1.55;
  color:#0b1b3a;
  white-space:pre-wrap;
}

/* zdjęcie w opinii */
.reviewPhoto{
  margin-top:12px;
  width:100%;
  border-radius:16px;
  border:1px solid #eef2f8;
  background:#f4f6fb;
  display:block;
  object-fit:cover;
  max-height:360px;
}
/* Łamanie długich ciągów w opisie */
.info .card, .reviewText, .review__text {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* ===== MINI-KOSZYK PORTAL (ZAWSZE NAD WSZYSTKIM) ===== */
#miniCartPortal{
  position: fixed;
  inset: 0;
  z-index: 999998;
  pointer-events: none; /* nie blokuje strony */
}

#miniCartDrop{
  display:none;
  pointer-events: auto;
  position: fixed;
  z-index: 999999;
  width: min(420px, calc(100vw - 24px));
}

/* gdy otwarty */
#miniCartDrop.is-open{ display:block; }
/* ===== FOOTER: KOMPAKT + PREMIUM ===== */
.footer{ padding-top: 22px; margin-top: 26px; }
.footer__inner--grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 26px;
  align-items:start;
}

.footer__logo img{ width: 116px; height:auto; display:block; }
.footer__desc{ margin-top:10px; line-height:1.55; font-size:13px; }
.footer__contact{ margin-top:12px; line-height:1.55; font-size:13px; }

.footer__title{ font-weight:950; font-size:14px; margin-bottom:10px; letter-spacing:.2px; }
.footer__links a{ display:block; padding:3px 0; line-height:1.4; }

.footerPay{
  margin-top: 18px;
  padding: 16px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}
.footerPay__wrap{ text-align:center; }
.footerPay__title{ font-weight:950; font-size:16px; }
.footerPay__note{ margin-top:10px; font-size:13px; }

.footerPay__grid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items:center;
  justify-items:center;
}

.footerPay__grid img{
  max-height: 32px;      /* skala bez utraty jakości */
  width: auto;
  height: auto;
  max-width: 180px;
  object-fit: contain;
}

/* Responsywność */
@media (max-width: 980px){
  .footer__inner--grid{ grid-template-columns: 1fr 1fr; }
  .footerPay__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .footer__inner--grid{ grid-template-columns: 1fr; }
  .footerPay__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}