/*
Theme Name: Gold Place 2
Template: hello-elementor
Version: 0.1.0
Description: Motyw potomny Hello Elementor dla goldplace.eu. Wygląd jest w Elementorze (Site Settings, Theme Builder, strony); tu tylko zachowania, których nie da się ustawić w panelu.
*/

/* Pasek CTA (kontenery z klasą gp2-pasek-cta): schowany, dopóki skrypt nie doda klasy gp2-cta-on. */
body:not(.elementor-editor-active) .gp2-pasek-cta { transform: translateY(110%); visibility: hidden; transition: transform .35s ease, visibility 0s linear .35s; }
html.gp2-cta-on body:not(.elementor-editor-active) .gp2-pasek-cta { transform: none; visibility: visible; transition: transform .35s ease, visibility 0s; }

/* Landing (nagłówek .gp2-naglowek-landing, przypięty): 1:1 z goldplace.eu (wirtualne_biuro.js + .z-index-hero).
   Nad cennikiem nagłówek (25) jest na wierzchu; po przewinięciu poza cennik gp2.js dodaje html.gp2-za-cennikiem
   i nagłówek spada na 20, więc kolejne sekcje (25) i księgowość (23) wjeżdżają na niego i go zasłaniają.
   Tylko od tabletu w górę: na telefonie nagłówek landingu przewija się ze stroną, a z-index 25 sekcji zasłaniał go
   i hero przykrywało cennik. */
@media (min-width: 768px) {
	html.gp2-landing [data-elementor-type="wp-page"] > .e-con:not(#cennik):not(#ksiegowosc):not([data-settings*='"position":"fixed"']) { z-index: 25 !important; }
	html.gp2-landing #ksiegowosc { z-index: 23 !important; }
	html.gp2-za-cennikiem .gp2-naglowek-landing { z-index: 20 !important; }
}

/* Nic nie może poszerzać strony na boki (telefon): znaczek reCAPTCHA jest przypięty 186 px za prawą krawędzią,
   a slajdy galerii i talii kart wychodzą poza ekran. clip, nie hidden – nie tworzy kontenera przewijania. */
html, body { overflow-x: clip; }

/* Motyw Hello dodaje nagłówkom h1–h6 marginesy; w boksach z ikoną szablon ich nie ma (odstępy ustawia się w panelu). */
.elementor-icon-box-title { margin-top: 0; }


/* Pasek CTA chowa się POD hero i paskiem atutów (klasa gp2-nad-paskiem), jak w szablonie, gdzie .hero i .trust
   mają wyższy z-index niż .contact-bar. Nagłówek (25) zostaje nad hero, a pasek nad pozostałymi sekcjami. */
body:has(.gp2-nad-paskiem) .gp2-pasek-cta { z-index: 20 !important; }
.gp2-nad-paskiem { position: relative; z-index: 22 !important; }

/* Znaczek reCAPTCHA w prawym dolnym rogu ukryty (jak na stage). visibility, nie display:none – przy display:none
   reCAPTCHA v3 przestaje zwracać token i formularze przestają działać. */
.grecaptcha-badge { visibility: hidden !important; }

/* Fragment tekstu w nowej linii tylko na telefonie (np. „Gotowe spółki / od 890 zł” w hero). */
@media (max-width: 767px) { .gp2-nl-tel { display: block; } }

/* ---- Strona 404 (404.php) – 1:1 ze stage.goldplace.eu (oh-child/style.css, .gp-404-*) ---- */
.gp-404-hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background-size: cover; background-position: center; background-repeat: no-repeat; }
.gp-404-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.gp-404-content { position: relative; z-index: 2; max-width: 1200px; padding: 0 20px; }
/* Arial jak na stage (tam h1 404 nie dostaje czcionki strony). */
.gp-404-content h1 { color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: clamp(48px, 6vw, 96px); line-height: 1.1; margin: .67em 0 20px; font-weight: 700; letter-spacing: .045em; }
.gp-404-content h1 span { color: #ff0000; }
.gp-404-content p { color: #fff; font-size: clamp(22px, 2vw, 34px); line-height: 1.27; margin: 0 0 60px; font-weight: 300; letter-spacing: .028em; }
.gp-404-buttons { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }
.gp-btn-primary, .gp-btn-secondary { width: 300px; min-height: 70px; display: flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; transition: .3s; box-sizing: border-box; }
.gp-btn-primary { background: #ff0000; border: 2px solid #ff0000; }
.gp-btn-primary:hover { background: #d90000; border-color: #d90000; color: #fff; }
.gp-btn-secondary { border: 2px solid #ff0000; background: rgba(0,0,0,.2); }
.gp-btn-secondary:hover { background: #ff0000; color: #fff; }
.gp-btn-primary, .gp-btn-secondary, .gp-btn-primary:hover, .gp-btn-secondary:hover, .gp-btn-primary:focus, .gp-btn-secondary:focus { color: #fff !important; }
.gp-btn-primary strong, .gp-btn-secondary strong { font-size: 18px; letter-spacing: 1px; font-weight: 600; }
@media (max-width: 768px) {
	.gp-404-buttons { flex-direction: column; align-items: center; }
	.gp-btn-primary, .gp-btn-secondary { width: 100%; max-width: 420px; }
}
