/* SILVER SHARKY — baza. Makiety nie ustawiają line-height na body (= normal),
   więc tu też go nie ustawiamy; nagłówki mają line-height tylko tam, gdzie makieta. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html, body { overflow-x: clip; }

body.ss-theme,
.ss-theme :where(button, input, select, textarea) {
	font-family: var(--ss-font-text);
	color: var(--ss-ink);
}
body.ss-theme {
	margin: 0;
	background: #fff;
	font-size: 16px;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.ss-theme:not(.home) { background: var(--ss-bg-soft); }

.ss-theme h1, .ss-theme h2, .ss-theme h3, .ss-theme h4, .ss-theme h5 {
	margin: 0;
	font-family: var(--ss-font-display);
	font-weight: 700;
	color: inherit;
	line-height: normal;
}
.ss-theme p { margin: 0; }
.ss-theme a { color: inherit; text-decoration: none; }
.ss-theme a:hover { color: var(--ss-accent); }
.ss-theme img { max-width: 100%; height: auto; border: 0; display: block; }
.ss-theme ul, .ss-theme ol { margin: 0; }
.ss-theme button { font: inherit; cursor: pointer; }
.ss-theme input, .ss-theme select, .ss-theme textarea { font: inherit; }
.ss-theme strong, .ss-theme b { font-weight: 700; }
.ss-theme [hidden] { display: none !important; }
.ss-theme :focus-visible { outline: 2px solid var(--ss-accent); outline-offset: 2px; }

.ss-wrap { max-width: calc(var(--ss-container) + 2 * var(--ss-gutter)); margin: 0 auto; padding-left: var(--ss-gutter); padding-right: var(--ss-gutter); }
.ss-grad { background: var(--ss-grad); color: var(--ss-ink); }
.ss-main { display: block; }
.ss-muted { color: var(--ss-muted); }
.ss-muted2 { color: var(--ss-body-2); }
.ss-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ss-hl { color: var(--ss-sale); }

/* WooCommerce: resety tego, co zostaje po wyłączonych arkuszach wtyczki */
.ss-theme .woocommerce-notices-wrapper:empty { display: none; }
.ss-theme .woocommerce-message, .ss-theme .woocommerce-info, .ss-theme .woocommerce-error {
	list-style: none; margin: 0 0 16px; padding: 14px 18px; border-radius: 10px; font-size: 14.5px; font-weight: 600;
	background: #fff; border: 1px solid var(--ss-border); display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}
.ss-theme .woocommerce-message { background: var(--ss-ok-bg); border-color: transparent; color: var(--ss-ok-ink); }
.ss-theme .woocommerce-error { background: var(--ss-sale-bg); border-color: transparent; color: #9F1239; flex-direction: column; align-items: flex-start; }
.ss-theme .woocommerce-message .button, .ss-theme .woocommerce-info .button { margin-left: auto; order: 2; font-size: 13px; text-decoration: underline; background: none; border: 0; padding: 0; color: inherit; }
.ss-theme .woocommerce-error li { margin: 0; }
.ss-theme abbr.required { display: none; }
.ss-theme .blockUI.blockOverlay { background: rgba(255,255,255,.6) !important; }

/* Stopka zawsze na dole okna (krótkie strony: logowanie, pusty koszyk, 404). */
body.ss-theme { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body.ss-theme.admin-bar { min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px)); }
body.ss-theme > .ss-main { flex: 1 0 auto; width: 100%; }
body.ss-theme > .ss-footer, body.ss-theme > .ss-cofoot, body.ss-theme > .ss-header, body.ss-theme > .ss-cohead { flex-shrink: 0; width: 100%; }
