
.mono-rabaty-page {
  --rab-yellow:#ffdd00;
  --rab-dark:#2d2f35;
  --rab-text:#58595b;
  --rab-line:rgba(88,89,91,.12);
  --rab-soft:#f4f4f4;
  --rab-soft-2:#f1efea;
  --rab-panel:#ecebeb;
  background:#fff;
  color:var(--rab-text);
}
.mono-rabaty-page .site-header.mono-header {
  position:relative;
  inset:auto;
  background:#58595b;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mono-rabaty-page .header-row { min-height:96px; }
.mono-rabaty-page .mono-section-label {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  color:var(--rab-dark);
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mono-rabaty-page .mono-section-label::before {
  content:"";
  width:24px;
  height:4px;
  background:var(--rab-yellow);
  border-radius:2px;
}
.rabaty-main,
.rabaty-main button,
.rabaty-main input,
.rabaty-main textarea,
.rabaty-main select {
  font-family:"Open Sans", Arial, sans-serif;
}
.rabaty-main h1,
.rabaty-main h2,
.rabaty-main h3 {
  font-family:"Open Sans", Arial, sans-serif;
  font-weight:400;
}
.rabaty-main section { padding:26px 0 0; }
.rabaty-main .container { width:min(1400px, calc(100% - 48px)); }
.rabaty-hero-panel {
  border-radius:18px;
  background:linear-gradient(180deg, #efefef 0%, #e8e8e8 100%);
  padding:38px 36px;
  overflow:hidden;
}
.rabaty-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);
  gap:36px;
  align-items:center;
}
.rabaty-hero-copy h1 {
  margin:0;
  color:#222326;
  font-family:"Open Sans", Arial, sans-serif;
  font-size:clamp(2.55rem, 4.35vw, 4.5rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.rabaty-hero-copy p:last-child {
  max-width:560px;
  margin:24px 0 0;
  font-size:1rem;
  line-height:1.62;
  color:#43444a;
}
.rabaty-hero-art {
  margin:0;
  border-radius:18px;
  overflow:hidden;
}
.rabaty-hero-art img {
  display:block;
  width:40.8%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.rabaty-composition { padding-top:28px; }
.rabaty-composition-bottom { padding-top:18px; }
.rabaty-two-columns {
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  gap:28px;
  align-items:start;
}
.rabaty-block-heading {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
}
.rabaty-block-heading span {
  width:24px;
  height:4px;
  background:var(--rab-yellow);
  border-radius:2px;
}
.rabaty-block-heading p {
  margin:0;
  color:var(--rab-dark);
  font-size:.92rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.rabaty-price-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.rabaty-price-card,
.rabaty-status-card,
.rabaty-benefits-box,
.rabaty-rule-card {
  border:1px solid var(--rab-line);
  border-radius:12px;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.rabaty-price-card {
  min-height:350px;
  padding:30px 22px 26px;
  background:#f8f8f8;
  text-align:center;
}
.rabaty-price-letter {
  margin:0 auto 20px;
  color:#5f6066;
  font-size:3.7rem;
  font-weight:700;
  line-height:1;
}
.rabaty-price-card h2,
.rabaty-status-card h2,
.rabaty-benefit-item h2,
.rabaty-rule-card h2 {
  margin:0;
  color:#222326;
  font-family:"Open Sans", Arial, sans-serif;
  font-size:1.18rem;
  font-weight:400;
  line-height:1.24;
  letter-spacing:-.025em;
}
.rabaty-price-card p,
.rabaty-status-card p,
.rabaty-benefit-item p,
.rabaty-rule-card p,
.rabaty-cta-copy p {
  margin:14px 0 0;
  color:#4f5056;
  font-size:.94rem;
  line-height:1.56;
}
.rabaty-price-card strong {
  display:block;
  margin-top:22px;
  color:#4a4c52;
  font-size:.95rem;
  font-weight:700;
}
.rabaty-card-a { background:#f4f4f4; }
.rabaty-card-b { background:var(--rab-yellow); }
.rabaty-card-c { background:#4a4b50; }
.rabaty-card-c .rabaty-price-letter,
.rabaty-card-c h2,
.rabaty-card-c p { color:#fff; }
.rabaty-card-c strong { color:var(--rab-yellow); }
.rabaty-status-cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.rabaty-status-card {
  min-height:350px;
  padding:20px 19px 18px;
  background:#fffdf2;
}
.rabaty-status-card-soft { background:#efefef; }
.rabaty-status-top {
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}
.rabaty-status-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--rab-yellow);
  color:#222326;
  font-size:1.4rem;
  font-weight:700;
}
.rabaty-status-icon-dark {
  background:#2e3137;
  color:#fff;
}
.rabaty-status-top small {
  display:block;
  margin:0 0 6px;
  color:#67686d;
  font-size:.74rem;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.rabaty-status-note {
  margin-top:14px !important;
  padding-top:12px;
  border-top:1px solid rgba(88,89,91,.14);
}
.rabaty-status-inline {
  margin-top:auto !important;
  padding:10px 12px;
  border:1px solid rgba(255,221,0,.75);
  border-radius:8px;
  text-align:center;
  font-size:.84rem !important;
  line-height:1.46 !important;
}

/* Na szerokich ekranach wszystkie pięć kart tworzy jeden równy poziom. */
@media (min-width:1181px) {
  .rabaty-price-card,
  .rabaty-status-card {
    box-sizing:border-box;
    height:350px;
    min-height:350px;
  }
  .rabaty-status-card {
    display:flex;
    flex-direction:column;
  }
  .rabaty-status-card > p:not(.rabaty-status-inline) {
    font-size:.86rem;
    line-height:1.5;
  }
}
.rabaty-benefits-box {
  background:#f8f8f8;
  overflow:hidden;
}
.rabaty-benefits-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.rabaty-benefit-item {
  padding:16px 16px 18px;
  text-align:center;
  border-left:1px solid var(--rab-line);
}
.rabaty-benefit-item:first-child { border-left:0; }
.rabaty-benefit-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0 auto 12px;
  border:2px solid var(--rab-yellow);
  border-radius:50%;
  color:#8f9095;
  font-size:.86rem;
  font-weight:700;
}
.rabaty-benefit-item h2 { font-size:1rem; font-weight:400; }
.rabaty-benefit-item p { font-size:.84rem; }
.rabaty-account-strip {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:14px 18px;
  background:#fff;
  border-top:1px solid var(--rab-line);
  color:#4d4f55;
  font-size:.84rem;
  line-height:1.45;
}
.rabaty-account-strip strong { color:#222326; }
.rabaty-rules-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.rabaty-rule-card {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:14px 16px 16px;
  background:#f8f8f8;
}
.rabaty-rule-no {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:var(--rab-yellow);
  border-radius:8px;
  color:#222326;
  font-size:1rem;
  font-weight:700;
}
.rabaty-rule-card h2 { font-size:1rem; font-weight:400; }
.rabaty-rule-card p { font-size:.87rem; }
.rabaty-cta-section {
  margin-top:30px;
  padding:0 !important;
  background:#f3f3f1;
  color:#58595b;
}
.rabaty-cta-inner {
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding-top:35px;
  padding-bottom:38px;
}
.rabaty-cta-copy { max-width:790px; }
.rabaty-cta-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#58595b;
  font-family:"Open Sans", Arial, sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.25;
  text-transform:uppercase;
}
.rabaty-cta-kicker::before {
  content:"";
  width:28px;
  height:3px;
  flex:0 0 auto;
  background:#ffdd00;
}
.rabaty-cta-copy h2 {
  margin:0;
  color:#222326;
  font-family:"Open Sans", Arial, sans-serif;
  font-size:clamp(1.55rem, 2.3vw, 2.25rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.rabaty-cta-button {
  min-height:45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex:0 0 auto;
  padding:0 20px;
  border:1px solid #ffdd00;
  background:#ffdd00;
  color:#222326;
  font-size:.71rem;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
  transition:background-color .18s ease, border-color .18s ease;
}
.rabaty-cta-button:hover,
.rabaty-cta-button:focus-visible {
  border-color:#222326;
  background:transparent;
}
@media (max-width: 1180px) {
  .rabaty-hero-grid,
  .rabaty-two-columns,
  .rabaty-status-cards,
  .rabaty-benefits-grid,
  .rabaty-rules-grid { grid-template-columns:1fr; }
  .rabaty-price-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rabaty-status-card,
  .rabaty-price-card { min-height:0; }
}
@media (max-width: 900px) {
  .rabaty-main .container { width:min(100% - 32px, 1400px); }
  .rabaty-hero-panel { padding:26px 22px; }
  .rabaty-hero-copy h1 { font-size:clamp(2.1rem, 8vw, 3.2rem); }
  .rabaty-price-cards,
  .rabaty-benefits-grid,
  .rabaty-rules-grid { grid-template-columns:1fr; }
  .rabaty-cta-inner {
    align-items:flex-start;
    flex-direction:column;
    gap:24px;
    padding-top:27px;
    padding-bottom:29px;
  }
  .rabaty-cta-button { width:100%; min-height:50px; }
  .rabaty-account-strip { display:block; }
}

/* Spójność typografii z podstroną „Materiały budowlane”. */
.mono-rabaty-page .mono-section-label,
.rabaty-block-heading p {
  font-family:"Open Sans", Arial, sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.25;
}
.mono-rabaty-page .mono-section-label {
  gap:10px;
  margin-bottom:15px;
}
.mono-rabaty-page .mono-section-label::before,
.rabaty-block-heading span {
  width:28px;
  height:3px;
  border-radius:0;
}
.rabaty-hero-copy h1 {
  font-size:clamp(2.55rem, 4.35vw, 4.5rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.055em;
}
.rabaty-hero-copy p:last-child {
  margin-top:22px;
  font-size:.97rem;
  line-height:1.72;
}
.rabaty-price-card h2,
.rabaty-status-card h2,
.rabaty-benefit-item h2,
.rabaty-rule-card h2 {
  font-weight:400;
}
.rabaty-cta-section {
  margin-top:30px;
  background:#f3f3f1;
}
.rabaty-cta-inner {
  min-height:116px;
  padding-top:26px;
  padding-bottom:28px;
}
.rabaty-cta-kicker {
  margin-bottom:10px;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.2;
}
.rabaty-cta-copy h2 {
  max-width:760px;
  font-size:clamp(1.35rem, 2vw, 1.9rem);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.035em;
}
.rabaty-cta-button {
  min-height:43px;
  font-size:.72rem;
  font-weight:800;
}
@media (max-width: 900px) {
  .rabaty-hero-copy h1 { font-size:clamp(2.15rem, 10.8vw, 3rem); line-height:1.05; }
  .rabaty-hero-copy p:last-child { margin-top:18px; font-size:.95rem; line-height:1.67; }
  .rabaty-cta-inner { padding-top:27px; padding-bottom:29px; }
  .rabaty-cta-copy h2 { font-size:clamp(1.45rem, 7.2vw, 1.95rem); }
  .rabaty-cta-button { min-height:50px; }
}

/* Pasek końcowy jest wspólnym komponentem z „Materiałami budowlanymi”. */
.rabaty-main .materials-cta {
  padding:0 0 2px;
}
.rabaty-main .materials-cta-inner {
  width:min(calc(100% - 36px), var(--max));
  min-height:96px;
  padding-top:16px;
  padding-bottom:16px;
}
.rabaty-main .materials-cta-copy {
  max-width:820px;
}
.mono-rabaty-page .rabaty-main .materials-cta-kicker {
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.2;
}
.mono-rabaty-page .rabaty-main .materials-cta h2 {
  font-size:clamp(1.35rem, 2vw, 1.9rem);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.035em;
}
.mono-rabaty-page .rabaty-main .materials-cta-button {
  font-size:.72rem;
  font-weight:800;
}
@media (max-width:900px) {
  .rabaty-hero-art img { width:55.2%; }
  .mono-rabaty-page .rabaty-main .materials-cta h2 { font-size:clamp(1.35rem, 2vw, 1.9rem); }
  .rabaty-main .materials-cta-inner {
    min-height:0;
    padding-top:22px;
    padding-bottom:24px;
  }
}

/* Wskazane nazwy poziomów, korzyści i zasad mają wyraźniejsze wyróżnienie. */
.mono-rabaty-page :is(
  .rabaty-price-card,
  .rabaty-status-card,
  .rabaty-benefit-item,
  .rabaty-rule-card
) h2 {
  font-weight:700;
}
