:root{
  --c-cream:#FBF9F3;
  --c-mint:#9EC2A6;
  --c-green:#004731;
  --c-oak:#503120;
  --c-text:#121413;
  --c-muted:rgba(18,20,19,.70);
  --c-stroke:rgba(0,0,0,.10);

  --r-16:16px;
  --r-22:22px;
  --shadow-soft:0 12px 40px rgba(0,0,0,.10);
  --shadow-strong:0 24px 80px rgba(0,0,0,.20);
  --ease:cubic-bezier(.2,.9,.2,1);
}

.offer-lx, .offer-lx *{
  font-family:"Brandon Grotesque","Rubik",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

.offer-lx{
  background: var(--c-cream);
  color:#004731;
}

/* Top progress line */
.offer-lx__progress{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 9999;
  background: transparent;
}
.offer-lx__progress span{
  display:block;
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--c-mint), var(--c-green));
  transition: width .12s linear;
}

/* Hero */
.offer-lx-hero{
  position: relative;
  padding: clamp(3.2rem, 5vw, 5rem) 0 2.8rem;
  border-bottom: 1px solid rgba(0,0,0,.05);
  overflow: hidden;
}
.offer-lx-hero__bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(800px 500px at 10% 20%, rgba(158,194,166,.30), transparent 60%),
    radial-gradient(800px 500px at 90% 15%, rgba(80,49,32,.15), transparent 60%),
    radial-gradient(600px 400px at 70% 90%, rgba(0,71,49,.18), transparent 55%);
}
.offer-lx-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.4rem;
  align-items: start;
}
.offer-lx-kicker{
  margin:0 0 .7rem;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.76rem;
  color: rgba(80,49,32,.78);
}
.offer-lx-hero h1{
  margin:0 0 .9rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  line-height:1.02;
  font-size: clamp(2.3rem, 3.4vw, 3.5rem);
}
.offer-lx-lead{
  margin:0 0 1.4rem;
  max-width: 54ch;
  line-height:1.8;
  color:#004731;
  font-size: 1.04rem;
}
.offer-lx-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-bottom: 1rem;
}
.offer-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:800;
  padding:.9rem 1.2rem;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.offer-btn--primary{
  color:#fff;
  background: var(--c-green);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 14px 34px rgba(0,71,49,.28);
}
.offer-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow:0 22px 52px rgba(0,71,49,.34);
}
.offer-btn--ghost{
  color:var(--c-green);
  background:rgba(255,255,255,.56);
  border:1px solid rgba(0,71,49,.22);
}
.offer-btn--ghost:hover{
  transform: translateY(-2px);
  background: rgba(0,71,49,.06);
}
.offer-lx-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  list-style:none;
  margin:0;
  padding:0;
}
.offer-lx-badges li{
  border:1px solid var(--c-stroke);
  background:rgba(255,255,255,.64);
  border-radius:999px;
  padding:.5rem .75rem;
  font-size:.85rem;
  color: rgba(18,20,19,.80);
}

/* Quick nav card */
.offer-lx-quick{
  background: rgba(255,255,255,.62);
  border:1px solid var(--c-stroke);
  border-radius: var(--r-22);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow-soft);
  overflow:hidden;
}
.offer-lx-quick__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1rem 1rem;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.offer-lx-quick__head span{
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.75rem;
  font-weight:900;
  color: var(--c-green);
}
.offer-lx-quick__head small{
  color: rgba(18,20,19,.62);
}
.offer-lx-quick__list{
  display:flex;
  flex-direction:column;
}
.offer-lx-quick__list a{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:.5rem;
  text-decoration:none;
  color:inherit;
  padding:.85rem 1rem;
  border-bottom:1px solid rgba(0,0,0,.06);
  transition: background .2s var(--ease);
}
.offer-lx-quick__list a:hover,
.offer-lx-quick__list a.is-active{
  background: rgba(0,71,49,.07);
}
.offer-lx-quick__list strong{
  color: rgba(80,49,32,.72);
  letter-spacing:.08em;
}
.offer-lx-quick__list span{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.86rem;
  font-weight:800;
}

/* Intro */
.offer-lx-intro{
  padding: 1.1rem 0 .4rem;
}
.offer-lx-intro p{
  margin:0;
  color: var(--c-muted);
  line-height:1.8;
  max-width: 70ch;
}

/* Categories */
.offer-lx-cats{
  padding: 1.2rem 0 2.2rem;
}
.offer-lx-cats__grid{
  display:grid;
  grid-template-columns:1fr;
  gap: .95rem;
}
.offer-card{
  border-radius: var(--r-22);
  overflow:hidden;
  min-height: 220px;
  border:1px solid rgba(0,0,0,.12);
  box-shadow: var(--shadow-soft);
  background: #000;
}
.offer-card__link{
  display:block;
  position:relative;
  min-height: inherit;
  text-decoration:none;
  color:#fff;
}
.offer-card__media{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  transform: scale(1.03);
  transition: transform .8s var(--ease), filter .8s var(--ease);
}
.offer-card__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0.06)) !important;
    radial-gradient(700px 260px at 20% 0%, rgba(0,71,49,.34), transparent 60%);
}
.offer-card__content{
  position:relative;
  padding: 1.2rem 1.2rem 1.1rem;
  max-width: 760px;
}
.offer-card__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.9rem;
}
.offer-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(6px);
  padding:.35rem .6rem;
  font-size:.71rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
}
.offer-arrow{
  width:40px;
  height:40px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  font-weight:900;
  transition: transform .25s var(--ease);
}
.offer-card h2{
  margin:0 0 .55rem;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.offer-card p{
  margin:0 0 .95rem;
  color: rgba(255,255,255,.90);
  line-height:1.75;
}
.offer-card__cta{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.76rem;
  color: var(--c-mint);
  font-weight:900;
}
.offer-card__cta::after{
  content:" →";
}

.offer-card:hover .offer-card__media{
  transform: scale(1.08);
  filter: saturate(1.08) contrast(1.06);
}
.offer-card:hover .offer-arrow{
  transform: translateY(-2px) rotate(6deg);
}

/* Card images — strona oferta-ogrzewanie ustawia tła inline w PHP */
.offer-lx--ogrzewanie .offer-card__media{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.02);
  transition: transform .55s var(--ease), filter .55s var(--ease);
}

.offer-lx--ogrzewanie .offer-card:hover .offer-card__media{
  transform: scale(1.1);
  filter: saturate(1.06) contrast(1.04);
}

/* CTA */
.offer-lx-cta{
  padding: .2rem 0 2.4rem;
}
.offer-lx-cta__box{
  border:1px solid rgba(0,71,49,.18);
  border-radius: var(--r-22);
  background:
    radial-gradient(600px 220px at 15% 0%, rgba(158,194,166,.25), transparent 60%),
    linear-gradient(180deg, rgba(0,71,49,.08), rgba(0,71,49,.05));
  box-shadow: 0 20px 70px rgba(0,71,49,.14);
  padding:1.15rem 1.15rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}
.offer-lx-cta__text h3{
  margin:0 0 .35rem;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:1rem;
}
.offer-lx-cta__text p{
  margin:0;
  color: var(--c-muted);
  line-height:1.7;
}

/* Editor content at bottom */
.offer-lx-editor{
  padding: 0 0 2.2rem;
}
.offer-lx-editor p{
  color: var(--c-muted);
  line-height: 1.9;
}

/* Reveal animations */
[data-reveal]{
  opacity:0;
  transform: translateY(14px);
  filter: blur(2px);
  transition: opacity .72s var(--ease), transform .72s var(--ease), filter .72s var(--ease);
}
[data-reveal].is-in{
  opacity:1;
  transform: translateY(0);
  filter: blur(0);
}

/* Accessibility */
.offer-btn:focus-visible,
.offer-card__link:focus-visible,
.offer-lx-quick__list a:focus-visible{
  outline:3px solid rgba(158,194,166,.55);
  outline-offset:3px;
}

/* Responsive */
@media (max-width: 1024px){
  .offer-lx-hero__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 680px){
  .offer-card{
    min-height: 250px;
  }
  .offer-card__content{
    padding: 1.05rem 1rem .95rem;
  }
  .offer-card p{
    font-size:.95rem;
    line-height:1.65;
  }
}
@media (prefers-reduced-motion: reduce){
  *{
    scroll-behavior: auto !important;
  }
  [data-reveal]{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
  .offer-card__media,
  .offer-arrow,
  .offer-btn{
    transition:none !important;
  }
}

/* ===== HOTFIX WIDOCZNOŚCI KATEGORII ===== */

#offer-kategorie {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.offer-lx-cats {
  padding-top: 2rem !important;
}



.offer-card {
  display: block !important;
  min-height: 240px !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #1f1f1f !important; /* fallback */
}

.offer-card__link {
  display: block !important;
  min-height: 240px !important;
}

.offer-card__media {
  background-color: #503120 !important; /* fallback gdy brak zdjęcia */
  background-image: none; /* usuń tę linię, jeśli masz już działające URL obrazów */
}

.offer-card__overlay {
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.17)) !important
}

.offer-card__content {
  position: relative !important;
  z-index: 2 !important;
}

.offer-card h2,
.offer-card p,
.offer-card__cta,
.offer-chip,
.offer-arrow {
  color: #fff !important;
}

/* jeśli reveal coś ukrył */
[data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.offer-card {
  min-height: 360px !important; /* desktop */
}
.offer-card__link {
  min-height: 360px !important;
}
@media (max-width: 768px){
  .offer-card,
  .offer-card__link{
    min-height: 280px !important;
  }
}
/* ===== UX BOOST KART OFERTY ===== */

/* 1) Lepsza czytelność tekstu na zdjęciu */
.offer-card__overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.78) 100%) !important;
}

/* 2) Stała kompozycja treści */
.offer-card__content{
  min-height: 100%;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: .55rem;
}

/* 3) Opis krótszy wizualnie = szybsze skanowanie */
.offer-card p{
  margin: 0 0 .6rem !important;
  max-width: 62ch;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* desktop: 2 linie */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 4) CTA zawsze na dole */
.offer-card__cta{
  margin-top: auto !important;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 900;
}

/* 5) Mocniejszy sygnał interakcji */
.offer-card{
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.offer-card:hover{
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.22) !important;
  border-color: rgba(158,194,166,.55) !important;
}

.offer-card:hover .offer-arrow{
  transform: translateY(-2px) scale(1.05) !important;
}

/* 6) Focus dla klawiatury = premium + dostępność */
.offer-card__link:focus-visible{
  outline: 3px solid rgba(158,194,166,.75);
  outline-offset: 3px;
  border-radius: 20px;
}

/* 7) Mobile: jeszcze krótszy opis */
@media (max-width: 768px){
  .offer-card p{
    -webkit-line-clamp: 3; /* na mobile zwykle potrzeba 3 */
  }
}
/* ===== UX PRO ===== */

/* Quick nav: aktywny stan bardziej premium */
.offer-lx-quick__list a{
  position: relative;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.offer-lx-quick__list a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 3px;
  border-radius: 999px;
  background: transparent;
  transition: background .2s ease;
}

.offer-lx-quick__list a.is-active{
  background: rgba(0,71,49,.10) !important;
  transform: translateX(2px);
}

.offer-lx-quick__list a.is-active::before{
  background: #9EC2A6;
}

/* Kotwice / scroll do sekcji — z marginesem pod fixed header */
.offer-card{
  scroll-margin-top: calc(var(--mobile-header-height, 60px) + 16px);
}

/* Czytelność copy na kartach */
.offer-card h2{
  text-wrap: balance;
}

.offer-card p{
  max-width: 58ch;
}

/* CTA na kartach bardziej “kliknij mnie” */
.offer-card__cta{
  position: relative;
}
.offer-card__cta::after{
  content: " →";
  transition: transform .2s ease;
}
.offer-card:hover .offer-card__cta::after{
  transform: translateX(2px);
}

/* Progress bar ma być zawsze nad wszystkim */
.offer-lx__progress{
  pointer-events: none;
}
.offer-lx__progress span{
  box-shadow: 0 0 16px rgba(158,194,166,.65);
}

/* Mobile: quick nav jako sticky pod hero */
@media (max-width: 1024px){
  .offer-lx-quick{
    position: sticky;
    top: 10px;
    z-index: 6;
  }
}
/* ===== Typografia + rozmieszczenie copy (premium editorial) ===== */

.offer-lx-intro{
  padding: 2.2rem 0 1rem !important;
}

.offer-lx-intro .container{
  max-width: 980px;
}

.offer-lx-intro__eyebrow{
  margin: 0 0 .55rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .74rem;
  color: rgba(80,49,32,.72);
}

.offer-lx-intro__title{
  margin: 0 0 .55rem;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #004731;
  line-height: 1.2;
}

.offer-lx-intro__lead{
  margin: 0;
  max-width: 62ch;
  color: rgba(18,20,19,.72);
  line-height: 1.85;
  font-size: 1rem;
}

/* Lepszy odstęp między intro a kartami */
.offer-lx-cats{
  padding-top: 1.2rem !important;
}


/* Karty: nagłówki i opisy bardziej poukładane */
.offer-card__content{
  gap: .45rem !important;
}

.offer-card h2{
  margin-bottom: .35rem !important;
  line-height: 1.25;
}

.offer-card p{
  margin-bottom: .75rem !important;
  line-height: 1.68 !important;
}

/* mobile */
@media (max-width: 768px){
  .offer-lx-intro{
    padding: 1.7rem 0 .8rem !important;
  }

  .offer-lx-intro__title{
    letter-spacing: .06em;
  }
}
.offer-lx-intro,
.offer-lx-cats,
.offer-lx-cta{
  position: relative;
}

.offer-lx-intro::after,
.offer-lx-cats::after{
  content:"";
  display:block;
  width: min(240px, 35vw);
  height: 1px;
  margin: 1.6rem auto 0;
  background: linear-gradient(90deg, transparent, rgba(0,71,49,.35), transparent);
}
/* Typografia premium */
.offer-lx-hero h1,
.offer-lx-intro__title,
.offer-card h2{
  text-wrap: balance;
}

.offer-lx-lead,
.offer-lx-intro__lead,
.offer-card p{
  text-wrap: pretty;
}

/* Oddech bloków */
.offer-lx-hero__copy > * + *{
  margin-top: .55rem;
}
.offer-lx-cta__text h3{
  line-height: 1.3;
}
.offer-lx-cta__text p{
  max-width: 62ch;
}

/* Kontrast na zdjęciach jeszcze pewniejszy */
.offer-card__overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.78) 100%) !important;
}


}
.offer-card{
  transform-origin: center center;
}
.offer-card:active{
  transform: scale(.995);
}

/* ===== Premium background system ===== */

/* Globalne tło strony */
.offer-lx{
  background:
    radial-gradient(1200px 600px at 8% 6%, rgba(158,194,166,.16), transparent 62%),
    radial-gradient(900px 500px at 92% 14%, rgba(80,49,32,.10), transparent 62%),
    radial-gradient(900px 600px at 70% 90%, rgba(0,71,49,.08), transparent 62%),
    #FBF9F3;
}

/* HERO: delikatny spotlight */
.offer-lx-hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
    transparent;
}

/* Intro: “papier premium” — nie na kompaktowym hero */
.offer-lx-intro:not(.offer-lx-intro--hero) .container{
  background: rgba(255,255,255,.46);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  padding: 1.1rem 1.1rem;
  backdrop-filter: blur(6px);
}

/* Sekcja kategorii: bardzo subtelny odcień */
.offer-lx-cats{
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.24) 36%, rgba(255,255,255,0));
}

/* Karty: spójny luksusowy cień */
.offer-card{
  box-shadow:
    0 10px 28px rgba(0,0,0,.09),
    0 24px 80px rgba(0,0,0,.14) !important;
}

/* Overlay na zdjęciach - bardziej premium, mniej “agro ciemno” */
.offer-card__overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.72) 100%) !important,
    radial-gradient(500px 240px at 20% 0%, rgba(0,71,49,.28), transparent 62%) !important;
}

/* CTA sekcja jako mocny kontrast */
.offer-lx-cta__box{
  background:
    radial-gradient(700px 280px at 12% 8%, rgba(158,194,166,.22), transparent 60%),
    linear-gradient(135deg, #003826 0%, #004731 55%, #0a5c41 100%) !important;
  border: 1px solid rgba(158,194,166,.35) !important;
  box-shadow: 0 22px 70px rgba(0,71,49,.34) !important;
}

.offer-lx-cta__text h3,
.offer-lx-cta__text p{
  color: #ffffff !important;
}

.offer-lx-cta .offer-btn--primary{
  background: #FBF9F3 !important;
  color: #004731 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.22) !important;
}
.offer-lx-cta .offer-btn--primary:hover{
  background: #ffffff !important;
}

/* Drobne separatory premium */
.offer-lx-intro::after,
.offer-lx-cats::after{
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,71,49,.30), transparent) !important;
}



/* ===== Szybki wybór (chips) ===== */

.offer-filter{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin: 0 0 1rem;
}

.offer-filter__chip{
  border:1px solid rgba(0,71,49,.20);
  background: rgba(255,255,255,.78);
  color:#004731;
  border-radius:999px;
  padding:.58rem .9rem;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:800;
  cursor:pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.offer-filter__chip:hover{
  transform: translateY(-1px);
  background: rgba(0,71,49,.08);
  border-color: rgba(0,71,49,.34);
}

.offer-filter__chip.is-active{
  background:#004731;
  color:#fff;
  border-color:#004731;
  box-shadow: 0 10px 26px rgba(0,71,49,.28);
}

.offer-filter__chip:focus-visible{
  outline:3px solid rgba(158,194,166,.65);
  outline-offset:2px;
}
/* ===== Szybki wybór - Premium Pills ===== */

.offer-filter{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin: 0 0 1.25rem;
  padding: .2rem;
}

.offer-filter__chip{
  position: relative;
  border: 1px solid rgba(0,71,49,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.64));
  color:#0f2a20;
  border-radius: 999px;
  padding: .62rem .98rem;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
  cursor: pointer;
  backdrop-filter: blur(8px);
  box-shadow:
    0 6px 20px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.55);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    color .22s ease,
    background .22s ease;
}

/* subtelny “shine” */
.offer-filter__chip::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%);
  transform: translateX(-120%);
  opacity:0;
  transition: transform .45s ease, opacity .2s ease;
  pointer-events:none;
}

.offer-filter__chip:hover{
  transform: translateY(-2px);
  border-color: rgba(0,71,49,.34);
  box-shadow:
    0 10px 28px rgba(0,0,0,.14),
    0 10px 28px rgba(0,71,49,.14);
}

.offer-filter__chip:hover::after{
  transform: translateX(120%);
  opacity:.85;
}

.offer-filter__chip.is-active{
  background:
    linear-gradient(135deg, #003d2a 0%, #004731 58%, #0a5c41 100%);
  color:#fff;
  border-color:#004731;
  box-shadow:
    0 12px 32px rgba(0,71,49,.34),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.offer-filter__chip:focus-visible{
  outline: 3px solid rgba(158,194,166,.75);
  outline-offset: 2px;
}

/* mobile: bardziej czytelnie */
@media (max-width: 768px){
  .offer-filter{
    gap: .5rem;
    margin-bottom: 1rem;
  }
  .offer-filter__chip{
    font-size: .68rem;
    letter-spacing: .12em;
    padding: .58rem .86rem;
  }
}
/* ===== Trust bar (premium confidence strip) ===== */
.offer-trustbar{
  margin-top: .95rem;
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:.6rem;
}

.offer-trustbar__item{
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(8px);
  border-radius: 14px;
  padding:.62rem .72rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.offer-trustbar__label{
  display:block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .64rem;
  color: rgba(80,49,32,.72);
  margin-bottom:.2rem;
}

.offer-trustbar__item strong{
  color:#004731;
  font-size:.88rem;
  letter-spacing:.06em;
}

@media (max-width: 900px){
  .offer-trustbar{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 520px){
  .offer-trustbar{
    grid-template-columns: 1fr;
  }
}
/* ===== Nagłówek sekcji kategorii (UX + premium) ===== */
.offer-cats-head{
  text-align:center;
  max-width: 860px;
  margin: 0 auto 1.15rem;
}

.offer-cats-head__eyebrow{
  margin:0 0 .45rem;
  text-transform: uppercase;
  letter-spacing:.20em;
  font-size:.72rem;
  color: rgba(80,49,32,.72);
}

.offer-cats-head__title{
  margin:0 0 .45rem;
  text-transform: uppercase;
  letter-spacing:.10em;
  font-weight:900;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  line-height:1.2;
  color:#004731;
  text-wrap: balance;
}

.offer-cats-head__lead{
  margin:0 auto;
  max-width: 60ch;
  color:#004731;
  line-height:1.8;
  text-wrap: pretty;
}

/* ===== CTA LUX UPGRADE ===== */
.offer-lx-cta__box--lux{
  position: relative;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: 1.2fr .8fr;
  gap: 1.2rem;
  align-items: center;
  padding: 1.35rem 1.35rem !important;
  border-radius: 22px;
  border: 1px solid rgba(158,194,166,.35) !important;
  background:
    linear-gradient(135deg, #003826 0%, #004731 52%, #0a5c41 100%) !important;
  box-shadow: 0 24px 80px rgba(0,71,49,.35) !important;
  isolation: isolate;
}

.offer-lx-cta__texture{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      125deg,
      rgba(255,255,255,.04) 0px,
      rgba(255,255,255,.04) 1px,
      transparent 1px,
      transparent 12px
    );
  opacity:.35;
  z-index:0;
  pointer-events:none;
}

.offer-lx-cta__glow{
  position:absolute;
  width:420px;
  height:420px;
  right:-120px;
  top:-180px;
  background: radial-gradient(circle, rgba(158,194,166,.35) 0%, transparent 62%);
  filter: blur(6px);
  z-index:0;
  pointer-events:none;
}

.offer-lx-cta__text,
.offer-lx-cta__actions{
  position: relative;
  z-index: 1;
}

.offer-lx-cta__eyebrow{
  margin:0 0 .5rem;
  color: rgba(255,255,255,.85);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .72rem;
  display:flex;
  align-items:center;
  gap:.45rem;
}

.offer-lx-cta__eyebrow .dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#9EC2A6;
  box-shadow:0 0 0 4px rgba(158,194,166,.24);
}

.offer-lx-cta__text h3{
  margin:0 0 .55rem;
  color:#fff !important;
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  line-height:1.25;
  letter-spacing:.04em;
  max-width: 34ch;
  text-wrap: balance;
}

.offer-lx-cta__lead{
  margin:0 0 .7rem;
  color: rgba(255,255,255,.9);
  line-height:1.75;
  max-width: 58ch;
}

.offer-lx-cta__list{
  margin:0;
  padding-left:1.1rem;
  color: rgba(255,255,255,.92);
  line-height:1.7;
}

.offer-lx-cta__list strong{
  color:#fff;
}

.offer-lx-cta__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.6rem;
}

.offer-lx-cta__badge{
  border:1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.10);
  border-radius:999px;
  padding:.38rem .65rem;
  color:#fff;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform: uppercase;
  font-weight: 800;
}

.offer-btn--light{
  background:#FBF9F3 !important;
  color:#004731 !important;
  border:1px solid rgba(255,255,255,.45) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.25) !important;
}
.offer-btn--light:hover{
  background:#fff !important;
}

.offer-lx-cta__meta{
  display:flex;
  flex-direction:column;
  gap:.22rem;
  color: rgba(255,255,255,.8);
  font-size:.84rem;
}

@media (max-width: 920px){
  .offer-lx-cta__box--lux{
    grid-template-columns: 1fr;
    gap: .95rem;
  }
}
/* ===== MOBILE UX FINAL PATCH ===== */
@media (max-width: 768px){

  /* Layout */
  .offer-lx-hero{
    padding: 2.2rem 0 1.4rem;
  }

  .offer-lx-hero__grid{
    grid-template-columns: 1fr !important;
    gap: .8rem;
  }

  .offer-lx-quick{
    position: static !important; /* sticky na mobile często przeszkadza */
    border-radius: 14px;
  }

  .offer-lx-quick__head{
    padding: .75rem .8rem;
  }

  /* Buttons full width = łatwiejszy tap */
  .offer-lx-hero__actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .offer-btn{
    width: 100%;
    min-height: 48px;
    font-size: .72rem;
    letter-spacing: .10em;
  }

  /* Chips: poziomy scroll, bez łamania */
  .offer-filter{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: .45rem;
    padding: .15rem .1rem .45rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .offer-filter__chip{
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
    font-size: .66rem;
    letter-spacing: .08em;
    padding: .55rem .75rem;
  }

  /* Karty: większa wysokość + lepsza czytelność */
  .offer-card,
  .offer-card__link{
    min-height: 320px !important;
  }

  .offer-card__content{
    padding: .95rem .9rem .9rem;
  }

  .offer-card h2{
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.25;
    margin: 0 0 .35rem;
  }

  .offer-card p{
    font-size: .9rem;
    line-height: 1.55;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 .55rem;
  }

  .offer-chip{
    font-size: .62rem;
    padding: .28rem .5rem;
    letter-spacing: .10em;
  }

  .offer-arrow{
    width: 34px;
    height: 34px;
    font-size: .9rem;
  }

  .offer-card__cta{
    font-size: .68rem;
    letter-spacing: .12em;
  }

  /* Overlay mocniejszy na mobile (czytelność) */
  .offer-card__overlay{
    background:
      linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.38) 48%, rgba(0,0,0,.82) 100%) !important;
  }

  /* Intro i nagłówki */
  .offer-lx-intro{
    padding: 1.2rem 0 .5rem !important;
    text-align: center;
  }

  .offer-lx-intro__title{
    font-size: 1.2rem;
    letter-spacing: .05em;
  }

  .offer-lx-intro__lead{
    font-size: .94rem;
    line-height: 1.65;
    max-width: 34ch;
    margin: 0 auto;
  }

  /* CTA luxury na mobile */
  .offer-lx-cta__box--lux{
    grid-template-columns: 1fr !important;
    gap: .8rem;
    padding: .95rem .9rem !important;
    border-radius: 16px;
  }

  .offer-lx-cta__text h3{
    font-size: 1.05rem;
    line-height: 1.3;
    max-width: none;
  }

  .offer-lx-cta__lead{
    font-size: .92rem;
    line-height: 1.6;
  }

  .offer-lx-cta__list{
    font-size: .9rem;
    line-height: 1.6;
  }

  .offer-lx-cta__actions{
    width: 100%;
  }

  .offer-lx-cta__actions .offer-btn{
    width: 100%;
  }

  /* Trustbar */
  .offer-trustbar{
    grid-template-columns: 1fr 1fr;
    gap: .45rem;
  }

  .offer-trustbar__item{
    padding: .55rem .6rem;
  }

  .offer-trustbar__label{
    font-size: .58rem;
  }

  .offer-trustbar__item strong{
    font-size: .8rem;
  }
}

/* bardzo małe ekrany */
@media (max-width: 420px){
  .offer-card,
  .offer-card__link{
    min-height: 300px !important;
  }

  .offer-trustbar{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  .offer-card__content{
    padding: .92rem .92rem .85rem !important;
    gap: .36rem !important;
  }

  .offer-card h2{
    font-size: 1rem !important;
    line-height: 1.24 !important;
    letter-spacing: .05em !important;
    margin: 0 0 .28rem !important;
  }

  .offer-card p{
    font-size: .9rem !important;
    line-height: 1.48 !important;
    margin: 0 0 .45rem !important;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .offer-card__cta{
    font-size: .68rem !important;
    letter-spacing: .11em !important;
  }

  .offer-chip{
    font-size: .6rem !important;
    padding: .24rem .46rem !important;
  }
}
/* Ostatnia sekcja - węższa i wyśrodkowana */
.offer-lx-cta .container{
  display: flex;
  justify-content: center;
}

.offer-lx-cta__box--lux{
  width: 100%;
  max-width: 980px; /* zmień np. na 920px jeśli chcesz jeszcze wężej */
  margin: 0 auto;
}
/* ===== CTA SEK CJA - FINAL (bez zdjęć) ===== */

.offer-lx-cta{
  padding: 1rem 0 2.4rem;
}

.offer-lx-cta .container{
  display:flex;
  justify-content:center;
}

.offer-lx-cta__box--lux{
  position: relative;
  width: 100%;
  max-width: 980px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1.2rem;
  align-items: center;
  padding: 1.35rem;
  border-radius: 22px;
  border: 1px solid rgba(158,194,166,.35);
  background: linear-gradient(135deg, #003826 0%, #004731 52%, #0a5c41 100%);
  box-shadow: 0 24px 80px rgba(0,71,49,.35);
  isolation: isolate;
}

.offer-lx-cta__texture{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      125deg,
      rgba(255,255,255,.04) 0px,
      rgba(255,255,255,.04) 1px,
      transparent 1px,
      transparent 12px
    );
  opacity:.35;
  z-index:0;
  pointer-events:none;
}

.offer-lx-cta__glow{
  position:absolute;
  width:420px;
  height:420px;
  right:-120px;
  top:-180px;
  background: radial-gradient(circle, rgba(158,194,166,.35) 0%, transparent 62%);
  filter: blur(6px);
  z-index:0;
  pointer-events:none;
}

.offer-lx-cta__text,
.offer-lx-cta__actions{
  position: relative;
  z-index: 1;
}

.offer-lx-cta__eyebrow{
  margin:0 0 .5rem;
  color: rgba(255,255,255,.85);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .72rem;
  display:flex;
  align-items:center;
  gap:.45rem;
}

.offer-lx-cta__eyebrow .dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#9EC2A6;
  box-shadow:0 0 0 4px rgba(158,194,166,.24);
}

.offer-lx-cta__text h3{
  margin:0 0 .55rem;
  color:#fff;
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  line-height:1.25;
  letter-spacing:.04em;
  max-width: 34ch;
  text-wrap: balance;
}

.offer-lx-cta__lead{
  margin:0 0 .7rem;
  color: rgba(255,255,255,.9);
  line-height:1.75;
  max-width: 58ch;
}

.offer-lx-cta__list{
  margin:0;
  padding-left:1.1rem;
  color: rgba(255,255,255,.92);
  line-height:1.7;
}

.offer-lx-cta__list strong{
  color:#fff;
}

.offer-lx-cta__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.6rem;
  width:100%;
}

.offer-lx-cta__badge{
  border:1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.10);
  border-radius:999px;
  padding:.38rem .65rem;
  color:#fff;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform: uppercase;
  font-weight: 800;
}

/* Trzy kanały kontaktu */
.offer-lx-cta-links{
  width:100%;
  display:grid;
  gap:.55rem;
  margin-top:.2rem;
}

.offer-lx-cta-link{
  display:flex;
  flex-direction:column;
  gap:.12rem;
  text-decoration:none;
  padding:.72rem .82rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(6px);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.offer-lx-cta-link:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.40);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

.offer-lx-cta-link__title{
  color:#fff;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.74rem;
}

.offer-lx-cta-link__sub{
  color: rgba(255,255,255,.86);
  font-size:.86rem;
  line-height:1.35;
  word-break: break-word;
}

/* Wyróżniony link do formularza */
.offer-lx-cta-link--primary{
  background:#FBF9F3;
  border-color: rgba(255,255,255,.45);
}
.offer-lx-cta-link--primary .offer-lx-cta-link__title{
  color:#004731;
}
.offer-lx-cta-link--primary .offer-lx-cta-link__sub{
  color:#215342;
}

.offer-lx-cta-link:focus-visible{
  outline: 3px solid rgba(158,194,166,.8);
  outline-offset: 2px;
}

.offer-lx-cta__meta{
  display:flex;
  flex-direction:column;
  gap:.22rem;
  color: rgba(255,255,255,.8);
  font-size:.84rem;
}

/* Mobile */
@media (max-width: 920px){
  .offer-lx-cta__box--lux{
    grid-template-columns: 1fr;
    gap: .95rem;
    padding: 1rem;
    border-radius: 16px;
  }
}

@media (max-width: 768px){
  .offer-lx-cta__text h3{
    font-size: 1.08rem;
  }
  .offer-lx-cta__lead{
    font-size: .92rem;
    line-height: 1.6;
  }
  .offer-lx-cta__list{
    font-size: .9rem;
    line-height: 1.6;
  }
  .offer-lx-cta-link{
    padding: .68rem .75rem;
  }
  .offer-lx-cta-link__title{
    font-size: .7rem;
  }
  .offer-lx-cta-link__sub{
    font-size: .82rem;
  }
}
/* Bardziej kremowe, czyste tło */
.offer-lx-cats{
  background: #F2E8D8; /* cieplejszy krem */
  padding: 1.8rem 0 2.6rem !important;
  border-top: 1px solid rgba(80,49,32,.12);
  border-bottom: 1px solid rgba(80,49,32,.12);
}

/* bez dodatkowych warstw */
.offer-lx-cats::before,
.offer-lx-cats::after{
  content: none !important;
}

/* karty lekko jaśniejsze niż tło */
.offer-lx-cats .offer-card{
  background: #FFFCF5;
  border: 1px solid rgba(80,49,32,.14);
  box-shadow: 0 10px 26px rgba(80,49,32,.08);
}
/* Ostatnia sekcja - to samo kremowe tło co kafelki */
.offer-lx-cta{
  background: #F2E8D8 !important;
  border-top: 1px solid rgba(80,49,32,.12);
  border-bottom: 1px solid rgba(80,49,32,.12);
  padding: 1.4rem 0 2.6rem !important;
}

/* jeśli były pseudo-warstwy */
.offer-lx-cta::before,
.offer-lx-cta::after{
  content: none !important;
}
/* Mniejszy odstęp między ostatnią sekcją a stopką */
.offer-lx-cta{
  padding-bottom: .5rem !important; /* było np. 2.6rem */
  margin-bottom: 0 !important;
}

.offer-lx{
  padding-bottom: 0 !important;
}
/* Desktop: odstęp pod fixed header */
.offer-lx{
  padding-top: 58px;
}

/* Tablet */
@media (max-width: 1024px){
  .offer-lx{
    padding-top: 56px !important;
  }
}

/* Mobile: odstęp pod fixed header (spójnie z oferta-styles.css) */
@media (max-width: 768px){
  .offer-lx{
    padding-top: var(--mobile-header-height, 60px) !important;
  }

  .offer-lx-cats{
    padding-top: 1.45rem !important;
  }

  .offer-cats-head{
    padding-top: 0;
  }
}

html{
  scroll-padding-top: calc(var(--mobile-header-height, 60px) + 12px);
}
/* Mniejszy odstęp przed stopką */
.offer-lx-cta{
  padding-bottom: 0.3rem !important;
  margin-bottom: 0 !important;
}

.offer-lx{
  padding-bottom: 0 !important;
}

/* jeśli footer ma własny margines */
footer,
.site-footer{
  margin-top: 0 !important;
}
.offer-lx:not(.offer-lx--ogrzewanie) .offer-card--pielegnacja .offer-card__media{
  background-image: url("/wp-content/uploads/2026/04/cleaner.jpg");
  background-size: cover;
  background-position: center;
}
/* ===== FLAGSHIP CARD: OGRZEWANIE PODŁOGOWE ===== */

.offer-card--ogrzewanie{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,224,160,.42) !important;
  background: #0f0f0f;
  box-shadow:
    0 14px 34px rgba(0,0,0,.16),
    0 24px 70px rgba(0,0,0,.20),
    0 0 0 1px rgba(255,224,160,.10),
    0 0 60px rgba(255,214,120,.10) !important;
}

/* premium glow */
.offer-card--ogrzewanie::after{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 80% 0%, rgba(255,214,120,.18), transparent 35%),
    radial-gradient(circle at 10% 100%, rgba(255,255,255,.08), transparent 28%);
  z-index:1;
  pointer-events:none;
}

/* bestseller badge */
.offer-card--ogrzewanie::before{
  content:"THERMO LIGHT";
  position:absolute;
  top:14px;
  right:14px;
  z-index:6;
  padding:.46rem .72rem;
  border-radius:999px;
  font-size:.60rem;
  font-weight:900;
  letter-spacing:.16em;
  color:#4a2b14;
  background:linear-gradient(135deg,#fff0bf 0%, #ffd774 52%, #ffc94e 100%);
  box-shadow:
    0 10px 24px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.55);
}

/* overlay premium */
.offer-card--ogrzewanie .offer-card__overlay{
  z-index:2;
  background:
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.26) 42%, rgba(0,0,0,.78) 100%) !important,
    radial-gradient(520px 260px at 15% 0%, rgba(255,214,120,.20), transparent 60%) !important;
}

/* content above glow */
.offer-card--ogrzewanie .offer-card__content{
  position:relative;
  z-index:4;
}

/* stronger title */
.offer-card--ogrzewanie h2{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.30);
}

/* CTA standout */
.offer-card--ogrzewanie .offer-card__cta{
  color:#ffe39c !important;
  font-weight:900;
}

/* subtle pulse */
.offer-card--ogrzewanie .offer-chip{
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.14);
}

/* hover — ten sam ruch co pozostałe kafelki; złota poświata zostaje */
.offer-card--ogrzewanie:hover{
  transform: translateY(-6px) !important;
  border-color: rgba(255,224,160,.60) !important;
  box-shadow:
    0 28px 70px rgba(0,0,0,.22),
    0 0 50px rgba(255,214,120,.14) !important;
}

/* mobile */
@media (max-width:768px){
  .offer-card--ogrzewanie{
    transform:none;
  }

  .offer-card--ogrzewanie::before{
    top:10px;
    right:10px;
    font-size:.54rem;
    padding:.38rem .55rem;
    letter-spacing:.12em;
  }

  .offer-card--ogrzewanie:hover{
    transform:none !important;
  }
}
.offer-top-heat{
padding:2rem 0 1rem;
background:#FBF9F3;
}

.offer-top-heat__box{
max-width:980px;
margin:0 auto;
padding:1.4rem;
border-radius:22px;
background:
linear-gradient(135deg,#003826 0%,#004731 55%,#0a5c41 100%);
box-shadow:0 24px 70px rgba(0,71,49,.18);
border:1px solid rgba(158,194,166,.28);
}

.offer-top-heat__eyebrow{
display:block;
margin-bottom:.45rem;
font-size:.72rem;
font-weight:900;
letter-spacing:.18em;
text-transform:uppercase;
color:#9EC2A6;
}

.offer-top-heat__title{
margin:0 0 .55rem;
font-size:clamp(1.5rem,2vw,2.3rem);
line-height:1.2;
color:#fff;
text-transform:uppercase;
letter-spacing:.05em;
}

.offer-top-heat__text{
margin:0 0 .8rem;
max-width:72ch;
font-size:1rem;
line-height:1.75;
color:rgba(255,255,255,.92);
}

.offer-top-heat__link{
display:inline-block;
padding:.8rem 1rem;
border-radius:999px;
background:#FBF9F3;
color:#004731;
font-size:.75rem;
font-weight:900;
letter-spacing:.12em;
text-transform:uppercase;
text-decoration:none;
transition:.2s ease;
}

.offer-top-heat__link:hover{
transform:translateY(-2px);
background:#fff;
}

@media(max-width:768px){

.offer-top-heat{
padding:1rem 0 .5rem;
}

.offer-top-heat__box{
padding:1rem;
border-radius:16px;
}

.offer-top-heat__title{
font-size:1.2rem;
}

.offer-top-heat__text{
font-size:.92rem;
line-height:1.6;
}

.offer-top-heat__link{
width:100%;
text-align:center;
font-size:.68rem;
}

}
/* =========================================================
   TOP NOTE (minimal): "OFERTA NA OGRZEWANIE PODŁOGOWE • Dlaczego się nadaje? • Przeczytaj"
   ========================================================= */

.offer-cats-head--seo{
  padding: clamp(1.5rem, 3vw, 2.25rem) 0 .35rem;
}

.offer-cats-head--seo .offer-cats-head__title{
  text-transform: none;
  letter-spacing: -.01em;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.offer-top-note{
  padding: .35rem 0 1rem;
}

.offer-top-note__box{
  max-width: 980px;
  margin: 0 auto;
  padding: .7rem .9rem;
  border-radius: 14px;

  background: rgba(255,255,255,.44);
  border: 1px solid rgba(0,0,0,.08);
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}

.offer-top-note__text{
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .45rem;

  color: rgba(18,20,19,.72);
  line-height: 1.45;
  font-size: .92rem;
}

.offer-top-note__text strong{
  color: #004731;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: .80rem;
  font-weight: 900;
}

.offer-top-note__sep{
  color: rgba(80,49,32,.55);
}

.offer-top-note__q{
  color: rgba(18,20,19,.78);
}

.offer-top-note__link{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .35rem;

  padding: .54rem .78rem;
  border-radius: 999px;
  text-decoration: none;

  border: 1px solid rgba(0,71,49,.22);
  background: rgba(255,255,255,.62);
  color: #004731;

  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;

  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.offer-top-note__link::after{
  content: " →";
}

.offer-top-note__link:hover{
  transform: translateY(-2px);
  background: rgba(0,71,49,.06);
  box-shadow: 0 10px 20px rgba(0,0,0,.10);
}

.offer-top-note__link:focus-visible{
  outline: 3px solid rgba(158,194,166,.75);
  outline-offset: 2px;
}

@media (max-width: 768px){
  .offer-top-note{
    padding: .7rem 0 .1rem;
  }

  .offer-top-note__box{
    padding: .75rem .85rem;
    border-radius: 14px;

    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
  }

  .offer-top-note__text{
    font-size: .90rem;
  }

  .offer-top-note__link{
    width: 100%;
    justify-content: center;
  }
}

/* Jeśli user ma preferencję ograniczenia animacji */
@media (prefers-reduced-motion: reduce){
  .offer-top-note__link{
    transition: none !important;
  }
}
/* Notka pod "Wybierz kategorię" */
.offer-cats-head__note{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;

  margin: .65rem auto 0;
  padding: .52rem .8rem;
  border-radius: 999px;
  text-decoration: none;

  border: 1px solid rgba(0,71,49,.18);
  background: rgba(255,255,255,.55);
  color: #004731;

  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;

  transition: transform .2s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.offer-cats-head__note strong{
  font-weight: 900;
}

.offer-cats-head__note span{
  color: rgba(0,71,49,.85);
}

.offer-cats-head__note:hover{
  transform: translateY(-2px);
  background: rgba(0,71,49,.06);
  border-color: rgba(0,71,49,.30);
  box-shadow: 0 10px 20px rgba(0,0,0,.10);
}

.offer-cats-head__note span::after{
  content: " →";
}

.offer-cats-head__note:focus-visible{
  outline: 3px solid rgba(158,194,166,.75);
  outline-offset: 2px;
}

@media (max-width: 768px){
  .offer-cats-head__note{
    width: 100%;
    max-width: 520px;
    padding: .6rem .8rem;
    line-height: 1.25;
    flex-wrap: wrap;
  }
}
/* Ikonka przy każdym kafelku */
.offer-card__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
}

.offer-card__icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(4px);
  flex: 0 0 34px;
}

.offer-card__icon img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
  filter: brightness(0) invert(1); /* biała ikonka na ciemnym tle */
  opacity:.95;
}

.offer-card:hover .offer-card__icon{
  transform: translateY(-1px);
  transition: transform .2s ease;
}
/* mini ikonka przy kafelkach */
.offer-card__icon{
  width:80px;
  height:80px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(3px);
  flex: 0 0 20px;
}

.offer-card__icon img{
  width:80px;
  height:80px;
  object-fit:contain;
  display:block;
  filter: brightness(0) invert(1);
  opacity:.95;
}
.offer-card__icon{
  margin-left: auto !important;
  transform: translateX(405px) !important;
}

/* ===== Page hero (oferta + ogrzewanie) — kompakt, font jak kafelki ===== */
.offer-lx-intro.offer-lx-intro--hero{
  padding: .7rem 0 .1rem !important;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.24) 36%, rgba(255,255,255,0));
}

.offer-lx-intro--hero + .offer-lx-cats{
  padding-top: .35rem !important;
  background: transparent;
}

.offer-lx-intro.offer-lx-intro--hero .container{
  max-width: 680px;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.offer-lx-intro--hero::after{
  display: none;
}

.offer-lx-intro--hero .offer-lx-intro__eyebrow{
  display: inline-block;
  margin: 0 0 .28rem;
  padding: 0;
  border: none;
  letter-spacing: .18em;
  font-size: .62rem;
  font-weight: 800;
  color: rgba(80,49,32,.72);
}

.offer-lx-intro--hero .offer-lx-intro__title{
  margin: 0 0 .28rem;
  font-family: inherit;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: clamp(1.08rem, 1.65vw, 1.32rem);
  line-height: 1.22;
  color: #004731;
}

.offer-lx-intro--hero .offer-lx-intro__lead{
  margin: 0 auto;
  max-width: 54ch;
  font-size: .86rem;
  line-height: 1.48;
  color: rgba(18,20,19,.68);
}

.offer-lx-intro__foot{
  margin: .38rem 0 0;
  padding: 0;
}

.offer-lx-intro__read{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .3rem .45rem;
  text-decoration: none;
  font-size: .78rem;
  line-height: 1.35;
  color: rgba(18,20,19,.62);
  transition: color .2s ease;
}

.offer-lx-intro__read span{
  color: #004731;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(0,71,49,.22);
  padding-bottom: 1px;
  transition: border-color .2s ease, color .2s ease;
}

.offer-lx-intro__read:hover{
  color: rgba(18,20,19,.78);
}

.offer-lx-intro__read:hover span{
  border-color: rgba(0,71,49,.55);
}

.offer-lx-intro__read:focus-visible{
  outline: 2px solid rgba(158,194,166,.75);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (max-width: 768px){
  .offer-lx-intro--hero{
    padding: .75rem 0 .05rem !important;
  }

  .offer-lx-intro--hero + .offer-lx-cats{
    padding-top: .28rem !important;
  }

  .offer-lx-intro--hero .offer-lx-intro__title{
    font-size: clamp(1rem, 4.2vw, 1.15rem);
    letter-spacing: .1em;
  }

  .offer-lx-intro--hero .offer-lx-intro__lead{
    font-size: .82rem;
    line-height: 1.42;
  }

  .offer-lx-intro__read{
    flex-direction: column;
    gap: .3rem;
  }
}