/* ––– Ściana i blejtram ––– */
.sd-hidden-gallery { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sd-wall { position: relative; background: var(--sd-viz-bg, var(--wp--preset--color--ground-800)); padding: 44px 40px 24px; margin: 0 auto; }
.sd-scene { position: relative; width: 100%; height: min(72vh, 760px); display: flex; align-items: stretch; justify-content: center; }
.sd-cstage { position: relative; perspective: 1800px; perspective-origin: 60% 50%; display: flex; align-items: center; justify-content: center; }

.sd-canvas { position: relative; transform-style: preserve-3d; transform: rotateY(-18deg) rotateX(2deg); transition: width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1); will-change: width, height; }
.sd-face { position: absolute; top: 0; left: 0; backface-visibility: hidden; background-repeat: no-repeat; transition: background-size .7s cubic-bezier(.22,.8,.3,1), background-position .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1); }
.sd-front { width: 100%; height: 100%; backface-visibility: hidden; }
.sd-front::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.06), rgba(0,0,0,0) 45%, rgba(0,0,0,.08)); pointer-events: none; }
.sd-side { top: 0; height: 100%; transform-origin: left center; filter: brightness(.55); }
.sd-side::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,0)); }
.sd-bottom { left: 0; width: 100%; transform-origin: center top; filter: brightness(.45); }
.sd-shadow { position: absolute; top: 0; left: 0; transform: translateZ(-30px) translate(10px, 14px); background: rgba(0,0,0,.85); filter: blur(14px); transition: width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1); }
.sd-size-label { text-align: center; margin-top: 16px; font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--ink-500); }
@media (max-width: 782px) { .sd-wall { padding: 24px 16px 16px; } .sd-scene { height: 70vw; gap: 20px; } }

/* ––– Tryb jasny: ciepła kość słoniowa ––– */
html[data-theme="light"] {
  --wp--preset--color--ground-900: #f4efe6;
  --wp--preset--color--ground-800: #ebe4d8;
  --wp--preset--color--ground-700: #e1d9cb;
  --wp--preset--color--line-100: #d9d1c3;
  --wp--preset--color--line-300: #a1978a;
  --wp--preset--color--ink-100: #1f1b18;
  --wp--preset--color--ink-300: #4a433c;
  --wp--preset--color--ink-500: #6b6258;
  --wp--preset--color--patina: #8a6b31;
  --wp--preset--color--patina-hover: #a3823f;
  --wp--preset--color--focus: #8a6b31;
}
html[data-theme="light"] body, html[data-theme="light"] .wp-site-blocks { background: var(--wp--preset--color--ground-900); color: var(--wp--preset--color--ink-100); }
html[data-theme="light"] .wp-block-button:not(.is-style-outline) .wp-block-button__link, html[data-theme="light"] .single_add_to_cart_button, html[data-theme="light"] .wc-block-components-button { color: #ffffff !important; }
html[data-theme="light"] .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--ink-100) !important; border-color: var(--wp--preset--color--line-300) !important; background: transparent !important; }
html[data-theme="light"] .sd-shadow { background: rgba(40,30,20,.75); filter: blur(18px); transform: translateZ(-30px) translate(16px, 22px); }
html[data-theme="light"] input, html[data-theme="light"] textarea, html[data-theme="light"] select { background: #ffffff !important; }
html[data-theme="light"] .has-ground-800-background-color { background-color: var(--wp--preset--color--ground-800) !important; }
html[data-theme="light"] .has-ink-500-color { color: var(--wp--preset--color--ink-500) !important; }
html { transition: background-color .3s; } body { transition: background-color .3s, color .3s; }

.sd-theme-toggle { background: transparent; border: 1px solid var(--wp--preset--color--line-300); color: var(--wp--preset--color--ink-300); height: 36px; padding: 0 12px; font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; border-radius: 0; }
.sd-theme-toggle:hover { color: var(--wp--preset--color--ink-100); }
.woocommerce-variation-description { display: none; }

/* ––– Hero slider ––– */
.sd-hero-slider { position: relative; width: 100%; aspect-ratio: 4 / 3; background: var(--wp--preset--color--ground-800); overflow: hidden; }
.sd-hero-panel { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 32px; background: linear-gradient(180deg, rgba(18,17,16,0), rgba(18,17,16,.85)); color: #ece6db; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; z-index: 3; }
.sd-hero-panel .sd-meta { color: rgba(236,230,219,.7); margin: 0 0 6px; }
.sd-hero-panel h3 { font-family: var(--wp--preset--font-family--serif); font-size: 30px; font-weight: 300; margin: 0; line-height: 1.05; color: #ece6db; transition: opacity .5s, transform .5s; }
.sd-hero-panel .sd-hero-by { font-family: var(--wp--preset--font-family--sans); font-size: 13px; color: rgba(236,230,219,.75); margin: 6px 0 0; }
.sd-hero-panel .sd-hero-price { font-family: var(--wp--preset--font-family--sans); font-size: 14px; font-weight: 500; color: #cbab6c; white-space: nowrap; }
.sd-hero-dots { position: absolute; top: 20px; right: 20px; display: flex; gap: 8px; z-index: 3; }
.sd-hero-dots button { width: 28px; height: 3px; border: 0; padding: 0; background: rgba(236,230,219,.35); cursor: pointer; border-radius: 0; overflow: hidden; position: relative; }
.sd-hero-dots button::after { content: ""; position: absolute; inset: 0; background: #cbab6c; transform: scaleX(0); transform-origin: left; }
.sd-hero-dots button.is-active::after { transform: scaleX(1); transition: transform var(--sd-hero-t, 5s) linear; }
.sd-hero-slider.is-paused .sd-hero-dots button.is-active::after { transition: none; transform: scaleX(1); }
.sd-hero-panel.is-switching h3 { opacity: 0; transform: translateY(6px); }
.sd-hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.6s ease-in-out; display: block; pointer-events: none; z-index: 1; }
.sd-hero-slide.is-active { pointer-events: auto; z-index: 2; }
.sd-hero-slide.is-active { opacity: 1; }
.sd-hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; transform: scale(1.02); transition: transform 7s linear; }
.sd-hero-slide.is-active img { transform: scale(1.08); }
.sd-hero-caption { display: none; position: absolute; left: 24px; bottom: 20px; font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(236,230,219,.85); text-shadow: 0 1px 8px rgba(0,0,0,.6); }
@media (max-width: 782px) { .sd-hero-slider { aspect-ratio: 1 / 1; } }

/* ––– Widoki: Blejtram / We wnętrzu ––– */
.sd-views { display: flex; gap: 8px; justify-content: flex-end; margin: 0 0 12px; }
.sd-view { background: transparent; border: 1px solid var(--wp--preset--color--line-300); color: var(--wp--preset--color--ink-300); height: 36px; padding: 0 14px; font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; border-radius: 0; }
.sd-view.is-active { color: var(--wp--preset--color--ink-100); border-color: var(--wp--preset--color--patina); }
.sd-hidden-view { display: none !important; }
.sd-room { position: relative; width: 100%; max-width: 900px; margin: 0 auto; background-color: #ac9276; background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat; overflow: hidden; transition: height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-mirror { position: absolute; left: 0; right: 0; top: 0; height: 0; background-repeat: no-repeat; background-position: left top; transform: scaleY(-1); transform-origin: center; pointer-events: none; transition: height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-mirror::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,0)); }
.sd-room-canvas { position: absolute; z-index: 1; transition: width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-front { position: absolute; inset: 0; background-repeat: no-repeat; transition: background-size .7s cubic-bezier(.22,.8,.3,1), background-position .7s cubic-bezier(.22,.8,.3,1); filter: brightness(.92) contrast(.96) saturate(.96); }
.sd-room-front::after { content: ""; position: absolute; inset: 0; pointer-events: none; background:
  linear-gradient(100deg, rgba(255,214,170,.10) 0%, rgba(255,214,170,.03) 35%, rgba(20,12,6,.10) 70%, rgba(20,12,6,.20) 100%),
  linear-gradient(180deg, rgba(255,240,220,.04), rgba(0,0,0,.06));
  mix-blend-mode: normal; }
.sd-room-shadow { position: absolute; inset: 0; transition: inherit; pointer-events: none;
  box-shadow:
    2px 3px 4px rgba(25,15,5,.55),                        /* cień kontaktowy */
    10px 16px 22px rgba(25,15,5,.35),                     /* cień bliski */
    var(--sd-sh, 12px) calc(var(--sd-sh, 12px) * 2) calc(var(--sd-sh, 12px) * 3) rgba(25,15,5,.28); /* cień rozproszony, rośnie z formatem */
}
.sd-room-fg { position: absolute; height: auto; pointer-events: none; z-index: 2; transition: top .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-canvas { z-index: 1; }

/* ––– Legenda techniczna na blejtramie (hover) ––– */
.sd-wall { position: relative; }
.sd-legend { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .35s; font-family: var(--wp--preset--font-family--sans); }
.sd-wall:hover .sd-legend, .sd-wall:focus-within .sd-legend { opacity: 1; }
.sd-dim { position: absolute; color: var(--wp--preset--color--ink-300); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.sd-dim::before, .sd-dim::after { content: ""; position: absolute; background: var(--wp--preset--color--line-300); }
.sd-dim--w { height: 1px; } .sd-dim--w::before { left: 0; top: -5px; width: 1px; height: 11px; } .sd-dim--w::after { right: 0; top: -5px; width: 1px; height: 11px; }
.sd-dim--w { background: var(--wp--preset--color--line-300); } .sd-dim--w span { position: absolute; left: 50%; top: -22px; transform: translateX(-50%); background: var(--wp--preset--color--ground-800); padding: 0 8px; white-space: nowrap; }
.sd-dim--h { width: 1px; background: var(--wp--preset--color--line-300); } .sd-dim--h::before { top: 0; left: -5px; height: 1px; width: 11px; } .sd-dim--h::after { bottom: 0; left: -5px; height: 1px; width: 11px; }
.sd-dim--h span { position: absolute; top: 50%; left: 8px; transform: translateY(-50%); white-space: nowrap; writing-mode: vertical-rl; }
.sd-legend-box { position: absolute; left: 0; right: 0; bottom: 0; height: 84px; box-sizing: border-box; padding: 12px 16px 0; text-align: center; background: var(--wp--preset--color--ground-800); font-size: 12px; line-height: 1.7; color: var(--wp--preset--color--ink-300); }
.sd-legend-box b { color: var(--wp--preset--color--ink-100); font-weight: 500; }
.sd-wall:hover .sd-size-label, .sd-wall:focus-within .sd-size-label { opacity: 0; }

/* ––– Faktura płótna ––– */
.sd-weave { position: absolute; inset: 0; pointer-events: none; background-image: url("tex/e2dbd6e1c8.png"); background-size: 6px 6px; mix-blend-mode: overlay; opacity: .55; }
.sd-side .sd-weave, .sd-bottom .sd-weave { opacity: .8; }
.sd-front::after { z-index: 1; }
.sd-room-front .sd-weave { background-size: 3px 3px; opacity: .22; }
html[data-theme="light"] .sd-weave { opacity: .5; }

/* ––– Miniatury-blejtramy w siatce ––– */
.sd-thumb { display: block; position: relative; width: 100%; perspective: 1200px; perspective-origin: 60% 50%; }
.sd-thumb-src { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.sd-thumb-box { position: absolute; left: 6%; top: 8px; transform-style: preserve-3d; transform: rotateY(-14deg) rotateX(1deg); transition: transform .5s cubic-bezier(.22,.8,.3,1); }
.sd-thumb-face { position: absolute; top: 0; left: 0; background-repeat: no-repeat; background-size: 100% 100%; backface-visibility: hidden; }
.sd-thumb-front { width: 100%; height: 100%; }
.sd-thumb-front::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.06), rgba(0,0,0,0) 45%, rgba(0,0,0,.08)); }
.sd-thumb-side { height: 100%; transform-origin: left center; transform: rotateY(90deg); filter: brightness(.55); }
.sd-thumb-shadow { position: absolute; inset: 0; transform: translateZ(-24px) translate(18px, 20px); background: rgba(0,0,0,.55); filter: blur(16px); }
.sd-thumb .sd-weave { background-size: 3px 3px; opacity: .35; }
a:hover .sd-thumb-box, li.product:hover .sd-thumb-box, .wc-block-product:hover .sd-thumb-box { transform: rotateY(0deg) rotateX(0deg); }
.sd-thumb-box { transition: transform .6s cubic-bezier(.22,.8,.3,1); }
html[data-theme="light"] .sd-thumb-shadow { background: rgba(40,30,20,.4); }

/* ——— Rama float (dąb) ——— */
.sd-ff { position: absolute; display: none; background-repeat: repeat; backface-visibility: hidden; transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), transform .7s cubic-bezier(.22,.8,.3,1), background-size .7s cubic-bezier(.22,.8,.3,1), border-width .7s cubic-bezier(.22,.8,.3,1); }
.has-frame .sd-ff { display: block; }
.sd-ff-lip, .sd-ff-side, .sd-ff-bottom, .sd-ff-left, .sd-ff-in { background-image: url("tex/493ede9d28.png"); }
.sd-ff-front { z-index: 3; box-sizing: border-box; border-style: solid; border-color: transparent; -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); mask-composite: exclude; background-origin: border-box; background-clip: border-box; background-image: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 28%, rgba(0,0,0,.18) 52%, rgba(255,255,255,.10) 78%, rgba(0,0,0,.22) 100%), url("tex/493ede9d28.png"); background-size: 100% 100%, var(--tex, 60px) var(--tex, 60px); box-shadow: 0 0 0 1px rgba(0,0,0,.35); transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), border-width .7s cubic-bezier(.22,.8,.3,1), transform .7s cubic-bezier(.22,.8,.3,1); }
.sd-ff-front::after { content: ""; position: absolute; inset: calc(-1 * var(--bw, 0px)); pointer-events: none; }
.fc-black .sd-ff-front { background-image: linear-gradient(135deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 22%, rgba(0,0,0,.35) 50%, rgba(255,255,255,.12) 76%, rgba(0,0,0,.4) 100%), linear-gradient(#141317, #141317); }
.fc-white .sd-ff-front { background-image: linear-gradient(135deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.3) 24%, rgba(0,0,0,.025) 52%, rgba(255,255,255,.35) 76%, rgba(0,0,0,.045) 100%), linear-gradient(#f7f5f0, #f7f5f0); box-shadow: 0 0 0 1px rgba(0,0,0,.09); }
.fc-wood .sd-ff-front { background-image: linear-gradient(135deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.06) 28%, rgba(0,0,0,.12) 52%, rgba(255,255,255,.14) 78%, rgba(0,0,0,.16) 100%), url("tex/5651a03059.png"); }
.fc-gold .sd-ff-front { background-image: linear-gradient(135deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.1) 25%, rgba(0,0,0,.2) 50%, rgba(255,255,255,.2) 75%, rgba(0,0,0,.25) 100%), repeating-linear-gradient(90deg, #c9a862 0 1px, #b8944f 1px 2px, #d7bb7a 2px 3px); }
.sd-ff-front::before { content: ""; position: absolute; inset: -1px; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(0,0,0,.35); }
.sd-ff-gap { z-index: 0; border-style: solid; border-color: rgba(20,14,8,.92); background: rgba(20,14,8,.92); box-sizing: border-box; }
.sd-ff-side { transform-origin: left center; filter: brightness(.6); z-index: 2; }
.is-pp .sd-ff-side { z-index: 7; }
.sd-ff-side::after, .sd-ff-bottom::after, .sd-ff-left::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.28), rgba(0,0,0,0) 40%, rgba(255,240,215,.06)); }
.sd-ff-bottom { transform-origin: center top; filter: brightness(.42); z-index: 2; }
.sd-tiles-label { font-family: var(--wp--preset--font-family--sans); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--ink-500); margin: 16px 0 8px !important; }
.sd-tiles--frame { grid-template-columns: 1fr 1fr; }
.sd-tile--frame { flex-direction: row; gap: 10px; justify-content: flex-start; padding: 10px 12px; }
.sd-tile--frame i { width: 26px; height: 26px; flex: 0 0 auto; border: 1px solid var(--wp--preset--color--line-300); background: var(--wp--preset--color--ground-800); }
.sd-tile--frame.is-wood i { background: url("tex/493ede9d28.png") center / 60px 60px; border-color: #5a3d22; }
.sd-tile--frame b { font-size: 13px; text-align: left; }
.sd-room-frame { position: absolute; box-sizing: border-box; background-image: url("tex/493ede9d28.png"); background-repeat: repeat; z-index: 0; box-shadow: 1px 2px 3px rgba(25,15,5,.5), 8px 14px 26px rgba(25,15,5,.35), inset 0 0 0 1px rgba(0,0,0,.35); transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 25%, rgba(0,0,0,.18) 52%, rgba(255,255,255,.1) 78%, rgba(0,0,0,.2) 100%); pointer-events: none; }
.sd-room-pp-shade { position: absolute; pointer-events: none; mix-blend-mode: multiply; }
.sd-room-pp-fs { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: multiply; }
.sd-room-pp-glass { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(118deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.04) 24%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 65%, rgba(255,255,255,.1) 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
.sd-room-frame-gap { width: 100%; height: 100%; box-sizing: border-box; border-style: solid; border-color: rgba(15,10,6,.85); background: rgba(15,10,6,.85); box-shadow: inset 2px 3px 6px rgba(0,0,0,.5); }
.sd-ff-in { z-index: 1; filter: brightness(.38); backface-visibility: visible; }
.sd-ff-in-t { filter: brightness(.3); } .sd-ff-in-l { filter: brightness(.45); }
.sd-ff-left { transform-origin: left center; filter: brightness(.5); z-index: 2; backface-visibility: visible; }

/* ——— Rama z passe-partout ——— */
.is-pp .sd-front { background-image: none !important; background-color: #fbf9f4; }
.is-pp .sd-front .sd-weave, .is-pp .sd-side .sd-weave, .is-pp .sd-bottom .sd-weave { display: none; }
.is-pp .sd-side, .is-pp .sd-bottom { display: none !important; }
.sd-pp { position: absolute; display: none; }
.is-pp .sd-pp { display: block; }
.sd-pp-paper { background: #fbf9f4; transform: translateZ(0.5px); box-shadow: inset 0 0 0 1px rgba(0,0,0,.04); z-index: 1; transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1); }
.sd-pp-img { position: absolute; background-repeat: no-repeat; transition: all .7s cubic-bezier(.22,.8,.3,1); }
.sd-pp-cap { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15em; font-family: var(--wp--preset--font-family--sans); color: #2a2622; text-align: center; line-height: 1.2; letter-spacing: .06em; }
.sd-pp-cap b { font-weight: 600; text-transform: uppercase; font-size: 1em; } .sd-pp-cap span { font-size: .78em; color: #6b625a; }
.sd-pp-board { inset: 0; box-sizing: border-box; border-style: solid; transform: translateZ(2px); z-index: 2; background: transparent; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); transition: border-width .7s cubic-bezier(.22,.8,.3,1); }
.sd-pp-board.pp-white { border-color: #f4f1ea; } .sd-pp-board.pp-black { border-color: #2a292d; }
.sd-pp-board::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); pointer-events: none; }
.sd-pp-shade { position: absolute; pointer-events: none; z-index: 3; }
/* szkło: delikatny refleks na całości */
.is-pp .sd-front::after { display: none; }
.sd-pp-glass { inset: 0; z-index: 6; pointer-events: none; background: linear-gradient(112deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 27%, rgba(255,255,255,.26) 29%, rgba(255,255,255,.16) 36%, rgba(255,255,255,.05) 42%, rgba(255,255,255,0) 44%, rgba(255,255,255,0) 100%); backface-visibility: hidden; }
.sd-pp-fs { inset: 0; z-index: 4; pointer-events: none; }
.sd-pp-bevel { box-sizing: border-box; border-style: solid; z-index: 3; pointer-events: none; background: transparent; }
.sd-pp-bevel.pp-white { border-color: #fbfaf7; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.05); }
.sd-pp-bevel.pp-black { border-color: #3a393e; box-shadow: inset 0 0 0 1px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04); }
/* kolory ramy */
.fc-black .sd-ff-lip, .fc-black .sd-ff-side, .fc-black .sd-ff-bottom, .fc-black .sd-ff-left, .fc-black .sd-ff-in { background-image: none; background-color: #1a191c; }
.fc-black .sd-ff-side, .fc-black .sd-ff-left, .fc-black .sd-ff-bottom { filter: brightness(.75); }
.fc-white .sd-ff-lip, .fc-white .sd-ff-side, .fc-white .sd-ff-bottom, .fc-white .sd-ff-left, .fc-white .sd-ff-in { background-image: none; background-color: #f7f5f0; }
.fc-white .sd-ff-side, .fc-white .sd-ff-left, .fc-white .sd-ff-bottom { filter: brightness(.9); }
.fc-white .sd-ff-lip { box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.fc-wood .sd-ff-lip, .fc-wood .sd-ff-side, .fc-wood .sd-ff-bottom, .fc-wood .sd-ff-left, .fc-wood .sd-ff-in { background-image: url("tex/5651a03059.png"); }
.fc-gold .sd-ff-lip, .fc-gold .sd-ff-side, .fc-gold .sd-ff-bottom, .fc-gold .sd-ff-left, .fc-gold .sd-ff-in { background-image: repeating-linear-gradient(90deg, #c9a862 0 1px, #b8944f 1px 2px, #d7bb7a 2px 3px); }
.is-pp .sd-ff-gap { display: none !important; }
/* swatche w kafelkach */
.sd-tile--frame i.sw-black { background: #1a191c; border-color: #000; } .sd-tile--frame i.sw-white { background: #f2eee6; } .sd-tile--frame i.sw-wood { background: url("tex/5651a03059.png") center / 60px 60px; } .sd-tile--frame i.sw-gold { background: linear-gradient(135deg, #c9a862, #e2c88a, #b8944f); }
/* wnętrze */
.sd-room-pp { position: absolute; inset: 0; pointer-events: none; }
.sd-room-pp-board { position: absolute; inset: 0; box-sizing: border-box; border-style: solid; border-color: #f4f1ea; }
.pp-black .sd-room-pp-board { border-color: #2a292d; }
.sd-room-pp-cap { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15em; font-family: var(--wp--preset--font-family--sans); color: #2a2622; text-align: center; line-height: 1.2; letter-spacing: .06em; }
.sd-room-pp-cap b { font-weight: 600; text-transform: uppercase; } .sd-room-pp-cap span { font-size: .78em; color: #6b625a; }
.sd-room.is-pp .sd-room-front { filter: brightness(.96) contrast(.98) saturate(.98); }
.sd-room.fc-black .sd-room-frame { background-image: none; background-color: #1a191c; } .sd-room.fc-white .sd-room-frame { background-image: none; background-color: #f2eee6; box-shadow: 1px 2px 3px rgba(25,15,5,.35), 8px 14px 26px rgba(25,15,5,.25), inset 0 0 0 1px rgba(0,0,0,.12); }
.sd-room.fc-wood .sd-room-frame { background-image: url("tex/5651a03059.png"); } .sd-room.fc-gold .sd-room-frame { background-image: repeating-linear-gradient(90deg, #c9a862 0 1px, #b8944f 1px 2px, #d7bb7a 2px 3px); }
.sd-room.is-pp .sd-room-frame-gap { border-color: transparent; background: transparent; box-shadow: none; }

.sd-tiles--medium { grid-template-columns: 1fr 1fr; }
.sd-tile--medium { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 14px; }
.sd-tile--medium b { font-size: 14px; } .sd-tile--medium span { text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--wp--preset--color--ink-500); }

/* ——— Menu wyboru ——— */
.sd-tiles--medium { display: flex; gap: 0; border: 1px solid var(--wp--preset--color--line-300); padding: 3px; }
.sd-tile--medium { flex: 1; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 10px 12px; align-items: flex-start; }
.sd-tile--medium.is-active { background: var(--wp--preset--color--patina) !important; } .sd-tile--medium.is-active b, .sd-tile--medium.is-active span { color: #121110 !important; }
.sd-tiles--color, .sd-tiles--pp, .sd-tiles--frame { grid-template-columns: repeat(3, 1fr); }
.sd-tiles--pp { grid-template-columns: repeat(2, 1fr); }
.sd-tile--frame { flex-direction: row; gap: 10px; justify-content: flex-start; align-items: center; padding: 9px 12px; }
.sd-tile--frame i { width: 26px; height: 26px; border-radius: 2px; flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }
.sd-tile--frame b { font-size: 13px; font-weight: 500; text-align: left; letter-spacing: 0; }
.sd-tiles--size { grid-template-columns: repeat(3, 1fr); gap: 8px; }

.fc-black .sd-ff-in { background-image: none !important; background-color: #0e0d10 !important; filter: none; }
.fc-white .sd-ff-in { background-image: none !important; background-color: #d9d4cb !important; filter: none; }
.fc-wood .sd-ff-in { filter: brightness(.7); }
.fc-black .sd-ff-side, .fc-black .sd-ff-left { background-image: linear-gradient(90deg, #3b3a40 0%, #232227 28%, #141317 65%, #0a090c 100%) !important; filter: none; box-shadow: inset 1px 0 0 rgba(255,255,255,.32); }
.fc-black .sd-ff-bottom { background-image: linear-gradient(180deg, #2c2b30 0%, #0d0d0f 100%) !important; filter: none; }
.fc-white .sd-ff-side, .fc-white .sd-ff-left { background-image: linear-gradient(90deg, #f4f1ea 0%, #dcd6cc 35%, #bfb8ac 100%) !important; filter: none; box-shadow: inset 1px 0 0 rgba(255,255,255,.9), inset -1px 0 0 rgba(0,0,0,.14); }
.fc-white .sd-ff-bottom { background-image: linear-gradient(180deg, #e6e1d8 0%, #c8c1b5 100%) !important; filter: none; }
.fc-white .sd-ff-side::after, .fc-white .sd-ff-left::after, .fc-white .sd-ff-bottom::after { background: linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,0) 40%, rgba(255,255,255,.18)); }

.sd-room.fc-white .sd-room-frame::after { background: linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,.12) 25%, rgba(0,0,0,.06) 52%, rgba(255,255,255,.22) 76%, rgba(0,0,0,.08) 100%); }
.sd-room.fc-white .sd-room-frame { background-color: #f4f1ea; }
.sd-room.is-pp .sd-room-front { filter: none; }
.fc-wood .sd-ff-side, .fc-wood .sd-ff-left { filter: brightness(.55); box-shadow: inset 1px 0 0 rgba(255,255,255,.3); }

/* 0.20.14 – rama z passe-partout: styk listwy i pp jako cień, bez schodków; wspólne przejścia wszystkich warstw */
.is-pp .sd-ff-in { display: none !important; }
.is-pp .sd-ff-front::before { display: none; }
.is-pp .sd-pp-board::after { display: none; }
.is-pp .sd-pp-board { box-shadow: none !important; }
.is-pp .sd-face, .is-pp .sd-ff, .is-pp .sd-pp, .is-pp .sd-pp-img, .is-pp .sd-shadow { transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), border-width .7s cubic-bezier(.22,.8,.3,1), background-size .7s cubic-bezier(.22,.8,.3,1), background-position .7s cubic-bezier(.22,.8,.3,1), box-shadow .7s cubic-bezier(.22,.8,.3,1), transform .7s cubic-bezier(.22,.8,.3,1) !important; }
/* czarne pp: nic jasnego – lico pod planszą w kolorze pp, ciemna fazka okna */
.sd-canvas.pp-black .sd-front { background-color: #2a292d; }
.sd-canvas.pp-white .sd-front { background-color: #f4f1ea; }
.sd-pp-bevel.pp-black { border-color: #323136; box-shadow: inset 0 0 0 1px rgba(0,0,0,.55), 0 0 0 1px rgba(0,0,0,.35); }
.sd-canvas.pp-black .sd-pp-paper { background: #2a292d; }
/* 0.20.15 – legenda pod sceną zamiast na obrazie; plansza pp wchodzi pod listwę */
.sd-size-label { transition: opacity .35s; }
.sd-wall { padding-bottom: 96px; }
.sd-size-label { position: absolute; left: 0; right: 0; bottom: 40px; margin-top: 0; }
/* 0.20.17 – wymiar głębokości, przełączanie nośnika bez animacji, jaśniejsza biała rama */
.sd-dim--d { height: 1px; background: var(--wp--preset--color--line-300); } .sd-dim--d::before { left: 0; top: -5px; width: 1px; height: 11px; } .sd-dim--d::after { right: 0; top: -5px; width: 1px; height: 11px; }
.sd-dim--d span { position: absolute; left: 50%; top: 8px; transform: translateX(-50%); white-space: nowrap; }
.sd-canvas.sd-noanim, .sd-noanim .sd-face, .sd-noanim .sd-ff, .sd-noanim .sd-pp, .sd-noanim .sd-pp-img, .sd-noanim .sd-shadow { transition: none !important; }
/* 0.20.18 – abachi (cieplejsze, ciemniejsze drewno), szczotkowane złoto */
.fc-wood .sd-ff-front { filter: sepia(.5) saturate(1.35) brightness(.88); }
.fc-wood .sd-ff-side, .fc-wood .sd-ff-left { filter: sepia(.5) saturate(1.35) brightness(.6); }
.fc-wood .sd-ff-bottom { filter: sepia(.5) saturate(1.35) brightness(.5); }
.fc-wood .sd-ff-in { filter: sepia(.5) saturate(1.35) brightness(.62); }
.sd-tile--frame i.sw-wood, .sd-tile--frame.is-wood i { filter: sepia(.5) saturate(1.35) brightness(.88); }
.sd-room.fc-wood .sd-room-frame { filter: sepia(.5) saturate(1.35) brightness(.88); }
/* 0.20.20 – lico z 4 listew ciętych pod 45°; faktura kierunkowa (pozioma na górze/dole, pionowa na bokach) */
.sd-canvas, .sd-room { --lip-tex: url("tex/493ede9d28.png"); --lip-sheen: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 28%, rgba(0,0,0,.18) 52%, rgba(255,255,255,.10) 78%, rgba(0,0,0,.22) 100%); --lip-line: rgba(0,0,0,.35); --lip-filter: none; }
.fc-black { --lip-tex: linear-gradient(#141317, #141317); --lip-sheen: linear-gradient(135deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 22%, rgba(0,0,0,.35) 50%, rgba(255,255,255,.12) 76%, rgba(0,0,0,.4) 100%); --lip-line: rgba(0,0,0,.6); }
.fc-white { --lip-tex: linear-gradient(#f7f5f0, #f7f5f0); --lip-sheen: linear-gradient(135deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,.3) 24%, rgba(0,0,0,.025) 52%, rgba(255,255,255,.35) 76%, rgba(0,0,0,.045) 100%); --lip-line: rgba(0,0,0,.09); }
.fc-wood { --lip-tex: url("tex/5651a03059.png"); --lip-sheen: linear-gradient(135deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.06) 28%, rgba(0,0,0,.12) 52%, rgba(255,255,255,.14) 78%, rgba(0,0,0,.16) 100%); --lip-line: rgba(0,0,0,.3); --lip-filter: sepia(.5) saturate(1.35) brightness(.88); }
.fc-gold { --lip-tex: url("tex/69cb72f5be.jpg"); --lip-sheen: linear-gradient(135deg, rgba(255,250,230,.42) 0%, rgba(255,250,230,.12) 22%, rgba(60,40,0,.18) 48%, rgba(255,250,230,.26) 72%, rgba(60,40,0,.24) 100%); --lip-line: rgba(80,55,10,.45); }
.sd-ff-l4 { z-index: 3; overflow: hidden; background: none !important; filter: var(--lip-filter); }
.sd-ff-l4 > i { position: absolute; left: 0; top: 0; display: block; background-image: var(--lip-tex); background-repeat: repeat; background-size: var(--tex, 60px) var(--tex, 60px); }
.sd-ff-l4::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--lip-sheen); }
.sd-ff-l4-t::after { box-shadow: inset 0 1px 0 var(--lip-line); } .sd-ff-l4-b::after { box-shadow: inset 0 -1px 0 var(--lip-line), inset 0 1px 0 rgba(0,0,0,.12); }
.sd-ff-l4-l::after { box-shadow: inset 1px 0 0 var(--lip-line); } .sd-ff-l4-r::after { box-shadow: inset -1px 0 0 var(--lip-line); }
/* uciosy: cienka linia cięcia (w kolorze ramy ciemniej) */
.sd-ff-l4-l::before, .sd-ff-l4-r::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom right, transparent calc(50% - .5px), rgba(0,0,0,.18) 50%, transparent calc(50% + .5px)) top / 100% var(--lip, 20px) no-repeat, linear-gradient(to top right, transparent calc(50% - .5px), rgba(0,0,0,.18) 50%, transparent calc(50% + .5px)) bottom / 100% var(--lip, 20px) no-repeat; }
.sd-ff-l4-t::before, .sd-ff-l4-b::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom right, transparent calc(50% - .5px), rgba(255,255,255,.14) 50%, transparent calc(50% + .5px)) left / var(--lip, 20px) 100% no-repeat, linear-gradient(to bottom left, transparent calc(50% - .5px), rgba(255,255,255,.14) 50%, transparent calc(50% + .5px)) right / var(--lip, 20px) 100% no-repeat; }
/* boki (głębokość) – faktura wzdłuż listwy */
.sd-ff-side > i, .sd-ff-left > i { display: none; }
.fc-gold .sd-ff-side, .fc-gold .sd-ff-left, .fc-wood .sd-ff-side, .fc-wood .sd-ff-left, .fc-oak .sd-ff-side, .fc-oak .sd-ff-left { background-image: none !important; overflow: hidden; }
.fc-gold .sd-ff-side > i, .fc-gold .sd-ff-left > i, .fc-wood .sd-ff-side > i, .fc-wood .sd-ff-left > i, .fc-oak .sd-ff-side > i, .fc-oak .sd-ff-left > i { display: block; position: absolute; left: 0; top: 0; background-image: var(--lip-tex); background-repeat: repeat; background-size: var(--tex, 60px) var(--tex, 60px); }
.fc-gold .sd-ff-bottom { background-image: url("tex/69cb72f5be.jpg"); filter: brightness(.55); }
.fc-gold .sd-ff-side, .fc-gold .sd-ff-left { filter: brightness(.74) saturate(1.05); box-shadow: inset 1px 0 0 rgba(255,245,210,.45); }
.fc-gold .sd-ff-in { background-image: none !important; background-color: #141317 !important; filter: none; }
.sd-tile--frame i.sw-gold { background-image: linear-gradient(135deg, rgba(255,250,230,.3), rgba(60,40,0,.12)), url("tex/69cb72f5be.jpg"); background-size: 100% 100%, 120px 120px; border-color: #8a6a26; }
.sd-room.fc-gold .sd-room-frame { background-image: url("tex/69cb72f5be.jpg"); }
.sd-room.fc-gold .sd-room-frame::after { background: linear-gradient(135deg, rgba(255,250,230,.35) 0%, rgba(255,250,230,.08) 25%, rgba(60,40,0,.14) 52%, rgba(255,250,230,.18) 78%, rgba(60,40,0,.2) 100%); }
/* 0.20.22 – rama we wnętrzu: 4 listwy z uciosami, słoje wzdłuż listwy, cień od światła z lewej, tonowanie do ściany */
.sd-room .sd-room-frame { background-image: none !important; background-color: transparent !important; filter: none !important; padding: 0 !important; box-shadow: 1px 2px 3px rgba(35,22,10,.35), 6px 10px 18px rgba(35,22,10,.26), 16px 26px 44px rgba(35,22,10,.16) !important; }
.sd-room .sd-room-frame::after { display: none; }
.sd-room-frame-gap { position: absolute; inset: 0; }
.sd-room-lip { position: absolute; overflow: hidden; filter: var(--lip-filter); }
.sd-room-lip > i { position: absolute; left: 0; top: 0; display: block; background-image: var(--lip-tex); background-repeat: repeat; background-size: var(--rtex, 60px) var(--rtex, 60px); }
.sd-room-lip::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--lip-sheen); }
.sd-room-lip-t::after { box-shadow: inset 0 1px 0 var(--lip-line); } .sd-room-lip-b::after { box-shadow: inset 0 -1px 0 var(--lip-line), inset 0 1px 0 rgba(0,0,0,.12); }
.sd-room-lip-l::after { box-shadow: inset 1px 0 0 var(--lip-line); } .sd-room-lip-r::after { box-shadow: inset -1px 0 0 var(--lip-line); }
.sd-room-lip-l::before, .sd-room-lip-r::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom right, transparent calc(50% - .5px), rgba(0,0,0,.18) 50%, transparent calc(50% + .5px)) top / 100% var(--lip, 20px) no-repeat, linear-gradient(to top right, transparent calc(50% - .5px), rgba(0,0,0,.18) 50%, transparent calc(50% + .5px)) bottom / 100% var(--lip, 20px) no-repeat; }
.sd-room-lip-t::before, .sd-room-lip-b::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom right, transparent calc(50% - .5px), rgba(255,255,255,.14) 50%, transparent calc(50% + .5px)) left / var(--lip, 20px) 100% no-repeat, linear-gradient(to bottom left, transparent calc(50% - .5px), rgba(255,255,255,.14) 50%, transparent calc(50% + .5px)) right / var(--lip, 20px) 100% no-repeat; }
.sd-room-tone { position: absolute; z-index: 1; pointer-events: none; mix-blend-mode: multiply; background: linear-gradient(100deg, rgba(236,226,210,.26) 0%, rgba(226,212,192,.3) 60%, rgba(212,196,174,.36) 100%); transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-shadow { box-shadow: 2px 3px 4px rgba(35,22,10,.5), 8px 12px 20px rgba(35,22,10,.3), var(--sd-sh, 12px) calc(var(--sd-sh, 12px) * 2) calc(var(--sd-sh, 12px) * 3.2) rgba(35,22,10,.22); }
.sd-room-pp-glass { background: linear-gradient(112deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 27%, rgba(255,255,255,.16) 29%, rgba(255,255,255,.1) 36%, rgba(255,255,255,.03) 42%, rgba(255,255,255,0) 44%); box-shadow: none; }
/* 0.20.23 – rama w pokoju animuje się razem z obrazem; przełączanie koloru bez animacji */
.sd-room-frame, .sd-room-lip { transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room.sd-noanim, .sd-room.sd-noanim * { transition: none !important; }
.sd-ff-l4 > i, .sd-room-lip > i { will-change: transform; }
/* 0.20.27 – złoto szczotkowane: anizotropowy pas odblasku (ruchomy za kursorem), profil metaliczny, polerowana krawędź wewnętrzna */
.fc-gold { --lx: 38%; --ly: 34%; --lip-line: rgba(70,50,10,.45);
  --lip-sheen-h: linear-gradient(90deg, rgba(255,252,235,0) calc(var(--lx) - 26%), rgba(255,252,235,.42) var(--lx), rgba(255,252,235,0) calc(var(--lx) + 26%)), linear-gradient(180deg, rgba(255,255,245,.35) 0%, rgba(255,255,245,.06) 22%, rgba(70,50,10,.10) 58%, rgba(255,255,245,.12) 80%, rgba(60,40,0,.32) 100%), linear-gradient(90deg, rgba(60,40,0,.10), rgba(60,40,0,0) 30%, rgba(60,40,0,0) 70%, rgba(60,40,0,.14));
  --lip-sheen-v: linear-gradient(180deg, rgba(255,252,235,0) calc(var(--ly) - 26%), rgba(255,252,235,.42) var(--ly), rgba(255,252,235,0) calc(var(--ly) + 26%)), linear-gradient(90deg, rgba(255,255,245,.35) 0%, rgba(255,255,245,.06) 22%, rgba(70,50,10,.10) 58%, rgba(255,255,245,.12) 80%, rgba(60,40,0,.32) 100%), linear-gradient(180deg, rgba(60,40,0,.10), rgba(60,40,0,0) 30%, rgba(60,40,0,0) 70%, rgba(60,40,0,.14)); }
.sd-ff-l4-t::after, .sd-ff-l4-b::after, .sd-room-lip-t::after, .sd-room-lip-b::after { background: var(--lip-sheen-h, var(--lip-sheen)); }
.sd-ff-l4-l::after, .sd-ff-l4-r::after, .sd-room-lip-l::after, .sd-room-lip-r::after { background: var(--lip-sheen-v, var(--lip-sheen)); }
.fc-gold .sd-ff-l4 > i, .fc-gold .sd-room-lip > i, .fc-gold .sd-ff-side > i, .fc-gold .sd-ff-left > i { background-size: calc(var(--lip, 20px) * 5) calc(var(--lip, 20px) * 5); }
.fc-gold .sd-ff-l4-t::after, .fc-gold .sd-room-lip-t::after { box-shadow: inset 0 1px 0 var(--lip-line), inset 0 -2px 0 rgba(226,206,150,.9), inset 0 -3px 0 rgba(96,76,36,.55); }
.fc-gold .sd-ff-l4-b::after, .fc-gold .sd-room-lip-b::after { box-shadow: inset 0 -1px 0 var(--lip-line), inset 0 2px 0 rgba(226,206,150,.9), inset 0 3px 0 rgba(96,76,36,.55); }
.fc-gold .sd-ff-l4-l::after, .fc-gold .sd-room-lip-l::after { box-shadow: inset 1px 0 0 var(--lip-line), inset -2px 0 0 rgba(226,206,150,.9), inset -3px 0 0 rgba(96,76,36,.55); }
.fc-gold .sd-ff-l4-r::after, .fc-gold .sd-room-lip-r::after { box-shadow: inset -1px 0 0 var(--lip-line), inset 2px 0 0 rgba(226,206,150,.9), inset 3px 0 0 rgba(96,76,36,.55); }
.fc-gold .sd-ff-side, .fc-gold .sd-ff-left { filter: brightness(.72) saturate(1.05); box-shadow: inset 1px 0 0 rgba(255,250,220,.55), inset -1px 0 0 rgba(60,40,0,.4); }
.fc-gold .sd-ff-bottom { filter: brightness(.52); }
.sd-tile--frame i.sw-gold { background-image: linear-gradient(90deg, rgba(255,252,235,0) 10%, rgba(255,252,235,.5) 40%, rgba(255,252,235,0) 70%), url("tex/69cb72f5be.jpg"); background-size: 100% 100%, 110px 110px; }
/* 0.20.33 – ściana nad zdjęciem wnętrza: przedłużenie górnej krawędzi zdjęcia zamiast odbicia lustrzanego (bez szwu) */
.sd-room-mirror { transform: none !important; transition: none !important; z-index: 0; }
.sd-room-mirror::after { background: linear-gradient(180deg, rgba(20,12,6,.10), rgba(20,12,6,.03) 60%, rgba(20,12,6,0)); }
.sd-room-mirror { -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(180deg, #000 calc(100% - 24px), transparent); }
/* 1.2.0 – oferta z konfiguracji marki: podpis pod zdjęciem, czarna rama float */
.sd-canvas.has-caption .sd-pp-paper { background: #f9f6ef; }
/* białe passe-partout „premium” (neutralna biel, bez kremu) przy odbitkach z podpisem */
.sd-canvas.has-caption .sd-pp-board.pp-white { border-color: #f6f6f4; }
.sd-canvas.has-caption .sd-pp-bevel.pp-white { border-color: #ececea #ffffff #ffffff #ececea; box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.has-caption.pp-white .sd-room-pp-board { border-color: #f6f6f4; }
/* podpis na czarnym papierze: czarne passe-partout → czarny margines odbitki, biały podpis */
.sd-canvas.pp-black.has-caption .sd-pp-paper { background: #141316; box-shadow: none; }
/* czarne passe-partout przy odbitce z czarnym marginesem: plansza prawie w tonie papieru, skos okna oświetlony z lewej góry (dolny i prawy jaśniejsze) */
.sd-canvas.has-caption ~ .sd-pp-board.pp-black, .sd-canvas.has-caption .sd-pp-board.pp-black { border-color: #1b1a1d; }
.sd-canvas.has-caption .sd-pp-bevel.pp-black { border-color: #0f0e11 #2b2a2e #2f2e32 #0f0e11; box-shadow: inset 0 0 0 1px rgba(0,0,0,.5); }
.has-caption.pp-black .sd-room-pp-board { border-color: #1b1a1d; }
.sd-canvas.pp-black .sd-pp-cap, .pp-black .sd-room-pp-cap { color: #f2f0eb; } .sd-canvas.pp-black .sd-pp-cap span, .pp-black .sd-room-pp-cap span { color: #a9a6a0; }
.sd-pp-cap { z-index: 1; pointer-events: none; color: #2a2622; gap: .25em; }
.sd-pp-cap b { font-weight: 600; letter-spacing: .12em; font-size: 1em; } .sd-pp-cap span { font-size: .82em; letter-spacing: .04em; color: #6b625a; text-transform: none; }
.sd-room-pp-cap { z-index: 1; gap: .25em; } .sd-room-pp-cap b { letter-spacing: .12em; } .sd-room-pp-cap span { letter-spacing: .04em; }
.sd-tile--frame.is-black i { background: #141317; border-color: #000; }

/* Miniatury „odbitka”: proporcje jak w oknie passe-partout (margines 1,5 cm, dół 2,5 cm), mały podpis w jednej linii; ciemny tryb – czarny papier, jasny – biały */
.sd-print { display: flex; justify-content: center; align-items: flex-start; width: 100%; padding: 6px 0 14px; }
.sd-print-paper { --pw: #141316; --pc: #f2f0eb; --ps: #a9a6a0; display: flex; flex-direction: column; align-items: stretch; box-sizing: border-box; padding: 2.143% 2.143% 0; background: var(--pw); box-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 0 28px -2px rgba(255,255,255,.13), 0 0 70px -10px rgba(255,255,255,.1); transition: transform .5s cubic-bezier(.22,.8,.3,1), box-shadow .5s; }
html[data-theme="light"] .sd-print-paper { --pw: #fcfcfb; --pc: #2a2622; --ps: #6b625a; box-shadow: 0 1px 2px rgba(40,30,20,.12), 0 10px 24px -10px rgba(40,30,20,.35); }
.sd-print-img { display: block; width: 100%; background-size: cover; background-position: center; }
.sd-print-cap { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25em; height: 4.4em; padding: 0 .5em; box-sizing: border-box; text-align: center; line-height: 1.2; font-family: var(--wp--preset--font-family--sans); color: var(--pc); overflow: hidden; }
.sd-print-cap b, .sd-print-cap span { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sd-print-cap b { font-weight: 600; font-size: 1em; letter-spacing: .1em; text-transform: uppercase; }
.sd-print-cap span { font-size: .82em; letter-spacing: .03em; color: var(--ps); }
.sd-print-paper:not(:has(.sd-print-cap)) { padding-bottom: 4.4%; }
a:hover .sd-print-paper, li.product:hover .sd-print-paper, .wc-block-product:hover .sd-print-paper { transform: translateY(-3px); }

/* Wnętrze z odbitką z podpisem: warstwy okna animują się razem z ramą (bez skoków), neutralne światło zamiast ciepłego tonu */
.sd-room-pp-img { position: absolute; }
.sd-room-pp-img, .sd-room-pp-cap, .sd-room-pp-shade { transition: left .7s cubic-bezier(.22,.8,.3,1), top .7s cubic-bezier(.22,.8,.3,1), width .7s cubic-bezier(.22,.8,.3,1), height .7s cubic-bezier(.22,.8,.3,1), transform .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-pp-cap { white-space: nowrap; line-height: 1.25; }
.sd-room.has-caption .sd-room-front { filter: brightness(.99) contrast(.98); }
.sd-room.has-caption .sd-room-tone { background: linear-gradient(100deg, rgba(250,249,247,.10) 0%, rgba(240,239,236,.14) 60%, rgba(230,229,226,.2) 100%); }
.sd-room.is-pp.has-caption .sd-room-front::after, .sd-room.is-pp.has-caption .sd-room-front .sd-weave { display: none; } /* papier, nie płótno: bez splotu i cieniowania płótna */

.sd-room-pp-cap { gap: .2em !important; }
.sd-room-pp-cap span { color: #4a4540 !important; font-size: .78em !important; }
.pp-black .sd-room-pp-cap span { color: #c9c6c0 !important; }
/* Przełącznik widoków na ramce wizualizacji (prawy górny róg) – ramka zaczyna się równo z kolumną opisu */
:has(> .sd-views) { position: relative; }
.sd-views { position: absolute; top: 12px; right: 12px; z-index: 6; margin: 0; }
.sd-view { background: color-mix(in srgb, var(--wp--preset--color--ground-900) 40%, transparent); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
@media (max-width: 782px) { .sd-views { top: 8px; right: 8px; gap: 6px; } .sd-view { height: 30px; padding: 0 10px; font-size: 11px; } }
.sd-room-pp-cap { overflow: hidden; }
/* Miniatury w oprawie (offer.thumb_frame) – skala jak w wizualizacji na ścianie (--u = 1 cm):
   rama z łączeniami na ukos (każdy bok w innym świetle), passe-partout z cieniem ramy do środka, papier z podpisem w dolnym marginesie.
   Tryb jasny: biała rama + białe passe-partout, po najechaniu czarne; tryb ciemny odwrotnie. */
.sd-print.is-framed { padding: 4px 0 0; align-items: center; }
.sd-print.is-framed .sd-fr { --fr-t: #fefefd; --fr-l: #fbfaf8; --fr-r: #f3f1ed; --fr-b: #eeebe6; --mat: #fcfbf8; --pap: var(--fd-tone, #fefdf8); --cap: #2a2622; --cap2: #4f4840; --fsa: .12; --fsb: .025; --edge: rgba(60,45,25,.1); --bev: rgba(255,255,255,.55);
  display: block; box-sizing: border-box; border-style: solid; border-color: var(--fr-t) var(--fr-r) var(--fr-b) var(--fr-l);
  box-shadow: 0 0 0 1px var(--edge), 1px 2px 3px rgba(35,22,10,.12), 5px 9px 16px rgba(35,22,10,.1), 12px 20px 36px rgba(35,22,10,.07);
  transition: border-color .45s ease, box-shadow .45s ease; }
.sd-print.is-framed .sd-mat { position: relative; display: block; background: var(--mat); transition: background-color .45s ease; }
.sd-print.is-framed .sd-mat-fs { position: absolute; inset: 0; pointer-events: none; z-index: 2;
  /* cień listwy na passe-partout: światło z lewej góry – wyraźny pas przy górnej i lewej krawędzi, przy dolnej i prawej tylko ślad */
  box-shadow: inset calc(var(--u) * .9) calc(var(--u) * 1.05) calc(var(--u) * 1.15) calc(var(--u) * -.25) rgba(0,0,0,var(--fsa)), inset calc(var(--u) * .25) calc(var(--u) * .3) calc(var(--u) * .3) rgba(0,0,0,calc(var(--fsa) * .5)), inset calc(var(--u) * -.15) calc(var(--u) * -.15) calc(var(--u) * .45) rgba(0,0,0,var(--fsb)), inset 0 0 0 1px rgba(0,0,0,var(--fsb)); transition: box-shadow .45s ease; }
.sd-print.is-framed .sd-print-paper { position: relative; box-sizing: border-box; background: var(--pap) !important; transform: none !important;
  box-shadow: inset calc(var(--u) * .1) calc(var(--u) * .14) calc(var(--u) * .4) rgba(0,0,0,var(--psh, .12)), inset 0 0 calc(var(--u) * .06) rgba(0,0,0,.08), 0 0 0 1px var(--bev) !important; transition: background-color .45s ease, box-shadow .45s ease; }
.sd-print.is-framed .sd-print-img { width: 100%; }
.sd-print.is-framed .sd-print-cap { padding: 0 .4em; gap: .22em; line-height: 1.2; color: var(--cap); transition: color .45s ease; }
.sd-print.is-framed .sd-print-cap span { color: var(--cap2) !important; transition: color .45s ease; }
/* czarna wersja: tryb ciemny domyślnie, tryb jasny po najechaniu */
html:not([data-theme="light"]) .sd-print.is-framed .sd-fr,
html[data-theme="light"] .sd-print.is-framed.is-lit .sd-fr, html[data-theme="light"] a:hover .sd-print.is-framed .sd-fr, html[data-theme="light"] li.product:hover .sd-print.is-framed .sd-fr, html[data-theme="light"] .wc-block-product:hover .sd-print.is-framed .sd-fr {
  --fr-t: #34332f; --fr-l: #282724; --fr-r: #1c1b19; --fr-b: #11100f; --mat: #1b1a1d; --pap: #141316; --cap: #f2f0eb; --cap2: #b3aea6; --fsa: .6; --fsb: .3; --edge: rgba(0,0,0,.4); --bev: rgba(255,255,255,.14); --psh: .3; }
html:not([data-theme="light"]) .sd-print.is-framed.is-lit .sd-fr, html:not([data-theme="light"]) a:hover .sd-print.is-framed .sd-fr, html:not([data-theme="light"]) li.product:hover .sd-print.is-framed .sd-fr, html:not([data-theme="light"]) .wc-block-product:hover .sd-print.is-framed .sd-fr {
  --fr-t: #fefefd; --fr-l: #fbfaf8; --fr-r: #f3f1ed; --fr-b: #eeebe6; --mat: #fcfbf8; --pap: var(--fd-tone, #fefdf8); --cap: #2a2622; --cap2: #4f4840; --fsa: .12; --fsb: .025; --edge: rgba(60,45,25,.1); --bev: rgba(255,255,255,.55); }
html:not([data-theme="light"]) .sd-print.is-framed .sd-fr { box-shadow: 0 0 0 1px var(--edge), 0 2px 4px rgba(0,0,0,.35), 0 14px 32px rgba(0,0,0,.4); }
/* bez unoszenia po najechaniu – zmienia się tylko kolor oprawy */
.sd-print.is-framed .sd-fr, a:hover .sd-print.is-framed .sd-fr, li.product:hover .sd-print.is-framed .sd-fr, .wc-block-product:hover .sd-print.is-framed .sd-fr { transform: none !important; }

/* ton miniatur: sepia jak w wizualizacji na ścianie (światło galerii) – nadpisywany przez motyw potomny */
.sd-print.is-framed .sd-print-img { background-color: var(--thumb-tone, var(--fd-tone, #fff)) !important; background-blend-mode: multiply; }

/* ——— Telefon: strona produktu – większa wizualizacja przyklejona u góry, zbite opcje pod nią (1.7.28) ——— */
.sd-duo, .sd-duo-cell { display: contents; }
.sd-spec { display: none; }
@media (max-width: 782px) {
  /* okruszki w jednej linii */
  .wp-block-woocommerce-breadcrumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px !important; letter-spacing: .12em; }
  .sd-product-top { padding-top: 8px !important; row-gap: 0 !important; gap: 0 !important; }
  /* wizualizacja na całą szerokość, bez panelu, przyklejona pod nagłówkiem */
  .wp-block-columns.sd-product-top > .wp-block-column.sd-viz-col { position: sticky !important; top: var(--sd-vtop, 0px); z-index: 20; flex: 0 0 100vw !important; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    /* tło tylko pod pomniejszonym podglądem; reszta przezroczysta i „przeklikiwalna” – opcje przewijają się pod spodem */
    background: linear-gradient(var(--sd-viz-bg, var(--wp--preset--color--ground-900)), var(--sd-viz-bg, var(--wp--preset--color--ground-900))) no-repeat 0 0 / 100% calc(100% * var(--vs, 1)); pointer-events: none; }
  /* okno podglądu niższe o --vs; treść kadrowana wokół zdjęcia (--voy), przesunięta (--vy) i – tylko gdy trzeba – pomniejszona (--vk) */
  .wp-block-columns.sd-product-top > .wp-block-column.sd-viz-col { clip-path: inset(0 0 calc(100% - 100% * var(--vs, 1) - 1px) 0); }
  .sd-viz-inner { position: relative; transform: translate3d(0, var(--vy, 0px), 0) scale(var(--vk, 1)); transform-origin: 50% var(--voy, 0px); pointer-events: auto; }
  .sd-viz-inner.sd-viz-anim { transition: transform .7s cubic-bezier(.22,.8,.3,1); }
  .sd-viz-col::after { content: ""; position: absolute; left: 0; right: 0; top: calc(100% * var(--vs, 1)); height: 1px; background: var(--wp--preset--color--line-300); opacity: max(calc((1 - var(--vs, 1)) * 6), calc(var(--vu, 0) * .8)); pointer-events: none; }
  .sd-viz-col .sd-wall { background: transparent; padding: 28px 12px 36px; }
  .sd-viz-col .sd-scene { height: clamp(250px, min(90vw, 54svh), 460px); gap: 0; }
  /* wymiary zawsze widoczne; długi opis przeniesiony pod koszyk */
  .sd-viz-col .sd-legend { opacity: 1; }
  .sd-viz-col .sd-legend-box { display: none; }
  .sd-viz-col .sd-dim { font-size: 10px; }
  .sd-viz-col .sd-size-label { display: none; } /* wymiary pokazują linie wymiarowe */
  /* przełącznik widoków na dole po lewej */
  /* …zawsze przy dolnej krawędzi widocznego okna, w stałej wielkości */
  .sd-viz-col .sd-views { top: auto; bottom: calc(var(--vb, 0px) + 6px * var(--vik, 1)); left: 50%; right: auto; gap: 4px; transform: translateX(-50%) scale(var(--vik, 1)); transform-origin: 50% 100%; white-space: nowrap; } /* wyśrodkowany na zdjęciu */
  .sd-viz-col .sd-close-hint { opacity: clamp(0, calc((var(--vs, 1) - .9) * 10), 1); }
  .sd-viz-col .sd-view { height: 28px; padding: 0 9px; font-size: 10px; letter-spacing: .1em; }
  .sd-viz-col .sd-room { margin: 0 auto; }
  /* panel zakupu: bez tła, zbity */
  .sd-buy-col { margin-top: 0 !important; }
  html .sd-buy-col .sd-buy-panel, html[data-theme] .sd-buy-col .sd-buy-panel.has-ground-800-background-color { background: transparent !important; background-color: transparent !important; padding: 14px 0 24px !important; display: flex !important; flex-direction: column; }
  .sd-buy-panel > * { max-width: none !important; }
  .sd-buy-panel > * + * { margin-block-start: 6px !important; }
  .sd-buy-panel .sd-meta { font-size: 10px; }
  .sd-buy-panel .wp-block-post-title { font-size: 26px !important; margin: 2px 0 0 !important; }
  .sd-buy-panel .sd-artist { font-size: 15px; }
  .sd-buy-panel .sd-hairline { order: 9; margin: 18px 0 6px !important; }
  .sd-buy-panel .sd-lede { order: 10; }
  .sd-buy-panel form.variations_form { margin-top: 4px !important; }
  .sd-buy-panel .sd-tiles-label { margin: 10px 0 5px !important; font-size: 10px !important; }
  .sd-buy-panel .sd-tiles { margin-bottom: 0; gap: 6px; }
  .sd-buy-panel .sd-tiles--medium { padding: 2px; }
  .sd-buy-panel .sd-tile--medium { padding: 6px 10px; gap: 1px; }
  .sd-buy-panel .sd-tile--medium b { font-size: 13px; line-height: 1.25; } .sd-buy-panel .sd-tile--medium span { font-size: 11px; line-height: 1.3; }
  .sd-buy-panel .sd-tiles--size .sd-tile { flex-direction: row; align-items: baseline; justify-content: center; gap: 4px; padding: 9px 4px; }
  .sd-buy-panel .sd-tiles--size .sd-tile b { font-size: 14px; white-space: nowrap; }
  .sd-buy-panel .sd-tiles--size .sd-tile span { font-size: 10px; }
  .sd-buy-panel .sd-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .sd-buy-panel .sd-duo.is-off { display: none; }
  .sd-buy-panel .sd-duo-cell { display: block; min-width: 0; }
  .sd-buy-panel .sd-duo .sd-tiles { grid-template-columns: 1fr 1fr !important; gap: 4px; }
  /* wąskie kafelki: mniejsza próbka i pełna nazwa („Czarne”, „Czarna”) zamiast „Cza…” */
  .sd-buy-panel .sd-duo .sd-tile--frame { padding: 6px 4px; gap: 5px; min-width: 0; justify-content: center; }
  .sd-buy-panel .sd-duo .sd-tile--frame i { width: 13px; height: 13px; }
  .sd-buy-panel .sd-duo .sd-tile--frame b { font-size: 12px; letter-spacing: 0; overflow: visible; text-overflow: clip; }
  .sd-buy-panel .sd-tiles--size .sd-tile { flex-wrap: wrap; }
  .sd-buy-panel .sd-tiles--size .sd-tile em { flex: 0 0 100%; margin-top: 0; font-size: 12px; }
  .sd-buy-panel .sd-tiles--frame { grid-template-columns: 1fr 1fr !important; }
  .sd-buy-panel .single_variation_wrap { margin-top: 12px; gap: 10px 14px; }
  .sd-buy-panel .woocommerce-variation-price .price { font-size: 22px !important; }
  .sd-buy-panel .woocommerce-variation-add-to-cart { min-width: 0; flex: 1 1 200px; }
  .sd-buy-panel .quantity .qty { height: 44px; width: 52px; }
  .sd-buy-panel .single_add_to_cart_button { flex: 1; }
  .sd-buy-panel .reset_variations { display: none !important; }
  .sd-spec { display: block; order: 0; margin: 12px 0 0 !important; font-family: var(--wp--preset--font-family--sans); font-size: 12px; line-height: 1.6; color: var(--wp--preset--color--ink-500); }
  .sd-spec b { color: var(--wp--preset--color--ink-300); font-weight: 500; }
}

/* Jasny motyw: lżejszy cień oprawy (papier/rama na jasnej ścianie) */
html[data-theme="light"] .sd-shadow { background: rgba(40,30,20,.42); filter: blur(16px); transform: translateZ(-30px) translate(12px, 16px); }
html[data-theme="light"] .is-pp .sd-shadow { background: rgba(40,30,20,.26); filter: blur(14px); transform: translateZ(-30px) translate(9px, 12px); }

/* wnętrze przybliżone do obrazu (kadr przycina podłogę i boki, większe formaty oddalają widok) */
.sd-room-clip { display: block; position: relative; overflow: hidden; width: 100%; max-width: 900px; margin: 0 auto; transition: height .7s cubic-bezier(.22,.8,.3,1); }
.sd-room-clip:has(> .sd-hidden-view) { display: none; }
.sd-room-clip > .sd-room { max-width: none; margin: 0; transition: height .7s cubic-bezier(.22,.8,.3,1), transform .7s cubic-bezier(.22,.8,.3,1); }

.sd-room-clip.sd-noanim, .sd-room-clip.sd-noanim > .sd-room { transition: none !important; }
.sd-canvas.sd-noanim * { transition: none !important; }

/* ––– Widok „Z bliska” i powiększenie zdjęcia na pełnym ekranie (cfg closeup) ––– */
.sd-view svg { display: inline-block; margin-right: 6px; vertical-align: -1px; }
.sd-zoomable { cursor: zoom-in; }
.sd-close { position: relative; box-sizing: border-box; height: min(80vh, 860px); padding: 64px 40px 48px; margin: 0 auto; background: var(--sd-viz-bg, var(--wp--preset--color--ground-800)); display: flex; align-items: center; justify-content: center; cursor: zoom-in; }
.sd-close-img { display: block; flex: none; background: center / 100% 100% no-repeat; box-shadow: 0 1px 2px rgba(0,0,0,.25), 0 22px 44px -26px rgba(0,0,0,.7); }
.sd-wall, .sd-room, .sd-close, .sd-zoom { -webkit-touch-callout: none; }
.sd-close { -webkit-user-select: none; user-select: none; }
.sd-close-hint { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px; font-family: var(--wp--preset--font-family--sans); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--ink-100); background: color-mix(in srgb, var(--wp--preset--color--ground-900) 82%, transparent); border: 1px solid var(--wp--preset--color--line-300); pointer-events: none; }
.sd-close:focus-visible { outline: 2px solid var(--wp--preset--color--patina); outline-offset: -2px; }
@media (max-width: 782px) {
  .sd-viz-col .sd-close { background: transparent; padding: 44px 12px 44px; height: calc(clamp(250px, min(90vw, 54svh), 460px) + 64px); }
  .sd-viz-col .sd-close-hint { right: 12px; top: 8px; bottom: auto; height: 28px; padding: 0 9px; font-size: 10px; letter-spacing: .1em; }
}
html.sd-zoom-open { overflow: hidden; }
.sd-zoom { position: fixed; inset: 0; z-index: 100000; overflow: hidden; background: #0b0b0b; cursor: zoom-in; touch-action: none; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; animation: sd-zoom-in .22s ease; }
@keyframes sd-zoom-in { from { opacity: 0; } to { opacity: 1; } }
.sd-zoom.is-zoomed { cursor: grab; }
.sd-zoom-img { position: absolute; inset: 0; margin: auto; display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; transform-origin: 50% 50%; will-change: transform; -webkit-user-drag: none; -webkit-touch-callout: none; }
.sd-zoom.is-zoomed .sd-zoom-img { cursor: grab; }
.sd-zoom-img.is-anim { transition: transform .28s cubic-bezier(.2,.7,.2,1); }
.sd-zoom button { position: absolute; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 0; background: rgba(18,18,18,.72); color: #f1efe8; font-family: var(--wp--preset--font-family--sans); font-size: 24px; font-weight: 300; line-height: 1; cursor: pointer; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.sd-zoom button:hover, .sd-zoom button:focus-visible { border-color: rgba(255,255,255,.7); outline: none; }
.sd-zoom-x { top: max(12px, env(safe-area-inset-top)); right: 12px; }
.sd-zoom-ctl { position: absolute; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); display: flex; gap: 6px; }
.sd-zoom-ctl button { position: static; }
.sd-zoom-tip { position: absolute; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); transform: translateX(-50%); padding: 7px 12px; white-space: nowrap; font-family: var(--wp--preset--font-family--sans); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #f1efe8; background: rgba(18,18,18,.72); pointer-events: none; transition: opacity .3s; }
.sd-zoom.is-zoomed .sd-zoom-tip { opacity: 0; }
@media (max-width: 600px) { .sd-zoom-ctl { display: none; } .sd-zoom-tip { font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { .sd-zoom { animation: none; } .sd-zoom-img.is-anim { transition: none; } }
/* ––– Konkrety przy przycisku koszyka (cfg assure) ––– */
.sd-assure { list-style: none; margin: 14px 0 0 !important; padding: 12px 0 0; border-top: 1px solid var(--wp--preset--color--line-100); display: grid; gap: 7px; font-size: 13.5px; line-height: 1.4; color: var(--wp--preset--color--ink-300); }
.sd-assure li { position: relative; padding-left: 22px; }
.sd-assure li::before { content: ""; position: absolute; left: 2px; top: .36em; width: 9px; height: 5px; border-left: 1.5px solid var(--wp--preset--color--patina); border-bottom: 1.5px solid var(--wp--preset--color--patina); transform: rotate(-45deg); }
.sd-assure b { font-weight: 500; color: var(--wp--preset--color--ink-100); }
.sd-assure + p { display: none; } /* dotychczasowe jedno zdanie pod przyciskiem – zastąpione listą */
/* ––– Telefon: pasek z ceną i przyciskiem, gdy właściwy przycisk jest poza ekranem ––– */
.sd-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: color-mix(in srgb, var(--wp--preset--color--ground-900) 94%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--wp--preset--color--line-300); }
.sd-buybar[hidden] { display: none; }
.sd-buybar-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; line-height: 1.2; }
.sd-buybar-info b { font-family: var(--wp--preset--font-family--sans); font-size: 18px; font-weight: 500; color: var(--wp--preset--color--patina); white-space: nowrap; }
.sd-buybar-info small { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .04em; color: var(--wp--preset--color--ink-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sd-buybar-btn { flex: 0 0 auto; height: 48px !important; padding: 0 20px !important; border: 0; border-radius: 0; background: var(--wp--preset--color--patina); color: var(--wp--preset--color--ground-900); font-family: var(--wp--preset--font-family--sans); font-size: 12px !important; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.sd-buybar-btn.is-off { opacity: .65; }
@media (min-width: 783px) { .sd-buybar { display: none !important; } }
@media (max-width: 782px) { body.single-product { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); } }
/* akapit nad listą przy przycisku (dostawa i odbiór) – lista pod nim bez drugiej kreski */
.sd-assure-lead { margin: 14px 0 0 !important; padding: 12px 0 0; border-top: 1px solid var(--wp--preset--color--line-100); font-size: 14px; line-height: 1.5; color: var(--wp--preset--color--ink-100); }
.sd-assure-lead + .sd-assure { margin-top: 10px !important; padding-top: 0; border-top: 0; }
.sd-assure { font-size: 14px; }
.sd-assure a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--wp--preset--color--patina); }

/* telefon: kolor oprawy zależy tylko od położenia na ekranie (is-lit), nie od „przyklejonego” :hover po dotknięciu */
@media (hover: none) {
  html:not([data-theme="light"]) .sd-print.is-framed:not(.is-lit) .sd-fr.sd-fr {
    --fr-t: #34332f; --fr-l: #282724; --fr-r: #1c1b19; --fr-b: #11100f; --mat: #1b1a1d; --pap: #141316; --cap: #f2f0eb; --cap2: #b3aea6; --fsa: .6; --fsb: .3; --edge: rgba(0,0,0,.4); --bev: rgba(255,255,255,.14); --psh: .3; }
  html[data-theme="light"] .sd-print.is-framed:not(.is-lit) .sd-fr.sd-fr {
    --fr-t: #fefefd; --fr-l: #fbfaf8; --fr-r: #f3f1ed; --fr-b: #eeebe6; --mat: #fcfbf8; --pap: var(--fd-tone, #fefdf8); --cap: #2a2622; --cap2: #4f4840; --fsa: .12; --fsb: .025; --edge: rgba(60,45,25,.1); --bev: rgba(255,255,255,.55); --psh: .12; }
  /* rozświetlenie powoli (1,4 s), powrót do czerni nieco szybciej (0,8 s) */
  .sd-print.is-framed .sd-fr, .sd-print.is-framed .sd-mat, .sd-print.is-framed .sd-mat-fs, .sd-print.is-framed .sd-print-paper, .sd-print.is-framed .sd-print-cap, .sd-print.is-framed .sd-print-cap span { transition-duration: .8s !important; transition-timing-function: ease-in-out !important; }
  .sd-print.is-framed.is-lit .sd-fr, .sd-print.is-framed.is-lit .sd-mat, .sd-print.is-framed.is-lit .sd-mat-fs, .sd-print.is-framed.is-lit .sd-print-paper, .sd-print.is-framed.is-lit .sd-print-cap, .sd-print.is-framed.is-lit .sd-print-cap span { transition-duration: 1.4s !important; }
}
/* odbitka z podpisem: zdjęcie w ciepłym tonie papieru, w tym samym odcieniu co passe-partout (30.10.2026) */
.sd-canvas.has-caption .sd-pp-img, .sd-room.has-caption .sd-room-pp-img { filter: sepia(.08) brightness(.985); }
/* odbitka z podpisem we wnętrzu: jak w Photoshopie (30.10.2026) – ciepła nakładka #efdecd mnożenie 20%,
   poświata mnożenie 26% (0,9 cm), cień 61% pod kątem 44° (odległość i rozmycie 2,4 cm); --ppc = pikseli na cm */
.sd-room.has-caption .sd-room-tone { background: #ede3d2; opacity: .2; }
.sd-room.has-caption .sd-room-frame { box-shadow: 0 0 calc(var(--ppc, 4px) * .9) rgba(35,30,25,.26), calc(var(--ppc, 4px) * -1.73) calc(var(--ppc, 4px) * 1.67) calc(var(--ppc, 4px) * 2.4) rgba(22,14,10,.61) !important; }
/* biała rama: bez ciemnej kreski na styku lica i boku (prześwit przy antyaliasingu) */
.sd-canvas.fc-white, .fc-white .sd-canvas, .sd-room.fc-white { --lip-line: rgba(0,0,0,.04); }
.fc-white .sd-ff-side, .fc-white .sd-ff-left { box-shadow: none; }
/* listwy lica: kolor ramy pod teksturą – brzeg nie prześwituje ciemnym tłem lica (antyaliasing, zwłaszcza na ekranach retina) */
.fc-white .sd-ff-l4, .sd-room.fc-white .sd-room-lip { background-color: #f3f1ec !important; } .fc-black .sd-ff-l4, .sd-room.fc-black .sd-room-lip { background-color: #1a191c !important; }
