@charset "utf-8";
/* CSS Document */

/* ====== BASE (desktop defaults) ====== */
html { font-family: 'Lato', sans-serif; background: #fcfcfc; }
body { font-family: 'Lato', sans-serif; }
a { color: inherit; text-decoration: none; }
strong { font-weight: bold; }
em { font-style: italic; }
*.clearfix { position: relative; }
*.clearfix:after {
  width: 100%; content: "."; display: block; height: 0; clear: both; visibility: hidden; zoom: 1;
}
div.inner { margin: 0 auto; width: 1050px; }

/* Header */
#header { border-top: 3px solid #f90000; height: 100px; }
#header #logo { float: left; margin-top: 22px; }
#header #logo h1 { display: none; }
#header #logo img { display: block; }
#header #fast_contact {
  font-family: 'Open Sans', sans-serif; color: rgba(21,22,23,.8);
  float: right; font-size: 14px; text-align: right; line-height: 19px; margin-top: 9px;
}
#header #fast_contact p a { transition-duration: .3s; }
#header #fast_contact p a:hover { color: #f90000; }

/* Top nav (desktop) */
#menu { height: 47px; line-height: 47px; font-family: 'Open Sans', sans-serif; font-size: 15px;
  text-transform: uppercase; color: #373737; margin-bottom: 20px; }
#menu div.inner { background: #f2f2f2; }
#menu ul li { float: left; padding: 0 15px 0 16px; position: relative; }
#menu ul li:first-child { padding-left: 15px; }
#menu ul li:first-child:before { display: none; }
#menu ul li:before { content: "|"; position: absolute; top: 0; left: -5px; }
#menu ul li a { display: block; padding: 0 5px; transition-duration: .3s; }
#menu ul li:hover a, #menu ul li.current a { color: #f90000; text-shadow: 0 0 .5px rgba(249,0,0,.2); }

/* Rotator (desktop) */
#rotator { margin-bottom: 28px; }
#rotator div.inner { background: #f2f2f2; }
#rotator div.rot_txt { position: relative; height: 351px; width: 100%; color: #000; font-weight: 300; }
#rotator div.rot_txt h2 { position: relative; z-index: 200; padding-left: 21px; width: 480px; font-size: 30px; padding-top: 37px; padding-bottom: 28px; }
#rotator div.desc { font-size: 23px; line-height: 33px; padding-left: 21px; }
#rotator div.bx-viewport { overflow: visible !important; border: none; left: 0; box-shadow: none; background: transparent; height: 351px !important; }
#rotator div.rot_txt img { display: block; width: 584px; height: 393px; position: absolute; right: -15px; top: -11px; z-index: 5; }

/* Main */
#main_section { margin-bottom: 67px; }
#left_menu { float: left; width: 270px; }
#left_menu h3 {
  height: 47px; line-height: 47px; padding-left: 19px; background: #f2f2f2; border-radius: 10px;
  font-weight: bold; text-transform: uppercase; letter-spacing: .25px; color: #151617; border-bottom: 3px solid #f90000; margin-bottom: 8px;
}
#left_menu ul li { border-top: 1px solid #cfcfce; width: 240px; }
#left_menu ul li:first-child { border: none; }
#left_menu ul li a {
  display: block; line-height: 1.3; color: #373737; font-size: 16px; font-family: 'Open Sans';
  padding: 16px 0 16px 19px; transition-duration: .3s; letter-spacing: .1px;
}
#left_menu ul li:hover a, #left_menu ul li.current a { color: #f90000; }

#content { float: right; width: 710px; text-align: left; }
#content header h2 {
  height: 47px; line-height: 47px; letter-spacing: .1px; font-size: 25px; font-weight: bold; color: #151617; margin-bottom: 2px;
}
#content #main_desc { color: #373737; font-size: 15px; line-height: 23px; letter-spacing: .1px; }
#content #main_desc .red { color: #ff0000; }
#content #main_desc .big { font-size: 19px; line-height: 25px; }

/* Featured */
#featured_items { background: #f2f2f2; padding: 24px 0 30px; min-height: 508px; }
#featured_items div.inner { width: 1080px; }
#featured_items h2 { text-align: center; font-size: 30px; font-weight: 300; margin-bottom: 50px; }
#featured_items .featured_item { float: left; width: 234px; margin: 0 15px; }
#featured_items .featured_item:first-child { margin-left: 0; }
#featured_items .featured_item .ov { overflow: hidden; width: 100%; height: 187px; margin-bottom: 11px; }
#featured_items .featured_item .ov img { display: block; width: 100%; height: 187px; }
#featured_items .featured_item h3 { text-align: center; font-weight: 900; letter-spacing: .1px; font-size: 17px; margin-bottom: 24px; }
#featured_items .featured_item .desc { color: #151617; font-size: 14px; font-family: 'Open Sans'; line-height: 20px; }

/* Footer */
#footer { margin: 30px 0; }
#footer #menu_bottom { float: left; color: #373737; font-size: 12px; font-family: 'Open Sans'; }
#footer #menu_bottom ul li { float: left; padding-left: 15px; position: relative; margin-right: 9px; }
#footer #menu_bottom ul li:before { content: "|"; position: absolute; left: 0; }
#footer #menu_bottom ul li:first-child { padding-left: 0; }
#footer #menu_bottom ul li:first-child:before { display: none; }
#footer #menu_bottom ul li a { transition-duration: .3s; }
#footer #menu_bottom ul li:hover a, #footer #menu_bottom ul li.current a { color: #f90000; }
#footer #copyright { float: right; color: #373737; font-size: 12px; }

/* ====== MOBILE (?991px) ====== */
@media (max-width: 991px) {
  img, video { max-width: 100%; height: auto; }

  /* Kontenery */
  div.inner { width: 100%; padding: 0 16px; box-sizing: border-box; }

  /* Header: wyśrodkowanie logo i danych */
  #header { height: auto; padding: 12px 0; }
  #header .inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
  #header #logo, #header #fast_contact { float: none; width: 100%; }
  #header #logo { margin-top: 8px; }
  #header #logo img { margin: 0 auto; height: auto; max-width: 80%; }
  #header #fast_contact { text-align: center; margin-top: 8px; line-height: 1.4; }
  #header #fast_contact p { margin: 2px 0; }

  /* Pasek hamburgera pod headerem */
  .mobile-nav-bar {
    position: relative; height: 48px; background: #f2f2f2; border-bottom: 3px solid #f90000;
  }
  /* Checkbox techniczny */
  #nav-toggle { position: absolute; left: -9999px; }

  /* Ikona hamburgera na środku */
  label.hamburger {
    position: absolute; top: -255%; left: 90%; transform: translate(-50%,-50%);
    width: 36px; height: 28px; z-index: 1000; display: inline-block;
  }
  label.hamburger span,
  label.hamburger::before,
  label.hamburger::after {
    content: ""; position: absolute; left: 0; right: 0; height: 3px; background: #151617; border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease;
  }
  label.hamburger span { top: 50%; transform: translateY(-50%); }
  label.hamburger::before { top: 0; }
  label.hamburger::after { bottom: 0; }
  /* Animacja X */
  #nav-toggle:checked + label.hamburger::before { transform: translateY(9px) rotate(45deg); }
  #nav-toggle:checked + label.hamburger::after { transform: translateY(-9px) rotate(-45deg); }
  #nav-toggle:checked + label.hamburger span { opacity: 0; }

  /* Menu domyślnie schowane i pokazywane po otwarciu */
  #menu { position: static; padding-top: 0; height: auto; line-height: normal; }
  #menu ul { display: none; padding: 8px 0; }
  #menu ul li { float: none; display: block; padding: 10px 12px; }
  #menu ul li:before { display: none; }
  /* Otwórz, gdy #nav-toggle jest zaznaczony (niezależnie od sąsiedztwa) */
  body:has(#nav-toggle:checked) #menu ul { display: block !important; }

  /* Mobile-only utilsy */
  #menu .mobile-only { display: block; }




  /* Podlista domyślnie ukryta (li.extra-nav jest rodzeństwem li z toggle) */
  #menu ul > li.extra-nav > .extra-nav__list { display: none !important; padding-top: 4px; }
  /* Pokaż po zaznaczeniu toggle */
  #menu ul > li .extra-nav-toggle:checked ~ li.extra-nav > .extra-nav__list,
  .extra-nav-toggle:checked ~ .extra-nav > .extra-nav__list { display: block !important; }
  #menu .extra-nav__list li a { display: block; padding: 10px 12px; }

  /* Layout główny */
  #left_menu { display: none !important; }      /* ukryj lewy panel na mobile */
  #left_menu, #content { float: none; width: 100%; }

  /* Odstęp nad sekcją O Firmie (pod paskiem) */
  #content { margin-top: 96px; }

  /* Rotator: bez stałych wysokości i absolutów */
  #rotator .bx-viewport { height: auto !important; overflow: visible !important; }
  #rotator div.rot_txt { position: relative; min-height: 0; height: auto; padding-bottom: 12px; }
  #rotator div.rot_txt h2 { width: 100%; font-size: 22px; padding: 12px 0; }
  #rotator div.desc { font-size: 16px; line-height: 1.5; padding: 0 0 10px; }
  #rotator div.rot_txt img { position: static !important; width: 100% !important; height: auto !important; margin-top: 10px !important; }

  /* Featured */
  #featured_items div.inner { width: 100%; }
  #featured_items .featured_item { float: none; width: 100%; max-width: 520px; margin: 0 auto 24px; }
  #featured_items .featured_item .ov { height: auto; }
  #featured_items .featured_item .ov img { height: auto; }

  /* Footer */
  #footer #menu_bottom, #footer #copyright { float: none; width: 100%; text-align: center; margin: 8px 0; }
  #footer #menu_bottom ul li { float: none; display: inline-block; margin: 0 6px; padding-left: 0; }
  #footer #menu_bottom ul li:before { display: none; }
}

/* ====== DESKTOP ONLY (?992px) ====== */
@media (min-width: 992px) {
  /* ukryj mobilne elementy i utrzymaj klasyczne menu */
  label.hamburger, .mobile-nav-bar, #menu .mobile-only { display: none !important; }
  #menu ul { display: block !important; }
}


/* Sterowanie widocznością */
.desktop-only { display: block; }
.mobile-only { display: none; }

@media (max-width: 991px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: block !important; }
}

@media (min-width: 992px) {
  .desktop-only { display: block !important; }
  .mobile-only { display: none !important; }
}

/* Przeniesienie wyglądu #left_menu do kopii na mobile */
.left-menu-clone {
  /* Te same cechy co #left_menu na desktopie, tylko szerokość pełna */
  /* oryginał: #left_menu h3 i #left_menu ul li / a — odtwarzamy je 1:1 */
}

/* Nagłówek sekcji (jak #left_menu h3) */
.left-menu-clone > h3 {
  height: 47px;
  line-height: 47px;
  padding-left: 19px;
  background: #f2f2f2;
  border-radius: 10px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .25px;
  color: #151617;
  border-bottom: 3px solid #f90000;
  margin-bottom: 8px;
}

/* Lista i elementy (jak #left_menu ul li, a) */
.left-menu-clone ul { list-style: none; margin: 0; padding: 0; }
.left-menu-clone ul li {
  border-top: 1px solid #cfcfce;
  /* desktop miał width: 240px; tu idziemy na 100%, by na mobile było fluid */
  width: 100%;
}
.left-menu-clone ul li:first-child { border: none; }

.left-menu-clone ul li a {
  display: block;
  line-height: 1.3;
  color: #373737;
  font-size: 16px;
  font-family: 'Open Sans';
  padding: 16px 0 16px 19px;
  transition-duration: .3s;
  letter-spacing: .1px;
}

.left-menu-clone ul li:hover a,
.left-menu-clone ul li.current a { color: #f90000; }

/* Drobny odstęp od treści O Firmie na mobile */
@media (max-width: 991px) {
  #left_menu_mobile.left-menu-clone {
    margin-top: 16px;
  }
}

@media (max-width: 991px) {
  /* Header jako kolumna, bez floatów i stałych wysokości */
  #header { height: auto !important; padding: 12px 0; }
  #header .inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
  #header #logo, #header #fast_contact { float: none !important; width: 100% !important; }
  #header #logo img { display: block; margin: 0 auto; height: auto; max-width: 80%; }
  #header #fast_contact { text-align: center; margin-top: 8px; line-height: 1.4; }
  #header #fast_contact p { margin: 2px 0; }

  /* Pasek nawigacji: hamburger + rozwijane UL, bez separatorów pipe */
  #menu { position: static; padding-top: 0; height: auto; line-height: normal; }
  #menu ul { display: none; padding: 8px 0; }
  body:has(#nav-toggle:checked) #menu ul { display: block !important; }
  #menu ul li { float: none; display: block; padding: 10px 12px; }
  #menu ul li:before { display: none !important; }

  /* Rotator: usuń stałe wysokości i pozycje absolutne obrazka */
  #rotator .bx-viewport { height: auto !important; overflow: visible !important; }
  #rotator div.rot_txt { position: relative; min-height: 0; height: auto; padding-bottom: 12px; }
  #rotator div.rot_txt h2 { width: 100%; font-size: 22px; padding: 12px 0; }
  #rotator div.desc { font-size: 16px; line-height: 1.5; padding: 0 0 10px; }
  #rotator div.rot_txt img { position: static !important; width: 100% !important; height: auto !important; margin-top: 10px !important; }
}


@media (max-width: 991px) {
  #rotator {
    position: relative;
    z-index: 1;
    margin-bottom: 40px; /* odstęp pod sliderem */
	height: 500px;
  }

  #main_section {
    clear: both;
    margin-top: 0;
    position: relative;
    z-index: 2;
  }

  /* Upewnij się, że slider dopasowuje się do obrazka */
  #rotator .bx-viewport {
    height: auto !important;
    overflow: visible !important;
  }

  #rotator li {
    display: block;
  }

  #rotator img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }
}











/* Domyślnie ukryj na desktopie; pokazuj tylko na mobile */
.dropdown-card{ display:none; } /* desktop hidden */ /* [web:50] */
@media (max-width:768px){
  .dropdown-card{ display:block; max-width:360px; margin:16px auto; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#111; } /* [web:50] */

  /* Blok details */
  .dropdown{
    border:0;
  }

  /* Głowa w stylu „kafla” */
  .dropdown-head{
    list-style:none;
	line-height: 47px;
  padding-left: 19px;
  background: #f2f2f2;
  border-radius: 10px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: .25px;
  color: #151617;
  border-bottom: 3px solid #f90000;
  margin-bottom: 8px;
  }

  /* Usuwa domyślny marker summary */
  .dropdown-head::-webkit-details-marker{ display:none; } /* [web:45] */

  /* Strzałka */
  .caret{
    width:0; height:0;
    border-top:6px solid #111;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    transition:transform .2s ease;
    margin-left:10px;
  }

  /* Lista pozycji */
  .dropdown-list{
    overflow:hidden;
    background:#fff;
    border-radius:12px;
    margin-top:8px;
    box-shadow:0 1px 0 rgba(0,0,0,.06) inset;
    display:grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .25s ease; /* animacja otwierania */ /* [web:43] */
  }

  .dropdown[open] .dropdown-list{ grid-template-rows: 1fr; } /* stan otwarty */ /* [web:43] */
  .dropdown-list > *{ min-height:0; } /* pozwala ściskać zawartość w 0fr */ /* [web:50] */

  .dropdown-item{
    display:block;
    padding:14px 12px;
    text-decoration:none;
    color:#222;
    font-size:16px;
    border-bottom:1px solid #e6e6e6;
  }
  .dropdown-item:last-child{ border-bottom:none; }
  .dropdown-item:active, .dropdown-item:hover{ background:#fafafa; }

  /* Obrót strzałki w stanie open */
  .dropdown[open] .caret{ transform:rotate(180deg); } /* [web:41] }
}