/* KARINI — reset kontenerów Elementora v4
 *
 * Elementor v4 nadaje swoim kontenerom atomowym domyślne style (padding 10px,
 * min-width 30px). Projekt v3 opiera się na siatce Bootstrapa i klasach
 * pbmit/Glamr — każdy pixel paddingu dokładany przez Elementor psuje układ,
 * bo kontener w oryginale nie ma go wcale.
 *
 * Plik ładowany PO stylach Elementora, więc wygrywa z nimi przy równych
 * specyficznościach (.elementor .e-*-base = 0,2,0).
 */

/* Atomowe elementy Elementora (`.e-con.e-atomic-element`) dostają od frontend.css
 * domyślne zmienne: padding 10 px, width 100 %, position relative. Zerujemy je,
 * żeby DOM z v3 zachowywał się jak oryginał — resztę układu robią klasy v3,
 * ładowane PO Elementorze (patrz karini_enqueue_styles). */
.elementor .e-con.e-atomic-element {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-right: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--display: block;
	--width: auto;
	--position: static;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	min-width: auto;
}

a.e-con.e-atomic-element {
	--display: inline;
}

/* Nagłówek i stopka w v3 nie mają domyślnego paddingu Elementora. */
.elementor-location-header,
.elementor-location-footer {
	padding: 0;
	margin: 0;
}

/* Elementor ukrywa swoje kontenery do momentu inicjalizacji frontendu
 * (`visibility: hidden` + klasa `elementor-ready` na <html>). Lokalizacje
 * Theme Buildera renderowane są poza dokumentem Elementora i przy
 * podstronach nie zbudowanych w Elementorze nigdy nie dostają `elementor-ready`,
 * więc nagłówek i stopka zostałyby niewidoczne. W v3 nie ma animacji wejścia
 * zależnych od tego stanu, więc przywracamy widoczność. */
.elementor-location-header,
.elementor-location-footer,
.elementor-location-header .e-con,
.elementor-location-footer .e-con,
.elementor-location-header .elementor-element,
.elementor-location-footer .elementor-element {
	visibility: visible;
}

/* Elementor w `frontend.min.css` zeruje marginesy dla `.elementor video`
 * (specyficzność 0,1,1), przez co `.karini-video` (0,1,0) przegrywa i film
 * zsuwa się o 30 px w górę. Przywracamy odstęp z v3. */
.elementor .karini-video {
	margin-top: 30px;
}

/* Zdjęcie salonu w `.karini-map` ma w v3 stałą wysokość 350 px — wymuszał ją
 * atrybut `height="850"` obcięty przez `max-height` w karini.css. Elementor
 * zeruje atrybut (`height: auto`), więc na mobile grafika skurczała się do
 * 198 px. Jedyne zdjęcie w całym serwisie, które tak się zachowuje, więc
 * ustawiamy wysokość wprost zamiast walczyć z resetem Elementora globalnie. */
.karini-map img {
	height: 350px;
}


/* Edytor Elementora: elementy startują ukryte (`visibility:hidden`, opacity 0 z
 * AOS/GSAP — animacje wejścia nie są inicjowane w podglądzie), więc nie dało się
 * ich zaznaczyć ani edytować. W trybie edycji pokazujemy wszystko od razu. */
.elementor-edit-mode .e-con,
.elementor-edit-mode .e-atomic-element,
.elementor-edit-mode .e-con * {
	visibility: visible;
}
.elementor-edit-mode [data-aos],
.elementor-edit-mode .animation,
.elementor-edit-mode .animated,
.elementor-edit-mode .fade {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

/* Tryb edycji: elementy animowane wejściem (transform-*, AOS) są domyślnie
 * ukryte do czasu uruchomienia slidera/AOS. W edytorze animacje nie działają,
 * więc tytuł i przyciski hero byłyby niewidoczne i nieklikalne. */
body.elementor-editor-active [class*="transform-left"],
body.elementor-editor-active [class*="transform-right"],
body.elementor-editor-active [class*="transform-bottom"],
body.elementor-editor-active [class*="transform-top"],
body.elementor-editor-active [class*="transform-center"],
body.elementor-editor-active [data-aos] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}
