/*
 Theme Name:   Divi Child – Monika Wiernasz
 Theme URI:    https://twojadomena.pl/
 Description:  Jasny, profesjonalny motyw potomny Divi 5 dla eksperta finansowego. Zoptymalizowany pod SEO (schema.org, meta, semantyczny HTML).
 Author:       Monika Wiernasz
 Author URI:   https://twojadomena.pl/
 Template:     Divi
 Version:      1.3.0
 Requires PHP: 7.4
 Text Domain:  divi-child
*/

/* ===== Design tokens ===== */
:root {
	--mw-magenta: #c21db8;
	--mw-magenta-strong: #a3169b;
	--mw-magenta-soft: #f8e9f6;
	--mw-plum: #5a0e55;
	--mw-ink: #1f1a24;
	--mw-text: #3d3644;
	--mw-muted: #6b6372;
	--mw-bg: #ffffff;
	--mw-bg-warm: #fcf8fb;
	--mw-line: #ece3ea;
	--mw-gradient: linear-gradient(135deg, #d424c8 0%, #8a1483 60%, #5a0e55 100%);
	--mw-shadow: 0 18px 40px -18px rgba(90, 14, 85, .28);
	--mw-radius: 14px;
	--mw-font-head: "Montserrat", system-ui, sans-serif;
	--mw-font-body: "Source Sans 3", system-ui, sans-serif;
	--mw-container: 1180px;
}

/* ===== Base ===== */
body {
	font-family: var(--mw-font-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--mw-text);
	background: var(--mw-bg);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.et_pb_module_header {
	font-family: var(--mw-font-head);
	color: var(--mw-ink);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	padding-bottom: .4em;
}
h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
h3 { font-size: 1.3rem; }
a { color: var(--mw-magenta-strong); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--mw-plum); }
:focus-visible { outline: 3px solid var(--mw-magenta); outline-offset: 3px; border-radius: 4px; }
img { max-width: 100%; height: auto; }

.mw-container { max-width: var(--mw-container); margin: 0 auto; padding: 0 24px; }
.mw-section { padding: 88px 0; }
.mw-section--soft { background: var(--mw-bg-warm); }
.mw-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--mw-font-head); font-size: .8rem; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--mw-magenta-strong);
}
.mw-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--mw-gradient); }
.mw-accent { color: var(--mw-magenta); }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* ===== Divi header / menu overrides ===== */
#main-header, .et-l--header { background: rgba(255,255,255,.96) !important; box-shadow: 0 1px 0 var(--mw-line) !important; }
#top-menu li a, .et_pb_menu .et-menu > li > a { font-family: var(--mw-font-head); font-weight: 600; color: var(--mw-ink) !important; font-size: 15px; }
#top-menu li.current-menu-item > a, .et-menu li.current-menu-item > a { color: var(--mw-magenta) !important; }

/* ===== Buttons (also styles Divi button module) ===== */
.mw-btn, .et_pb_button, .et_pb_contact_submit, .et_pb_newsletter_button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--mw-font-head) !important; font-weight: 700 !important; font-size: 16px !important;
	padding: 14px 28px !important; border-radius: 999px !important; border: 2px solid transparent !important;
	background: var(--mw-gradient) !important; color: #fff !important; text-decoration: none;
	box-shadow: var(--mw-shadow); transition: transform .2s ease, box-shadow .2s ease;
}
.mw-btn:hover, .et_pb_button:hover { transform: translateY(-2px); color: #fff !important; padding: 14px 28px !important; }
.et_pb_button::after { display: none !important; }
.mw-btn--ghost { background: transparent !important; color: var(--mw-plum) !important; border-color: var(--mw-line) !important; box-shadow: none; }
.mw-btn--ghost:hover { border-color: var(--mw-magenta) !important; color: var(--mw-magenta) !important; }

/* ===== Forms ===== */
.et_pb_contact_form input, .et_pb_contact_form textarea, .et_pb_contact_form select,
.mw-form input, .mw-form textarea {
	background: #fff !important; border: 1px solid var(--mw-line) !important; border-radius: 10px !important;
	padding: 14px 16px !important; font-size: 16px !important; color: var(--mw-ink) !important;
}
.et_pb_contact_form input:focus, .et_pb_contact_form textarea:focus { border-color: var(--mw-magenta) !important; }

/* ===== Footer ===== */
#main-footer, .et-l--footer { background: var(--mw-ink) !important; color: #d9d2dc; }
#footer-bottom { background: #17131b !important; }
.mw-legal { font-size: 13px; color: #b5abb9; line-height: 1.6; }

/* ===== Przyklejony nagłówek (Divi: fixed navigation) ===== */
#main-header { position: fixed; top: 0; width: 100%; z-index: 99999; transition: box-shadow .3s, padding .3s; }
#main-header.et-fixed-header { box-shadow: 0 8px 24px -16px rgba(90,14,85,.35) !important; }
#top-menu li a:hover { color: var(--mw-magenta) !important; opacity: 1; }
#top-menu li.mw-menu-cta > a { background: var(--mw-gradient); color: #fff !important; padding: 10px 20px !important; border-radius: 999px; }
.et-l--header .et_pb_section { position: sticky; top: 0; z-index: 99999; }

/* ===== v1.3: logo i menu w jednej linii (bez nachodzenia) ===== */
#main-header #logo { max-height: 46px !important; width: auto; }
@media (min-width: 981px) {
	#main-header .container { display: flex; align-items: center; justify-content: space-between; gap: 32px; width: 90%; max-width: 1280px; }
	#main-header .logo_container { position: relative !important; width: auto !important; height: auto !important; flex-shrink: 0; display: flex; align-items: center; padding: 18px 0; }
	#main-header .logo_container > span.logo_helper { display: none; }
	#et-top-navigation { float: none !important; padding: 0 !important; margin: 0 !important; flex: 1 1 auto; min-width: 0; display: flex; justify-content: flex-end; align-items: center; }
	#top-menu-nav, #top-menu { display: flex; align-items: center; }
	#top-menu { flex-wrap: nowrap; gap: 22px; }
	#top-menu li { padding-right: 0 !important; margin: 0 !important; }
	#top-menu > li > a { padding-bottom: 0 !important; white-space: nowrap; }
	#top-menu li.mw-menu-cta > a { padding: 11px 22px !important; }
	#et_top_search { display: none; }
	.et-fixed-header .logo_container { padding: 10px 0; }
	.et-fixed-header #logo { max-height: 38px !important; }
}
@media (min-width: 981px) and (max-width: 1280px) {
	#main-header #logo { max-height: 36px !important; }
	#top-menu { gap: 16px; }
	#top-menu > li > a { font-size: 14px !important; }
	#top-menu li.mw-menu-cta > a { padding: 9px 16px !important; }
}
@media (max-width: 980px) {
	#main-header #logo { max-height: 38px !important; }
}
