/*
Theme Name: e-kurtyna
Theme URI: https://ekurtyna.pl
Author: eKurtyna
Author URI: https://ekurtyna.pl
Description: Nowoczesny, ciemny motyw WordPress dla firmy montującej okna, drzwi, rolety, bramy garażowe, pergole i moskitiery. Treść strony głównej (teksty, zdjęcia, przyciski) edytowana w panelu Wygląd → Dostosuj, a oferta i realizacje jako osobne, łatwe w zarządzaniu wpisy. Zawiera animacje przy przewijaniu, lazy loading zdjęć oraz responsywny, w pełni działający formularz kontaktowy.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: e-kurtyna
Tags: e-commerce, one-column, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready

eKurtyna is distributed under the terms of the GNU GPL v2 or later.
*/

/* =========================================================
   0. RESET & ZMIENNE
   ========================================================= */
*,
*::before,
*::after { box-sizing: border-box; }

:root{
	--ek-accent: #F5B400;
	--ek-accent-dark: #d99e00;
	--ek-bg: #0b0b0b;
	--ek-bg-alt: #151515;
	--ek-bg-card: #131313;
	--ek-border: #272727;
	--ek-text: #ffffff;
	--ek-text-muted: #b3b3b3;
	--ek-radius: 14px;
	--ek-radius-sm: 8px;
	--ek-font: "Poppins", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ek-container: 1200px;
	--ek-transition: 0.35s cubic-bezier(.22,.9,.32,1);
}

html{ scroll-behavior: smooth; }

body{
	margin: 0;
	background: var(--ek-bg);
	color: var(--ek-text);
	font-family: var(--ek-font);
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

img{ max-width: 100%; height: auto; display: block; }

a{ color: inherit; text-decoration: none; }

ul{ list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4{
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 .5em;
	letter-spacing: -0.01em;
}
h1{ font-size: clamp(2rem, 4vw, 3.1rem); }
h2{ font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3{ font-size: 1.15rem; }
p{ margin: 0 0 1em; color: var(--ek-text-muted); }

button{ font-family: inherit; cursor: pointer; }

.screen-reader-text{
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}
.skip-link{
	position: fixed; top: -100px; left: 0; z-index: 10000;
	background: var(--ek-accent); color: #111; padding: 12px 20px;
	transition: top .3s;
}
.skip-link:focus{ top: 0; position: fixed; }

.ek-container{
	width: 100%;
	max-width: var(--ek-container);
	margin: 0 auto;
	padding: 0 24px;
}

.ek-accent{ color: var(--ek-accent); }

.ek-eyebrow{
	color: var(--ek-accent);
	text-transform: uppercase;
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .12em;
	margin-bottom: .6em;
}

/* =========================================================
   1. ANIMACJE / SCROLL REVEAL
   ========================================================= */
@media (prefers-reduced-motion: no-preference){
	[data-reveal]{
		opacity: 0;
		will-change: transform, opacity;
		transition: opacity .8s var(--ek-transition), transform .8s var(--ek-transition);
	}
	[data-reveal="fade-up"]{ transform: translateY(36px); }
	[data-reveal="fade-down"]{ transform: translateY(-24px); }
	[data-reveal="fade-left"]{ transform: translateX(48px); }
	[data-reveal="fade-right"]{ transform: translateX(-48px); }
	[data-reveal="zoom"]{ transform: scale(.9); }
	[data-reveal="fade"]{ transform: none; }

	[data-reveal].is-visible{ opacity: 1; transform: none; }

	[data-reveal-delay="1"]{ transition-delay: .05s; }
	[data-reveal-delay="2"]{ transition-delay: .15s; }
	[data-reveal-delay="3"]{ transition-delay: .25s; }
	[data-reveal-delay="4"]{ transition-delay: .35s; }
	[data-reveal-delay="5"]{ transition-delay: .45s; }
	[data-reveal-delay="6"]{ transition-delay: .55s; }
}

@keyframes ek-float{
	0%, 100%{ transform: translateY(0); }
	50%{ transform: translateY(-10px); }
}
@keyframes ek-pulse{
	0%, 100%{ box-shadow: 0 0 0 0 rgba(245,180,0,.45); }
	50%{ box-shadow: 0 0 0 10px rgba(245,180,0,0); }
}
@keyframes ek-spin{
	to{ transform: rotate(360deg); }
}
@keyframes ek-shimmer{
	0%{ background-position: -400px 0; }
	100%{ background-position: 400px 0; }
}
@keyframes ek-marquee{
	from{ transform: translateX(0); }
	to{ transform: translateX(-50%); }
}

/* =========================================================
   2. PRZYCISKI
   ========================================================= */
.ek-btn{
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: 14px 26px;
	border-radius: 999px;
	font-weight: 600;
	font-size: .95rem;
	border: 2px solid transparent;
	transition: transform var(--ek-transition), background var(--ek-transition), color var(--ek-transition), border-color var(--ek-transition), box-shadow var(--ek-transition);
	white-space: nowrap;
}
.ek-btn .icon{ width: 16px; height: 16px; transition: transform var(--ek-transition); }
.ek-btn:hover .icon{ transform: translateX(4px); }
.ek-btn:hover, .ek-btn:focus-visible{ transform: translateY(-3px); }

.ek-btn--accent{
	background: var(--ek-accent);
	color: #111;
}
.ek-btn--accent:hover{ background: var(--ek-accent-dark); box-shadow: 0 12px 24px -8px rgba(245,180,0,.55); }

.ek-btn--outline{
	background: transparent;
	color: var(--ek-text);
	border-color: rgba(255,255,255,.35);
}
.ek-btn--outline:hover{ border-color: var(--ek-accent); color: var(--ek-accent); }

.ek-btn--dark{
	background: #111;
	color: #fff;
}
.ek-btn--dark:hover{ background: #000; }

.ek-btn--small{ padding: 10px 18px; font-size: .82rem; }

/* =========================================================
   3. NAGŁÓWEK / NAWIGACJA
   ========================================================= */
.ek-header{
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(11,11,11,.85);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--ek-transition), background var(--ek-transition), padding var(--ek-transition);
	padding: 18px 0;
}
.ek-header.is-scrolled{
	border-color: var(--ek-border);
	padding: 10px 0;
	box-shadow: 0 10px 30px -20px rgba(0,0,0,.6);
}

.ek-header__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ek-logo, .ek-logo__link{
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 1.2rem;
}
.ek-logo__icon{ color: var(--ek-accent); display: inline-flex; }
.ek-logo__icon .icon{ width: 30px; height: 30px; }
.custom-logo{ max-height: 48px; width: auto; }

.ek-nav-menu{
	display: flex;
	align-items: center;
	gap: 30px;
}
.ek-nav-menu > li{ position: relative; }
.ek-nav-menu > li > a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .88rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 10px 2px;
	position: relative;
	color: var(--ek-text);
	transition: color var(--ek-transition);
}
.ek-nav-menu > li > a::after{
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 0; height: 2px;
	background: var(--ek-accent);
	transition: width var(--ek-transition);
}
.ek-nav-menu > li > a:hover,
.ek-nav-menu > li.current-menu-item > a{ color: var(--ek-accent); }
.ek-nav-menu > li > a:hover::after,
.ek-nav-menu > li.current-menu-item > a::after{ width: 100%; }

.ek-nav-menu .ek-has-dropdown > a::before{
	content: "";
	width: 7px; height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-left: 2px;
	transition: transform var(--ek-transition);
}
.ek-nav-menu .ek-has-dropdown:hover > a::before{ transform: rotate(225deg); }

.ek-nav-menu .sub-menu{
	position: absolute;
	top: calc(100% + 14px);
	left: 50%;
	transform: translate(-50%, 10px);
	min-width: 220px;
	background: var(--ek-bg-alt);
	border: 1px solid var(--ek-border);
	border-radius: var(--ek-radius-sm);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ek-transition), transform var(--ek-transition), visibility var(--ek-transition);
	box-shadow: 0 20px 40px -20px rgba(0,0,0,.7);
	z-index: 20;
}
.ek-nav-menu .ek-has-dropdown:hover > .sub-menu,
.ek-nav-menu .ek-has-dropdown:focus-within > .sub-menu{
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
.ek-nav-menu .sub-menu li a{
	display: block;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: .85rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: normal;
	color: var(--ek-text-muted);
	transition: background var(--ek-transition), color var(--ek-transition);
}
.ek-nav-menu .sub-menu li a:hover{ background: rgba(245,180,0,.1); color: var(--ek-accent); }

.ek-header__actions{ display: flex; align-items: center; gap: 14px; }

.ek-nav-toggle{
	display: none;
	background: transparent;
	border: 1px solid var(--ek-border);
	border-radius: 8px;
	color: #fff;
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
}
.ek-nav-toggle .icon{ width: 20px; height: 20px; }

/* =========================================================
   4. HERO
   ========================================================= */
.ek-hero{
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.ek-hero__bg{
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	animation: ek-hero-zoom 16s ease-in-out infinite alternate;
}
@keyframes ek-hero-zoom{
	from{ transform: scale(1.06); }
	to{ transform: scale(1); }
}
.ek-hero__bg--fallback{
	background:
		radial-gradient(circle at 20% 20%, rgba(245,180,0,.18), transparent 45%),
		linear-gradient(135deg, #1c1c1c, #050505 70%);
}
.ek-hero__overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.92) 15%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.2) 100%);
}
.ek-hero__content{ position: relative; z-index: 2; padding: 80px 24px; }
.ek-hero__title{ max-width: 680px; }
.ek-hero__text{ max-width: 520px; font-size: 1.05rem; }
.ek-hero__actions{ display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }

/* =========================================================
   5. SEKCJE OGÓLNE
   ========================================================= */
.ek-section{ padding: 90px 0; }
.ek-section__head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 44px;
	flex-wrap: wrap;
}
.ek-section__head h2{ margin: 0; }
.ek-section__head-btn{ flex-shrink: 0; }

.ek-grid{ display: grid; gap: 24px; }
.ek-grid--offer{ grid-template-columns: repeat(3, 1fr); }
.ek-grid--gallery{ grid-template-columns: repeat(4, 1fr); }
.ek-grid--blog{ grid-template-columns: repeat(3, 1fr); }

.ek-empty{
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 20px;
	border: 1px dashed var(--ek-border);
	border-radius: var(--ek-radius);
}

/* --- Karty oferty --- */
.ek-card{
	background: var(--ek-bg-card);
	border: 1px solid var(--ek-border);
	border-radius: var(--ek-radius);
	padding: 30px 22px;
	transition: transform var(--ek-transition), border-color var(--ek-transition), box-shadow var(--ek-transition);
}
.ek-card:hover{
	transform: translateY(-8px);
	border-color: rgba(245,180,0,.5);
	box-shadow: 0 30px 50px -30px rgba(245,180,0,.25);
}
.ek-card--offer{ text-align: left; }
.ek-card__icon{
	width: 56px; height: 56px;
	border-radius: 14px;
	background: rgba(245,180,0,.1);
	display: flex; align-items: center; justify-content: center;
	color: var(--ek-accent);
	margin-bottom: 20px;
	overflow: hidden;
	transition: background var(--ek-transition), transform var(--ek-transition);
}
.ek-card:hover .ek-card__icon{ background: var(--ek-accent); color: #111; transform: rotate(-6deg) scale(1.05); }
.ek-card__icon img{ width: 100%; height: 100%; object-fit: cover; }
.ek-card h3{ margin-bottom: .4em; }
.ek-card p{ font-size: .9rem; margin-bottom: 1.2em; }
.ek-card__link{
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: var(--ek-accent);
}
.ek-card__link .icon{ width: 14px; height: 14px; transition: transform var(--ek-transition); }
.ek-card:hover .ek-card__link .icon{ transform: translateX(5px); }

/* --- Karty bloga --- */
.ek-card--post{ padding: 0; overflow: hidden; }
.ek-card__media{ display: block; aspect-ratio: 4/3; overflow: hidden; }
.ek-card__media img{ width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ek-transition); }
.ek-card--post:hover .ek-card__media img{ transform: scale(1.08); }
.ek-card__body{ padding: 22px; }
.ek-post-meta{ font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ek-accent); margin-bottom: .6em; }

/* =========================================================
   6. DLACZEGO WARTO
   ========================================================= */
.ek-whyus{ background: var(--ek-bg-alt); }
.ek-whyus__grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: stretch;
}
.ek-whyus__panel{
	background: var(--ek-accent);
	color: #111;
	border-radius: var(--ek-radius);
	padding: 46px 40px;
}
.ek-whyus__panel-head{ display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.ek-whyus__panel-icon{ display: none; }
.ek-whyus__panel h2{ color: #111; margin: 0; }
.ek-features{ display: flex; flex-direction: column; gap: 22px; }
.ek-features__item{ display: flex; gap: 16px; align-items: flex-start; }
.ek-features__icon{
	flex-shrink: 0;
	width: 40px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(0,0,0,.12);
	border-radius: 10px;
}
.ek-features__icon .icon{ width: 22px; height: 22px; }
.ek-features__item strong{ display: block; margin-bottom: 2px; font-size: 1.02rem; }
.ek-features__item p{ margin: 0; color: rgba(17,17,17,.75); font-size: .88rem; }

.ek-whyus__media{ position: relative; border-radius: var(--ek-radius); overflow: hidden; min-height: 380px; }
.ek-whyus__media img{ width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.ek-whyus__card{
	position: absolute;
	left: 24px; bottom: 24px; right: 24px;
	max-width: 300px;
	background: rgba(10,10,10,.92);
	backdrop-filter: blur(6px);
	border: 1px solid var(--ek-border);
	border-radius: var(--ek-radius-sm);
	padding: 24px;
}
.ek-whyus__card-icon{ color: var(--ek-accent); display: inline-flex; margin-bottom: 10px; }
.ek-whyus__card-icon .icon{ width: 26px; height: 26px; }
.ek-whyus__card h3{ margin-bottom: 6px; }
.ek-whyus__card p{ font-size: .85rem; margin-bottom: 16px; }

/* =========================================================
   7. GALERIA REALIZACJI
   ========================================================= */
.ek-gallery-item{
	position: relative;
	display: block;
	border-radius: var(--ek-radius-sm);
	overflow: hidden;
	aspect-ratio: 4/3;
	background: var(--ek-bg-card);
}
.ek-gallery-item img{ width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ek-transition), filter .6s var(--ek-transition); }
.ek-gallery-item:hover img{ transform: scale(1.1); filter: brightness(.7); }
.ek-gallery-item__title{
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: 16px;
	background: linear-gradient(0deg, rgba(0,0,0,.85), transparent);
	font-weight: 600; font-size: .9rem;
	transform: translateY(12px);
	opacity: 0;
	transition: transform var(--ek-transition), opacity var(--ek-transition);
}
.ek-gallery-item:hover .ek-gallery-item__title{ transform: translateY(0); opacity: 1; }

.ek-img-placeholder{
	width: 100%; height: 100%; min-height: 220px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 10px;
	border: 1.5px dashed var(--ek-border);
	border-radius: var(--ek-radius-sm);
	color: var(--ek-text-muted);
	font-size: .82rem;
	text-align: center;
	padding: 20px;
	background: repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 10px, transparent 10px 20px);
}
.ek-img-placeholder .icon{ width: 30px; height: 30px; opacity: .6; }

/* =========================================================
   8. PASEK CTA (żółty)
   ========================================================= */
.ek-ctabar{ background: var(--ek-accent); color: #111; }
.ek-ctabar__inner{
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: 26px 0; flex-wrap: wrap;
}
.ek-ctabar__text{ display: flex; align-items: center; gap: 16px; }
.ek-ctabar__icon{ display: inline-flex; animation: ek-float 3s ease-in-out infinite; }
.ek-ctabar__icon .icon{ width: 30px; height: 30px; }
.ek-ctabar__text p{ margin: 0; color: rgba(17,17,17,.7); font-size: .82rem; }
.ek-ctabar__phone{ font-size: 1.3rem; font-weight: 700; }

/* =========================================================
   9. STOPKA
   ========================================================= */
.ek-footer{ background: #000; padding-top: 70px; }
.ek-footer__grid{
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: 40px;
	padding-bottom: 50px;
	border-bottom: 1px solid var(--ek-border);
}
.ek-footer__about p{ font-size: .88rem; margin: 16px 0; }
.ek-footer__social{ display: flex; gap: 12px; }
.ek-footer__social a{
	width: 38px; height: 38px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--ek-border);
	border-radius: 50%;
	transition: background var(--ek-transition), border-color var(--ek-transition), transform var(--ek-transition);
}
.ek-footer__social a:hover{ background: var(--ek-accent); color: #111; border-color: var(--ek-accent); transform: translateY(-4px); }
.ek-footer__social .icon{ width: 16px; height: 16px; }

.ek-footer__col h3{ font-size: .95rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 20px; }
.ek-footer-menu{ display: flex; flex-direction: column; gap: 12px; }
.ek-footer-menu a{ font-size: .88rem; color: var(--ek-text-muted); transition: color var(--ek-transition), padding-left var(--ek-transition); }
.ek-footer-menu a:hover{ color: var(--ek-accent); padding-left: 4px; }

.ek-footer-contact{ display: flex; flex-direction: column; gap: 14px; }
.ek-footer-contact li{ display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--ek-text-muted); }
.ek-footer-contact .icon{ width: 18px; height: 18px; color: var(--ek-accent); flex-shrink: 0; margin-top: 2px; }
.ek-footer-contact a{ color: var(--ek-text-muted); transition: color var(--ek-transition); }
.ek-footer-contact a:hover{ color: var(--ek-accent); }

.ek-footer__bottom{ padding: 26px 0; }
.ek-footer__bottom p{ margin: 0; font-size: .78rem; color: #6b6b6b; text-align: center; }

/* =========================================================
   10. PODSTRONY / TREŚCI
   ========================================================= */
.ek-page-hero{
	padding: 70px 0 50px;
	background: linear-gradient(180deg, var(--ek-bg-alt), var(--ek-bg));
	border-bottom: 1px solid var(--ek-border);
}
.ek-page-hero h1{ margin: 0; }

.ek-content-narrow{ max-width: 820px; }
.ek-page-thumb{ border-radius: var(--ek-radius); overflow: hidden; margin-bottom: 32px; }
.ek-entry-content{ color: var(--ek-text-muted); }
.ek-entry-content h2, .ek-entry-content h3{ color: var(--ek-text); margin-top: 1.4em; }
.ek-entry-content a{ color: var(--ek-accent); text-decoration: underline; }
.ek-entry-content img{ border-radius: var(--ek-radius-sm); }

.ek-layout-with-sidebar{ display: grid; grid-template-columns: 2fr 1fr; gap: 50px; align-items: start; }
.ek-sidebar{ display: flex; flex-direction: column; gap: 24px; position: sticky; top: 110px; }
.widget{ background: var(--ek-bg-card); border: 1px solid var(--ek-border); border-radius: var(--ek-radius); padding: 24px; }
.widget-title{ margin-bottom: 14px; font-size: 1rem; }
.widget ul{ display: flex; flex-direction: column; gap: 10px; }
.widget ul a{ font-size: .88rem; color: var(--ek-text-muted); transition: color var(--ek-transition); }
.widget ul a:hover{ color: var(--ek-accent); }
.ek-cta-widget{ text-align: center; }
.ek-cta-widget .ek-features__icon{ margin: 0 auto 14px; }
.ek-cta-widget .ek-btn{ width: 100%; justify-content: center; margin-top: 10px; }

.ek-service-icon{ color: var(--ek-accent); margin-bottom: 26px; }
.ek-service-icon img{ border-radius: var(--ek-radius); }

.ek-post-nav{ display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--ek-border); font-weight: 600; }
.ek-post-nav a{ color: var(--ek-accent); }

.ek-pagination{ display: flex; justify-content: center; gap: 10px; margin-top: 50px; }
.ek-pagination .page-numbers{
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 10px;
	border-radius: 999px; border: 1px solid var(--ek-border);
	font-size: .88rem; font-weight: 600;
	transition: background var(--ek-transition), border-color var(--ek-transition);
}
.ek-pagination .page-numbers:hover,
.ek-pagination .page-numbers.current{ background: var(--ek-accent); color: #111; border-color: var(--ek-accent); }

/* --- 404 --- */
.ek-404__inner{ text-align: center; max-width: 640px; margin: 0 auto; }
.ek-404__inner .ek-hero__actions{ justify-content: center; }
.ek-404__search{ margin-top: 40px; }

/* --- Search form --- */
.ek-search-form{ display: flex; border: 1px solid var(--ek-border); border-radius: 999px; overflow: hidden; }
.ek-search-form__field{ flex: 1; background: transparent; border: 0; padding: 14px 20px; color: #fff; font-family: inherit; }
.ek-search-form__field:focus{ outline: none; }
.ek-search-form__submit{ background: var(--ek-accent); border: 0; padding: 0 22px; color: #111; }
.ek-search-form__submit .icon{ width: 16px; height: 16px; }

/* --- Komentarze --- */
.ek-comments{ margin-top: 60px; padding-top: 40px; border-top: 1px solid var(--ek-border); }
.ek-comment-list{ display: flex; flex-direction: column; gap: 20px; margin: 24px 0; }
.ek-comment-list .comment-body{ background: var(--ek-bg-card); border: 1px solid var(--ek-border); border-radius: var(--ek-radius-sm); padding: 20px; }
.comment-form input, .comment-form textarea{
	width: 100%; background: var(--ek-bg-card); border: 1px solid var(--ek-border); border-radius: var(--ek-radius-sm);
	padding: 12px 16px; color: #fff; font-family: inherit; margin-bottom: 14px;
}

/* =========================================================
   11. KONTAKT / FORMULARZ
   ========================================================= */
.ek-contact-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; }
.ek-contact-info__list{ margin: 26px 0; }
.ek-contact-info__social{ margin-top: 10px; }

.ek-contact-form-wrap{ background: var(--ek-bg-card); border: 1px solid var(--ek-border); border-radius: var(--ek-radius); padding: 36px; }
.ek-form-hp{ position: absolute; left: -9999px; opacity: 0; }
.ek-form-row{ margin-bottom: 18px; }
.ek-form-row label{ display: block; font-size: .82rem; font-weight: 600; margin-bottom: 8px; color: var(--ek-text-muted); }
.ek-form-row input,
.ek-form-row textarea{
	width: 100%;
	background: #0d0d0d;
	border: 1px solid var(--ek-border);
	border-radius: var(--ek-radius-sm);
	padding: 13px 16px;
	color: #fff;
	font-family: inherit;
	font-size: .95rem;
	transition: border-color var(--ek-transition), box-shadow var(--ek-transition);
}
.ek-form-row input:focus,
.ek-form-row textarea:focus{
	outline: none;
	border-color: var(--ek-accent);
	box-shadow: 0 0 0 4px rgba(245,180,0,.15);
}
.ek-contact-form button{ width: 100%; justify-content: center; margin-top: 6px; }
.ek-form-status{ font-size: .85rem; min-height: 1.2em; margin-bottom: 4px; }
.ek-form-status.is-error{ color: #ff6b6b; }
.ek-form-status.is-success{ color: #6bffa0; }

.ek-form-message{ padding: 16px 20px; border-radius: var(--ek-radius-sm); margin-bottom: 20px; font-size: .9rem; }
.ek-form-message--success{ background: rgba(107,255,160,.1); border: 1px solid rgba(107,255,160,.4); color: #6bffa0; }
.ek-form-message--error{ background: rgba(255,107,107,.1); border: 1px solid rgba(255,107,107,.4); color: #ff6b6b; }

/* =========================================================
   12. LAZY LOAD
   ========================================================= */
img[loading="lazy"]{
	opacity: 0;
	transition: opacity .6s ease;
}
img[loading="lazy"].ek-loaded,
img[loading="lazy"].is-visible{ opacity: 1; }

/* =========================================================
   13. RESPONSYWNOŚĆ
   ========================================================= */
@media (max-width: 1080px){
	.ek-grid--offer{ grid-template-columns: repeat(2, 1fr); }
	.ek-grid--gallery{ grid-template-columns: repeat(2, 1fr); }
	.ek-grid--blog{ grid-template-columns: repeat(2, 1fr); }
	.ek-footer__grid{ grid-template-columns: 1fr 1fr; }
	.ek-whyus__grid{ grid-template-columns: 1fr; }
	.ek-layout-with-sidebar{ grid-template-columns: 1fr; }
	.ek-sidebar{ position: static; }
	.ek-contact-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 860px){
	.ek-nav{
		position: fixed;
		top: 0; right: 0;
		height: 100vh;
		width: min(320px, 85vw);
		background: #0a0a0a;
		border-left: 1px solid var(--ek-border);
		padding: 100px 30px 30px;
		transform: translateX(100%);
		transition: transform var(--ek-transition);
		z-index: 1000;
		overflow-y: auto;
	}
	.ek-nav.is-open{ transform: translateX(0); }
	.ek-nav-menu{ flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; }
	.ek-nav-menu > li{ width: 100%; }
	.ek-nav-menu > li > a{ width: 100%; padding: 14px 0; }
	.ek-nav-menu .sub-menu{
		position: static; opacity: 1; visibility: visible; transform: none;
		display: none; margin-left: 10px; border: 0; padding: 0 0 10px;
		background: transparent;
	}
	.ek-nav-menu .ek-has-dropdown.is-open > .sub-menu{ display: block; }
	.ek-nav-toggle{ display: inline-flex; }
	.ek-header__actions .ek-btn--outline{ display: none; }
}

@media (max-width: 700px){
	.ek-grid--offer{ grid-template-columns: repeat(2, 1fr); }
	.ek-grid--gallery{ grid-template-columns: 1fr 1fr; }
	.ek-grid--blog{ grid-template-columns: 1fr; }
	.ek-footer__grid{ grid-template-columns: 1fr; }
	.ek-section{ padding: 60px 0; }
	.ek-hero{ min-height: 560px; text-align: left; }
	.ek-ctabar__inner{ justify-content: center; text-align: center; }
	.ek-whyus__panel{ padding: 32px 24px; }
}

@media (max-width: 480px){
	.ek-grid--offer{ grid-template-columns: 1fr; }
	.ek-grid--gallery{ grid-template-columns: 1fr; }
	.ek-hero__content{ padding: 60px 20px; }
	.ek-whyus__card{ position: static; max-width: none; margin-top: 16px; }
}
