/* ps_shopblocks – bloki własne (skórki „plain”); bloki zastępujące moduły motywu mają style motywu */
.psb-html img { max-width: 100%; height: auto; }
.psb-images { container: psbw / inline-size; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.psb-img { display: block; }
.psb-img img { display: block; width: 100%; height: auto; }
@container psbw (max-width: 460px) { .psb-images { grid-template-columns: 1fr; gap: 12px; } }

/* Dopasowanie wysokości w rzędzie sekcji Kompozytora: blok treści sięga do dołu kolumny (tło, ramka). */
.pc-sec--stretch > .pc-sec-col .psb-html { box-sizing: border-box; }
.pc-sec--stretch > .pc-sec-col > .psb-html:only-child,
.pc-sec--stretch > .pc-sec-col > * > .psb-html:only-child { height: 100%; }

/* ---- edytor uniwersalny (drzewo elementów); układ i wygląd z ustawień bloku (<style> przy bloku, @container wg szerokości bloku) */
.psbc { min-width: 0; }
.psbc:not([class*="col-"]) { flex: 1 1 100%; width: 100%; max-width: 100%; }
.psbc *, .psbc *::before, .psbc *::after { box-sizing: border-box; }
.psbc-box { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.psbc-el { min-width: 0; }
.psbc :is(h1, h2, h3, h4, h5, h6).psbc-heading { margin: 0; }
.psbc-heading a { color: inherit; text-decoration: none; }
.psbc-rich > :first-child { margin-top: 0; }
.psbc-rich > :last-child { margin-bottom: 0; }
.psbc-rich a { color: inherit; text-decoration: underline; }
.psbc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; padding: 11px 20px; border: 2px solid transparent; border-radius: 10px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none !important; transition: filter .15s, transform .15s; }
.psbc-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.psbc-btn--primary { background: var(--fam-accent, #5b5fc7); color: #fff !important; }
.psbc-btn--secondary { background: #1f2333; color: #fff !important; }
.psbc-btn--outline { background: transparent; border-color: currentColor; color: var(--psbc-c, var(--fam-accent, #5b5fc7)) !important; }
.psbc-btn--text { padding: 0; border: 0; color: var(--psbc-c, var(--fam-accent, #5b5fc7)) !important; text-decoration: underline !important; }
.psbc-button { display: flex; justify-content: var(--psbc-ta, flex-start); }
.psbc-btn--full { width: 100%; }
.psbc-icon { display: flex; align-items: center; gap: 12px; justify-content: var(--psbc-ta, flex-start); }
.psbc-icolink { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.psbc-ico { flex: none; display: inline-grid; place-items: center; width: var(--psbc-isz, 44px); height: var(--psbc-isz, 44px); border-radius: 50%; background: color-mix(in srgb, var(--psbc-ic, var(--fam-accent, #5b5fc7)) 12%, transparent); color: var(--psbc-ic, var(--fam-accent, #5b5fc7)); font-size: calc(var(--psbc-isz, 44px) * .48); }
.psbc-fa { width: 1.15em; text-align: center; }
.psbc-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.psbc-list li { margin: 0; padding: 0; }
.psbc-list a, .psbc-list .psbc-li { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.psbc-list a:hover { text-decoration: underline; }
.psbc-list--row { flex-direction: row; flex-wrap: wrap; gap: 6px 20px; }
.psbc-list--pills { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.psbc-list--pills a, .psbc-list--pills .psbc-li { padding: 7px 14px; border-radius: 999px; background: color-mix(in srgb, currentColor 7%, transparent); }
.psbc-list--pills a:hover { text-decoration: none; background: color-mix(in srgb, currentColor 13%, transparent); }
.psbc-list--dots li::before { content: "•"; margin-right: 8px; opacity: .5; }
.psbc-divider { width: 100%; margin: 0; border: 0; border-top: 1px solid currentColor; opacity: .15; }
.psbc-spacer { min-height: 24px; }
.psbc-image img { display: block; width: var(--psbc-iw, auto); max-width: 100%; height: var(--psbc-ih, auto); aspect-ratio: var(--psbc-ratio, auto); object-fit: var(--psbc-fit, cover); border-radius: inherit; }
.psbc-shop { display: flex; align-items: flex-start; gap: 10px; }
.psbc-shop > .psbc-fa { margin-top: .2em; }
.psbc-shopb { display: flex; flex-direction: column; min-width: 0; }
.psbc-shopl { font-size: .85em; opacity: .7; }
.psbc-shop a { color: inherit; text-decoration: none; }
.psbc-boxlink { color: inherit; text-decoration: none !important; }
.psbc-social--square .block-social li a, .psbc-social--square li a { border-radius: 10px !important; }
.psbc-empty { padding: 18px; border: 2px dashed rgba(124, 58, 237, .45); border-radius: 10px; background: rgba(124, 58, 237, .04); color: #6d28d9; font: 13px/1.4 system-ui, sans-serif; text-align: center; list-style: none; }
