/* ══════════════════════════════════════════════════════════
   HUROM.PL — Custom CSS
   Wersja: 3.0
   Fonty: Poppins (display) + DM Sans (body) z Google Fonts
   Polskie znaki: latin-ext (auto przez Google CDN)
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   1. FONTY — Google Fonts (auto latin-ext dla polskich znaków)
   ══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap');

/* ══════════════════════════════════════════════════════════
   2. iOS — focus / tap highlight
   ══════════════════════════════════════════════════════════ */
@supports (-webkit-touch-callout: none) {
  * {
    -webkit-tap-highlight-color: transparent;
  }
  *:focus {
    outline: none;
    box-shadow: none;
  }
  a, button, input, textarea, select {
    -webkit-tap-highlight-color: transparent;
    outline: none;
    box-shadow: none;
  }
}

/* ══════════════════════════════════════════════════════════
   3. GLOBALNE PRZYPISANIE FONTÓW
   ══════════════════════════════════════════════════════════ */
/*
  Zasada:
  - Nagłówki (h1–h6)  → Poppins (ExtraBold/Bold/SemiBold)
  - Akapity / body    → DM Sans
  - UI labels/buttons → Poppins
*/

body, p, li, td, input, textarea, select {
  font-family: 'DM Sans', Arial, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

button {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}

h1, h2 {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 800;
}

h3 {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 700;
}

h4, h5, h6 {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 600;
}

strong, b {
  font-weight: 700;
}

.big_label,
.headline {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 800;
}

/* ══════════════════════════════════════════════════════════
   4. SEKCJA HX — IZOLACJA
   Sekcja główna (.hx) ma własne style — blokujemy globalne
   nadpisania iDoSell wewnątrz niej
   ══════════════════════════════════════════════════════════ */
.hx h1, .hx h2, .hx h3, .hx h4, .hx h5, .hx h6,
.hx p, .hx li, .hx button, .hx span {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* ══════════════════════════════════════════════════════════
   5. NAWIGACJA / HEADER
   ══════════════════════════════════════════════════════════ */

header .navbar-nav {
  font-size: 1.6rem;
}

header .nav-link {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 700;
  padding: 5px 7px 1.4rem;
  text-transform: uppercase;
}

header .navbar-subnav .nav-link {
  text-transform: uppercase;
  font-size: 1.6rem;
}

header .navbar-subnav .navbar-subsubnav .nav-link {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.5rem;
}

aside .nav-link {
  color: #333;
}

@media (max-width: 978px) {
  [data-item="#menu_navbar3"] {
    display: none;
  }
}

#logo img {
  width: 200px;
}

/* ══════════════════════════════════════════════════════════
   6. FOOTER
   ══════════════════════════════════════════════════════════ */

footer .nav-link {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 400;
  text-decoration: none;
}

footer span.nav-link {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 600;
}

/* ══════════════════════════════════════════════════════════
   7. MAX-WIDTH WRAPPER
   ══════════════════════════════════════════════════════════ */

body .max-width-1200 { max-width: 1366px; }

@media screen and (min-width: 1400px) {
  body .max-width-1200 { max-width: 1400px; }
}
@media screen and (min-width: 1680px) {
  body .max-width-1200 { max-width: 1580px; }
}
@media screen and (min-width: 1920px) {
  body .max-width-1200 { max-width: 1680px; }
}

/* Koszyk */
body .basketedit_page.max-width-1200 { max-width: 1366px; }

@media screen and (min-width: 1400px) {
  body .basketedit_page.max-width-1200 { max-width: 1400px; }
}
@media screen and (min-width: 1680px) {
  body .basketedit_page.max-width-1200 { max-width: 1580px; }
}
@media screen and (min-width: 1920px) {
  body .basketedit_page.max-width-1200 { max-width: 1680px; }
}

/* Fix pasek */
@media (min-width: 1170px) {
  .bars__item.--fixed .bars__wrapper {
    max-width: 1580px !important;
  }
}

/* Fix koszyk tunel */
.payment_tunnel .container + footer,
.order_process .container + footer,
.container.basketedit_page + footer,
.container.prepaid_page + footer {
  max-width: 1580px;
}

/* ══════════════════════════════════════════════════════════
   8. PRODUKT — KARTA
   ══════════════════════════════════════════════════════════ */

.product__name {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-weight: 800;
  font-size: 1.5rem;
}

@media (min-width: 757px) {
  .product_name__name {
    font-size: 3.5rem;
  }
}

#projector_form .projector_prices__price_wrapper {
  color: #78C500 !important;
}

#projector_form .projector_prices__info {
  display: none;
}

#projector_form .projector_prices__maxprice_wrapper {
  font-family: 'Poppins', Arial, sans-serif !important;
}

#projector_form .projector_prices__srp_wrapper.--active {
  display: none !important;
}

.projector_details {
  font-family: 'Poppins', Arial, sans-serif !important;
  font-size: 1.6rem;
}

.projector_details #projector_additional_section {
  font-size: 1.6rem;
}

.label_icons > * {
  font-family: 'Poppins', Arial, sans-serif !important;
  text-transform: uppercase;
}

.btn.--large.--solid {
  font-size: 1.6rem;
}

.product_name__notes {
  display: none;
}

.product__icon {
  background: #FAF8F6 !important;
}

/* ══════════════════════════════════════════════════════════
   9. CENY / OMNIBUS / SRP
   ══════════════════════════════════════════════════════════ */

.price.--max,
.price.--omnibus,
.price.--before-rebate,
.price.--new-price,
.price.--deposit,
.price_sellby {
  display: none;
}

.label.--bargain.--omnibus {
  display: none;
}

.hotspot.--list .product .price.--omnibus,
.hotspot.--list .product .price.--max,
.hotspot.--list .product .price.--before-rebate,
.hotspot.--list .product .price.--new-price {
  display: none !important;
}

span.omnibus_price__text {
  color: #333333;
  font-family: 'Poppins', Arial, sans-serif !important;
}

span.omnibus_label {
  color: #333333;
  font-family: 'Poppins', Arial, sans-serif !important;
}

.omnibus_price {
  line-height: 20px;
  font-family: 'Poppins', Arial, sans-serif;
}

.srp_label {
  background: rgba(120, 197, 0, 0.5);
  z-index: 55;
  border-radius: 5px;
}

.srp_label::before {
  border-color: rgba(120, 197, 0, 0.5) transparent transparent transparent;
  z-index: 55;
  display: none;
}

/* Omnibus na hotspot */
#main_hotspot_zone1 span.omnibus_label,
#main_hotspot_zone2 span.omnibus_label,
#main_hotspot_zone3 span.omnibus_label,
#main_hotspot_zone4 span.omnibus_label {
  display: none;
}

#main_hotspot_zone1 .omnibus_price,
#main_hotspot_zone2 .omnibus_price,
#main_hotspot_zone3 .omnibus_price,
#main_hotspot_zone4 .omnibus_price {
  display: none;
}

/* ══════════════════════════════════════════════════════════
   10. STOCK / DOSTĘPNOŚĆ — UKRYCIA
   ══════════════════════════════════════════════════════════ */

.projector_stocks { display: none; }

span.projector_stocks__icon.projector_info__icon { display: none; }
span.projector_stocks__info.projector_info__link { display: none; }
a.projector_stocks__info.projector_info__link.--link { display: none; }

.product_stocks .stock__availabilty_count { display: none; }
span.stock__availabilty_count { display: none; }

span#projector_amount.projector_status__info_amount,
.projector_amount,
#projector_amount,
.projector_buy__number_amounts,
.projector_status__info_amount {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════
   11. ONE CLICK / DOSTAWA / PŁATNOŚCI
   ══════════════════════════════════════════════════════════ */

.projector_details .projector_oneclick__items { display: none !important; }
#projector_form .projector_oneclick__label { display: none !important; }
.cop_summary .cop_oneclick__label { display: none !important; }
.cop_summary .cop_oneclick_pay__item > div { display: none !important; }

.projector_shipping__text_from,
.projector_shipping__price {
  display: none;
}

div#projector_paypo {
  display: none;
}

.projector_details .projector_safe__icon:before {
  content: '\f095';
  font-size: 1.6rem;
  color: #040404;
}

span.projector_safe__info.projector_info__link {
  color: #040404;
}

/* ── Raty ── */
.projector_instalments__icon:before {
  color: rgb(1, 138, 145);
}

a.projector_instalments__link {
  color: black;
  font-weight: 600;
}

/* ══════════════════════════════════════════════════════════
   12. RÓŻNE UKRYCIA
   ══════════════════════════════════════════════════════════ */

#main_news,
.banner_smile,
.cop_documents,
.cop_pickup_points .cop_pickup_item__name {
  display: none;
}

.projector_smile,
.order2_info_sub4,
#order2_info_sub4,
.projector_points_recive.--active {
  display: none !important;
}

.article__image_wrapper,
.article__image_wrapper img {
  display: none;
}

.projector_page .article__item:nth-child(1n+5) {
  display: none;
}

/* ══════════════════════════════════════════════════════════
   13. BANER GŁÓWNY
   ══════════════════════════════════════════════════════════ */

#main_banner1 img {
  mix-blend-mode: multiply;
  border-radius: 5px;
}

#main_banner1 .main_slider__label {
  font-size: 3rem;
  margin-bottom: 3.5rem;
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 800;
}

#main_banner1 .main_slider__content {
  position: absolute;
  left: 0; right: 0;
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 2rem;
  display: none;
}

#main_banner1 .main_slider__description {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}

#main_banner1 .main_slider__button {
  margin-top: 2rem;
  margin-bottom: auto;
}

@media only screen and (min-width: 750px) {
  #main_banner1 .main_slider__label { font-size: 3rem; }
  #main_banner1 .main_slider__content { padding: 0 5rem; }
  #main_banner1 .main_slider__description { font-size: 2rem; margin-bottom: 3rem; }
}

@media only screen and (min-width: 1280px) {
  #main_banner1 .main_slider__label { font-size: 5rem; }
  #main_banner1 .main_slider__description { font-size: 2.6rem; }
}

@media only screen and (min-width: 1680px) {
  #main_banner1 .main_slider__label { font-size: 6rem; }
}

@media only screen and (min-width: 1920px) {
  #main_banner1 .main_slider__label { font-size: 7rem; }
}

/* ══════════════════════════════════════════════════════════
   14. SLIDER
   ══════════════════════════════════════════════════════════ */

.block-slider > .swiper {
  height: 500px;
}

@media (max-width: 1100px) {
  .swiper-wrapper.desc-hurom.down {
    overflow-x: auto !important;
  }
}

/* ══════════════════════════════════════════════════════════
   15. CM (STRONY TREŚCI)
   Nagłówki CM — Poppins, NIE nadpisuje sekcji .hx
   ══════════════════════════════════════════════════════════ */

.cm h1, .cm h2, .cm h3 {
  font-family: 'Poppins', Arial, sans-serif;
  line-height: 1.1 !important;
}

@media only screen and (min-width: 750px) {
  .cm h2 { font-size: 2.8rem; }
  .cm h3 { font-size: 2rem; }
  .cm p  { font-size: 1.6rem; }
  .cm    { font-size: 1.6rem; }
}

@media only screen and (min-width: 1600px) {
  .cm h2 { font-size: 4rem; }
  .cm h3 { font-size: 3rem; }
}

/* ══════════════════════════════════════════════════════════
   16. BLOG
   ══════════════════════════════════════════════════════════ */

h3.article__name_wrapper {
  font-size: 2rem !important;
  text-decoration: none !important;
}

.article__name {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 800;
}

#blog-item img.blog_image {
  max-width: 100%;
}

#blog-item .cm h1,
#blog-item .cm h2,
#blog-item .cm h3 {
  font-family: 'Poppins', Arial, sans-serif;
  font-weight: 800;
  color: #0f3d25;
  margin: 56px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #d1f0e0;
}

#blog-item .cm h1 { font-size: 26px; }
#blog-item .cm h2 { font-size: 26px; }
#blog-item .cm h3 { font-size: 17px; }

#blog-item .cm p {
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}

#blog-item .cm a { text-decoration: none; }
#blog-item .cm a:hover { text-decoration: underline; }

/* Blog — lista składników */
#blog-item .cm .hb-recipe-ingredients ul {
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 6px;
  display: flex;
  flex-direction: column;
}
#blog-item .cm .hb-recipe-ingredients ul li {
  font-size: 14px;
  color: #333;
  padding: 0 0 0 18px;
  position: relative;
  line-height: 1.55;
}
#blog-item .cm .hb-recipe-ingredients ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  background: #1a7a45;
  border-radius: 50%;
}

/* Blog — seria kart */
#blog-item .cm .hb-series-card .hb-series-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#blog-item .cm .hb-series-card .hb-series-list li {
  font-size: 14px;
  color: #333;
  padding-left: 20px;
  position: relative;
  line-height: 1.55;
}
#blog-item .cm .hb-series-card--easy .hb-series-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: #1a7a45;
  border-radius: 50%;
}
#blog-item .cm .hb-series-card--pure .hb-series-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: #5a3fb5;
  border-radius: 50%;
}
#blog-item .cm .hb-series-card--citrus .hb-series-list li::before {
  background: #c07820;
  top: 8px;
}

/* Blog — pros/cons */
#blog-item .cm .hb-pros ul,
#blog-item .cm .hb-cons ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#blog-item .cm .hb-pros ul li,
#blog-item .cm .hb-cons ul li {
  font-size: 13px;
  color: #333;
  padding: 0 0 0 16px;
  position: relative;
  line-height: 1.5;
}
#blog-item .cm .hb-pros ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 7px;
  height: 7px;
  background: #1a7a45;
  border-radius: 50%;
}
#blog-item .cm .hb-cons ul li::before {
  content: '';
  position: absolute;
  left: 1px;
  top: 6px;
  width: 6px;
  height: 6px;
  border: 1.5px solid #c0392b;
  border-radius: 50%;
}

/* ══════════════════════════════════════════════════════════
   17. FILTRY
   ══════════════════════════════════════════════════════════ */

.filters__toggler .btn,
aside .filters__toggler .btn {
  color: #040404;
}

/* ══════════════════════════════════════════════════════════
   18. MISC / EDGE CASES
   ══════════════════════════════════════════════════════════ */

.datasquare > * {
  font-family: 'Poppins', Arial, sans-serif;
}

div.tm-multihornet__wrapper {
  justify-content: left;
}

.tm-hydra {
  font-family: 'Poppins', Arial, sans-serif;
}

.tm-ferret2 .tm-lazy-background {
  background-color: white !important;
}

.label.--promo {
  color: #fff;
  background: linear-gradient(135deg, #0f3d25 0%, #1a7a45 100%);
  border: none;
}

.fullwidth_banner_buttons .btn {
  color: #000 !important;
}

a[href="/Promocja-spromo-pol.html"] {
  color: #040404 !important;
}

a[href="https://hurom.pl/data/include/cms/Quiz/strona.html"] {
  color: #78c500 !important;
}

a.nav-link.--l1[href="https://hurom.pl/Hurom-AI-Chef-ccms-pol-197.html"] {
  background: linear-gradient(to right, #78C500, #34d399);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.securityPolicy .big_label {
  display: inline-block;
}

#db8d534b-64b2-47af-85be-3af9c60cd9de {
  margin-top: 0rem !important;
}

/* ══════════════════════════════════════════════════════════
   19. KOSZYK
   ══════════════════════════════════════════════════════════ */

.basketedit_page .basketedit_rebatecodes_outline {
  display: block !important;
}
.basketedit_page .basketedit_rebatecodes_outline input.basketedit_rebatecode_input {
  margin-top: 5px !important;
  margin-bottom: 15px !important;
}

@media screen and (min-width: 757px) {
  .basketedit_page .basketedit_rebatecodes_outline {
    display: block !important;
  }
  .basketedit_page .basketedit_rebatecodes_outline input.basketedit_rebatecode_input {
    margin-right: 10px !important;
  }
}

.cop_summary .cop_oneclick_pay__item {
  padding: 1px;
}

/* ══════════════════════════════════════════════════════════
   20. POPUP / MOBILE
   ══════════════════════════════════════════════════════════ */

@media screen and (max-width: 978px) {
  #tws_c_0 {
    position: fixed !important;
  }
}

@media (max-width: 360px) {
  #projector_form .projector_variants__item {
    gap: 0.1rem !important;
    min-width: 60px;
    width: 60px;
  }
  #projector_form .projector_variants__sub {
    gap: 0.1rem !important;
  }
}

/* ══════════════════════════════════════════════════════════
   21. H70 — SEKCJA LANDING (CMS)
   ══════════════════════════════════════════════════════════ */

.h70 {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  box-sizing: border-box;
}

.h70 .block {
  margin-block: 80px;
  width: 100%;
}

.h70 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 756px) {
  .h70 .block {
    margin-bottom: 40px;
  }
}

.h70 h1,
.h70 h2,
.h70 h3 {
  margin: 0;
}

.h70 h2 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 1.3;
}

.h70 h2.center {
  text-align: center;
}

.h70 h2 span,
.h70 h3 span {
  color: #78c500;
}

.h70 .block-two-cols h2 span,
.h70 .block-two-cols h3 span {
  color: #fff;
}

.h70 .block-two-cols {
  border-radius: 5px;
}

.h70 p {
  margin: 0;
  line-height: 1.33;
}

ul.custom-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding-left: 0;
  margin: 0;
  margin-top: 40px;
}

ul.custom-list li {
  position: relative;
  padding-left: 24px;
  font-size: 1.6rem;
  font-weight: 700;
}

ul.custom-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1a7a45;
}

/* ══════════════════════════════════════════════════════════
   22. H70 — SWIPER / PAGINATION
   ══════════════════════════════════════════════════════════ */

.h70 .swiper-button-disabled {
  display: flex !important;
}

.h70 .swiper-slide {
  height: auto;
}

.h70 .swiper-footer {
  position: relative;
  width: 15rem;
  margin: 0 auto;
  margin-top: 1.5rem;
  display: flex;
  background: #141920;
  height: 6rem;
  align-items: center;
  border-radius: 6rem;
  color: white;
  padding-inline: 1rem;
  gap: 10px;
}

.h70 .swiper-pagination-custom {
  position: static;
  font-weight: 700;
  font-size: 1.3rem;
}

.h70 .swiper-footer .slider-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  height: 4rem;
  background: white;
  border-radius: 100%;
  position: static;
  transform: none;
  margin: 0;
}

.h70 .swiper-footer .slider-btn.swiper-button-disabled {
  opacity: 0.2;
}

.h70 .swiper-footer .slider-btn svg {
  width: 16px;
  color: #040404;
}

@media only screen and (min-width: 757px) {
  .h70 .swiper-footer {
    display: none;
  }
}

/* ══════════════════════════════════════════════════════════
   23. H70 — BLOCK SCROLLER
   ══════════════════════════════════════════════════════════ */

.h70 .block-scroller h2 {
  margin-bottom: 50px;
}

.h70 .block-scroller .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 36px 28px;
  border-radius: 8px;
  background: #fff;
}

.h70 .block-scroller .swiper-slide img {
  max-height: 106px;
  max-width: 107px;
  width: auto;
  width: 100%;
  margin: 0 auto;
}

.h70 .block-scroller-wrapper {
  flex-grow: 1;
}

.h70 .block-scroller h3 {
  margin-top: 24px;
  font-size: 1.6rem;
}

.h70 .block-scroller p {
  margin-top: 16px;
}

@media only screen and (max-width: 756px) {
  .h70 .block-scroller .swiper-slide {
    padding: 0;
    background: transparent;
    flex-direction: row;
    align-items: center;
    gap: 2.4rem;
  }

  .h70 .block-scroller .swiper-slide img {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
  }

  .h70 .block-scroller p {
    color: #040404 !important;
  }

  .h70 .block-scroller h3 {
    margin-top: 0;
  }
}

/* Block scroller secondary */
.h70 .block-scroller--secondary img {
  margin: 0 auto 0 0;
}

.h70 .block-scroller--secondary p {
  color: #8C8C8C;
}

/* ══════════════════════════════════════════════════════════
   24. H70 — BLOCK SLIDER
   ══════════════════════════════════════════════════════════ */

.h70 .block-slider .swiper-slide {
  text-align: left;
  padding: 73px 40px;
  position: relative;
  height: auto;
  color: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.h70 .block-slider .title {
  text-transform: uppercase;
  font-size: 1.4rem;
  color: #78C500;
  font-weight: 700;
}

.h70 .block-slider h2 {
  margin-top: 16px;
}

.h70 .block-slider p {
  margin-top: 36px;
  font-size: 1.8rem;
  color: #fff;
}

.h70 .block-slider .swiper-slide .img-container::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(270deg, rgba(4, 4, 4, 0.00) 0%, #040404 100%);
}

.h70 .block-slider .swiper-slide img {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.h70 .block-slider .block-slider-wrapper {
  max-width: 400px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.h70 .block-slider .swiper-pagination {
  left: 20px;
  width: auto;
  bottom: 36px;
}

.h70 .block-slider .swiper-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
}

.h70 .block-slider .swiper-pagination .swiper-pagination-bullet-active {
  background: #78C500;
}

@media only screen and (max-width: 756px) {
  .h70 .block-slider .swiper-slide {
    padding: 36px 20px 100px 20px;
  }

  .h70 .block-slider h2 {
    font-size: 2rem;
  }
}

@media only screen and (min-width: 757px) {
  .h70 .block-slider .swiper-pagination {
    right: 40px;
    margin-top: 0;
    left: initial;
    top: 50%;
    bottom: initial;
    translate: 0 -50%;
    font-size: 1.8rem;
    line-height: 1.33;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: auto;
  }
}

/* ══════════════════════════════════════════════════════════
   25. H70 — BLOCK TEXT IMAGE
   ══════════════════════════════════════════════════════════ */

.h70 .block-text-image {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-radius: 8px;
  overflow: hidden;
}

.h70 .block-text-image-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  border-radius: 8px;
  overflow: hidden;
}

.h70 .block-text-image-text,
.block-text-image-image {
  flex: 1;
}

.h70 .block-text-image-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px 40px;
  background: #FAF8F6;
}

.h70 .block-text-image-image {
  display: flex;
}

.h70 .block-text-image-image img {
  object-fit: cover;
}

.h70 .block-text-image p {
  margin-top: 36px;
  color: #8C8C8C;
}

@media only screen and (max-width: 756px) {
  .h70 .block-text-image-text {
    padding: 40px 20px;
  }

  .h70 .block-text-image-image {
    min-height: initial;
    height: 332px;
  }

  .h70 .block-text-image--secondary .block-text-image-image {
    order: -1;
  }
}

/* ══════════════════════════════════════════════════════════
   26. H70 — BLOCK BENEFITS
   ══════════════════════════════════════════════════════════ */

.h70 .block-benefits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  gap: 12px;
}

.h70 .block-benefits-item {
  display: flex;
  align-items: center;
  gap: 26px;
  border-radius: 8px;
  background: #FAF8F6;
  padding: 40px;
}

.h70 .block-benefits-item img {
  width: 60px;
  height: auto;
}

.h70 .block-benefits-item span {
  flex-grow: 1;
  font-size: 1.8rem;
  font-weight: 700;
  word-wrap: break-word;
}

@media only screen and (max-width: 756px) {
  .h70 .block-benefits-item {
    padding: 30px 20px;
  }
}

/* Mobile — naprawa przepełnienia (Safari fix) */
@media only screen and (max-width: 480px) {
  .h70 .block-benefits {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .h70 .block-benefits-item {
    min-width: 0 !important;
    width: 100% !important;
    padding: 20px 15px;
    gap: 15px;
  }

  .h70 .block-benefits-item img {
    flex-shrink: 0;
  }

  .h70 .block-benefits-item span {
    flex-shrink: 1;
    min-width: 0;
    word-break: break-word;
  }
}

/* ══════════════════════════════════════════════════════════
   27. H70 — BLOCK TABS GRID 1
   ══════════════════════════════════════════════════════════ */

.h70 .block-tabs-grid-1 {
  display: grid;
  gap: 12px;
}

.h70 .block-tabs-grid-1 .block-tabs-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-info {
  position: relative;
  padding: 73px 40px;
  grid-column: 1 / 2;
  border-radius: 8px;
  background: #282B34;
}

.h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-media {
  position: relative;
  grid-column: 2 / -1;
  border-radius: 8px;
  overflow: hidden;
}

.h70 .block-tabs-grid-1 .block-tabs-pagination {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.h70 .block-tabs-grid-1 .info-item {
  left: 40px;
  right: 40px;
  top: 73px;
}

.h70 .block-tabs-grid-1 .info-item h2 {
  color: #fff;
}

.h70 .block-tabs-grid-1 .info-item p {
  margin-top: 36px;
  color: #8C8C8C;
}

.h70 .block-tabs-grid-1 .media-item {
  display: flex;
  height: 100%;
}

.h70 .block-tabs-grid-1 .media-item img {
  object-fit: cover;
}

.h70 .info-item,
.h70 .media-item {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  transition: all .3s;
}

.h70 .info-item.active,
.h70 .media-item.active {
  position: static;
  visibility: visible;
  opacity: 1;
}

.h70 .pagination-item {
  display: flex;
  align-items: center;
  padding: 42.5px 37px;
  border-radius: 8px;
  background: #FAF8F6;
  color: #1a7a45;
  font-weight: 700;
  cursor: pointer;
}

.h70 .pagination-item.active {
  background: linear-gradient(135deg, #0f3d25 0%, #1a7a45 100%);
  color: #fff;
}

@media only screen and (max-width: 756px) {
  .h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-info,
  .h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-media {
    grid-column: initial;
  }

  .h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-media {
    order: -1;
  }

  .h70 .block-tabs-grid-1 .info-item {
    left: 20px;
    top: 40px;
    right: 20px;
  }

  .h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-info {
    padding: 40px 20px;
  }

  .h70 .block-tabs-grid-1 .block-tabs-content .block-tabs-media .media-item {
    height: 332px;
    width: 100%;
  }

  .h70 .block-tabs-grid-1 .block-tabs-content,
  .h70 .block-tabs-grid-1 .block-tabs-pagination {
    grid-template-columns: 1fr;
  }

  .h70 .pagination-item {
    padding: 42px 30px;
  }
}

/* ══════════════════════════════════════════════════════════
   28. H70 — BLOCK BANNER
   ══════════════════════════════════════════════════════════ */

.h70 .block-banner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.h70 .block-banner .block-banner-wrapper {
  position: relative;
  padding: 40px;
  overflow: hidden;
  border-radius: 8px;
  text-align: center;
}

.h70 .block-banner .block-banner-content {
  position: relative;
  z-index: 1;
}

.h70 .block-banner .img-container img {
  position: absolute;
  left: 0;
  top: 0;
}

.img-container.img-overlay:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(4, 4, 4, 0.60);
}

.h70 .block-banner h2 {
  color: #fff;
}

.h70 .block-banner p {
  margin-top: 36px;
  color: #fff;
}

@media only screen and (max-width: 756px) {
  .h70 .block-banner .block-banner-wrapper {
    padding: 40px 20px;
  }
}

/* Banner — secondary */
.h70 .block-banner--secondary .block-banner-wrapper {
  background: linear-gradient(135deg, #0f3d25 0%, #1a7a45 100%);
}

.h70 .block-banner--secondary .img-container img {
  width: auto;
  max-width: 330px;
  object-fit: contain;
  translate: 50px 50px;
  height: auto;
  margin-top: auto;
  right: 0;
  left: initial;
  top: initial;
  bottom: 0;
}

.h70 .block-banner--secondary .block-banner-content {
  text-align: left;
  max-width: 65%;
}

.h70 .block-banner--secondary h3 {
  color: #fff;
}

.h70 .block-banner--secondary h3 span {
  color: #b8e8cb;
}

.h70 .block-banner--secondary p {
  margin-top: 20px;
  color: #b8e8cb;
}

@media only screen and (max-width: 756px) {
  .h70 .block-banner--secondary .block-banner-wrapper {
    padding-bottom: 200px;
  }

  .h70 .block-banner--secondary .block-banner-content {
    max-width: 100%;
  }

  .h70 .block-banner--secondary .img-container img {
    translate: -50% 50px;
    left: 50%;
  }
}

/* ══════════════════════════════════════════════════════════
   29. H70 — BLOCK TEXT IMAGES
   ══════════════════════════════════════════════════════════ */

.h70 .block-text-images-wrapper {
  display: flex;
  flex-direction: column;
}

.h70 .block-text-images-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.h70 .block-text-images-images img {
  width: 100%;
  height: 450px;
  border-radius: 8px;
}

.h70 .block-text-images-images img:nth-of-type(1) {
  grid-column: 1 / span 2;
}

.h70 .block-text-images-images img:nth-of-type(2) {
  grid-column: 3 / -1;
}

.h70 .block-text-images-text {
  background: #FAF8F6;
  margin-top: 12px;
  padding: 40px;
  border-radius: 8px;
}

.h70 .block-text-images-text p {
  margin-top: 36px;
  text-align: center;
  color: #8C8C8C;
}

@media only screen and (max-width: 756px) {
  .h70 .block-text-images-images {
    grid-template-columns: 1fr;
  }

  .h70 .block-text-images-images img:nth-of-type(1) {
    height: 300px;
  }

  .h70 .block-text-images-images img {
    grid-column: initial !important;
  }

  .h70 .block-text-images-text {
    padding: 40px 20px;
  }
}

/* ══════════════════════════════════════════════════════════
   30. H70 — BLOCK TABS GRID 2
   ══════════════════════════════════════════════════════════ */

.h70 .block-tabs-grid-2 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.h70 .block-tabs-grid-2 .block-tabs-content {
  grid-column: 1 / 5;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 12px;
}

.h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-info {
  grid-row: 1;
  position: relative;
  padding: 28px 40px;
  grid-column: 1 / 2;
  border-radius: 8px;
  background: #FAF8F6;
}

.h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-media {
  grid-row: 2 / -1;
  position: relative;
  grid-column: 2 / -1;
  border-radius: 8px;
  overflow: hidden;
}

.h70 .block-tabs-grid-2 .block-tabs-pagination {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 12px;
}

.h70 .block-tabs-grid-2 .info-item {
  left: 40px;
  top: 28px;
}

.h70 .block-tabs-grid-2 .info-item p {
  margin-top: 36px;
  color: #8C8C8C;
}

.h70 .block-tabs-grid-2 .media-item {
  display: flex;
  height: 100%;
}

.h70 .block-tabs-grid-2 .media-item img {
  object-fit: cover;
  object-position: 30% 100%;
}

.h70 .block-tabs-grid-2 .pagination-item img {
  max-height: 175px;
  object-fit: contain;
}

@media only screen and (max-width: 756px) {
  .h70 .block-tabs-grid-2 {
    grid-template-columns: repeat(3, 1fr);
  }

  .h70 .block-tabs-grid-2 .block-tabs-content {
    grid-template-rows: repeat(2, 1fr);
  }

  .h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-info,
  .h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-media {
    grid-column: initial;
  }

  .h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-media {
    order: -1;
  }

  .h70 .block-tabs-grid-2 .info-item {
    left: 20px;
    top: 40px;
    right: 20px;
  }

  .h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-info {
    padding: 40px 20px;
  }

  .h70 .block-tabs-grid-2 .block-tabs-content .block-tabs-media .media-item {
    width: 100%;
  }

  .h70 .pagination-item {
    padding: 42px 30px;
  }

  .h70 .block-tabs-grid-2 .block-tabs-pagination {
    grid-column: 1 / -1;
    grid-template-rows: initial;
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ══════════════════════════════════════════════════════════
   31. H70 — BLOCK TWO COLS
   ══════════════════════════════════════════════════════════ */

.h70 .block-two-cols {
  padding: 80px 40px;
  background: linear-gradient(135deg, #0f3d25 0%, #1a7a45 100%);
  color: #fff;
}

.h70 .block-two-cols-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 40px;
  margin-top: 80px;
}

.h70 .block-two-cols-col {
  display: flex;
  flex-direction: column;
}

.h70 .block-two-cols img {
  border-radius: 8px;
  aspect-ratio: 16 / 12;
}

.h70 .block-two-cols-wrapper .col-wrapper {
  display: flex;
  flex-direction: column;
  padding: 40px;
}

.h70 .block-two-cols .title {
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Poppins', Arial, sans-serif;
}

.h70 .block-two-cols .subtitle {
  margin-top: 12px;
  color: #b8e8cb;
  font-weight: 700;
  font-family: 'Poppins', Arial, sans-serif;
}

.h70 .block-two-cols p {
  margin-top: 16px;
  color: #fff;
}

@media only screen and (max-width: 756px) {
  .h70 .block-two-cols {
    padding: 80px 20px 40px;
    margin-left: -15px;
    width: 100vw;
  }

  .h70 .block-two-cols-wrapper {
    margin-top: 60px;
  }

  .h70 .block-two-cols-wrapper .col-wrapper {
    padding: 40px 20px;
  }
}

/* ══════════════════════════════════════════════════════════
   32. H70 — BLOCK TILES
   ══════════════════════════════════════════════════════════ */

.h70 .block-tiles-wrapper .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 22px;
  margin-top: 50px;
}

.h70 .block-tiles-tile {
  overflow: hidden;
  border-radius: 8px;
  padding: 40px;
  background: #f9fefb;
  border: 1px solid #c8ecd8;
}

.h70 .block-tiles-tile.block-tiles-tile--image {
  padding: 0;
}

.h70 .block-tiles-tile.block-tiles-tile--image img {
  height: 100%;
}

.h70 .block-tiles-tile .title {
  color: #1a7a45;
  font-size: 2.4rem;
  font-weight: 700;
}

.h70 .block-tiles-tile p {
  margin-top: 20px;
  font-size: 1.4rem;
}

@media only screen and (max-width: 756px) {
  .h70 .block-tiles-wrapper .swiper-wrapper {
    display: block;
    gap: 0;
  }

  .h70 .block-tiles-tile.block-tiles-tile--image img {
    aspect-ratio: 16 / 9;
  }
}

/* ══════════════════════════════════════════════════════════
   33. H70 — BLOCK CARDS
   ══════════════════════════════════════════════════════════ */

.h70 .block-cards-wrapper {
  display: flex;
  gap: 12px;
}

.h70 .block-cards-card {
  flex: 1;
  display: grid;
  grid-template-rows: 300px max-content max-content 1fr;
  border-radius: 8px;
  padding: 20px;
  background: #FAF8F6;
}

.h70 .block-cards-card .title {
  margin-top: 20px;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.4rem;
  color: #1a7a45;
}

.h70 .block-cards-card .subtitle {
  margin-top: 12px;
  font-size: 2.2rem;
  font-weight: 700;
}

.h70 .block-cards-card img {
  max-height: 310px;
  border-radius: 8px;
  object-position: 20%;
  aspect-ratio: 16 / 12;
}

.h70 .block-cards-card p {
  margin-top: 16px;
  color: #8C8C8C;
}

@media only screen and (max-width: 756px) {
  .h70 .block-cards-wrapper {
    flex-direction: column;
  }
}

/* ══════════════════════════════════════════════════════════
   34. H70 — BLOCK ITEMS
   ══════════════════════════════════════════════════════════ */

.h70 .block-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.h70 .block-items-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  row-gap: 58px;
  column-gap: 12px;
  margin-top: 50px;
}

.h70 .block-items-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.h70 .block-items-item .item-image,
.h70 .block-items-item .title {
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.h70 .block-items-item .item-image {
  aspect-ratio: 1;
  background: #fff;
}

.h70 .block-items-item .title {
  padding: 10px 13px;
  font-size: 1.4rem;
  text-align: center;
  font-weight: 700;
}

@media only screen and (max-width: 756px) {
  .h70 .block-items-wrapper {
    row-gap: 18px;
  }
}

/* ══════════════════════════════════════════════════════════
   35. H70 — BLOCK COMPARE
   ══════════════════════════════════════════════════════════ */

.h70 .block-compare-wrapper {
  display: flex;
  gap: 12px;
  margin-top: 92px;
}

.h70 .block-compare-item {
  position: relative;
  flex: 1;
}

.h70 .block-compare-item .item-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border-radius: 8px;
  padding: 0 30px;
  overflow-x: clip;
  height: 100%;
}

.h70 .block-compare-item .item-box::after {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: 1;
  display: block;
  height: 240px;
  width: 100%;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 11.28%, rgba(255, 255, 255, 0.70) 49.46%, #FFF 81.99%);
}

.h70 .block-compare-item .item-box img {
  position: relative;
  z-index: 1;
  bottom: 0;
  translate: 0 -22px;
  max-height: 385px;
  object-fit: contain;
}

.h70 .block-compare-item .item-box .title-bg {
  position: absolute;
  z-index: 0;
  bottom: 50%;
  translate: 0 50%;
  font-size: 13.5rem;
  font-weight: 700;
  opacity: 0.05;
}

.h70 .block-compare-item .item-box .title {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  z-index: 2;
  font-size: 4rem;
  text-align: center;
  font-weight: 700;
}

.h70 .block-compare-item .item-box .title span {
  color: #78C500;
}

/* Compare options */
.h70 .block-compare-options {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

.h70 .compare-options {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.h70 .compare-options a {
  margin-left: 5px;
}

.h70 .compare-option {
  min-width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 1.4rem;
  font-weight: 700;
}

.h70 .compare-options:nth-of-type(1) .compare-option:nth-of-type(1) {
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.10);
  padding-inline: 40px;
}
.h70 .compare-options:nth-of-type(2) .compare-option:nth-of-type(2) {
  padding-inline: 40px;
  color: #fff;
}

.h70 .compare-option:nth-of-type(1) {
  min-width: 48px;
  height: 48px;
  background: #fff;
}
.h70 .compare-option:nth-of-type(2) {
  min-width: 48px;
  height: 48px;
  background: linear-gradient(45deg, #333039, #9B9EB4);
}
.h70 .compare-option:nth-of-type(3) {
  min-width: 48px;
  height: 48px;
  background: #202020;
}

/* Compare comparison */
.h70 .block-compare-comparison-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
  padding: 40px;
  border-radius: 8px;
  background: #fff;
}

.h70 .block-compare-comparison {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 16px 24.5px 28px;
  border-radius: 8px;
  background: #f1f1f1;
}

.h70 .comparison-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.h70 .comparison-heading span span {
  display: inline-block;
  margin-left: 5px;
  font-weight: 400;
}

.h70 .comparison-heading img {
  height: 40px;
  width: auto;
  object-fit: contain;
}

.h70 .comparison-heading span {
  font-size: 1.6rem;
  font-weight: 700;
}

.h70 .comparison-items {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 32px;
}

.h70 .comparison-item {
  max-width: 320px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.h70 .comparison-item .title-mobile {
  display: none;
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.h70 .comparison-item img {
  margin-bottom: 24px;
  max-height: 120px;
  object-fit: contain;
}

.h70 .comparison-item .item-title {
  margin-bottom: 8px;
  font-size: 1.6rem;
  font-weight: 700;
}

.h70 .comparison-item .item-rating {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.h70 .comparison-item .item-rating img {
  max-width: 160px;
  margin-bottom: 0;
}

.h70 .comparison-item .item-rating span {
  font-size: 1.6rem;
}

.h70 .comparison-item p {
  font-size: 1.6rem;
}

.h70 .comparison-item p:nth-of-type(2) {
  margin-top: 12px;
}

@media only screen and (max-width: 756px) {
  .h70 .comparison-item .title-mobile {
    display: block;
  }

  .h70 .block-compare-item .item-box .title-bg {
    display: none;
  }

  .h70 .block-compare-item .item-box .title {
    font-size: 1.8rem;
  }

  .h70 .block-compare-comparison-wrapper {
    gap: 40px;
    padding: 0;
    background: transparent;
  }

  .h70 .block-compare-comparison {
    gap: 40px;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
  }

  .h70 .block-compare-comparison:nth-of-type(4) .item-title {
    font-weight: 400;
  }

  .h70 .block-compare-comparison:nth-of-type(2) p:nth-of-type(2) {
    order: 4;
  }

  .h70 .block-compare-comparison:nth-of-type(2) p:nth-of-type(1) {
    order: 2;
  }

  .h70 .block-compare-comparison:nth-of-type(2) .item-rating {
    order: 3;
  }

  .h70 .block-compare-comparison:nth-of-type(3) p:nth-of-type(1) {
    order: 3;
  }

  .h70 .comparison-items {
    flex-direction: column;
  }

  .h70 .comparison-item {
    max-width: 100%;
    gap: 0;
  }

  .h70 .comparison-item p:nth-of-type(2) {
    order: 0;
  }

  .h70 .comparison-item .item-rating {
    order: 3;
    margin-block: 8px 0;
  }

  .h70 .comparison-heading {
    flex-direction: column;
    gap: 12px;
  }

  .h70 .compare-options:first-of-type {
    display: none;
  }

  .h70 .compare-options a {
    display: none;
  }
}