/*
Theme Name: Instant Money Child Theme
Theme URI: https://instantmoney.eu/
Description: A child theme for Divi, customized for Instant Money.
Author: Dariusz Wit
Author URI: https://linis.it
Template: Divi
Version: 1.4
*/

/* === Font Declarations === */
@font-face {
    font-family: 'Poppins';
    src: url('fonts/poppins-v22-latin_latin-ext-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/poppins-v22-latin_latin-ext-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/poppins-v22-latin_latin-ext-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/poppins-v22-latin_latin-ext-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('fonts/quicksand-v31-latin_latin-ext-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('fonts/quicksand-v31-latin_latin-ext-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* === Global Typography === */
body {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    line-height: 1.7em;
    color: #666;
    -webkit-font-smoothing: antialiased;
}

h1 {
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
    line-height: 1.2em;
    min-height: 1.2em;
}

h2, h3, h4, h5, h6 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    line-height: 1.2em;
    min-height: 1.2em;
}

.et_pb_module,
.et_pb_text,
.et_pb_column,
.et_pb_row,
p,
span,
li,
a,
input,
textarea,
select,
button {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
}

.et_pb_module_header,
.et_pb_blurb h4,
.et_pb_team_member_position,
.et_pb_slide_title {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
}

/* === Override Fonts for Loan Calculator Plugin === */
.imc-calculator,
.imc-calculator * {
    font-family: 'Poppins', sans-serif !important;
}

.imc-calc-trust,
.imc-calc-period-label,
.imc-calc-header,
.imc-calc-trust-info {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 400;
}

/* === Text Section Styles === */
.et_pb_column_3_5 {
    min-height: 200px;
    width: 57.8%;
    float: left;
    margin-right: 5.5%;
    position: relative;
    z-index: 2;
}

.et_pb_text_inner h1 {
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
    line-height: 1.2em;
    min-height: 1.2em;
    margin: 0;
    padding: 0;
}

.et_pb_slide_content,
.et_pb_number_counter .percent {
    min-height: 1.2em;
    overflow: hidden;
}

/* === Override Divi Header Styles === */
.et_pb_module h1 {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: bold !important;
}

.et_pb_module h2, 
.et_pb_module h3, 
.et_pb_module h4, 
.et_pb_module h5, 
.et_pb_module h6 {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 700 !important;
}

/* === Logo Styles === */
#logo,
.et_pb_menu__logo img {
    max-width: 130px !important;
    height: auto !important;
}

/* === Header and Menu Styles === */
#main-header {
    background-color: #fff !important; /* Zapobiega przezroczystości */
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1000 !important; /* Wysoki z-index, aby nagłówek był na wierzchu */
    position: relative; /* Wyłącza sticky header, jeśli nie jest potrzebny */
}

.et_pb_menu #top-menu-nav,
.et_pb_menu #top-menu {
    display: none !important; /* Ukryte podczas ładowania */
    visibility: hidden !important;
    opacity: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu #top-menu-nav.menu-loaded,
.et_pb_menu #top-menu.menu-loaded {
    display: inline-block !important; /* Pokazane po inicjalizacji JS */
    visibility: visible !important;
    opacity: 1 !important;
}

.et_pb_menu #top-menu-nav > ul,
.et_pb_menu #top-menu > ul {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu #top-menu-nav > ul > li,
.et_pb_menu #top-menu > ul > li {
    display: inline-block;
    white-space: nowrap;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu #et_mobile_nav_menu {
    display: block !important; /* Widoczne podczas ładowania */
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu #et_mobile_nav_menu.menu-loaded {
    display: none !important; /* Ukryte po inicjalizacji JS, jeśli menu desktopowe aktywne */
    visibility: hidden !important;
    opacity: 0 !important;
}

.et_pb_menu .mobile_menu_bar {
    display: block !important; /* Widoczne podczas ładowania */
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu .mobile_menu_bar.menu-loaded {
    display: none !important; /* Ukryte po inicjalizacji JS, jeśli menu desktopowe aktywne */
    visibility: hidden !important;
    opacity: 0 !important;
}

.et_pb_menu .et_mobile_menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.et_pb_menu .mobile_menu_bar_toggle_open + .et_mobile_menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* === Smooth Menu Transitions === */
.et_mobile_menu {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* === Prevent Section Snapping and Overlap === */
.et_pb_section {
    margin-top: 0 !important; /* Zapobiega dosuwaniu sekcji */
    padding-top: 0 !important;
    z-index: 1 !important; /* Niższy z-index niż nagłówek */
}