/* GADO — pass mobilny (≤767px). Oryginał Wix = kanwa 320px skalowana do szerokości
   urządzenia → wartości w vw (1px kanwy = 0.3125vw). Pomiary: hero 436, karta 280,
   tekst 10–11px, tytuł 20px, kafle 66 (4 kol.), hamburger 42px top-right. */

/* baza: hamburger i menu mobilne istnieją tylko na mobile */
.gado-burger, .gado-mobile-menu { display: none; }

@media (max-width: 767px) {

	/* ---------- HEADER: hamburger + pełnoekranowe menu ---------- */
	.gado-nav { display: none; }
	.gado-header { top: 0; }
	.gado-burger {
		position: fixed;
		top: 10px;
		right: 12px;
		width: 42px;
		height: 42px;
		background: rgba(255, 255, 255, 0.85);
		border: 0;
		border-radius: 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5px;
		cursor: pointer;
		z-index: 100000000;  /* nad menu i banerem */
		padding: 0;
	}
	.gado-burger:hover, .gado-burger:focus, .gado-burger:active {
		background: rgba(255, 255, 255, 0.85) !important;
		outline: none;
		box-shadow: none;
	}
	body.gado-menu-open .gado-burger,
	body.gado-menu-open .gado-burger:hover,
	body.gado-menu-open .gado-burger:focus {
		background: transparent !important;
	}
	.gado-burger span {
		display: block;
		width: 20px;
		height: 2px;
		background: #000;
		transition: transform 0.25s ease, opacity 0.2s ease;
	}
	body.gado-menu-open .gado-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	body.gado-menu-open .gado-burger span:nth-child(2) { opacity: 0; }
	body.gado-menu-open .gado-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.gado-mobile-menu {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.18);   /* przyciemniona strona z lewej — tap zamyka */
		z-index: 99999999;  /* nad banerem cookies Complianz */
		display: none;
	}
	body.gado-menu-open .gado-mobile-menu { display: block; }
	body.gado-menu-open { overflow: hidden; }
	.gado-menu-mobile {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 81vw;
		background: #fff;
		list-style: none;
		margin: 0;
		padding: 26vw 0 10vw 9vw;
		text-align: left;
		overflow-y: auto;
		box-sizing: border-box;
	}
	.gado-menu-mobile > li { margin: 0 0 9vw; position: relative; }
	.gado-menu-mobile a {
		font-family: 'Montserrat', sans-serif;
		font-size: 4.4vw;
		letter-spacing: 0.6vw;
		color: #000;
		text-decoration: none;
	}
	/* aktywna strona wyszarzona (jak oryginał) */
	.gado-menu-mobile .current-menu-item > a { color: #b3b3b3; }
	/* OFERTA: rozwijane submenu z chevronem */
	.gado-menu-mobile .menu-item-has-children > a { display: inline-block; padding-right: 12vw; }
	.gado-menu-mobile .menu-item-has-children > a::after {
		content: '';
		position: absolute;
		right: 14vw;
		top: 2vw;
		width: 2.6vw;
		height: 2.6vw;
		border-right: 1.5px solid #000;
		border-bottom: 1.5px solid #000;
		transform: rotate(45deg);          /* ˅ zwinięte */
		transition: transform 0.2s ease;
	}
	.gado-menu-mobile .menu-item-has-children.open > a::after {
		transform: rotate(225deg);         /* ˄ rozwinięte */
		top: 3.2vw;
	}
	.gado-menu-mobile .sub-menu {
		list-style: none;
		margin: 6vw 0 0;
		padding: 0 0 0 6vw;
		display: none;
	}
	.gado-menu-mobile .menu-item-has-children.open > .sub-menu { display: block; }
	.gado-menu-mobile .sub-menu li { margin: 0 0 6vw; }
	.gado-menu-mobile .sub-menu a {
		font-size: 3.6vw;
		letter-spacing: 0.4vw;
		color: #000;
	}

	/* ikony social — na mobile brak (jak oryginał) */
	.gado-social { display: none; }

	/* ---------- HOME ---------- */
	.elementor-element.elementor-element-gadohero { height: 136vw; }
	.elementor-element-gadohero .elementor-element-gadologo {
		left: 15vw;
		top: 34vw;
		width: 70vw;
	}
	.elementor-element.elementor-element-gados2 { height: auto; padding: 10vw 0 12vw; }
	.elementor-element-gados2 .elementor-element-gados2in {
		width: 100%;
		margin-left: 0;
		padding: 0;
		flex-direction: column;
		align-items: flex-start;
	}
	.elementor-element-gados2in .elementor-element-gadoteam {
		flex: 0 0 auto;
		max-width: none;
		width: 75vw;
		margin-left: 3vw;
	}
	.elementor-element-gados2in .elementor-element-gadoabout {
		flex: 0 0 auto;
		max-width: none;
		width: 88vw;
		margin: -14vw auto 0;   /* box nachodzi na zdjęcie zespołu jak w oryginale */
		padding: 5vw 4vw;
	}
	.elementor-element.elementor-element-gadoabout { font-size: 3.44vw; line-height: 1.45; }
	.elementor-element.elementor-element-gadogrid {
		width: 87vw;
		gap: 1.5vw;
		margin: 8vw auto 0;
	}
	.elementor-element.elementor-element-gadostrip { height: 6vw; margin-top: 6vw; }
	.elementor-element.elementor-element-gadoyellow {
		height: 130vw;
		padding-top: 26vw;
		/* iOS nie wspiera background-attachment:fixed — zdjęcie przewija się z sekcją */
		background: url('../img/footer-photo.jpg') center / cover no-repeat #FFBD14;
	}
	.elementor-element-gadoyellow .elementor-element-gadocard {
		width: 84vw;
		padding: 10vw 4vw 14vw;
	}
	.elementor-element.elementor-element-gadokont { font-size: 3.44vw; line-height: 1.7; }
	.elementor-element.elementor-element-gadoband { height: 10vw; }

	/* ---------- PODSTRONY USŁUGOWE ---------- */
	.elementor-element.elementor-element-gecard, .elementor-element.elementor-element-gwcard,
	.elementor-element.elementor-element-gpcard, .elementor-element.elementor-element-gdcard {
		width: 87.5vw;
		max-width: 87.5vw;
		margin: 26vw auto 0;
		padding: 0 3.5vw 8vw;
		min-height: 0;
	}
	.elementor-element.elementor-element-getxt, .elementor-element.elementor-element-gwtxt,
	.elementor-element.elementor-element-gptxt, .elementor-element.elementor-element-gdtxt {
		font-size: 3.13vw;
		line-height: 1.3;   /* oryginał mobilny: normal ~1.2–1.3, gęsto */
	}
	.elementor-element.elementor-element-getxt p[style*="39px"], .elementor-element.elementor-element-gwtxt p[style*="39px"],
	.elementor-element.elementor-element-gptxt p[style*="39px"], .elementor-element.elementor-element-gdtxt p[style*="39px"] {
		font-size: 6.25vw !important;
		line-height: 1.4;
	}
	/* zdjęcia boczne → stos pod kartą (w DOM są po karcie) */
	.elementor-element-geroot .elementor-widget-image, .elementor-element-gwroot .elementor-widget-image,
	.elementor-element-gproot .elementor-widget-image, .elementor-element-gdroot .elementor-widget-image {
		position: static !important;
		width: 85vw !important;
		margin: 5vw auto 0 !important;
		left: auto !important;
		top: auto !important;
	}
	.elementor-element.elementor-element-geroot, .elementor-element.elementor-element-gwroot,
	.elementor-element.elementor-element-gproot, .elementor-element.elementor-element-gdroot {
		min-height: 0;
		padding-bottom: 10vw;
	}

	/* ---------- O NAS ---------- */
	.elementor-element.elementor-element-gonroot { min-height: 0; padding-bottom: 10vw; }
	.elementor-element.elementor-element-gontxt {
		width: 87.5vw;
		max-width: 87.5vw;
		margin: 26vw auto 0;
		padding: 6vw 4vw;
	}
	.elementor-element.elementor-element-gontxt { font-size: 3.44vw; line-height: 1.5; }
	.elementor-element-gontxt h1 { font-size: 5.5vw; }
	.elementor-element-gonroot .elementor-widget-image {
		position: static !important;
		width: 80vw !important;
		margin: 5vw auto 0 !important;
	}

	/* ---------- GALERIA ---------- */
	.elementor-element-ggalroot .elementor-element-ggalgrid {
		width: 87vw;
		gap: 1.5vw;
		margin: 22vw auto 0;
	}
	.elementor-element.elementor-element-ggalroot { min-height: 0; padding-bottom: 10vw; }

	/* ---------- KONTAKT ---------- */
	.elementor-element.elementor-element-gkcard1 {
		width: 87.5vw;
		max-width: 87.5vw;
		margin: 22vw auto 0;
		min-height: 0;
		padding: 8vw 0 4vw;
	}
	.elementor-element.elementor-element-gkc1txt { font-size: 3.44vw; }
	.elementor-element-gkc1txt p { line-height: 1.7; }
	.elementor-element.elementor-element-gkcard2 {
		width: 87.5vw;
		max-width: 87.5vw;
		margin: 4vw auto 10vw;
		min-height: 0;
		padding: 8vw 5vw;
	}
	.elementor-element-gkh1 h1 { font-size: 5vw; }
	.gado-kform { flex-direction: column; }
	.gado-kform .gk-left, .gado-kform .gk-divider { display: none; }  /* jak oryginał mobilny */
	.gado-kform .gk-formwrap { width: 100%; margin: 4vw 0 0; }
	.gk-form > label { font-size: 3.6vw; }
	.gk-form input[type=text], .gk-form input[type=email], .gk-form input[type=tel], .gk-form textarea { font-size: 3.6vw; }
	.gk-rodo label { font-size: 2.3vw; line-height: 1.35; }

	/* ---------- REGULAMIN / POLITYKA ---------- */
	.elementor-element.elementor-element-gregbox, .elementor-element.elementor-element-gpolbox {
		width: 92vw;
		margin: 22vw auto 10vw;
		padding: 6vw 5vw;
	}
}

/* ---------- FORMULARZ LEADOWY: inline + pasek CTA (tablet i telefon <1024) ---------- */
.gado-lead-inline { display: none; }
.gado-lead-ctabar { display: none; }

@media (max-width: 1023px) {
	.gado-lead-inline {
		display: block;
		width: 87.5vw;
		max-width: 480px;
		margin: 8vw auto 24vw;
		background: #fff;
		box-shadow: 0 0 18px rgba(0, 0, 0, 0.10);
		padding: 7vw 6vw;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
	.gado-lead-inline h2 {
		font-family: 'Montserrat', sans-serif;
		font-size: 4.6vw;
		font-weight: 400;
		letter-spacing: 2px;
		text-align: center;
		color: #000;
		margin: 0 0 4vw;
	}
	.gado-lead-inline .gk-form { display: flex; flex-direction: column; }
	.gado-lead-inline .gk-form > label {
		font-family: 'Montserrat', sans-serif;
		font-size: 3.6vw;
		color: #000;
		margin-bottom: 3.5vw;
		display: block;
	}
	.gado-lead-inline .gk-form input[type=text],
	.gado-lead-inline .gk-form input[type=email],
	.gado-lead-inline .gk-form input[type=tel],
	.gado-lead-inline .gk-form textarea {
		display: block;
		width: 100%;
		border: 0;
		border-bottom: 1px solid #000;
		background: transparent;
		font-family: 'Montserrat', sans-serif;
		font-size: 3.6vw;
		padding: 1.5vw 0 1vw;
		outline: none;
		resize: none;
		box-sizing: border-box;
	}
	.gado-lead-inline .gk-form textarea { min-height: 18vw; }
	.gado-lead-inline .gk-rodo { display: flex; gap: 2.5vw; align-items: flex-start; margin: 1vw 0 4vw; }
	.gado-lead-inline .gk-rodo input[type=checkbox] { width: 4.5vw; height: 4.5vw; flex: 0 0 4.5vw; margin-top: 0.5vw; accent-color: #000; }
	.gado-lead-inline .gk-rodo label { font-family: 'Montserrat', sans-serif; font-size: 2.3vw; line-height: 1.35; color: #4a4a4a; }
	.gado-lead-inline .gk-submit {
		align-self: flex-end;
		background: #fff;
		border: 1px solid #000;
		font-family: 'Montserrat', sans-serif;
		font-size: 3.8vw;
		color: #000;
		padding: 2vw 8vw;
		cursor: pointer;
	}

	.gado-lead-ctabar {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		background: #000;
		color: #fff;
		font-family: 'Montserrat', sans-serif;
		font-size: 3.6vw;
		letter-spacing: 3px;
		text-align: center;
		text-decoration: none;
		padding: 3.8vw 0;
		z-index: 110;
	}
	/* baner cookies nad paskiem CTA */
	.gado-has-lead #cmplz-cookiebanner-container .cmplz-cookiebanner { margin-bottom: 12vw; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	/* tablet: rozmiary vw z bazy 390 robią się za duże — cap na px */
	.gado-lead-inline { padding: 34px 30px; margin: 40px auto 120px; }
	.gado-lead-inline h2 { font-size: 20px; margin-bottom: 18px; }
	.gado-lead-inline .gk-form > label, .gado-lead-inline .gk-form input[type=text],
	.gado-lead-inline .gk-form input[type=email], .gado-lead-inline .gk-form input[type=tel],
	.gado-lead-inline .gk-form textarea { font-size: 14px; }
	.gado-lead-inline .gk-form > label { margin-bottom: 14px; }
	.gado-lead-inline .gk-form textarea { min-height: 70px; }
	.gado-lead-inline .gk-rodo { gap: 8px; margin: 2px 0 16px; }
	.gado-lead-inline .gk-rodo input[type=checkbox] { width: 16px; height: 16px; flex: 0 0 16px; }
	.gado-lead-inline .gk-rodo label { font-size: 9px; }
	.gado-lead-inline .gk-submit { font-size: 15px; padding: 7px 30px; }
	.gado-lead-ctabar { font-size: 14px; padding: 14px 0; }
}

/* ---------- STRZAŁKA DO GÓRY (mobile, jak oryginał) ---------- */
.gado-top { display: none; }
@media (max-width: 767px) {
	.gado-top {
		display: block;
		position: fixed;
		left: 16px;
		bottom: 20px;
		width: 44px;
		height: 44px;
		background: #fff;
		border: 0;
		box-shadow: 0 0 14px rgba(0, 0, 0, 0.14);
		color: #000;
		font-size: 22px;
		line-height: 44px;
		text-align: center;
		padding: 0;
		cursor: pointer;
		z-index: 105;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.25s ease;
	}
	.gado-top.is-visible { opacity: 1; pointer-events: auto; }
	.gado-top:hover, .gado-top:focus, .gado-top:active { background: #fff !important; outline: none; }
	/* na stronach z paskiem CTA strzałka nad paskiem */
	.gado-has-lead .gado-top { bottom: 74px; }
}

/* ---------- PASS MOBILNY FORMULARZY (2026-08-06) ----------
   Dotyczy obu formularzy (inline leadowy + kontakt). Cel = wypełnialność na telefonie,
   nie 1:1 z Wixem — formularz jest świadomym odstępstwem od kopii (CLAUDE.md pkt 1).

   1) font-size 16px na polach: poniżej 16px Safari na iOS ZOOMUJE stronę przy kliknięciu
      w pole i użytkownik traci kontekst formularza. Było 14.04px — czyli zoom na każdym polu.
   2) cele dotykowe >=44px (Apple HIG / WCAG 2.5.8): pola miały 32px, checkbox zgody 17.5px
      (najgorszy — bez zaznaczenia formularz nie przechodzi, więc nietrafiony = stracony lead).
   3) etykieta zgody 8.97px -> 11.5px: przy 9px jest nieczytelna, a zgoda RODO musi być
      sformułowana jasno i zrozumiale.
*/
@media (max-width: 1023px) {
	.gado-lead-inline .gk-form input[type=text],
	.gado-lead-inline .gk-form input[type=email],
	.gado-lead-inline .gk-form input[type=tel],
	.gado-lead-inline .gk-form textarea,
	.gado-kform .gk-form input[type=text],
	.gado-kform .gk-form input[type=email],
	.gado-kform .gk-form input[type=tel],
	.gado-kform .gk-form textarea {
		font-size: 16px;
		line-height: 1.4;
		padding: 11px 0 9px;
		min-height: 44px;
		box-sizing: border-box;
	}
	.gado-lead-inline .gk-form textarea,
	.gado-kform .gk-form textarea { min-height: 88px; padding-top: 8px; }

	.gado-lead-inline .gk-form > label,
	.gado-kform .gk-form > label { font-size: 15px; }

	.gado-lead-inline .gk-rodo,
	.gado-kform .gk-rodo { gap: 10px; align-items: flex-start; }
	.gado-lead-inline .gk-rodo input[type=checkbox],
	.gado-kform .gk-rodo input[type=checkbox] {
		width: 24px; height: 24px; flex: 0 0 24px; margin-top: 0;
	}
	.gado-lead-inline .gk-rodo label,
	.gado-kform .gk-rodo label { font-size: 11.5px; line-height: 1.45; }

	.gado-lead-inline .gk-submit,
	.gado-kform .gk-submit { font-size: 16px; min-height: 46px; padding: 10px 32px; }
}

/* ---------- PASEK CTA: chowanie przy formularzu (2026-08-06) ----------
   Gdy formularz inline wjeżdża w kadr, pasek prowadzi do sekcji, którą użytkownik
   właśnie widzi (ten sam nagłówek „ZAPYTAJ O OFERTĘ") — zjeżdża w dół.
   Klasę `gado-ctabar-off` ustawia IntersectionObserver w functions.php.
   Razem z paskiem wraca na miejsce strzałka do góry i margines banera cookies. */
@media (max-width: 1023px) {
	.gado-lead-ctabar { transition: transform 0.25s ease, opacity 0.2s ease; will-change: transform; }
	.gado-ctabar-off .gado-lead-ctabar {
		transform: translateY(100%);
		opacity: 0;
		pointer-events: none;
	}
	.gado-has-lead.gado-ctabar-off #cmplz-cookiebanner-container .cmplz-cookiebanner { margin-bottom: 0; }
}
@media (max-width: 767px) {
	.gado-top { transition: opacity 0.25s ease, bottom 0.25s ease; }
	.gado-has-lead.gado-ctabar-off .gado-top { bottom: 20px; }
}
