/* ==========================================================================
   ZMIENNE I RESET - Tu definiujemy "DNA" wizualne marki
   ========================================================================== */
:root {
    /* Kolory dla Good Home - przytulne, ale profesjonalne */
    --primary-color: #006b96;
    --accent-color: #ff9900;
    --bg-light: #fdfcfb;
    --text-color: #333;
    --text-main: #333333;
    --text-muted: #666666;
    --white: #ffffff;

    /* Fonty */
    --font-main: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* Kluczowe: padding nie zwiększa szerokości elementu */
}

body {
    font-family: var(--font-main);
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--bg-light);
}

/* Gwarantuje, że body zajmuje całą wysokość ekranu */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
}

/* Popycha stopkę na sam dół, jeśli treści jest mało */
main {
    flex: 1;
}

/* ==========================================================================
   UKŁAD (LAYOUT) - Kontener trzymający treść w ryzach
   ========================================================================== */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    /* Centrowanie na środku */
}

header {
    background: var(--white);
    padding: 1rem 0;
    border-bottom: 2px solid var(--accent-color);
}

.header-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

.header-hero {
    /* Tu wstawisz docelowe zdjęcie od klienta */
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('../img/hero-bg.jpg');
    background-size: cover;
    /* Skalowanie zdjęcia do wypełnienia */
    background-position: center;
    /* Centrowanie zdjęcia */
    height: 300px;
    /* Stała wysokość na desktopie */
    display: flex;
    align-items: center;
    /* Logo wycentrowane w pionie na zdjęciu */
}

.header-hero .logo {
    color: var(--white);
    /* Logo musi być białe, by było widać je na zdjęciu */
    font-size: 2.2rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    /* Cień dla lepszej czytelności */
}

/* Flexbox dla menu - proste i skuteczne */
nav ul {
    list-style: none;
    display: flex;
    gap: 25px;
    margin: 0;
    padding: 0;
}

nav a {
    text-decoration: none;
    color: var(--primary-color);
    font-weight: bold;
}

nav li::before {
    content: none !important;
}

.main-nav {
    background-color: var(--accent-color);
    /* Tło w kolorze akcentu (złoty/beż) */
    width: 100%;
}

.main-nav ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    /* Domyślnie dla telefonu: jeden pod drugim */
    padding: 0;
    margin: 0;
}

.main-nav li {
    flex: 1;
    /* Każdy przycisk zajmuje tyle samo miejsca */
    text-align: center;
}

.main-nav a {
    display: block;
    padding: 1rem 1.5rem;
    color: var(--white);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 1px;
    transition: all 0.4s ease;
    /* Płynna zmiana koloru */
}

.main-nav a:hover {
    background-color: var(--primary-color);
    color: var(--white);
}

.logo {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--primary-color);
    text-decoration: none;
    letter-spacing: -0.5px;
}

.logo-symbol {
    color: var(--accent-color);
    margin-right: 5px;
}

.page-header {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 2rem 0;
    margin-bottom: 2rem;
}

.page-header h1 {
    font-size: 2.5rem;
    text-transform: none;
    transform: rotate(0deg);
}

/* ==========================================================================
   TYPOGRAFIA (Base Typography)
   ========================================================================== */

/* Nagłówek główny podstrony (już go mamy, ale upewnijmy się, że jest spójny) */
h1 {
    font-family: 'Dancing Script', cursive;
    font-size: 2rem;
    /* Zwiększamy, bo pismo ręczne potrzebuje skali */
    font-weight: 500;
    line-height: 1.1;
    margin-bottom: 0.5rem;
    color: var(--white);
    text-transform: none;
}

/* Główne śródtytuły na stronie */
h2 {
    font-size: 1.8rem;
    color: var(--primary-color);
    margin-top: 3rem;
    /* Duży odstęp od poprzedniej sekcji */
    margin-bottom: 1.2rem;
    /* Odstęp od tekstu pod nagłówkiem */
    font-weight: 700;
    line-height: 1.3;
    border-left: 5px solid var(--accent-color);
    /* Złoty akcent */
    padding-left: 15px;
}

/* Mniejsze nagłówki sekcji lub opisy cech */
h3 {
    font-size: 1.4rem;
    color: var(--primary-color);
    margin-top: 2rem;
    margin-bottom: 0.8rem;
    font-weight: 600;
}

/* Standardowy tekst (Akapit) */
p {
    font-size: 1.1rem;
    /* Nieco większy niż standard, by ułatwić czytanie */
    line-height: 1.75;
    /* "Oddech" dla oka */
    color: var(--text-main);
    margin-bottom: 1.5rem;
    /* Zastępuje Twoje <br> */
}

/* Wyróżnienia w tekście */
strong {
    color: var(--primary-color);
    font-weight: 700;
}

/* Celujemy tylko w listy wewnątrz <main>, menu w <header> zostanie pominięte */
main ul {
    margin-bottom: 1.5rem;
    padding-left: 0;
    /* Resetujemy domyślny padding */
    list-style: none;
}

main li {
    position: relative;
    margin-bottom: 0.8rem;
    padding-left: 1.5rem;
    /* Miejsce na nasz kwadracik */
    line-height: 1.5;
}

/* Customowa kropka - tylko dla list wewnątrz <main> */
main li::before {
    content: "■";
    color: var(--accent-color);
    font-size: 0.8rem;
    position: absolute;
    left: 0;
    top: 0.1rem;
    /* Korekta wysokości kwadracika względem tekstu */
}

/* KLASA SPECJALNA: Tekst wprowadzający (Lead) */
.lead {
    font-size: 1.3rem;
    color: var(--text-muted);
    font-weight: 300;
    margin-bottom: 2rem;
}

/* ==========================================================================
   STOPKA (Footer)
   ========================================================================== */

.site-footer {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 3rem 0 1.5rem 0;
    text-align: center;
    /* margin-top już nie jest potrzebny dzięki flex: 1 w main, 
       ale zostawiamy mały odstęp dla oddechu */
    margin-top: 2rem;
}

.footer-logo {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 2rem;
}

.footer-logo .logo-symbol {
    color: var(--accent-color);
}

/* Stylizacja mniejszego menu w stopce */
.footer-nav {
    border-top: 2px solid rgba(255, 255, 255, 0.2);
    /* Grubsza linia powyżej */
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    /* Grubsza linia poniżej */
    margin: 2rem 0;
    padding: 1.5rem 0;
}

.footer-nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    /* Zapobiega "rozwaleniu" na telefonach */
    gap: 20px;
    margin: 0;
    padding: 0;
}

.footer-nav a {
    color: var(--white);
    text-decoration: none;
    font-size: 0.85rem;
    /* Mniejsze menu */
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.footer-nav a:hover {
    opacity: 1;
    color: var(--accent-color);
}

.footer-copyright {
    font-size: 0.8rem;
    opacity: 0.8;
    padding-top: 1rem;
}

.footer-tagline {
    margin-bottom: 2.5rem;
    max-width: 600px;
    /* Trzymamy tekst w ryzach, żeby nie rozciągał się na całą szerokość */
    margin-left: auto;
    margin-right: auto;
}

.footer-tagline p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--white);
    opacity: 0.8;
    /* Lekkie przygaszenie tekstu SEO */
}

.footer-tagline strong {
    display: block;
    margin-top: 10px;
    color: var(--accent-color);
    /* Złoty akcent dla hasła reklamowego */
    font-size: 1.1rem;
    letter-spacing: 1px;
}

/* ==========================================================================
   RESPONSYWNOŚĆ (Media Queries)
   ========================================================================== */

/* BASE STYLES: Telefon (Domyślnie menu jest pionowe)
   Te style już masz wyżej w pliku, ale upewnij się, że .main-nav ul 
   ma flex-direction: column; jako domyślne.
*/

/* TABLET I DESKTOP (Powyżej 768px) */
@media (min-width: 768px) {

    .header-hero {
        height: 300px;
        /* Na większych ekranach zdjęcie jest wyższe */
    }

    .main-nav ul {
        flex-direction: row;
        /* ZMIANA: Na komputerze menu staje się POZIOME */
    }

    .hero h1 {
        font-size: 3.5rem;
        /* Większy nagłówek na desktopie */
    }
}

/* DUŻE MONITORY (Powyżej 1200px) */
@media (min-width: 1200px) {
    .container {
        width: 1170px;
        /* Sztywny kontener dla bardzo szerokich ekranów */
    }
}