/*
Theme Name: BloomArt
Theme URI: https://bloomart.pl
Author: BloomArt
Description: Motyw galerii sztuki dla WordPress i WooCommerce. Minimalistyczny, przestronny układ zaprojektowany tak, aby dzieła były najważniejszym elementem strony. Obsługuje sześć modeli sprzedaży, diagram skali dzieła, profile artystów i kolekcje. Wymaga wtyczki BloomArt Core.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bloomart
Tags: e-commerce, portfolio, custom-colors, custom-menu, translation-ready, block-styles, wide-blocks
*/

/* ============================================================
   BLOOMART — SYSTEM PROJEKTOWY (design tokens)
   Wszystkie wartości do 1:1 przeniesienia na theme.json (WordPress)
   ============================================================ */
:root{
  /* kolory */
  --ivory:#F7F4EE;      /* tło główne */
  --paper:#FFFDFA;      /* powierzchnie wyniesione, karty */
  --ink:#191712;        /* tekst, przyciski główne */
  --ink-2:#4E4941;      /* tekst pomocniczy */
  --ink-3:#8A8377;      /* tekst trzeciorzędny, meta */
  --stone:#DAD3C6;      /* linie, obramowania */
  --stone-2:#EDE8DF;    /* wypełnienia delikatne */
  --dusk:#33475B;       /* akcent — „Zmierzch” */
  --dusk-deep:#25333F;
  --dusk-tint:#EAEDF0;
  --wall:#F1EDE5;       /* płaszczyzna „ściany” pod dziełami */

  /* typografia */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  /* skala */
  --t-hero:clamp(2.6rem,6.4vw,5.2rem);
  --t-h1:clamp(2.1rem,4.4vw,3.4rem);
  --t-h2:clamp(1.6rem,2.9vw,2.35rem);
  --t-h3:clamp(1.22rem,1.8vw,1.5rem);
  --t-body:1.0rem;
  --t-small:.875rem;
  --t-meta:.72rem;

  /* rytm */
  --gut:clamp(1.15rem,3.6vw,2.6rem);
  --max:1440px;
  --sec:clamp(4rem,9vw,8.5rem);   /* odstęp pionowy sekcji */
  --r:2px;                         /* promień — galeryjnie ostry */
  --line:1px solid var(--stone);
  --ease:cubic-bezier(.22,.61,.36,1);
  /* --- kanały kolorów (do przezroczystości) --- */
  --ink-rgb:25,23,18;
  --void-rgb:20,18,14;
  --ivory-rgb:247,244,238;
  --paper-rgb:255,253,250;
  --on-dark-rgb:255,255,255;
  --shade-rgb:0,0,0;

  /* --- role na ciemnym tle --- */
  --on-dark:#FFFFFF;        /* tekst i elementy na ciemnej płaszczyźnie */
  --on-dark-2:#CFC9BE;      /* pasek użytkowy nad nagłówkiem */
  --on-dark-3:#B9B3A8;      /* tekst pomocniczy na ciemnym */
  --on-dark-4:#8B8577;      /* zgody, podpowiedzi na ciemnym */
  --on-dark-5:#7E7869;      /* tekst trzeciorzędny na ciemnym */
  --on-dark-soft:#E7E2D8;   /* treść newslettera na ciemnym */

  /* --- komunikaty --- */
  --alert:#9E3B2E;          /* błąd walidacji, akcja niszcząca */
  --alert-deep:#8C3A2E;     /* obramowanie komunikatu błędu */
  --alert-tint:color-mix(in srgb,var(--alert) 8%,transparent);

  /* --- powierzchnie i przesłony --- */
  --field-bg:#FFFFFF;                          /* tło pola formularza */
  --surface-sticky:rgba(var(--ivory-rgb),.93); /* przyklejony nagłówek */
  --surface-float:rgba(var(--paper-rgb),.92);  /* etykieta nad dziełem */
  --overlay:rgba(var(--ink-rgb),.55);          /* przesłona modala */
  --overlay-deep:rgba(var(--void-rgb),.96);    /* przesłona lightboxa */
  --veil-strong:rgba(var(--ink-rgb),.72);      /* gradient nad kolekcją */
  --veil-soft:rgba(var(--ink-rgb),.16);

  /* --- cienie --- */
  --shadow-soft:0 18px 40px -22px rgba(var(--ink-rgb),.45),0 2px 6px -3px rgba(var(--ink-rgb),.25);
  --shadow-card:0 10px 26px -18px rgba(var(--ink-rgb),.5);
  --shadow-work:0 8px 20px -14px rgba(var(--ink-rgb),.6);
  --shadow-modal:0 40px 80px -30px rgba(var(--ink-rgb),.5);
  --shadow-panel:-24px 0 60px -30px rgba(var(--ink-rgb),.4);
  --shadow-panel-left:24px 0 60px -30px rgba(var(--ink-rgb),.4);
  --shadow-bar:0 -12px 30px -22px rgba(var(--ink-rgb),.5);
  --shadow-play:0 8px 24px -12px rgba(var(--shade-rgb),.4);

  /* --- scenografia: wizualizacja wnętrza i skali --- */
  --room-base:#E7E2D8;
  --room-wall-1:#EFEAE0;
  --room-wall-2:#E4DED3;
  --room-floor-1:#D8D1C4;
  --room-floor-2:#CFC7B8;
  --room-sofa-1:#B9AE9C;
  --room-sofa-2:#A79C89;
  --room-sofa-3:#C6BBA8;
  --scale-wall-1:#F3EFE7;
  --scale-wall-2:#EEE9E0;
  --scale-floor-1:#E3DCD1;
  --scale-floor-2:#DCD5C8;
  --scale-figure:#B4A995;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-size:var(--t-body);line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
a{color:inherit;text-decoration:none}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;line-height:1.12}
p{margin:0}
:focus-visible{outline:2px solid var(--dusk);outline-offset:3px}
::selection{background:var(--dusk);color:var(--on-dark)}

/* pomocnicze */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.wrap--narrow{max-width:940px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gut);top:-100px;z-index:200;background:var(--ink);color:var(--on-dark);padding:.7rem 1.1rem;transition:top .2s}
.skip:focus{top:.6rem}
.hr{height:1px;background:var(--stone);border:0;margin:0}

/* eyebrow / nadtytuł — nośnik struktury, nie dekoracja */
.eyebrow{
  font-family:var(--sans);font-size:var(--t-meta);font-weight:600;
  letter-spacing:.19em;text-transform:uppercase;color:var(--ink-3);
  display:flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--stone);flex:none}
.eyebrow--plain::before{display:none}

.lead{font-size:clamp(1.02rem,1.35vw,1.16rem);color:var(--ink-2);line-height:1.72;max-width:62ch}
.dim{color:var(--ink-2)}
.meta{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase}

/* ---------- przyciski ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-size:.83rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;padding:1.05rem 1.9rem;border-radius:var(--r);
  border:1px solid transparent;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
  text-align:center;min-height:52px;
}
.btn--primary{background:var(--ink);color:var(--paper)}
.btn--primary:hover{background:var(--dusk)}
.btn--ghost{border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--quiet{border-color:var(--stone);color:var(--ink-2);background:var(--paper)}
.btn--quiet:hover{border-color:var(--ink);color:var(--ink)}
.btn--sm{padding:.72rem 1.15rem;min-height:42px;font-size:.75rem}
.btn--block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* CTA tekstowe — trzeci poziom */
.tlink{
  display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--dusk);
  border-bottom:1px solid var(--stone);padding-bottom:.3rem;transition:border-color .3s,color .3s;
}
.tlink:hover{border-color:var(--dusk);color:var(--dusk-deep)}
.tlink::after{content:"→";font-size:.9em;transition:transform .3s var(--ease)}
.tlink:hover::after{transform:translateX(4px)}

/* ---------- ETYKIETA ŚCIENNA (element rozpoznawalny marki) ---------- */
.label{border-left:1px solid var(--ink);padding-left:.95rem}
.label__no{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--ink-3);display:block;margin-bottom:.45rem}
.label__title{font-family:var(--serif);font-size:1.18rem;font-style:italic;line-height:1.25;display:block}
.label__artist{font-size:.8rem;letter-spacing:.06em;color:var(--ink-2);display:block;margin-top:.3rem}
.label__spec{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);line-height:1.7;margin-top:.55rem;text-transform:uppercase;letter-spacing:.04em}

/* ---------- PLACEHOLDERY DZIEŁ ----------
   Generowane w CSS, bez zewnętrznych zasobów.
   Docelowo podmieniane na fotografie — miejsca oznaczone .ph__note */
.art{position:relative;overflow:hidden;background:var(--stone-2);isolation:isolate}
.art__l1,.art__l2,.art__l3{position:absolute;inset:0}
.art__grain{position:absolute;inset:0;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}

/* kompozycja: pole barwne */
.art[data-comp="pole"] .art__l1{background:
  radial-gradient(120% 90% at 28% 22%, var(--c2) 0%, transparent 62%),
  linear-gradient(168deg, var(--c1) 0%, var(--c3) 100%)}
.art[data-comp="pole"] .art__l2{background:radial-gradient(70% 55% at 72% 78%, var(--c4,rgba(var(--on-dark-rgb),.5)) 0%, transparent 70%);opacity:.85}
/* kompozycja: horyzont */
.art[data-comp="horyzont"] .art__l1{background:linear-gradient(to bottom, var(--c2) 0%, var(--c1) 46%, var(--c1) 54%, var(--c3) 100%)}
.art[data-comp="horyzont"] .art__l2{background:linear-gradient(to bottom,transparent 44%,rgba(var(--on-dark-rgb),.55) 50%,transparent 57%)}
/* kompozycja: welon */
.art[data-comp="welon"] .art__l1{background:linear-gradient(112deg,var(--c1) 0%,var(--c2) 52%,var(--c3) 100%)}
.art[data-comp="welon"] .art__l2{background:repeating-linear-gradient(104deg,rgba(var(--on-dark-rgb),.16) 0 14px,transparent 14px 46px)}
.art[data-comp="welon"] .art__l3{background:radial-gradient(90% 70% at 62% 34%,rgba(var(--on-dark-rgb),.5),transparent 68%)}
/* kompozycja: załamanie */
.art[data-comp="zalamanie"] .art__l1{background:conic-gradient(from 205deg at 42% 58%, var(--c1), var(--c2) 38%, var(--c3) 68%, var(--c1))}
.art[data-comp="zalamanie"] .art__l2{background:linear-gradient(255deg,rgba(var(--shade-rgb),.16),transparent 55%)}
/* kompozycja: ślad */
.art[data-comp="slad"] .art__l1{background:linear-gradient(180deg,var(--c1),var(--c3))}
.art[data-comp="slad"] .art__l2{background:
  radial-gradient(38% 26% at 34% 40%, var(--c2) 0%, transparent 60%),
  radial-gradient(24% 44% at 68% 66%, var(--c2) 0%, transparent 64%)}
.art[data-comp="slad"] .art__l3{background:repeating-linear-gradient(88deg,rgba(var(--shade-rgb),.05) 0 2px,transparent 2px 9px)}

/* znacznik miejsca na fotografię */
.ph__note{
  position:absolute;left:0;bottom:0;z-index:4;display:none;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;
  background:var(--ink);color:var(--paper);padding:.4rem .6rem;max-width:100%;
}
body.ph-on .ph__note{display:block}
body.ph-on .art{outline:1px dashed var(--dusk);outline-offset:-4px}

/* ściana pod dziełem + passe-partout */
.wallbox{background:
  linear-gradient(178deg,rgba(var(--on-dark-rgb),.7),rgba(var(--shade-rgb),.035)),var(--wall);
  padding:clamp(1.4rem,4vw,3.4rem);display:flex;justify-content:center}
.framed{position:relative;box-shadow:var(--shadow-soft)}
.framed .art{outline:8px solid var(--paper);outline-offset:-1px}

/* ---------- HEADER ---------- */
.util{background:var(--ink);color:var(--on-dark-2);font-family:var(--mono);font-size:.66rem;letter-spacing:.06em}
.util__in{max-width:var(--max);margin:0 auto;padding:.45rem var(--gut);display:flex;gap:1.2rem;align-items:center;justify-content:space-between}
.util__note{text-transform:uppercase;opacity:.75}
.util__acts{display:flex;gap:1.1rem;align-items:center;flex:none}
.util button{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--on-dark-2);text-transform:uppercase;border-bottom:1px solid rgba(var(--on-dark-rgb),.22);padding-bottom:1px}
.util button[aria-pressed="true"]{color:var(--on-dark);border-color:var(--on-dark)}

.hdr{position:sticky;top:0;z-index:80;background:var(--surface-sticky);backdrop-filter:blur(9px);border-bottom:var(--line);transition:padding .3s var(--ease)}
.hdr__in{max-width:var(--max);margin:0 auto;padding:1.05rem var(--gut);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;transition:padding .3s var(--ease)}
body.scrolled .hdr__in{padding-top:.65rem;padding-bottom:.65rem}
.logo{font-family:var(--serif);font-size:1.6rem;letter-spacing:.005em;line-height:1;display:block}
.logo b{font-weight:500}
.logo span{font-weight:300}
.logo__sub{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-top:.34rem}
body.scrolled .logo__sub{display:none}
.nav{display:flex;gap:clamp(.9rem,2vw,1.9rem);justify-content:center}
.nav a{font-size:.79rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 0;position:relative;color:var(--ink-2)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.15rem;height:1px;background:var(--ink);transition:right .35s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.tools{display:flex;align-items:center;gap:.35rem}
.tool{width:42px;height:42px;display:grid;place-items:center;position:relative;border-radius:var(--r);transition:background .25s}
.tool:hover{background:var(--stone-2)}
.tool svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tool__count{position:absolute;top:4px;right:2px;min-width:16px;height:16px;border-radius:9px;background:var(--dusk);color:var(--on-dark);font-family:var(--mono);font-size:.6rem;display:grid;place-items:center;padding:0 3px}
.tool__count[data-empty="1"]{display:none}
.burger{display:none}

/* ---------- STOPKA ---------- */
.ftr{background:var(--ink);color:var(--on-dark-3);margin-top:var(--sec);font-size:.86rem}
.ftr a:hover{color:var(--on-dark)}
.ftr__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:clamp(1.6rem,4vw,3.4rem);padding:clamp(3rem,6vw,5rem) 0}
.ftr h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--on-dark);margin-bottom:1.15rem}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.ftr .logo{color:var(--on-dark)}
.ftr .logo__sub{color:var(--on-dark-5)}
.ftr__desc{margin:1.3rem 0 1.6rem;max-width:34ch;line-height:1.7}
.ftr__bar{border-top:1px solid rgba(var(--on-dark-rgb),.13);padding:1.4rem 0;display:flex;flex-wrap:wrap;gap:1rem 1.8rem;justify-content:space-between;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}
.ftr__bar nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.social{display:flex;gap:.9rem;margin-top:1.2rem}
.social a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(var(--on-dark-rgb),.25);padding-bottom:2px}
.nl-mini{display:flex;border:1px solid rgba(var(--on-dark-rgb),.22);margin-top:1rem}
.nl-mini input{flex:1;min-width:0;background:none;border:0;padding:.85rem .9rem;color:var(--on-dark);font-size:.85rem}
.nl-mini input::placeholder{color:var(--on-dark-5)}
.nl-mini button{background:var(--on-dark);color:var(--ink);padding:0 1.1rem;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* ---------- animacje (wyłączalne) ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv.in{opacity:1;transform:none}
body.no-motion .rv{opacity:1;transform:none;transition:none}
body.no-motion *{animation:none!important;transition-duration:.01ms!important}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition-duration:.01ms!important}
}

/* ============================================================
   SEKCJE I UKŁADY STRON
   ============================================================ */
.sect{padding:var(--sec) 0}
.sect--tight{padding:calc(var(--sec)*.55) 0}
.sect--wall{background:var(--wall)}
.sect__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3.4rem)}
.sect__head h2{font-size:var(--t-h2)}
.sect__head p{margin-top:.9rem}

/* --- HERO: „ściana galerii” --- */
.hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:min(78vh,760px);border-bottom:var(--line)}
.hero__wall{background:linear-gradient(174deg,rgba(var(--on-dark-rgb),.75),rgba(var(--shade-rgb),.05)),var(--wall);
  display:grid;place-items:center;padding:clamp(2rem,5vw,4.5rem);position:relative}
.hero__work{width:min(100%,430px)}
.hero__label{position:absolute;left:clamp(1.4rem,3vw,2.8rem);bottom:clamp(1.4rem,3vw,2.8rem);background:var(--surface-float);padding:.95rem 1.1rem;max-width:270px}
.hero__txt{padding:clamp(2.6rem,6vw,5.5rem) var(--gut) clamp(2.6rem,6vw,5rem) clamp(2.4rem,5vw,4.6rem);display:flex;flex-direction:column;justify-content:center;max-width:760px}
.hero h1{font-size:var(--t-hero);font-weight:300;line-height:1.02;letter-spacing:-.018em}
.hero h1 em{font-style:italic;font-weight:300}
.hero__lead{margin:clamp(1.4rem,2.6vw,2.1rem) 0 clamp(1.8rem,3vw,2.6rem);max-width:46ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.hero__third{margin-top:1.7rem}
.hero__stats{display:flex;gap:clamp(1.2rem,3vw,2.6rem);margin-top:clamp(2rem,4vw,3.2rem);padding-top:1.5rem;border-top:var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap}

/* --- SIATKA DZIEŁ: „zawieszenie na ścianie” ---
   Karty wyrównane do dolnej linii, proporcje z prawdziwych wymiarów dzieł. */
.grid{display:grid;gap:clamp(1.6rem,3vw,2.9rem) clamp(1.1rem,2.2vw,2.2rem);align-items:end}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}

.card{position:relative;display:grid;grid-template-rows:1fr auto;gap:1rem}
.card__media{align-self:end}
.card__media{position:relative;display:block;background:var(--wall);padding:clamp(.7rem,1.6vw,1.5rem)}
.card__media .art{transition:transform .9s var(--ease);box-shadow:var(--shadow-card)}
.card:hover .card__media .art{transform:scale(1.018)}
.card__alt{position:absolute;inset:clamp(.7rem,1.6vw,1.5rem);opacity:0;transition:opacity .6s var(--ease)}
.card:hover .card__alt,.card:focus-within .card__alt{opacity:1}
.card__badge{position:absolute;top:0;left:0;background:var(--paper);color:var(--ink-2);font-family:var(--mono);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;padding:.38rem .6rem;z-index:3;border-right:var(--line);border-bottom:var(--line)}
.card__badge[data-s="sprzedane"]{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.card__badge[data-s="zarezerwowane"]{background:var(--dusk-tint);color:var(--dusk);border-color:var(--dusk-tint)}
.card__fav{position:absolute;top:.55rem;right:.55rem;z-index:3;width:36px;height:36px;display:grid;place-items:center;background:rgba(var(--paper-rgb),.9);border-radius:50%;opacity:0;transition:opacity .3s,background .3s}
.card:hover .card__fav,.card:focus-within .card__fav,.card__fav[aria-pressed="true"]{opacity:1}
.card__fav svg{width:17px;height:17px;stroke:var(--ink);stroke-width:1.3;fill:none}
.card__fav[aria-pressed="true"] svg{fill:var(--dusk);stroke:var(--dusk)}
.card__body{display:flex;flex-direction:column;gap:.34rem}
.card__t{font-family:var(--serif);font-style:italic;font-size:1.13rem;line-height:1.25}
.card__a{font-size:.78rem;letter-spacing:.05em;color:var(--ink-2)}
.card__spec{font-family:var(--mono);font-size:.68rem;letter-spacing:.03em;color:var(--ink-3);text-transform:uppercase}
.card__price{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.45rem;padding-top:.6rem;border-top:var(--line)}
.card__price b{font-family:var(--sans);font-weight:500;font-size:.92rem;letter-spacing:.01em}
.card__price i{font-style:normal;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.card__price .ask{font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--dusk)}
.card--sold .card__media .art{filter:saturate(.55) contrast(.95) opacity(.78)}

/* --- SEKCJA REDAKCYJNA / WYRÓŻNIONE DZIEŁO --- */
.feat{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;gap:0;border:var(--line);background:var(--paper)}
.feat__media{background:linear-gradient(176deg,rgba(var(--on-dark-rgb),.7),rgba(var(--shade-rgb),.05)),var(--wall);display:grid;place-items:center;padding:clamp(2rem,5vw,4.6rem)}
.feat__media .framed{width:min(100%,470px)}
.feat__txt{padding:clamp(2rem,4.5vw,4rem);display:flex;flex-direction:column;justify-content:center}
.feat__txt h2{font-size:var(--t-h1);font-style:italic;margin-bottom:.7rem}
.feat__quote{font-family:var(--serif);font-size:clamp(1.28rem,2.3vw,1.75rem);font-style:italic;line-height:1.45;color:var(--ink)}
.spec-list{list-style:none;margin:1.7rem 0;padding:0;display:grid;gap:0;border-top:var(--line)}
.spec-list li{display:flex;justify-content:space-between;gap:1.4rem;padding:.72rem 0;border-bottom:var(--line);font-size:.86rem}
.spec-list dt,.spec-list .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex:none}
.spec-list .v{text-align:right}

/* --- ARTYSTA --- */
.artist{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.6rem);align-items:center}
.artist__ph{position:relative}
.artist h2{font-size:var(--t-h1)}
.artist__sig{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--ink-2);margin-top:1.8rem;transform:rotate(-3deg);display:inline-block}

/* --- KOLEKCJE --- */
.coll{position:relative;display:block;overflow:hidden}
.coll .art{transition:transform 1.1s var(--ease)}
.coll:hover .art{transform:scale(1.04)}
.coll__veil{position:absolute;inset:0;background:linear-gradient(to top,var(--veil-strong) 0%,var(--veil-soft) 48%,transparent 75%);z-index:2}
.coll__txt{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:clamp(1.2rem,2.4vw,1.9rem);color:var(--on-dark)}
.coll__txt h3{font-size:var(--t-h3);color:var(--on-dark)}
.coll__txt p{font-size:.84rem;color:rgba(var(--on-dark-rgb),.82);margin-top:.4rem;max-width:34ch}
.coll__n{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--on-dark-rgb),.72);display:block;margin-bottom:.55rem}
.coll__cta{display:inline-flex;gap:.5rem;font-size:.74rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;margin-top:.9rem;border-bottom:1px solid rgba(var(--on-dark-rgb),.4);padding-bottom:.25rem}

/* --- WYRÓŻNIKI / PROCES --- */
.cols{display:grid;gap:clamp(1.4rem,3vw,2.6rem)}
.cols--4{grid-template-columns:repeat(4,1fr)}
.cols--3{grid-template-columns:repeat(3,1fr)}
.cols--2{grid-template-columns:repeat(2,1fr)}
.usp{border-top:1px solid var(--ink);padding-top:1.1rem}
.usp h3{font-size:1.12rem;margin-bottom:.5rem}
.usp p{font-size:.87rem;color:var(--ink-2);line-height:1.68}
.usp__mark{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--ink-3);display:block;margin-bottom:.8rem}
.step{border-top:1px solid var(--stone);padding-top:1.1rem}
.step__n{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--dusk);display:block;margin-bottom:.7rem}
.step h3{font-size:1.05rem;margin-bottom:.45rem}
.step p{font-size:.86rem;color:var(--ink-2)}

/* --- SZTUKA WE WNĘTRZU --- */
.room{display:grid;grid-template-columns:1.2fr .8fr;gap:0;border:var(--line)}
.room__vis{position:relative;background:var(--room-base);min-height:400px;overflow:hidden}
.room__wall{position:absolute;inset:0;background:linear-gradient(180deg,var(--room-wall-1) 0%,var(--room-wall-2) 62%,var(--room-floor-1) 62.3%,var(--room-floor-2) 100%)}
.room__sofa{position:absolute;left:8%;right:8%;bottom:0;height:26%;background:linear-gradient(180deg,var(--room-sofa-1),var(--room-sofa-2));border-radius:6px 6px 0 0}
.room__sofa::before{content:"";position:absolute;left:6%;right:6%;top:-14%;height:34%;background:var(--room-sofa-3);border-radius:5px}
.room__hang{position:absolute;left:50%;top:16%;transform:translateX(-50%);width:38%}
.room__txt{padding:clamp(2rem,4.5vw,3.6rem);display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.checks{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:.75rem}
.checks li{display:flex;gap:.8rem;font-size:.9rem;color:var(--ink-2)}
.checks li::before{content:"—";color:var(--dusk);flex:none;font-family:var(--mono)}

/* --- NEWSLETTER --- */
.nl{background:var(--ink);color:var(--on-dark-soft);padding:clamp(3rem,6vw,5.5rem) 0}
.nl__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.nl h2{color:var(--on-dark);font-size:var(--t-h2)}
.nl p{color:var(--on-dark-3);margin-top:.9rem;max-width:42ch}
.nl__form{display:grid;gap:1rem}
.nl__row{display:flex;gap:.6rem;flex-wrap:wrap}
.nl__row input{flex:1;min-width:220px;background:transparent;border:1px solid rgba(var(--on-dark-rgb),.28);padding:1rem 1.1rem;color:var(--on-dark)}
.nl__row input::placeholder{color:var(--on-dark-4)}
.nl__row .btn--primary{background:var(--on-dark);color:var(--ink)}
.nl__row .btn--primary:hover{background:var(--stone)}
.consent{display:flex;gap:.7rem;font-size:.74rem;line-height:1.6;color:var(--on-dark-4)}
.consent a{border-bottom:1px solid rgba(var(--on-dark-rgb),.3)}
.consent input{margin-top:.28rem;accent-color:var(--on-dark);flex:none}

/* --- AKTUALNOŚCI --- */
.post{display:flex;flex-direction:column;gap:1rem}
.post__k{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dusk)}
.post h3{font-size:1.24rem;line-height:1.28}
.post p{font-size:.88rem;color:var(--ink-2)}
.post__media{overflow:hidden}
.post__media .art{transition:transform 1s var(--ease)}
.post:hover .post__media .art{transform:scale(1.03)}

/* --- INSTAGRAM --- */
.igrid{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}
.igrid .art{aspect-ratio:1;transition:opacity .4s}
.igrid a:hover .art{opacity:.82}

/* ============================================================
   KATALOG + FILTRY
   ============================================================ */
.phead{padding:clamp(2.6rem,5vw,4.6rem) 0 clamp(1.6rem,3vw,2.4rem);border-bottom:var(--line)}
.phead h1{font-size:var(--t-h1);margin-bottom:1rem}
.crumbs{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1.2rem;display:flex;gap:.55rem;flex-wrap:wrap}
.crumbs a:hover{color:var(--ink)}
.catalog{display:grid;grid-template-columns:260px 1fr;gap:clamp(1.8rem,4vw,3.4rem);padding:clamp(1.8rem,4vw,3rem) 0 0}
.fbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:var(--line);margin-bottom:1.8rem;flex-wrap:wrap}
.fbar__count{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.select{position:relative}
.select select{appearance:none;background:var(--paper);border:var(--line);padding:.7rem 2.4rem .7rem .95rem;font-size:.8rem;letter-spacing:.04em;border-radius:var(--r);cursor:pointer}
.select::after{content:"▾";position:absolute;right:.9rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink-3);font-size:.7rem}
.fgroup{border-bottom:var(--line);padding:1.05rem 0}
.fgroup:first-child{padding-top:0}
.fgroup__h{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:0}
.fgroup__h span{color:var(--ink-3);font-family:var(--mono);font-weight:400;transition:transform .3s}
.fgroup[data-open="0"] .fgroup__b{display:none}
.fgroup[data-open="0"] .fgroup__h span{transform:rotate(-90deg)}
.fgroup__b{padding-top:.95rem;display:grid;gap:.55rem}
.check{display:flex;align-items:center;gap:.65rem;font-size:.85rem;color:var(--ink-2);cursor:pointer;padding:.12rem 0}
.check input{accent-color:var(--dusk);width:15px;height:15px;flex:none}
.check:hover{color:var(--ink)}
.check em{font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--ink-3);margin-left:auto}
.range{display:grid;gap:.6rem}
.range input[type=range]{width:100%;accent-color:var(--dusk)}
.range__v{font-family:var(--mono);font-size:.7rem;color:var(--ink-2);display:flex;justify-content:space-between}
.chips:empty{display:none}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--dusk-tint);color:var(--dusk);font-size:.74rem;letter-spacing:.04em;padding:.42rem .7rem;border-radius:999px}
.chip button{font-size:.9rem;line-height:1;color:var(--dusk)}
.chip--clear{background:none;border:var(--line);color:var(--ink-2)}
.empty{text-align:center;padding:clamp(3rem,7vw,6rem) 1rem;border:1px dashed var(--stone)}
.empty h3{font-size:1.4rem;margin-bottom:.7rem}
.fbtn-mob{display:none}

/* ============================================================
   KARTA DZIEŁA
   ============================================================ */
.pdp{display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(2rem,4vw,3.6rem);padding:clamp(1.6rem,3vw,2.6rem) 0 0;align-items:start}
.pdp__gal{display:grid;gap:.7rem}
.pdp__main{background:linear-gradient(176deg,rgba(var(--on-dark-rgb),.72),rgba(var(--shade-rgb),.05)),var(--wall);padding:clamp(1.4rem,4vw,3.4rem);display:grid;place-items:center;position:relative;cursor:zoom-in}
.pdp__main .framed{width:min(100%,540px)}
.zoomhint{position:absolute;right:1rem;bottom:1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:rgba(var(--paper-rgb),.85);padding:.35rem .55rem}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
.thumb{padding:.4rem;background:var(--wall);border:1px solid transparent;transition:border-color .3s}
.thumb[aria-current="true"]{border-color:var(--ink)}
.thumb .art{aspect-ratio:1!important}
.thumb__c{display:block;font-family:var(--mono);font-size:.55rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-top:.3rem;text-align:center}
.pdp__info{position:sticky;top:110px}
.pdp__info h1{font-size:clamp(1.8rem,3.2vw,2.6rem);font-style:italic;line-height:1.1}
.pdp__artist{margin:.8rem 0 1.3rem;font-size:.9rem;letter-spacing:.05em}
.pdp__artist a{border-bottom:1px solid var(--stone)}
.avail{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;padding:.4rem .7rem;background:var(--stone-2);color:var(--ink-2)}
.avail::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-3)}
.avail[data-s="dostępne"]{background:var(--dusk-tint);color:var(--dusk)}
.avail[data-s="dostępne"]::before{background:var(--dusk)}
.avail[data-s="sprzedane"]{background:var(--ink);color:var(--on-dark)}
.avail[data-s="sprzedane"]::before{background:var(--on-dark)}
.price{font-family:var(--sans);font-size:1.75rem;font-weight:500;letter-spacing:-.01em;margin:1.5rem 0 .35rem}
.price--ask{font-family:var(--serif);font-style:italic;font-size:1.5rem;font-weight:400}
.price__tax{font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.buybox{margin:1.6rem 0;display:grid;gap:.7rem}
.pdp__assure{list-style:none;margin:1.5rem 0 0;padding:1.3rem 0 0;border-top:var(--line);display:grid;gap:.7rem;font-size:.82rem;color:var(--ink-2)}
.pdp__assure li{display:flex;gap:.7rem;align-items:flex-start}
.pdp__assure svg{width:15px;height:15px;stroke:var(--dusk);fill:none;stroke-width:1.4;flex:none;margin-top:.25rem}
.uniq{background:var(--dusk-tint);color:var(--dusk-deep);padding:.85rem 1rem;font-size:.82rem;display:flex;gap:.7rem;align-items:center}
.uniq b{font-weight:600}
.pdp__acts{display:flex;gap:1.4rem;margin-top:1.4rem;padding-top:1.2rem;border-top:var(--line);font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap}
.pdp__acts button{display:inline-flex;gap:.5rem;align-items:center}
.pdp__acts svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4}
.pdp__acts button[aria-pressed="true"]{color:var(--dusk)}
.pdp__acts button[aria-pressed="true"] svg{fill:var(--dusk);stroke:var(--dusk)}

/* SYGNATURA PROJEKTU: diagram skali dzieła */
.scale{border:var(--line);background:var(--paper);margin-top:2.4rem}
.scale__h{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;border-bottom:var(--line);font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.scale__stage{position:relative;height:230px;overflow:hidden;padding:1.2rem 1.4rem 0;display:flex;align-items:flex-end;gap:1.6rem;background:
  linear-gradient(180deg,var(--scale-wall-1) 0%,var(--scale-wall-2) 78%,var(--scale-floor-1) 78.4%,var(--scale-floor-2) 100%)}
.scale__work{position:relative}
.scale__work .art{box-shadow:var(--shadow-work);outline:5px solid var(--paper)}
.scale__dim{position:absolute;left:50%;transform:translateX(-50%);bottom:-1.5rem;font-family:var(--mono);font-size:.62rem;color:var(--ink-2);white-space:nowrap}
.scale__human{width:34px;position:relative;flex:none}
.scale__human svg{width:100%;display:block;fill:var(--scale-figure)}
.scale__human span{position:absolute;bottom:-1.5rem;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.62rem;color:var(--ink-3);white-space:nowrap}
.scale__foot{padding:2rem 1.4rem 1.1rem;font-size:.78rem;color:var(--ink-3);border-top:var(--line)}

/* zakładki opisu */
.tabs{margin-top:clamp(3rem,6vw,5rem);border-top:var(--line)}
.tab{border-bottom:var(--line)}
.tab__h{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;text-align:left;font-family:var(--serif);font-size:1.2rem}
.tab__h span{font-family:var(--mono);font-size:.8rem;color:var(--ink-3);flex:none;transition:transform .3s}
.tab[data-open="1"] .tab__h span{transform:rotate(45deg)}
.tab__b{padding:0 0 1.9rem;max-width:74ch;display:grid;gap:1rem;color:var(--ink-2);line-height:1.78}
.tab[data-open="0"] .tab__b{display:none}
.tab__b h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin-top:.6rem}

/* ============================================================
   FORMULARZE
   ============================================================ */
.form{display:grid;gap:1.15rem}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.field{display:grid;gap:.45rem}
.field label,.legend{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.field label .req{color:var(--dusk)}
.field input,.field select,.field textarea{
  background:var(--paper);border:var(--line);border-radius:var(--r);padding:.88rem 1rem;font-size:.93rem;width:100%;
  transition:border-color .25s,box-shadow .25s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--dusk);box-shadow:0 0 0 3px var(--dusk-tint)}
.field textarea{min-height:120px;resize:vertical;line-height:1.6}
.field__hint{font-size:.74rem;color:var(--ink-3)}
.field--err input,.field--err textarea,.field--err select{border-color:var(--alert)}
.field__err{font-size:.74rem;color:var(--alert);display:none}
.field--err .field__err{display:block}
fieldset{border:0;margin:0;padding:0;display:grid;gap:.6rem}
.upload{border:1px dashed var(--stone);background:var(--paper);padding:1.25rem;text-align:center;font-size:.83rem;color:var(--ink-3);border-radius:var(--r)}
.upload b{display:block;color:var(--ink);font-weight:500;font-size:.9rem;margin-bottom:.25rem}
.consent--light{color:var(--ink-3);font-size:.76rem;display:flex;gap:.7rem}
.consent--light input{accent-color:var(--dusk);margin-top:.25rem;flex:none}
.consent--light a{border-bottom:1px solid var(--stone);color:var(--ink-2)}
.radios{display:flex;gap:.6rem;flex-wrap:wrap}
.radio{border:var(--line);background:var(--paper);padding:.6rem .95rem;font-size:.83rem;border-radius:var(--r);cursor:pointer;display:inline-flex;gap:.5rem;align-items:center;transition:border-color .25s,background .25s}
.radio:has(input:checked){border-color:var(--dusk);background:var(--dusk-tint);color:var(--dusk-deep)}
.radio input{accent-color:var(--dusk)}
.pay{display:grid;gap:.55rem}
.pay .radio{justify-content:space-between}
.pay .radio em{font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}

/* ============================================================
   MODAL / PANEL / OVERLAY
   ============================================================ */
.ov{position:fixed;inset:0;z-index:120;background:var(--overlay);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.ov[data-open="1"]{opacity:1;pointer-events:auto}
.modal{position:fixed;z-index:130;background:var(--ivory);box-shadow:var(--shadow-modal);
  top:50%;left:50%;transform:translate(-50%,-46%) scale(.99);opacity:0;pointer-events:none;
  width:min(720px,calc(100vw - 2rem));max-height:min(88vh,860px);overflow:auto;
  transition:opacity .35s var(--ease),transform .35s var(--ease)}
.modal[data-open="1"]{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.modal__h{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(1.4rem,3vw,2rem) clamp(1.4rem,3vw,2.2rem) 1.1rem;border-bottom:var(--line);position:sticky;top:0;background:var(--ivory);z-index:2}
.modal__h h2{font-size:1.5rem}
.modal__b{padding:clamp(1.4rem,3vw,2.2rem)}
.x{width:38px;height:38px;display:grid;place-items:center;flex:none;border:var(--line);border-radius:50%;font-size:1rem;transition:background .25s}
.x:hover{background:var(--stone-2)}
.modal__work{display:flex;gap:1rem;align-items:center;padding:.9rem;background:var(--paper);border:var(--line);margin-bottom:1.5rem}
.modal__work .art{width:72px;flex:none}
.modal__work .meta{margin-top:.3rem}

/* panel boczny: koszyk, ulubione, filtry mobilne */
.panel{position:fixed;top:0;right:0;bottom:0;z-index:130;width:min(440px,100vw);background:var(--ivory);
  transform:translateX(102%);transition:transform .42s var(--ease);display:flex;flex-direction:column;box-shadow:var(--shadow-panel)}
.panel[data-open="1"]{transform:none}
.panel__h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.4rem;border-bottom:var(--line);flex:none}
.panel__h h2{font-size:1.32rem}
.panel__b{overflow:auto;padding:1.4rem;flex:1}
.panel__f{border-top:var(--line);padding:1.3rem 1.4rem;flex:none;background:var(--paper);display:grid;gap:.9rem}
.panel--left{left:0;right:auto;transform:translateX(-102%);box-shadow:var(--shadow-panel-left)}
.panel--left[data-open="1"]{transform:none}

.line-item{display:grid;grid-template-columns:78px 1fr;gap:1rem;padding-bottom:1.15rem;margin-bottom:1.15rem;border-bottom:var(--line)}
.line-item__t{font-family:var(--serif);font-style:italic;font-size:1.03rem;line-height:1.25}
.line-item__m{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-top:.3rem}
.line-item__p{font-weight:500;font-size:.9rem;margin-top:.5rem;display:flex;justify-content:space-between;align-items:center}
.line-item__p button{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--stone)}
.line-item__p button:hover{color:var(--alert);border-color:var(--alert)}
.totals{display:grid;gap:.55rem;font-size:.88rem}
.totals div{display:flex;justify-content:space-between;gap:1rem}
.totals .sum{border-top:var(--line);padding-top:.7rem;margin-top:.2rem;font-size:1.05rem;font-weight:500}

/* lightbox */
.lbox{position:fixed;inset:0;z-index:150;background:var(--overlay-deep);display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);opacity:0;pointer-events:none;transition:opacity .3s}
.lbox[data-open="1"]{opacity:1;pointer-events:auto}
.lbox__in{width:min(100%,900px)}
.lbox__cap{color:var(--on-dark-3);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;margin-top:1rem;display:flex;justify-content:space-between;gap:1rem}
.lbox .x{position:absolute;top:1.2rem;right:1.2rem;color:var(--on-dark);border-color:rgba(var(--on-dark-rgb),.3)}
.lbox .x:hover{background:rgba(var(--on-dark-rgb),.12)}

/* wyszukiwarka */
.search{position:fixed;top:0;left:0;right:0;z-index:130;background:var(--ivory);border-bottom:var(--line);
  transform:translateY(-102%);transition:transform .4s var(--ease);padding:clamp(1.4rem,3vw,2.2rem) 0;max-height:90vh;overflow:auto}
.search[data-open="1"]{transform:none}
.search__row{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:.8rem}
.search__row input{flex:1;background:none;border:0;font-family:var(--serif);font-size:clamp(1.4rem,3.4vw,2.2rem);padding:0}
.search__row input:focus{outline:none}
.search__row input::placeholder{color:var(--ink-3)}
.search__res{display:grid;gap:.9rem;margin-top:1.6rem}
.sres{display:grid;grid-template-columns:56px 1fr auto;gap:1rem;align-items:center;padding-bottom:.9rem;border-bottom:var(--line);text-align:left;width:100%}
.sres__t{font-family:var(--serif);font-style:italic;font-size:1.02rem}
.search__sugg{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem}

/* toast */
.toast{position:fixed;left:50%;bottom:2rem;transform:translate(-50%,120%);z-index:160;background:var(--ink);color:var(--paper);
  padding:.95rem 1.4rem;font-size:.86rem;display:flex;gap:1.1rem;align-items:center;transition:transform .4s var(--ease);max-width:calc(100vw - 2rem)}
.toast[data-open="1"]{transform:translate(-50%,0)}
.toast button{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(var(--on-dark-rgb),.4);flex:none}

/* ============================================================
   PODSTRONY
   ============================================================ */
/* profil artysty */
.abio{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.4rem);align-items:start}
.abio__motto{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.4;margin-bottom:1.8rem}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:var(--line)}
.facts li{display:grid;grid-template-columns:88px 1fr;gap:1.2rem;padding:.85rem 0;border-bottom:var(--line);font-size:.88rem;align-items:baseline}
.facts .y{font-family:var(--mono);font-size:.7rem;color:var(--dusk);letter-spacing:.05em}
.quote{border-left:2px solid var(--ink);padding:.4rem 0 .4rem 1.6rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.5;max-width:34ch}
.quote cite{display:block;font-family:var(--mono);font-style:normal;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:1.1rem}
.vid{position:relative;background:var(--wall);aspect-ratio:16/9;display:grid;place-items:center;border:var(--line)}
.vid__play{width:64px;height:64px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:var(--shadow-play)}
.vid__play::after{content:"";width:0;height:0;border-left:14px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}

/* karta artysty (lista, gotowa na wielu twórców) */
.acard{display:flex;flex-direction:column;gap:1rem;border-bottom:var(--line);padding-bottom:1.4rem}
.acard h3{font-size:1.3rem}
.acard--soon{opacity:.62}
.acard--soon .art{filter:grayscale(1) contrast(.9)}
.tag{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--stone-2);color:var(--ink-2);padding:.3rem .55rem}

/* strona „O BloomArt”, artykuły */
.prose{max-width:70ch;display:grid;gap:1.15rem;color:var(--ink-2);line-height:1.8}
.prose h2{font-size:var(--t-h2);color:var(--ink);margin-top:1.6rem}
.prose h3{font-size:var(--t-h3);color:var(--ink);margin-top:1.2rem}
.prose strong{color:var(--ink);font-weight:500}
.numbered{counter-reset:s;display:grid;gap:0;border-top:var(--line)}
.numbered > div{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.4rem);padding:clamp(1.3rem,3vw,2rem) 0;border-bottom:var(--line)}
.numbered h3{font-size:var(--t-h3);margin-bottom:.55rem}
.numbered p{font-size:.9rem;color:var(--ink-2);max-width:64ch}
.numbered .n{counter-increment:s;font-family:var(--mono);font-size:.7rem;color:var(--dusk);letter-spacing:.06em;padding-top:.4rem}
.numbered .n::before{content:counter(s,decimal-leading-zero)}

/* checkout */
.checkout{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,4vw,3.6rem);align-items:start;padding:clamp(1.8rem,4vw,3rem) 0 0}
.stepper{display:flex;gap:0;margin-bottom:2.2rem;border-bottom:var(--line)}
.stepper button{flex:1;padding:0 0 .85rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;text-align:left}
.stepper button[aria-current="true"]{color:var(--ink);border-color:var(--ink)}
.sumbox{border:var(--line);background:var(--paper);position:sticky;top:110px}
.sumbox__h{padding:1.1rem 1.3rem;border-bottom:var(--line);font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.sumbox__b{padding:1.3rem}
.trustnote{display:flex;gap:.7rem;font-size:.78rem;color:var(--ink-2);padding:1rem 1.3rem;border-top:var(--line);background:var(--stone-2)}
.done{text-align:center;max-width:620px;margin:0 auto;padding:clamp(3rem,7vw,6rem) 0}
.done__mark{width:64px;height:64px;border-radius:50%;border:1px solid var(--dusk);color:var(--dusk);display:grid;place-items:center;margin:0 auto 1.8rem;font-size:1.5rem}
.done h1{font-size:var(--t-h1);margin-bottom:1.1rem}

/* strona systemu projektowego */
.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.sw__box{height:96px;border:var(--line)}
.sw b{display:block;font-size:.85rem;margin-top:.6rem;font-weight:500}
.sw span{font-family:var(--mono);font-size:.66rem;color:var(--ink-3);text-transform:uppercase}
.spec-table{width:100%;border-collapse:collapse;font-size:.86rem}
.spec-table th,.spec-table td{text-align:left;padding:.8rem .9rem;border-bottom:var(--line);vertical-align:top}
.spec-table th{font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.spec-table td code{font-family:var(--mono);font-size:.76rem;background:var(--stone-2);padding:.15rem .35rem}
.note{border-left:2px solid var(--dusk);background:var(--dusk-tint);padding:1.1rem 1.3rem;font-size:.86rem;color:var(--dusk-deep);line-height:1.7}

/* mobilny pasek zakupu (tylko telefon) */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--paper);border-top:var(--line);
  padding:.7rem var(--gut);display:none;gap:.6rem;align-items:center;box-shadow:var(--shadow-bar)}
.mbar__p{flex:1;min-width:0}
.mbar__p b{display:block;font-size:.95rem;font-weight:500}
.mbar__p span{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;color:var(--ink-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* menu mobilne */
.mnav{display:none}

/* ============================================================
   RESPONSYWNOŚĆ
   ============================================================ */
@media (max-width:1180px){
  .grid--4{grid-template-columns:repeat(3,1fr)}
  .igrid{grid-template-columns:repeat(4,1fr)}
  .catalog{grid-template-columns:230px 1fr}
}
@media (max-width:1024px){ /* TABLET */
  .nav{display:none}
  .burger{display:grid}
  .hdr__in{grid-template-columns:1fr auto}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero__wall{padding:clamp(2rem,7vw,3.4rem) var(--gut) clamp(4.6rem,10vw,6rem)}
  .hero__work{width:min(100%,360px)}
  .hero__txt{padding:clamp(2.2rem,6vw,3.4rem) var(--gut) clamp(2.6rem,7vw,4rem)}
  .feat,.room,.nl__in,.artist,.abio,.checkout{grid-template-columns:1fr}
  .artist,.abio{gap:2.2rem}
  .pdp{grid-template-columns:1fr;gap:2.2rem}
  .pdp__info,.sumbox{position:static}
  .cols--4{grid-template-columns:repeat(2,1fr)}
  .catalog{grid-template-columns:1fr}
  .catalog__side{display:none}
  .fbtn-mob{display:inline-flex}
  .ftr__top{grid-template-columns:1fr 1fr}
  .room__vis{min-height:320px}
}
@media (max-width:720px){ /* TELEFON */
  :root{--sec:clamp(3rem,11vw,4.4rem)}
  .util__note{display:none}
  .util__in{justify-content:center}
  .grid--4,.grid--3,.grid--2{grid-template-columns:repeat(2,1fr)}
  .grid{gap:1.5rem 1rem}
  .grid--posts{grid-template-columns:1fr}
  .cols--4,.cols--3,.cols--2{grid-template-columns:1fr}
  .igrid{grid-template-columns:repeat(3,1fr)}
  .form__grid{grid-template-columns:1fr}
  .thumbs{grid-template-columns:repeat(4,1fr)}
  .sect__head{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .ftr__top{grid-template-columns:1fr;gap:2.2rem}
  .logo{font-size:1.35rem}
  .hero__label{position:static;max-width:none;margin-top:1.6rem;background:none;padding:0}
  .hero__wall{padding-bottom:clamp(2rem,7vw,3rem);flex-direction:column}
  .pdp__main{padding:1.1rem}
  .price{font-size:1.5rem}
  .tool{width:38px;height:38px}
  .panel{width:100vw}
  /* karta dzieła: pełna szerokość i przyklejony pasek akcji */
  body.has-mbar .mbar{display:flex}
  body.has-mbar .ftr{padding-bottom:4.5rem}
  .scale__stage{height:190px}
  .modal{width:100vw;max-width:100vw;max-height:100vh;height:100%;top:0;left:0;transform:translateY(4%);border-radius:0}
  .modal[data-open="1"]{transform:none}
  .stepper button{font-size:.6rem}
  .quote{font-size:1.2rem}
}
@media (max-width:480px){
  .tool[data-go="account"]{display:none}
  .grid--4,.grid--3,.grid--2{grid-template-columns:1fr}
  .grid{gap:2rem}
  .card__media{padding:.9rem}
  .igrid{grid-template-columns:repeat(2,1fr)}
  .thumbs{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
   WARSTWA WORDPRESS / WOOCOMMERCE
   Mapuje znaczniki generowane przez WordPress i WooCommerce
   na komponenty systemu projektowego zdefiniowane powyżej.
   ============================================================ */

/* --- elementy redakcyjne WordPressa --- */
.entry-content > *{max-width:72ch}
.entry-content > .alignwide{max-width:1100px}
.entry-content > .alignfull{max-width:none;width:100%}
.entry-content p{margin:0 0 1.15em}
.entry-content h2{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);letter-spacing:-.01em;margin:2.4em 0 .7em}
.entry-content h3{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);margin:2em 0 .6em}
.entry-content ul,.entry-content ol{margin:0 0 1.3em;padding-left:1.2em}
.entry-content li{margin:.4em 0}
.entry-content blockquote{border-left:2px solid var(--dusk);margin:2em 0;padding:.2em 0 .2em 1.4rem;font-family:var(--serif);font-size:1.32rem;font-style:italic;line-height:1.5;color:var(--ink-2)}
.entry-content blockquote p:last-child{margin:0}
.entry-content img,.entry-content figure img{max-width:100%;height:auto;display:block}
.entry-content figure{margin:2.2em 0}
.entry-content figcaption{font-family:var(--mono);font-size:var(--t-meta);color:var(--ink-3);margin-top:.6rem;letter-spacing:.02em}
.entry-content a{color:var(--dusk);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.entry-content table{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:var(--t-small)}
.entry-content th,.entry-content td{text-align:left;padding:.7rem .6rem;border-bottom:var(--line)}
.entry-content th{font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:400}
.entry-content code{font-family:var(--mono);font-size:.86em;background:var(--stone-2);padding:.15em .4em;border-radius:var(--r)}
.wp-block-separator{border:0;border-top:var(--line);margin:2.6em 0}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:.6rem;left:.6rem;width:auto;height:auto;clip:auto;z-index:999;background:var(--ink);color:var(--ivory);padding:.7rem 1.1rem;border-radius:var(--r);font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.06em}
.wp-caption{max-width:100%}
.alignleft{float:left;margin:.4em 1.6em 1.2em 0}
.alignright{float:right;margin:.4em 0 1.2em 1.6em}
.aligncenter{margin-left:auto;margin-right:auto}
.sticky .entry-title::after{content:'wyróżnione';font-family:var(--mono);font-size:var(--t-meta);color:var(--dusk);margin-left:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* --- paginacja --- */
.pagination{display:flex;gap:.4rem;justify-content:center;margin-top:3.4rem;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .6rem;border:var(--line);border-radius:var(--r);font-family:var(--mono);font-size:var(--t-small);color:var(--ink-2);text-decoration:none;background:var(--paper);transition:border-color .2s var(--ease),color .2s var(--ease)}
.pagination .page-numbers:hover{border-color:var(--ink);color:var(--ink)}
.pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.pagination .page-numbers.dots{border-color:transparent}

/* --- siatka katalogu WooCommerce --- */
.woocommerce ul.products,ul.products{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1.6rem,3.2vw,3rem) clamp(1.2rem,2.6vw,2.2rem);grid-template-columns:repeat(3,1fr)}
ul.products::before,ul.products::after{display:none}
ul.products li.product{margin:0;padding:0;width:auto;float:none;clear:none}
.woocommerce ul.products li.product a img{margin:0}
.woocommerce-result-count{font-family:var(--mono);font-size:var(--t-meta);color:var(--ink-3);letter-spacing:.04em;margin:0}
.woocommerce-ordering select,.ba-select{font-family:var(--sans);font-size:var(--t-small);padding:.62rem 2.1rem .62rem .8rem;border:var(--line);border-radius:var(--r);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A8377' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .75rem center/11px;appearance:none;color:var(--ink);cursor:pointer}
.woocommerce ul.products li.product .price{color:inherit;font-size:inherit;font-weight:inherit}

/* --- karta produktu w siatce (zachowuje proporcje płótna) --- */
li.product .card__media{background:var(--wall)}
li.product .woocommerce-loop-product__title{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.25;font-style:italic;margin:0}

/* --- karta dzieła: układ dwukolumnowy --- */
.ba-product{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:clamp(2rem,4.4vw,4.4rem);align-items:start}
.ba-product__buy{position:sticky;top:6.4rem}
.woocommerce div.product form.cart{margin:0}
.woocommerce div.product form.cart div.quantity{display:none}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:1.9rem;font-family:var(--serif);font-weight:400;margin:0}
.woocommerce div.product p.price del{color:var(--ink-3);font-size:.6em}
.woocommerce div.product .woocommerce-product-rating{display:none}
.woocommerce-product-gallery{margin:0}
.woocommerce div.product div.images img{border-radius:var(--r)}

/* --- przyciski WooCommerce sprowadzone do komponentu .btn --- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-size:var(--t-small);font-weight:500;letter-spacing:.01em;line-height:1;
  padding:.95rem 1.6rem;border-radius:var(--r);border:1px solid var(--ink);
  background:var(--ink);color:var(--ivory);text-decoration:none;cursor:pointer;
  transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
  text-shadow:none;box-shadow:none;font-weight:500
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--dusk);border-color:var(--dusk);color:var(--on-dark)
}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{
  background:var(--stone-2);border-color:var(--stone);color:var(--ink-3);cursor:not-allowed;opacity:1
}
.woocommerce .button.wc-forward,.woocommerce a.added_to_cart{background:transparent;color:var(--ink);border-color:var(--stone)}
.woocommerce .button.wc-forward:hover,.woocommerce a.added_to_cart:hover{background:transparent;border-color:var(--ink);color:var(--ink)}

/* --- komunikaty WooCommerce --- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,ul.woocommerce-error{
  background:var(--paper);border:var(--line);border-left:2px solid var(--dusk);border-radius:var(--r);
  padding:1.05rem 1.3rem;font-size:var(--t-small);color:var(--ink-2);list-style:none;margin:0 0 1.8rem;
  display:flex;flex-wrap:wrap;align-items:center;gap:.8rem
}
.woocommerce-error,ul.woocommerce-error{border-left-color:var(--alert-deep)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;padding:.6rem 1.1rem}

/* --- formularze WooCommerce --- */
.woocommerce form .form-row{padding:0;margin:0 0 1.15rem;display:block}
.woocommerce form .form-row label{display:block;font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:.45rem}
.woocommerce form .form-row .required{color:var(--dusk);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,.select2-container--default .select2-selection--single{
  width:100%;font-family:var(--sans);font-size:var(--t-body);color:var(--ink);
  background:var(--paper);border:var(--line);border-radius:var(--r);padding:.82rem .9rem;line-height:1.4;height:auto
}
.woocommerce form .form-row textarea{min-height:7.5rem;resize:vertical}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  outline:2px solid var(--dusk);outline-offset:2px;border-color:var(--dusk)
}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,
.woocommerce-account .woocommerce-form-login,.woocommerce-checkout #order_review,
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout-review-order{
  background:var(--paper);border:var(--line);border-radius:var(--r);padding:clamp(1.3rem,2.6vw,2rem)
}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:.75rem;right:.5rem}
.select2-dropdown{border-color:var(--stone);border-radius:var(--r)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--dusk)}

/* --- koszyk i zamówienie --- */
.woocommerce table.shop_table,.woocommerce table.shop_table_responsive{
  border:var(--line);border-radius:var(--r);border-collapse:collapse;width:100%;margin:0 0 2rem;background:var(--paper)
}
.woocommerce table.shop_table th{
  font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-3);font-weight:400;padding:1rem;border-bottom:var(--line);text-align:left
}
.woocommerce table.shop_table td{padding:1.15rem 1rem;border-top:var(--line);vertical-align:top;font-size:var(--t-small)}
.woocommerce table.shop_table td.product-name a{color:var(--ink);text-decoration:none;font-family:var(--serif);font-style:italic;font-size:1.14rem}
.woocommerce table.shop_table img{width:74px;height:auto;border-radius:var(--r)}
.woocommerce table.shop_table .order-total .amount,.woocommerce .cart_totals .order-total .amount{font-family:var(--serif);font-size:1.5rem;font-weight:400}
.woocommerce .quantity .qty{display:none}
.woocommerce a.remove{color:var(--ink-3)!important;font-size:1.3rem;line-height:1;border-radius:0}
.woocommerce a.remove:hover{background:transparent;color:var(--ink)!important}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce .cart-collaterals{display:grid;grid-template-columns:1fr;gap:1.6rem;width:100%}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:var(--line);padding:0 0 1.2rem;margin:0 0 1.2rem;list-style:none}
.woocommerce-checkout #payment div.payment_box{background:var(--stone-2);border-radius:var(--r);font-size:var(--t-small);color:var(--ink-2)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--stone-2)}
.woocommerce-checkout #payment div.form-row{padding:1.2rem 0 0}
.woocommerce ul.order_details{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem;border:var(--line);border-radius:var(--r);padding:1.4rem;background:var(--paper);margin:0 0 2.4rem}
.woocommerce ul.order_details li{border:0;margin:0;padding:0;float:none;font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.woocommerce ul.order_details li strong{display:block;font-family:var(--sans);font-size:var(--t-body);text-transform:none;letter-spacing:0;color:var(--ink);margin-top:.35rem;font-weight:500}

/* --- kroki zamówienia --- */
.ba-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 2.6rem;padding:0;list-style:none}
.ba-steps li{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.ba-steps li::before{content:counter(ba-step);counter-increment:ba-step;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:var(--line);border-radius:50%;font-size:.66rem;color:var(--ink-3)}
.ba-steps{counter-reset:ba-step}
.ba-steps li + li::after{content:'';}
.ba-steps li.is-active{color:var(--ink)}
.ba-steps li.is-active::before{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.ba-steps li + li{margin-left:.4rem;padding-left:1.4rem;position:relative}
.ba-steps li + li::before{position:static}

/* --- konto klienta --- */
.woocommerce-account .woocommerce-MyAccount-navigation{width:26%;float:left}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.85rem 1.1rem;color:var(--ink-2);text-decoration:none;font-size:var(--t-small);border-bottom:var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--stone-2);color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content{width:70%;float:right}

/* --- widgety i galeria WooCommerce --- */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--ink)}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--stone)}
.woocommerce span.onsale{display:none}
.flex-control-thumbs{display:grid!important;grid-template-columns:repeat(6,1fr);gap:.5rem;margin:.7rem 0 0!important}
.flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.flex-control-thumbs img{border:var(--line);border-radius:var(--r);opacity:.6}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1;border-color:var(--ink)}

@media(max-width:1024px){
  .woocommerce ul.products,ul.products{grid-template-columns:repeat(2,1fr)}
  .ba-product{grid-template-columns:1fr}
  .ba-product__buy{position:static}
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none}
  .woocommerce-account .woocommerce-MyAccount-content{margin-top:1.6rem}
}
@media(max-width:520px){
  .woocommerce ul.products,ul.products{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive tr td{display:block;text-align:right;border-top:var(--line)}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);float:left;font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
  .woocommerce table.shop_table_responsive thead{display:none}
}

/* ============================================================
   WERSJE ZAKUPU — oryginał / wydruk / plik cyfrowy
   ============================================================ */
.versions{list-style:none;margin:1.6rem 0 0;padding:0;border-top:var(--line)}
.versions__i{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.95rem 0;border-bottom:var(--line)}
.versions__t{font-family:var(--sans);font-size:var(--t-body);font-weight:500;color:var(--ink)}
.versions__p{font-family:var(--serif);font-size:1.16rem;color:var(--ink);text-align:right;white-space:nowrap}
.versions__x{grid-column:1/-1;font-size:var(--t-small);color:var(--ink-3);line-height:1.5}
.versions__i.is-off .versions__t,.versions__i.is-off .versions__p{color:var(--ink-3)}
.versions__i.is-off .versions__p{font-style:italic}

/* zapis ceny złożonej z kilku wersji */
.price--from{color:var(--ink-2)}
.price--sold{color:var(--ink-3)}
.price__sep{color:var(--stone);margin:0 .1rem}
.card__price .price--from,.card__price .price--sold{font-size:.94em}

/* pasek edycji limitowanej */
.buy__note{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.02em;color:var(--ink-3);line-height:1.6;margin:.9rem 0 0}

/* ============================================================
   WARSTWA SZABLONÓW WORDPRESS
   Reguły dla klas używanych w plikach PHP motywu.
   Uzupełnia system projektowy przeniesiony z prototypu.
   ============================================================ */

.site-main,.woo-main{display:block}

/* --- sekcja --- */
.sec{padding:var(--sec) 0}
.sec + .sec{padding-top:0}
.sec--wall{background:var(--wall);padding:var(--sec) 0;margin:var(--sec) 0}
.sec--wall + .sec{padding-top:0}
.sec--related{padding-top:var(--sec);border-top:var(--line);margin-top:var(--sec)}

/* --- nagłówek sekcji --- */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:1.6rem;
       margin-bottom:clamp(1.8rem,3.4vw,3rem);flex-wrap:wrap}
.shead__t{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);line-height:1.12;
          letter-spacing:-.01em;margin:.2rem 0 0}

/* --- nagłówek strony --- */
.phead__t{font-family:var(--serif);font-weight:300;font-size:var(--t-h1);line-height:1.08;
          letter-spacing:-.015em;margin:.3rem 0 0}
.phead__x{font-size:var(--t-body);color:var(--ink-2);line-height:1.65;max-width:62ch;margin:1.1rem 0 0}
.phead__form{margin-top:1.6rem;max-width:34rem}

/* --- pasek przycisków --- */
.btnrow{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.6rem 0 0}

/* ============================================================
   NAGŁÓWEK WITRYNY
   ============================================================ */
.hdr{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--ivory) 92%,transparent);
     backdrop-filter:saturate(140%) blur(10px);border-bottom:var(--line);
     transition:padding .28s var(--ease)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;
         max-width:var(--max);margin:0 auto;padding:1.15rem var(--gut);transition:padding .28s var(--ease)}
.hdr.is-scrolled .hdr__in{padding-top:.7rem;padding-bottom:.7rem}
.hdr.is-scrolled .logo__sub{opacity:0;max-height:0;margin:0}

.hdr__brand{flex:none}
.hdr__brand .custom-logo{max-height:44px;width:auto;height:auto;display:block}
.logo{display:inline-block;text-decoration:none;color:var(--ink)}
.logo__mark{display:block;font-family:var(--serif);font-size:1.62rem;font-weight:300;
            letter-spacing:-.01em;line-height:1}
.logo__mark strong{font-weight:500}
.logo__sub{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.28em;
           text-transform:uppercase;color:var(--ink-3);margin-top:.4rem;
           transition:opacity .28s var(--ease),max-height .28s var(--ease);max-height:2rem}

.hdr__nav{flex:1;display:flex;justify-content:center}
.hdr__nav .nav{display:flex;gap:clamp(1rem,2.2vw,2.1rem);list-style:none;margin:0;padding:0}
.hdr__nav .nav a{font-size:var(--t-small);color:var(--ink-2);text-decoration:none;
                 padding:.35rem 0;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.hdr__nav .nav a:hover{color:var(--ink);border-bottom-color:var(--stone)}
.hdr__nav .nav .current-menu-item > a,.hdr__nav .nav [aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.hdr__nav .nav .sub-menu{display:none}

.hdr__acts{display:flex;align-items:center;gap:.35rem;flex:none}
.iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;
         width:2.5rem;height:2.5rem;border:0;background:transparent;color:var(--ink);
         cursor:pointer;text-decoration:none;border-radius:var(--r)}
.iconbtn:hover{background:var(--stone-2)}
.iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.iconbtn__n{position:absolute;top:.25rem;right:.2rem;min-width:1.05rem;height:1.05rem;
            padding:0 .2rem;border-radius:1rem;background:var(--dusk);color:var(--on-dark);
            font-family:var(--mono);font-size:.58rem;line-height:1.05rem;text-align:center}
.burger{display:none}

/* --- panel mobilny --- */
.panel__in{position:relative;padding:clamp(1.6rem,4vw,2.6rem)}
.panel__x{position:absolute;top:.6rem;right:.9rem;background:none;border:0;font-size:1.9rem;
          line-height:1;color:var(--ink-3);cursor:pointer;padding:.2rem .5rem}
.panel__x:hover{color:var(--ink)}
.nav--stack{display:grid;gap:.2rem;list-style:none;margin:2.4rem 0 0;padding:0}
.nav--stack a{display:block;padding:.85rem 0;border-bottom:var(--line);
              font-family:var(--serif);font-size:1.3rem;color:var(--ink);text-decoration:none}

/* ============================================================
   HERO
   ============================================================ */
.hero__copy{display:flex;flex-direction:column;justify-content:center;padding:var(--sec) var(--gut) var(--sec) 0}
.hero__t{font-family:var(--serif);font-weight:300;font-size:var(--t-hero);line-height:1.05;
         letter-spacing:-.02em;margin:.6rem 0 0}
.hero__x{font-size:1.02rem;color:var(--ink-2);line-height:1.7;max-width:44ch;margin:1.4rem 0 0}
.hero__copy .label{margin-top:2.4rem}

/* ============================================================
   WYRÓŻNIONE DZIEŁO / SEKCJA REDAKCYJNA
   ============================================================ */
.feat__copy{display:flex;flex-direction:column;justify-content:center}
.feat__t{font-family:var(--serif);font-weight:300;font-size:var(--t-h1);line-height:1.1;
         letter-spacing:-.015em;margin:.5rem 0 0}
.feat__x{font-size:var(--t-body);color:var(--ink-2);line-height:1.7;margin:1.2rem 0 0;max-width:52ch}
.feat__copy .label{margin-top:1.8rem}

/* --- poznaj artystę --- */
.artist-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
              gap:clamp(2rem,4.5vw,4.5rem);align-items:center}
.artist-intro__media{background:var(--wall);padding:clamp(1rem,2vw,1.6rem)}
.artist-intro__media img{display:block;width:100%;height:auto}
.artist-intro__copy{display:flex;flex-direction:column;justify-content:center}

/* --- kolekcje --- */
.coll__media{display:block;background:var(--wall);overflow:hidden;margin-bottom:1rem}
.coll__media img{display:block;width:100%;height:auto;transition:transform .9s var(--ease)}
.coll:hover .coll__media img{transform:scale(1.03)}
.coll__t{display:block;font-family:var(--serif);font-size:var(--t-h3);line-height:1.2;color:var(--ink)}
.coll__x{display:block;font-size:var(--t-small);color:var(--ink-2);line-height:1.55;margin-top:.5rem}
.coll__n{display:block;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.06em;
         color:var(--ink-3);margin-top:.7rem}

/* --- wyróżniki i kroki --- */
.usp__t{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.25;margin:0}
.usp__x{font-size:var(--t-small);color:var(--ink-2);line-height:1.6;margin:.6rem 0 0}
.step__t{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.25;margin:0}
.step__x{font-size:var(--t-small);color:var(--ink-2);line-height:1.6;margin:.5rem 0 0}

/* --- newsletter --- */
.news{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
      gap:clamp(2rem,4vw,4rem);align-items:center}
.news__form{background:var(--paper);border:var(--line);border-radius:var(--r);
            padding:clamp(1.3rem,2.6vw,2rem)}
.news__form input[type="email"],.news__form input[type="text"]{width:100%;font-family:var(--sans);
  font-size:var(--t-body);padding:.82rem .9rem;border:var(--line);border-radius:var(--r);background:var(--field-bg)}

/* ============================================================
   KARTA DZIEŁA — PANEL ZAKUPU
   ============================================================ */
.ba-product__media{min-width:0}
.ba-product__detail{padding-top:clamp(2.4rem,5vw,4.5rem)}
.buy{background:var(--paper);border:var(--line);border-radius:var(--r);
     padding:clamp(1.4rem,2.8vw,2.1rem)}
.buy__artist{font-size:var(--t-small);color:var(--ink-2);margin:0}
.buy__artist a{color:var(--dusk);text-decoration:none;border-bottom:1px solid transparent}
.buy__artist a:hover{border-bottom-color:var(--dusk)}
.buy__t{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.2vw,2.4rem);
        line-height:1.1;letter-spacing:-.01em;margin:.4rem 0 0}
.buy__spec{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.03em;
           color:var(--ink-3);margin:.8rem 0 0;line-height:1.6}
.buy__price{margin:1.3rem 0 1.1rem;font-family:var(--serif);font-size:1.9rem;line-height:1.2}
.buy__price .price--ask,.buy__price .price--sold{font-size:1.15rem;font-family:var(--sans);color:var(--ink-2)}
.buy__fav{margin-top:.7rem}
.buy__assur{list-style:none;margin:1.6rem 0 0;padding:1.3rem 0 0;border-top:var(--line);display:grid;gap:.6rem}
.buy__assur li{position:relative;padding-left:1.1rem;font-size:var(--t-small);color:var(--ink-2);line-height:1.5}
.buy__assur li::before{content:'';position:absolute;left:0;top:.55em;width:4px;height:4px;
                       border-radius:50%;background:var(--dusk)}
.buy .spec-table{margin-top:1.6rem}
.spec-table__row{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:var(--line)}
.spec-table__row:last-child{border-bottom:0}
.spec-table__row dt{font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;
                    letter-spacing:.07em;color:var(--ink-3)}
.spec-table__row dd{font-size:var(--t-small);color:var(--ink);margin:0;text-align:right}
.tab__s{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
        padding:1.05rem 0;font-family:var(--serif);font-size:var(--t-h3);color:var(--ink);
        border-bottom:var(--line)}
.tab__s::-webkit-details-marker{display:none}
.tab__s::after{content:'+';font-family:var(--sans);font-size:1.1rem;color:var(--ink-3)}
details[open] > .tab__s::after{content:'–'}
.ph__hint{font-family:var(--mono);font-size:var(--t-meta);color:var(--ink-3);
          line-height:1.6;margin:.9rem 0 0}
.art--empty{display:flex;align-items:center;justify-content:center;background:var(--stone-2);
            border:1px dashed var(--stone);width:100%}
.card--sold .card__media{opacity:.82}

/* ============================================================
   KATALOG
   ============================================================ */
.catalog__layout{display:grid;grid-template-columns:15.5rem minmax(0,1fr);
                 gap:clamp(1.6rem,3.4vw,3.2rem);align-items:start}
.catalog__side{position:sticky;top:6.4rem}
.catalog__main{min-width:0}
.catalog__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;
              padding-bottom:1.1rem;border-bottom:var(--line);margin-bottom:clamp(1.6rem,3vw,2.4rem);
              flex-wrap:wrap}
.fgroup__t{font-family:var(--mono);font-size:var(--t-meta);text-transform:uppercase;
           letter-spacing:.09em;color:var(--ink-3);font-weight:400;margin:0 0 .7rem}
.widget{margin-bottom:1.8rem}
.widget ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.widget li a{font-size:var(--t-small);color:var(--ink-2);text-decoration:none}
.widget li a:hover{color:var(--ink)}

/* ============================================================
   WPISY I ARTYKUŁY
   ============================================================ */
.article__head{padding-top:clamp(2rem,4vw,3.4rem)}
.article__t{font-family:var(--serif);font-weight:300;font-size:var(--t-h1);line-height:1.1;
            letter-spacing:-.015em;margin:.5rem 0 0}
.article__lead{font-size:1.08rem;color:var(--ink-2);line-height:1.7;margin:1.2rem 0 0}
.article__media{margin:clamp(2rem,4vw,3.4rem) 0}
.article__media img{display:block;width:100%;height:auto}
.article__foot{padding:2rem 0 0}
.dot{color:var(--stone);margin:0 .45rem}

.pcard{display:flex;flex-direction:column}
.pcard__media{display:block;background:var(--wall);overflow:hidden;margin-bottom:1rem}
.pcard__media img,.pcard__media .art{display:block;width:100%;height:auto}
.pcard__body{display:flex;flex-direction:column;flex:1}
.pcard__t{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.25;margin:.3rem 0 0}
.pcard__t a{color:var(--ink);text-decoration:none}
.pcard__t a:hover{color:var(--dusk)}
.pcard__x{font-size:var(--t-small);color:var(--ink-2);line-height:1.6;margin:.7rem 0 1rem}
.pcard .tlink{margin-top:auto;align-self:flex-start}

/* --- wyszukiwarka --- */
.sform{display:flex;gap:.5rem}
.sform__i{flex:1;font-family:var(--sans);font-size:var(--t-body);padding:.8rem .9rem;
          border:var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.sform__i:focus{outline:2px solid var(--dusk);outline-offset:2px}

/* ============================================================
   STOPKA
   ============================================================ */
.ftr{background:var(--ink);color:var(--ivory);margin-top:var(--sec);padding:clamp(3rem,6vw,5.5rem) 0 0}
.ftr__in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(1.6rem,3.4vw,3rem);
         max-width:var(--max);margin:0 auto;padding:0 var(--gut) clamp(2.4rem,5vw,4rem)}
.ftr__brand .logo__mark{color:var(--ivory)}
.ftr__brand .logo__sub{color:rgba(var(--ivory-rgb),.55)}
.ftr__desc{font-size:var(--t-small);color:rgba(var(--ivory-rgb),.7);line-height:1.65;margin:1.2rem 0 0;max-width:34ch}
.ftr__nav .ftr__list,.ftr__col ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ftr__list a,.ftr__col a{font-size:var(--t-small);color:rgba(var(--ivory-rgb),.72);text-decoration:none}
.ftr__list a:hover,.ftr__col a:hover{color:var(--ivory)}
.ftr__col .eyebrow{color:rgba(var(--ivory-rgb),.5);margin-bottom:.9rem}
.ftr__bar{border-top:1px solid rgba(var(--ivory-rgb),.16);padding:1.5rem var(--gut);
          max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;
          align-items:center;gap:1rem;flex-wrap:wrap}
.ftr__cr{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.04em;
         color:rgba(var(--ivory-rgb),.5);margin:0}
.ftr__legal{list-style:none;display:flex;gap:1.3rem;margin:0;padding:0}
.ftr__legal a{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.04em;
              color:rgba(var(--ivory-rgb),.5);text-decoration:none}
.ftr__legal a:hover{color:var(--ivory)}

/* ============================================================
   RESPONSYWNOŚĆ
   ============================================================ */
@media(max-width:1024px){
  .hdr__nav{display:none}
  .burger{display:inline-flex}
  .catalog__layout{grid-template-columns:1fr}
  .catalog__side{position:static}
  .artist-intro,.news{grid-template-columns:1fr}
  .ftr__in{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .hero__copy{padding:2.4rem var(--gut) 3rem}
  .shead{align-items:flex-start}
  .ftr__in{grid-template-columns:1fr}
  .ftr__bar{flex-direction:column;align-items:flex-start}
  .buy__assur{gap:.5rem}
}

/* ============================================================
   STRONA GŁÓWNA — HERO JAKO MIEJSCE
   Kompozycja prac różnych artystów zamiast jednego dzieła.
   ============================================================ */
.hero--place{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
             align-items:center;min-height:min(74vh,720px);border-bottom:var(--line)}
.hero--place .hero__copy{padding:var(--sec) clamp(1rem,2.4vw,2.4rem) var(--sec) var(--gut);max-width:none}
.hero--place .hero__x{max-width:52ch}
.hero--place .btnrow{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:clamp(1.8rem,3vw,2.6rem)}

.hero__wall{position:relative;display:grid;place-items:center;
            padding:clamp(2rem,5vw,4.5rem) var(--gut)}
.hero__set{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.8rem,1.8vw,1.6rem);
           width:100%;max-width:640px;align-items:end}
.hero__piece{position:relative;display:block;grid-column:span 3}
.hero__set[data-count="1"] .hero__piece{grid-column:span 6}
.hero__set[data-count="2"] .hero__piece:first-child{grid-column:span 4}
.hero__set[data-count="2"] .hero__piece:last-child{grid-column:span 2}
.hero__set[data-count="3"] .hero__piece:first-child{grid-column:span 6}
.hero__set[data-count="3"] .hero__piece:nth-child(2),
.hero__set[data-count="3"] .hero__piece:nth-child(3){grid-column:span 3}
.hero__piece img{width:100%;height:auto;display:block}
.hero__by{display:block;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;
          text-transform:uppercase;color:var(--ink-3);margin-top:.7rem}

/* ============================================================
   SIATKA ARTYSTÓW
   Akcent z opublikowanego motywu artysty wchodzi zmienną --acard-accent.
   Bez wtyczki bloomart-artists karta zostaje neutralna.
   ============================================================ */
.grid--artists{align-items:stretch}
.acard{position:relative;display:grid;grid-template-rows:auto 1fr;gap:1rem;
       background:var(--paper);border:var(--line);border-radius:var(--r);
       padding:clamp(.9rem,1.8vw,1.3rem);
       transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.acard:hover{border-color:var(--ink);box-shadow:var(--shadow-card)}

/* podbarwienie akcentem artysty — pasek u góry i delikatna poświata tła */
.acard--accent{border-top:3px solid var(--acard-accent,var(--dusk));
               background:linear-gradient(180deg,
                 color-mix(in srgb,var(--acard-accent,var(--dusk)) 7%,var(--paper)) 0%,
                 var(--paper) 46%)}
.acard--accent:hover{border-color:var(--acard-accent,var(--dusk))}
.acard--accent .acard__host{background:color-mix(in srgb,var(--acard-accent,var(--dusk)) 12%,var(--paper));
                            border-color:color-mix(in srgb,var(--acard-accent,var(--dusk)) 45%,var(--stone));
                            color:var(--acard-accent,var(--dusk-deep))}
.acard--accent .acard__t a:hover{color:var(--acard-accent,var(--dusk))}

.acard__media{display:block;background:var(--wall);overflow:hidden}
.acard__media img{display:block;width:100%;height:auto;transition:transform .9s var(--ease)}
.acard:hover .acard__media img{transform:scale(1.02)}
.acard__mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:2px}
.acard__tile{display:block;overflow:hidden;background:var(--wall)}
.acard__tile:first-child{grid-column:span 2}
.acard__tile img,.acard__tile .art{width:100%;height:100%;object-fit:cover;display:block}

.acard__body{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.acard__t{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);line-height:1.2;margin:0}
.acard__t a{color:var(--ink);transition:color .25s var(--ease)}
.acard__x{font-size:var(--t-small);color:var(--ink-2);line-height:1.6;margin:0}
.acard__host{margin-top:auto;display:inline-block;font-family:var(--mono);font-size:var(--t-meta);
             letter-spacing:.06em;color:var(--ink-3);background:var(--stone-2);
             border:1px solid var(--stone);border-radius:var(--r);padding:.28rem .55rem}

/* ============================================================
   PROFIL ARTYSTY
   ============================================================ */
.artist__head{background:var(--wall);margin-bottom:0}
.artist__head--accent{background:linear-gradient(180deg,
  color-mix(in srgb,var(--acard-accent,var(--dusk)) 9%,var(--wall)) 0%,var(--wall) 100%)}
.artist__headin{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
                gap:clamp(2rem,4.5vw,4.5rem);align-items:center}
.artist__portrait{background:var(--paper);padding:clamp(.8rem,1.6vw,1.3rem);border:var(--line)}
.artist__portrait img{display:block;width:100%;height:auto}
.artist__intro{display:flex;flex-direction:column;justify-content:center}
.artist__t{font-family:var(--serif);font-weight:300;font-size:var(--t-h1);line-height:1.08;
           letter-spacing:-.015em;margin:.4rem 0 0}
.artist__motto{font-family:var(--serif);font-style:italic;font-size:1.28rem;line-height:1.5;
               color:var(--ink-2);margin:1.2rem 0 0;max-width:46ch}
.artist__facts{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:2rem 0 0;
               padding-top:1.4rem;border-top:var(--line)}
.artist__facts div{display:grid;gap:.25rem}
.artist__facts dt{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;
                  text-transform:uppercase;color:var(--ink-3)}
.artist__facts dd{margin:0;font-size:var(--t-small);color:var(--ink)}
.artist__facts dd a{color:var(--dusk);border-bottom:1px solid var(--stone)}
.artist__facts dd a:hover{border-bottom-color:var(--dusk)}
.artist__cv{min-width:0}

.cvlist{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.1rem}
.cvlist li{padding:.8rem 0;border-bottom:var(--line);font-size:var(--t-small);
           color:var(--ink-2);line-height:1.6}

/* ============================================================
   WYSTAWY
   ============================================================ */
.exh__head{padding-bottom:0}
.exh__facts{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:2rem 0 0;
            padding-top:1.4rem;border-top:var(--line)}
.exh__facts div{display:grid;gap:.25rem}
.exh__facts dt{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:.08em;
               text-transform:uppercase;color:var(--ink-3)}
.exh__facts dd{margin:0;font-size:var(--t-small);color:var(--ink)}
.exh__media{margin:clamp(2rem,4vw,3.4rem) auto 0;background:var(--wall)}
.exh__media img{display:block;width:100%;height:auto}
.exhcard .card__body{gap:.35rem}

/* ============================================================
   MENU MOBILNE — dodatki w panelu
   ============================================================ */
.panel__extra{margin-top:2.2rem;padding-top:1.6rem;border-top:var(--line)}
.panel__extra .search-form{display:flex;gap:.5rem}
.panel__links{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.6rem}
.panel__links a{font-size:var(--t-small);color:var(--ink-2);
                border-bottom:1px solid transparent}
.panel__links a:hover{color:var(--ink);border-bottom-color:var(--stone)}

/* ============================================================
   STRONA OFFLINE
   ============================================================ */
.bloomart-offline{display:grid;place-items:center;min-height:100vh}
.offline{text-align:left;max-width:52ch}
.offline__acts{margin-top:clamp(1.8rem,3vw,2.6rem)}
.offline__note{margin-top:2.2rem;display:block;line-height:1.7;text-transform:none;
               letter-spacing:.02em}

/* ============================================================
   RESPONSYWNOŚĆ — nowe komponenty
   ============================================================ */
@media(max-width:1024px){
  .hero--place{grid-template-columns:1fr}
  .hero--place .hero__copy{padding:var(--sec) var(--gut) 0}
  .hero__wall{padding-top:clamp(2rem,4vw,3rem)}
  .artist__headin{grid-template-columns:1fr}
  .grid--artists{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .grid--artists{grid-template-columns:1fr}
  .hero__set{max-width:100%}
  .artist__facts,.exh__facts{gap:1rem 1.6rem}
}
