/* Dopasowania stylów starej strony do motywu blokowego.
   global.css / shop.css / product.css / blog.css są kopią starych plików – tu tylko to,
   czego stara strona nie potrzebowała (znaczniki bloków WordPressa) albo co zastępuje style Divi. */

/* ---------- Wspólne: strona starej szaty zajmuje całą szerokość (bez marginesów bloków) ---------- */
.wp-site-blocks > .strefa-shop,
.wp-site-blocks > .strefa-product,
.wp-site-blocks > .strefa-blog,
.wp-site-blocks > .strefa-home { margin-block-start: 0; }
.strefa-shop, .strefa-product, .strefa-blog, .strefa-home { font-size: 14px; line-height: 1.7; color: var(--color-text); }
.strefa-shop *, .strefa-product *, .strefa-blog *, .strefa-home * { box-sizing: border-box; }
.strefa-shop h1, .strefa-shop h2, .strefa-shop h3, .strefa-shop h4,
.strefa-product h1, .strefa-product h2, .strefa-product h3, .strefa-product h4,
.strefa-blog h1, .strefa-blog h2, .strefa-blog h3, .strefa-blog h4,
.strefa-home h1, .strefa-home h2, .strefa-home h3, .strefa-home h4 { font-family: var(--font-heading); color: var(--color-text); line-height: 1.2; }
.strefa-shop a, .strefa-product a, .strefa-blog a, .strefa-home a { text-decoration: none; }

/* ---------- Sklep: zdjęcie na karcie (dawniej span.et_shop_image z Divi) ---------- */
.strefa-shop-main li.product span.ps-shop-image { display: block; position: relative; overflow: hidden; border-radius: 8px; margin: 0 0 12px; width: 100%; height: 0; padding-bottom: 90%; }
.strefa-shop-main li.product span.ps-shop-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; margin: 0; border-radius: 0; display: block; }
.strefa-shop-main li.product .product-new-badge { position: absolute; top: 10px; left: 10px; z-index: 10; background: #fff; color: var(--color-text); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; line-height: 1.5; }
.strefa-shop-main li.product .product-badge--sale { color: var(--color-coral); }

/* Ikona koszyka na karcie (stara strona: ikona obok tytułu) – prawdziwy przycisk WooCommerce z AJAX-em */
.strefa-shop-main li.product .card-info { padding-right: 54px; }
.strefa-shop-main li.product .custom-cart-icon { position: absolute; right: 12px; bottom: 14px; z-index: 2; line-height: 0; }
.strefa-shop .strefa-shop-main ul.products li.product .custom-cart-icon .button { width: 34px; height: 34px; margin: 0; padding: 0 !important; border-radius: 50% !important; font-size: 0 !important; display: inline-flex; align-items: center; justify-content: center; background: #fff !important; border: 1px solid var(--color-border) !important; color: var(--color-text) !important; }
.strefa-shop-main li.product .custom-cart-icon .button::before { content: ""; width: 17px; height: 17px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10.2L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10.2L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat; }
.strefa-shop .strefa-shop-main ul.products li.product .custom-cart-icon .button:hover { background: var(--color-text) !important; color: #fff !important; border-color: var(--color-text); }
.strefa-shop-main li.product .custom-cart-icon .button.loading { opacity: .5; }
.strefa-shop .strefa-shop-main ul.products li.product .custom-cart-icon .button.added { background: var(--color-green-bg) !important; color: var(--color-green) !important; border-color: var(--color-green-bg); }
.strefa-shop-main li.product .custom-cart-icon .added_to_cart { display: none !important; }
.strefa-shop-main li.product .ps-card-owned { padding: 0 14px 14px; margin-top: -6px; }
.strefa-shop .strefa-shop-main ul.products li.product .ps-card-owned .button.ps-owned { display: flex; margin: 0; text-align: center; padding: 8px 10px !important; font-size: 12px !important; background: var(--color-green-bg) !important; color: var(--color-green) !important; }
.strefa-shop-main li.product .card-price-once del { opacity: .7; margin-right: 3px; }
.strefa-shop-main li.product .card-price-once ins { text-decoration: none; }

/* ---------- Karta produktu: wybór „Subscribe & save” / „One-time purchase” ---------- */
fieldset.sp-buybox { margin: 0 0 14px; padding: 0; min-width: 0; }
.sp-buybox label.sp-buy-opt { margin: 0; font-weight: 400; }
.sp-buy-feat > span { display: block; font-size: 13px; line-height: 1.3; color: var(--color-muted); padding-left: 22px; position: relative; }
.sp-buy-feat > span::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--color-green, #3a8a4a); font-size: 12px; font-weight: 700; }
.sp-buy-price small { font-size: 12px; font-weight: 600; color: var(--color-muted); margin: 0 2px; }
.sp-buy--two.is-sub .sp-buy-action--once,
.sp-buy--two.is-once .sp-buy-action--sub { display: none; }
.sp-buy-action { margin-bottom: 10px; }
.sp-buy-action form.cart { margin: 0; display: block; }
.sp-buy-action form.cart .quantity { display: none; }
.sp-buy-action .single_add_to_cart_button,
.sp-buy-action .ps-club-box .button,
.sp-buy-action .ps-club-box button { display: block; width: 100%; margin: 0; padding: 15px 20px; background: var(--color-text); color: #fff !important; border: none; border-radius: 11px; font-family: var(--font-body); font-size: 15px; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none !important; cursor: pointer; transition: background .15s, transform .15s; }
.sp-buy-action .single_add_to_cart_button:hover,
.sp-buy-action .ps-club-box .button:hover,
.sp-buy-action .ps-club-box button:hover { background: #000; transform: translateY(-1px); }
.sp-buy-action .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.sp-buy-action .ps-club-box { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.sp-buy-action .ps-club-box p { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--color-muted); }
.sp-buy-action .ps-club-box p:has(> .button), .sp-buy-action .ps-club-box__form { order: -1; margin-bottom: 4px; }
.sp-buy-action .ps-club-box__title { font-family: var(--font-heading); font-size: 13px !important; font-weight: 700; color: var(--color-text) !important; }
.sp-buy-action .ps-club-box p:has(> .button) + .ps-club-box__title { order: 0; }
.sp-buy-action .ps-club-box .ps-club-files { margin: 2px 0; padding-left: 18px; font-size: 13px; }
.sp-buy-action .ps-club-box .ps-club-files a { color: var(--color-coral); text-decoration: underline; }
.sp-buy-action .ps-club-box__notice { color: var(--color-green) !important; font-weight: 600; }
/* Produkt klubu: warianty (plany) w ramce jak w starym wyborze planu */
.sp-buybox--club { padding: 18px 20px; }
.sp-buybox--club table.variations { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.sp-buybox--club table.variations th, .sp-buybox--club table.variations td { padding: 4px 0; text-align: left; vertical-align: middle; font-size: 14px; border: 0; }
.sp-buybox--club table.variations select { width: 100%; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 8px; background: #fff; font: inherit; }
.sp-buybox--club .reset_variations { font-size: 12px; color: var(--color-muted); }
.sp-buybox--club .woocommerce-variation-price { margin: 4px 0 10px; font-family: var(--font-heading); font-size: 20px; font-weight: 800; }
.sp-buy-note { margin: 0 0 14px; font-size: 13px; }
.sp-buy-note a { color: var(--color-coral); font-weight: 600; }
.sp-notices:empty { display: none; }
.sp-notices .woocommerce-message, .sp-notices .woocommerce-error, .sp-notices .woocommerce-info { margin: 10px 0 0; }
.sp-rating a.sp-rating-count { color: var(--color-muted); }
.sp-rel-badge--sale { color: var(--color-coral); }
/* Baner klubu: zamiast pola e-mail, które nic nie zapisywało – cena i przycisk do planów */
.sp-club-form .sp-club-price { margin: 0; font-size: 14px; color: var(--color-text); }
.sp-gallery-inner--single .sp-gallery-main { width: 100%; }
/* Zdjęcia wykrojów to grafiki z napisami (kwadrat) – stała wysokość 470 px z przycinaniem ucinała tekst; pokazujemy całe */
.sp-gal-slide img { height: auto; object-fit: contain; }
.strefa-shop-main li.product span.ps-shop-image { padding-bottom: 100%; }
.strefa-shop-main ul.products li.product span.ps-shop-image img { aspect-ratio: auto; object-fit: contain; }
/* To samo we wszystkich innych miejscach ze zdjęciem wykroju: „You may also like”, miniatury galerii, wykrój miesiąca,
   promocja w blogu, pliki w koncie, koszyk – kwadrat, całe zdjęcie, tło jak grafika */
.sp-rel-img img, .strefa-shop-monthly img, .monthly-pattern-box img { height: auto; aspect-ratio: 1 / 1; object-fit: contain; background: var(--color-surface); }
.sp-gal-thumb img, .sb-promo-img, .strefa-download-row__thumb img,
.strefa-commerce-card table.shop_table .product-thumbnail img,
.woocommerce table.shop_table td.product-thumbnail img { object-fit: contain !important; background: var(--color-surface); }
.sb-promo-img { height: 100px; }
/* Koszyk i kasa na blokach WooCommerce (03.11): ta sama szerokość co nagłówek (80%, maks. 1200 px), na telefonie marginesy 16 px */
.ps-commerce > .wp-block-post-content { max-width: none !important; } /* 80% liczone od całej szerokości strony, jak nagłówek */
.ps-commerce > .wp-block-post-content > * { max-width: min(80%, 1200px) !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 781px) { .ps-commerce > .wp-block-post-content > * { max-width: calc(100% - 32px) !important; } }
/* Potwierdzenie zamówienia (szablon motywu „order-confirmation”, bloki WooCommerce): ta sama szerokość */
.ps-order-confirmation > * { max-width: min(80%, 1200px) !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 781px) { .ps-order-confirmation > * { max-width: calc(100% - 32px) !important; } }
.ps-order-confirmation { padding-top: 40px; padding-bottom: 56px; }
.ps-commerce .ps-commerce-title { margin: 40px auto 8px; font-family: var(--font-heading); }
.ps-commerce .ps-commerce-intro { margin-top: 0; margin-bottom: 28px; color: var(--color-muted); }
/* Kafelki kategorii na stronie głównej: tyle kolumn, ile kategorii z wykrojami (bez pustych miejsc) */
@media (min-width: 981px) { .sh-cats-grid { grid-template-columns: repeat(var(--sh-cats, 4), 1fr); } }
/* Wyszukiwarka na telefonie: pod logo i menu, na całą szerokość (wcześniej ukryta) */
@media (max-width: 980px) {
	.ps-oldheader .ps-oldheader__row { flex-wrap: wrap; }
	.ps-oldheader .ps-oldheader__search { display: block; flex: 1 0 100%; width: 100%; margin: 12px 0 0; order: 10; }
	/* przycisk ☰ na wysokości logo, nie na środku logo + wyszukiwarki (52 px = pole 40 px + odstęp 12 px) */
	.ps-oldheader .ps-oldheader__toggle { top: calc((100% - 52px) / 2); }
}
/* Kolumna zdjęć na komputerze – warianty (views/product.php, opcja ps_product_gallery_layout) */
@media (min-width: 981px) {
	.sp-gallery--stack .sp-gallery-thumbs { display: none; }
	.sp-gallery--stack .sp-gal-slide { display: block !important; }
	.sp-gallery--stack .sp-gal-slide + .sp-gal-slide { margin-top: 16px; }
	.sp-gallery--sticky { position: sticky; top: 24px; }
}
.sp-gal-info { margin: 18px 0 0 86px; padding: 20px 22px; border: 1px solid var(--color-border); border-radius: var(--radius);
	background: var(--color-surface); font-size: 14px; }
.sp-gallery-inner--single + .sp-gal-info { margin-left: 0; }
.sp-gal-info__title { margin: 0 0 4px; font-family: var(--font-heading); font-size: 16px; font-weight: 700; color: var(--color-text); }
.sp-gal-info__size { margin: 0 0 10px; color: var(--color-coral); font-weight: 600; }
.sp-gal-info ul { margin: 0 0 12px; padding-left: 18px; color: var(--color-text); line-height: 1.6; }
.sp-gal-info__link { color: var(--color-coral); font-weight: 600; text-decoration: none; }
/* Telefon/tablet: zdjęcie stoi nad zakupem – ramka zepchnęłaby nazwę i cenę; to samo jest niżej w opisie */
@media (max-width: 980px) { .sp-gal-info { display: none; } }
@media (min-width: 981px) { .sp-incl-desc { display: none; } }
/* Produkt klubu: plany jako karty do zaznaczenia (lista WooCommerce ukryta, sterowana kartami) */
.sp-plan-cards { display: grid; gap: 10px; margin: 0 0 10px; }
.sp-plan-card { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; cursor: pointer;
	border: 1.5px solid var(--color-border); border-radius: var(--radius); background: #fff; transition: border-color .15s, background .15s; }
.sp-plan-card:hover { border-color: #d9cfc3; }
.sp-plan-card:has(.sp-plan-radio:checked) { border-color: var(--color-coral); background: var(--color-surface); }
.sp-plan-radio { position: absolute; opacity: 0; pointer-events: none; }
.sp-plan-card__mark { flex: 0 0 20px; height: 20px; margin-top: 2px; border: 2px solid #cfc6bb; border-radius: 50%; background: #fff; }
.sp-plan-radio:checked + .sp-plan-card__mark { border-color: var(--color-coral); box-shadow: inset 0 0 0 4px #fff; background: var(--color-coral); }
.sp-plan-radio:focus-visible + .sp-plan-card__mark { outline: 2px solid var(--color-coral); outline-offset: 2px; }
.sp-plan-card__body { flex: 1; display: grid; gap: 3px; min-width: 0; }
.sp-plan-card__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 2px; }
.sp-plan-card__name { font-family: var(--font-heading); font-size: 17px; font-weight: 700; color: var(--color-text); }
.sp-plan-card__badge { padding: 2px 8px; border-radius: 20px; background: var(--color-green); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.sp-plan-card__price { margin-left: auto; font-family: var(--font-heading); font-size: 20px; font-weight: 800; color: var(--color-text); }
.sp-plan-card__price small { font-size: 13px; font-weight: 500; color: var(--color-muted); }
.sp-plan-card__feat, .sp-plan-card__note { font-size: 14px; color: var(--color-muted); }
.sp-plan-card__feat::before { content: "\2713"; margin-right: 8px; color: var(--color-green); font-weight: 700; }
.sp-plan-common { margin: 0 0 14px; font-size: 13px; color: var(--color-muted); }
.sp-buybox--cards table.variations, .sp-buybox--cards .reset_variations, .sp-buybox--cards .woocommerce-variation-description { display: none !important; } /* ta sama lista jest w ramce pod zdjęciem */
/* Tabele rozmiarów w opisie wykroju: wartość w calach („63 3/4”) nie może się łamać – na wąskim ekranie tabela
   przewija się w bok, a pierwsza kolumna (Height, Bust…) zostaje widoczna */
.sp-desc-grid--single { grid-template-columns: minmax(0, 880px); } /* wykrój bez bocznej ramki: opis jedną kolumną o wygodnej szerokości */
.sp-desc-grid > * { min-width: 0; } /* kolumna siatki nie może rozpychać się do szerokości tabeli */
.ps-size-table { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; margin: 0 0 28px; }
.ps-size-table table { width: 100%; min-width: 100%; border-collapse: separate; border-spacing: 0; margin: 0;
	border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; font-size: 14px; background: #fff; }
.ps-size-table th, .ps-size-table td { white-space: nowrap; padding: 10px 5px; text-align: center; border: 0;
	border-bottom: 1px solid var(--color-border); color: var(--color-text); }
.ps-size-table tbody tr:last-child > * { border-bottom: 0; }
.ps-size-table thead th { background: var(--color-surface); font-family: var(--font-heading); font-weight: 700; }
.ps-size-table tbody tr:nth-child(even) > * { background: #fcfaf7; }
.ps-size-table tbody tr:hover > * { background: var(--color-coral-bg); }
.ps-size-table tr > th:first-child { position: sticky; left: 0; z-index: 1; text-align: left; font-weight: 700; padding: 10px 12px;
	background: var(--color-surface); border-right: 1px solid var(--color-border); }
.ps-size-table tbody tr:nth-child(even) > th:first-child { background: #f3ebe0; }
.ps-size-table figcaption { margin: 8px 2px 0; font-size: 13px; color: var(--color-muted); text-align: left; }

/* ---------- Nagłówek (stara strona: Divi Theme Builder) ---------- */
.wp-site-blocks > header.wp-block-template-part { margin: 0; }
.strefa-topbar p { margin: 0; }
.ps-oldheader { background: #fff; position: relative; z-index: 50; font-family: var(--font-body); }
/* max 1200 px = szerokość treści sklepu (ss-inner 1280 − 2×40) – na dużych ekranach logo i wyszukiwarka nie uciekają do krawędzi (właściciel 03.11) */
.ps-oldheader__row { width: 80%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; padding: 16px 0; position: relative; }
.ps-oldheader__logo { flex: 0 0 auto; display: block; margin-right: 55px; line-height: 0; color: var(--color-text); text-decoration: none; }
.ps-oldheader__logo img { width: 200px; height: auto; display: block; }
.ps-oldheader__nav ul { display: flex; align-items: center; gap: 20px; list-style: none; margin: 0; padding: 0; }
.ps-oldheader__nav a { display: inline-block; font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--color-text); text-decoration: none; padding: 6px 12px; border-radius: 8px; white-space: nowrap; transition: background .15s, color .15s; }
.ps-oldheader__nav a:hover { color: var(--color-coral); background: var(--color-coral-bg); }
.ps-oldheader__nav .is-secondary a { font-size: 13px; color: var(--color-muted); }
.ps-oldheader__nav .is-shop a { background: var(--color-text); color: #fff; border-radius: 8px; padding: 7px 16px; font-weight: 700; font-size: 13px; line-height: 13px; }
.ps-oldheader__nav .is-shop a:hover { background: #333; color: #fff; }
.ps-oldheader__search { position: relative; margin: 0 0 0 auto; flex: 0 0 210px; width: 210px; }
.ps-oldheader__search input[type="search"] { width: 100%; height: 40px; background: var(--color-surface); border: 1px solid #232221; border-radius: 24px; padding: 9px 42px 9px 18px; margin: 0; font: 14px/1.3 var(--font-body); color: var(--color-text); box-shadow: none; -webkit-appearance: none; appearance: none; }
.ps-oldheader__search input[type="search"]::placeholder { color: #6b6560; opacity: 1; }
.ps-oldheader__search button { position: absolute; right: 2px; top: 2px; bottom: 2px; width: 40px; border: 0; padding: 0; background: transparent; color: var(--color-coral); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; }
.ps-oldheader__toggle { display: none; }
@media (max-width: 1100px) {
	.ps-oldheader__search { display: none; }
}
@media (max-width: 980px) {
	.ps-oldheader__row { justify-content: center; padding: 33px 0; }
	.ps-oldheader__logo { margin: 0; }
	.ps-oldheader__toggle { display: inline-flex; position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: none; border: 0; padding: 6px; color: var(--color-text); cursor: pointer; border-radius: 6px; }
	.ps-oldheader__nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 3px solid var(--color-accent); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); padding: 12px 0; z-index: 60; }
	.ps-oldheader__nav.is-open { display: block; }
	.ps-oldheader__nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.ps-oldheader__nav a, .ps-oldheader__nav .is-secondary a { display: block; font-size: 15px; padding: 10px 20px; border-radius: 0; color: var(--color-text); }
	.ps-oldheader__nav .is-shop a { display: inline-block; margin: 8px 20px 4px; padding: 10px 18px; line-height: 1.2; }
}

/* ---------- Stopka (stara strona: .strefa-footer) ---------- */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.strefa-footer.ps-footer { margin: 0; background: #fff; border-top: 1px solid var(--color-border); padding: 56px 40px 28px; font-size: 14px; line-height: 1.6; color: var(--color-text); }
.strefa-footer h4 { line-height: 1.3; }
.strefa-footer-brand .footer-brand-logo { display: inline-block; line-height: 0; margin: 0 0 8px; }
.strefa-footer-brand .footer-brand-logo img { width: 150px; height: auto; mix-blend-mode: multiply; }
.strefa-footer-brand p { margin: 0; }
.footer-newsletter-form.ps-newsletter { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; }
.footer-newsletter-form.ps-newsletter input[type="email"] { flex: none; background: #fff; }
.footer-newsletter-form.ps-newsletter button:hover { background: var(--color-text); opacity: .88; }
.footer-newsletter-form .ps-newsletter__consent { font-size: 11.5px; line-height: 1.45; color: var(--color-muted); margin: 0; }
.footer-newsletter-form .ps-newsletter__consent a { color: var(--color-muted); text-decoration: underline; }
.strefa-footer-bottom span { line-height: 1.5; }
@media (max-width: 640px) {
	.strefa-footer.ps-footer { padding: 44px 20px 24px; }
	.strefa-footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ---------- Strona główna: cennik z wtyczki klubu w wyglądzie starych kart (.sh-price-card) ---------- */
.sh-pricing .ps-plans { margin: 0; display: block; }
.sh-pricing .ps-plans__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; max-width: 1080px; margin: 0 auto; padding: 0; list-style: none; align-items: stretch; }
.sh-pricing .ps-plans__plan { position: relative; display: flex; flex-direction: column; gap: 0; background: #fff; border: 1px solid var(--color-border); border-radius: 16px; padding: 20px; text-align: center; box-shadow: none; }
.sh-pricing .ps-plans__plan--popular { background: #f8f0e8; border-color: var(--color-accent); border-width: 1px; box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .25); }
.sh-pricing .ps-plans__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--color-accent); color: #fff; font: 800 11px/1.4 var(--font-body); letter-spacing: .06em; text-transform: uppercase; padding: 5px 14px; border-radius: 20px; white-space: nowrap; }
.sh-pricing .ps-plans__name { font-family: var(--font-heading); font-size: 17px; font-weight: 800; color: var(--color-text); margin: 0 0 8px; }
.sh-pricing .ps-plans__plan--popular .ps-plans__name { color: var(--color-accent); }
.sh-pricing .ps-plans__price { margin: 0 0 10px; font-size: 14px; color: var(--color-muted); }
.sh-pricing .ps-plans__amount { font-family: var(--font-heading); font-size: 33px; font-weight: 800; letter-spacing: -.03em; color: var(--color-text); line-height: 1; }
.sh-pricing .ps-plans__period { font-size: 14px; font-weight: 400; color: var(--color-muted); margin-left: 3px; }
.sh-pricing .ps-plans__features { list-style: none; padding: 12px 0 0; margin: 0 0 14px; border-top: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 7px; text-align: left; flex: 1; }
.sh-pricing .ps-plans__plan--popular .ps-plans__features { border-top-color: rgba(0, 0, 0, .12); }
.sh-pricing .ps-plans__features li { font-size: 13px; line-height: 1.3; color: var(--color-text); padding-left: 24px; position: relative; }
.sh-pricing .ps-plans__features li::before { content: ''; position: absolute; left: 0; top: 0; width: 16px; height: 16px; border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 12l5 5L20 6' stroke='%23444048' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.sh-pricing .ps-plans__button, .sh-pricing .ps-plans__current { display: block; width: 100%; margin-top: auto; padding: 11px 16px; background: var(--color-text); color: #fff; border: 0; border-radius: 8px; font: 700 13px/1.4 var(--font-body); text-align: center; text-decoration: none; }
.sh-pricing .ps-plans__button:hover { background: #000; color: #fff; }
.sh-pricing .ps-plans__current { background: var(--color-green-bg); color: var(--color-green); }
.sh-pricing .sh-h2 { margin-bottom: 28px; }


.sp-rel-badge.sp-rel-badge--sale { background: var(--color-coral); color: #fff; }

/* Baner klubu w sklepie na telefonie: tekst szeroki, zdjecie waskim paskiem (jak na starej stronie) */
@media (max-width: 600px) {
	.shop-promo-card { grid-template-columns: minmax(0, 1fr) 56px; }
	.shop-promo-card .promo-body { padding: 24px 20px 24px 24px; }
	.shop-promo-card .promo-badge { left: -34px; }
}

/* ==========================================================================
   Filtry kategorii (FiboFilters) – czytelne drzewo (uwaga właściciela 02.11.2026):
   szersza kolumna, małe wcięcia, nazwa w jednej linii, kolor tekstu zamiast koloru linków.
   ========================================================================== */
@media (min-width: 981px) {
	.ss-layout { grid-template-columns: 264px minmax(0, 1fr); }
}
.strefa-fibo .fibofilters-block__items-list .fibofilters-block__items-list { padding-left: 10px !important; margin-left: 4px !important; }
.strefa-fibo .fibofilters-item__interactive { gap: 8px; align-items: center; }
.strefa-fibo .fibofilters-item__label { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.35; color: var(--color-text) !important; overflow-wrap: normal; word-break: normal; hyphens: none; }
.strefa-fibo .fibofilters-item__label a, .strefa-fibo .fibofilters-item a { color: inherit !important; text-decoration: none; }
.strefa-fibo .fibofilters-item__label a:hover { color: var(--color-coral) !important; }
.strefa-fibo .fibofilters-item__count, .strefa-fibo [class*="item__count"] { flex: 0 0 auto; }
.strefa-fibo .fibofilters-item--selected > .fibofilters-collapser-container .fibofilters-item__label,
.strefa-fibo .fibofilters-item--checked .fibofilters-item__label { font-weight: 700; }

/* Opcja klubu bez plików (subskrybent): wyszarzona, nie do zaznaczenia – zaznaczony zakup pojedynczy. */
.sp-buy-opt--waiting { opacity: .6; cursor: not-allowed; }
.sp-buy-opt--waiting .sp-buy-feat { display: none; }

