/* Client catalogue only. Shared operator and review styles remain separate. */
.catalog-page{--paper:#f5f1e9;--ink:#211b15;--muted:#74685b;--line:#dbd1c2;--gold:#c7a671;background:var(--paper);font-size:14px}
[hidden]{display:none!important}.catalog-page .reviewbar{background:#0f0d0b;color:#b7a98f;padding:7px 3.3%;font-size:9px}.catalog-header{background:#171310;color:#eee3d0;min-height:104px;grid-template-columns:minmax(260px,340px) minmax(200px,650px) 1fr;gap:28px;border-bottom:1px solid #b498663e;padding:20px 3.3%}.catalog-header .brand{font-size:34px;color:#e5d3ad}.catalog-header .brand span{font-size:14px;letter-spacing:4px}.catalog-header .search{height:45px;background:#25201a;border:1px solid #8a735341;padding:0 16px;gap:12px;margin:0}.catalog-header .search input{width:100%;font-size:13px;color:#f3ebdf;padding:10px 0;min-width:0}.catalog-header .search input::placeholder{color:#c0b5a4}.catalog-header .search svg{stroke:#d9c398;flex-shrink:0}.catalog-header kbd{white-space:nowrap;color:#a89981;font:11px var(--sans)}.catalog-header .list-trigger{font-size:13px;white-space:nowrap;gap:12px;min-height:44px}.list-trigger>svg{width:22px;height:24px;stroke:#dcc59e;fill:none;stroke-width:1.15}.catalog-header .list-trigger span{border-color:#b3925e;color:#f7e6c0;font-size:12px}
.catalog-campaign{height:300px;position:relative;overflow:hidden;color:#f7e9cb;background:#171411;border-bottom:1px solid #b39157}.catalog-campaign>img{width:100%;height:100%;object-fit:cover;object-position:65% 55%}.catalog-campaign:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100d0cba,transparent 62%);pointer-events:none}.campaign-copy{position:absolute;left:6%;top:28px;z-index:1}.campaign-copy .eyebrow{font-size:9px;letter-spacing:2.3px;color:#dbc18c}.campaign-copy h1{font-size:64px;line-height:.98;letter-spacing:-2px;margin:16px 0 19px;text-shadow:0 2px 20px #0005}.campaign-copy h1 em{font-weight:400;color:#ead1a1}.campaign-copy a:not(.campaign-cta){font-size:11px;display:flex;gap:44px;align-items:center;width:max-content;border-bottom:1px solid #bba271;padding:4px 0 8px}.campaign-copy a:not(.campaign-cta) span{font-size:19px}.campaign-edition{position:absolute;right:3.3%;bottom:21px;font-size:8px;letter-spacing:2px;z-index:1;color:#ebdcbd}
.catalog-page .collection{padding:30px 3.3% 65px;max-width:1800px;margin:auto;scroll-margin-top:15px}.collection-heading{display:flex;align-items:center;gap:15px;margin-bottom:24px}.collection-heading h2{font-size:39px;letter-spacing:-1px}.gold-dot{color:#a67d3f}.catalog-page .section-count{padding:0;display:block;font-size:10px;letter-spacing:0;color:var(--muted);margin-top:5px}.inspiration-link{margin-left:auto;border:0;background:none;text-align:right;font-size:11px;line-height:1.7;color:var(--muted)}.inspiration-link span{display:block;color:var(--ink);font-size:12px}.catalog-page .collection-tools{margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:block}.catalog-page .filters{gap:35px;overflow-x:auto;scrollbar-width:none;align-items:center}.catalog-page .filters::-webkit-scrollbar{display:none}.catalog-page .filters button{white-space:nowrap;font-size:13px;padding:18px 0;min-height:53px;color:#756858;position:relative}.catalog-page .filters button.active{color:#231c13;box-shadow:inset 0 -2px #9b753d}.catalog-page .filters sup{font-size:9px;color:#978369;margin-left:5px}.catalog-controls{display:flex;align-items:center;gap:26px;min-height:71px;font-size:12px}.catalog-controls select{font:12px var(--sans);color:var(--ink);border:0;background:transparent;max-width:210px;padding:10px 20px 10px 0;cursor:pointer}.brand-filter{display:flex;align-items:center;gap:12px}.brand-filter>span{color:var(--muted)}.selected-filter{display:flex;align-items:center;gap:7px;cursor:pointer}.selected-filter input{accent-color:#684923;width:15px;height:15px;margin:0}.sort-filter{margin-left:auto}.reset-filters{background:none;border:0;border-bottom:1px solid var(--line);padding:5px 0;font-size:11px}.catalog-page .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.catalog-page .card{min-width:0}.catalog-page .card-photo{aspect-ratio:4/4.7;background:#ede6dc;border:1px solid #dbcfba70}.catalog-page .card-photo img{object-fit:cover}.catalog-page .card-photo .save{width:35px;height:35px;font-size:24px;right:12px;top:12px;border:1px solid #ddcfbba8;background:#fbf7f0e6}.catalog-page .card-photo .save[aria-pressed=true]{background:#282019;color:#f1d9b0;border-color:#c7a671}.catalog-page .card h3{margin:18px 0 8px}.catalog-page .card h3 button{display:flex;align-items:center;gap:17px;min-height:32px;line-height:1.2;width:100%}.catalog-page .card-brand{font-size:10px;letter-spacing:1.3px;flex-shrink:0;max-width:48%;line-height:1.5;color:#655038}.catalog-page .card-brand[data-brand="Dior"]{font:24px var(--serif);letter-spacing:-1px;text-transform:none;color:#392b19}.catalog-page .card-brand[data-brand="Hermès"]{font:15px var(--serif);letter-spacing:1px;color:#392b19}.catalog-page .card-brand[data-brand="Rolex"]{font:17px var(--serif);letter-spacing:1px;color:#392b19}.catalog-page .card-model{font-size:15px;line-height:1.35;font-weight:500;letter-spacing:-.25px}.catalog-page .card .caption{font-size:11px;min-height:30px}.quick-add{font:11px var(--sans);padding:10px 14px;border:1px solid #b8a07d;background:transparent;color:#38291a;min-height:38px;display:flex;align-items:center;gap:20px;white-space:nowrap}.quick-add:hover{background:#eadcc8}.quick-add[aria-pressed=true]{background:#282019;border-color:#282019;color:#f5e6cd}.catalog-page .card.is-selected .card-photo{border-color:#9d793e;box-shadow:0 0 0 1px #9d793e}.card-reference{font-size:10px;color:var(--muted);margin-top:5px}.catalog-page #no-results{text-align:center;padding:65px 20px}.catalog-page #no-results h3{font:35px var(--serif);margin-bottom:12px}.catalog-page #no-results p{font-size:13px;max-width:460px;margin:0 auto 23px;line-height:1.7}.catalog-page #no-results .button{text-decoration:none;border:1px solid #9d793e;background:#211b15;color:#f5e6cd}.load-more{display:block;padding:15px 25px;margin:40px auto 0;background:transparent;border:1px solid var(--line);font-size:12px;min-width:240px}.catalog-footer{padding:34px 3.3% 95px;background:#171310;color:#d2bb93;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #a98a534d}.catalog-footer .brand{font-size:27px}.catalog-footer .brand span{font-size:11px}.catalog-footer p,.catalog-footer>a:last-child{font-size:11px}.cart-dock{position:fixed;z-index:12;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;background:#201911f5;color:#ead6b6;border:1px solid #ac8754;padding:12px 13px 12px 20px;box-shadow:0 10px 35px #20150540;backdrop-filter:blur(12px);min-width:480px;max-width:calc(100vw - 32px)}#cart-preview{display:flex}#cart-preview img{width:36px;height:44px;object-fit:cover;border:1px solid #b69a70;margin-left:-6px}#cart-preview img:first-child{margin-left:0}.cart-dock strong{display:block;font-size:12px;font-weight:500}.cart-dock>div>span{display:block;font-size:10px;color:#bdac92;margin-top:5px}.cart-dock button{margin-left:auto;background:#d7bc8b;color:#221a0f;border:0;font-size:12px;min-height:44px;padding:10px 18px;white-space:nowrap}.cart-dock button span{margin-left:20px}.catalog-page .button.dark{background:#2b2117;color:#f3e2c5;border-color:#a98a56;font-size:12px}.catalog-page #toast{bottom:110px;background:#2b2117;color:#f3e2c5}.catalog-page .product-copy h2{font-size:44px}.product-brand{color:#7f5d2f;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}.product-reference{margin-top:12px;color:var(--muted)}.catalog-page .product-copy .sample-note{font-size:11px}.catalog-page .list-item label{font-size:11px}.catalog-page .sample-note{font-size:11px}.catalog-page .list-content h2{font-size:50px}.catalog-page .product-copy>p{font-size:13px}
@media(min-width:1400px){.catalog-page .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-campaign{height:340px}.campaign-copy{top:37px}.campaign-copy h1{font-size:73px}}
@media(max-width:1000px){.catalog-header{grid-template-columns:minmax(220px,280px) minmax(150px,1fr) auto;gap:18px}.catalog-header .brand{font-size:29px}.catalog-header .brand span{font-size:11px;letter-spacing:2.6px}.catalog-header kbd{display:none}.catalog-page .filters{gap:26px}.catalog-controls{gap:18px}.catalog-page .card h3 button{gap:12px}.catalog-page .card-brand{font-size:9px}.catalog-page .card-model{font-size:14px}.quick-add{gap:10px;padding:8px 10px}.catalog-page .card .caption{font-size:10px}}
@media(max-width:650px){.catalog-page .reviewbar{padding:6px 18px;font-size:8px}.catalog-header{grid-template-columns:1fr auto;gap:13px;padding:13px 18px;min-height:110px}.catalog-header .brand{font-size:29px}.catalog-header .brand span{font-size:12px;letter-spacing:3px}.catalog-header .list-trigger{font-size:12px;gap:8px}.catalog-header .search{grid-column:1/-1;grid-row:2;height:39px;padding:0 12px}.catalog-header .search input{font-size:12px}.catalog-campaign{height:225px}.catalog-campaign>img{object-position:72% 53%}.catalog-campaign:after{background:linear-gradient(90deg,#100d0caf,transparent 80%)}.campaign-copy{left:20px;top:24px}.campaign-copy .eyebrow{font-size:7px;letter-spacing:1.3px}.campaign-copy h1{font-size:46px;line-height:1.02;margin:17px 0;letter-spacing:-1.5px}.campaign-copy a:not(.campaign-cta){font-size:10px;gap:25px;padding-bottom:4px}.campaign-edition{font-size:6px;right:16px;bottom:13px;letter-spacing:1px}.catalog-page .collection{padding:23px 18px 45px;scroll-margin-top:0}.collection-heading{margin-bottom:17px;gap:10px;flex-wrap:wrap}.collection-heading h2{font-size:33px}.catalog-page .section-count{font-size:9px}.inspiration-link{font-size:0;line-height:1.3;max-width:125px;padding:5px 0}.inspiration-link span{font-size:10px}.catalog-page .collection-tools{margin:0 0 0;padding:0}.catalog-page .filters{gap:24px}.catalog-page .filters button{font-size:12px;min-height:48px;padding:15px 0}.catalog-page .filters sup{font-size:8px;margin-left:3px}.catalog-controls{gap:12px;min-height:61px;flex-wrap:wrap;padding:10px 0 15px}.catalog-controls select{font-size:11px;padding:7px 12px 7px 0;max-width:155px}.brand-filter{gap:7px}.brand-filter>span{display:none}.selected-filter{font-size:10px;gap:4px;margin-left:auto}.selected-filter input{width:13px;height:13px}.sort-filter{margin-left:0}.reset-filters{font-size:10px;order:4;margin-left:auto}.catalog-page .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 13px}.catalog-page .card:first-child{grid-column:auto}.catalog-page .card:first-child .card-photo,.catalog-page .card-photo{aspect-ratio:4/5}.catalog-page .card-photo .save{width:30px;height:30px;right:7px;top:7px;font-size:21px}.catalog-page .card h3{margin:11px 0 7px}.catalog-page .card h3 button{display:block;min-height:51px}.catalog-page .card-brand{max-width:none;font-size:8px;letter-spacing:.9px;margin-bottom:5px;min-height:17px;display:block}.catalog-page .card-brand[data-brand="Dior"]{font-size:19px;line-height:17px}.catalog-page .card-brand[data-brand="Hermès"],.catalog-page .card-brand[data-brand="Rolex"]{font-size:13px;line-height:17px}.catalog-page .card-model{font-size:13px;line-height:1.3}.catalog-page .card .caption{display:block;font-size:10px}.quick-add{font-size:11px;width:100%;justify-content:space-between;margin-top:10px;min-height:40px;padding:9px 12px}.catalog-footer{padding:26px 18px 100px;flex-wrap:wrap}.catalog-footer p{order:3;width:100%;font-size:10px}.catalog-footer .brand{font-size:24px}.catalog-footer .brand span{font-size:10px}.cart-dock{left:12px;right:12px;bottom:12px;transform:none;min-width:0;max-width:none;padding:10px;gap:10px}#cart-preview{display:none}.cart-dock strong{font-size:11px}.cart-dock>div>span{font-size:9px}.cart-dock button{font-size:11px;padding:10px 12px}.cart-dock button span{margin-left:10px}.catalog-page .product-copy h2{font-size:35px}.catalog-page #toast{bottom:92px}.catalog-page .product-gallery>#product-main-image{height:300px}.catalog-page .product-copy{padding:27px 23px}}
@media(max-width:650px){.catalog-campaign{height:180px}.campaign-copy{top:18px}.campaign-copy h1{font-size:40px;margin:12px 0}.campaign-copy a:not(.campaign-cta){font-size:9px;padding-bottom:3px}.campaign-edition{font-size:5px}.catalog-controls{padding:5px 0 10px;gap:4px 12px;min-height:57px}.catalog-controls select{padding-top:5px;padding-bottom:5px}.sort-filter{flex-basis:100%}.sort-filter select{font-size:10px}}
/* The product remains fully visible; long galleries scroll without shrinking their frames. */
.product-zoom-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.product-zoom-trigger #product-main-image{width:100%;height:clamp(300px,57svh,550px);object-fit:contain}.product-zoom-hint{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:25px;padding:11px 14px;background:#f8f4ecee;border:1px solid #cfbfa6;color:#4b3820;font-size:10px;letter-spacing:.2px}.product-zoom-hint>span{font-size:19px}.product-gallery-caption{display:flex;justify-content:space-between;padding:16px 0 0;font-size:10px;color:#716654}.catalog-page .product-thumbnails{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:5px}.catalog-page .product-thumb{flex:0 0 60px}.catalog-page .product-thumb[aria-pressed=true]{border-color:#9d793e}
#gallery-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#f1ece3;color:#292219;overflow:hidden}#gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:none}#gallery-dialog .gallery-top{position:static;display:flex;justify-content:space-between;gap:25px;padding:18px 30px;min-height:82px;background:#1b1611;color:#eee1ca;border-bottom:1px solid #9d793e}#gallery-title{font:400 24px var(--serif);letter-spacing:0;line-height:1.2;margin-top:6px}.gallery-label{font-size:8px;letter-spacing:2px;color:#c6af88}#gallery-close{flex:0 0 44px;height:44px;border:1px solid #74644d;background:transparent;color:#eee1ca;font-size:28px}.gallery-canvas{min-width:0;min-height:0;overflow:auto;position:relative;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.gallery-image-space{width:100%;height:100%;min-width:100%;min-height:100%;display:grid;place-items:center;padding:24px}#gallery-image{display:block;max-width:none;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}.gallery-canvas.is-zoomed .gallery-image-space{width:200%;height:200%;padding:0}.gallery-controls{display:flex;align-items:center;gap:12px;padding:14px 30px;background:#f8f5ef;border-top:1px solid #d2c5b1}.gallery-controls button{min-width:44px;min-height:44px;padding:10px 15px;border:1px solid #bba17b;background:transparent;color:#433119;font-size:13px}.gallery-controls button:disabled{opacity:.3}.gallery-controls button[aria-pressed=true]{background:#282019;color:#f4e1c1}#gallery-position{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}#gallery-zoom{margin-left:12px}.gallery-help{font-size:11px;color:#74634c;margin-left:auto}#gallery-error{position:absolute;left:20px;right:20px;top:45%;text-align:center;font-size:13px;line-height:1.7}
@media(max-width:650px){.product-zoom-trigger #product-main-image{height:330px}.product-zoom-hint{right:5px;bottom:5px;padding:9px 12px;gap:15px}.catalog-page .product-thumb{flex-basis:52px}#gallery-dialog .gallery-top{padding:15px 18px;gap:16px;min-height:86px}#gallery-title{font-size:21px;overflow-wrap:anywhere}.gallery-image-space{padding:10px}.gallery-controls{padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:6px;flex-wrap:wrap}#gallery-zoom{margin-left:auto;font-size:11px;padding:10px}.gallery-help{width:100%;margin:5px 0 0;text-align:center;font-size:10px}.gallery-controls>button{min-width:42px}.gallery-label{font-size:7px;letter-spacing:1.5px}}

/* E2E-004: instant first-paint skeleton while design-catalog loads */
.card-skeleton{pointer-events:none}
.card-skeleton .card-photo{background:linear-gradient(90deg,#e9e2d6 25%,#f3ede3 50%,#e9e2d6 75%);background-size:200% 100%;animation:cb-skel 1.2s ease-in-out infinite}
.card-skeleton .skel-line{display:block;height:10px;margin:6px 0;border-radius:2px;background:linear-gradient(90deg,#e4ddd1 25%,#efe8dc 50%,#e4ddd1 75%);background-size:200% 100%;animation:cb-skel 1.2s ease-in-out infinite}
.card-skeleton .skel-line.short{width:62%}
.card-skeleton .skel-line.tiny{width:40%;height:8px}
@keyframes cb-skel{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* Luxusowe Zakupy brand */
.catalog-header .brand{font-size:26px;letter-spacing:-0.5px}.catalog-header .brand span{font-size:11px;letter-spacing:1.5px;display:inline}

/* Mobile UX: equal card CTA rhythm + CLS reserves */
.catalog-page .cards{align-items:stretch}
.catalog-page .card{display:flex;flex-direction:column;height:100%}
.catalog-page .card h3{flex:1 1 auto}
.catalog-page .card .caption{margin-top:auto;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;min-height:72px}
.catalog-page .card-photo img,.catalog-page .card-photo .card-image-primary,.catalog-page .card-photo .card-image-secondary{width:100%;height:100%;object-fit:cover;display:block}
.catalog-page .card-photo{position:relative;overflow:hidden}
.catalog-campaign>img{width:100%;height:100%;aspect-ratio:16/9}
.catalog-page .product-gallery>#product-main-image{width:100%;aspect-ratio:4/5;object-fit:cover;height:auto}
@media(max-width:650px){
.catalog-page .card .caption{min-height:78px}
.quick-add{margin-top:auto}
}


/* SKU spacing: reference on own line under model (never glue MM+M41177) */
.catalog-page .card h3 button{flex-wrap:wrap;align-items:flex-start}
.catalog-page .card-model{display:block;width:100%;letter-spacing:0}
.catalog-page .card-reference{display:block;width:100%;margin-top:4px;font-size:10px;color:var(--muted);letter-spacing:0.02em}
@media(max-width:650px){
.catalog-page .card-reference{margin-top:3px;font-size:9px}
}


/* Brand logo mark — Luxusowe Zakupy (#171310 / #E4D0A8) */
.catalog-header .brand.brand-logo,
.catalog-footer .brand.brand-logo{
  display:flex;align-items:center;text-decoration:none;color:transparent;font-size:0;line-height:0;
}
.catalog-header .brand.brand-logo picture,
.catalog-footer .brand.brand-logo picture{display:block;line-height:0}
.catalog-header .brand.brand-logo img{
  display:block;height:58px;width:auto;max-width:min(300px,46vw);object-fit:contain;
}
.catalog-footer .brand.brand-logo img{
  display:block;height:46px;width:auto;max-width:min(220px,55vw);object-fit:contain;opacity:.96;
}
@media(max-width:650px){
.catalog-header .brand.brand-logo img{height:48px;max-width:min(220px,58vw)}
.catalog-footer .brand.brand-logo img{height:40px}
}


/* Mobile TOP polish — soft-luxury catalog rhythm */
@media(max-width:650px){
.catalog-campaign{height:min(42svh,280px)}
.campaign-copy h1{font-size:clamp(38px,11vw,48px);letter-spacing:-1.2px;max-width:12ch}
.campaign-copy a:not(.campaign-cta){font-size:10px;letter-spacing:.04em;text-transform:uppercase;gap:18px}
.catalog-page .collection{padding:20px 16px 56px}
.collection-heading h2{font-size:28px;letter-spacing:-.6px}
.catalog-page .filters{gap:18px;padding:0 2px}
.catalog-page .filters button{font-size:11px;letter-spacing:.04em;text-transform:uppercase;min-height:44px;padding:12px 0;color:#6a5a48}
.catalog-page .filters button.active{color:#1c160f;box-shadow:inset 0 -1.5px #b08a4a}
.catalog-controls{gap:10px;min-height:52px;padding:6px 0 12px;border-bottom:1px solid #e4d9c8}
.catalog-controls select{font-size:11px;letter-spacing:.02em;color:#4a3d2c}
.catalog-page .cards{gap:22px 12px}
.catalog-page .card-model{font-size:12.5px;line-height:1.35;letter-spacing:0;font-weight:500}
.catalog-page .card-brand{font-size:8px;letter-spacing:1.1px;color:#7a6548;min-height:15px}
.catalog-page .card .caption{font-size:10px;color:#6e5f4c;min-height:84px;gap:10px}
.quick-add{min-height:42px;font-size:11px;letter-spacing:.03em;border-color:#c4ad86;padding:10px 12px}
.catalog-header{padding:12px 16px;min-height:96px;gap:10px}
.catalog-header .search{height:40px;border-radius:0;background:#1f1a15}
.catalog-header .search input{font-size:12px}
}
/* Editorial filter chips desktop polish */
.catalog-page .filters button{letter-spacing:.03em}
.catalog-page .collection-heading h2{font-weight:400}


/* Mobile chrome slim — sticky search icon-first (above-fold TOP) */
@media(max-width:650px){
.catalog-page .reviewbar{display:none}
html{scroll-padding-top:56px}
.catalog-header{
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  min-height:52px!important;
  padding:8px 14px!important;
  gap:6px 8px!important;
}
.catalog-header .brand.brand-logo{min-width:0}
.catalog-header .brand.brand-logo img{height:48px!important;max-width:min(220px,58vw)!important}
.catalog-header .list-trigger{
  font-size:0!important;
  gap:0!important;
  min-height:40px;
  padding:6px;
  justify-self:end;
}
.catalog-header .list-trigger>svg{width:20px;height:22px}
.catalog-header .list-trigger span{
  font-size:10px!important;
  width:22px;height:22px;
  margin-left:6px;
}
.catalog-header .search{
  grid-column:auto!important;
  grid-row:auto!important;
  width:40px;
  height:40px!important;
  min-height:40px;
  padding:0!important;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid #8a735355;
  background:transparent!important;
  overflow:hidden;
  position:relative;
}
.catalog-header .search svg{width:18px;height:18px;flex-shrink:0}
.catalog-header .search input,
.catalog-header .search kbd{
  position:absolute;
  width:1px;height:1px;
  opacity:0;
  pointer-events:none;
  clip:rect(0,0,0,0);
}
.catalog-header:focus-within{
  grid-template-rows:auto auto;
  min-height:52px;
}
.catalog-header:focus-within .search{
  grid-column:1/-1;
  grid-row:2;
  width:auto;
  height:36px!important;
  padding:0 12px!important;
  justify-content:flex-start;
  gap:10px;
  background:#1f1a15!important;
  border-color:#8a735341;
}
.catalog-header:focus-within .search input{
  position:static;
  width:100%;
  height:auto;
  opacity:1;
  pointer-events:auto;
  clip:auto;
  font-size:12px;
  color:#f3ebdf;
  padding:8px 0;
}
.catalog-header:focus-within .search svg{flex-shrink:0}
}


/* === STAGE 1 — ostentacyjne premium: hero + chrome (obsydian / złoto / platyna) === */
:root{
  --lz-obsidian:#0a0908;
  --lz-obsidian-2:#11100e;
  --lz-graphite:#1a1816;
  --lz-gold:#d4af37;
  --lz-gold-soft:#e4c76a;
  --lz-gold-line:#b8963f66;
  --lz-platinum:#c9c6c2;
  --lz-platinum-dim:#9a9690;
}
.catalog-page .reviewbar{
  background:var(--lz-obsidian)!important;
  color:var(--lz-gold-soft)!important;
  border-bottom:1px solid var(--lz-gold-line);
  letter-spacing:.18em;
}
.catalog-header{
  background:linear-gradient(180deg,#0c0b0a 0%,var(--lz-obsidian-2) 100%)!important;
  color:var(--lz-platinum)!important;
  border-bottom:1px solid var(--lz-gold-line)!important;
  box-shadow:0 1px 0 #ffffff08 inset;
}
.catalog-header .search{
  background:#161412!important;
  border:1px solid #d4af3733!important;
  box-shadow:inset 0 0 0 1px #ffffff06;
}
.catalog-header .search input{color:#f2eee6!important}
.catalog-header .search input::placeholder{color:var(--lz-platinum-dim)!important}
.catalog-header .search svg{stroke:var(--lz-gold-soft)!important}
.catalog-header .list-trigger{color:var(--lz-platinum)!important}
.catalog-header .list-trigger span{
  border-color:var(--lz-gold)!important;
  color:var(--lz-gold-soft)!important;
  background:#d4af3714;
}
.catalog-footer{
  background:var(--lz-obsidian)!important;
  color:var(--lz-platinum)!important;
  border-top:1px solid var(--lz-gold-line)!important;
}

/* Hero — Lambo widoczne; veil tylko za tekstem */
.catalog-campaign{
  height:min(58vh,520px)!important;
  min-height:340px;
  position:relative;
  overflow:hidden;
  color:#f7f0e2;
  background:var(--lz-obsidian);
  border-bottom:1px solid var(--lz-gold-line);
}
.catalog-campaign>.campaign-photo,
.catalog-campaign>img.campaign-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:68% 48%;
  display:block;
  filter:saturate(1.05) contrast(1.04);
}
/* kill old full-bleed wash */
.catalog-campaign:after{display:none!important;content:none!important}
.campaign-veil{
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:min(52%,640px);
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,7,6,.78) 0%,
    rgba(8,7,6,.52) 42%,
    rgba(8,7,6,.18) 72%,
    rgba(8,7,6,0) 100%);
}
.campaign-copy{
  position:absolute;
  z-index:2;
  left:clamp(18px,5.5vw,72px);
  top:50%;
  transform:translateY(-54%);
  max-width:min(520px,86vw);
}
.campaign-copy .eyebrow{
  margin:0 0 14px;
  font-size:10px;
  letter-spacing:.28em;
  color:var(--lz-gold-soft);
  text-transform:uppercase;
}
.campaign-copy h1{
  margin:0 0 16px;
  font-size:clamp(34px,5.2vw,58px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:500;
  color:#f8f3ea;
  text-shadow:0 2px 28px rgba(0,0,0,.45);
}
.campaign-copy h1 em{
  font-style:italic;
  font-weight:400;
  color:var(--lz-gold-soft);
}
.campaign-lede{
  margin:0 0 22px;
  max-width:34em;
  font-size:clamp(14px,1.35vw,17px);
  line-height:1.45;
  color:var(--lz-platinum);
  text-shadow:0 1px 12px rgba(0,0,0,.4);
}
.campaign-edition{display:none!important}
.campaign-scroll{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--lz-platinum);
  text-decoration:none;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
}
.campaign-scroll-arrow{
  font-size:16px;
  color:var(--lz-gold-soft);
  animation:lz-scroll-pulse 1.8s ease-in-out infinite;
}
@keyframes lz-scroll-pulse{
  0%,100%{transform:translateY(0);opacity:.65}
  50%{transform:translateY(4px);opacity:1}
}

/* soft hint that collection starts right under hero */
.catalog-page .collection{
  background:linear-gradient(180deg,#12110f 0%,#f4efe6 140px);
  scroll-margin-top:12px;
}
.collection-heading h2{color:#1a1714}
.gold-dot{color:var(--lz-gold)!important}

@media(max-width:1000px){
  .catalog-campaign{height:min(52vh,440px)!important;min-height:300px}
  .campaign-veil{width:min(70%,520px)}
  .campaign-copy{transform:translateY(-50%)}
}
@media(max-width:650px){
  .catalog-campaign{
    height:min(62svh,420px)!important;
    min-height:320px;
  }
  .catalog-campaign>.campaign-photo,
  .catalog-campaign>img.campaign-photo{
    /* osobny kadr mobile — auto/Lambo bardziej w kadrze */
    object-position:78% 42%!important;
  }
  .campaign-veil{
    width:100%;
    background:linear-gradient(180deg,
      rgba(8,7,6,.55) 0%,
      rgba(8,7,6,.28) 38%,
      rgba(8,7,6,.08) 58%,
      rgba(8,7,6,0) 72%),
      linear-gradient(90deg,
      rgba(8,7,6,.62) 0%,
      rgba(8,7,6,.28) 55%,
      rgba(8,7,6,0) 100%);
  }
  .campaign-copy{
    left:18px;
    right:18px;
    top:auto;
    bottom:72px;
    transform:none;
    max-width:none;
  }
  .campaign-copy h1{font-size:clamp(28px,8.2vw,38px);margin-bottom:12px}
  .campaign-lede{font-size:14px;margin-bottom:16px}
  .campaign-scroll{bottom:14px}
  /* override earlier mobile TOP polish that shrunk hero */
  .catalog-campaign{height:min(62svh,420px)!important}
}

/* === CTA-HERO-CONTRAST-FIX 20260919 — P0 Bartek === */
/* Kill full-image black wash (legacy :after) — Lambo stays visible */
.catalog-campaign:after{
  display:none!important;
  content:none!important;
  background:none!important;
  opacity:0!important;
}

/* Local scrim ONLY behind text block (not whole car) */
.campaign-veil{
  width:min(46%,560px)!important;
  background:linear-gradient(90deg,
    rgba(8,7,6,.82) 0%,
    rgba(8,7,6,.58) 48%,
    rgba(8,7,6,.22) 78%,
    rgba(8,7,6,0) 100%)!important;
}
@media(max-width:650px){
  .campaign-veil{
    width:100%!important;
    background:linear-gradient(180deg,
      rgba(8,7,6,.62) 0%,
      rgba(8,7,6,.42) 42%,
      rgba(8,7,6,.12) 68%,
      rgba(8,7,6,0) 85%)!important;
  }
}

/* Headline: clean light + hard shadow (readable on palace light) */
.campaign-copy .eyebrow{
  color:#e8c45a!important;
  text-shadow:0 1px 14px rgba(0,0,0,.75);
}
.campaign-copy h1{
  color:#F5F0E7!important;
  text-shadow:0 2px 24px rgba(0,0,0,.65), 0 1px 2px rgba(0,0,0,.45)!important;
}
.campaign-copy h1 em{
  color:#e8c45a!important;
  text-shadow:0 2px 24px rgba(0,0,0,.65)!important;
}
.campaign-lede{
  color:#E8E4DC!important;
  text-shadow:0 1px 16px rgba(0,0,0,.55);
}

/* Luxusowe Zakupy CTA — Obsidian Glass + Brushed Gold (ChatGPT locked 20260919)
   Existing tokens: --lz-obsidian, --lz-gold #d4af37, --lz-gold-soft #e4c76a
   Gold is accent (edge/arrow), not full plaque — punches vs marble floor reflections. */
.catalog-page .campaign-copy a.campaign-cta,
.campaign-copy a.campaign-cta,
a.campaign-cta {
  height: 56px;
  min-width: 270px;
  padding: 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,0) 35%),
    linear-gradient(180deg, #171513 0%, #090807 100%) !important;
  background-color: #090807 !important;
  border: 1px solid var(--lz-gold-soft, #e4c76a) !important;
  border-radius: 2px !important;
  color: #f8f1df !important;
  -webkit-text-fill-color: #f8f1df !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--lz-gold-soft, #e4c76a) !important;
  font-family: var(--sans, "DM Sans", Arial, sans-serif);
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
  width: auto !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  backdrop-filter: none !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.65),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}

.catalog-page .campaign-copy a.campaign-cta::before,
a.campaign-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(228,199,106,.35), transparent);
  opacity: .35;
  pointer-events: none;
}

.catalog-page .campaign-copy a.campaign-cta span,
a.campaign-cta span {
  color: #f8f1df !important;
  -webkit-text-fill-color: #f8f1df !important;
  font-size: inherit !important;
  line-height: 1;
  letter-spacing: inherit;
  background: transparent !important;
  position: relative;
  z-index: 1;
}

.catalog-page .campaign-copy a.campaign-cta .cta-arrow,
a.campaign-cta .cta-arrow {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--lz-gold-soft, #e4c76a) !important;
  stroke: var(--lz-gold-soft, #e4c76a) !important;
  position: relative;
  z-index: 1;
  transition: transform .22s ease;
}

.catalog-page .campaign-copy a.campaign-cta:hover,
a.campaign-cta:hover {
  transform: translateY(-2px);
  filter: none !important;
  border-color: #ffe79a !important;
  color: #f8f1df !important;
  -webkit-text-fill-color: #f8f1df !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,0) 35%),
    linear-gradient(180deg, #24201a, #0b0907) !important;
  box-shadow:
    0 26px 55px rgba(0,0,0,.75),
    0 0 25px rgba(212,175,55,.18),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.catalog-page .campaign-copy a.campaign-cta:hover .cta-arrow,
a.campaign-cta:hover .cta-arrow {
  transform: translate(2px, -2px);
}

.catalog-page .campaign-copy a.campaign-cta:focus-visible,
a.campaign-cta:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px var(--lz-obsidian, #050505),
    0 0 0 6px var(--lz-gold-soft, #e4c76a),
    0 22px 50px rgba(0,0,0,.7) !important;
}

.catalog-page .campaign-copy a.campaign-cta:active,
a.campaign-cta:active {
  transform: translateY(1px);
  box-shadow:
    0 10px 25px rgba(0,0,0,.55),
    inset 0 2px 5px rgba(0,0,0,.4) !important;
}

@media (prefers-reduced-motion: reduce) {
  .catalog-page .campaign-copy a.campaign-cta,
  a.campaign-cta,
  .cta-arrow {
    transition: none;
  }
  .catalog-page .campaign-copy a.campaign-cta:hover,
  a.campaign-cta:hover,
  .catalog-page .campaign-copy a.campaign-cta:active,
  a.campaign-cta:active,
  .catalog-page .campaign-copy a.campaign-cta:hover .cta-arrow,
  a.campaign-cta:hover .cta-arrow {
    transform: none;
  }
}

@media (max-width: 768px) {
  .catalog-page .campaign-copy a.campaign-cta,
  a.campaign-cta {
    height: 54px !important;
    min-width: 0 !important;
    padding: 0 28px !important;
    gap: 18px !important;
    font-size: 12px !important;
    letter-spacing: .14em !important;
  }
}

@media (max-width: 360px) {
  .catalog-page .campaign-copy a.campaign-cta,
  a.campaign-cta {
    height: 52px !important;
    padding: 0 20px !important;
    gap: 14px !important;
    font-size: 11px !important;
    letter-spacing: .10em !important;
  }
}


/* === GPT-REIMAGINE-20260919 — first screen (map SPEC → live classes) === */
/* Keep CTA Obsidian Glass LOCK. No new logo. Zero CB Luxury. catalog.json untouched. */

/* Header chrome */
.catalog-page .reviewbar{
  height:28px;
  min-height:28px;
  padding:0 72px!important;
  display:flex;
  align-items:center;
  background:#050505!important;
  border-bottom:1px solid rgba(212,175,55,.15)!important;
  color:#d4af37!important;
  font-size:10px!important;
  letter-spacing:.25em!important;
}
.catalog-header{
  background:#080706!important;
  min-height:102px!important;
  height:auto;
  padding:0 72px!important;
  border-bottom:1px solid rgba(212,175,55,.25)!important;
  box-shadow:none!important;
  gap:28px!important;
  align-items:center!important;
}
.catalog-header .brand.brand-logo img{
  height:48px!important;
  max-width:min(280px,40vw)!important;
  filter:none;
}
.catalog-header .search{
  height:46px!important;
  background:#0b0a09!important;
  border:1px solid rgba(228,199,106,.35)!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.catalog-header .search input{color:#f8f1df!important}
.catalog-header .search input::placeholder{color:#aaa!important}
.catalog-header .search svg{stroke:#e4c76a!important}
.catalog-header .list-trigger{
  color:#e4c76a!important;
  border:1px solid transparent;
  min-height:44px;
  padding:0 14px;
}
.catalog-header .list-trigger:hover{border-color:#e4c76a}
.catalog-header .list-trigger span{
  border-color:#e4c76a!important;
  color:#e4c76a!important;
  background:transparent!important;
}

/* Hero — taller cinematic */
.catalog-campaign{
  height:calc(100vh - 130px)!important;
  min-height:720px!important;
  max-height:none!important;
  border-bottom:0!important;
  background:#050505!important;
}
.catalog-campaign>.campaign-photo,
.catalog-campaign>img.campaign-photo{
  object-position:68% 48%!important;
  filter:saturate(1.02) contrast(1.06) brightness(.9)!important;
}
/* left-weighted veil (not flat black) */
.campaign-veil{
  width:100%!important;
  inset:0!important;
  background:
    linear-gradient(90deg,
      rgba(5,5,5,.92) 0%,
      rgba(5,5,5,.72) 35%,
      rgba(5,5,5,.25) 70%,
      rgba(5,5,5,.15) 100%),
    linear-gradient(0deg,
      rgba(0,0,0,.55),
      transparent 45%)!important;
}
.catalog-campaign:after{display:none!important;content:none!important}

.campaign-copy{
  left:72px!important;
  right:auto!important;
  top:145px!important;
  bottom:auto!important;
  transform:none!important;
  max-width:650px!important;
  z-index:3!important;
}
.campaign-copy .eyebrow{
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.38em!important;
  color:#d4af37!important;
  margin:0 0 28px!important;
  text-shadow:0 1px 12px rgba(0,0,0,.5);
}
.campaign-copy h1{
  font-family:var(--serif, Georgia, "Times New Roman", serif)!important;
  font-size:clamp(48px,5.2vw,76px)!important;
  line-height:.95!important;
  font-weight:400!important;
  letter-spacing:-.04em!important;
  color:#f8f1df!important;
  margin:0!important;
  text-shadow:0 2px 28px rgba(0,0,0,.55)!important;
}
.campaign-copy h1 em{
  font-style:italic!important;
  color:#d4af37!important;
  text-shadow:0 2px 24px rgba(0,0,0,.5)!important;
}
.campaign-lede{
  margin:28px 0 0!important;
  font-size:18px!important;
  line-height:1.5!important;
  color:rgba(248,241,223,.85)!important;
  max-width:430px!important;
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
/* CTA spacing under lede — Obsidian LOCK already defined later */
.campaign-copy a.campaign-cta,
a.campaign-cta{
  margin-top:36px!important;
}
.campaign-scroll{
  color:rgba(248,241,223,.7)!important;
  bottom:28px!important;
}
.campaign-scroll-arrow{color:#d4af37!important}

/* Collection — ivory gallery hard cut */
.catalog-page .collection{
  background:#f4efe6!important;
  padding:70px 72px 100px!important;
  max-width:none!important;
  scroll-margin-top:12px;
}
.collection-heading{
  align-items:baseline!important;
  gap:18px!important;
  margin-bottom:12px!important;
}
.collection-heading h2{
  font-family:var(--serif, Georgia, "Times New Roman", serif)!important;
  font-size:clamp(42px,5vw,72px)!important;
  font-weight:400!important;
  color:#111!important;
  letter-spacing:-.03em!important;
}
.gold-dot{color:#d4af37!important}
.catalog-page .section-count{
  font-size:14px!important;
  color:#8b7b62!important;
  letter-spacing:0!important;
  margin:0!important;
}
.inspiration-link{color:#8b7b62!important}
.inspiration-link span{color:#111!important}

.catalog-page .collection-tools{
  border-top:0!important;
  border-bottom:1px solid rgba(0,0,0,.12)!important;
  margin-top:48px!important;
}
.catalog-page .filters{
  gap:42px!important;
}
.catalog-page .filters button{
  color:#8b7b62!important;
  font-size:14px!important;
  padding:18px 0!important;
  box-shadow:none!important;
  min-height:0!important;
}
.catalog-page .filters button.active{
  color:#111!important;
  box-shadow:inset 0 -2px #d4af37!important;
}
.catalog-page .filters sup{color:#8b7b62!important}

.catalog-controls{
  min-height:70px!important;
  border-bottom:1px solid rgba(0,0,0,.12);
  margin-bottom:8px;
}
.catalog-controls select,
.brand-filter,
.selected-filter,
.sort-filter{
  color:#111!important;
}
.catalog-controls select{
  border:1px solid rgba(0,0,0,.12)!important;
  background:#fff!important;
  padding:10px 16px!important;
  max-width:none!important;
  height:44px;
}

.catalog-page .cards{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  margin-top:40px;
}
.catalog-page .card-photo{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.08)!important;
  aspect-ratio:1/1!important;
}
.catalog-page .card-brand{color:#655038!important}
.catalog-page .card-model{color:#111!important}

@media(max-width:1100px){
  .catalog-page .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .catalog-header{padding:0 40px!important}
  .campaign-copy{left:40px!important;padding-top:0}
  .catalog-page .collection{padding:56px 40px 80px!important}
}
@media(max-width:768px){
  .catalog-page .reviewbar{padding:0 20px!important;height:24px;min-height:24px}
  .catalog-header{
    min-height:72px!important;
    padding:12px 20px!important;
    grid-template-columns:1fr auto!important;
  }
  .catalog-header .brand.brand-logo img{height:36px!important;max-width:min(180px,48vw)!important}
  .catalog-header .search{height:40px!important}
  .catalog-campaign{
    height:auto!important;
    min-height:min(840px,92svh)!important;
  }
  .catalog-campaign>.campaign-photo,
  .catalog-campaign>img.campaign-photo{
    object-position:62% center!important;
  }
  .campaign-veil{
    background:
      linear-gradient(180deg,
        rgba(5,5,5,.55) 0%,
        rgba(5,5,5,.35) 40%,
        rgba(5,5,5,.55) 100%),
      linear-gradient(90deg,
        rgba(5,5,5,.78) 0%,
        rgba(5,5,5,.35) 55%,
        rgba(5,5,5,.12) 100%)!important;
  }
  .campaign-copy{
    left:24px!important;
    right:24px!important;
    top:auto!important;
    bottom:88px!important;
    max-width:none!important;
  }
  .campaign-copy h1{
    font-size:48px!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }
  .campaign-lede{font-size:16px!important;margin-top:22px!important}
  .catalog-page .collection{padding:48px 24px 72px!important}
  .collection-heading h2{font-size:48px!important}
  .catalog-page .filters{gap:22px!important}
  .catalog-page .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
}
@media(max-width:650px){
  /* beat older STAGE1 mobile hero shrink */
  .catalog-campaign{
    height:auto!important;
    min-height:min(840px,92svh)!important;
  }
  .campaign-copy{
    left:20px!important;
    right:20px!important;
    bottom:80px!important;
    top:auto!important;
    transform:none!important;
  }
  .campaign-copy h1{font-size:clamp(36px,9vw,48px)!important}
}

