/* /Components/HeroSection.razor.rz.scp.css */
/* ===== Hero Root ===== */

.hero[b-ow84vt33tc] {
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
}

/* ===== Layout ===== */

.hero-grid[b-ow84vt33tc] {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 3.5rem;
    align-items: center;
    padding-block: 1rem;
}

/* ===== Content ===== */

.hero-content[b-ow84vt33tc] {
    max-width: 560px;
}

    .hero-content h1[b-ow84vt33tc] {
        font-size: clamp(2.2rem, 3.2vw, 3rem);
        line-height: 1.1;
        margin-bottom: 1.5rem;
        letter-spacing: -0.5px;
    }

.hero-subtext[b-ow84vt33tc] {
    font-size: 1.1rem;
    color: var(--color-text-muted);
    margin-bottom: 2.25rem;
    max-width: 58ch;
}

/* ===== CTA ===== */

.hero-cta[b-ow84vt33tc] {
    display: inline-block;
    padding: .85rem 1.6rem;
    border-radius: .6rem;
    background: var(--color-primary);
    color: var(--color-text);
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
}

    .hero-cta:hover[b-ow84vt33tc] {
        filter: brightness(1.05);
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    }

/* ===== Media / Carousel ===== */

.hero-media[b-ow84vt33tc] {
    /* Czas pojedynczego slajdu; liczbę slajdów wstrzykuje komponent (--hero-slide-count). */
    --hero-slide-duration: 6s;
    --hero-fade-duration: 1.2s;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    max-height: 520px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: 0 25px 60px rgba(0,0,0,0.35);
    border: 2px solid var(--color-primary); /* RAMKA */
    margin: 0;
}

/* Slides – crossfade wyłącznie na CSS.
   Każdy slajd odtwarza ten sam keyframe, przesunięty o swój indeks.
   Dodatkowe -1.2s przesunięcia sprawia, że pierwszy slajd jest widoczny
   natychmiast po załadowaniu strony, zamiast doganiać animację od zera. */

.hero-slide[b-ow84vt33tc] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: hero-slide-fade-b-ow84vt33tc calc(var(--hero-slide-count) * var(--hero-slide-duration)) linear infinite;
    animation-delay: calc(var(--hero-slide-index) * var(--hero-slide-duration) - var(--hero-fade-duration));
}

/* 6s na slajd przy 5 slajdach = cykl 30s.
   1.2s fade  =  4% cyklu, koniec ekspozycji = 20% cyklu. */
@keyframes hero-slide-fade-b-ow84vt33tc {
    0% {
        opacity: 0;
    }

    4% {
        opacity: 1;
    }

    20% {
        opacity: 1;
    }

    24% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

/* Bez animacji pokazujemy tylko pierwsze zdjęcie. */
@media (prefers-reduced-motion: reduce) {
    .hero-slide[b-ow84vt33tc] {
        animation: none;
    }

        .hero-slide:first-of-type[b-ow84vt33tc] {
            opacity: 1;
        }
}

/* ===== Responsive ===== */

@media (max-width: 900px) {
    .hero-grid[b-ow84vt33tc] {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .hero-media[b-ow84vt33tc] {
        order: -1;
    }
}
/* /Components/ProcessSection.razor.rz.scp.css */
.process[b-2rrysiu8p8] {
    background: var(--color-surface);
}

/* ===== Header ===== */

.process-header[b-2rrysiu8p8] {
    margin-bottom: 0px;
    position: relative;
    display: inline-block; /* KLUCZOWE */
    padding-bottom: -0.4rem;
}

.process-header[b-2rrysiu8p8]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 20px;
    width: 100%; /* dopasowanie do tekstu */
    height: 2px;
    background: var(--color-primary);
    border-radius: 2px;
}

/* ===== Layout ===== */

.process-list[b-2rrysiu8p8] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 4rem;
    margin-top: 3rem;
}

/* ===== Item ===== */

.process-item[b-2rrysiu8p8] {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

/* ===== Number ===== */

.process-number[b-2rrysiu8p8] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-primary);
    min-width: 3rem;
}

/* ===== Text ===== */

.process-content h3[b-2rrysiu8p8] {
    margin: 0 0 .5rem;
    font-size: 1.1rem;
}

.process-content p[b-2rrysiu8p8] {
    margin: 0;
    color: var(--color-text-muted);
}

.process-list[b-2rrysiu8p8] {
    position: relative;
}

.process-list[b-2rrysiu8p8]::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: var(--color-border);
    transform: translateX(-50%);
}


/* ===== Responsive ===== */

@media (max-width: 900px) {
    .process-list[b-2rrysiu8p8] {
        grid-template-columns: 1fr;
    }
}
/* /Components/ProjectDetailView.razor.rz.scp.css */
/* =========================================
   SZCZEGÓŁ REALIZACJI
========================================= */

.project-detail[b-dqn2qnj5kf] {
    padding-top: 1rem;
}

.back-link[b-dqn2qnj5kf] {
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
    color: var(--color-text-muted);
    font-size: .9rem;
}

    .back-link:hover[b-dqn2qnj5kf] {
        color: var(--color-primary-ink);
    }


/* ===== Nagłówek ===== */

.project-header[b-dqn2qnj5kf] {
    max-width: 70ch;
    margin: 0 0 2rem;
}

.project-eyebrow[b-dqn2qnj5kf] {
    margin: 0 0 .5rem;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-primary-ink);
}

.project-title[b-dqn2qnj5kf] {
    margin: 0;
    font-size: clamp(1.7rem, 2.5vw, 2.4rem);
}

.project-lead[b-dqn2qnj5kf] {
    margin: .75rem 0 0;
    font-size: 1.05rem;
    color: var(--color-text-muted);
}


/* ===== Układ ===== */

.project-top[b-dqn2qnj5kf] {
    display: grid;
    grid-template-columns: minmax(360px, 520px) 1fr;
    gap: 3rem;
    align-items: start;
}

.project-image[b-dqn2qnj5kf] {
    max-width: 560px;
    width: 100%;
    /* Bez tego element siatki nie zwęzi się poniżej min-content paska miniatur
       i przy kilkunastu zdjęciach rozpycha stronę w bok. */
    min-width: 0;
    /* Było tu position: sticky — galeria miała zostawać w polu widzenia przy czytaniu
       opisu obok. W praktyce „jechała" razem ze stroną i podskakiwała: kolumna ze zdjęciem
       jest wyższa niż tekst obok, więc element przyklejał się i odklejał w trakcie
       przewijania. Zwykły układ jest spokojniejszy i to on wygrywa. */
}


/* ===== Galeria ===== */

.gallery[b-dqn2qnj5kf] {
    margin: 0;
    min-width: 0;
}

.gallery-stage[b-dqn2qnj5kf] {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: #10151c;
}

.gallery-backdrop[b-dqn2qnj5kf] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(30px) brightness(0.5);
    transform: scale(1.15);
    opacity: 0;
    transition: opacity .35s ease-in-out;
    z-index: 1;
}

.gallery-slide[b-dqn2qnj5kf] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity .35s ease-in-out;
    z-index: 2;
}

    .gallery-backdrop.active[b-dqn2qnj5kf],
    .gallery-slide.active[b-dqn2qnj5kf] {
        opacity: 1;
    }

/* Przezroczysty przycisk na całym kadrze — otwiera lightbox.
   Leży nad zdjęciami (z-index 2, później w DOM), ale pod strzałkami i licznikiem (3). */
.gallery-zoom[b-dqn2qnj5kf] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: zoom-in;
    z-index: 2;
}

    .gallery-zoom:focus-visible[b-dqn2qnj5kf] {
        outline: 3px solid var(--color-primary);
        outline-offset: -3px;
    }

.gallery-arrow[b-dqn2qnj5kf] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(16, 21, 28, .55);
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease;
    z-index: 3;
}

    .gallery-arrow:hover[b-dqn2qnj5kf],
    .gallery-arrow:focus-visible[b-dqn2qnj5kf] {
        background: var(--color-primary);
        color: #10151c;
    }

    .gallery-arrow.left[b-dqn2qnj5kf] {
        left: 10px;
    }

    .gallery-arrow.right[b-dqn2qnj5kf] {
        right: 10px;
    }

.gallery-counter[b-dqn2qnj5kf] {
    position: absolute;
    right: 10px;
    bottom: 10px;
    margin: 0;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: rgba(16, 21, 28, .6);
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    z-index: 3;
}

.gallery-thumbs[b-dqn2qnj5kf] {
    list-style: none;
    margin: .6rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.gallery-thumb[b-dqn2qnj5kf] {
    display: block;
    width: 64px;
    height: 64px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: .5rem;
    overflow: hidden;
    background: none;
    cursor: pointer;
    opacity: .65;
    transition: opacity .2s ease, border-color .2s ease;
}

    .gallery-thumb img[b-dqn2qnj5kf] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .gallery-thumb:hover[b-dqn2qnj5kf],
    .gallery-thumb:focus-visible[b-dqn2qnj5kf] {
        opacity: 1;
    }

    .gallery-thumb.active[b-dqn2qnj5kf] {
        opacity: 1;
        border-color: var(--color-primary);
    }


/* ===== Usługi ===== */

.project-services[b-dqn2qnj5kf] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0 0 2rem;
    padding: 0;
}

    .project-services li[b-dqn2qnj5kf] {
        padding: .3rem .75rem;
        border: 1px solid var(--color-primary);
        border-radius: 999px;
        font-size: .8rem;
        font-weight: 600;
    }


/* ===== Treść ===== */

.project-info[b-dqn2qnj5kf] {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.content-section[b-dqn2qnj5kf] {
    margin-bottom: 2rem;
}

.project-content h2[b-dqn2qnj5kf] {
    position: relative;
    display: inline-block;
    margin: 0 0 .9rem;
    padding-bottom: .6rem;
    font-size: 1.35rem;
}

    .project-content h2[b-dqn2qnj5kf]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background: var(--color-primary);
        border-radius: 2px;
    }

.project-content p[b-dqn2qnj5kf] {
    margin: 0 0 1rem;
    line-height: 1.7;
    max-width: 70ch;
}

.project-content ul[b-dqn2qnj5kf] {
    margin: 0;
    padding-left: 1.2rem;
}

.project-content li[b-dqn2qnj5kf] {
    margin-bottom: .45rem;
}

/* ===== Zobacz też ===== */

.project-related[b-dqn2qnj5kf] {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-line);
}

    .project-related h2[b-dqn2qnj5kf] {
        margin: 0 0 1rem;
        font-size: 1.35rem;
    }

.project-related-list[b-dqn2qnj5kf] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: 1rem;
}

.project-related-card[b-dqn2qnj5kf] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .6rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md, .6rem);
    text-decoration: none;
    color: inherit;
    transition: border-color .2s ease, background .2s ease;
}

    .project-related-card:hover[b-dqn2qnj5kf],
    .project-related-card:focus-visible[b-dqn2qnj5kf] {
        border-color: var(--color-primary);
        background: var(--color-surface-muted);
    }

    .project-related-card img[b-dqn2qnj5kf] {
        flex: 0 0 auto;
        width: 72px;
        height: 72px;
        object-fit: cover;
        border-radius: .45rem;
    }

.project-related-text[b-dqn2qnj5kf] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.project-related-eyebrow[b-dqn2qnj5kf] {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.project-related-title[b-dqn2qnj5kf] {
    font-weight: 700;
    line-height: 1.3;
}


.project-footer-nav[b-dqn2qnj5kf] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-line);
}


/* ===== Wąskie ekrany ===== */

@media (max-width: 1100px) {
    .project-top[b-dqn2qnj5kf] {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .project-image[b-dqn2qnj5kf] {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .gallery-stage[b-dqn2qnj5kf] {
        aspect-ratio: 1 / 1;
    }

    /* Przy kilkunastu zdjęciach pasek miniatur ma się przewijać w bok,
       a nie zajmować pół ekranu. */
    .gallery-thumbs[b-dqn2qnj5kf] {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

        .gallery-thumbs li[b-dqn2qnj5kf] {
            flex: 0 0 auto;
        }

    .gallery-thumb[b-dqn2qnj5kf] {
        width: 56px;
        height: 56px;
    }
}
/* /Components/ProjectsListView.razor.rz.scp.css */
/* Nagłówek strony listy. Karty realizacji mają styl wspólny z sekcją na stronie
   głównej i siedzą w wwwroot/css/sections.css. */

.page-header[b-gm6c8rvrrl] {
    margin-bottom: 1.75rem;
}

    .page-header h1[b-gm6c8rvrrl] {
        margin: 0 0 .4rem;
    }

.page-intro[b-gm6c8rvrrl] {
    margin: 0;
    color: var(--color-text-muted);
    max-width: 70ch;
}
/* /Components/ProjectsSection.razor.rz.scp.css */
/* Sekcja realizacji na stronie głównej. Sama karta (.project-card, .projects-grid)
   jest wspólna z listą /realizacje i stoi w wwwroot/css/sections.css. */

.projects-header[b-u28oc1l5kf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.section-title[b-u28oc1l5kf] {
    position: relative;
    display: inline-block;
    padding-bottom: .4rem;
}

    .section-title[b-u28oc1l5kf]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background: var(--color-primary);
        border-radius: 2px;
    }

.section-link[b-u28oc1l5kf] {
    color: var(--color-primary-ink);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}

    .section-link:hover[b-u28oc1l5kf] {
        text-decoration: underline;
    }

@media (max-width: 640px) {
    .projects-header[b-u28oc1l5kf] {
        margin-bottom: 1.25rem;
    }
}
/* /Components/ServicesSection.razor.rz.scp.css */
/* =========================================
   ROOT
========================================= */

.services[b-stu7m8o9k8] {
    padding-block: clamp(2rem, 4vw, 3rem);
}


/* =========================================
   HEADER
========================================= */

.services-header[b-stu7m8o9k8] {
    margin-bottom: 3rem;
}

    .services-header h2[b-stu7m8o9k8] {
        position: relative;
        display: inline-block; /* KLUCZ */
        font-size: clamp(1.6rem, 2vw, 1.9rem);
        font-weight: 700;
        margin: 0;
        padding-bottom: .5rem;
    }

        .services-header h2[b-stu7m8o9k8]::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%; /* dopasowane do tekstu */
            height: 2px;
            background: var(--color-primary);
        }


/* =========================================
   GRID
========================================= */

.services-grid[b-stu7m8o9k8] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.2rem;
}


/* =========================================
   CARD
========================================= */

.service-card[b-stu7m8o9k8] {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    padding: 2rem 1.8rem;
    border: 1px solid rgba(224,168,0,.25);
    transition: transform .25s ease, box-shadow .25s ease;
}

    .service-card:hover[b-stu7m8o9k8] {
        transform: translateY(-6px);
        box-shadow: 0 16px 40px rgba(0,0,0,.08);
    }


/* =========================================
   ICON
========================================= */

.service-icon[b-stu7m8o9k8] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    background: rgba(224,168,0,.12);
    color: var(--color-primary);
    margin-bottom: 1rem;
}


/* =========================================
   CONTENT
========================================= */

.service-card h3[b-stu7m8o9k8] {
    position: relative;
    display: inline-block; /* KLUCZ */
    margin: 0 0 .6rem;
    font-size: 1.05rem;
    font-weight: 700;
    padding-bottom: .4rem;
}

    .service-card h3[b-stu7m8o9k8]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%; /* dopasowanie do tekstu */
        height: 2px;
        background: var(--color-primary);
    }

.service-card p[b-stu7m8o9k8] {
    margin: 0;
    line-height: 1.55;
    color: var(--color-text-muted);
    font-size: .95rem;
}


/* =========================================
   LINK
========================================= */

.service-link[b-stu7m8o9k8] {
    color: var(--color-primary-ink);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color .2s ease;
}

    .service-link:hover[b-stu7m8o9k8] {
        border-bottom: 1px solid var(--color-primary);
    }


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {
    .services-grid[b-stu7m8o9k8] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .services-grid[b-stu7m8o9k8] {
        grid-template-columns: 1fr;
    }
}
/* /Shared/Footer.razor.rz.scp.css */
/* ===== Footer Wrapper ===== */

.site-footer[b-xbz2i35vrg] {
    background: var(--color-surface);
    border-top: 1px solid var(--color-border);
    font-size: .9rem;
}

/* ===== Grid =====
   Bloków jest CZTERY (firma, kontakt, godziny, obszar działania), a siatka miała
   trzy kolumny — „Obszar działania" spadał do drugiego rzędu, a pionowe kreski
   (rysowane przez :not(:last-child)) zostawały przy blokach pierwszego rzędu
   i nie pasowały już do niczego.

   Domyślnie jedna kolumna (telefon), szersze ekrany dokładają kolejne. */

.footer-grid[b-xbz2i35vrg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
}

/* ===== Titles ===== */

.footer-title[b-xbz2i35vrg] {
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: .7rem;
    color: var(--color-text);
    letter-spacing: .3px;
}

/* ===== Blocks ===== */

/* Separator kolumn rysujemy po LEWEJ stronie bloku, nie po prawej — kreska stoi wtedy
   w przerwie między kolumnami niezależnie od tego, ile bloków zmieściło się w rzędzie.
   Reguły per szerokość siedzą niżej, w sekcji „Responsive". */
.footer-block[b-xbz2i35vrg] {
    text-align: left;
}

    .footer-block p[b-xbz2i35vrg] {
        margin: .3rem 0;
        color: var(--color-text-muted);
        line-height: 1.5;
    }

    /* ===== Links ===== */

    .footer-block a[b-xbz2i35vrg] {
        color: var(--color-text);
        text-decoration: none;
        font-weight: 500;
        transition: color .2s ease;
    }

        .footer-block a:hover[b-xbz2i35vrg] {
            color: var(--color-primary);
        }

/* ===== Footer Bottom ===== */

.footer-bottom[b-xbz2i35vrg] {
    background: rgba(0,0,0,0.02);
    border-top: 1px solid rgba(224,168,0,.2);
    text-align: center;
}



    .footer-bottom small[b-xbz2i35vrg] {
        display: block;
        margin: .2rem 0;
        font-size: .8rem;
        color: var(--color-text-muted);
    }

.footer-credit a[b-xbz2i35vrg] {
    color: inherit;
    text-decoration: none;
}

    .footer-credit a:hover[b-xbz2i35vrg] {
        color: var(--color-primary);
    }

/* ===== Responsive ===== */

/* Telefon: jedna kolumna, treść wyśrodkowana, kreski poziome zamiast pionowych. */
.footer-block[b-xbz2i35vrg] {
    text-align: center;
    border-inline-start: none;
    padding-inline-start: 0;
}

    .footer-block:not(:last-child)[b-xbz2i35vrg] {
        border-bottom: 1px solid rgba(224,168,0,.25);
        padding-bottom: 1.25rem;
    }

/* Godziny to pary dzień–zakres: na telefonie blok zostaje wyśrodkowany,
   ale sama tabelka dalej rozsuwa dzień i godziny na boki. */
.footer-hours-row[b-xbz2i35vrg] {
    margin-inline: auto;
}

.footer-social[b-xbz2i35vrg] {
    justify-content: center;
}

/* Tablet: dwie kolumny. */
@media (min-width: 640px) {
    .footer-grid[b-xbz2i35vrg] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(2rem, 4vw, 3rem);
    }

    .footer-block[b-xbz2i35vrg] {
        text-align: left;
        border-inline-start: 3px solid rgba(224,168,0,.25);
        padding-inline-start: clamp(1rem, 2vw, 1.5rem);
        border-bottom: none;
        padding-bottom: 0;
    }

    /* Pierwszy blok w rzędzie nie ma po lewej sąsiada, więc nie ma czego oddzielać. */
    .footer-block:nth-child(2n + 1)[b-xbz2i35vrg] {
        border-inline-start: none;
        padding-inline-start: 0;
    }

    .footer-hours-row[b-xbz2i35vrg] {
        margin-inline: 0;
    }

    .footer-social[b-xbz2i35vrg] {
        justify-content: flex-start;
    }
}

/* Desktop: cztery kolumny — tyle, ile jest bloków. */
@media (min-width: 1024px) {
    .footer-grid[b-xbz2i35vrg] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .footer-block:nth-child(2n + 1)[b-xbz2i35vrg] {
        border-inline-start: 3px solid rgba(224,168,0,.25);
        padding-inline-start: clamp(1rem, 2vw, 1.5rem);
    }

    .footer-block:nth-child(4n + 1)[b-xbz2i35vrg] {
        border-inline-start: none;
        padding-inline-start: 0;
    }
}


.footer-title[b-xbz2i35vrg] {
    position: relative;
    display: inline-block; /* KLUCZOWE */
    padding-bottom: .4rem;
}

    .footer-title[b-xbz2i35vrg]::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%; /* dopasowanie do tekstu */
        height: 2px;
        background: var(--color-primary);
        border-radius: 2px;
    }


.footer-block p:first-of-type[b-xbz2i35vrg] {
    font-weight: 500;
    color: var(--color-text);
}

.container.footer-grid[b-xbz2i35vrg] {
    padding-bottom: 1rem ;
}
/* ===== Adres, godziny, social ===== */

.footer-address[b-xbz2i35vrg] {
    font-style: normal;
    margin: 0 0 .5rem;
}

.footer-hours[b-xbz2i35vrg] {
    margin: 0;
}

.footer-hours-row[b-xbz2i35vrg] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    max-width: 260px;
    text-align: left;
}

    .footer-hours-row dt[b-xbz2i35vrg] {
        font-weight: 600;
    }

    .footer-hours-row dd[b-xbz2i35vrg] {
        margin: 0;
    }

.footer-social[b-xbz2i35vrg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: .75rem;
}

.footer-social-link[b-xbz2i35vrg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    color: inherit;
    text-decoration: none;
}

    .footer-social-link:hover[b-xbz2i35vrg] {
        color: var(--color-primary);
    }

.footer-google-link[b-xbz2i35vrg] {
    display: inline-block;
    /* Link do wizytówki jest osobnym celem, nie częścią zdania — daje mu się kciukiem trafić. */
    padding-block: .65rem;
    font-weight: 600;
}
/* /Shared/Header.razor.rz.scp.css */
/* ===== Header Root ===== */

.site-header[b-9g9fxjhndi] {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--color-surface-muted);
    border-bottom: 1px solid var(--color-border);
    padding-block: .6rem;
}

/* ===== Layout ===== */

.header-inner[b-9g9fxjhndi] {
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

/* ===== Logo ===== */

.header-logo[b-9g9fxjhndi] {
    display: flex;
    align-items: center;
    margin-right: 1rem;

}

    .header-logo img[b-9g9fxjhndi] {
        height: 60px;
        width: auto;
        display: block;
    }


/* ===== CTA Wrapper ===== */

.header-cta[b-9g9fxjhndi] {
    display: flex;
    align-items: center;
    gap: .75rem;
}

/* ===== Phone (główne CTA) ===== */

.header-phone[b-9g9fxjhndi] {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1rem;
    font-weight: 700;
    padding: .65rem 1.25rem;
    border-radius: .6rem;
    background: var(--color-primary);
    color: var(--color-text);
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(224,168,0,.35);
    transition: transform .1s ease, box-shadow .15s ease;
}

    .header-phone:hover[b-9g9fxjhndi] {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(224,168,0,.45);
    }

/* ===== Mail button ===== */

.header-mail[b-9g9fxjhndi] {
    /* Przycisk w nagłówku — ma być pełnym celem dotykowym (44 px), a nie 43. */
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .6rem 1rem;
    border-radius: .6rem;
    border: 1px solid var(--color-border);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--color-text);
    transition: background .15s ease;
}

    .header-mail:hover[b-9g9fxjhndi] {
        background: var(--color-surface-muted);
    }





/* ===== Responsive ===== */

@media (max-width: 768px) {

    .header-inner[b-9g9fxjhndi] {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .header-nav[b-9g9fxjhndi] {
        order: 3;
        width: 100%;
        gap: 1.25rem;
    }

    .header-phone[b-9g9fxjhndi] {
        margin-left: auto;
    }
}
