/* =========================================================
   TFC EVENTS — critical mobile CSS
   Divi mobile header / CLS / hero / subpages
========================================================= */

/* Fonty — stabilizacja CLS */
@font-face {
  font-family: "OpenSans";
  src: url("/wp-content/et-fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: optional;
}

@font-face {
  font-family: "OpenSans";
  src: url("/wp-content/et-fonts/OpenSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: optional;
}

@font-face {
  font-family: "Open Sans";
  src: url("/wp-content/et-fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: optional;
}

@font-face {
  font-family: "Open Sans";
  src: url("/wp-content/et-fonts/OpenSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: optional;
}

@font-face {
  font-family: "ETmodules";
  src: url("/wp-content/themes/Divi/core/admin/fonts/modules/all/modules.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


/* =========================================================
   MOBILE / TABLET HEADER
========================================================= */

@media (max-width: 980px) {

  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .tfc-header-top {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #080808 !important;
    position: relative !important;
    z-index: 9999 !important;
  }

  .tfc-header-row,
  .et_pb_row_0_tb_header {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px 0 18px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    background: #080808 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 999990 !important;
    box-shadow: 0 4px 0 #ffffff !important;
  }

  .tfc-header-row::before,
  .tfc-header-row::after,
  .et_pb_row_0_tb_header::before,
  .et_pb_row_0_tb_header::after {
    display: none !important;
    content: none !important;
  }

  .tfc-header-row > .et_pb_column,
  .et_pb_row_0_tb_header > .et_pb_column {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  /* Logo */
  .tfc-header-logo,
  .et_pb_image_0_tb_header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 190px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 20 !important;
  }

  .tfc-header-logo img,
  .tfc-header-row .et_pb_image img,
  .et_pb_row_0_tb_header .et_pb_image img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    height: auto !important;
    max-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Social icons */
  .tfc-header-social,
  .et_pb_icon_list_0_tb_header {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 180px !important;
    top: 20px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 999991 !important;
    pointer-events: auto !important;
  }

  .tfc-header-social .et_pb_icon_list_items,
  .et_pb_icon_list_0_tb_header .et_pb_icon_list_items {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .tfc-header-social .et_pb_icon_list_item,
  .et_pb_icon_list_0_tb_header .et_pb_icon_list_item {
    display: inline-flex !important;
    margin: 0 3px 0 0 !important;
    padding: 0 !important;
  }

  .tfc-header-social .et-pb-icon,
  .et_pb_icon_list_0_tb_header .et-pb-icon {
    display: inline-block !important;
    color: #f2c36b !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  /* Hamburger */
  .tfc-header-menu {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    transform: translateY(-50%) !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1000000 !important;
    background: transparent !important;
  }

  .tfc-header-menu .et_pb_menu_inner_container,
  .tfc-header-menu .et_pb_menu__wrap,
  .tfc-header-menu .et_mobile_nav_menu,
  .tfc-header-menu .mobile_nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    position: relative !important;
    z-index: 999990 !important;
  }

  .tfc-header-menu .et_pb_menu__menu {
    display: none !important;
  }

  .tfc-header-menu .mobile_menu_bar {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1000000 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
  }

  .tfc-header-menu .mobile_menu_bar::before {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    content: "\61" !important;
    font-family: ETmodules !important;
    color: #ffffff !important;
    font-size: 40px !important;
    line-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .tfc-header-menu .mobile_nav.opened .mobile_menu_bar::before {
    content: "\4d" !important;
    color: #f2c36b !important;
  }

  /* Mobile menu panel */
  .tfc-header-menu .et_mobile_menu,
  .mobile_nav.opened .et_mobile_menu {
    position: fixed !important;
    top: 65px !important;
    right: 0 !important;
    left: auto !important;
    width: 82vw !important;
    max-width: 360px !important;
    min-width: 280px !important;
    height: calc(100vh - 74px) !important;
    margin: 0 !important;
    padding: 24px 0 !important;
    background: rgba(8, 8, 8, 0.98) !important;
    border-left: 1px solid rgba(242, 195, 107, 0.28) !important;
    border-top: 0 !important;
    overflow-y: auto !important;
    z-index: 9999999 !important;
    box-shadow: -18px 0 35px rgba(0,0,0,0.5) !important;
    transform: translateX(18px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform 0.28s ease, opacity 0.28s ease, visibility 0.28s ease !important;
  }

  .tfc-header-menu .mobile_nav.opened .et_mobile_menu {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .tfc-header-menu .et_mobile_menu li {
    padding: 0 !important;
    margin: 0 !important;
  }

  .tfc-header-menu .et_mobile_menu li a {
    display: block !important;
    width: 100% !important;
    padding: 15px 24px !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    background: transparent !important;
  }

  .tfc-header-menu .et_mobile_menu li a:hover {
    color: #f2c36b !important;
    background: rgba(242,195,107,0.08) !important;
    opacity: 1 !important;
  }

  /* Baner UE */
  .tfc-eu-row,
  .et_pb_row_1_tb_header {
    height: 54px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  .tfc-eu-row::before,
  .tfc-eu-row::after,
  .et_pb_row_1_tb_header::before,
  .et_pb_row_1_tb_header::after {
    display: none !important;
    content: none !important;
  }

  .et_pb_column_1_tb_header,
  .et_pb_image_1_tb_header,
  .tfc-eu-logo-strip,
  .tfc-eu-logo-strip .et_pb_image_wrap {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  .tfc-eu-logo-strip img,
  .et_pb_image_1_tb_header img,
  img[src*="baner_ue"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    position: relative !important;
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   MOBILE — home header + hero CLS
========================================================= */

@media (max-width: 767px) {

  body.home header.et-l.et-l--header,
  body.home .et-l--header,
  body.home .et_builder_inner_content > .et_pb_section_0_tb_header,
  body.home .tfc-header-top {
    height: 130px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #080808 !important;
    position: relative !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
  }

  .tfc-hero-section,
  .et_pb_fullwidth_header_0,
  .tfc-hero-section .et_pb_fullwidth_header {
    height: 520px !important;
    min-height: 520px !important;
    max-height: 520px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background-color: #080808 !important;
    background-image: url("/wp-content/uploads/2026/05/hero-mobile.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    box-sizing: border-box !important;
  }

  .tfc-hero-section .et_pb_row,
  .tfc-hero-section .et_pb_column,
  .et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container,
  .tfc-hero-section .et_pb_fullwidth_header_container {
    height: 520px !important;
    min-height: 520px !important;
    max-height: 520px !important;
    box-sizing: border-box !important;
  }

  .tfc-hero-section .et_pb_row,
  .et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container,
  .tfc-hero-section .et_pb_fullwidth_header_container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 24px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .tfc-hero-section .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .et_pb_fullwidth_header_0 .header-content-container,
  .et_pb_fullwidth_header_0 .header-content,
  .tfc-hero-section .header-content-container,
  .tfc-hero-section .header-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
  }

  .tfc-hero-section .et_pb_section_video_bg,
  .tfc-hero-section .et_pb_video_background,
  .tfc-hero-section .et_pb_background_video,
  .tfc-hero-section .et_pb_background_video_wrapper {
    background-color: transparent !important;
    background-image: url("/wp-content/uploads/2026/05/hero-mobile.webp") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .tfc-hero-section video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    z-index: 0 !important;
    background-color: transparent !important;
  }

  .tfc-hero-section h1,
  .tfc-hero-section h2,
  .tfc-hero-section h3,
  .tfc-hero-section p,
  .tfc-hero-section .et_pb_text_inner,
  .et_pb_fullwidth_header_0 h1,
  .et_pb_fullwidth_header_0 h2,
  .et_pb_fullwidth_header_0 h3,
  .et_pb_fullwidth_header_0 p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    line-height: 1.8 !important;
  }

  .et_pb_fullwidth_header_0 .et_pb_fullwidth_header_overlay,
  .tfc-hero-section .et_pb_fullwidth_header_overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
  }

  .et_pb_fullwidth_header_0 .et_pb_fullwidth_header_scroll,
  .tfc-hero-section .et_pb_fullwidth_header_scroll {
    display: none !important;
  }
}


/* =========================================================
   MOBILE — global images CLS
========================================================= */

@media (max-width: 767px) {

  .et_pb_image,
  .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .et_pb_image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  img.wp-image-50,
  img[src*="link4-020"] {
    aspect-ratio: 1140 / 855 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  img.wp-image-55,
  img[src*="IMG_2394"] {
    aspect-ratio: 1080 / 720 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .et_pb_image:has(img.wp-image-50),
  .et_pb_image_wrap:has(img.wp-image-50),
  .et_pb_image:has(img[src*="link4-020"]),
  .et_pb_image_wrap:has(img[src*="link4-020"]) {
    aspect-ratio: 1140 / 855 !important;
    overflow: hidden !important;
  }

  .et_pb_image:has(img.wp-image-55),
  .et_pb_image_wrap:has(img.wp-image-55),
  .et_pb_image:has(img[src*="IMG_2394"]),
  .et_pb_image_wrap:has(img[src*="IMG_2394"]) {
    aspect-ratio: 1080 / 720 !important;
    overflow: hidden !important;
  }

  .et_pb_text,
  .et_pb_text_inner {
    min-height: 1px !important;
  }
}


/* =========================================================
   MOBILE — font CLS polish
========================================================= */

@media (max-width: 767px) {

  .tfc-header-top,
  .tfc-header-top *,
  .tfc-hero-section,
  .tfc-hero-section *,
  .tfc-bottom-nav,
  .tfc-bottom-nav *,
  .et_mobile_menu,
  .et_mobile_menu *,
  .et_pb_section_1,
  .et_pb_section_1 * {
    font-family: Arial, Helvetica, sans-serif !important;
    text-rendering: auto !important;
  }

  .et_pb_section_1 h1,
  .et_pb_section_1 h2,
  .et_pb_section_1 h3,
  .et_pb_section_1 p,
  .et_pb_section_1 .et_pb_text_inner {
    line-height: 1.28 !important;
  }
}


/* =========================================================
   MOBILE — subpages without UE banner
========================================================= */

@media (max-width: 767px) {

  body:not(.home) header.et-l.et-l--header,
  body:not(.home) .et-l--header,
  body:not(.home) .et_builder_inner_content > .et_pb_section_0_tb_header,
  body:not(.home) .tfc-header-top {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: #080808 !important;
    box-sizing: border-box !important;
  }

  body:not(.home) .tfc-header-row,
  body:not(.home) .et_pb_row_0_tb_header {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #080808 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(242,195,107,0.35) !important;
  }

  body:not(.home) .tfc-eu-row,
  body:not(.home) .et_pb_row_1_tb_header,
  body:not(.home) .et_pb_column_1_tb_header,
  body:not(.home) .et_pb_image_1_tb_header,
  body:not(.home) .tfc-eu-logo-strip {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body:not(.home) #main-content,
  body:not(.home) .et-l--body,
  body:not(.home) .et_builder_inner_content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:not(.home) .et-l--body .et_pb_section:first-child,
  body:not(.home) #main-content .et_pb_section:first-child,
  body:not(.home) article .et_pb_section:first-child {
    margin-top: 0 !important;
    padding-top: 18px !important;
  }

  body:not(.home) .et_pb_section_0 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:not(.home) .et_pb_section_0 .et_pb_row:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}