  :root{
    --bg: #05132D;
    --bg-elev: #0A1D3C;
    --bg-card: rgba(13, 36, 71, 0.7);
    --gold: #D8A94D;
    --gold-bright: #F0CC80;
    --gold-dim: rgba(216,169,77,0.32);
    --gold-glow: rgba(216,169,77,0.20);
    --text: #F4EFE4;
    --text-muted: #93A0BC;
    --line: rgba(216,169,77,0.18);
    --error: #E08A7D;
    --ok: #8FCB9B;
  }

  /* ---------- LENIS SMOOTH SCROLL (https://lenis.dev/) ---------- */
  html.lenis, html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: clip;
  }
  .lenis.lenis-smooth iframe {
    pointer-events: none;
  }

  *{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  body{
    margin:0;
    background: var(--bg);
    color: var(--text);
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  a{ color: inherit; }
  ::selection{ background: var(--gold-dim); color: var(--text); }

  /* ---------- SHADERGRADIENT & PARTICLES CANVASES (shadergradient.co & unicorn.studio) ---------- */
  #bg-canvas{
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: 0;
    pointer-events: none;
    transform: translateZ(0);
  }
  #particles-canvas{
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: 1;
    pointer-events: none;
    transform: translateZ(0);
  }

  /* ---------- BOCZNE POŚWIATY (harmonizują z ShaderGradient) ---------- */
  .side-glow{
    position: fixed;
    top: 0; bottom: 0;
    width: clamp(140px, 12vw, 340px);
    background-image:
      linear-gradient(to bottom, transparent 0%, var(--bg) 92%),
      url('grafiki/tlo-bokeh.jpg');
    background-repeat: no-repeat;
    background-position: top, top;
    background-size: cover, cover;
    opacity: 0.22;
    mix-blend-mode: screen;
    pointer-events: none;
    z-index: 1;
  }
  .side-glow-left{ left: 0; }
  .side-glow-right{ right: 0; transform: scaleX(-1); }
  .side-glow::after{
    content:"";
    position:absolute; top:0; bottom:0;
    width: 1px;
  }
  .side-glow-left::after{ right: 0; background: linear-gradient(to bottom, transparent, var(--gold-dim) 15%, var(--gold-dim) 70%, transparent); }
  .side-glow-right::after{ right: 0; background: linear-gradient(to bottom, transparent, var(--gold-dim) 15%, var(--gold-dim) 70%, transparent); }
  @media (max-width: 1100px){ .side-glow{ display:none; } }

  /* Wszystkie sekcje ponad warstwami tła WebGL */
  header.site-nav, main, footer, .sticky-bar, .lightbox{ position: relative; z-index: 2; }

  /* Żeby sticky nav nie zasłaniał góry sekcji po przewinięciu */
  #wydarzenia, #galeria, #kontakt{ scroll-margin-top: 84px; }

  /* Złoty gradientowy tekst */
  .gold-gradient-text{
    background: linear-gradient(135deg, #FFFDF8 0%, #F5D68F 35%, #D8A94D 70%, #B48328 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* ---------- NAV ---------- */
  header.site-nav{
    position: sticky; top:0; z-index: 40;
    display:flex; align-items:center; justify-content:space-between;
    padding: 18px clamp(20px,5vw,64px);
    background: rgba(5, 19, 45, 0.78);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid var(--line);
    transition: background .3s ease, border-color .3s ease;
  }
  .brand{
    font-family:'Pinyon Script', cursive;
    font-size: clamp(26px,3.2vw,34px);
    color: var(--gold-bright);
    letter-spacing: 0.5px;
    text-decoration:none;
    cursor: pointer;
    text-shadow: 0 0 20px rgba(240, 204, 128, 0.35);
    transition: text-shadow .3s ease;
  }
  .brand:hover{
    text-shadow: 0 0 28px rgba(240, 204, 128, 0.65);
  }
  .nav-right{ display:flex; align-items:center; gap: clamp(14px,3vw,28px); }
  .nav-link{
    font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--text-muted); text-decoration:none;
    transition: color .25s ease, text-shadow .25s ease;
    background:none; border:none; cursor:pointer; font-family:'Jost', sans-serif;
  }
  .nav-link:hover, .nav-link.active{
    color: var(--gold-bright);
    text-shadow: 0 0 14px rgba(240, 204, 128, 0.4);
  }

  .cart-pill{
    display:flex; align-items:center; gap:9px;
    border:1px solid var(--gold-dim);
    padding: 9px 18px 9px 15px;
    border-radius: 999px;
    text-decoration:none;
    color: var(--gold-bright);
    font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
    transition: border-color .3s ease, background .3s ease, box-shadow .3s ease, transform .25s ease;
    background: rgba(13, 36, 71, 0.45);
    backdrop-filter: blur(12px);
    cursor:pointer; font-family:'Jost', sans-serif;
  }
  .cart-pill:hover, .cart-pill.active{
    border-color: var(--gold-bright);
    background: rgba(216,169,77,0.12);
    box-shadow: 0 0 20px rgba(216,169,77,0.22);
    transform: translateY(-1px);
  }
  .cart-count{
    min-width: 20px; height:20px; padding:0 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 100%);
    color: #040e24; font-weight:600; font-size:11px;
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 2px 8px rgba(216,169,77,0.4);
  }

  /* ---------- HERO ---------- */
  .hero{
    position: relative;
    padding: clamp(68px,13vw,130px) 24px clamp(52px,9vw,90px);
    text-align:center;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background: radial-gradient(55% 50% at 50% 10%, rgba(216,169,77,0.12), transparent 75%);
    pointer-events:none;
  }

  .eyebrow{
    font-size: 11px; letter-spacing: 4px; text-transform: uppercase;
    color: var(--gold-bright); margin: 0 0 18px;
    opacity: 0.85;
  }
  .hero h1{
    font-family:'Pinyon Script', cursive;
    font-weight: 400;
    font-size: clamp(56px, 10vw, 118px);
    color: var(--gold-bright);
    margin: 0;
    line-height: 1;
    text-shadow: 0 4px 30px rgba(240, 204, 128, 0.45);
  }
  .hero .sub{
    font-family:'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(19px,2.5vw,25px);
    color: #C3CDDE;
    margin: 20px auto 0;
    max-width: 580px;
    line-height: 1.45;
  }
  .flourish{
    width: 220px; height: 34px; margin: 30px auto 0; display:block;
    filter: drop-shadow(0 0 10px rgba(216,169,77,0.45));
  }
  .flourish path{
    fill:none; stroke: var(--gold); stroke-width: 1.5;
    stroke-linecap: round;
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    animation: draw 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards .3s;
  }
  @keyframes draw{ to{ stroke-dashoffset: 0; } }

  .hero-note{
    margin-top: 36px;
    font-size: 13px; letter-spacing: 1px;
    color: var(--text-muted);
  }
  .hero-note b{ color: var(--gold-bright); font-weight: 500; }

  .hero-cta{
    display:inline-block;
    margin-top: 34px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 60%, #C49132 100%);
    color: #040e24;
    padding: 14px 34px;
    border-radius: 999px;
    font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600;
    text-decoration:none;
    box-shadow: 0 8px 24px rgba(216, 169, 77, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, filter .3s ease;
  }
  .hero-cta:hover{
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 36px rgba(216, 169, 77, 0.42), 0 0 25px rgba(240, 204, 128, 0.35);
    filter: brightness(1.06);
  }
  .hero-cta::after{
    content: '';
    position: absolute;
    top: -50%; left: -60%;
    width: 40%; height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transform: rotate(25deg);
    transition: left .7s ease;
  }
  .hero-cta:hover::after{
    left: 140%;
  }

  /* ---------- WYDARZENIA ---------- */
  .events{
    max-width: 1400px;
    margin: 0 auto;
    padding: clamp(24px,4vw,44px) clamp(16px,4vw,48px) clamp(52px,8vw,90px);
  }
  .events-head{
    text-align:center;
    max-width: 640px;
    margin: 0 auto clamp(34px,5vw,56px);
  }
  .events-head h2{
    font-family:'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(28px,4vw,40px);
    margin: 14px 0 0;
    text-shadow: 0 2px 20px rgba(0,0,0,0.4);
  }
  .events-head .flourish{ margin: 24px auto 0; }
  .events-head .lead{ color: var(--text-muted); font-size: 14px; margin: 20px 0 0; line-height: 1.55; }

  .events-grid{
    display:flex; flex-wrap:wrap; justify-content:center;
    gap: clamp(32px,5vw,68px);
  }
  .event-card{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    width: 220px;
    background:none; border:none; cursor:pointer; color:inherit;
    font-family:'Jost', sans-serif;
    padding: 0;
    text-decoration:none;
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .event-card .badge-wrap{
    width: 176px; height: 176px;
    border-radius: 999px; overflow:hidden;
    border: 1.5px solid var(--gold-dim);
    background: radial-gradient(circle at center, rgba(13, 36, 71, 0.85) 0%, rgba(5, 19, 45, 0.95) 100%);
    box-shadow: 0 12px 32px rgba(0,0,0,0.5), 0 0 25px rgba(216,169,77,0.12);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
  }
  .event-card:hover .badge-wrap{
    transform: translateY(-8px) scale(1.03);
    border-color: var(--gold-bright);
    box-shadow: 0 20px 45px rgba(0,0,0,0.6), 0 0 35px rgba(216,169,77,0.35);
  }
  .event-card img{ width:100%; height:100%; object-fit:cover; display:block; }
  .event-card .ename{
    font-family:'Cormorant Garamond', serif;
    font-size: 21px; margin-top: 20px; color: var(--text);
    transition: color .25s ease;
  }
  .event-card:hover .ename{ color: var(--gold-bright); }
  .event-card .edate{ font-size: 12px; letter-spacing: .5px; color: var(--text-muted); margin-top: 5px; }
  .event-card .ecount{
    font-size: 12px; color: var(--gold-bright); margin-top: 9px;
    background: rgba(216,169,77,0.1);
    padding: 3px 12px; border-radius: 999px;
    border: 1px solid rgba(216,169,77,0.2);
  }

  /* ---------- GALLERY ---------- */
  .gallery-wrap{
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 clamp(16px,4vw,48px) 140px;
  }
  .gallery-head{
    display:flex; align-items:flex-end; justify-content:space-between;
    flex-wrap: wrap; gap: 14px;
    margin: 20px 0 30px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 20px;
  }
  .gallery-head h1, .gallery-head h2{
    font-family:'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(24px,3.5vw,36px);
    margin:0;
  }
  .gallery-head p{ margin:4px 0 0; color: var(--text-muted); font-size: 13px; letter-spacing: .5px; }

  .gallery-head-badge{
    width: 68px; height: 68px;
    border-radius: 999px;
    flex-shrink: 0;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4), 0 0 15px rgba(216,169,77,0.2);
  }
  .gallery-head-badge img{
    width: 100%; height: 100%; object-fit: cover; border-radius: 999px;
    border: 1px solid var(--gold-dim);
  }

  .back-link{
    display:inline-block; margin-bottom: 18px;
    font-size: 12px; letter-spacing: 1px;
    color: var(--text-muted); text-decoration:none;
    transition: color .2s ease, transform .2s ease;
  }
  .back-link:hover{ color: var(--gold-bright); transform: translateX(-3px); }

  .photo .tag .cat{
    color: var(--gold-bright);
  }
  .photo .tag .sep{
    color: var(--text-muted); margin: 0 4px;
  }

  .grid{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(230px,1fr));
    gap: clamp(12px,1.8vw,20px);
  }

  .photo{
    position: relative;
    aspect-ratio: 4/5;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    background: rgba(13, 36, 71, 0.55);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(216, 169, 77, 0.16);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    transform-style: preserve-3d;
    will-change: transform;
    transition: border-color .3s ease, box-shadow .3s ease, transform .25s cubic-bezier(.2,.8,.2,1);
  }
  .photo:hover{
    border-color: var(--gold-dim);
    box-shadow: 0 14px 34px rgba(0,0,0,0.45), 0 0 20px rgba(216,169,77,0.15);
  }
  .photo img{
    width:100%; height:100%; object-fit: cover; display:block;
    transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
  }
  .photo:hover img{ transform: scale(1.055); }

  .watermark-layer{
    position: absolute;
    inset: 0;
    background-image: url('grafiki/watermark-pattern.svg');
    background-repeat: repeat;
    background-size: 190px 127px;
    pointer-events: none;
    z-index: 1;
    opacity: 0.88;
  }

  .photo .placeholder{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:8px;
    background: linear-gradient(160deg, rgba(13, 36, 71, 0.9), rgba(5, 19, 45, 0.95));
  }
  .photo .placeholder .num{
    font-family:'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 36px;
    color: var(--gold-dim);
  }
  .photo .placeholder .soon{
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(147,160,188,0.55);
  }

  .photo .veil{
    position:absolute; inset:0;
    background: linear-gradient(to top, rgba(5,19,45,0.85) 0%, rgba(5,19,45,0.2) 40%, rgba(5,19,45,0) 65%);
    opacity: 0; transition: opacity .3s ease;
    pointer-events: none;
  }
  .photo:hover .veil, .photo.selected .veil{ opacity: 1; }

  .photo .tag{
    position:absolute; left:12px; bottom:12px;
    font-size: 11px; letter-spacing: 1.5px;
    color: var(--text);
    opacity:0; transform: translateY(4px);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
    z-index: 2;
  }
  .photo:hover .tag, .photo.selected .tag{ opacity:1; transform: translateY(0); }

  .price-badge{
    position:absolute; bottom:12px; right:12px;
    font-size: 11px; letter-spacing: 0.5px; font-weight:500;
    color: var(--gold-bright);
    background: rgba(5,19,45,0.75);
    backdrop-filter: blur(8px);
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--gold-dim);
    pointer-events:none;
    z-index: 2;
  }

  .photo .check{
    position:absolute; top:12px; right:12px;
    width: 28px; height:28px; border-radius: 999px;
    border: 1.5px solid rgba(244,239,228,0.65);
    background: rgba(5,19,45,0.55);
    backdrop-filter: blur(6px);
    display:flex; align-items:center; justify-content:center;
    transition: all .25s ease;
    z-index: 2;
  }
  .photo.selected .check{
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 100%);
    border-color: var(--gold-bright);
    box-shadow: 0 0 14px rgba(240, 204, 128, 0.6);
    transform: scale(1.08);
  }
  .photo .check svg{ width:14px; height:14px; opacity:0; transition: opacity .2s ease; }
  .photo.selected .check svg{ opacity:1; }

  .photo.selected{
    border-color: var(--gold-bright);
    box-shadow: 0 0 0 2px var(--gold), 0 16px 36px rgba(0,0,0,0.55), 0 0 24px rgba(216,169,77,0.3);
  }

  .zoom-btn{
    position:absolute; top:12px; left:12px;
    width:28px; height:28px; border-radius:999px;
    border: 1px solid rgba(244,239,228,0.4);
    background: rgba(5,19,45,0.55);
    backdrop-filter: blur(6px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transition: opacity .25s ease, border-color .2s ease, background .2s ease;
    z-index: 3;
    cursor: pointer;
  }
  .photo:hover .zoom-btn{ opacity:1; }
  .zoom-btn:hover{ border-color: var(--gold-bright); background: rgba(216,169,77,0.25); }
  .zoom-btn svg{ width:13px; height:13px; }

  /* ---------- STICKY CTA BAR (w galerii) ---------- */
  .sticky-bar{
    position: fixed; left:50%; bottom: 26px; transform: translate(-50%, 160%);
    display:flex; align-items:center; gap:20px;
    padding: 12px 14px 12px 24px;
    background: rgba(8, 25, 55, 0.88);
    border: 1px solid rgba(216, 169, 77, 0.38);
    border-radius: 999px;
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 35px rgba(216,169,77,0.2), inset 0 1px 0 rgba(255,255,255,0.12);
    z-index: 50;
    transition: transform .4s cubic-bezier(.16, 1, .3, 1);
  }
  .sticky-bar.show{ transform: translate(-50%, 0); }
  .sticky-bar span{ font-size: 13px; letter-spacing: .5px; color: var(--text-muted); }
  .sticky-bar strong{ color: var(--gold-bright); font-weight:500; }
  .sticky-bar .btn{
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 100%);
    color: #040e24; border:none;
    padding: 11px 24px; border-radius: 999px;
    font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
    text-decoration:none; font-weight: 600; cursor:pointer;
    font-family:'Jost', sans-serif;
    box-shadow: 0 4px 16px rgba(216, 169, 77, 0.3);
    transition: transform .25s ease, filter .25s ease;
  }
  .sticky-bar .btn:hover{ filter: brightness(1.08); transform: translateY(-1px); }

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position: fixed; inset:0; background: rgba(3, 10, 24, 0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    display:none; align-items:center; justify-content:center;
    z-index: 100; padding: 40px;
  }
  .lightbox.open{ display:flex; }
  .lightbox-inner{ max-width: 820px; max-height: 86vh; width:100%; text-align:center; }
  .lb-stage{
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 72vh;
  }
  .lb-stage img{
    max-width: 100%;
    max-height: 72vh;
    border: 1.5px solid var(--gold-bright);
    box-shadow: 0 20px 60px rgba(0,0,0,0.8), 0 0 35px rgba(216,169,77,0.25);
    object-fit: contain;
    border-radius: 4px;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
  }
  .lb-watermark-layer{
    position: absolute;
    inset: 0;
    background-image: url('grafiki/watermark-pattern.svg');
    background-repeat: repeat;
    background-size: 240px 160px;
    pointer-events: none;
    z-index: 2;
    opacity: 0.94;
    border-radius: 4px;
  }
  .lb-watermark-center{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 3;
    padding: 16px;
  }
  .lb-wm-badge{
    background: rgba(5, 19, 45, 0.86);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1.5px solid var(--gold-bright);
    border-radius: 8px;
    padding: 18px 30px;
    text-align: center;
    box-shadow: 0 14px 40px rgba(0,0,0,0.75), 0 0 30px rgba(216, 169, 77, 0.4);
    transform: rotate(-7deg);
    max-width: 90%;
  }
  .lb-wm-title{
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(18px, 3.4vw, 28px);
    font-weight: 700;
    letter-spacing: 3.5px;
    color: var(--gold-bright);
    text-shadow: 0 2px 10px rgba(0,0,0,0.9);
  }
  .lb-wm-sub{
    display: block;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 600;
    color: #FFFFFF;
    margin-top: 5px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.9);
  }
  .lb-wm-hint{
    display: block;
    font-size: 10px;
    letter-spacing: 1px;
    color: #C3CDDE;
    margin-top: 8px;
    border-top: 1px solid var(--line);
    padding-top: 6px;
  }
  .lightbox .lb-placeholder{
    width:100%; aspect-ratio: 4/5; max-height:72vh; margin:0 auto;
    background: linear-gradient(160deg, rgba(13,36,71,0.9), rgba(5,19,45,0.95));
    display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-style:italic; font-size:48px; color: var(--gold-dim);
    border: 1px solid var(--line); border-radius: 4px;
  }
  .lightbox .lb-caption{ margin-top:18px; font-size:14px; letter-spacing:1.5px; color: var(--gold-bright); }
  .lightbox-close{
    position:absolute; top: 26px; right: clamp(20px,4vw,48px);
    width:42px; height:42px; border-radius:999px;
    border:1px solid var(--gold-dim); background: rgba(5,19,45,0.6);
    backdrop-filter: blur(8px);
    color: var(--gold-bright); font-size:18px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition: border-color .2s ease, transform .2s ease;
  }
  .lightbox-close:hover{ border-color: var(--gold-bright); transform: scale(1.05); }

  /* ---------- CART VIEW ---------- */
  .cart-wrap{
    max-width: 1040px; margin: 0 auto;
    padding: clamp(44px,7vw,76px) clamp(20px,5vw,32px) 110px;
  }
  .cart-wrap .eyebrow{ margin-bottom: 12px; }
  .cart-wrap h1{
    font-family:'Cormorant Garamond', serif; font-weight:500;
    font-size: clamp(34px,5vw,50px); margin: 0 0 10px;
  }
  .cart-wrap h1 em{ font-family:'Pinyon Script', cursive; font-style:normal; color: var(--gold-bright); font-size: 1.15em; }
  .cart-wrap .lead{ color: var(--text-muted); font-size:14px; max-width:540px; margin: 0 0 44px; line-height: 1.55; }

  .layout{
    display:grid; grid-template-columns: 1.15fr 1fr; gap: clamp(24px,4vw,56px);
    align-items:flex-start;
  }
  @media (max-width: 860px){ .layout{ grid-template-columns: 1fr; } }

  .items{ display:flex; flex-direction:column; gap:14px; }
  .item{
    display:flex; align-items:center; gap:16px;
    background: rgba(13, 36, 71, 0.55);
    border: 1px solid rgba(216, 169, 77, 0.2);
    backdrop-filter: blur(12px);
    padding: 14px; border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
    transition: border-color .25s ease;
  }
  .item:hover{ border-color: var(--gold-dim); }
  .item .thumb{
    width:68px; height:84px; flex-shrink:0; overflow:hidden; position:relative;
    background: linear-gradient(160deg, #10285087, #071630);
    border-radius: 3px;
  }
  .item .thumb img{
    width:100%; height:100%; object-fit:cover; display:block;
    user-select: none; -webkit-user-drag: none; pointer-events: none;
  }
  .item .thumb .ph{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:'Cormorant Garamond', serif; font-style:italic; color: var(--gold-dim); font-size:17px;
  }
  .item .info{ flex:1; }
  .item .info .name{ font-size:14px; letter-spacing:.5px; font-weight: 500; }
  .item .info .id{ font-size:12px; color: var(--gold-bright); letter-spacing:.5px; margin-top: 3px; }
  .item .remove{
    background:none; border:1px solid var(--line); color: var(--text-muted);
    width:32px; height:32px; border-radius:999px; cursor:pointer; font-size:14px;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
  }
  .item .remove:hover{ border-color: var(--error); color: var(--error); background: rgba(224, 138, 125, 0.1); }

  .empty{
    border: 1px dashed var(--line); border-radius: 6px;
    padding: 56px 24px; text-align:center; color: var(--text-muted);
    background: rgba(13, 36, 71, 0.3);
    backdrop-filter: blur(8px);
  }
  .empty a{
    color: var(--gold-bright); text-decoration:underline;
    font-family:'Jost', sans-serif; font-size: 14px;
  }

  .cart-summary{
    margin-top: 20px; padding: 18px;
    background: rgba(13, 36, 71, 0.4);
    border: 1px solid var(--line);
    border-radius: 6px;
    font-size:13px; letter-spacing:.5px; color: var(--text-muted);
  }
  .cart-summary-row{ display:flex; justify-content:space-between; padding: 5px 0; }
  .cart-summary strong{ color: var(--gold-bright); font-weight:500; }
  .cart-summary-total{
    margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line);
    font-size: 16px; color: var(--text);
  }
  .cart-summary-total strong{ font-size: 20px; color: var(--gold-bright); }

  .form-card{
    background: rgba(10, 29, 60, 0.65);
    border: 1px solid rgba(216, 169, 77, 0.22);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08);
    padding: clamp(26px,4vw,38px); border-radius: 8px;
    transform-style: preserve-3d;
    will-change: transform;
  }
  .form-card h2{
    font-family:'Cormorant Garamond', serif; font-weight:500; font-size:24px;
    margin: 0 0 24px;
  }
  .field{ margin-bottom: 20px; }
  .field label{
    display:block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
    color: var(--gold-bright); margin-bottom:8px; opacity: 0.9;
  }
  .field input, .field textarea{
    width:100%; background: rgba(5,19,45,0.6);
    border: 1px solid rgba(216, 169, 77, 0.2); color: var(--text);
    padding: 13px 15px; font-family:'Jost', sans-serif; font-size:14px; font-weight:300;
    border-radius: 4px; outline:none;
    transition: border-color .25s ease, box-shadow .25s ease;
  }
  .field input:focus, .field textarea:focus{
    border-color: var(--gold-bright);
    box-shadow: 0 0 0 3px rgba(216,169,77,0.18);
  }
  .field textarea{ resize: vertical; min-height: 95px; }

  .hp{ position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; }

  .submit-btn{
    width:100%;
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 60%, #C49132 100%);
    color: #040e24; border:none;
    padding: 15px; border-radius: 999px; cursor:pointer;
    font-size: 12px; letter-spacing:2px; text-transform:uppercase; font-weight:600;
    box-shadow: 0 8px 24px rgba(216, 169, 77, 0.28);
    transition: background .2s ease, opacity .2s ease, transform .25s ease, box-shadow .25s ease;
  }
  .submit-btn:hover{
    filter: brightness(1.06);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(216, 169, 77, 0.4);
  }
  .submit-btn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }

  .status{
    margin-top:16px; font-size:13px; letter-spacing:.3px; text-align:center;
    display:none; line-height: 1.5;
  }
  .status.ok{ color: var(--ok); display:block; }
  .status.err{ color: var(--error); display:block; }

  /* ---------- FOOTER / KONTAKT ---------- */
  footer{
    border-top: 1px solid var(--line);
    text-align:center;
    background: rgba(4, 13, 30, 0.6);
    backdrop-filter: blur(12px);
  }
  .contact-wrap{
    max-width: 580px; margin: 0 auto;
    padding: clamp(60px,9vw,100px) 24px clamp(44px,7vw,70px);
  }
  .contact-wrap h2{
    font-family:'Cormorant Garamond', serif; font-weight:500;
    font-size: clamp(28px,4vw,38px);
    margin: 14px 0 0; color: var(--text);
  }
  .contact-wrap .flourish{ margin: 24px auto 0; }
  .contact-wrap .lead{ font-size: 14px; margin: 20px 0 28px; color: var(--text-muted); line-height: 1.6; }
  .contact-email{
    display:inline-block;
    font-family:'Cormorant Garamond', serif; font-style:italic;
    font-size: 24px; color: var(--gold-bright);
    text-decoration:none; border-bottom: 1px solid var(--gold-dim);
    padding-bottom: 4px;
    text-shadow: 0 0 15px rgba(240, 204, 128, 0.35);
    transition: border-color .2s ease, text-shadow .2s ease;
  }
  .contact-email:hover{ border-color: var(--gold-bright); text-shadow: 0 0 24px rgba(240, 204, 128, 0.6); }
  .contact-loc{ margin-top: 20px; font-size: 12px; letter-spacing: 1px; color: var(--text-muted); }
  .back-top{
    display:inline-block; margin-top: 36px;
    font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--text-muted); text-decoration:none;
    transition: color .2s ease, transform .2s ease;
  }
  .back-top:hover{ color: var(--gold-bright); transform: translateY(-2px); }
  .footer-bottom{
    border-top: 1px solid var(--line);
    padding: 24px;
    display:flex; flex-direction:column; align-items:center; gap: 8px;
    color: var(--text-muted); font-size: 12px; letter-spacing: 1px;
  }
  .footer-bottom .brand-mini{ font-family:'Pinyon Script', cursive; font-size: 22px; color: var(--gold-bright); text-decoration:none; }

  @media (max-width: 520px){
    .nav-link{ display:none; }
    .sticky-bar{ width: calc(100% - 32px); justify-content:space-between; }
  }

  /* ---------- EKRAN SUKCESU ZAMÓWIENIA & PŁATNOŚCI ---------- */
  .order-success-card{
    background: rgba(10, 29, 60, 0.85);
    border: 1.5px solid var(--gold);
    border-radius: 12px;
    padding: clamp(28px, 5vw, 44px);
    text-align: center;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 35px rgba(216,169,77,0.25);
    animation: fadeIn .4s ease;
    margin: 20px auto 0;
    max-width: 680px;
  }
  @keyframes fadeIn{ from{ opacity:0; transform: translateY(10px); } to{ opacity:1; transform: translateY(0); } }
  .order-success-card .success-icon{
    width: 58px; height: 58px; margin: 0 auto 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 100%);
    color: #040e24;
    font-size: 28px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 20px rgba(216, 169, 77, 0.45);
  }
  .order-success-card h2{
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(26px, 4.5vw, 36px);
    margin: 0 0 10px;
    color: var(--text);
  }
  .order-success-card .success-lead{
    color: var(--text-muted);
    font-size: 14px;
    max-width: 520px;
    margin: 0 auto 26px;
    line-height: 1.6;
  }
  .order-success-card .success-lead strong{
    color: var(--gold-bright);
    word-break: break-all;
  }
  .payment-box{
    background: rgba(5, 19, 45, 0.75);
    border: 1px solid rgba(216, 169, 77, 0.35);
    border-radius: 8px;
    padding: 22px;
    text-align: left;
    margin: 0 auto 26px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  }
  .payment-box-title{
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold-bright);
    font-weight: 600;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 8px;
  }
  .pay-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(216,169,77,0.12);
    font-size: 13px;
  }
  .pay-row:last-child{ border-bottom: none; }
  .pay-label{
    color: var(--text-muted);
    font-size: 12px;
    min-width: 95px;
    letter-spacing: .5px;
  }
  .pay-val{
    font-weight: 500;
    color: var(--text);
    word-break: break-word;
    flex: 1;
    text-align: right;
  }
  .pay-val.pay-amount{
    color: var(--gold-bright);
    font-size: 22px;
    font-weight: 600;
  }
  .pay-val.pay-account{
    font-family: monospace;
    font-size: 14px;
    letter-spacing: 1px;
    color: #FFFFFF;
    background: rgba(0,0,0,0.25);
    padding: 4px 8px;
    border-radius: 4px;
  }
  .copy-btn{
    background: rgba(216,169,77,0.15);
    border: 1px solid var(--gold-dim);
    color: var(--gold-bright);
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px;
    cursor: pointer;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    letter-spacing: .5px;
    transition: all .2s ease;
    white-space: nowrap;
  }
  .copy-btn:hover{
    background: var(--gold);
    color: #05132D;
    border-color: var(--gold);
  }
  .delivery-note{
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 auto 26px;
    max-width: 520px;
    line-height: 1.6;
  }
  .delivery-note strong{
    color: var(--gold-bright);
  }
  .btn-return{
    display: inline-block;
    background: linear-gradient(135deg, #F0CC80 0%, #D8A94D 100%);
    color: #040e24;
    padding: 13px 30px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(216, 169, 77, 0.3);
    transition: transform .2s ease, filter .2s ease;
  }
  .btn-return:hover{
    transform: translateY(-2px);
    filter: brightness(1.08);
  }
