/* ============================================================
   Natywne moduly Divi - naglowek i stopka Ewa Rozanska.
   Teksty reuzywaja klas BEM z chrome.css; tu stylujemy uklad
   sekcji/rzedow oraz moduly Social Follow, Menu i Button.
   Zmienne --kolor-* pochodza z :root w chrome.css.
   ============================================================ */

/* --- zerowanie domyslnych paddingow sekcji/rzedow/modulow TB --- */
.nf-topbar, .nf-bar, .nf-footer { padding: 0 !important; }
.nf-topbar .et_pb_module, .nf-bar .et_pb_module, .nf-footer .et_pb_module { margin-bottom: 0 !important; }
.nf-topbar .et_pb_row, .nf-bar .et_pb_row { padding: 0; }
/* Divi dodaje do rzedow clearfix ::before/::after (content:"") - w kontenerze flex/grid
   staja sie dodatkowymi elementami i psuja space-between/grid. Wylaczamy. */
.nf-toprow::before, .nf-toprow::after,
.nf-barrow::before, .nf-barrow::after,
.nf-newsrow::before, .nf-newsrow::after,
.nf-colsrow::before, .nf-colsrow::after,
.nf-copyrow::before, .nf-copyrow::after { content: none !important; display: none !important; }

/* ===================== TOPBAR ===================== */
.nf-topbar { background: var(--kolor-tlo); padding-top: 20px !important; }
.nf-toprow {
	max-width: 1140px; width: 80%; margin: 0 auto;
	display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
	padding-bottom: 12px !important; border-bottom: 1px solid var(--kolor-linia);
}
.nf-toprow > .et_pb_column { width: auto !important; margin: 0 !important; padding: 0 !important; float: none; }
.nf-toprow > .et_pb_column:last-child { display: flex; align-items: center; }

/* social topbar - ciemne kwadraty */
.nf-top-social.et_pb_social_media_follow { display: flex; gap: 8px; }
.nf-top-social.et_pb_social_media_follow li { margin: 0 !important; padding: 0 !important; }
.nf-top-social.et_pb_social_media_follow li a.icon {
	width: 22px !important; height: 22px !important; line-height: 22px !important;
	background-color: var(--kolor-tekst) !important; border-radius: 3px !important;
	display: grid; place-items: center;
}
.nf-top-social.et_pb_social_media_follow li a.icon::before {
	color: #fff !important; font-size: 12px !important; line-height: 1 !important;
	width: auto !important; height: auto !important; margin: 0 !important; position: static !important;
}

/* ===================== PASEK GLOWNY ===================== */
.nf-barrow {
	max-width: 1140px; width: 80%; margin: 0 auto;
	display: grid; grid-template-columns: 1fr 3fr 1fr; align-items: stretch;
}
.nf-barrow > .et_pb_column { width: auto !important; margin: 0 !important; padding: 0 !important; float: none; display: flex; }

/* logo */
.nf-logo { align-self: center; margin: 0 !important; padding: 35px 0; }
.nf-logo .et_pb_image_wrap, .nf-logo span.et_pb_image_wrap { display: block; }
.nf-logo img { max-width: 190px; height: auto; display: block; }

/* menu */
.nf-menu { width: 100%; background: transparent !important; padding: 0 !important; }
.nf-menu .et_pb_menu__logo-wrap, .nf-menu .et_pb_menu__logo-slot { display: none !important; }
.nf-menu .et_pb_menu__menu { display: block !important; width: 100%; }
.nf-menu .et_pb_menu__menu > nav { width: 100%; }
.nf-menu .et_pb_menu__menu > nav > ul {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 22px;
	width: 100%; float: none;
}
.nf-menu .et_pb_menu__menu > nav > ul > li { margin: 0 !important; padding: 0 !important; }
.nf-menu .et_pb_menu__menu > nav > ul > li::before { display: none !important; }
.nf-menu .et_pb_menu__menu > nav > ul > li > a {
	font-family: var(--font-naglowek) !important; font-weight: 600 !important; font-size: 17px !important;
	line-height: 1.8 !important; color: var(--kolor-tekst) !important; opacity: 1 !important;
	padding: 47px 0 !important;
}
.nf-menu .et_pb_menu__menu > nav > ul > li > a:hover { color: var(--kolor-akcent) !important; }
.nf-menu .et_pb_menu__icon-wrapper, .nf-menu .et-search-form, .nf-menu .et_pb_menu__search,
.nf-menu .et_pb_menu__search-button, .nf-menu .et_pb_menu__cart-button { display: none !important; }

/* przycisk Zadzwon (Text z klasa .site-header__ekspert) rozciagniety na kolumne */
.nf-call { display: flex; align-items: stretch; margin: 0 !important; }
.nf-call .et_pb_text_inner { display: flex; width: 100%; }
.nf-call .site-header__ekspert { width: 100%; }

/* ===================== STOPKA ===================== */
.nf-footer { background: var(--kolor-ciemny) !important; color: var(--kolor-tekst-jasny); }
.nf-footer .et_pb_row { max-width: 1400px; width: auto; padding-left: 28px; padding-right: 28px; }

/* rzad newslettera */
.nf-newsrow {
	padding-top: 70px !important; padding-bottom: 60px !important;
	display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.nf-newsrow > .et_pb_column { width: auto !important; margin: 0 !important; padding: 0 !important; float: none; }
.nf-newsrow > .et_pb_column:last-child { flex: none; }

/* rzad kolumn */
.nf-colsrow {
	padding-bottom: 46px !important;
	display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 44px;
}
.nf-colsrow > .et_pb_column { width: auto !important; margin: 0 !important; padding: 0 !important; float: none; }
.nf-colsrow .et_pb_module { margin-bottom: 0 !important; }

/* social stopka - okragle obwodki */
.nf-foot-social.et_pb_social_media_follow { display: flex; gap: 10px; margin-top: 22px; }
.nf-foot-social.et_pb_social_media_follow li { margin: 0 !important; padding: 0 !important; }
.nf-foot-social.et_pb_social_media_follow li a.icon {
	width: 30px !important; height: 30px !important; line-height: 30px !important;
	background-color: transparent !important; border: 1px solid rgba(255,255,255,.35) !important;
	border-radius: 50% !important; display: grid; place-items: center;
	transition: background .2s ease, border-color .2s ease;
}
.nf-foot-social.et_pb_social_media_follow li a.icon:hover {
	background-color: var(--kolor-akcent) !important; border-color: var(--kolor-akcent) !important;
}
.nf-foot-social.et_pb_social_media_follow li a.icon::before {
	color: #fff !important; font-size: 14px !important; line-height: 1 !important;
	width: auto !important; height: auto !important; margin: 0 !important; position: static !important;
}

/* rzad copyright */
.nf-copyrow { padding-top: 0 !important; padding-bottom: 0 !important; }
.nf-copyrow > .et_pb_column { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none; }

/* ===================== PRZYCISKI (Button) - klasa nf-btn jest NA kotwicy a.et_pb_button ===================== */
a.et_pb_button.nf-btn, .et_pb_button.nf-btn {
	display: inline-block; padding: 15px 38px !important; border: 0 !important; border-radius: 999px !important;
	background: var(--kolor-akcent) !important; color: #fff !important;
	font-family: var(--font-naglowek) !important; font-weight: 600 !important; font-size: 16px !important;
	line-height: 1.2 !important; letter-spacing: 0 !important; text-decoration: none; transition: background .2s ease;
}
a.et_pb_button.nf-btn:hover, .et_pb_button.nf-btn:hover {
	background: var(--kolor-akcent-hover) !important; padding: 15px 38px !important; border: 0 !important;
}
.et_pb_button.nf-btn::after, .et_pb_button.nf-btn::before { display: none !important; content: none !important; }
.et_pb_button.nf-btn--maly { padding: 11px 26px !important; font-size: 14px !important; }
.et_pb_button.nf-btn--maly:hover { padding: 11px 26px !important; }
.nf-addr-btn { margin-top: 16px !important; }

/* Stopka - spacing tekstu 1:1 ze statykiem (Divi dokleja padding-bottom:1em do <p>) */
.nf-footer p { padding-bottom: 0 !important; margin: 0 !important; }
.nf-footer .site-footer__newsletter-tytul { margin: 0 0 12px !important; }
.nf-footer .site-footer__newsletter-opis { margin: 0 !important; max-width: 42ch; }
.nf-footer .site-footer__linia { margin: 0 0 4px !important; }
.nf-footer .site-footer__kolumna-tytul { margin: 0 0 18px !important; }
.nf-footer .site-footer__kolumna ul { gap: 11px !important; }
.nf-footer .site-footer__kolumna ul li { margin: 0 !important; padding: 0 !important; }
.nf-footer .site-footer__copy { margin: 0 !important; }
