
/* =========================================================
   RelaxPool – nowy widok (wszystko pod klasą .rp-new)
   Na razie: tokeny + przyciski + HERO (WPBakery).
   ========================================================= */

/* ---------- Tokeny (kolory z makiety + poprawki UX) ---------- */
.rp-new{
  --rp-b:#2350c0;      /* niebieski marki */
  --rp-b-dk:#1b3f99;   /* hover niebieskiego */
  --rp-tx:#1f2a3a;     /* tekst */
  --rp-mu:#586579;     /* szary tekst – UX: zamiast #6b7686 (kontrast >= 4,5:1) */
  --rp-ln:#e3e8ef;     /* linie / obramowania */
  --rp-chip:#f1f4f8;   /* tła chipów / sekcji */
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;
  font-size:16px;      /* UX: tekst bazowy 16 px */
  line-height:1.6;
  color:var(--rp-tx);
}

/* ---------- Przyciski (zwykłe linki <a class="rp-btn …"> w Text Block) ---------- */
.rp-new a.rp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;                      /* obszar dotykowy > 44 px */
  margin:0;
  padding:12px 26px;
  box-sizing:border-box;
  font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;
  text-transform:none;letter-spacing:0; /* UX: bez wersalików */
  text-decoration:none !important;white-space:nowrap;
  border:2px solid transparent;border-radius:0;box-shadow:none;
  transition:background-color .2s,color .2s,border-color .2s;
}
.rp-new a.rp-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* pełny niebieski (główne CTA) */
.rp-new a.rp-btn--primary{background-color:var(--rp-b);color:#fff !important;border-color:var(--rp-b)}
.rp-new a.rp-btn--primary:hover{background-color:var(--rp-b-dk);border-color:var(--rp-b-dk)}
/* pełny biały (drugorzędne CTA) */
.rp-new a.rp-btn--light{background-color:#fff;color:var(--rp-b) !important;border-color:#fff}
.rp-new a.rp-btn--light:hover{background-color:var(--rp-chip);border-color:var(--rp-chip)}
/* obrys biały – tylko na jednolitym niebieskim tle */
.rp-new a.rp-btn--ghost{background-color:transparent;color:#fff !important;border-color:#fff}
.rp-new a.rp-btn--ghost:hover{background-color:#fff;color:var(--rp-b) !important}

/* ---------- HERO (Row: Extra class "rp-new rp-hero") ----------
   Motyw (Bridge/Qode) wstawia w wiersz wrapper .full_section_inner –
   to on jest kontenerem flex: nagłówek u góry, przyciski dopchnięte na dół. */
.rp-new.rp-hero{
  display:block !important;
  margin-left:0 !important;margin-right:0 !important;   /* motyw daje wierszom -15 px */
  padding:0 !important;
  background-color:#1b2330;
  background-size:cover !important;
  background-position:center !important;
}
.rp-new.rp-hero > .full_section_inner{
  display:flex !important;flex-wrap:wrap;align-items:stretch;
  width:100%;box-sizing:border-box;
  min-height:clamp(420px,70vh,680px);
  padding:clamp(24px,5vh,56px) 0 clamp(24px,6vh,64px);
}
.rp-new.rp-hero > .full_section_inner::before,
.rp-new.rp-hero > .full_section_inner::after{display:none !important}

/* Kolumna (Column: Extra class "rp-hero__box") i jej wrappery – wszystkie na pełną wysokość */
.rp-new .rp-hero__box,
.rp-new .rp-hero__box > .vc_column-inner,
.rp-new .rp-hero__box > .vc_column-inner > .wpb_wrapper,
.rp-new .rp-hero__box .wpb_text_column,
.rp-new .rp-hero__box .wpb_text_column > .wpb_wrapper{
  display:flex !important;flex-direction:column;flex:1 1 auto;
}
.rp-new .rp-hero__box{float:none !important}
.rp-new .rp-hero__box > .vc_column-inner{padding:0 !important;background:none}
.rp-new .rp-hero__box .wpb_content_element{margin-bottom:0 !important}
.rp-new .rp-hero__box .wpb_raw_html{display:none !important}   /* gdyby CSS siedział w Raw HTML w tej kolumnie */
.rp-new .rp-hero__box p:empty{display:none}

/* Nagłówek w niebieskim boxie (h1 w Text Block) */
.rp-new .rp-hero__title{
  flex:0 0 auto !important;
  align-self:flex-start;
  box-sizing:border-box;
  max-width:620px;
  margin:0 0 0 clamp(16px,4vw,64px) !important;
  padding:28px 32px !important;
  background:var(--rp-b);
  font-family:inherit !important;
  font-size:clamp(22px,2.4vw,32px) !important;
  font-weight:700 !important;line-height:1.25 !important;
  text-transform:none !important;letter-spacing:0 !important;
  text-align:left !important;
  color:#fff !important;
}

/* Przyciski – lewy dolny róg zdjęcia */
.rp-new .rp-hero__cta{
  flex:0 0 auto !important;
  margin-top:auto !important;
  margin-left:clamp(16px,4vw,64px);
  padding-top:24px;
  display:flex !important;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px;
}
.rp-new .rp-hero__cta > p{display:contents}   /* gdyby edytor owinął linki w <p> */
.rp-new .rp-hero__cta br{display:none}        /* gdyby edytor wstawił <br> */
.rp-new .rp-hero__cta a.rp-btn{box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* Tablet – kolumna na całą szerokość, żeby nagłówek nie łamał się na 3 linie */
@media (max-width:1024px){
  .rp-new .rp-hero__box{flex:1 1 100% !important;width:100% !important}
  .rp-new .rp-hero__box ~ .wpb_column{display:none}
}

/* Mobile – UX: niższe hero, CTA widoczne bez przewijania.
   Pasek zdjęcia u góry (56vw ≈ proporcja 16:9), niebieski panel z nagłówkiem i przyciskami pod nim. */
@media (max-width:767px){
  .rp-new.rp-hero{
    padding-top:56vw !important;
    background-color:var(--rp-b);
    background-position:center top !important;
    background-size:100% auto !important;
    background-repeat:no-repeat !important;
  }
  .rp-new.rp-hero > .full_section_inner{min-height:0;padding:0}
  .rp-new .rp-hero__box{flex:1 1 100% !important;width:100% !important}
  .rp-new .rp-hero__box ~ .wpb_column{display:none}   /* pusta druga kolumna */
  .rp-new .rp-hero__box > .vc_column-inner{background:var(--rp-b);padding:24px 16px 28px !important}
  .rp-new .rp-hero__title{max-width:none;margin:0 !important;padding:0 !important;font-size:22px !important}
  .rp-new .rp-hero__cta{margin:18px 0 0 !important;padding-top:0;flex-direction:column;align-items:stretch}
  .rp-new .rp-hero__cta a.rp-btn{width:100%;box-shadow:none}
  /* na niebieskim panelu: główne białe, drugorzędne z obrysem */
  .rp-new .rp-hero__cta a.rp-btn--primary{background-color:#fff;color:var(--rp-b) !important;border-color:#fff}
  .rp-new .rp-hero__cta a.rp-btn--light{background-color:transparent;color:#fff !important;border-color:#fff}
}

/* ---------- RELAXPOOL W LICZBACH ----------
   Klasy z WPBakery: Text Block "wliczbach-title", Inner Row "wliczbach",
   w kolumnach: Text Block "small-text" / Qode Counter / Text Block "subtitle",
   kolumna wypełniona = "vc_col-has-fill". Fallbacki kolorów, bo wiersz nie musi mieć .rp-new */
.wliczbach-title p,
.wliczbach-title h2{
  margin:0 0 28px !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;
  font-size:clamp(22px,3vw,32px) !important;
  font-weight:400 !important;line-height:1.3 !important;
  text-align:center !important;text-transform:none !important;
  color:var(--rp-tx,#1f2a3a) !important;
}
.wliczbach-title.wpb_content_element{margin-bottom:0 !important}

/* siatka 3 kafli, max 900 px, na mobile 1 kolumna */
.wliczbach > .full_section_inner{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  max-width:900px;
  margin:0 auto !important;
}
.wliczbach > .full_section_inner::before,
.wliczbach > .full_section_inner::after{display:none !important}
.wliczbach > .full_section_inner > .wpb_column{width:auto !important;float:none !important;padding:0 !important;margin:0 !important}

/* kafel */
.wliczbach .wpb_column > .vc_column-inner{
  box-sizing:border-box;
  height:100%;min-height:190px;
  display:flex !important;flex-direction:column;justify-content:center;
  margin:0 !important;
  padding:26px 28px !important;
  border:2px solid var(--rp-b,#2350c0) !important;
  border-radius:0 !important;
  background:transparent !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;
}
.wliczbach .vc_col-has-fill > .vc_column-inner{background:var(--rp-b,#2350c0) !important}
.wliczbach .wpb_column .wpb_wrapper{margin:0}
.wliczbach .vc_column-inner > .wpb_wrapper{width:100% !important;align-self:stretch;display:block !important;text-align:left !important}
.wliczbach .wpb_column,
.wliczbach .wpb_column p{text-align:left !important}   /* makieta: tekst w kaflu do lewej */
.wliczbach .wpb_content_element{margin-bottom:0 !important}

/* "Jesteśmy już" – UX: min. 14 px i ciemniejszy szary */
.wliczbach .small-text p{
  margin:0 !important;
  font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;
  color:var(--rp-mu,#586579) !important;
}
/* "10 lat" – liczba i jednostka w jednej linii */
.wliczbach .q_counter_holder{
  display:flex !important;align-items:baseline;flex-wrap:wrap;justify-content:flex-start !important;
  margin:6px 0 4px !important;padding:0 !important;
  text-align:left !important;
}
.wliczbach .q_counter_holder .counter,
.wliczbach .q_counter_holder .counter_text{
  display:inline-block !important;
  margin:0 !important;padding:0 !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif !important;
  font-size:clamp(36px,4vw,46px) !important;
  font-weight:400 !important;line-height:1.1 !important;letter-spacing:0 !important;
  color:var(--rp-tx,#1f2a3a) !important;
}
.wliczbach .q_counter_holder .counter_text{margin-left:.3em !important}   /* "10 lat" ze spacją */
/* "na rynku" */
.wliczbach .subtitle p{
  margin:0 !important;
  font-size:clamp(16px,1.6vw,19px) !important;line-height:1.25 !important;font-weight:400 !important;
  color:var(--rp-mu,#586579) !important;
}
/* kafel wypełniony – cały tekst biały */
.wliczbach .vc_col-has-fill p,
.wliczbach .vc_col-has-fill .counter,
.wliczbach .vc_col-has-fill .counter_text{color:#fff !important}

@media (max-width:767px){
  .wliczbach .wpb_column > .vc_column-inner{min-height:150px}
}

.rp-new a.rp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;                      /* obszar dotykowy > 44 px */
  margin:0;
  padding:12px 26px;
  box-sizing:border-box;
  font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;
  text-transform:none;letter-spacing:0; /* UX: bez wersalików */
  text-decoration:none !important;white-space:nowrap;
  border:2px solid transparent;border-radius:0;box-shadow:none;
  transition:background-color .2s,color .2s,border-color .2s;
}
.rp-new a.rp-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* pełny niebieski (główne CTA) */
.rp-new a.rp-btn--primary{background-color:var(--rp-b);color:#fff !important;border-color:var(--rp-b)}
.rp-new a.rp-btn--primary:hover{background-color:var(--rp-b-dk);border-color:var(--rp-b-dk)}
/* pełny biały (drugorzędne CTA) */
.rp-new a.rp-btn--light{background-color:#fff;color:var(--rp-b) !important;border-color:#fff}
.rp-new a.rp-btn--light:hover{background-color:var(--rp-chip);border-color:var(--rp-chip)}
/* obrys biały – tylko na jednolitym niebieskim tle */
.rp-new a.rp-btn--ghost{background-color:transparent;color:#fff !important;border-color:#fff}
.rp-new a.rp-btn--ghost:hover{background-color:#fff;color:var(--rp-b) !important}

/* ---------- HERO (Row: Extra class "rp-new rp-hero") ----------
   Motyw (Bridge/Qode) wstawia w wiersz wrapper .full_section_inner –
   to on jest kontenerem flex: nagłówek u góry, przyciski dopchnięte na dół. */
.rp-new.rp-hero{
  display:block !important;
  margin-left:0 !important;margin-right:0 !important;   /* motyw daje wierszom -15 px */
  padding:0 !important;
  background-color:#1b2330;
  background-size:cover !important;
  background-position:center !important;
}
.rp-new.rp-hero > .full_section_inner{
  display:flex !important;flex-wrap:wrap;align-items:stretch;
  width:100%;box-sizing:border-box;
  min-height:clamp(420px,70vh,680px);
  padding:clamp(24px,5vh,56px) 0 clamp(24px,6vh,64px);
}
.rp-new.rp-hero > .full_section_inner::before,
.rp-new.rp-hero > .full_section_inner::after{display:none !important}

/* Kolumna (Column: Extra class "rp-hero__box") i jej wrappery – wszystkie na pełną wysokość */
.rp-new .rp-hero__box,
.rp-new .rp-hero__box > .vc_column-inner,
.rp-new .rp-hero__box > .vc_column-inner > .wpb_wrapper,
.rp-new .rp-hero__box .wpb_text_column,
.rp-new .rp-hero__box .wpb_text_column > .wpb_wrapper{
  display:flex !important;flex-direction:column;flex:1 1 auto;
}
.rp-new .rp-hero__box{float:none !important}
.rp-new .rp-hero__box > .vc_column-inner{padding:0 !important;background:none}
.rp-new .rp-hero__box .wpb_content_element{margin-bottom:0 !important}
.rp-new .rp-hero__box .wpb_raw_html{display:none !important}   /* gdyby CSS siedział w Raw HTML w tej kolumnie */
.rp-new .rp-hero__box p:empty{display:none}

/* Nagłówek w niebieskim boxie (h1 w Text Block) */
.rp-new .rp-hero__title{
  flex:0 0 auto !important;
  align-self:flex-start;
  box-sizing:border-box;
  max-width:620px;
  margin:0 0 0 clamp(16px,4vw,64px) !important;
  padding:28px 32px !important;
  background:var(--rp-b);
  font-family:inherit !important;
  font-size:clamp(22px,2.4vw,32px) !important;
  font-weight:700 !important;line-height:1.25 !important;
  text-transform:none !important;letter-spacing:0 !important;
  text-align:left !important;
  color:#fff !important;
}

/* Przyciski – lewy dolny róg zdjęcia */
.rp-new .rp-hero__cta{
  flex:0 0 auto !important;
  margin-top:auto !important;
  margin-left:clamp(16px,4vw,64px);
  padding-top:24px;
  display:flex !important;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px;
}
.rp-new .rp-hero__cta > p{display:contents}   /* gdyby edytor owinął linki w <p> */
.rp-new .rp-hero__cta br{display:none}        /* gdyby edytor wstawił <br> */
.rp-new .rp-hero__cta a.rp-btn{box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* Tablet – kolumna na całą szerokość, żeby nagłówek nie łamał się na 3 linie */
@media (max-width:1024px){
  .rp-new .rp-hero__box{flex:1 1 100% !important;width:100% !important}
  .rp-new .rp-hero__box ~ .wpb_column{display:none}
}

/* Mobile – UX: niższe hero, CTA widoczne bez przewijania.
   Pasek zdjęcia u góry (56vw ≈ proporcja 16:9), niebieski panel z nagłówkiem i przyciskami pod nim. */
@media (max-width:767px){
  .rp-new.rp-hero{
    padding-top:56vw !important;
    background-color:var(--rp-b);
    background-position:center top !important;
    background-size:100% auto !important;
    background-repeat:no-repeat !important;
  }
  .rp-new.rp-hero > .full_section_inner{min-height:0;padding:0}
  .rp-new .rp-hero__box{flex:1 1 100% !important;width:100% !important}
  .rp-new .rp-hero__box ~ .wpb_column{display:none}   /* pusta druga kolumna */
  .rp-new .rp-hero__box > .vc_column-inner{background:var(--rp-b);padding:24px 16px 28px !important}
  .rp-new .rp-hero__title{max-width:none;margin:0 !important;padding:0 !important;font-size:22px !important}
  .rp-new .rp-hero__cta{margin:18px 0 0 !important;padding-top:0;flex-direction:column;align-items:stretch}
  .rp-new .rp-hero__cta a.rp-btn{width:100%;box-shadow:none}
  /* na niebieskim panelu: główne białe, drugorzędne z obrysem */
  .rp-new .rp-hero__cta a.rp-btn--primary{background-color:#fff;color:var(--rp-b) !important;border-color:#fff}
  .rp-new .rp-hero__cta a.rp-btn--light{background-color:transparent;color:#fff !important;border-color:#fff}
}

/* ---------- RELAXPOOL W LICZBACH ----------
   Klasy z WPBakery: Text Block "wliczbach-title", Inner Row "wliczbach",
   w kolumnach: Text Block "small-text" / Qode Counter / Text Block "subtitle",
   kolumna wypełniona = "vc_col-has-fill". Fallbacki kolorów, bo wiersz nie musi mieć .rp-new */
.wliczbach-title p,
.wliczbach-title h2{
  margin:0 0 28px !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;
  font-size:clamp(22px,3vw,32px) !important;
  font-weight:400 !important;line-height:1.3 !important;
  text-align:center !important;text-transform:none !important;
  color:var(--rp-tx,#1f2a3a) !important;
}
.wliczbach-title.wpb_content_element{margin-bottom:0 !important}

/* siatka 3 kafli, max 900 px, na mobile 1 kolumna */
.wliczbach > .full_section_inner{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  max-width:900px;
  margin:0 auto !important;
}
.wliczbach > .full_section_inner::before,
.wliczbach > .full_section_inner::after{display:none !important}
.wliczbach > .full_section_inner > .wpb_column{width:auto !important;float:none !important;padding:0 !important;margin:0 !important}

/* kafel */
.wliczbach .wpb_column > .vc_column-inner{
  box-sizing:border-box;
  height:100%;min-height:190px;
  display:flex !important;flex-direction:column;justify-content:center;
  margin:0 !important;
  padding:26px 28px !important;
  border:2px solid var(--rp-b,#2350c0) !important;
  border-radius:0 !important;
  background:transparent !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;
}
.wliczbach .vc_col-has-fill > .vc_column-inner{background:var(--rp-b,#2350c0) !important}
.wliczbach .wpb_column .wpb_wrapper{margin:0}
.wliczbach .vc_column-inner > .wpb_wrapper{width:100% !important;align-self:stretch;display:block !important;text-align:left !important}
.wliczbach .wpb_column,
.wliczbach .wpb_column p{text-align:left !important}   /* makieta: tekst w kaflu do lewej */
.wliczbach .wpb_content_element{margin-bottom:0 !important}

/* "Jesteśmy już" – UX: min. 14 px i ciemniejszy szary */
.wliczbach .small-text p{
  margin:0 !important;
  font-size:14px !important;line-height:1.4 !important;font-weight:400 !important;
  color:var(--rp-mu,#586579) !important;
}
/* "10 lat" – liczba i jednostka w jednej linii */
.wliczbach .q_counter_holder{
  display:flex !important;align-items:baseline;flex-wrap:wrap;justify-content:flex-start !important;
  margin:6px 0 4px !important;padding:0 !important;
  text-align:left !important;
}
.wliczbach .q_counter_holder .counter,
.wliczbach .q_counter_holder .counter_text{
  display:inline-block !important;
  margin:0 !important;padding:0 !important;
  font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif !important;
  font-size:clamp(36px,4vw,46px) !important;
  font-weight:400 !important;line-height:1.1 !important;letter-spacing:0 !important;
  color:var(--rp-tx,#1f2a3a) !important;
}
.wliczbach .q_counter_holder .counter_text{margin-left:.3em !important}   /* "10 lat" ze spacją */
/* "na rynku" */
.wliczbach .subtitle p{
  margin:0 !important;
  font-size:clamp(16px,1.6vw,19px) !important;line-height:1.25 !important;font-weight:400 !important;
  color:var(--rp-mu,#586579) !important;
}
/* kafel wypełniony – cały tekst biały */
.wliczbach .vc_col-has-fill p,
.wliczbach .vc_col-has-fill .counter,
.wliczbach .vc_col-has-fill .counter_text{color:#fff !important}

@media (max-width:767px){
  .wliczbach .wpb_column > .vc_column-inner{min-height:150px}
}

/* ---------- KARUZELA / SIATKA KART [rp_karuzela] ---------- */
.rp-new.rp-car{margin:0 0 64px;font-family:Montserrat,system-ui,"Segoe UI",Arial,sans-serif;color:var(--rp-tx)}
.rp-new .rp-car__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid var(--rp-ln);
}
.rp-new .rp-car__title{
  margin:0 !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(18px,2.2vw,24px) !important;font-weight:600 !important;
  line-height:1.3 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new .rp-car__nav{display:flex;gap:8px;flex:none}
.rp-new .rp-car__arrow{
  width:44px;height:44px;padding:0;margin:0;                 /* UX: obszar dotykowy 44 px */
  display:grid;place-items:center;
  border:2px solid var(--rp-b);border-radius:0;background:transparent;color:var(--rp-b);
  font:400 26px/1 Montserrat,system-ui,sans-serif;cursor:pointer;
  transition:background-color .2s,color .2s;
}
.rp-new .rp-car__arrow:hover{background:var(--rp-b);color:#fff}
.rp-new .rp-car__arrow:disabled{opacity:.35;cursor:default;background:transparent;color:var(--rp-b)}
.rp-new .rp-car__arrow:focus-visible,
.rp-new .rp-car__track:focus-visible,
.rp-new .rp-card__btn:focus-visible,
.rp-new .rp-pill:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

/* tor karuzeli: 4 karty na desktopie, przewijanie gestem + scroll-snap */
.rp-new .rp-car__track{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(260px,calc((100% - 3 * 20px) / 4));
  gap:20px;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:0 0 10px;margin:0;
  scrollbar-width:thin;scrollbar-color:#b9c0ca var(--rp-chip);
}
.rp-new .rp-car__track::-webkit-scrollbar{height:6px}
.rp-new .rp-car__track::-webkit-scrollbar-track{background:var(--rp-chip)}
.rp-new .rp-car__track::-webkit-scrollbar-thumb{background:#b9c0ca;border-radius:3px}
@media (prefers-reduced-motion:reduce){.rp-new .rp-car__track{scroll-behavior:auto}}

/* wariant siatki (kategorie) */
.rp-new.rp-car--grid .rp-car__track{
  grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  overflow:visible;scroll-snap-type:none;padding:0;
}

/* karta */
.rp-new .rp-card{
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--rp-ln);
  min-width:0;
}
.rp-new .rp-card__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rp-chip)}
.rp-new .rp-card__img img{width:100% !important;height:100% !important;max-width:none;object-fit:cover;display:block;margin:0}
.rp-new .rp-card__badge{
  position:absolute;top:12px;left:12px;
  padding:4px 10px;border-radius:3px;
  background:var(--rp-b);color:#fff;
  font-size:13px;font-weight:600;line-height:1.3;
}
.rp-new .rp-card__body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.rp-new .rp-card__title{
  margin:0 !important;padding:0 !important;
  font-family:inherit !important;font-size:16px !important;font-weight:600 !important;line-height:1.4 !important;
  letter-spacing:0 !important;text-transform:none !important;color:var(--rp-tx) !important;
}
.rp-new .rp-card__dims{display:block}
.rp-new .rp-card__desc{margin:6px 0 0 !important;font-size:14px;line-height:1.45;color:var(--rp-mu);min-height:4.35em}

.rp-new .rp-card__chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.rp-new .rp-card__chips div{background:var(--rp-chip);padding:8px 10px}
.rp-new .rp-card__chips small{display:block;font-size:13px;line-height:1.3;color:var(--rp-mu)}
.rp-new .rp-card__chips b{display:block;font-size:15px;font-weight:600;line-height:1.3;color:var(--rp-tx)}

.rp-new .rp-card__colors{display:flex;align-items:center;gap:8px;margin:0 0 16px}
.rp-new .rp-card__swatches{display:flex;gap:6px}
.rp-new .rp-card__swatches i{width:16px;height:16px;border-radius:50%;border:1px solid #c9d0d9;display:block}
.rp-new .rp-card__colors small{font-size:13px;color:var(--rp-mu)}

.rp-new .rp-card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--rp-ln)}
.rp-new .rp-card__price{margin:0 !important;font-size:14px;line-height:1.2;color:var(--rp-mu)}
.rp-new .rp-card__price .amount,
.rp-new .rp-card__price bdi{font-size:24px;font-weight:700;color:var(--rp-b)}
.rp-new .rp-card__note{margin:4px 0 14px !important;font-size:13px;line-height:1.4;color:var(--rp-mu)}
.rp-new .rp-card__btn{
  display:flex;align-items:center;justify-content:center;
  min-height:46px;padding:10px 12px;box-sizing:border-box;
  border:2px solid var(--rp-b);background:transparent;color:var(--rp-b) !important;
  font-size:15px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;  /* UX: bez wersalików */
  text-decoration:none !important;text-align:center;
  transition:background-color .2s,color .2s;
}
.rp-new .rp-card__btn:hover{background:var(--rp-b);color:#fff !important}

/* "Zobacz wszystkie baseny" */
.rp-new .rp-car__more{text-align:center;margin-top:28px}
.rp-new .rp-pill{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;
  padding:12px 28px;border:2px solid var(--rp-tx);border-radius:999px;
  color:var(--rp-tx) !important;background:transparent;
  font-size:16px;font-weight:700;line-height:1.2;text-decoration:none !important;
  transition:background-color .2s,color .2s;
}
.rp-new .rp-pill:hover{background:var(--rp-tx);color:#fff !important}

.rp-new .screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

@media (max-width:1024px){
  .rp-new .rp-car__track{grid-auto-columns:minmax(260px,calc((100% - 20px) / 2.3))}
}
@media (max-width:767px){
  .rp-new .rp-car__track{grid-auto-columns:82%;gap:16px}
  .rp-new .rp-car__title{font-size:18px !important}
}

/* ---------- Karta sauny + etykieta wyróżniona ("Bestseller") ---------- */
.rp-new .rp-card--sauna .rp-card__img{aspect-ratio:1/1}      /* makieta: zdjęcia saun kwadratowe */
.rp-new .rp-card__badge--accent{background:#e3f5ea;color:#1d6b3c}
.rp-new .rp-card--sauna .rp-card__desc{min-height:2.9em}
.rp-new .rp-card--sauna .rp-card__title{min-height:2.8em}    /* parametry w jednej linii na wszystkich kartach */

/* ---------- TEKST SEO z "Czytaj więcej" (<details>/<summary>) ---------- */
.rp-new.rp-seo{max-width:760px;margin:0 auto;color:var(--rp-tx)}
.rp-new.rp-seo h2{
  margin:0 0 14px !important;
  font-family:inherit !important;font-size:clamp(22px,2.8vw,30px) !important;font-weight:500 !important;
  line-height:1.3 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new.rp-seo .rp-seo__content h2{margin-top:40px !important}
.rp-new.rp-seo .rp-seo__content > h2:first-child{margin-top:28px !important}
.rp-new.rp-seo p,
.rp-new.rp-seo li{font-size:16px !important;line-height:1.85 !important;color:var(--rp-tx) !important}
.rp-new.rp-seo p{margin:0 0 12px !important}
.rp-new.rp-seo p:empty{display:none}
.rp-new.rp-seo ul{margin:0 0 12px !important;padding-left:22px !important;list-style:disc}
.rp-new.rp-seo li{margin:0 0 4px}
.rp-new.rp-seo a{color:var(--rp-b) !important;text-decoration:underline}

/* przycisk zawsze pod tekstem */
.rp-new .rp-seo__details{display:flex;flex-direction:column}
.rp-new .rp-seo__toggle{
  order:2;
  list-style:none;display:block;width:fit-content;
  margin:18px auto 0;padding:12px 30px;
  border:2px solid var(--rp-b);border-radius:999px;background:transparent;color:var(--rp-b);
  font-size:15px;font-weight:700;line-height:1.2;
  cursor:pointer;user-select:none;
  transition:background-color .2s,color .2s;
}
.rp-new .rp-seo__toggle::-webkit-details-marker{display:none}
.rp-new .rp-seo__toggle::marker{content:""}
.rp-new .rp-seo__toggle:hover{background:var(--rp-b);color:#fff}
.rp-new .rp-seo__toggle:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}
.rp-new .rp-seo__toggle p{display:inline;margin:0 !important}
.rp-new .rp-seo__less{display:none}
.rp-new .rp-seo__details[open] .rp-seo__more{display:none}
.rp-new .rp-seo__details[open] .rp-seo__less{display:inline}

/* płynne rozwijanie w nowszych przeglądarkach */
@supports selector(::details-content){
  .rp-new.rp-seo{interpolate-size:allow-keywords}
  .rp-new .rp-seo__details::details-content{
    block-size:0;overflow:hidden;
    transition:block-size .45s ease,content-visibility .45s allow-discrete;
  }
  .rp-new .rp-seo__details[open]::details-content{block-size:auto}
}
@media (prefers-reduced-motion:reduce){
  .rp-new .rp-seo__details::details-content{transition:none}
}


/* ---------- OPINIE GOOGLE (Raw HTML: <section class="rp-new rp-op">) ---------- */
.rp-new.rp-op{
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;
  max-width:1200px;margin:0 auto;padding:72px 15px;box-sizing:border-box;
  border-top:1px solid var(--rp-ln);
}
.rp-new .rp-op__title{
  margin:0 !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(28px,3vw,38px) !important;font-weight:300 !important;
  line-height:1.15 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new .rp-op__logo{display:block;width:119px;height:40px;margin:14px 0 8px}
.rp-new .rp-op__rate{display:flex;align-items:center;gap:8px;margin:0 0 20px !important;font-size:14px !important;color:var(--rp-mu) !important}
.rp-new .rp-op__stars,
.rp-new .rp-rv__stars{color:#f5b301;font-size:18px;line-height:1;letter-spacing:2px}
.rp-new .rp-op__nav{display:flex;gap:8px}
.rp-new .rp-op__all{display:inline-block;margin-top:20px;font-size:15px;font-weight:600;color:var(--rp-b) !important;text-decoration:underline}
.rp-new .rp-op__all:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

/* tor opinii: 2 karty, wysokość kart dopasowana do treści (UX) */
.rp-new .rp-op__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px) / 2);gap:20px;
  align-items:start;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:0 0 10px;
  scrollbar-width:thin;scrollbar-color:#b9c0ca var(--rp-chip);
}
.rp-new .rp-op__track:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}
.rp-new .rp-op__track::-webkit-scrollbar{height:6px}
.rp-new .rp-op__track::-webkit-scrollbar-track{background:var(--rp-chip)}
.rp-new .rp-op__track::-webkit-scrollbar-thumb{background:#b9c0ca;border-radius:3px}
@media (prefers-reduced-motion:reduce){.rp-new .rp-op__track{scroll-behavior:auto}}

/* karta opinii */
.rp-new .rp-rv{scroll-snap-align:start;box-sizing:border-box;padding:24px;border:1px solid var(--rp-ln);background:#fff;min-width:0}
.rp-new .rp-rv__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rp-new .rp-rv__name{margin:0 !important;font-size:17px !important;font-weight:700 !important;line-height:1.3 !important;color:var(--rp-tx) !important}
.rp-new .rp-rv__g{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#4285f4;color:#fff;font:700 15px/1 Arial,sans-serif}
.rp-new .rp-rv__stars{display:block;margin-top:6px}
.rp-new .rp-rv__text{
  margin:10px 0 0 !important;
  font-size:15px !important;line-height:1.7 !important;color:var(--rp-mu) !important;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden;
}
.rp-new .rp-rv__text.is-open{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible}
.rp-new .rp-rv__more{
  margin:6px 0 0;padding:6px 0;border:0;background:none;cursor:pointer;
  font:600 14px/1.2 Montserrat,system-ui,sans-serif;color:var(--rp-b);text-decoration:underline;
}
.rp-new .rp-rv__more[hidden]{display:none}
.rp-new .rp-rv__more:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

@media (max-width:860px){
  .rp-new.rp-op{grid-template-columns:1fr;gap:24px;padding:48px 16px}
  .rp-new .rp-op__head{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px}
  .rp-new .rp-op__title,.rp-new .rp-op__logo,.rp-new .rp-op__rate{grid-column:1}
  .rp-new .rp-op__nav{grid-column:2;grid-row:1 / span 3}
  .rp-new .rp-op__rate{margin-bottom:0 !important}
  .rp-new .rp-op__all{grid-column:1 / -1;margin-top:12px}
  .rp-new .rp-op__track{grid-auto-columns:88%;gap:16px}
}

/* ---------- FORMULARZ KONTAKTOWY (Row: Extra class "rp-new rp-fm", CF7: <div class="rp-new rp-form">) ---------- */
.rp-new.rp-fm{background:var(--rp-chip) !important;padding-top:48px !important;padding-bottom:72px !important}
.rp-new.rp-fm .formularz-kont{padding-left:0 !important;padding-right:0 !important}
.rp-new.rp-fm .vc_empty_space{display:none}
.rp-new .rp-fm__title{
  margin:0 0 12px !important;
  font-family:inherit !important;font-size:clamp(28px,3vw,40px) !important;font-weight:300 !important;
  line-height:1.2 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new .rp-fm__lead{max-width:520px;margin:0 0 40px !important;font-size:14px !important;line-height:1.7 !important;color:var(--rp-mu) !important}

/* układ: pola w jednej kolumnie 586 px, wiadomość pod e-mailem i telefonem, stopka na całą szerokość */
.rp-new.rp-form{display:block}
.rp-new.rp-form p{margin:0 !important;padding:0 !important}
.rp-new.rp-form br{display:none}
.rp-new .rp-form__col{display:flex;flex-direction:column;gap:30px;max-width:586px;min-width:0}
.rp-new .rp-form__col + .rp-form__col{margin-top:52px}
.rp-new .rp-form__row{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}
.rp-new .rp-form__field,
.rp-new .rp-form__field > p{display:flex !important;flex-direction:column;min-width:0}
.rp-new .rp-form__field label{display:block;margin:0 0 8px;font-size:14px;font-weight:400;line-height:1.3;color:var(--rp-mu)}
.rp-new.rp-form .wpcf7-form-control-wrap{display:block}

.rp-new.rp-form input[type=text],
.rp-new.rp-form input[type=email],
.rp-new.rp-form input[type=tel],
.rp-new.rp-form textarea{
  display:block;width:100% !important;box-sizing:border-box !important;margin:0 !important;
  padding:11px 14px !important;
  font-family:inherit !important;font-size:15px !important;line-height:1.4 !important;
  color:var(--rp-tx) !important;background:#fff !important;
  border:1.5px solid var(--rp-b) !important;border-radius:6px !important;box-shadow:none !important;
  transition:border-color .2s,box-shadow .2s;
}
.rp-new.rp-form input[type=text],
.rp-new.rp-form input[type=email],
.rp-new.rp-form input[type=tel]{height:45px !important}
.rp-new.rp-form textarea{height:150px !important;min-height:150px;resize:vertical}
.rp-new.rp-form input:focus,
.rp-new.rp-form textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(35,80,192,.3) !important}

/* błędy walidacji CF7 */
.rp-new.rp-form .wpcf7-not-valid{border-color:#c62828 !important}
.rp-new.rp-form .wpcf7-not-valid-tip{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:#c62828}

/* stopka: zgoda po lewej, przycisk przy prawej krawędzi */
.rp-new .rp-form__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px;margin-top:12px}
.rp-new .rp-form__foot > p{display:contents !important}
.rp-new.rp-form [data-name="acceptance-440"]{order:1}
.rp-new.rp-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.rp-new.rp-form .wpcf7-acceptance label{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;color:var(--rp-mu);cursor:pointer}
.rp-new.rp-form .wpcf7-acceptance input[type=checkbox]{width:16px;height:16px;margin:0;flex:none;accent-color:var(--rp-b)}
.rp-new.rp-form .wpcf7-acceptance a{color:var(--rp-b) !important;text-decoration:underline}

.rp-new.rp-form .rp-form__submit,
.rp-new.rp-form input[type=submit]{
  height:48px;min-width:211px;box-sizing:border-box !important;margin:0 !important;padding:0 34px !important;
  font-family:inherit !important;font-size:15px !important;font-weight:700 !important;line-height:1 !important;
  letter-spacing:.02em !important;text-transform:none !important;
  color:#fff !important;background:var(--rp-b) !important;border:0 !important;border-radius:0 !important;
  cursor:pointer;transition:background-color .2s;
}
.rp-new.rp-form .rp-form__submit:hover{background:var(--rp-b-dk,#1b3f99) !important}
.rp-new.rp-form .rp-form__submit:focus-visible{outline:3px solid var(--rp-tx);outline-offset:2px}
.rp-new.rp-form .rp-form__submit:disabled{opacity:.6;cursor:default}
.rp-new.rp-form .wpcf7-spinner{order:2;margin:0 12px 0 auto !important}
.rp-new.rp-form .rp-form__submit{order:3}

/* komunikat po wysłaniu */
.rp-new.rp-fm .wpcf7-response-output{margin:20px 0 0 !important;padding:12px 16px !important;font-size:14px;border-width:1.5px !important;border-radius:6px}

@media (max-width:767px){
  .rp-new.rp-fm{padding-top:40px !important;padding-bottom:48px !important}
  .rp-new .rp-form__col{max-width:none;gap:24px}
  .rp-new .rp-form__col + .rp-form__col{margin-top:24px}
  .rp-new .rp-form__row{grid-template-columns:1fr;gap:24px}
  .rp-new.rp-form input[type=text],
  .rp-new.rp-form input[type=email],
  .rp-new.rp-form input[type=tel],
  .rp-new.rp-form textarea{font-size:16px !important}
  .rp-new .rp-form__foot{flex-direction:column;align-items:stretch}
  .rp-new.rp-form .wpcf7-spinner{margin:0 auto !important}
  .rp-new.rp-form .rp-form__submit{width:100% !important}
}

/* ---------- FAQ – niebieski box w lewej kolumnie (Text Block: <div class="rp-new rp-faqbox">) ---------- */
.rp-new.rp-faqbox{
  box-sizing:border-box;
  padding:40px 36px;
  background:var(--rp-b);color:#fff;
  position:sticky;top:130px;
}
.rp-new .rp-faqbox__title{
  margin:0 0 14px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(26px,3vw,34px) !important;font-weight:700 !important;
  line-height:1.2 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:#fff !important;
}
.rp-new .rp-faqbox__text{margin:0 0 26px !important;font-size:15px !important;line-height:1.7 !important;color:#fff !important;opacity:.92}
.rp-new .rp-faqbox__btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;
  padding:12px 24px;background:#fff;color:var(--rp-b) !important;
  font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.04em;text-decoration:none !important;
  transition:background-color .2s;
}
.rp-new .rp-faqbox__btn:hover{background:var(--rp-chip)}
.rp-new .rp-faqbox__btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.rp-new.rp-faqbox p:empty{display:none}

@media (max-width:767px){
  .rp-new.rp-faqbox{position:static;padding:28px 20px;margin-bottom:24px}
}


/* ---------- FAQ – wiersz sekcji (Row: Extra class "rp-new rp-faqsec") ---------- */
.rp-new.rp-faqsec{padding-top:80px !important;padding-bottom:80px !important}
.rp-new.rp-faqsec .section_inner_margin{display:grid !important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;margin:0 !important;align-items:stretch}
.rp-new.rp-faqsec .section_inner_margin::before,
.rp-new.rp-faqsec .section_inner_margin::after{display:none !important}
.rp-new.rp-faqsec .section_inner_margin > .wpb_column{width:auto !important;float:none !important;min-width:0}
.rp-new.rp-faqsec .wpb_column > .vc_column-inner{padding:0 !important;height:100%}
.rp-new.rp-faqsec .wpb_column > .vc_column-inner > .wpb_wrapper{height:100%}
.rp-new .rp-faqbox__btn{font-size:13px;padding:13px 24px}

@media (max-width:767px){
  .rp-new.rp-faqsec{padding-top:48px !important;padding-bottom:48px !important}
  .rp-new.rp-faqsec .section_inner_margin{grid-template-columns:1fr;gap:0}
}

/* Pasek CTA – przyciski jako linki w Text Block */
.rp-new.rp-cta .rp-cta__btns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.rp-new.rp-cta .rp-cta__btns p{display:contents;margin:0 !important}   /* gdyby edytor owinął linki w <p> */
.rp-new.rp-cta .rp-cta__btns br{display:none}
.rp-new.rp-cta a.rp-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;box-sizing:border-box;margin:0;padding:0 26px;
  font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;
  letter-spacing:.04em;text-transform:none;white-space:nowrap;   /* UX: bez wersalików */
  border:2px solid #fff;border-radius:0;text-decoration:none !important;
  transition:background-color .2s,color .2s;
}
.rp-new.rp-cta a.rp-cta__btn--light{background-color:#fff;color:var(--rp-b) !important}
.rp-new.rp-cta a.rp-cta__btn--light:hover{background-color:transparent;color:#fff !important}
.rp-new.rp-cta a.rp-cta__btn--ghost{background-color:transparent;color:#fff !important}
.rp-new.rp-cta a.rp-cta__btn--ghost:hover{background-color:#fff;color:var(--rp-b) !important}
.rp-new.rp-cta a.rp-cta__btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media (max-width:767px){
  .rp-new.rp-cta .rp-cta__btns{flex-direction:column;align-items:stretch}
  .rp-new.rp-cta a.rp-cta__btn{width:100%}
}


/* ---------- PASEK CTA (Row: Extra class "rp-new rp-cta", kolumny 8/12 + 4/12) ---------- */
.rp-new.rp-cta{background:var(--rp-b) !important;padding-top:40px !important;padding-bottom:40px !important;border:0 !important}
.rp-new.rp-cta .section_inner_margin{display:flex !important;align-items:center;flex-wrap:wrap;gap:24px 40px;margin:0 !important}
.rp-new.rp-cta .section_inner_margin::before,
.rp-new.rp-cta .section_inner_margin::after{display:none !important}
.rp-new.rp-cta .section_inner_margin > .wpb_column{float:none !important;width:auto !important;min-width:0}
.rp-new.rp-cta .section_inner_margin > .wpb_column:first-child{flex:1 1 420px}
.rp-new.rp-cta .section_inner_margin > .wpb_column:last-child{flex:0 0 auto}
.rp-new.rp-cta .vc_column-inner{padding:0 !important}
.rp-new.rp-cta .wpb_content_element{margin-bottom:0 !important}
.rp-new .rp-cta__title{
  margin:0 0 6px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(22px,2.2vw,28px) !important;font-weight:700 !important;
  line-height:1.25 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:#fff !important;
}
.rp-new .rp-cta__text{margin:0 !important;font-size:15px !important;line-height:1.6 !important;color:#fff !important;opacity:.92}
.rp-new.rp-cta .rp-cta__btns{flex-wrap:nowrap}

@media (max-width:767px){
  .rp-new.rp-cta{padding-top:32px !important;padding-bottom:32px !important}
  .rp-new.rp-cta .section_inner_margin > .wpb_column{flex:1 1 100% !important}
}

/* =========================================================
   STOPKA + PASEK CTA nad stopką (inc/rp-footer.php)
   Wymiary z makiety; odstępstwa tylko z rekomendacji UX
   (16 px linki, min. 14 px tekst pomocniczy, #586579, 44 px na dotyk, bez wersalików).
   ========================================================= */

/* ---------- Pasek CTA w stopce (korzysta z reguł .rp-new.rp-cta powyżej) ---------- */
.rp-new.rp-cta.rp-cta--ft{padding-top:36px !important;padding-bottom:36px !important}
.rp-new.rp-cta--ft .rp-cta__in{
  max-width:1140px;margin:0 auto;padding:0 20px;box-sizing:border-box;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
}
.rp-new.rp-cta--ft .rp-cta__body{flex:1 1 420px;min-width:0}
.rp-new.rp-cta--ft a.rp-cta__btn{min-height:52px;padding:0 24px}

/* ---------- Stopka ---------- */
.rp-new.rp-ft{background:#f4f6fa;border-top:1px solid var(--rp-ln);color:var(--rp-mu);margin:0;padding:0}
.rp-new.rp-ft a{color:inherit;text-decoration:none !important;transition:color .2s}
.rp-new.rp-ft a:hover{color:var(--rp-b)}
.rp-new.rp-ft a:focus-visible{outline:2px solid var(--rp-b);outline-offset:2px}
.rp-new.rp-ft ul{list-style:none !important;margin:0 !important;padding:0 !important}
.rp-new.rp-ft li{margin:0;padding:0;background:none}
.rp-new.rp-ft li::before{display:none}
.rp-new.rp-ft p{margin:0}

.rp-new .rp-ft__main{
  max-width:1140px;margin:0 auto;padding:52px 20px 36px;box-sizing:border-box;
  display:grid;grid-template-columns:1.35fr 1fr 1fr .8fr 1.45fr;gap:32px;   /* proporcje makiety dopasowane do kontenera 1100 px */
}
.rp-new .rp-ft__col{min-width:0}

/* kolumna marki */
.rp-new .rp-ft__logo{display:inline-block}
.rp-new .rp-ft__logo img{display:block;width:224px;max-width:100%;height:auto}
.rp-new .rp-ft__desc{font-size:14px;line-height:1.8;margin:18px 0 !important}
.rp-new.rp-ft .rp-ft__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px !important}
.rp-new .rp-ft__chips li{font-size:13px;font-weight:600;line-height:1.4;color:var(--rp-b);border:1.5px solid var(--rp-b);padding:5px 10px}
.rp-new.rp-ft .rp-ft__yt{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--rp-tx)}
.rp-new .rp-ft__yt i{position:relative;flex:0 0 22px;width:22px;height:16px;background:#e62117;border-radius:4px}
.rp-new .rp-ft__yt i::after{content:"";position:absolute;left:9px;top:4px;border-left:6px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent}

/* nagłówki kolumn (h2 – nadpisujemy style motywu); 16 px jak linki pod nimi */
.rp-new .rp-ft__h{
  margin:4px 0 16px !important;padding:0 !important;
  font-family:inherit !important;font-size:16px !important;font-weight:700 !important;line-height:1.3 !important;
  letter-spacing:0 !important;text-transform:none !important;color:var(--rp-tx) !important;
}

/* listy linków */
.rp-new .rp-ft__list li{margin-bottom:10px;line-height:1.5}
.rp-new .rp-ft__list a{font-size:16px}

/* kontakt */
.rp-new .rp-ft__ct .rp-ft__list li{margin-bottom:14px}
.rp-new .rp-ft__ct small{display:block;font-size:14px;line-height:1.5;color:var(--rp-mu)}
.rp-new .rp-ft__ct .rp-ft__list a{font-weight:600;color:var(--rp-tx);overflow-wrap:anywhere}
.rp-new .rp-ft__ct .rp-ft__list a:hover{color:var(--rp-b)}
.rp-new .rp-ft__co{font-size:14px;line-height:1.8;margin-top:18px !important;padding-top:16px;border-top:1px solid var(--rp-ln)}

/* dolny pasek */
.rp-new .rp-ft__bot{border-top:1px solid var(--rp-ln)}
.rp-new .rp-ft__bot-in{
  max-width:1140px;margin:0 auto;padding:18px 20px;box-sizing:border-box;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:14px;line-height:1.5;
}
.rp-new .rp-ft__bot-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 22px}
.rp-new.rp-ft .rp-ft__legal{display:flex;flex-wrap:wrap;gap:0 22px}
.rp-new .rp-ft__lang{display:flex;align-items:center;gap:12px}
.rp-new .rp-ft__lang span{font-weight:700;color:var(--rp-tx)}

/* tablet: marka na całą szerokość, kolumny 2 × 2 */
@media (max-width:1000px){
  .rp-new .rp-ft__main{grid-template-columns:1fr 1fr}
  .rp-new .rp-ft__brand{grid-column:1/-1}
  .rp-new .rp-ft__bot-in{padding-bottom:96px}   /* miejsce na pływający przycisk wyceny */
  /* UX: obszary dotykowe 44 px */
  .rp-new.rp-ft .rp-ft__yt{min-height:44px}
  .rp-new .rp-ft__legal a,
  .rp-new .rp-ft__lang a,
  .rp-new .rp-ft__lang span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  .rp-new .rp-ft__lang{gap:0}
}
@media (max-width:767px){
  .rp-new.rp-cta.rp-cta--ft{padding-top:28px !important;padding-bottom:28px !important}
  .rp-new.rp-cta--ft .rp-cta__body{flex-basis:100%}
  .rp-new .rp-ft__main{padding:40px 20px 28px}
  .rp-new .rp-ft__list li{margin-bottom:0}
  .rp-new .rp-ft__list a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;box-sizing:border-box}
  .rp-new .rp-ft__ct .rp-ft__list li{margin-bottom:8px}
  .rp-new .rp-ft__bot-in{flex-direction:column-reverse;align-items:flex-start}
}
/* mobile: UX dopuszcza 1 lub 2 kolumny – linki w 2, kontakt na całą szerokość */
@media (max-width:560px){
  .rp-new .rp-ft__main{gap:28px 20px}
  .rp-new .rp-ft__ct{grid-column:1/-1}
}
@media (max-width:359px){
  .rp-new .rp-ft__main{grid-template-columns:1fr}
}


/* =========================================================
   HEADER (inc/rp-header.php + assets/js/rp-header.js)
   Układ z makiety; odstępstwa z rekomendacji UX:
   16 px w menu i podmenu, bez wersalików, 44 px na dotyk, hamburger na mobile.
   ========================================================= */

/* ---------- Wyłączenie offsetów starego headera Stockholm (body.rp-hd-on) ---------- */
.rp-hd-on .content,
.rp-hd-on .content.content_top_margin{margin-top:0 !important;padding-top:0 !important}
.rp-hd-on .wrapper_inner{overflow:visible;overflow-x:clip}   /* overflow:hidden blokuje position:sticky */
.rp-hd-on [id]{scroll-margin-top:calc(var(--rp-hd-h,110px) + 16px)}
html.rp-hd-lock{overflow:hidden}

.rp-sr{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Pasek ---------- */
.rp-new.rp-hd{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--rp-ln);margin:0;padding:0}
.admin-bar .rp-new.rp-hd{top:32px}
.rp-new.rp-hd a{text-decoration:none !important}
.rp-new.rp-hd a:focus-visible,
.rp-new.rp-hd button:focus-visible{outline:2px solid var(--rp-b);outline-offset:2px}
.rp-new.rp-hd ul{list-style:none !important;margin:0 !important;padding:0 !important}
.rp-new.rp-hd li{margin:0;padding:0;background:none}
.rp-new.rp-hd li::before{display:none}
.rp-new.rp-hd p{margin:0}
.rp-new.rp-hd button{font-family:inherit;text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer}

.rp-new .rp-hd__in{
  max-width:1140px;margin:0 auto;padding:10px 20px 0;box-sizing:border-box;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
}
.rp-new .rp-hd__logo{flex:0 0 auto;display:block;padding-bottom:12px}
.rp-new .rp-hd__logo img{display:block;width:224px;max-width:100%;height:auto}
.rp-new .rp-hd__burger{display:none}
.rp-new .rp-hd__panel{flex:1;min-width:0;display:flex;flex-direction:column}

/* górny pasek: wycena, YouTube, PL/DE */
.rp-new .rp-hd__top{
  display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 28px;
  padding-bottom:8px;border-bottom:1px solid var(--rp-ln);font-size:14px;line-height:1.4;color:var(--rp-mu);
}
.rp-new.rp-hd a.rp-hd__quote{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 26px;box-sizing:border-box;
  background:var(--rp-b);color:#fff !important;font-size:14px;font-weight:700;transition:background-color .2s;
}
.rp-new.rp-hd a.rp-hd__quote:hover{background:var(--rp-b-dk)}
.rp-new.rp-hd a.rp-hd__yt{display:inline-flex;align-items:center;gap:8px;color:var(--rp-mu)}
.rp-new.rp-hd a.rp-hd__yt:hover{color:var(--rp-b)}
.rp-new .rp-hd__yt i{position:relative;flex:0 0 20px;width:20px;height:14px;background:#e62117;border-radius:4px}
.rp-new .rp-hd__yt i::after{content:"";position:absolute;left:8px;top:4px;border-left:5px solid #fff;border-top:3px solid transparent;border-bottom:3px solid transparent}
.rp-new .rp-hd__lang{display:flex;align-items:center;gap:10px}
.rp-new .rp-hd__lang span{font-weight:700;color:var(--rp-tx)}
.rp-new.rp-hd .rp-hd__lang a{color:var(--rp-mu);font-weight:600}
.rp-new.rp-hd .rp-hd__lang a:hover{color:var(--rp-b)}

/* menu główne */
.rp-new .rp-hd__menu{display:flex;justify-content:flex-end;gap:clamp(12px,2vw,36px);position:relative}
.rp-new .rp-hd__item{display:flex;align-items:center;border-bottom:3px solid transparent;color:var(--rp-tx);transition:color .2s,border-color .2s}
.rp-new .rp-hd__item--has:not(.rp-hd__item--wide){position:relative}
.rp-new.rp-hd .rp-hd__link{display:block;padding:14px 0 11px;font-size:16px;font-weight:500;line-height:1.3;color:inherit !important}
.rp-new .rp-hd__item:hover,
.rp-new .rp-hd__item.is-open,
.rp-new .rp-hd__item.is-current{color:var(--rp-b);border-bottom-color:var(--rp-b)}
.rp-new.rp-hd .rp-hd__toggle{
  display:flex;align-items:center;justify-content:center;width:22px;height:44px;margin:0 0 0 2px;padding:0;
  background:none;border:0;border-radius:0;color:inherit;
}
.rp-new .rp-hd__toggle::before{
  content:"";width:7px;height:7px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s;
}
.rp-new .rp-hd__toggle[aria-expanded="true"]::before{margin-top:4px;transform:rotate(225deg)}

/* podmenu */
.rp-new .rp-hd__dd{
  display:none;position:absolute;top:100%;z-index:5;box-sizing:border-box;
  background:#fff;border:1px solid var(--rp-ln);border-top:3px solid var(--rp-b);
  padding:20px 22px;box-shadow:0 12px 30px rgba(0,0,0,.12);margin-top:3px;   /* 3px = podkreślenie pozycji */
}
.rp-new .rp-hd__item.is-open > .rp-hd__dd,
.rp-new.rp-hd:not(.is-js) .rp-hd__item--has:hover > .rp-hd__dd,
.rp-new.rp-hd:not(.is-js) .rp-hd__item--has:focus-within > .rp-hd__dd{display:block}
.rp-new .rp-hd__item--has:not(.rp-hd__item--wide) > .rp-hd__dd{left:-20px;width:320px}
.rp-new .rp-hd__item--wide > .rp-hd__dd{right:0;width:760px;max-width:calc(100vw - 40px);margin-top:0}   /* liczone od dołu listy, podkreślenie już w niej jest */
.rp-new .rp-hd__ddg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px 24px}
.rp-new .rp-hd__gh{margin:0 0 6px 10px !important;font-size:14px;font-weight:600;line-height:1.4;color:var(--rp-mu)}
.rp-new.rp-hd .rp-hd__sublink{
  display:block;padding:9px 10px;font-size:16px;font-weight:500;line-height:1.35;color:var(--rp-tx) !important;
  transition:background-color .2s,color .2s;
}
.rp-new.rp-hd .rp-hd__sublink:hover,
.rp-new.rp-hd .rp-hd__sublink.is-current{background:var(--rp-chip);color:var(--rp-b) !important}
.rp-new.rp-hd .rp-hd__all{
  display:block;margin-top:10px;padding:14px 10px 4px;border-top:1px solid var(--rp-ln);
  font-size:16px;font-weight:600;color:var(--rp-b) !important;
}
.rp-new.rp-hd .rp-hd__all:hover{color:var(--rp-b-dk) !important}

/* ---------- Tablet / mobile: hamburger + panel ---------- */
@media (max-width:1023px){
  .rp-new .rp-hd__in{flex-wrap:wrap;align-items:center;gap:0 16px;padding:8px 16px}
  .rp-new .rp-hd__logo{padding:0}
  .rp-new .rp-hd__logo img{width:170px}
  .rp-new.rp-hd .rp-hd__burger{
    display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 14px;margin:0;
    background:#fff;border:1px solid var(--rp-ln);border-radius:0;color:var(--rp-tx);font-size:16px;font-weight:600;line-height:1;
  }
  .rp-new .rp-hd__burger-icon,
  .rp-new .rp-hd__burger-icon::before,
  .rp-new .rp-hd__burger-icon::after{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s,background-color .2s}
  .rp-new .rp-hd__burger-icon{position:relative}
  .rp-new .rp-hd__burger-icon::before,
  .rp-new .rp-hd__burger-icon::after{content:"";position:absolute;left:0}
  .rp-new .rp-hd__burger-icon::before{top:-6px}
  .rp-new .rp-hd__burger-icon::after{top:6px}
  .rp-new.rp-hd.is-menu-open .rp-hd__burger-icon{background:transparent}
  .rp-new.rp-hd.is-menu-open .rp-hd__burger-icon::before{transform:translateY(6px) rotate(45deg)}
  .rp-new.rp-hd.is-menu-open .rp-hd__burger-icon::after{transform:translateY(-6px) rotate(-45deg)}

  .rp-new .rp-hd__panel{
    flex:0 0 calc(100% + 32px);margin:8px -16px -8px;padding:0 16px 24px;box-sizing:border-box;
    border-top:1px solid var(--rp-ln);max-height:calc(100vh - var(--rp-hd-h,64px));max-height:calc(100dvh - var(--rp-hd-h,64px));
    overflow-y:auto;overscroll-behavior:contain;
  }
  .rp-new.rp-hd.is-js .rp-hd__panel{display:none}
  .rp-new.rp-hd.is-js.is-menu-open .rp-hd__panel{display:flex}

  .rp-new .rp-hd__nav{order:1}
  .rp-new .rp-hd__menu{flex-direction:column;gap:0}
  .rp-new .rp-hd__item{flex-wrap:wrap;border-bottom:1px solid var(--rp-ln)}
  .rp-new .rp-hd__item:hover{color:var(--rp-tx);border-bottom-color:var(--rp-ln)}
  .rp-new .rp-hd__item.is-open{border-bottom-color:var(--rp-ln)}
  .rp-new .rp-hd__item.is-current{color:var(--rp-b);border-bottom-color:var(--rp-ln)}
  .rp-new.rp-hd .rp-hd__link{flex:1;display:flex;align-items:center;min-height:52px;padding:8px 0;box-sizing:border-box;font-size:17px;font-weight:600}
  .rp-new.rp-hd .rp-hd__toggle{width:52px;height:52px;margin:0 -12px 0 0}
  .rp-new .rp-hd__dd,
  .rp-new .rp-hd__item--has:not(.rp-hd__item--wide) > .rp-hd__dd,
  .rp-new .rp-hd__item--wide > .rp-hd__dd{position:static;flex:0 0 100%;width:auto;max-width:none;margin:0;padding:0 0 12px;border:0;box-shadow:none}
  .rp-new .rp-hd__ddg{display:block}
  .rp-new .rp-hd__group + .rp-hd__group{margin-top:8px}
  .rp-new .rp-hd__gh{margin:4px 0 2px 12px !important}
  .rp-new .rp-hd__gh--empty{display:none}
  .rp-new.rp-hd .rp-hd__sublink{display:flex;align-items:center;min-height:44px;padding:8px 12px;box-sizing:border-box}
  .rp-new.rp-hd .rp-hd__all{display:flex;align-items:center;min-height:44px;margin-top:4px;padding:8px 12px;box-sizing:border-box;border-top:0}

  .rp-new .rp-hd__top{order:2;justify-content:space-between;gap:12px;padding:20px 0 0;border:0}
  .rp-new.rp-hd a.rp-hd__quote{flex:0 0 100%;min-height:48px;font-size:16px}
  .rp-new.rp-hd a.rp-hd__yt{min-height:44px}
  .rp-new .rp-hd__lang{gap:0}
  .rp-new .rp-hd__lang span,
  .rp-new.rp-hd .rp-hd__lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
}
@media (max-width:782px){
  .admin-bar .rp-new.rp-hd{top:46px}
}
@media (max-width:600px){
  .admin-bar .rp-new.rp-hd{top:0}
}
@media (max-width:359px){
  .rp-new .rp-hd__logo img{width:140px}
  .rp-new.rp-hd .rp-hd__burger{padding:0 10px}
}


/* =========================================================
   KATEGORIE BASENÓW (inc/rp-kategoria.php) + kafel „Chcesz inny rozmiar?”
   Układ z makiety; UX: tekst 16 px, okruszki 14 px, bez wersalików, 44 px na dotyk.
   ========================================================= */

/* ---------- Kafel „Chcesz inny rozmiar?” [rp_karuzela inny="1"] ---------- */
.rp-new .rp-card--other{background:var(--rp-b);border-color:var(--rp-b);color:#fff}
.rp-new .rp-card__other{display:flex;flex-direction:column;justify-content:center;gap:14px;height:100%;padding:32px 28px;box-sizing:border-box}
.rp-new .rp-card__q{display:grid;place-items:center;width:52px;height:52px;border:2px solid #fff;font-size:26px;font-weight:700;line-height:1}
.rp-new .rp-card--other .rp-card__title{font-size:22px !important;font-weight:700 !important;line-height:1.25 !important;color:#fff !important}
.rp-new .rp-card__other-txt{margin:0 !important;font-size:15px;line-height:1.7;color:#fff}
.rp-new .rp-card__btn--light{align-self:stretch;margin-top:6px;background:#fff;border-color:#fff;color:var(--rp-b) !important}   /* pełna szerokość jak przyciski kart */
.rp-new .rp-card__btn--light:hover{background:transparent;color:#fff !important}
.rp-new .rp-card__btn--light:focus-visible{outline-color:#fff}

/* ---------- Układ strony kategorii ---------- */
.rp-new.rp-cat{color:var(--rp-tx)}
.rp-new .rp-cat__in{max-width:1140px;margin:0 auto;padding:0 20px;box-sizing:border-box}

/* okruszki (Yoast) */
.rp-new .rp-cat__bc{padding:22px 0 0;font-size:14px;line-height:1.5;color:var(--rp-mu)}
.rp-new .rp-cat__bc a{color:var(--rp-mu) !important;text-decoration:none !important}
.rp-new .rp-cat__bc a:hover{color:var(--rp-b) !important}
.rp-new .rp-cat__bc .breadcrumb_last{color:var(--rp-tx)}
.rp-new .rp-cat__sep{margin:0 8px}

/* nagłówek */
.rp-new .rp-cat__head{padding:22px 0 0}
.rp-new .rp-cat__title{
  margin:0 0 14px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(30px,3.6vw,44px) !important;font-weight:800 !important;
  line-height:1.1 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new .rp-cat__intro{max-width:900px}
.rp-new .rp-cat__intro p{margin:0 0 10px !important;font-size:16px !important;line-height:1.8 !important;color:var(--rp-mu) !important}
.rp-new .rp-cat__intro strong{color:var(--rp-tx)}
.rp-new .rp-cat__intro a{color:var(--rp-b) !important;font-weight:600}

/* siatka „Wybierz rozmiar basenu” */
.rp-new.rp-cat .rp-car{margin:40px 0 0}
.rp-new.rp-cat .rp-car__head{margin-bottom:24px;padding-bottom:14px;align-items:flex-end}
.rp-new.rp-cat .rp-car__title{font-size:clamp(22px,2.6vw,30px) !important;font-weight:600 !important}

/* opis + FAQ */
.rp-new .rp-cat__desc{margin-top:64px;padding:56px 20px;background:var(--rp-chip)}
.rp-new .rp-cat__desc-in{max-width:860px;margin:0 auto}
.rp-new .rp-cat__desc h2{
  margin:36px 0 14px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(22px,2.6vw,30px) !important;font-weight:600 !important;
  line-height:1.25 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;
  color:var(--rp-tx) !important;
}
.rp-new .rp-cat__desc-in > h2:first-child{margin-top:0 !important}
.rp-new .rp-cat__desc p,
.rp-new .rp-cat__desc li{font-size:16px !important;line-height:1.85 !important;color:var(--rp-tx) !important}
.rp-new .rp-cat__desc p{margin:0 0 12px !important}
.rp-new .rp-cat__desc ul{margin:0 0 12px !important;padding-left:22px !important;list-style:disc}
.rp-new .rp-cat__desc a{color:var(--rp-b) !important;font-weight:600}
.rp-new .rp-cat__desc hr{display:none}   /* linia z edytora przed FAQ – w makiecie jej nie ma */

.rp-new .rp-cat__faq{margin-top:18px;padding:0 24px;background:#fff;border:1px solid var(--rp-ln)}
.rp-new .rp-cat__faq details + details{border-top:1px solid var(--rp-ln)}
.rp-new .rp-cat__faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:20px 0;
  list-style:none;cursor:pointer;font-size:16px;font-weight:600;line-height:1.4;color:var(--rp-tx);
}
.rp-new .rp-cat__faq summary::-webkit-details-marker{display:none}
.rp-new .rp-cat__faq summary::after{
  content:"+";flex:none;display:grid;place-items:center;width:36px;height:36px;box-sizing:border-box;
  border:2px solid var(--rp-b);color:var(--rp-b);font-size:22px;font-weight:400;line-height:1;
}
.rp-new .rp-cat__faq details[open] summary{color:var(--rp-b)}
.rp-new .rp-cat__faq details[open] summary::after{content:"−";background:var(--rp-b);color:#fff}
.rp-new .rp-cat__faq summary:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}
.rp-new .rp-cat__faq-a{padding:0 48px 20px 0}
.rp-new .rp-cat__faq-a p{color:var(--rp-mu) !important}
.rp-new .rp-cat__faq-a p:last-child{margin-bottom:0 !important}

@media (max-width:767px){
  .rp-new .rp-cat__head{padding-top:16px}
  .rp-new .rp-cat__desc{margin-top:48px;padding:40px 16px}
  .rp-new .rp-cat__faq{padding:0 16px}
  .rp-new .rp-cat__faq-a{padding-right:0}
  .rp-new .rp-card__other{padding:28px 24px}
}

/* ---------- Kategoria saun (rp_cat_config: 'sauny') – siatka bez nagłówka, bliżej wstępu ---------- */
.rp-new.rp-cat--sauny .rp-car{margin-top:36px}


/* =========================================================
   KARTA PRODUKTU BASENU (inc/rp-produkt.php, body.rp-prod-on)
   Układ z makiety; UX: tekst 16 px, pomocniczy min. 14 px, #586579, bez wersalików, 44 px na dotyk.
   ========================================================= */

/* okruszki nad zdjęciem i opisem */
.rp-prod-on .content .container .container_inner.default_template_holder{padding-top:0}   /* okruszki tuż pod headerem */
.rp-new.rp-prod-bc{max-width:1100px;margin:0 auto;padding:22px 0 18px;font-size:14px;line-height:1.5;color:var(--rp-mu)}
.rp-new.rp-prod-bc a{color:var(--rp-mu) !important;text-decoration:none !important}
.rp-new.rp-prod-bc a:hover{color:var(--rp-b) !important}
.rp-new.rp-prod-bc .breadcrumb_last{color:var(--rp-tx)}

/* dwie kolumny: zdjęcie | opis */
.rp-prod-on.woocommerce.single-product .product .product-summary-wrapper{gap:clamp(24px,4vw,56px)}
.rp-prod-on.woocommerce.single-product .product .product-summary-wrapper .woocommerce-gallery-wrapper,
.rp-prod-on.woocommerce.single-product .product .product-summary-wrapper .summary{width:auto;flex:1 1 0;min-width:0}
.rp-prod-on.woocommerce.single-product .product .woocommerce-product-gallery__wrapper{background:#fff;border:1px solid var(--rp-ln,#e3e8ef)}
.rp-prod-on.woocommerce.single-product .product .product-icon{display:none}
.rp-prod__badge{
  position:absolute;top:12px;left:12px;z-index:3;padding:4px 10px;border-radius:3px;
  background:var(--rp-b,#2350c0);color:#fff;font-family:Montserrat,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1.3;
}

/* prawa kolumna */
.rp-new.rp-prod{color:var(--rp-tx)}
.rp-new .rp-prod__title{
  margin:2px 0 20px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(26px,3vw,38px) !important;font-weight:700 !important;
  line-height:1.2 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--rp-tx) !important;
}
.rp-new .rp-prod__type{display:block;margin-bottom:4px;font-size:.62em;font-weight:500;color:var(--rp-mu)}
.rp-new .rp-prod__desc{margin:-6px 0 22px}
.rp-new .rp-prod__desc p,
.rp-new .rp-prod__desc li{font-size:16px !important;line-height:1.7 !important;color:var(--rp-tx) !important}
.rp-new .rp-prod__desc p{margin:0 0 8px !important}
.rp-new .rp-prod__desc ul{margin:0 !important;padding-left:20px !important;list-style:disc}
.rp-new .rp-prod__desc li{margin:0 0 4px}

.rp-new .rp-prod__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}
.rp-new .rp-prod__facts div{background:var(--rp-chip);padding:10px 12px}
.rp-new .rp-prod__facts small{display:block;font-size:13px;line-height:1.3;color:var(--rp-mu)}
.rp-new .rp-prod__facts b{display:block;font-size:16px;font-weight:600;line-height:1.35}

.rp-new .rp-prod__colors{margin:0 0 22px}
.rp-new .rp-prod__lbl{margin:0 0 10px !important;font-size:14px;font-weight:700}
.rp-new .rp-prod__sw{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.rp-new .rp-prod__sw i{display:block;width:24px;height:24px;border-radius:50%;border:1px solid #c9d0d9}
.rp-new .rp-prod__cn{margin:0 !important;font-size:14px;line-height:1.5;color:var(--rp-mu)}

.rp-new .rp-prod__price{margin:0 0 18px;padding-top:18px;border-top:1px solid var(--rp-ln)}
.rp-new .rp-prod__amount{margin:0 !important;font-size:15px;line-height:1.2;color:var(--rp-mu)}
.rp-new .rp-prod__amount .amount,
.rp-new .rp-prod__amount bdi{font-size:34px;font-weight:700;color:var(--rp-b)}
.rp-new .rp-prod__note{margin:6px 0 0 !important;font-size:14px;line-height:1.5;color:var(--rp-mu)}
.rp-new a.rp-prod__btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;box-sizing:border-box;
  background:var(--rp-b);border:2px solid var(--rp-b);color:#fff !important;
  font-size:16px;font-weight:700;line-height:1.2;text-transform:none;letter-spacing:0;text-decoration:none !important;
  transition:background-color .2s,color .2s;
}
.rp-new a.rp-prod__btn:hover{background:transparent;color:var(--rp-b) !important}
.rp-new a.rp-prod__btn:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

/* ---------- Akcesoria + formularz ---------- */
.rp-new.rp-prx{clear:both;max-width:1100px;margin:0 auto;padding:72px 0 88px;color:var(--rp-tx)}
.rp-new .rp-prx__head{max-width:780px;margin-bottom:32px}
.rp-new .rp-prx__title{
  margin:0 0 10px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(24px,3vw,32px) !important;font-weight:600 !important;
  line-height:1.25 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;color:var(--rp-tx) !important;
}
.rp-new .rp-prx__lead{margin:0 !important;font-size:16px;line-height:1.7;color:var(--rp-mu)}
.rp-new .rp-prx__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.rp-new.rp-prx .rp-prx__tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 !important;padding:0 !important;list-style:none !important}
.rp-new.rp-prx .rp-prx__tiles li{margin:0;padding:0;background:none}
.rp-new.rp-prx .rp-prx__tiles li::before{display:none}
.rp-new a.rp-prx__tile{display:flex;flex-direction:column;height:100%;border:1px solid var(--rp-ln);background:#fff;color:var(--rp-tx) !important;text-decoration:none !important;transition:border-color .2s}
.rp-new .rp-prx__img{display:flex;align-items:center;justify-content:center;height:190px;padding:18px;box-sizing:border-box;background:#fff}
.rp-new .rp-prx__img:empty{background:var(--rp-chip)}
.rp-new .rp-prx__img img{display:block;max-width:100%;max-height:154px;width:auto;height:auto;object-fit:contain}
.rp-new .rp-prx__tt{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;margin-top:auto;padding:12px 16px;box-sizing:border-box;border-top:1px solid var(--rp-ln);font-size:16px;font-weight:600;line-height:1.3}
.rp-new .rp-prx__tt span{color:var(--rp-b);font-size:22px;line-height:1}
.rp-new a.rp-prx__tile:hover{border-color:var(--rp-b)}
.rp-new a.rp-prx__tile:hover .rp-prx__tt{color:var(--rp-b)}
.rp-new a.rp-prx__tile:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

.rp-new .rp-prx__form{padding:28px;background:var(--rp-chip);scroll-margin-top:calc(var(--rp-hd-h,110px) + 16px)}
.rp-new .rp-prx__form-title{margin:0 0 6px !important;padding:0 !important;font-family:inherit !important;font-size:20px !important;font-weight:700 !important;line-height:1.3 !important;text-transform:none !important;letter-spacing:0 !important;color:var(--rp-tx) !important}
.rp-new .rp-prx__form-lead{margin:0 0 20px !important;font-size:15px;line-height:1.6;color:var(--rp-mu)}
/* formularz 87009 (.rp-form) w wąskiej kolumnie */
.rp-new.rp-prx .rp-form__col{max-width:none;gap:18px}
.rp-new.rp-prx .rp-form__col + .rp-form__col{margin-top:18px}
.rp-new.rp-prx .rp-form__row{gap:18px 16px}
.rp-new.rp-prx .rp-form textarea{height:120px !important;min-height:120px}
.rp-new.rp-prx .rp-form__foot{flex-direction:column;align-items:stretch}
.rp-new.rp-prx .rp-form .wpcf7-spinner{margin:0 auto !important}
.rp-new.rp-prx .rp-form .rp-form__submit{width:100% !important;height:48px !important}   /* style WooCommerce na karcie produktu nadpisują wysokość */

@media (max-width:999px){
  .rp-new.rp-prod-bc{padding:16px 0 12px}
}
@media (max-width:900px){
  .rp-new .rp-prx__grid{grid-template-columns:1fr}
  .rp-new.rp-prx{padding:48px 0 56px}
}
@media (max-width:420px){
  .rp-new .rp-prod__facts div{padding:8px}
  .rp-new .rp-prod__facts b{font-size:15px}
  .rp-new.rp-prx .rp-prx__tiles{gap:10px}
  .rp-new .rp-prx__img{height:130px}
  .rp-new .rp-prx__img img{max-height:100px}
  .rp-new .rp-prx__tt{font-size:15px;padding:10px 12px}
  .rp-new .rp-prx__form{padding:20px}
  .rp-new a.rp-prod__btn{width:100%}
}


/* =========================================================
   CENNIK PAKIETÓW na karcie basenu (inc/rp-pakiety.php)
   Układ z makiety; UX: min. 13–14 px także na mobile, bez wersalików, przyciski 44 px.
   Kolumna „Najczęściej wybierany” = 2. pakiet (rp_pk_config 'best' => 1).
   ========================================================= */
.rp-new.rp-pk{clear:both;margin:72px calc(50% - 50vw) 0;padding:64px 0 72px;background:var(--rp-chip);color:var(--rp-tx)}
.rp-new .rp-pk__head{max-width:700px;margin:0 auto 36px;padding:0 20px;text-align:center}
.rp-new .rp-pk__title{
  margin:0 0 10px !important;padding:0 !important;
  font-family:inherit !important;font-size:clamp(24px,3vw,34px) !important;font-weight:600 !important;
  line-height:1.25 !important;letter-spacing:0 !important;text-transform:none !important;text-align:center !important;color:var(--rp-tx) !important;
}
.rp-new .rp-pk__lead{margin:0 !important;font-size:16px;line-height:1.7;color:var(--rp-mu)}
.rp-new .rp-pk__wrap{max-width:1140px;margin:0 auto;padding:0 20px;box-sizing:border-box}

.rp-new .rp-pk__table{width:100%;margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;font-family:inherit}
.rp-new .rp-pk__table th,
.rp-new .rp-pk__table td{font-family:inherit;letter-spacing:0;text-transform:none}
.rp-new .rp-pk__corner{width:24%;vertical-align:bottom;padding:20px;font-size:14px;font-weight:700;color:var(--rp-mu);background:var(--rp-chip);border-bottom:1px solid var(--rp-ln)}
.rp-new .rp-pk__table thead th{position:relative;vertical-align:top;text-align:center;padding:54px 18px 24px;border:1px solid var(--rp-ln);border-left:0;background:#fff;font-weight:400}
.rp-new .rp-pk__table thead th:nth-child(2){border-left:1px solid var(--rp-ln)}
.rp-new .rp-pk__table thead th.is-best{border:2px solid var(--rp-b);border-bottom-width:1px}
.rp-new .rp-pk__pb{position:absolute;left:-2px;right:-2px;top:-2px;background:var(--rp-b);color:#fff;font-size:14px;font-weight:700;line-height:36px}
.rp-new .rp-pk__pn{display:block;font-size:22px;font-weight:700;line-height:1.25;color:var(--rp-tx)}
.rp-new .rp-pk__pd{display:block;min-height:3em;margin:6px 0 16px;font-size:14px;line-height:1.5;color:var(--rp-mu)}
.rp-new .rp-pk__pl{display:block;font-size:13px;color:var(--rp-mu)}
.rp-new .rp-pk__pp{display:block;font-size:clamp(22px,2.5vw,32px);font-weight:700;line-height:1.2;color:var(--rp-b);white-space:nowrap}
.rp-new .rp-pk__pnet{display:block;margin:2px 0 18px;font-size:13px;color:var(--rp-mu)}
.rp-new a.rp-pk__btn{
  display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;box-sizing:border-box;
  border:2px solid var(--rp-b);background:transparent;color:var(--rp-b) !important;
  font-size:15px;font-weight:700;line-height:1.2;text-decoration:none !important;transition:background-color .2s,color .2s;
}
.rp-new a.rp-pk__btn:hover,
.rp-new .is-best a.rp-pk__btn{background:var(--rp-b);color:#fff !important}
.rp-new .is-best a.rp-pk__btn:hover{background:var(--rp-b-dk);border-color:var(--rp-b-dk)}
.rp-new a.rp-pk__btn:focus-visible{outline:3px solid var(--rp-b);outline-offset:2px}

.rp-new .rp-pk__table tbody th{text-align:left;padding:15px 20px;font-size:15px;font-weight:600;line-height:1.4;border-bottom:1px solid var(--rp-ln);border-left:1px solid var(--rp-ln);background:#fff;color:var(--rp-tx)}
.rp-new .rp-pk__table tbody td{text-align:center;padding:15px 14px;font-size:15px;line-height:1.45;border-bottom:1px solid var(--rp-ln);border-right:1px solid var(--rp-ln);color:var(--rp-tx)}
.rp-new .rp-pk__table tbody td:nth-child(2){border-left:1px solid var(--rp-ln)}
.rp-new .rp-pk__table tbody td:nth-child(3):not([colspan]){border-left:2px solid var(--rp-b);border-right:2px solid var(--rp-b);background:#eef2fb}
.rp-new .rp-pk__table tbody tr.rp-pk__end td:nth-child(3){border-bottom:2px solid var(--rp-b)}
.rp-new .rp-pk__table td.rp-pk__no{color:var(--rp-mu)}
.rp-new .rp-pk__table td.rp-pk__all{padding:18px 24px;font-size:15px;line-height:1.6;background:#fff}
.rp-new .rp-pk__table td.rp-pk__yes{color:var(--rp-b)}
.rp-new .rp-pk__ck{display:inline-block;width:6px;height:12px;margin:0 10px -1px 0;border:solid var(--rp-b);border-width:0 3px 3px 0;transform:rotate(45deg)}
.rp-new .rp-pk__table td.rp-pk__yes span:not(.rp-pk__ck){color:var(--rp-tx)}
.rp-new .rp-pk__table td.rp-pk__all a{color:var(--rp-b) !important;font-weight:600;text-decoration:underline}
.rp-new .rp-pk__table tr.rp-pk__band th{padding:13px 20px;border:0;background:var(--rp-b);color:#fff;text-align:center;font-size:14px;font-weight:700;letter-spacing:.02em}
.rp-new .rp-pk__table tr.rp-pk__dbl th{padding:0}
.rp-new .rp-pk__table tr.rp-pk__dbl th span{display:block;padding:15px 20px}
.rp-new .rp-pk__table tr.rp-pk__dbl th span + span{border-top:1px solid var(--rp-ln)}

/* mobile: nagłówek 3 kolumn, etykieta wiersza nad komórkami (jak w makiecie) */
@media (max-width:760px){
  .rp-new.rp-pk{margin-top:48px;padding:44px 0 48px}
  .rp-new .rp-pk__wrap{padding:0 12px}
  .rp-new .rp-pk__table,
  .rp-new .rp-pk__table thead,
  .rp-new .rp-pk__table tbody{display:block}
  .rp-new .rp-pk__table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .rp-new .rp-pk__corner{display:none}
  .rp-new .rp-pk__table thead th{padding:50px 6px 14px;border-left:0}
  .rp-new .rp-pk__table thead th:nth-child(2){border-left:1px solid var(--rp-ln)}
  .rp-new .rp-pk__pb{padding:5px 2px;font-size:13px;line-height:1.2}
  .rp-new .rp-pk__pn{font-size:16px}
  .rp-new .rp-pk__pd,
  .rp-new .rp-pk__pl,
  .rp-new .rp-pk__lg{display:none}
  .rp-new .rp-pk__pp{margin-top:8px;font-size:16px;white-space:normal}
  .rp-new .rp-pk__pnet{margin-bottom:12px;font-size:13px;line-height:1.3}
  .rp-new a.rp-pk__btn{min-height:44px;padding:6px 2px;font-size:14px}
  .rp-new .rp-pk__table tbody th{grid-column:1/-1;padding:10px 12px 6px;border-bottom:0;border-right:1px solid var(--rp-ln);background:var(--rp-chip);color:var(--rp-mu);font-size:14px}
  .rp-new .rp-pk__table tbody td{padding:10px 6px;font-size:13px}
  .rp-new .rp-pk__table tbody td[colspan]{grid-column:1/-1;border-left:1px solid var(--rp-ln)}
  .rp-new .rp-pk__table td.rp-pk__all{padding:12px;font-size:14px}
  .rp-new .rp-pk__table tr.rp-pk__band th{padding:10px 12px;font-size:14px;background:var(--rp-b);color:#fff}
  .rp-new .rp-pk__table tr.rp-pk__dbl th{padding:10px 12px 6px}
  .rp-new .rp-pk__table tr.rp-pk__dbl th span{display:inline;padding:0}
  .rp-new .rp-pk__table tr.rp-pk__dbl th span + span{border:0}
  .rp-new .rp-pk__table tr.rp-pk__dbl th span + span::before{content:" i "}
}
