.sc-richtext { width: 100%; }

* { 
  font-family: "Titillium Web", Arial, sans-serif; 
  -webkit-tap-highlight-color: transparent; 
}

html { font-size: 10px; }
html.theme--zoom-2 { font-size: 10.5px; } 
html.theme--zoom-4 { font-size: 11px; }

body { margin: 0; }

.template-wrapper { 
  max-width: 1920px; 
  margin-left: auto; 
  margin-right: auto; 
}

.template-wrapper h1, 
.template-wrapper h2, 
.template-wrapper h3, 
.template-wrapper h4, 
.template-wrapper h5, 
.template-wrapper h6, 
.template-wrapper li, 
.template-wrapper p, 
.template-wrapper ul { 
  padding: 0; 
  line-height: 1.5; 
}

.template-wrapper a { text-decoration: none; }
.template-wrapper button { cursor: pointer; }
.template-wrapper ul { list-style: none; }
.template-wrapper textarea { resize: none; }

.u-f-12 { font-size: 1.2rem; }
.u-f-16 { font-size: 1.6rem; }
.u-f-18 { font-size: 1.8rem; }
.u-f-20 { font-size: 2.0rem; }
.u-f-22 { font-size: 2.2rem; }
.u-f-24 { font-size: 2.4rem; }
.u-f-26 { font-size: 2.6rem; }
.u-f-30 { font-size: 3.0rem; }
.u-f-32 { font-size: 3.2rem; }
.u-f-34 { font-size: 3.4rem; }
.u-f-36 { font-size: 3.6rem; }
.u-f-42 { font-size: 4.2rem; }
.u-f-50 { font-size: 5.0rem; }
.u-f-60 { font-size: 6.0rem; }
.u-f-70 { font-size: 7.0rem; }
.u-f-100 { font-size: 10.0rem; }

.u-uppercase { text-transform: uppercase; }
.u-normalcase { text-transform: initial; }
.u-italic { font-style: italic; }
.u-bold { font-weight: bold; }
.u-semibold { font-weight: 600; }
.u-light { font-weight: 300; }

.u-color-magenta { color: #e2007e; }

.u-margin-bottom-40 { margin-bottom: 40px; }
.u-margin-bottom-20 { margin-bottom: 20px; }
.u-margin-bottom-10 { margin-bottom: 10px; }
.u-padding-x-20 { padding: 0 20px; }

.u-is-disabled { display: none !important; }


/* Blok: Page Container */
.page-container { 
  width: 100%; 
  max-width: 1430px; 
  margin-left: auto; 
  margin-right: auto; 
  padding: 0 15px; 
}

/* Blok: Button */
.button { 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  width: 100%; 
  min-width: 225px; 
  padding: 6px 12px; 
  border-radius: 4px; 
  transition: background-color .3s, border-color .3s, color .3s; 
}

.button--magenta { 
  background-color: #e2007e; 
  color: #fff; 
  border: 1px solid #e2007e; 
}

.button--magenta:hover { 
  background-color: #aa036c; 
  border-color: #aa036c; 
}

.button--white { 
  background-color: #fff; 
  color: #e2007e; 
  border: 1px solid #e2007e; 
}

.button--white:hover { 
  background-color: #e2007e; 
  color: #fff; 
}

/* Blok: Section */

.section__title { 
  margin-left: auto; 
  margin-right: auto; 
  padding-top: 40px; 
  padding-bottom: 40px; 
  text-align: center; 
  line-height: 1.25; 
}

.section__title--bottom-space-off { 
  padding-bottom: 0; 
}

.section__subtitle { 
  margin-left: auto; 
  margin-right: auto; 
  padding-bottom: 40px; 
  text-align: center; 
  line-height: 1.25; 
}

.section__padding {
  padding-bottom: 40px;
}

.section__white-banner {
  padding-top: 40px; 
}

/* Blok: List */
.list { 
  display: flex; 
  flex-direction: column; 
  gap: 8px; 
  padding: 24px 0; 
}

.list--indented .list__item { 
  margin-left: 20px !important; 
}

.list__item { 
  display: flex; 
  gap: 16px; 
}

.list__type { 
  display: flex; 
  align-items: baseline; 
}

.list__info { 
  display: inline-block; 
  line-height: normal; 
  text-align: left; 
}

/* Element: List Icon (z modyfikatorami dla różnych typów kropek) */
.list__icon { 
  display: inline-block; 
  width: 8px; 
  min-width: 8px; 
  height: 8px; 
  min-height: 8px; 
  border-radius: 50%; 
}

.list__icon--primary { 
  background-color: #e2007e; 
  transform: translateY(10px); 
}

.list__icon--secondary { 
  background-color: #e2007e; 
  margin-right: 20px; 
  position: relative;
  bottom: 3px; 
}

.list__icon--outlined { 
  background-color: #ffffff; 
  border: #e2007a solid 2px; 
  margin-right: 20px; 
  position: relative;
  bottom: 3px; 
}


/* Oryginalne klasy Owl Carousel */
.template-wrapper .owl-dots { 
  display: none; 
  justify-content: center; 
  align-items: center; 
  gap: 16px; 
}

.template-wrapper .owl-dots .owl-dot { 
  width: 24px; 
  height: 24px; 
  background-color: #fff; 
  border: 1px solid #707173; 
  border-radius: 50%; 
  padding: 0; /* Reset dla przycisków generowanych przez JS */
}

.template-wrapper .owl-dots .owl-dot.active { 
  background-color: #e2007e; 
}

/* Modyfikator dla motywu kontrastowego */
.theme--contrast .template-wrapper .owl-dots .owl-dot { 
  border-color: #ffe800 !important; 
}

.theme--contrast .template-wrapper .owl-dots .owl-dot.active { 
  background-color: #ffe800 !important; 
}

.template-wrapper .slider-shadow {
  display: none; /* Domyślnie ukryte, nadpisywane w RWD */
}

@media all and (max-width: 1600px) {
  .u-f-16, .u-f-18 { font-size: 1.6rem; }
  .u-f-20 { font-size: 1.8rem; }
  .u-f-22 { font-size: 2.0rem; }
  .u-f-24 { font-size: 2.2rem; }
  .u-f-26, .u-f-30, .u-f-32, .u-f-34, .u-f-36 { font-size: 2.6rem; }
  .u-f-42 { font-size: 3.0rem; }
  
  .button { font-size: 1.8rem; min-width: 190px; }

  .section__title { padding-top: 24px; padding-bottom: 24px; }
  .section__subtitle { padding-bottom: 24px; }
  .section__padding { padding-bottom: 16px; }
  .section__white-banner { padding-top: 16px; }
}

@media all and (max-width: 1200px) {
  html { font-size: 10px; }
  html.theme--zoom-2 { font-size: 10.5px !important; } /* Dostosowano klasy zoom */
  html.theme--zoom-4 { font-size: 11px !important; }
  
  .u-f-16, .u-f-18, .u-f-20, .u-f-22, .u-f-24 { font-size: 1.6rem; }
  .u-f-26 { font-size: 2.2rem; }
  .u-f-30, .u-f-32 { font-size: 2.4rem; }
  .u-f-34 { font-size: 3.6rem; }
  .u-f-36 { font-size: 2.8rem; }
  .u-f-42 { font-size: 3.0rem; }
  
  .button { font-size: 1.6rem; }
  
  .template-wrapper .owl-dots { display: flex; }
  .template-wrapper .slider-shadow { display: block; }
}

@media all and (max-width: 768px) {
  .template-wrapper .owl-dot { width: 18px; height: 18px; }
}