/*
Theme Name: Altira Capital
Theme URI: https://stronywpaski.pl
Author: Zebr@ Innov@tion
Author URI: https://stronywpaski.pl
Description: Luxury real estate theme for Altira Capital LLP. Compatible with Elementor Page Builder. All sections available as custom Elementor widgets with full style controls.
Version: 1.6.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Private
License URI: #
Text Domain: altira-capital
Tags: elementor, real-estate, luxury, dark, one-page

Changelog:
1.6.0 - Navbar mobile: naprawiono otwieranie/zamykanie menu (konflikt [hidden] vs .open);
        dodano animację płynnego rozwijania (max-height transition); tło navbara zawsze
        widoczne na mobile; zamykanie menu po kliknięciu poza; zamykanie przy resize.
1.5.0 - Naprawiono stylowanie navbara — selektory używały PHP echo w register_controls().
1.4.0 - Navbar: dodano pole shortcode na końcu paska.
1.3.0 - Navbar: naprawiono tło po scroll; dodano obrazek logo; naprawiono mobile menu.
1.2.0 - Naprawiono białą ramkę wokół strony.
1.1.0 - Usunięto zewnętrzne URLe; zaktualizowano autora na Zebr@ Innov@tion.
1.0.0 - Wersja początkowa.
*/

/* ============================================================
   Minimalny reset — bez żadnych kolorów/fontów/rozmiarów
   które mogłyby nadpisywać kontrolki Elementora.
   Wszystkie właściwości wizualne są w register_controls()
   poszczególnych widgetów.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

html { scroll-behavior: smooth; }
img  { max-width: 100%; display: block; }
ul   { list-style: none; margin: 0; padding: 0; }

/* ── Usuń białą ramkę WordPress / Elementor ───────────────── */

/* WordPress body */
body.page,
body.elementor-page {
    margin: 0 !important;
    padding: 0 !important;
}

/* WP content wrappers */
.site, .site-content, #content, .content-area,
#primary, .entry-content, .wp-site-blocks,
.is-root-container, #page, main {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    max-width: 100%;
}

/* Admin bar spacing — zostaw gdy zalogowany */
body.admin-bar { padding-top: 32px !important; }
@media (max-width: 782px) { body.admin-bar { padding-top: 46px !important; } }

/* Elementor Canvas — zeruj padding sekcji i kontenerów */
.elementor-template-canvas .elementor-section,
.elementor-template-canvas .e-con,
.elementor-template-canvas .e-con-inner {
    padding: 0;
    margin: 0;
}

/* Zeruj padding na elementor-widget-container dla naszych widgetów */
.elementor-widget-altira_hero .elementor-widget-container,
.elementor-widget-altira_navbar .elementor-widget-container,
.elementor-widget-altira_about .elementor-widget-container,
.elementor-widget-altira_services .elementor-widget-container,
.elementor-widget-altira_testimonials .elementor-widget-container,
.elementor-widget-altira_contact .elementor-widget-container,
.elementor-widget-altira_footer .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Kontener — tylko layout, bez padding/max-width z CSS */
.altira-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

/* ============================================================
   Animacje scroll-reveal (JS dodaje .is-visible)
   ============================================================ */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.is-visible  { opacity: 1; transform: none; }
.reveal.delay-1     { transition-delay: 0.15s; }
.reveal.delay-2     { transition-delay: 0.30s; }
.reveal.delay-3     { transition-delay: 0.45s; }

@keyframes altira-bounce-y {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}
.animate-bounce-y { animation: altira-bounce-y 2.5s ease infinite; }
