/* Wspolny naglowek ponti.spa (24.09.2026). Zrodlo: index.html; podstrony laduja ten plik. */
:root{--tan-lite:#EBBE8B;--olive-90:#33311F;--tan:#DEA061;--cream:#FADEBC;--ink:#1B1914;--nav-h:84px}
body.nav-open{overflow:hidden}
.nav-spacer{height:var(--nav-h,84px);background:var(--olive-90)}
.drawer .btn{display:inline-block;text-align:center;text-decoration:none;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;border:1.5px solid var(--tan);background:var(--tan);color:var(--ink)}
.drawer .btn.ghost{background:transparent;color:rgba(250,222,188,.85);border-color:rgba(250,222,188,.5)}
    /* nav CTA - nowoczesne */
    .btn-nav { display:inline-flex; align-items:center; gap:.4rem; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:.68rem 1.25rem; border-radius:999px; white-space:nowrap; transition:all .3s cubic-bezier(.22,.68,0,1.2); cursor:pointer; border:1.5px solid transparent; }
    .btn-nav.solid { background:linear-gradient(135deg, var(--tan-lite), var(--tan)); color:#1e1a0f; box-shadow:0 4px 18px rgba(222,160,97,.32); }
    .btn-nav.solid:hover { transform:translateY(-2px); box-shadow:0 8px 26px rgba(222,160,97,.48); }
    .btn-nav.outline { background:rgba(250,222,188,.06); color:var(--cream); border-color:rgba(222,160,97,.5); backdrop-filter:blur(8px); }
    .btn-nav.outline:hover { background:rgba(222,160,97,.18); border-color:var(--tan); transform:translateY(-2px); }

    /* ═══════════ NAV ═══════════ */
    .nav { position:fixed; top:0; left:0; right:0; z-index:300; padding:1rem 0; transition:background .4s, padding .4s, box-shadow .4s; }
    /* nav-mobile-solid: iOS z otwarta klawiatura gubi scroll event,
       wiec na telefonie header ma STALE tlo zamiast czekac na .scrolled */
    @media (max-width:760px) { .nav { padding:.6rem 0; background:linear-gradient(180deg, rgba(27,25,20,.55), rgba(27,25,20,0)); } .nav.scrolled { background:rgba(51,49,31,.97); } }
    .nav.scrolled { background:rgba(51,49,31,.97); backdrop-filter:blur(16px); padding:.6rem 0; box-shadow:0 6px 28px rgba(0,0,0,.22); }
    .nav-inner { display:flex; align-items:center; gap:1.2rem; width:min(1320px,95vw); margin-inline:auto; }

    /* logo */
    .brand { display:flex; align-items:center; gap:.7rem; flex-shrink:0; }
    .brand-logo { height:52px; width:auto; filter:brightness(0) invert(1) opacity(.94); transition:height .4s; }
    .nav.scrolled .brand-logo { height:44px; }
    .brand-text { font-family:var(--serif); font-size:1.3rem; letter-spacing:.14em; color:var(--cream); display:none; }
    .brand-logo.failed { display:none; }
    .brand-logo.failed + .brand-text { display:block; }

    .nav-links { display:flex; align-items:center; gap:1.55rem; list-style:none; margin-left:auto; }
    .nav-links a { font-size:.71rem; letter-spacing:.11em; text-transform:uppercase; color:rgba(250,222,188,.78); font-weight:500; transition:color .2s; position:relative; padding-bottom:2px; }
    .nav-links a::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:1.5px; background:var(--tan); transition:width .3s; }
    .nav-links a:hover { color:var(--cream); }
    .nav-links a:hover::after { width:100%; }
    /* ── Promocja: ikonka w menu + pasek pod nagłówkiem (widoczne tylko z html.promo-aktywna) ── */
    .nav-promo { display:none; margin-left:.45rem; vertical-align:middle; font-size:.6rem; letter-spacing:.06em; font-weight:700;
      background:var(--tan); color:var(--ink); padding:2px 6px 2px 5px; border-radius:99px; line-height:1.2; }
    .nav-promo svg { width:9px; height:9px; vertical-align:-1px; margin-right:2px; }
    .promo-aktywna .nav-promo { display:inline-block; }
    .promo-pasek { position:fixed; left:0; right:0; z-index:299; top:0; display:none; justify-content:center; align-items:center; gap:.7rem;
      padding:.55rem 1rem; background:linear-gradient(90deg, #B7791F, var(--tan) 45%, #E8B77A); color:var(--ink);
      font-size:.8rem; letter-spacing:.02em; text-align:center; box-shadow:0 6px 20px rgba(27,25,20,.18);
      opacity:0; visibility:hidden; transform:translateY(-14px);
      transition:transform .4s cubic-bezier(.22,.68,0,1.1), opacity .3s, visibility .3s, top .4s; }
    .promo-aktywna .promo-pasek { display:flex; }
    .promo-pasek.widoczny { opacity:1; visibility:visible; transform:translateY(0); }
    .promo-pasek b { font-weight:700; }
    .promo-pasek .promo-btn { flex:none; background:var(--ink); color:var(--cream); border-radius:99px; padding:.3rem .8rem; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }
    .promo-pasek .promo-btn:hover { background:#000; }
    @media (max-width:760px) { .promo-pasek { font-size:.74rem; padding:.5rem .8rem; gap:.5rem; } }
    .cena-przed { color:var(--olive-soft); opacity:.75; text-decoration:line-through; font-weight:400; }
    .cena-promo { color:#8A5A12; font-weight:700; }
    .promo-znacznik { background:var(--tan) !important; color:var(--ink) !important; }
    .zeton .cena-promo { color:inherit; }
    .zeton.wybrany .cena-przed { color:rgba(251,243,228,.7); }

    .nav-cta { display:flex; align-items:center; gap:.6rem; flex-shrink:0; }
    .btn-nav svg { width:16px; height:16px; flex:none }

    /* hamburger */
    .burger { display:none; width:44px; height:44px; border:none; background:rgba(250,222,188,.08); border:1px solid rgba(222,160,97,.28); border-radius:12px; cursor:pointer; position:relative; margin-left:auto; flex-shrink:0; transition:background .25s; }
    .burger:hover { background:rgba(222,160,97,.18); }
    .burger span { position:absolute; left:50%; width:20px; height:1.8px; background:var(--cream); border-radius:2px; transform:translateX(-50%); transition:transform .35s cubic-bezier(.5,0,.2,1.4), opacity .2s, top .35s; }
    .burger span:nth-child(1) { top:15px; }
    .burger span:nth-child(2) { top:21px; }
    .burger span:nth-child(3) { top:27px; }
    .burger.open span:nth-child(1) { top:21px; transform:translateX(-50%) rotate(45deg); }
    .burger.open span:nth-child(2) { opacity:0; }
    .burger.open span:nth-child(3) { top:21px; transform:translateX(-50%) rotate(-45deg); }

    /* drawer */
    .drawer { position:fixed; inset:0; z-index:290; background:linear-gradient(165deg, #33311F 0%, #1B1914 100%); display:flex; flex-direction:column; padding:calc(var(--nav-h) + 1.5rem) 7vw 2rem; opacity:0; pointer-events:none; transform:translateY(-12px); transition:opacity .38s ease, transform .38s cubic-bezier(.22,.68,0,1.2); overflow-y:auto; }
    .drawer.open { opacity:1; pointer-events:auto; transform:none; }
    .drawer-links { list-style:none; display:flex; flex-direction:column; gap:.15rem; margin-bottom:auto; }
    .drawer-links a { display:block; font-family:var(--serif); font-size:clamp(1.5rem, 6vw, 2.1rem); color:var(--cream); padding:.62rem 0; border-bottom:1px solid rgba(250,222,188,.09); transition:color .2s, padding-left .25s; }
    .drawer-links a:hover, .drawer-links a:active { color:var(--tan); padding-left:.5rem; }
    .drawer-cta { display:flex; flex-direction:column; gap:.7rem; margin-top:2rem; }
    .drawer-cta .btn { width:100%; padding:1.05rem 1.5rem; font-size:.78rem; }
    .drawer-foot { margin-top:1.6rem; font-size:.85rem; color:rgba(250,222,188,.5); line-height:1.9; }
    .drawer-foot a { color:var(--tan); font-weight:600; }

    @media (max-width:1240px) {
      .nav-links { display:none; }
      .burger { display:block; }
      .nav-cta .btn-txt { display:none; }
      .btn-nav { width:40px; height:40px; padding:0; justify-content:center; border-radius:999px; }
    }
    @media (max-width:420px) { .brand-logo { height:38px; } }

