/* Końcowa warstwa spójności podstron: nagłówki, rytm sekcji i dolne CTA. */
.mono-inner-page .header-row { min-height:96px; }

/* Każda podstrona używa jednej typografii głównego nagłówka. */
.mono-inner-page main h1:not(.visually-hidden) {
  margin-top:0;
  margin-bottom:0;
  color:#222326;
  font-family:"Open Sans",Arial,Helvetica,sans-serif;
  font-size:clamp(2.55rem,4.35vw,4.5rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.055em;
  text-wrap:balance;
}

/* Wspólny odstęp otwierający i rytm głównych sekcji. */
.mono-inner-page :is(.materials-hero,.velux-hero,.information-hero,.promotions-story,.about-story,.route-intro,.contact-page-main,.page-hero,.not-found) {
  padding-top:48px;
  padding-bottom:48px;
}
.mono-inner-page :is(.materials-stage,.velux-module,.information-card,.about-values,.about-reviews,.promotions-gallery-section,.route-directions,.route-weight-section,.route-warehouses-bottom,.section) {
  padding-top:48px;
  padding-bottom:48px;
}
.mono-rabaty-page .rabaty-hero-section,
.mono-rabaty-page .rabaty-composition,
.mono-rabaty-page .rabaty-composition-bottom {
  padding-top:48px;
  padding-bottom:48px;
}

/* Jeden wspólny dolny pasek kontaktowy. */
body :is(.materials-cta,.velux-contact,.information-bottom-cta) {
  margin:0;
  padding:0;
  background:#f3f3f1;
  color:#58595b;
}
body :is(.materials-cta-inner,.velux-contact-inner,.information-bottom-cta-inner) {
  width:min(calc(100% - 36px),var(--max));
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  margin-right:auto;
  margin-left:auto;
  padding-top:35px;
  padding-bottom:38px;
}
body :is(.materials-cta-copy,.velux-contact-copy,.information-bottom-cta-copy) { max-width:790px; }
body :is(.materials-cta-kicker,.velux-contact-copy .velux-kicker,.information-bottom-cta-kicker) {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#58595b;
  font-family:"Open Sans",Arial,Helvetica,sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.25;
  text-transform:uppercase;
}
body :is(.materials-cta-kicker,.velux-contact-copy .velux-kicker,.information-bottom-cta-kicker)::before {
  content:"";
  display:block;
  width:28px;
  height:3px;
  flex:0 0 auto;
  background:#ffdd00;
}
body :is(.materials-cta,.velux-contact,.information-bottom-cta) h2,
body.mono-rabaty-page .rabaty-main .materials-cta h2 {
  max-width:790px;
  margin:0;
  color:#222326;
  font-family:"Open Sans",Arial,Helvetica,sans-serif;
  font-size:clamp(1.55rem,2.3vw,2.25rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.04em;
  white-space:normal;
  text-wrap:balance;
}
body :is(.materials-cta-button,.velux-contact-button,.information-bottom-cta a),
body.mono-rabaty-page .rabaty-main .materials-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-family:"Open Sans",Arial,Helvetica,sans-serif;
  font-size:.71rem;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
}
body.mono-rabaty-page .rabaty-main .materials-cta-kicker {
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.25;
}

@media (min-width:901px) {
  body :is(.materials-cta-inner,.velux-contact-inner,.information-bottom-cta-inner) {
    min-height:116px;
    padding-top:26px;
    padding-bottom:28px;
  }
  body :is(.materials-cta-copy,.velux-contact-copy,.information-bottom-cta-copy) {
    flex:1 1 auto;
    max-width:none;
    min-width:0;
  }
  body :is(.materials-cta,.velux-contact,.information-bottom-cta) h2,
  body.mono-rabaty-page .rabaty-main .materials-cta h2 {
    font-size:clamp(1.35rem,1.72vw,1.78rem);
    white-space:normal;
  }
}

@media (min-width:1101px) {
  body:not(.mono-rabaty-page) :is(.materials-cta,.velux-contact,.information-bottom-cta) h2 {
    white-space:nowrap;
    text-wrap:nowrap;
  }
}

@media (max-width:620px) {
  .mono-inner-page .header-row { min-height:88px; }
  .mono-inner-page main h1:not(.visually-hidden) {
    font-size:clamp(2.15rem,10.8vw,3rem);
    line-height:1.05;
  }
  .mono-inner-page :is(.materials-hero,.velux-hero,.information-hero,.promotions-story,.about-story,.route-intro,.contact-page-main,.page-hero,.not-found),
  .mono-inner-page :is(.materials-stage,.velux-module,.information-card,.about-values,.about-reviews,.promotions-gallery-section,.route-directions,.route-weight-section,.route-warehouses-bottom,.section),
  .mono-rabaty-page .rabaty-hero-section,
  .mono-rabaty-page .rabaty-composition,
  .mono-rabaty-page .rabaty-composition-bottom {
    padding-top:36px;
    padding-bottom:36px;
  }
  body :is(.materials-cta-inner,.velux-contact-inner,.information-bottom-cta-inner) {
    min-height:0;
    align-items:flex-start;
    flex-direction:column;
    gap:24px;
    padding-top:27px;
    padding-bottom:29px;
  }
  body :is(.materials-cta-button,.velux-contact-button,.information-bottom-cta a) {
    width:100%;
    min-height:50px;
  }
}
