/*
Theme Name:        ZZR Motyw - Zanim Zaczniesz Remont
Theme URI:         https://zanimzaczniszremont.pl
Author:            Zanim Zaczniesz Remont
Author URI:        https://zanimzaczniszremont.pl
Description:       Dedykowany, minimalny i bezpieczny motyw WordPress zoptymalizowany pod wtyczkę „Zanim Zaczniesz Remont" (ZZR). Zawiera ciemny, sticky header z logo i menu pobieranymi z ustawień wtyczki, złotymi CTA, hamburger menu mobilnym oraz 4-kolumnowy footer z danymi kontaktowymi, social media i linkami. Paleta: granat #1B3A4B + złoto #C4993D. Typografia: Playfair Display + Inter. W pełni kompatybilny z klasycznym edytorem oraz shortcodami ZZR.
Version:           1.2.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      8.0
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       zzr-motyw
Tags:              landing-page, one-column, custom-logo, custom-menu, custom-background, threaded-comments, translation-ready
*/

/* ==========================================
   ZZR MOTYW - ZMIENNE GLOBALNE
   ========================================== */
:root {
    /* Paleta kolorów ZZR */
    --zzr-primary:        #1B3A4B;       /* Ciemny granat — nagłówki, ciemne sekcje */
    --zzr-accent:         #C4993D;       /* Złoto — akcenty, przyciski, podkreślenia */
    --zzr-accent-dark:    #A67E2E;       /* Ciemniejsze złoto */
    --zzr-accent-light:   #DABB6A;       /* Jaśniejsze złoto */
    --zzr-bg-light:       #F8F6F1;       /* Jasne tło sekcji */
    --zzr-bg-warm:        #F2EDE4;       /* Ciepłe tło */
    --zzr-text:           #1A1D21;       /* Główny tekst */
    --zzr-text-secondary: #5A6878;       /* Tekst pomocniczy */
    --zzr-dark-bg:        #0A0E13;       /* Ciemne tło hero/cta/footer */

    /* Typografia */
    --zzr-font-serif:     'Playfair Display', Georgia, serif;
    --zzr-font-sans:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --zzr-max-width:      1240px;

    /* Easing + wysokość headera */
    --zzr-ease:           cubic-bezier(0.4, 0, 0.2, 1);
    --zzr-hdr-height:     80px;
    --zzr-hdr-height-scrolled: 64px;
}

/* ==========================================
   RESET & BASE
   ========================================== */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--zzr-font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--zzr-text);
    background-color: #ffffff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--zzr-font-serif);
    font-weight: 700;
    color: var(--zzr-primary);
    line-height: 1.25;
}

a {
    color: var(--zzr-accent);
    text-decoration: none;
    transition: color 0.3s var(--zzr-ease);
}

a:hover {
    color: var(--zzr-accent-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================
   LAYOUT GŁÓWNY
   ========================================== */
.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-content {
    flex: 1 0 auto;
    width: 100%;
    /* Dodaj odstęp od sticky header */
    padding-top: var(--zzr-hdr-height);
}

/* Pełna szerokość dla landing page (shortcody ZZR) */
.site-content.full-width {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.zzr-container,
.container {
    width: 100%;
    max-width: var(--zzr-max-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================
   HEADER ZZR
   Ciemny (glassmorphism), sticky, dodatkowo kondensuje się po scroll
   ========================================== */
.zzr-header,
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    padding: 18px 0;
    /* Zawsze ciemne, półprzezroczyste tło z blur — spójne z wyglądem "scrolled" */
    background: rgba(10, 14, 19, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(196, 153, 61, 0.12);
    box-shadow: 0 4px 28px rgba(0, 0, 0, 0.35);
    transition: padding 0.35s var(--zzr-ease),
                background 0.35s var(--zzr-ease),
                box-shadow 0.35s var(--zzr-ease),
                border-color 0.35s var(--zzr-ease);
}

/* Wariant "solid" — używany dla stron wewnętrznych jako pełny #0A0E13 (bez przezroczystości) */
.zzr-header--solid,
.site-header.zzr-header--solid {
    background: rgba(10, 14, 19, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* Po scroll – mocniejsza kondensacja: mniejszy padding, bardziej wyrazisty cień */
.zzr-header--scrolled,
.site-header.is-scrolled {
    padding: 10px 0;
    background: rgba(10, 14, 19, 0.98);
    border-bottom-color: rgba(196, 153, 61, 0.2);
    box-shadow: 0 6px 32px rgba(0, 0, 0, 0.55);
}

.zzr-header__inner,
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

/* ---------- LOGO ---------- */
.zzr-header__logo,
.site-branding {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.zzr-header__logo a,
.site-branding a {
    display: flex;
    align-items: center;
    text-decoration: none;
    gap: 12px;
}

.zzr-header__logo-img,
.custom-logo {
    max-height: 44px;
    width: auto;
    display: block;
}

.zzr-header__logo-text,
.site-title,
.site-title a,
.site-title-link {
    font-family: var(--zzr-font-serif);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--zzr-accent);
    letter-spacing: 0.5px;
    line-height: 1;
    text-decoration: none;
    margin: 0;
}

.site-title a:hover,
.site-title-link:hover {
    color: var(--zzr-accent-light);
}

.site-description {
    display: none;
}

/* ---------- NAWIGACJA ---------- */
.zzr-header__nav,
.main-navigation {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: center;
}

.zzr-header__menu,
.main-navigation ul,
.main-navigation .nav-menu {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    position: relative;
}

.zzr-header__menu a,
.main-navigation a {
    display: block;
    padding: 10px 16px;
    font-family: var(--zzr-font-sans);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.3s var(--zzr-ease);
    position: relative;
}

.zzr-header__menu a:hover,
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
    color: var(--zzr-accent);
}

/* Podkreślenie ze złota przy hover */
.zzr-header__menu a::after,
.main-navigation li > a::after {
    content: '';
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 2px;
    height: 1px;
    background: var(--zzr-accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s var(--zzr-ease);
}

.zzr-header__menu a:hover::after,
.main-navigation li > a:hover::after,
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_item > a::after {
    transform: scaleX(1);
}

/* Dropdown (podmenu) */
.main-navigation ul ul,
.zzr-header__submenu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 240px;
    background: #0f1419;
    border: 1px solid rgba(196, 153, 61, 0.18);
    border-radius: 10px;
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.6);
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s var(--zzr-ease),
                transform 0.25s var(--zzr-ease),
                visibility 0.25s var(--zzr-ease);
}

/* Mostek, żeby nie "gubić" hovera przy przejściu mysz→podmenu */
.main-navigation .menu-item-has-children > a::before,
.main-navigation .zzr-header__menu-item--has-children > a::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 14px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li:focus-within > ul,
.main-navigation li.is-open > ul,
.zzr-header__menu-item--has-children:hover > .zzr-header__submenu,
.zzr-header__menu-item--has-children.is-open > .zzr-header__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.main-navigation ul ul li,
.zzr-header__submenu li {
    width: 100%;
}

.main-navigation ul ul a,
.zzr-header__submenu a {
    display: block;
    padding: 11px 22px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 1.2px;
    white-space: nowrap;
}

.main-navigation ul ul a::after,
.zzr-header__submenu a::after {
    display: none;
}

.main-navigation ul ul a:hover,
.zzr-header__submenu a:hover {
    color: var(--zzr-accent);
    background: rgba(196, 153, 61, 0.08);
}

/* Caret (▾) przy rodzicu z podmenu */
.zzr-header__menu-caret {
    display: inline-block;
    margin-left: 6px;
    font-size: 0.7em;
    line-height: 1;
    transform: translateY(-1px);
    transition: transform 0.25s var(--zzr-ease);
    opacity: 0.8;
}

.zzr-header__menu-item--has-children:hover > a > .zzr-header__menu-caret,
.zzr-header__menu-item--has-children.is-open > a > .zzr-header__menu-caret,
.menu-item-has-children:hover > a > .zzr-header__menu-caret {
    transform: translateY(-1px) rotate(-180deg);
    color: var(--zzr-accent);
}

/* ---------- PRAWA STRONA (CTA + HAMBURGER) ---------- */
.zzr-header__actions,
.header-actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ---------- ZŁOTY CTA BUTTON ---------- */
.zzr-btn--gold,
.header-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 26px;
    font-family: var(--zzr-font-sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--zzr-dark-bg) !important;
    background: linear-gradient(135deg, var(--zzr-accent-light) 0%, var(--zzr-accent) 50%, var(--zzr-accent-dark) 100%);
    border: none;
    border-radius: 999px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 20px rgba(196, 153, 61, 0.35);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s var(--zzr-ease),
                box-shadow 0.3s var(--zzr-ease);
    z-index: 1;
}

/* Efekt shimmer */
.zzr-btn--gold::before,
.header-cta-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s var(--zzr-ease);
    z-index: -1;
}

.zzr-btn--gold:hover,
.header-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(196, 153, 61, 0.5);
    color: var(--zzr-dark-bg) !important;
}

.zzr-btn--gold:hover::before,
.header-cta-btn:hover::before {
    left: 100%;
}

.zzr-btn--gold:active,
.header-cta-btn:active {
    transform: translateY(0);
}

.header-cta-btn__arrow {
    font-style: normal;
    transition: transform 0.3s var(--zzr-ease);
}

.header-cta-btn:hover .header-cta-btn__arrow {
    transform: translateX(4px);
}

/* CTA w menu – widoczny tylko na mobile (slide-in menu) */
.zzr-header__cta-item,
.main-navigation li.menu-item-cta {
    display: none;
}

/* CTA w menu – ukryj podkreślenie gdy widoczny */
.zzr-header__cta-item a::after,
.main-navigation .zzr-header__cta-item a::after,
.main-navigation li.menu-item-cta a::after {
    display: none !important;
}

/* ---------- HAMBURGER MOBILE ---------- */
.zzr-header__burger,
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 0;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(196, 153, 61, 0.18);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s var(--zzr-ease),
                border-color 0.3s var(--zzr-ease);
}

.zzr-header__burger:hover,
.menu-toggle:hover {
    background: rgba(196, 153, 61, 0.1);
    border-color: var(--zzr-accent);
}

.zzr-header__burger span,
.menu-toggle__bar {
    display: block;
    width: 20px;
    height: 2px;
    background: rgba(245, 245, 250, 0.9);
    border-radius: 2px;
    transition: transform 0.3s var(--zzr-ease),
                opacity 0.3s var(--zzr-ease),
                width 0.3s var(--zzr-ease);
    transform-origin: center;
}

/* Hamburger aktywny → X */
.zzr-header__burger.active span:nth-child(1),
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
    background: var(--zzr-accent);
}

.zzr-header__burger.active span:nth-child(2),
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(2) {
    opacity: 0;
    width: 0;
}

.zzr-header__burger.active span:nth-child(3),
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
    background: var(--zzr-accent);
}

/* ==========================================
   SKIP LINK + SCREEN READER
   ========================================== */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--zzr-primary);
    color: #fff;
    padding: 10px 18px;
    z-index: 99999;
    font-family: var(--zzr-font-sans);
    font-size: 0.9rem;
    transition: top 0.2s var(--zzr-ease);
}

.skip-link:focus {
    top: 0;
    color: #fff;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Scroll offset dla anchor linków */
[id] {
    scroll-margin-top: calc(var(--zzr-hdr-height, 80px) + 16px);
}

/* ==========================================
   STANDARDOWE STRONY (page, single, index)
   ========================================== */
.site-main {
    padding: 48px 0 72px;
}

.entry-header {
    margin-bottom: 32px;
}

.entry-title {
    font-size: 2.5rem;
    margin-bottom: 12px;
    color: var(--zzr-primary);
}

.entry-meta {
    font-family: var(--zzr-font-sans);
    font-size: 0.85rem;
    color: var(--zzr-text-secondary);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.entry-content {
    width: 100%;
    font-size: 1.05rem;
    line-height: 1.75;
}

.entry-content p,
.entry-content ul,
.entry-content ol {
    margin-bottom: 20px;
}

.entry-content h2 {
    margin-top: 40px;
    margin-bottom: 16px;
    font-size: 1.9rem;
}

.entry-content h3 {
    margin-top: 32px;
    margin-bottom: 12px;
    font-size: 1.4rem;
}

.post-thumbnail {
    margin-bottom: 32px;
    border-radius: 12px;
    overflow: hidden;
}

/* Jeśli shortcode ZZR jest główną treścią – usuń padding main */
.site-content.full-width .site-main {
    padding: 0;
}

/* ==========================================
   FOOTER ZZR - 4 kolumny
   ========================================== */
.zzr-footer,
.site-footer {
    background: var(--zzr-dark-bg);
    color: rgba(255, 255, 255, 0.55);
    padding: 72px 0 0;
    position: relative;
    flex-shrink: 0;
    font-family: var(--zzr-font-sans);
    font-size: 0.9rem;
}

/* Złota linia na górze footera */
.zzr-footer__top-line {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(80%, 600px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(196, 153, 61, 0.45), transparent);
}

.zzr-footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
    gap: 48px;
    padding-bottom: 56px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Kolumna 1: Marka */
.zzr-footer__logo {
    display: inline-block;
    text-decoration: none;
    margin-bottom: 18px;
}

.zzr-footer__logo-text {
    font-family: var(--zzr-font-serif);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--zzr-accent);
    letter-spacing: 0.5px;
}

.zzr-footer__logo-img {
    max-height: 48px;
    width: auto;
}

.zzr-footer__desc {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.75;
    margin: 0 0 22px;
    max-width: 340px;
}

/* Social */
.zzr-footer__social {
    display: flex;
    gap: 10px;
}

.zzr-footer__social a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    transition: all 0.3s var(--zzr-ease);
}

.zzr-footer__social a:hover {
    border-color: var(--zzr-accent);
    color: var(--zzr-accent);
    transform: translateY(-2px);
}

.zzr-footer__social svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* Kolumny z linkami */
.zzr-footer__heading {
    font-family: var(--zzr-font-sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 22px;
}

.zzr-footer__links,
.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zzr-footer__links li {
    margin-bottom: 12px;
}

.zzr-footer__links a,
.site-footer a {
    font-family: var(--zzr-font-sans);
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s var(--zzr-ease), padding-left 0.3s var(--zzr-ease);
}

.zzr-footer__links a:hover,
.site-footer a:hover {
    color: var(--zzr-accent);
    padding-left: 4px;
}

/* Kolumna kontakt */
.zzr-footer__contact p {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 0 14px;
}

.zzr-footer__contact a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s var(--zzr-ease);
}

.zzr-footer__contact a:hover {
    color: var(--zzr-accent);
}

.zzr-footer__contact svg {
    width: 16px;
    height: 16px;
    color: var(--zzr-accent);
    flex-shrink: 0;
}

/* Bottom bar */
.zzr-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 26px 0;
    gap: 16px;
    flex-wrap: wrap;
}

.zzr-footer__bottom p {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.35);
    margin: 0;
}

.zzr-footer__legal {
    display: flex;
    gap: 22px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

.zzr-footer__legal a {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: color 0.3s var(--zzr-ease);
}

.zzr-footer__legal a:hover {
    color: rgba(255, 255, 255, 0.7);
}

/* Stary footer fallback */
.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

/* ==========================================
   WORDPRESS CORE CLASSES
   ========================================== */
.alignnone   { margin: 5px 20px 20px 0; }
.aligncenter { display: block; margin: 0 auto 20px; }
.alignright  { float: right; margin: 5px 0 20px 20px; }
.alignleft   { float: left; margin: 5px 20px 20px 0; }
.wp-caption  { max-width: 100%; }

.wp-caption-text {
    font-size: 0.85rem;
    color: var(--zzr-text-secondary);
    text-align: center;
    padding-top: 8px;
}

/* Kalendarz, widgety, komentarze */
.widget {
    margin-bottom: 32px;
}

.widget-title {
    font-family: var(--zzr-font-serif);
    color: var(--zzr-primary);
    margin-bottom: 16px;
    font-size: 1.15rem;
}

/* Paginacja */
.pagination,
.posts-navigation,
.post-navigation {
    margin: 48px 0 0;
    padding-top: 32px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    font-family: var(--zzr-font-sans);
}

.nav-previous,
.nav-next {
    flex: 1;
}

.nav-links {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

/* ==========================================
   404 / BRAK WYNIKÓW
   ========================================== */
.error-404,
.no-results {
    padding: 80px 0 96px;
    text-align: center;
}

.error-404 h1 {
    font-family: var(--zzr-font-serif);
    font-size: 7rem;
    line-height: 1;
    color: var(--zzr-accent);
    margin-bottom: 16px;
}

.error-404 h2 {
    font-size: 2rem;
    color: var(--zzr-primary);
    margin-bottom: 16px;
}

.error-404 p,
.no-results p {
    color: var(--zzr-text-secondary);
    margin-bottom: 32px;
    font-size: 1.05rem;
}

.button {
    display: inline-block;
    padding: 14px 32px;
    background: var(--zzr-accent);
    color: var(--zzr-dark-bg);
    font-family: var(--zzr-font-sans);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.3s var(--zzr-ease),
                transform 0.3s var(--zzr-ease);
}

.button:hover {
    background: var(--zzr-accent-dark);
    color: var(--zzr-dark-bg);
    transform: translateY(-2px);
}

/* ==========================================
   RESPONSYWNOŚĆ
   ========================================== */

/* Tablet (do 960px): ukryj desktop nav, pokaż hamburger */
@media (max-width: 960px) {
    .zzr-header__nav,
    .main-navigation {
        display: none;
        position: fixed;
        top: 0;
        right: -100%;
        width: 85%;
        max-width: 380px;
        height: 100vh;
        height: 100dvh;
        background: var(--zzr-dark-bg);
        padding: 96px 32px 32px;
        transition: right 0.4s var(--zzr-ease);
        border-left: 1px solid rgba(196, 153, 61, 0.12);
        overflow-y: auto;
        z-index: 999;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
    }

    .zzr-header__nav.is-open,
    .main-navigation.is-open {
        display: flex;
        right: 0;
    }

    .zzr-header__menu,
    .main-navigation ul,
    .main-navigation .nav-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        width: 100%;
    }

    .zzr-header__menu a,
    .main-navigation a {
        padding: 14px 4px;
        font-size: 0.95rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        color: rgba(255, 255, 255, 0.85);
        letter-spacing: 1.2px;
    }

    .main-navigation li:last-child > a {
        border-bottom: none;
    }

    .zzr-header__menu a::after,
    .main-navigation a::after {
        display: none;
    }

    /* Podmenu inline w mobilnym slide-in */
    .main-navigation ul ul,
    .zzr-header__submenu {
        position: static;
        transform: none;
        box-shadow: none;
        border: none;
        background: transparent;
        padding: 0;
        margin: 0;
        min-width: 0;
        /* Accordion: zwinięte domyślnie */
        display: block;
        max-height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: max-height 0.35s var(--zzr-ease);
    }

    .main-navigation li.is-open > ul,
    .main-navigation li.is-open > .zzr-header__submenu,
    .zzr-header__menu-item--has-children.is-open > .zzr-header__submenu {
        max-height: 600px;
    }

    .main-navigation ul ul a,
    .zzr-header__submenu a {
        padding: 12px 4px 12px 20px;
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.7);
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        white-space: normal;
    }

    /* Caret obraca się gdy .is-open */
    .zzr-header__menu-item--has-children.is-open > a > .zzr-header__menu-caret,
    .menu-item-has-children.is-open > a > .zzr-header__menu-caret {
        transform: translateY(-1px) rotate(-180deg);
    }

    /* Mostek hover nie działa na mobile */
    .main-navigation .menu-item-has-children > a::before,
    .main-navigation .zzr-header__menu-item--has-children > a::before {
        content: none;
    }

    /* Header zawsze ciemne tło na mobile gdy menu otwarte */
    .site-header.has-mobile-menu-open,
    .zzr-header.has-mobile-menu-open {
        background: var(--zzr-dark-bg);
        box-shadow: 0 4px 32px rgba(0, 0, 0, 0.45);
    }

    /* Hamburger widoczny */
    .zzr-header__burger,
    .menu-toggle {
        display: flex;
    }

    /* CTA w menu – widoczny tylko w slide-in panelu mobilnym */
    .zzr-header__cta-item,
    .main-navigation li.menu-item-cta {
        display: block;
        margin-top: 16px;
        padding-top: 20px;
        border-top: 1px solid rgba(196, 153, 61, 0.18);
        border-bottom: none !important;
    }

    .zzr-header__cta-item a,
    .main-navigation li.menu-item-cta > a {
        padding: 14px 24px !important;
        border-bottom: none !important;
    }

    .zzr-header__cta-item .zzr-btn--gold,
    .main-navigation li.menu-item-cta .zzr-btn--gold {
        width: 100%;
        justify-content: center;
        color: var(--zzr-dark-bg) !important;
    }

    /* Ukryj duplikat CTA w prawej stronie headera na tablecie i niżej
       – CTA znajduje się teraz wewnątrz wysuwanego menu */
    .zzr-header__actions .header-cta-btn,
    .zzr-header__actions > .zzr-btn--gold {
        display: none;
    }

    /* Footer 2 kolumny */
    .zzr-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

/* Mobile (do 480px): schowaj CTA z paska, footer 1 kolumna */
@media (max-width: 480px) {
    :root {
        --zzr-hdr-height: 72px;
    }

    .header-cta-btn,
    .zzr-header__actions .zzr-btn--gold {
        display: none;
    }

    .zzr-header__logo-text,
    .site-title,
    .site-title a,
    .site-title-link {
        font-size: 1.05rem;
    }

    .site-main {
        padding: 32px 0 48px;
    }

    .entry-title {
        font-size: 1.9rem;
    }

    .zzr-footer {
        padding: 48px 0 0;
    }

    .zzr-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .zzr-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-inner {
        flex-direction: column;
        text-align: center;
    }
}
