/* ============================================================
   KRÓLIK · GALERIA — immersive white-cube hall (ARTYSTA · light)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#EAE8E4; --bg-top:#F5F4F2; --white:#FFFFFF;
  --ink:#1A1A1C; --ink-2:#46464C; --ink-3:#7C7B79; --dim:#9A9996;
  --rust:#882D17; --rust-2:#A03A20;
  --teal:#006064; --teal-2:#00787C;
  --lime:#CCFF00;
  --line:#D8D6D2;
  --avail:var(--teal);   /* dostępna = morski */
  --ma:var(--rust);      /* mode accent (artist) */
  --font-d:'Teko',sans-serif; --font-b:'Inter',sans-serif; --font-m:'JetBrains Mono',monospace;
  --ease-art:cubic-bezier(.65,0,.35,1); --ease-tech:cubic-bezier(.2,0,0,1);
  --r-pill:40px;
  --cw:clamp(290px,31vw,460px);
  --nav-h:60px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:linear-gradient(180deg,#F4F3F1 0%,#EFEDEA 38%,#E7E5E1 72%,#E1DFDB 100%);
  background-attachment:fixed;
  color:var(--ink);font-family:var(--font-b);font-weight:300;
  -webkit-font-smoothing:antialiased;overflow:hidden;cursor:none}
::selection{background:var(--rust);color:#fff}
img{display:block}
button{font:inherit;color:inherit;background:none;border:none;cursor:none}
a{color:inherit;text-decoration:none;cursor:none}
.eyebrow{font-family:var(--font-m);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);font-weight:500}

/* ── CURSOR (jak na stronie głównej) ── */
#cc{position:fixed;inset:0;pointer-events:none;z-index:9998}
#cl{position:fixed;font-family:var(--font-m);font-size:9px;letter-spacing:.12em;pointer-events:none;
  z-index:9999;text-transform:uppercase;white-space:nowrap;color:rgba(26,26,28,.4)}
@media(hover:none){#cc,#cl{display:none}body{cursor:auto}*{cursor:auto!important}}

/* ── NAV (w pełni przezroczysty — gradient tła sięga samej góry) ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;height:64px;
  display:flex;align-items:center;justify-content:space-between;padding:0 5vw;
  background:none;border:none}
.nl{display:block;line-height:0;cursor:none;position:relative}
.nl-mark{height:30px;width:auto;display:block;transition:opacity .5s var(--ease-art)}
.nl-light{position:absolute;left:0;top:0;opacity:0}
.nl:hover .nl-dark{opacity:.7}
body.intro-dark .nl-dark{opacity:0}
body.intro-dark .nl-light{opacity:1}
.nlinks{display:flex;gap:28px;list-style:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.nlinks a{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);font-weight:500;transition:color .2s;cursor:none}
.nlinks a:hover{color:var(--ink)}
.nlinks a.cur{color:var(--rust)}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-cta{font-family:var(--font-m);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:#fff;background:var(--rust);padding:9px 17px;border:1px solid var(--rust);border-radius:var(--r-pill);
  transition:.2s var(--ease-art);white-space:nowrap;cursor:none}
.nav-cta:hover{box-shadow:0 10px 22px -8px rgba(136,45,23,.6);transform:translateY(-1px)}
.ntime{font-family:var(--font-m);font-size:10px;color:var(--dim);letter-spacing:.06em}
.hamb{display:none}

/* TABLET (761–980px): menu zawsze widoczne — zegar chowany, linki i długie CTA ściśnięte */
@media(min-width:761px) and (max-width:980px){
  .ntime{display:none}
  .nav-right{gap:0}
  .nlinks{gap:16px}
  .nlinks a{font-size:9px;letter-spacing:.12em}
  .nav-cta{padding:8px 12px;font-size:8px;letter-spacing:.06em}
}

/* ── ENTRANCE / CHROME REVEAL ── */
.nlinks,.nav-right{transition:transform .5s var(--ease-art),opacity .42s var(--ease-art)}
.hall-head{transition:transform .58s var(--ease-art),opacity .46s var(--ease-art)}
body.chrome-hidden .nlinks{opacity:0;transform:translate(-50%,-280%);pointer-events:none}
body.chrome-hidden .nav-right{opacity:0;transform:translateY(-220%);pointer-events:none}
body.chrome-hidden .hall-head{opacity:0;transform:translateX(-114%)}
/* welon wejścia: carbon → jasna sala (światło się zapala) */
#introVeil{position:fixed;inset:0;z-index:250;background:#1A1A1C;opacity:0;pointer-events:none;
  transition:opacity .85s var(--ease-art)}
body.intro-dark #introVeil{opacity:1}
.hall-head h1,.hall-head .eyebrow,.nlinks a,.ntime{transition:color .7s var(--ease-art)}
body.intro-dark .hall-head h1{color:#E5E4E2}
body.intro-dark .hall-head .eyebrow{color:rgba(229,228,226,.55)}
body.intro-dark .nlinks a{color:rgba(229,228,226,.55)}
body.intro-dark .nlinks a.cur{color:#fff}
body.intro-dark .ntime{color:rgba(229,228,226,.4)}
/* podpowiedź świetlna u góry: rust = można wysunąć nawigację (puls) */
.top-hint{position:fixed;top:0;left:0;right:0;height:2px;z-index:520;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(136,45,23,.55) 30%,rgba(136,45,23,.85) 50%,rgba(136,45,23,.55) 70%,transparent);
  box-shadow:0 0 20px 3px rgba(136,45,23,.4);opacity:0;transition:opacity .4s var(--ease-art)}
body.chrome-hidden .top-hint{opacity:1;animation:hintPulse 3.4s ease-in-out infinite}
@keyframes hintPulse{0%,100%{opacity:.26}50%{opacity:.58}}

/* ── HALL ── */
.hall{position:relative;height:calc(100vh - 64px);margin-top:64px;overflow:hidden}
.hall-head{position:absolute;top:0;left:0;right:0;z-index:300;pointer-events:none;
  padding:clamp(16px,3vh,32px) 5vw 0}
.hall-head .eyebrow{display:block;margin-bottom:6px}
.hall-head h1{font-family:var(--font-d);font-weight:600;text-transform:uppercase;
  font-size:clamp(36px,4.6vw,76px);line-height:.9;letter-spacing:.01em;color:var(--ink)}
.hall-head h1 em{font-style:normal;color:var(--rust)}

.stage{position:absolute;inset:0;z-index:3;
  perspective:2050px;perspective-origin:50% 48%;touch-action:pan-y;cursor:none}
/* skylight */
.stage::before{content:'';position:absolute;left:50%;top:-6%;width:60%;height:40%;transform:translateX(-50%);
  pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.9),rgba(255,255,255,0) 68%)}
/* polished floor */
.stage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;z-index:0;
  background:linear-gradient(to top,rgba(255,255,255,.6) 0%,rgba(245,244,242,.28) 44%,transparent 100%)}
.track{position:absolute;inset:0;transform-style:preserve-3d}

/* ── COLUMN (pillar — pełna wysokość, krawędzie schodzą poza ekran: brak cięcia) ── */
.column{position:absolute;left:50%;top:0;width:var(--cw);height:100%;
  margin-left:calc(var(--cw) / -2);transform-style:preserve-3d;cursor:none}
.col-inner{position:relative;width:100%;height:100%;border-radius:2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,2.4vh,30px);
  padding:6% 7%;
  background:linear-gradient(90deg,#D7D5D1 0%,#ECEAE7 10%,#FAF9F8 28%,#FFFFFF 50%,#FAF9F8 72%,#EAE8E5 90%,#D5D3CF 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 36px 60px -40px rgba(26,26,28,.5)}
.col-inner::before,.col-inner::after{content:'';position:absolute;left:12%;right:12%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  box-shadow:0 0 16px 3px rgba(255,255,255,.85)}
.col-inner::before{top:13%}
.col-inner::after{bottom:13%}

.art{position:relative;line-height:0;background:#fff;padding:5px;border:1px solid #28282a;
  box-shadow:0 20px 34px -18px rgba(26,26,28,.55),0 2px 6px -2px rgba(26,26,28,.3)}
.art img{max-width:calc(var(--cw) - 64px);max-height:min(44vh,440px);width:auto;height:auto;background:#cfcdc9}
.art .tick{position:absolute;top:-1px;right:-1px;width:18px;height:18px;opacity:0;
  border-top:2px solid var(--rust);border-right:2px solid var(--rust);transition:opacity .3s}
.column.active .art .tick{opacity:1}
.column.active .art{box-shadow:0 30px 50px -20px rgba(26,26,28,.62)}

/* info plate ON the pillar */
.plate{text-align:center;max-width:calc(var(--cw) - 56px);display:flex;flex-direction:column;align-items:center;gap:5px;
  opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease-art),transform .45s var(--ease-art)}
.column.active .plate{opacity:1;transform:none}
.plate .pt{font-family:var(--font-d);font-weight:500;font-size:clamp(24px,2.4vw,34px);line-height:.9;
  text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.plate .pmeta{font-family:var(--font-m);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.plate .prow{display:flex;align-items:center;gap:14px;margin-top:5px}
.plate .pprice{font-family:var(--font-d);font-weight:500;font-size:23px;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:8px}
.plate .pprice .old{font-size:15px;color:var(--dim);text-decoration:line-through;font-family:var(--font-m);font-weight:400}
.plate .pprice.promo .old{color:var(--rust)}
.plate .pprice.promo .new{color:var(--ink)}
.plate .pstatus{font-family:var(--font-m);font-size:9px;letter-spacing:.15em;text-transform:uppercase;
  display:flex;align-items:center;gap:6px;color:var(--avail)}
.plate .pstatus::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;
  box-shadow:0 0 0 2px color-mix(in srgb,currentColor 15%,transparent);
  animation:statusPulse 3.4s ease-in-out infinite}
@keyframes statusPulse{
  0%,100%{transform:scale(.97);opacity:.8}
  50%{transform:scale(1.06);opacity:1}}
.plate .pstatus.sold{color:var(--rust)}
.plate .ptag{font-family:var(--font-m);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);background:var(--lime);padding:2px 8px;border-radius:var(--r-pill)}

/* stage chrome */
.stage-tag{position:absolute;z-index:4;font-family:var(--font-m);font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);pointer-events:none;opacity:.62}
.stage-tag.l{left:18px;top:50%;transform:rotate(180deg);writing-mode:vertical-rl}
.counter{position:absolute;left:50%;bottom:9%;z-index:6;
  transform:translateX(calc(var(--cw) / 2 - 100% - 16px));
  font-family:var(--font-m);font-weight:500;font-size:11px;letter-spacing:.2em;color:var(--ink-3);
  display:flex;align-items:baseline;gap:5px;pointer-events:none;text-transform:uppercase}
.counter{display:none}
.counter .tot{font-size:11px;color:var(--dim);font-family:var(--font-m);font-weight:400}
/* numer pracy ZŁĄCZONY z kolumną — wyżej i przesunięty w prawo, przekręca się razem z kolumną */
.col-num{position:absolute;bottom:14%;right:9%;z-index:4;
  font-family:var(--font-m);font-weight:500;font-size:11px;letter-spacing:.2em;color:var(--ink-3);
  display:flex;align-items:baseline;gap:5px;text-transform:uppercase;pointer-events:none;white-space:nowrap;
  opacity:0;transition:opacity .45s var(--ease-art)}
.column.active .col-num{opacity:1}
.col-num .cn-tot{font-size:11px;color:var(--dim);font-family:var(--font-m);font-weight:400}

/* ── KATALOG — prawdziwy glass button (css.glass) z dolnej krawędzi ── */
/* ── KATALOG — glass button + poklatkowy rozkwit kwiatów po bokach ── */
.cat-tab-wrap{position:fixed;left:50%;bottom:0;transform:translateX(-50%) translateY(44%);z-index:560;
  transition:transform .38s var(--ease-art)}
.cat-tab-wrap:hover{transform:translateX(-50%) translateY(0)}
.cat-tab-wrap::before{content:'';position:absolute;left:50%;top:-6px;transform:translateX(-50%);
  width:300px;height:46px;z-index:-1;pointer-events:none;border-radius:50%;
  background:radial-gradient(ellipse at 50% 100%,rgba(136,45,23,.35),transparent 74%);
  filter:blur(10px);opacity:.14;animation:catPulse 3.1s ease-in-out infinite}
@keyframes catPulse{0%,100%{opacity:.07}50%{opacity:.22}}
@keyframes catEdge{
  0%,100%{box-shadow:0 4px 30px rgba(0,0,0,.1),0 -4px 14px -10px rgba(136,45,23,.13)}
  50%{box-shadow:0 4px 30px rgba(0,0,0,.1),0 -8px 22px -12px rgba(136,45,23,.32)}}
body.intro-cat-hidden .cat-tab-wrap::before{opacity:0;animation:none}
body.intro-cat-hidden .cat-tab{animation:none}
.cat-tab-wrap:hover .cat-tab{animation:none}
.cat-tab-wrap:hover::before{animation:none;opacity:.55}
.cat-tab{position:relative;z-index:1;
  display:flex;align-items:baseline;justify-content:center;gap:13px;padding:15px 44px 32px;white-space:nowrap;
  background:rgba(255,255,255,.52);
  -webkit-backdrop-filter:blur(7.8px);backdrop-filter:blur(7.8px);
  border:1px solid rgba(255,255,255,.3);border-bottom:none;border-radius:16px 16px 0 0;color:var(--rust);
  box-shadow:0 4px 30px rgba(0,0,0,.1);
  font-family:var(--font-m);text-transform:uppercase;
  transition:box-shadow .26s var(--ease-art);animation:catEdge 2.9s ease-in-out infinite}
.cat-tab::after{content:'';position:absolute;left:6%;right:6%;bottom:0;height:70%;border-radius:inherit;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,rgba(136,45,23,.34),transparent 70%);filter:blur(11px);opacity:.8}
.cat-tab-wrap:hover .cat-tab{box-shadow:0 6px 34px rgba(0,0,0,.14),0 -16px 48px -14px rgba(136,45,23,.5)}
body.intro-cat-hidden .cat-tab-wrap{transform:translateX(-50%) translateY(125%)}
/* kwiaty — kanapka warstw: lewy PRZED przyciskiem, prawy ZA przyciskiem */
.cat-fl{position:absolute;top:50%;transform:translateY(-50%);width:160px;height:164px;pointer-events:none}
.cat-fl-l{right:calc(100% - 58px);top:9%;z-index:2;transform-origin:78% 55%;transform:translateY(-50%) translateY(17px) scale(1.18)}   /* przed przyciskiem, większy, opuszczony */
.cat-fl-r{left:calc(100% - 58px);z-index:0}            /* za przyciskiem */
.cat-fl img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;opacity:0;
  transition:opacity .12s linear;filter:drop-shadow(0 5px 12px rgba(136,45,23,.22))}
.cat-tab-lbl{font-weight:700;font-size:12px;letter-spacing:.22em}
.cat-tab-n{font-family:var(--font-d);font-weight:600;font-size:19px;line-height:1;letter-spacing:.02em;color:var(--rust);
  padding-left:13px;border-left:1px solid rgba(136,45,23,.28)}

.catalog{position:fixed;left:0;right:0;top:64px;bottom:0;z-index:580;
  background:rgba(255,255,255,.71);
  -webkit-backdrop-filter:blur(10.7px);backdrop-filter:blur(10.7px);
  border-top:1px solid rgba(255,255,255,.3);box-shadow:0 4px 30px rgba(0,0,0,.1);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;pointer-events:none;transform-origin:50% 100%;
  transform:translateY(46px) scale(.985);
  transition:opacity .36s var(--ease-tech),transform .52s var(--ease-art)}
.catalog.open{opacity:1;pointer-events:auto;transform:none}
.cat-sheen{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(110% 60% at 50% -8%,rgba(255,255,255,.75),transparent 60%)}
.cat-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:20px clamp(18px,4vw,52px) 16px;border-bottom:1px solid rgba(216,214,210,.7)}
.cat-title{font-family:var(--font-d);font-weight:600;font-size:30px;text-transform:uppercase;letter-spacing:.02em;
  display:flex;align-items:baseline;gap:14px}
.cat-count{font-family:var(--font-d);font-weight:500;font-size:23px;line-height:1;letter-spacing:.02em;color:var(--rust);text-transform:uppercase;white-space:nowrap}
.cat-filters{display:flex;gap:7px;flex-wrap:wrap}
.filt{font-family:var(--font-m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);
  padding:7px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;transition:.2s var(--ease-tech)}
.filt:hover{border-color:var(--ink-3);color:var(--ink)}
.filt.on{background:rgba(136,45,23,.07);border-color:var(--rust);color:var(--rust)}
.cat-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--ink);transition:.2s var(--ease-tech);background:rgba(255,255,255,.55)}
.cat-close:hover{background:var(--rust);color:#fff;border-color:var(--rust);transform:rotate(90deg)}
.cat-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:clamp(14px,1.7vw,24px);
  grid-auto-rows:max-content;align-content:start;min-height:0;
  padding:26px clamp(18px,4vw,52px) 40px;overflow-y:auto}
/* pager katalogu — kropki + strzałki (desktop) */
.cat-pager{position:relative;z-index:1;display:none;align-items:center;justify-content:center;gap:20px;
  padding:13px 0 calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgba(216,214,210,.6)}
.cat-pager.show{display:flex}
.cat-legal{position:absolute;left:clamp(18px,4vw,52px);bottom:18px;top:auto;right:auto;height:auto;width:max-content;z-index:4;display:flex;gap:16px;align-items:center}
.cat-legal a{font-family:var(--font-m);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);cursor:none;transition:color .2s}
.cat-legal a:hover{color:var(--rust)}
@media(max-width:760px){.cat-legal{position:static;justify-content:center;padding:6px 0 calc(12px + env(safe-area-inset-bottom))}}
.cat-pg-arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--ink);background:rgba(255,255,255,.5);transition:.2s var(--ease-tech)}
.cat-pg-arrow:hover{background:var(--rust);color:#fff;border-color:var(--rust)}
.cat-pg-arrow:disabled{opacity:.3;pointer-events:none}
.cat-dots{display:flex;align-items:center;gap:9px}
.cat-dot{width:8px;height:8px;border-radius:50%;background:rgba(26,26,28,.22);transition:.2s var(--ease-art)}
.cat-dot.on{background:var(--rust);transform:scale(1.3)}
.cat-card{text-align:left;display:flex;flex-direction:column;gap:0;border-radius:14px;overflow:hidden;
  background:linear-gradient(165deg,#EEEDEA,#E0DEDA);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 14px 30px -18px rgba(26,26,28,.4),inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .22s var(--ease-art),box-shadow .22s var(--ease-art);
  opacity:0;transform:translateY(14px)}
.catalog.open .cat-card{opacity:1;transform:none;transition:transform .5s var(--ease-art) var(--cd,0s),opacity .42s var(--ease-tech) var(--cd,0s),box-shadow .22s var(--ease-art)}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px rgba(136,45,23,.42),inset 0 1px 0 rgba(255,255,255,.85)}
.cat-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,#fff,#EFEEEB);
  display:flex;align-items:center;justify-content:center;padding:14px}
.cat-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  box-shadow:0 8px 18px -8px rgba(26,26,28,.55);transition:transform .35s var(--ease-art)}
.cat-card:hover .cat-thumb img{transform:scale(1.05)}
.cat-card.on{box-shadow:0 0 0 2px var(--rust),0 18px 34px -18px rgba(136,45,23,.5)}
.cat-thumb .cst{position:absolute;top:9px;left:9px;z-index:3;font-family:var(--font-m);font-size:7.5px;letter-spacing:.12em;
  text-transform:uppercase;padding:4px 8px;border-radius:var(--r-pill);background:var(--teal);color:#fff;
  display:flex;align-items:center;gap:5px}
.cat-thumb .cst::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.cat-thumb .cst.sold{background:var(--rust)}
.cat-thumb .cst.promo{background:var(--lime);color:var(--ink)}
.cat-info{display:flex;flex-direction:column;gap:6px;padding:13px 15px 15px}
.cat-info .cn{font-family:var(--font-d);font-weight:500;font-size:21px;text-transform:uppercase;line-height:.92;letter-spacing:.01em;color:var(--ink);text-wrap:balance}
.cat-info .cprow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cat-info .cp{font-family:var(--font-d);font-weight:500;font-size:19px;line-height:1;color:var(--ink)}
.cat-info .cp.sold{font-family:var(--font-m);font-weight:400;font-size:11px;color:var(--rust);text-transform:uppercase;letter-spacing:.1em}
.cat-info .cp.promo{display:inline-flex;align-items:baseline;gap:11px}
.cat-info .cp .cold{font-family:var(--font-m);font-weight:400;font-size:12px;color:var(--dim);text-decoration:line-through}
.cat-info .cp.promo .cold{color:var(--rust)}
.cat-info .cp.promo .cnew{color:var(--ink)}
.cat-meta{font-family:var(--font-m);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:1px}

/* ════════════ LIGHTBOX ════════════ */
.lb{position:fixed;inset:0;z-index:900;display:none;background:rgba(20,20,22,.64);backdrop-filter:blur(7px)}
.lb.open{display:block}
.lb-inner{position:absolute;inset:0;display:grid;grid-template-columns:1.55fr .95fr;background:var(--bg-top)}
.lb-stage{position:relative;background:radial-gradient(90% 70% at 50% 38%,#fff,#ECEAE6 75%,#E1DFDA);
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(20px,4vw,60px);cursor:none}
.lb-figure{position:relative;line-height:0;background:#fff;padding:8px;border:1px solid #28282a;
  box-shadow:0 40px 70px -30px rgba(26,26,28,.6);cursor:none;touch-action:none}
.lb-figure img{max-width:min(60vw,720px);max-height:78vh;width:auto;height:auto;transition:transform .12s linear;will-change:transform}
.lens{position:absolute;width:200px;height:200px;border-radius:50%;pointer-events:none;display:none;z-index:5;
  border:2px solid rgba(136,45,23,.9);box-shadow:0 12px 32px -8px rgba(26,26,28,.5),inset 0 0 0 1px rgba(255,255,255,.6);
  background-repeat:no-repeat}
.lens.show{display:block}
.lens-coord{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);font-family:var(--font-m);
  font-size:8.5px;letter-spacing:.1em;color:var(--rust);white-space:nowrap}
.lb-zoomhint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-family:var(--font-m);
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:8px;
  pointer-events:none;opacity:.85;transition:opacity .2s}
.lb-zoomhint.hide{opacity:0}
.lb-panel{position:relative;padding:clamp(26px,3.4vw,52px);display:flex;flex-direction:column;border-left:1px solid var(--line);overflow-y:auto}
.lb-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.2s var(--ease-tech);background:rgba(255,255,255,.6)}
.lb-close:hover{background:var(--rust);color:#fff;border-color:var(--rust);transform:rotate(90deg)}
.lb-cyk{font-family:var(--font-m);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);
  display:flex;align-items:center;gap:9px;margin-bottom:14px}
.lb-cyk .zab{height:12px;opacity:.85}
.lb-title{font-family:var(--font-d);font-weight:500;font-size:clamp(40px,4vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:.01em}
.lb-sig{font-family:var(--font-m);font-size:10px;letter-spacing:.12em;color:var(--ink-3);margin-top:10px}
.lb-desc{font-size:14.5px;line-height:1.62;color:var(--ink-2);font-weight:400;margin-top:20px;max-width:42ch}
.lb-note{margin-top:18px;max-width:44ch;padding:13px 16px;border:1px solid color-mix(in srgb,var(--rust) 38%,transparent);border-left:2px solid var(--rust);background:color-mix(in srgb,var(--rust) 9%,transparent);display:flex;flex-direction:column;gap:6px}
.lb-note[hidden]{display:none}
.lb-note-l{font-family:var(--font-m);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust)}
.lb-note-t{font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.lb-meta{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}
.lb-meta .m{display:flex;flex-direction:column;gap:3px}
.lb-meta .ml{font-family:var(--font-m);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.lb-meta .mv{font-family:var(--font-m);font-size:12.5px;letter-spacing:.04em;color:var(--ink);text-transform:uppercase}
.lb-meta .mv.avail{color:var(--teal)}
.lb-meta .mv.sold{color:var(--rust)}
.lb-buy{margin-top:auto;padding-top:26px}
.lb-pricerow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.lb-pl{font-family:var(--font-m);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.lb-price{font-family:var(--font-d);font-weight:600;font-size:40px;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:12px}
.lb-price .old{font-size:22px;color:var(--dim);text-decoration:line-through;font-family:var(--font-m);font-weight:400}
.lb-price.promo .old{color:var(--rust)}
.lb-price.promo .new{color:var(--ink)}
.lb-price.sold{text-decoration:line-through;color:var(--ink-3)}
/* art-style CTA (rust pill) */
.lb-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px;
  background:var(--rust);color:#fff;font-family:var(--font-m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  border-radius:var(--r-pill);transition:.22s var(--ease-art)}
.lb-cta:hover{box-shadow:0 14px 30px -10px rgba(136,45,23,.7);transform:translateY(-2px)}
.lb-cta svg{width:15px;height:15px}
.lb-cta.sold{background:none;color:var(--ink-3);border:1px solid var(--line);cursor:none}
.lb-cta.sold:hover{box-shadow:none;transform:none}
.lb-fine{font-family:var(--font-m);font-size:9px;letter-spacing:.08em;color:var(--ink-3);margin-top:12px;text-align:center;line-height:1.6}
.lb-nav{position:absolute;top:50%;z-index:8;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(136,45,23,.45);box-shadow:0 8px 22px -10px rgba(136,45,23,.4);
  opacity:0;transform:translateY(-50%) scale(.7);
  transition:opacity .42s var(--ease-art),transform .5s var(--ease-art),background .22s,border-color .22s,box-shadow .22s}
.lb.open .lb-nav{opacity:1;transform:translateY(-50%) scale(1);transition-delay:.14s}
.lb.open .lb-nav:hover{transform:translateY(-50%) scale(1.07);background:rgba(255,255,255,.78);border-color:var(--rust);box-shadow:0 12px 30px -10px rgba(136,45,23,.6);transition-delay:0s}
.lb-nav.p{left:22px}.lb-nav.n{right:22px}
/* kwiat-grot: 2 stany (zamknięty → rozkwit) — kwiatek większy niż kółko, wychodzi poza obrys */
.lb-fl{position:relative;display:block;width:60px;height:64px}
.lb-fl img{position:absolute;left:50%;top:50%;height:60px;width:auto;pointer-events:none;
  transition:opacity .34s var(--ease-art),transform .44s var(--ease-art)}
.lb-nav.p .lb-fl img{transform:translate(-50%,-50%) rotate(90deg)}
.lb-nav.n .lb-fl img{transform:translate(-50%,-50%) rotate(-90deg)}
.lb-fl .fl-open{opacity:0}
.lb-nav.p:hover .fl-closed{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(1.06)}
.lb-nav.n:hover .fl-closed{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(1.06)}
.lb-nav.p:hover .fl-open{opacity:1;transform:translate(-50%,-50%) rotate(90deg) scale(1.08)}
.lb-nav.n:hover .fl-open{opacity:1;transform:translate(-50%,-50%) rotate(-90deg) scale(1.08)}

/* ── KONSULTACJA (popup) ── */
.consult{position:fixed;inset:0;z-index:950;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);
  background:rgba(20,20,22,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.consult.open{display:flex}
.consult-card{position:relative;width:min(1000px,100%);max-height:92vh;overflow:auto;
  background:radial-gradient(120% 90% at 50% -10%,#202023,#161618 60%,#121214);
  border:1px solid rgba(229,228,226,.12);border-radius:20px;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);
  padding:clamp(28px,4vw,56px);
  transform:translateY(18px) scale(.97);opacity:0;transition:transform .42s var(--ease-art),opacity .3s}
.consult.open .consult-card{transform:none;opacity:1}
.consult-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid rgba(229,228,226,.14);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#E5E4E2;background:rgba(255,255,255,.03);transition:.2s var(--ease-tech);z-index:2}
.consult-close:hover{background:var(--rust);color:#fff;border-color:var(--rust);transform:rotate(90deg)}
.consult-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(26px,4vw,56px);align-items:center}
.consult-eye{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--rust-2)}
.consult-eye .zab{height:13px;opacity:.85}
.consult-h{font-family:var(--font-d);font-weight:600;font-size:clamp(38px,4.4vw,60px);line-height:.84;text-transform:uppercase;letter-spacing:.01em;color:#E5E4E2}
.consult-h em{font-style:normal;color:var(--rust)}
.consult-lead{font-size:14px;line-height:1.7;color:rgba(229,228,226,.55);font-weight:400;margin-top:18px;max-width:44ch;text-wrap:pretty}
.consult-incl{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:22px}
.consult-incl li{font-size:13px;color:rgba(229,228,226,.6);padding-left:22px;position:relative;line-height:1.5}
.consult-incl li::before{content:'';position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--rust)}
.consult-card-r{position:relative;padding:clamp(26px,3vw,38px);border:1px solid rgba(136,45,23,.5);border-radius:16px;
  background:rgba(255,255,255,.02);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;align-items:flex-start;
  box-shadow:0 18px 50px -22px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.05)}
.cc-eye{font-family:var(--font-m);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--rust);margin-bottom:14px}
.cc-price{font-family:var(--font-d);font-weight:600;font-size:clamp(60px,7vw,92px);line-height:.78;color:#E5E4E2}
.cc-price small{font-family:var(--font-m);font-size:16px;font-weight:400;letter-spacing:.06em;color:var(--rust);margin-left:8px}
.cc-sub{font-family:var(--font-m);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(229,228,226,.4);margin-top:11px}
.cc-cta{width:100%;margin-top:24px;display:flex;align-items:center;justify-content:center;gap:11px;padding:16px;
  background:var(--rust);color:#fff;font-family:var(--font-m);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  border-radius:var(--r-pill);transition:.22s var(--ease-art)}
.cc-cta:hover{box-shadow:0 14px 30px -10px rgba(136,45,23,.7);transform:translateY(-2px)}
.cc-ic{width:13px;height:13px;border:1.5px solid currentColor;border-radius:3px;position:relative;flex:none}
.cc-ic::before{content:'';position:absolute;left:2px;right:2px;top:3.5px;height:1.5px;background:currentColor}
.cc-fine{font-family:var(--font-m);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:rgba(229,228,226,.35);margin-top:14px;line-height:1.7}
@media(max-width:820px){.consult-grid{grid-template-columns:1fr;gap:26px}.consult-card-r{order:-1}}

@media(max-width:880px){
  .lb-inner{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto}
  .lb-stage{height:48vh;flex:none;min-height:0;padding:20px 20px 76px}   /* stała wysokość → tekst pod spodem nie skacze */
  .lb-figure{max-height:100%}
  .lb-figure img{max-width:84vw;max-height:calc(48vh - 124px)}           /* pionowy: cała biała ramka (z dolną krawędzią) mieści się w kadrze */
  .lb-panel{border-left:none;border-top:1px solid var(--line)}
  .lens{display:none!important}
  .lb-nav{position:absolute;top:auto;bottom:14px}                        /* strzałki POD grafiką */
  .lb.open .lb-nav{transform:translateY(0) scale(1)}
  .lb-nav.p{left:calc(50% - 56px);right:auto}
  .lb-nav.n{right:calc(50% - 56px);left:auto}
}
@media(hover:none){
  .lb-zoomhint{display:none}
  /* brak sticky-hover po tapnięciu strzałki (prawa zostawała w stanie hover) */
  .lb.open .lb-nav:hover{transform:translateY(0) scale(1)!important;background:rgba(255,255,255,.5)!important;border-color:var(--line)!important;box-shadow:none!important}
  .lb-nav.p:hover .fl-open,.lb-nav.n:hover .fl-open{opacity:0!important}
  .lb-nav.p:hover .fl-closed,.lb-nav.n:hover .fl-closed{opacity:1!important}
}
/* ── MENU MOBILNE (light glass, spójne z salą) ── */
.mobile-menu{display:none;flex-direction:column;justify-content:center;gap:30px;
  position:fixed;inset:0;z-index:605;padding:100px 9vw 48px;
  background:rgba(245,244,242,.93);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;pointer-events:none;transform:translateY(-8px);
  transition:opacity .3s var(--ease-art),transform .3s var(--ease-art)}
.mobile-menu.open{opacity:1;pointer-events:auto;transform:none}
.mm-links{list-style:none;display:flex;flex-direction:column;gap:16px}
.mm-links a{font-family:var(--font-d);font-weight:500;font-size:38px;line-height:.95;
  text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.mm-links a.cur{color:var(--rust)}
.mm-cta{align-self:flex-start;margin-top:14px;font-family:var(--font-m);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:#fff;background:var(--rust);padding:15px 26px;border-radius:var(--r-pill)}
.mm-close{position:absolute;top:18px;right:18px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.5);color:var(--ink);transition:.2s var(--ease-tech)}
.mm-close:hover{background:var(--rust);color:#fff;border-color:var(--rust)}

@media(max-width:760px){
  .nlinks{display:none}.nav-right{display:none}
  .top-hint{display:none}
  body.chrome-hidden .hall-head{opacity:1;transform:none}   /* na mobile tytuł zostaje (orientacja) */
  .hall-head{padding-top:8px}
  .hall-head h1{font-size:clamp(30px,9vw,46px)}
  :root{--cw:clamp(230px,72vw,330px)}                        /* większy, czytelniejszy środkowy filar */
  .col-inner{padding-bottom:calc(7% + 78px + env(safe-area-inset-bottom))}  /* podnieś treść nad pasek iOS */
  .art img{max-height:38vh}
  .cat-tab-wrap{bottom:env(safe-area-inset-bottom);transform:translateX(-50%) translateY(8%)}
  .cat-tab-wrap:hover{transform:translateX(-50%) translateY(0)}
  .cat-tab{animation:none;padding:13px 34px 22px}            /* bez animacji na mobile */
  .cat-tab-wrap::before{display:none}
  .cat-fl{display:none!important}                            /* mobile: żadnych kwiatków przy katalogu (tap odpalał bloom) */
  /* katalog jako przewijana lista (czytelniej na telefonie) */
  .cat-grid{grid-template-columns:1fr;gap:10px;padding:16px 14px calc(28px + env(safe-area-inset-bottom))}
  .cat-card{flex-direction:row;border-radius:12px;position:relative}
  .cat-thumb{flex:0 0 96px;width:96px;aspect-ratio:auto;align-self:stretch;padding:9px;position:static;overflow:visible}
  .cat-thumb .cst{left:auto;right:12px;top:11px}            /* etykieta na prawej krawędzi karty, nie na obrazie */
  .cat-info{flex:1;justify-content:center;padding:11px 84px 11px 14px}
  .cat-info .cn{font-size:19px}
  .cat-pager{display:none!important}
  .mobile-menu{display:flex}
  .hamb{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;z-index:610}
  .hamb span{display:block;width:24px;height:2px;background:var(--ink);
    transition:transform .25s var(--ease-tech),opacity .2s}
  .hamb.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .hamb.open span:nth-child(2){opacity:0}
  .hamb.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
@media(max-width:560px){.lb-meta{grid-template-columns:1fr 1fr}.lb-title{font-size:38px}.hall-head h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
