:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    
    --bs-body-bg: #ffffff;
    --bs-gray: #6c757d;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-success: #00c853;
    --bs-success-lighter: #00d057;
    --bs-info: #0076FF;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
}


:root {
    --bs-primary: #0d6efd; 
    --bs-primary-bg: #ffffff; 
    --bs-primary-text: #212529;
    --bs-secondary-bg: #eeeeee; 
    --bs-secondary-text: #212529; 
    --bs-accent: #07c152; 
    --bs-footer-bg: #ffffff; 
    --bs-footer-text: #212529; 
    
    --bs-preloader-second: #f21559; 
    --heading-prices-choose: #d63384;
    --bs-delete-lighter: #ff5e85;
    
    --bs-primary-lighter: #6AA4FF;
    --bs-primary-darker: #004CCB;
    --bs-secondary-lighter: #eeeeee;
    --bs-secondary-darker: #eee;
    --bs-primary-bg-lighter: #ffffff;
    --bs-primary-bg-darker: #f9f8fa;
    --bs-secondary-bg-lighter: #fff;
    --bs-secondary-bg-darker: #15161b;
    --bs-success-lighter: #00d057;
    --bs-accent-lighter: #00d057;
    --bs-gray: #6c757d;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-success: #00c853;
    --bs-info: #0076FF;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    
    --bs-body-color: #212529;
    --ip-btn-primary-background: #0d6efd;
    --ip-btn-primary-text: #ffffff;
    --ip-radio-primary-background: #ffffff;
    --ip-radio-primary-text: #212529;
    --ip-radio-primary-border: #0d6efd;
    --ip-radio-checked-background: #0d6efd;
    --ip-radio-checked-text: #ffffff;
    --ip-prices-chosen-background: #f9f8fa;
    --ip-prices-btn-color-text: #ffffff;
    --ip-prices-btn-secondary-background: #00d057;
    --ip-modal-primary-background: #ffffff;
    
    --ip-header-main-bg: #ffffff; 
    --ip-product-icons-text-color: #212529;
    --ip-header-menu-text-color: #6c757d;
    --ip-header-menu-text-color-active: #0d6efd;
    --ip-product-tab-list-nav-link-color: #212529;
    --ip-product-tab-list-nav-link-color-active: #0d6efd;
    --ip-btn-outlined-background: #ffffff;
    --ip-btn-outlined-text: #0d6efd;
    --ip-btn-outlined-secondary-background: #ffffff;
    --ip-btn-outlined-secondary-text: #0d6efd;
    --ip-product-icons-background-color: #ffffff;
    --ip-banner-text: #212529;
    --ip-input-text: #212529; 
    --ip-input-background: #ffffff; 
    --ip-carousel-button-color: #0d6efd;
    --ip-border-radius-boxes: 8px;
    --ip-border-radius-buttons: 50px;
    --ip-border-radius-inputs: 16px;
    --ip-box-shadow-boxes: 0 3px 24px rgba(0, 0, 0, .09);
    --page-max-width: 1200px; 
    --base-font-size: 16px; 
    --base-font-family: 'Arial', sans-serif; 
    --heading-font-family: 'Roboto', sans-serif; 
    --product-box-size: 250px; 


    
    --ip-icon-primary-1: #7f6eff;
    --ip-icon-primary-2: #7e37ff;
    --ip-icon-primary-3: #7c00ff;
    --ip-icon-primary-4: #6120de;
    --ip-icon-primary-5: #4300c4;

    --ip-icon-primary-accent: #f5a8f5;

    --ip-icon-secondary-1: #fff;
    --ip-icon-secondary-2: #f3f3f3;
    --ip-icon-secondary-3: #e9e9e9;
    --ip-icon-secondary-4: #e4e4e4;
    --ip-icon-secondary-5: #ccc;

    --ip-icon-eco-1: #f4e3d3;
    --ip-icon-eco-2: #f4e0ce;
    --ip-icon-eco-3: #dbccbd;

    --ip-icon-darkest: #3a3a3a;
}


/* =========================================================
   PALETA I ZMIENNE (spójne z identyfikacją)
   ========================================================= */
:root{
  /* brand */
  --brand-blue: #0096DB;     /* linki/CTA/nagłówki */
  --brand-accent: #E7247F;   /* wyróżnienia */
  --brand-text: #143758;     /* tekst główny */
  --brand-bg-section: #F5F9FF;

  /* mapowanie do zmiennych motywu/systemu */
  --bs-primary: var(--brand-blue);
  --bs-blue: var(--brand-blue);
  --bs-accent: var(--brand-accent);
  --ip-btn-primary-background: var(--brand-blue);
  --ip-radio-primary-border: var(--brand-blue);
  --ip-radio-checked-background: var(--brand-blue);
  --ip-header-menu-text-color-active: var(--brand-blue);
  --ip-product-tab-list-nav-link-color-active: var(--brand-blue);
  --ip-btn-outlined-text: var(--brand-blue);
  --ip-btn-outlined-secondary-text: var(--brand-blue);
  --ip-carousel-button-color: var(--brand-blue);

  --bs-footer-bg: #f8f9fa; /* jasny szary dla stopek */
}

/* =========================================================
   PRZYCISKI / AKCENTY
   ========================================================= */
.ip-btn-success{
  background: var(--brand-accent) !important;
  border-color: var(--brand-accent) !important;
  color:#fff !important;
}
.ip-btn-success:hover,
.ip-btn-success:focus{
  background:#c51c65 !important; /* ciemniejszy akcent na hover */
  border-color:#c51c65 !important;
}

/* =========================================================
   TŁA / KOLORY POMOCNICZE
   ========================================================= */
.container-fluid.secondary-background-color{
  background-color:#ffffff !important;
}

/* =========================================================
   ZAKŁADKI PRODUKTÓW
   ========================================================= */
#productsTabList .nav-link{
  color: var(--brand-text) !important;
  border:none !important;
}
#productsTabList .nav-link.active,
#productsTabList .nav-link:hover{
  color: var(--brand-blue) !important;
}
#productsTabList .nav-link.active,
#productsTabList .nav-link.active.secondary-background-color{
  background-color:#fff !important;
  color: var(--ip-product-tab-list-nav-link-color-active, var(--brand-blue)) !important;
}

/* =========================================================
   PRZYCISK CENY (hover)
   ========================================================= */
.prices-table .button-cena:hover{
  color:#fff !important;
  background: var(--brand-accent) !important;
  border-color: var(--brand-accent) !important;
}

/* =========================================================
   KAFELKI / LISTING PRODUKTÓW — LAYOUT (CSS GRID)
   Ujednolicone dla: .productBoxesInner oraz #productCategory
   ========================================================= */
.productBoxesInner,
#productCategory{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
  gap:24px !important;
  justify-content:center;     /* ładne wyśrodkowanie wierszy */
  align-items: stretch;
  max-width:1200px;
  margin:0 auto;
}

/* Responsywne kolumny */
@media (max-width: 1280px){
  .productBoxesInner,
  #productCategory{ grid-template-columns: repeat(3, minmax(220px,1fr)) !important; }
}
@media (max-width: 992px){
  .productBoxesInner,
  #productCategory{ grid-template-columns: repeat(2, minmax(220px,1fr)) !important; }
}
@media (max-width: 576px){
  .productBoxesInner,
  #productCategory{ grid-template-columns: 1fr !important; }
}

/* Element kafelka w siatce (usunęliśmy floaty/szerokości) */
#productCategory .productInfo,
#productCategory .productInfo.left,
#productCategory .productInfo.right{
  float:none !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  margin:0;                   /* odstępy robi gap siatki */
  text-align:center;
  box-sizing:border-box;
  width:auto !important;
}

/* „Czyścik” po floatach już niepotrzebny */
#productCategory .clear{ display:none !important; }

/* Dodatkowe wyrównania w kafelku (opcjonalnie) */
#productCategory .productInfoHeader h1,
#productCategory .productInfoHeader h1 a{
  font-size:18px;
  line-height:1.3;
  text-align:center;
  display:block;
}
#productCategory .productInfoImg img{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
}
#productCategory .productInfoDesc{ text-align:center; }

/* Stary inline-grid/inliny — wygaszamy, by nie kolidowało z Gridem */
.prodbox{
  width:100%;
  max-width:none;
  margin:0 !important;
  display:block;      /* zostawiamy block, układ robi rodzic-grid */
  vertical-align:top;
}

/* =========================================================
   KAFELKI / LISTING PRODUKTÓW — WYGLĄD KARTY
   ========================================================= */
.product-box-single{
  background:#fff;
  border:1px solid var(--brand-blue);
  border-radius:10px;
  padding:15px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  height:100%;
}
.product-box-single:hover{
  transform:scale(1.03);
  box-shadow:0 6px 20px rgba(0,150,219,.25);
  border-color: var(--brand-accent); /* spójny róż na hover */
}

/* Obraz w karcie */
.product-box-single img{
  width:100%;
  height:220px;        /* stała wysokość miniatury */
  object-fit:cover;
  border-radius:8px;
  margin-bottom:10px;
}

/* Tytuł/nazwa w karcie */
.product-box-single p,
.product-box-single .title,
.product-box-single h3{
  font-size:.95rem;
  font-weight:700;
  color: var(--brand-text);
  margin:0 0 8px;
}

/* =========================================================
   FAQ — TYLKO STYLOWANIE (bez HTML)
   ========================================================= */
.xfaq{ color:var(--brand-text); line-height:1.6; padding-left:48px; text-align:left; }
.xfaq .t{ color:var(--brand-blue); font-weight:700; margin:16px 0 8px; font-size:18px; }
.xfaq .hot{ color:var(--brand-accent); }
.xfaq ul{ margin:0 0 12px 20px; padding-left:18px; }
.xfaq a{ color:var(--brand-blue); text-decoration:underline; }

/* =========================================================
   DROBNE DOSTOSOWANIA UI
   ========================================================= */
/* Ukrycie darmowych próbek */
#darmowe_probki .radio-wrap .radio-wrap-label:nth-child(2){ display:none; }
#samples-info-section{ display:none; }

/* Menu PRODUKTY */
.menu-ul.opened h3,
#main-top-menu h3{
  font-size:14px; padding:10px 30px 10px 15px; margin-bottom:0;
}
.menu-ul.opened h3:hover,
#main-top-menu h3:hover{
  color: var(--bs-primary); font-weight:700;
}

/* ===========================================================
   KAFELKI — MOBILE HARD OVERRIDE (≤768px)
   =========================================================== */
@media (max-width: 768px){

  /* 1) Listing: siatka zamiast inline-blocków + mniejsze odstępy */
  .productBoxesInner{
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 12px !important;
    padding: 0 10px !important;
    text-align: initial !important; /* żadnych "center" z rodzica */
  }

  /* 2) Dzieci listingu: zgaś sztywne 230px i inline-block */
  .productBoxesInner > .box.prodbox,
  .productBoxesInner > *{
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  /* w środku zdarza się .h-100 – wyłącz ją na mobile */
  .productBoxesInner .h-100{ height: auto !important; }

  /* 3) Sama karta: układ kolumnowy, bez „sztucznych” wysokości */
  .productBoxesInner .product-box-single{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
    height: 100% !important;
    padding: 12px !important;
  }

  /* 4) Wrapper obraz+tytuł – nie trzymaj 100% wysokości, żadnych rel/abs */
  .productBoxesInner .product-box-single .svg-holding-block{
    position: static !important;
    height: auto !important;     /* nadpisuje .h-100 */
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  /* 5) OBRAZ — klucz: zdejmujemy ABSOLUTE i wymuszamy kwadrat 1:1 */
  .productBoxesInner .product-box-single .svg-holding-block > img{
    position: static !important;            /* ZDEJMUJE absolute */
    top: auto !important;
    left: auto !important;
    transform: none !important;

    min-width: 0 !important;                /* nadpisuje min-width:100% */
    min-height: 0 !important;               /* nadpisuje min-height:100% */
    max-width: 100% !important;
    max-height: none !important;

    width: 100% !important;
    height: auto !important;                /* nadpisuje height:220px z desktopu */
    aspect-ratio: 1 / 1 !important;         /* KWADRAT */
    object-fit: contain !important;         /* NIE przycinaj */
    margin: 0 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  /* 6) TYTUŁ — zawsze POD zdjęciem, bez overlay i bez truncate */
  .productBoxesInner .product-box-single .svg-holding-block > p{
    position: static !important;
    inset: auto !important;
    transform: none !important;
    order: 2;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;                 /* nadpisuje .text-start */
    color: var(--brand-text, #143758) !important;
    background: transparent !important;
    text-shadow: none !important;

    /* zamiast .text-truncate: do 2 linii */
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    line-height: 1.25;
    min-height: calc(1.25em * 2);
  }

  /* 7) Dodatkowe reguły, które często przebijają się w motywie */
  .productBoxesInner .product-box-single img{ height: auto !important; } /* dobij desktopowe 220px */
  .productBoxesInner .product-box-single a::before,
  .productBoxesInner .product-box-single a::after,
  .productBoxesInner .product-box-single .overlay,
  .productBoxesInner .product-box-single .caption{
    display: none !important;
    content: none !important;
  }
}
/* ===== BANER: layout + kolory (CAD) ===== */
#myCarousel .carousel-item{
  /* wspólna wysokość banera – skaluje się z szerokością ekranu */
  --banner-h: clamp(280px, 34vw, 480px);
}

#myCarousel .carousel-item .banner-content{
  min-height: var(--banner-h);
  padding: clamp(16px, 3vw, 40px) !important;
  gap: clamp(12px, 2vw, 24px);
}

/* Główna grafika: wypełnia wysokość banera bez przycinania */
#myCarousel .carousel-item .main-banner-img{
  height: var(--banner-h) !important;
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

/* Blok tekstowy */
#myCarousel .banner-info .banner-cad{
  max-width: min(640px, 66vw);
  color: #143758 !important; /* granat bazowy dla treści */
}

#myCarousel .banner-info .banner-cad h2{
  margin: 0 0 clamp(8px, 1.6vw, 14px);
  font-weight: 800;
  color: #0096DB !important; /* niebieski tytuł */
  font-size: clamp(24px, 4.2vw, 44px);
  line-height: 1.12;
}

#myCarousel .banner-info .banner-cad p{
  margin: 0 0 clamp(10px, 2vw, 16px);
  font-size: clamp(14px, 1.6vw, 18px);
  line-height: 1.55;
  color: #143758 !important; /* granat treści */
}

#myCarousel .banner-info .banner-cad p .subline{
  display: block;              /* „Dbamy o…” w nowej linii */
  margin-top: 6px;
}

/* CTA */
#myCarousel .banner-info .banner-cad .cta{
  display: inline-block;
  padding: 12px 26px;
  border-radius: 999px;
  background: #E7247F;         /* różowe tło przycisku */
  color: #fff !important;       /* biała czcionka */
  text-decoration: none;
  font-weight: 800;
  font-size: clamp(14px, 1.6vw, 16px);
}
#myCarousel .banner-info .banner-cad .cta:hover{ filter: brightness(0.95); }

/* ===== MOBILE: obraz nad tekstem, zero nachodzenia ===== */
@media (max-width: 767.98px){
  #myCarousel .carousel-item .banner-content{
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px;
    padding: 20px !important;
  }
  #myCarousel .banner-info{
    width: 100% !important;
    text-align: center !important;
  }
  #myCarousel .banner-info .banner-cad{
    max-width: 100%;
  }
  /* Na mobile obraz może być ciut niższy dla komfortu */
  #myCarousel .carousel-item .main-banner-img{
    height: clamp(220px, 48vw, 320px) !important;
  }
}

/* (opcjonalnie) drobna redukcja fontów na najmniejszych ekranach */
@media (max-width: 360px){
  #myCarousel .banner-info .banner-cad h2{ font-size: 22px; }
  #myCarousel .banner-info .banner-cad p{  font-size: 14px; }
}

/* === 1) CELUJEMY TYLKO TEN SLAJD Z NASZYM #cad-banner-copy === */
#myCarousel .carousel-item:has(#cad-banner-copy){
  position: relative !important;
  min-height: clamp(320px, 32vw, 500px) !important;
  overflow: hidden;
}

/* Ukryj domyślne obrazki tego slajdu, żeby nie było dubli */
#myCarousel .carousel-item:has(#cad-banner-copy) .carousel-bg-image{ display:none !important; }
#myCarousel .carousel-item:has(#cad-banner-copy) .main-banner-img{ display:none !important; }

/* Warstwa tła (2 obrazy naraz): [0] GŁÓWNA POSTAĆ, [1] TŁO BANERA */
#myCarousel .carousel-item:has(#cad-banner-copy)::before{
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;

  /* kolejność ma znaczenie: pierwsze = „na wierzchu” */
  background-image:
    url('https://xerografiapl.iwareprint.pl/useruploads/images/xerografiapl_iwareprint_pl/banner/8/Grafika_Glowna_1024x1024_CAD.png'),
    url('https://xerografiapl.iwareprint.pl/useruploads/images/xerografiapl_iwareprint_pl/banner/8/BANNER1_CAD_1920x479.jpg');

  /* główna postać: pełna wysokość; tło: cover */
  background-size: auto 100%, cover;
  background-repeat: no-repeat, no-repeat;

  /* pozycja: postać nieco z lewej, tło wyśrodkowane */
  background-position: 26% center, center;
}

/* === 2) KOLORY/AKCENTY TEKSTU I PRZYCISKU – z !important, by przebić motyw === */
#myCarousel #cad-banner-copy h2{
  color:#0096DB !important;
}
#myCarousel #cad-banner-copy p{
  color:#143758 !important;
}

#myCarousel #cad-banner-copy .btn-cad{
  display:inline-block;
  padding:12px 26px;
  border-radius:999px;
  background:#E7247F !important;
  color:#fff !important;                 /* biały tekst */
  text-decoration:none;
  font-weight:800;
  font-size:clamp(14px,1.6vw,16px);
}
#myCarousel #cad-banner-copy .btn-cad:hover{
  background:#c51d68 !important;
}

/* === 3) RESPONSYWNOŚĆ – bez nachodzenia na mobile === */
@media (max-width: 991.98px){
  /* zostaw wyższy banner i przesuń postać bardziej w lewo */
  #myCarousel .carousel-item:has(#cad-banner-copy){
    min-height: clamp(420px, 68vw, 580px) !important;
  }
  #myCarousel .carousel-item:has(#cad-banner-copy)::before{
    /* na mobile postać mniejsza i bardziej z lewej, by zrobić miejsce na tekst */
    background-size: auto 80%, cover;    /* 80% wysokości banera */
    background-position: 18% center, center;
  }

  /* wycentruj tekst na małych ekranach */
  #myCarousel #cad-banner-copy{
    margin: 0 auto;
    text-align: center;
    max-width: 92vw;
  }
}

/* Drobna korekta na bardzo szerokie ekrany – delikatne przesunięcie postaci */
@media (min-width: 1400px){
  #myCarousel .carousel-item:has(#cad-banner-copy)::before{
    background-position: 24% center, center;
  }
  BANNER START STRONY GŁÓWNEJ 
/* Płynne przewijanie po kliknięciu CTA */
html{ scroll-behavior:smooth; }

/* === CELUJEMY TYLKO W SLAJD Z #online-banner-copy ======================== */
#myCarousel .carousel-item:has(#online-banner-copy){
  position: relative !important;
  min-height: clamp(320px, 32vw, 520px) !important;
  overflow: hidden !important;
}

/* TŁO slajdu */
#myCarousel .carousel-item:has(#online-banner-copy) .carousel-bg-image{
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  pointer-events: none !important;
}
#myCarousel .carousel-item:has(#online-banner-copy) .carousel-bg-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* GRAFIKA GŁÓWNA – desktop: przyklejona do dołu baneru */
#myCarousel .carousel-item:has(#online-banner-copy) .main-banner-img{
  position: absolute !important;
  z-index: 1 !important;
  left: 26% !important;               /* desktop zostaje jak było – jest OK */
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  height: 100% !important;            /* NA WYSOKOŚĆ BANERA */
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

/* TEKST / KOLORY / CTA (z !important, żeby wygrać z motywem) */
#myCarousel #online-banner-copy .eyebrow{
  color:#E7247F !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  margin:0 0 8px !important;
}
#myCarousel #online-banner-copy h2{
  color:#0096DB !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  margin:0 0 12px !important;
  font-size:clamp(28px,5.2vw,64px) !important;
  text-transform:uppercase !important;
}
#myCarousel #online-banner-copy p{
  color:#143758 !important;
  margin:0 0 12px !important;
  font-size:clamp(14px,1.6vw,20px) !important;
  line-height:1.55 !important;
}
#myCarousel #online-banner-copy .btn-cad{
  display:inline-block !important;
  padding:12px 26px !important;
  border-radius:999px !important;
  background:#E7247F !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800 !important;
  font-size:clamp(14px,1.6vw,18px) !important;
}
#myCarousel #online-banner-copy .btn-cad:hover{ background:#c51d68 !important; }

/* === MOBILE (≤ 992px) – większa Pani + większy tytuł ===================== */
@media (max-width: 991.98px){

  /* Więcej miejsca na większą grafikę i copy */
  #myCarousel .carousel-item:has(#online-banner-copy){
    min-height: clamp(720px, 95vh, 1000px) !important;
  }

  /* Grafika nad tekstem i WYRAŹNIE większa */
  #myCarousel .carousel-item:has(#online-banner-copy) .main-banner-img{
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: block !important;

    height: clamp(520px, 70vh, 780px) !important;  /* >> powiększona */
    width: auto !important;
    max-width: 96vw !important;
    margin: -8px auto 18px !important;            /* bliżej góry + nieco miejsca pod spodem */
    z-index: 1 !important;
    object-fit: contain !important;
  }

  /* „bezpiecznik” – gdyby gdzieś jeszcze była inna reguła */
  #myCarousel .carousel-item:has(#online-banner-copy) .col-sm-6 img.main-banner-img{
    height: clamp(520px, 70vh, 780px) !important;
    max-width: 96vw !important;
  }

  /* Tekst wycentrowany, z większym tytułem */
  #myCarousel #online-banner-copy{
    margin:0 auto !important;
    text-align:center !important;
    max-width:min(680px, 92vw) !important;
  }
  #myCarousel #online-banner-copy h2{
    font-size: clamp(28px, 9vw, 44px) !important;  /* >> większy tytuł */
  }
  #myCarousel #online-banner-copy p{
    font-size: clamp(14px, 4.2vw, 18px) !important;
  }
  #myCarousel #online-banner-copy .btn-cad{
    font-size: clamp(14px, 4.2vw, 16px) !important;
  }
}

#iwareprintmsMap {
        height: 560px !important;
    }
