/* ==========================================================================
   Świat Dachu: baza (globalnie, mała). Tokeny: theme.json.
   DNA marki DACH BUD (granat, złoto, pomarańczowe CTA, Manrope),
   layout i komponenty projektowane od zera pod e-commerce.
   ========================================================================== */

:root {
	--sd-line: var(--wp--custom--line);
	--sd-line-strong: var(--wp--custom--line-strong);
	--sd-ease: var(--wp--custom--ease);
	--sd-navy-900: var(--wp--preset--color--navy-900);
	--sd-navy-800: var(--wp--preset--color--navy-800);
	--sd-navy: var(--wp--preset--color--navy);
	--sd-navy-600: var(--wp--preset--color--navy-600);
	--sd-navy-soft: var(--wp--preset--color--navy-soft);
	--sd-gold: var(--wp--preset--color--gold);
	--sd-gold-l: var(--wp--preset--color--gold-light);
	--sd-gold-d: var(--wp--preset--color--gold-dark);
	--sd-orange: var(--wp--preset--color--orange);
	--sd-orange-l: var(--wp--preset--color--orange-light);
	--sd-cream: var(--wp--preset--color--cream);
	--sd-ink: var(--wp--preset--color--ink);
	--sd-ink-2: var(--wp--preset--color--ink-2);
	--sd-ink-3: var(--wp--preset--color--ink-3);
	--sd-ok: var(--wp--preset--color--success);
	--sd-logo-blue: #1E88D2;
	--sd-r: 14px;
	--sd-r-lg: 20px;
	--sd-shadow: 0 1px 2px rgba(7, 24, 43, .06), 0 8px 24px -12px rgba(7, 24, 43, .18);
}

html { -webkit-text-size-adjust: 100%; overflow-x: clip; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; font-feature-settings: "tnum" 0; }
img, svg, video { max-width: 100%; height: auto; }
::selection { background: var(--sd-gold); color: #2A2008; }
:focus-visible { outline: 3px solid var(--sd-gold); outline-offset: 2px; border-radius: 4px; }
.sd-num, .wc-block-components-product-price, .price { font-variant-numeric: tabular-nums; }

/* ---------- Ikony (maska SVG, kolor = currentColor) ---------- */
[class*="sd-ico-"]::before {
	content: ""; display: inline-block; width: 1.15em; height: 1.15em; margin-right: .45em; vertical-align: -0.2em;
	background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat;
}
.sd-ico-truck { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62L18.3 8.38A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
.sd-ico-crane { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M6 21V4l12 3M6 4l-3 3M18 7v5M16 12h4v3h-4z'/%3E%3C/svg%3E"); }
.sd-ico-doc { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M14 2v5h6M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.sd-ico-store { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-5h15L21 9M3 9v11h18V9M3 9h18M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.sd-ico-phone { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.18 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.1 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.sd-ico-shield { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.sd-ico-return { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-15-6.7L3 13'/%3E%3C/svg%3E"); }
.sd-ico-chat { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }

/* ---------- Logo (plik swiatdachu.pl, patterns/logo.php) ---------- */
.sd-logo { display: inline-flex; align-items: center; flex: none; line-height: 0; text-decoration: none; }
.sd-logo img { width: 136px; height: auto; display: block; }

/* ---------- Pasek usług ---------- */
.sd-servicebar { background: var(--sd-cream); border-bottom: 1px solid var(--sd-line); font-size: 12.5px; color: var(--sd-ink-2); }
.sd-servicebar__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 34px; }
.sd-servicebar__usp { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; white-space: nowrap; overflow: hidden; }
.sd-servicebar__usp li::before { color: var(--sd-gold-d); }
.sd-servicebar__usp b { color: var(--sd-navy-900); }
.sd-servicebar__help { display: flex; align-items: center; gap: 12px; margin: 0; white-space: nowrap; }
.sd-servicebar__help a { color: var(--sd-navy-900); font-weight: 800; }
.sd-servicebar__help span { color: var(--sd-ink-3); }
.sd-servicebar__b2b { border-left: 1px solid var(--sd-line-strong); padding-left: 12px; color: var(--sd-orange) !important; }

/* ---------- Pasek główny (granat) ---------- */
.sd-mainbar { background: #fff; color: var(--sd-navy-900); position: relative; z-index: 60; border-bottom: 1px solid var(--sd-line); }
.sd-mainbar__row { min-height: 76px; gap: clamp(14px, 2.6vw, 36px); }
.sd-mainbar__actions { gap: 4px; flex: none; }

/* Wyszukiwarka */
.sd-search { flex: 1 1 auto; max-width: 720px; margin: 0; }
.sd-search .wc-block-product-search__fields, .sd-search .wp-block-search__inside-wrapper {
	display: flex; align-items: center; background: #F4F6F9; border-radius: 12px; padding: 4px 4px 4px 16px;
	box-shadow: inset 0 0 0 1.5px var(--sd-line-strong); transition: box-shadow .2s, background .2s;
}
.sd-search .wc-block-product-search__fields:focus-within, .sd-search .wp-block-search__inside-wrapper:focus-within { background: #fff; box-shadow: inset 0 0 0 1.5px var(--sd-navy-600), 0 0 0 3px var(--sd-gold); }
.sd-search input[type="search"] { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font: inherit; font-size: 15.5px; color: var(--sd-ink); padding: 10px 6px; }
.sd-search input[type="search"]::placeholder { color: var(--sd-ink-3); }
.sd-search button, .sd-search .wc-block-product-search__button {
	flex: none; height: 44px; min-width: 52px; border: 0; border-radius: 9px; cursor: pointer;
	background: linear-gradient(135deg, var(--sd-orange-l), var(--sd-orange)); color: #fff; display: grid; place-items: center;
}
.sd-search button svg { fill: currentColor; width: 20px; height: 20px; }

/* Konto, koszyk (na białym pasku) */
.sd-account a, .sd-minicart .wc-block-mini-cart__button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 48px; height: 48px; padding: 0 10px;
	border-radius: 12px; color: var(--sd-navy-900) !important; transition: background .2s;
}
.sd-account a:hover, .sd-minicart .wc-block-mini-cart__button:hover { background: var(--sd-cream); }
.sd-account svg, .sd-minicart svg { color: var(--sd-navy-900); fill: currentColor; }
.sd-minicart .wc-block-mini-cart__amount { font-weight: 800; color: var(--sd-navy-900); }
.sd-minicart .wc-block-mini-cart__badge { background: var(--sd-orange) !important; color: #fff !important; border: 2px solid #fff; font-weight: 800; }
/* Opis produktu w pozycjach koszyka (szuflada, koszyk, kasa) to szum: zostają nazwa, warianty i cena. */
.wc-block-components-product-metadata__description { display: none; }

/* Burger */
.sd-burger { display: none; width: 44px; height: 44px; border: 0; background: var(--sd-cream); border-radius: 10px; cursor: pointer; padding: 12px 11px; flex: none; }
.sd-burger span { display: block; height: 2px; background: var(--sd-navy-900); border-radius: 2px; margin: 4px 0; transition: transform .3s var(--sd-ease), opacity .2s; }
.sd-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.sd-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sd-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- Pasek kategorii ---------- */
.sd-navbar { background: #fff; border-bottom: 1px solid var(--sd-line); position: relative; z-index: 50; }
@media (min-width: 782px) {
	/* Poprawki 25.09: belka z logo, wyszukiwarką i kategoriami zostaje u góry przy przewijaniu.
	   top ujemny = wysokość baneru producentów i paska usług (sd-sticky.js mierzy ją po załadowaniu). */
	.wp-site-blocks > header.wp-block-template-part { position: sticky; top: calc(-1 * var(--sd-head-off, 99px)); z-index: 90; }
	.wp-site-blocks > header.wp-block-template-part.is-stuck .sd-navbar { box-shadow: 0 10px 24px -18px rgba(7, 24, 43, .45); }
	html { scroll-padding-top: 150px; }
	/* Skrypt filtrów Woo wstawia body { overflow: auto } w linii (po zamknięciu nakładki filtrów), a przewijalny
	   przodek wyłącza sticky. Na komputerze nakładki filtrów nie ma (filtry są w kolumnie). */
	body { overflow: visible !important; overflow-x: clip !important; }
}
.sd-navbar__row { min-height: 52px; gap: 18px; }
.sd-navbar__extra { display: flex; gap: 18px; margin: 0; white-space: nowrap; font-weight: 700; font-size: 14.5px; }
.sd-navbar__extra a { color: var(--sd-navy-900); }
.sd-navbar__promo { color: var(--sd-orange) !important; }

/* ---------- Karty i sekcje (utility) ---------- */
.is-style-card { background: #fff; border: 1px solid var(--sd-line); border-radius: var(--sd-r-lg); box-shadow: var(--sd-shadow); padding: clamp(18px, 2.4vw, 28px); }
.is-style-card-cream { background: var(--sd-cream); border-radius: var(--sd-r-lg); padding: clamp(18px, 2.4vw, 28px); }
.is-style-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px !important; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--sd-gold-d); }
.is-style-eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--sd-gold); border-radius: 2px; }
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks li { position: relative; padding-left: 28px; margin: 6px 0; }
ul.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%;
	background: #E7F4EC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F4A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* Przyciski: warianty stylów bloku */
.wp-block-button .wp-block-button__link { transition: transform .3s var(--sd-ease), box-shadow .3s var(--sd-ease), filter .2s; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); filter: brightness(1.04); }
.wp-block-button.is-style-navy .wp-block-button__link { background: var(--wp--preset--gradient--navy); box-shadow: 0 10px 24px -12px rgba(18, 52, 87, .6); }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--wp--preset--gradient--gold); color: #2C2107; box-shadow: none; }
.wp-block-button.is-style-line .wp-block-button__link { background: transparent; color: var(--sd-navy); border: 1.5px solid var(--sd-line-strong); box-shadow: none; }

/* Okruszki */
.wc-block-breadcrumbs, .woocommerce-breadcrumb { font-size: 13px; color: var(--sd-ink-3); margin-block: 14px 6px; }
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--sd-ink-2); }
.wc-block-breadcrumbs a:hover, .woocommerce-breadcrumb a:hover { color: var(--sd-orange); }
@media (max-width: 782px) {
	/* Telefon: jedna linia okruszków (koniec ścieżki ucięty wielokropkiem). */
	.wc-block-breadcrumbs, .woocommerce-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.wc-block-breadcrumbs * { display: inline; }
}

/* ---------- Strony informacyjne ---------- */
.sd-page { padding-bottom: clamp(32px, 5vw, 72px); }
.sd-page__title { font-size: clamp(28px, 3.4vw, 40px) !important; margin-top: 20px !important; margin-bottom: 12px !important; } /* boki: auto z układu, tytuł w kolumnie treści */
.sd-page h2 { font-size: clamp(20px, 2vw, 24px); margin-top: 1.8em; }
.sd-page h3 { font-size: 18px; margin-top: 1.4em; }
.sd-page li + li { margin-top: .35em; }
.sd-lead { font-size: 18px; color: var(--sd-ink-2); }
.sd-legal-note { font-size: 13px; color: var(--sd-ink-3); background: var(--sd-cream); border-radius: 10px; padding: 10px 14px; }
.sd-table table { font-size: 14px; }
.sd-table th { background: var(--sd-cream); text-align: left; }
.sd-table th, .sd-table td { padding: 10px 12px; border: 1px solid var(--sd-line); vertical-align: top; }
.sd-faq { border: 1px solid var(--sd-line); border-radius: var(--sd-r); padding: 0 18px; margin-block: 10px; background: #fff; }
.sd-faq summary { cursor: pointer; font-weight: 700; padding: 16px 0; list-style: none; position: relative; padding-right: 28px; color: var(--sd-navy-900); }
.sd-faq summary::-webkit-details-marker { display: none; }
.sd-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: var(--sd-orange); }
.sd-faq[open] summary::after { content: "\2212"; }
.sd-faq[open] { padding-bottom: 6px; }
.sd-empty { background: var(--sd-cream); border-radius: var(--sd-r); padding: 18px 22px; }

/* ---------- USP nad stopką ---------- */
.sd-usp { background: var(--sd-cream); border-top: 1px solid var(--sd-line); padding-block: clamp(22px, 3vw, 34px); }
.sd-usp__list { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sd-usp__item { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; align-items: center; }
.sd-usp__item::before { grid-row: span 2; width: 44px; height: 44px; margin: 0; border-radius: 12px; background: #fff; box-shadow: var(--sd-shadow); -webkit-mask: none; mask: none; }
.sd-usp__item b { color: var(--sd-navy-900); font-weight: 800; font-size: 15px; line-height: 1.25; }
.sd-usp__item span { color: var(--sd-ink-2); font-size: 13.5px; line-height: 1.35; }
.sd-usp__ico { grid-row: span 2; width: 44px; height: 44px; border-radius: 12px; background: #fff; box-shadow: var(--sd-shadow); display: grid; place-items: center; color: var(--sd-gold-d); }
.sd-usp__ico::before { margin: 0; width: 22px; height: 22px; }

/* ---------- Stopka ---------- */
.sd-footer { background: var(--sd-navy-900); color: rgba(255, 255, 255, .72); font-size: 14.5px; padding-top: clamp(44px, 6vw, 72px); }
.sd-footer a { color: rgba(255, 255, 255, .88); }
.sd-footer a:hover { color: var(--sd-gold-l); }
.sd-footer__cols { gap: clamp(24px, 4vw, 56px) !important; }
.sd-footer__h { color: #fff !important; font-size: 12.5px !important; letter-spacing: .18em !important; text-transform: uppercase; font-weight: 800; margin: 0 0 16px; }
.sd-footer__list, .sd-footer .sd-catlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.sd-footer__contact a { font-weight: 800; font-size: 18px; color: #fff; }
.sd-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .1); margin-top: clamp(28px, 4vw, 48px); padding-block: 18px 22px; gap: 12px; font-size: 13px; }
.sd-footer__bottom p { margin: 0; }
.sd-footer__bottom a { margin-left: 10px; }
.sd-paychips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.sd-paychips li { border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; padding: 4px 9px; font-size: 12px; font-weight: 700; color: rgba(255, 255, 255, .8); }
.sd-footer--checkout { padding-top: 0; }

/* Link do ustawień cookies widoczny tylko, gdy działa baner zgód (track.css). */
.sd-cookie-link { display: none; }

/* Nagłówek zamówienia (checkout bez rozpraszaczy) */
.sd-header--checkout { background: #fff; border-bottom: 1px solid var(--sd-line); }
.sd-header--checkout .sd-header__row { min-height: 68px; }
.sd-secure { display: flex; align-items: center; gap: 10px; margin: 0; line-height: 1.2; color: var(--sd-navy-900); }
.sd-secure b { display: block; font-size: 14.5px; }
.sd-secure small { color: var(--sd-ink-3); font-size: 12.5px; }
.sd-secure small a { color: var(--sd-navy-900); font-weight: 800; }
.sd-secure__ico { width: 36px; height: 36px; border-radius: 50%; background: rgba(46, 204, 113, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232ECC71' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / 17px no-repeat; }

/* ---------- Responsywność ---------- */
@media (max-width: 1180px) { .sd-servicebar__usp li:nth-child(4) { display: none; } }
@media (max-width: 980px) {
	.sd-servicebar__usp li:nth-child(n+3) { display: none; }
	.sd-usp__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	.sd-servicebar__help span, .sd-servicebar__b2b { display: none; }
	.sd-servicebar__usp li:nth-child(n+2) { display: none; }
	.sd-burger { display: block; }
	/* Telefon: rząd 1 = menu, logo, konto, koszyk; rząd 2 = wyszukiwarka. */
	.sd-mainbar__row { flex-wrap: wrap !important; gap: 10px 6px !important; padding-block: 10px 12px; min-height: 0; }
	.sd-mainbar__row > .sd-logo { margin-right: auto !important; }
	.sd-logo img { width: 104px; }
	.sd-search { order: 10; flex-basis: 100%; max-width: none; }
	.sd-navbar { display: none; }
	.sd-navbar.is-open { display: block; }
}
@media (max-width: 560px) {
	/* Kasa na telefonie: kłódka i numer pomocy w jednej linii. */
	.sd-secure b { display: none; }
	.sd-secure small { font-size: 13px; white-space: nowrap; }
	.sd-secure__ico { width: 30px; height: 30px; background-size: 15px; }
	.sd-header--checkout .sd-header__row { min-height: 58px; gap: 10px; }
	.sd-header--checkout .sd-logo img { width: 96px; }
	.sd-usp__list { grid-template-columns: 1fr; }
	.sd-minicart .wc-block-mini-cart__amount { display: none; }
	.sd-account a, .sd-minicart .wc-block-mini-cart__button { min-width: 42px; height: 44px; padding: 0 6px; }

	.sd-servicebar__usp li { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sd-servicebar__usp { min-width: 0; }
}

/* Szuflada koszyka: tytuł w jednym wierszu (Woo: flex + rozmiar h2 motywu łamały go na telefonie). */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { display: block; font-size: 22px; line-height: 1.25; letter-spacing: -.01em; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block { font-size: 15px; font-weight: 600; color: var(--sd-ink-3, #6B7883); margin-left: 4px; }

/* Kasa: sprzedaż i wysyłka tylko do Polski (ustawienia Woo), więc pole kraju nic nie wybiera; jedno pole mniej. */
.wc-block-checkout .wc-block-components-address-form__country { display: none; }

/* Dostępność (audyt 24.09): kontrast min. 4,5:1 dla drobnego tekstu, linki w tekście podkreślone, nagłówki tylko dla czytników. */
.sd-card__brand, .sd-pdp__brand, .sd-pdp__brand a, .sd-sm__b { color: #8A5C12 !important; }
.sd-acc__head p { color: #55616C !important; }
.sd-page p a:not(.wp-element-button), .sd-desc a, .sd-usp__item span a, .sd-footer p a, .sd-size-hint a, .sd-empty a,
.wc-block-checkout__terms a, .sd-lead a, .entry-content .wp-block-list a:not(.wp-element-button),
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { text-decoration-color: rgba(81, 96, 112, .45); }
.sd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Telefon: kompaktowy pasek przy przewijaniu w górę (ui.js). */
.sd-minibar { display: none; }
@media (max-width: 781px) {
	.sd-minibar {
		position: fixed; z-index: 80; top: 0; left: 0; right: 0; height: 56px; padding: 0 8px 0 16px; display: flex; align-items: center; gap: 2px;
		background: #fff; color: var(--sd-navy-900, #07182B); border-bottom: 1px solid var(--sd-line);
		box-shadow: 0 8px 24px -14px rgba(7, 24, 43, .35); transform: translateY(-110%); transition: transform .2s ease-out; visibility: hidden;
	}
	.sd-minibar.is-on { transform: none; visibility: visible; }
	.sd-minibar__logo { margin-right: auto; }
	.sd-minibar__logo img { width: 92px; }
	.sd-minibar__btn { position: relative; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 10px; background: transparent; color: var(--sd-navy-900, #07182B); cursor: pointer; }
	.sd-minibar__btn:active { background: var(--sd-cream); }
	.sd-minibar__count { position: absolute; top: 1px; right: -1px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--sd-orange, #E8760E); color: #fff; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; border: 2px solid #fff; }
}
@media (prefers-reduced-motion: reduce) { .sd-minibar { transition: none; } }

/* Telefon: pola formularzy min. 16 px. Przy mniejszej czcionce iOS powiększa stronę po dotknięciu pola
   (wyszukiwarka, ilość w koszyku, kasa) i klient musi ją ręcznie pomniejszać. */
@media (max-width: 781px) {
	input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]), select, textarea { font-size: 16px !important; }
}

/* Kod w treści stron (np. dokumentacja integracji): czytelny, zawijany w całości, bez rozbijania adresów w połowie słowa. */
.wp-block-post-content code { font-size: .9em; background: #F2F4F7; border: 1px solid #E3E7ED; border-radius: 6px; padding: 1px 6px; white-space: nowrap; }
.wp-block-post-content .wp-block-code { background: #F2F4F7; border: 1px solid #E3E7ED; border-radius: 10px; padding: 12px 14px; margin: 10px 0 18px; overflow-x: auto; font-size: 14px; line-height: 1.5; }
.wp-block-post-content .wp-block-code code { background: none; border: 0; padding: 0; font-size: inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Jednostka ceny pod kwotą (np. "za arkusz (0,805 m²)"): reguła wspólna, żeby nigdzie nie zlewała się z ceną. */
.sd-unit { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; letter-spacing: 0; color: #516070; }
