/* ==========================================================================
   Sokalska Stomatologia — style motywu (mobile-first)
   Kolory, fonty i rozmiary: theme.json (zmienne --wp--preset--*)
   Breakpointy: 30rem (duży telefon) · 40rem · 48rem (tablet) · 60rem (laptop) · 72rem
   ========================================================================== */

:root {
	--sks-radius: 1rem;
	--sks-gutter: clamp(1.25rem, 4vw, 2rem);
	--sks-header-h: 4.25rem;
	--sks-shadow: 0 1px 2px rgb(0 0 0 / .04), 0 8px 24px -12px rgb(0 0 0 / .12);
	--c-base: var(--wp--preset--color--base);
	--c-surface: var(--wp--preset--color--surface);
	--c-ink: var(--wp--preset--color--ink);
	--c-muted: var(--wp--preset--color--muted);
	--c-line: var(--wp--preset--color--line);
	--c-accent: var(--wp--preset--color--accent);
	--c-accent-dark: var(--wp--preset--color--accent-dark);
	--c-accent-soft: var(--wp--preset--color--accent-soft);
	--f-head: var(--wp--preset--font-family--montserrat);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-wrap: break-word; text-rendering: optimizeLegibility; }
:where(img, svg, iframe, video) { max-width: 100%; }
img { height: auto; }
[id] { scroll-margin-top: calc(var(--sks-header-h) + 1rem); }
:focus-visible { outline: 3px solid var(--c-accent); outline-offset: 3px; border-radius: 4px; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Sekcje strony głównej stykają się bez domyślnych odstępów blockGap */
.wp-site-blocks > *,
.is-front .wp-block-post-content > * { margin-block: 0; }
.sks-grid > *, .sks-steps > *, .sks-hero-grid > *, .sks-contact-grid > *, .sks-trust-list > li { margin-block: 0 !important; }

.sks-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--wp--style--global--wide-size, 72rem) + 2 * var(--sks-gutter));
	margin-inline: auto;
	padding-inline: max(var(--sks-gutter), env(safe-area-inset-left, 0px)) max(var(--sks-gutter), env(safe-area-inset-right, 0px));
}
.sks-narrow { max-width: calc(48rem + 2 * var(--sks-gutter)); }

/* Ikony */
.sks-ico { width: 1.5rem; height: 1.5rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sks-ico .fill { fill: currentColor; stroke: none; }

/* ---------- Nagłówek ---------- */
.wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
.sks-header {
	background: color-mix(in srgb, var(--c-base) 92%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--c-line);
	padding-top: env(safe-area-inset-top, 0px);
}
.sks-header-in { display: flex; align-items: center; gap: 1rem; min-height: var(--sks-header-h); }
.sks-brand { display: grid; line-height: 1.15; text-decoration: none; color: var(--c-ink); margin-right: auto; }
.sks-brand-name { font: 600 1.05rem/1.2 var(--f-head); letter-spacing: -.01em; }
.sks-brand-sub { font-size: .8125rem; color: var(--c-muted); }
.sks-nav { display: none; }
.sks-header-cta { display: flex; align-items: center; gap: .5rem; }
.sks-h-phone {
	display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%;
	color: var(--c-accent); background: var(--c-surface); box-shadow: inset 0 0 0 2px var(--c-line); text-decoration: none;
}
.sks-h-phone span { display: none; }
.sks-h-phone .sks-ico { width: 1.25rem; height: 1.25rem; }
.sks-h-book { display: none; }

@media (min-width: 60rem) {
	.sks-nav { display: flex; gap: clamp(1rem, 2vw, 1.75rem); }
	.sks-nav a { color: var(--c-ink); text-decoration: none; font: 500 .975rem var(--f-head); padding-block: .5rem; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .2s; }
	.sks-nav a:hover { color: var(--c-accent); background-size: 100% 2px; }
	.sks-h-phone { width: auto; height: auto; padding: .55rem .9rem; border-radius: 999px; gap: .45rem; display: inline-flex; color: var(--c-ink); font: 600 .95rem var(--f-head); }
	.sks-h-phone span { display: inline; }
	.sks-h-phone .sks-ico { color: var(--c-accent); }
	.sks-h-book { display: inline-block; padding: .65rem 1.2rem; border-radius: 999px; background: var(--c-accent); color: #fff; text-decoration: none; font: 600 .95rem var(--f-head); }
	.sks-h-book:hover { background: var(--c-accent-dark); color: #fff; }
}

/* ---------- Hero ---------- */
.sks-hero { padding-block: clamp(1.5rem, 5vw, 4.5rem) clamp(2.5rem, 6vw, 5rem); }
.sks-hero-grid { display: grid; gap: 1.75rem; align-items: center; }
.sks-hero-media { order: -1; justify-self: center; position: relative; }
.sks-hero-media .sks-logo { display: block; width: clamp(8.5rem, 34vw, 11rem); height: auto; }
.sks-hero-text { text-align: center; }
.sks-hero-text > * + * { margin-block-start: 1rem; }
.sks-eyebrow { font: 600 .8125rem/1.4 var(--f-head); letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); }
.sks-hero h1 { margin-block-start: .5rem; text-wrap: balance; }
.sks-lead { font-size: var(--wp--preset--font-size--large); color: var(--c-muted); max-width: 34rem; margin-inline: auto; text-wrap: pretty; }
.sks-hero .sks-actions { margin-block-start: 1.75rem; text-align: left; }

@media (min-width: 60rem) {
	.sks-hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(2rem, 5vw, 5rem); }
	.sks-hero-media { order: 0; }
	.sks-hero-media .sks-logo { width: clamp(13rem, 20vw, 16.5rem); }
	.sks-hero-media::after { /* „uśmiech” z dawnej wizytówki */
		content: ""; display: block; width: 115%; margin: 1.25rem -7.5% 0; height: 2.5rem;
		border-bottom: .6rem solid var(--c-accent); border-radius: 0 0 50% 50% / 0 0 100% 100%;
	}
	.sks-hero-text { text-align: left; }
	.sks-lead { margin-inline: 0; }
}

/* ---------- Karty akcji (Umów / Zadzwoń / Trasa) ---------- */
.sks-actions { display: grid; gap: .75rem; }
.sks-act {
	display: grid; grid-template-columns: 2rem 1fr; align-items: center; column-gap: .9rem;
	padding: 1rem 1.2rem; min-height: 3.5rem; border-radius: var(--sks-radius);
	background: var(--c-surface); color: var(--c-ink); text-decoration: none;
	box-shadow: inset 0 0 0 2px var(--c-line); transition: box-shadow .15s, transform .15s, background-color .15s;
}
.sks-act .sks-ico { grid-row: span 2; justify-self: center; color: var(--c-accent); }
.sks-act-t { font: 600 1.05rem/1.3 var(--f-head); }
.sks-act-s { font-size: .9rem; color: var(--c-muted); }
.sks-act:hover { box-shadow: inset 0 0 0 2px var(--c-accent); color: var(--c-ink); }
.sks-act.is-main { background: var(--c-accent); color: #fff; box-shadow: none; }
.sks-act.is-main .sks-ico, .sks-act.is-main .sks-act-s { color: rgb(255 255 255 / .9); }
.sks-act.is-main:hover { background: var(--c-accent-dark); color: #fff; }
@media (min-width: 30rem) {
	.sks-actions:not(.is-compact) { grid-template-columns: 1fr 1fr; }
	.sks-actions:not(.is-compact) .is-main { grid-column: 1 / -1; }
}

/* Wersja kompaktowa — przyciski */
.sks-actions.is-compact { display: flex; flex-wrap: wrap; gap: .6rem; }
.is-compact .sks-act { display: inline-flex; gap: .5rem; min-height: 3rem; padding: .7rem 1.2rem; border-radius: 999px; flex: 1 1 auto; justify-content: center; }
.is-compact .sks-act .sks-ico { width: 1.25rem; height: 1.25rem; }
.is-compact .sks-act-t { font-size: .975rem; }
.is-compact .sks-act-s { display: none; }
@media (min-width: 40rem) {
	.is-compact .sks-act { flex: 0 0 auto; }
	.is-compact .sks-act:not(.is-main) .sks-act-s { display: inline; }
	.is-compact .sks-act:not(.is-main) .sks-act-s::before { content: "· "; }
}

/* ---------- Atuty ---------- */
.sks-trust { background: var(--c-surface); border-block: 1px solid var(--c-line); padding-block: clamp(1.5rem, 4vw, 2.25rem); }
.sks-trust-list { list-style: none; display: grid; gap: 1rem 2rem; margin-block: 0; }
.sks-trust-list li { position: relative; padding-left: 2.25rem; color: var(--c-muted); font-size: .975rem; line-height: 1.45; }
.sks-trust-list li::before {
	content: ""; position: absolute; left: 0; top: .1rem; width: 1.5rem; height: 1.5rem; border-radius: 50%;
	background: var(--c-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d6f9e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 1rem no-repeat;
}
.sks-trust-list strong { display: block; color: var(--c-ink); font: 600 1rem/1.3 var(--f-head); margin-bottom: .15rem; }
@media (min-width: 36rem) { .sks-trust-list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64rem) { .sks-trust-list { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Sekcje ---------- */
.sks-section { padding-block: var(--wp--preset--spacing--60); }
.sks-section + .sks-section { border-top: 1px solid var(--c-line); }
.sks-section h2 { margin-block: 0 1.5rem; text-wrap: balance; }
.sks-intro { color: var(--c-muted); max-width: 40rem; margin-block: -0.75rem 2rem !important; font-size: var(--wp--preset--font-size--large); }

/* Usługi */
.sks-grid { display: grid; gap: 1rem; }
.sks-card { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--sks-radius); padding: clamp(1.25rem, 3vw, 1.75rem); }
.sks-card h3 { margin: 0 0 .5rem; }
.sks-card p { margin: 0; color: var(--c-muted); }
.sks-card.is-accent { background: var(--c-accent-soft); border-color: transparent; display: flex; flex-direction: column; }
.sks-card.is-accent .sks-actions { margin-top: auto; padding-top: 1.25rem; }
@media (min-width: 40rem) { .sks-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64rem) { .sks-grid { grid-template-columns: repeat(3, 1fr); } }

/* Kroki */
.sks-steps { display: grid; gap: 1rem; counter-reset: sks-step; }
.sks-step { counter-increment: sks-step; background: var(--c-surface); border-radius: var(--sks-radius); padding: 1.5rem; border: 1px solid var(--c-line); }
.sks-step::before {
	content: counter(sks-step); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%;
	background: var(--c-accent); color: #fff; font: 700 1rem var(--f-head); margin-bottom: .9rem;
}
.sks-step h3 { margin: 0 0 .4rem; }
.sks-step p { margin: 0; color: var(--c-muted); }
@media (min-width: 48rem) { .sks-steps { grid-template-columns: repeat(3, 1fr); } }

/* FAQ */
.sks-faq .wp-block-details { margin: 0; }
.sks-faq .wp-block-details + .wp-block-details { margin-top: 0; }
.sks-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center;
	font: 600 1.075rem/1.4 var(--f-head); padding-block: .25rem; min-height: 2.75rem;
}
.sks-faq summary::-webkit-details-marker { display: none; }
.sks-faq summary::after {
	content: ""; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d6f9e' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 1rem no-repeat;
	box-shadow: inset 0 0 0 1px var(--c-line); transition: transform .2s;
}
.sks-faq details[open] summary::after { transform: rotate(45deg); }
.sks-faq details p { color: var(--c-muted); margin-block: .5rem .25rem; max-width: 42rem; }

/* Kontakt */
.sks-contact-grid { display: grid; gap: 2rem; }
.sks-contact-info > * + * { margin-block-start: 1rem; }
.sks-contact-info h3 { margin-block-start: 2rem; font-size: 1.15rem; }
.sks-address { font-size: 1.075rem; line-height: 1.7; }
@media (min-width: 56rem) {
	.sks-contact-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
	.sks-contact-map { position: sticky; top: calc(var(--sks-header-h) + 1.5rem); }
}

/* Godziny otwarcia */
.sks-hours table { width: 100%; border-collapse: collapse; }
.sks-hours th, .sks-hours td { padding: .6rem 0; border-bottom: 1px solid var(--c-line); text-align: left; font-weight: 400; }
.sks-hours td { text-align: right; color: var(--c-muted); white-space: nowrap; padding-left: 1rem; }
.sks-hours tr.is-today th, .sks-hours tr.is-today td { color: var(--c-ink); font-weight: 600; }
.sks-status { margin: 0 0 .5rem; font-size: .95rem; color: var(--c-muted); min-height: 1.5em; }
.sks-status:empty { display: none; }
.sks-status::before { content: ""; display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: #b3b3b0; margin-right: .5rem; vertical-align: .05em; }
.sks-status.is-open { color: var(--wp--preset--color--success); font-weight: 600; }
.sks-status.is-open::before { background: var(--wp--preset--color--success); box-shadow: 0 0 0 3px rgb(63 138 92 / .2); }

/* Mapa — ładowana po kliknięciu */
.sks-map { position: relative; }
.sks-map-btn, .sks-map iframe {
	display: block; width: 100%; aspect-ratio: 4 / 3; min-height: 16rem; max-height: 30rem; border: 0; border-radius: var(--sks-radius);
}
.sks-map-btn {
	display: grid; place-content: center; justify-items: center; gap: .35rem; padding: 1.5rem; cursor: pointer; text-align: center;
	font: inherit; color: var(--c-ink);
	background:
		radial-gradient(circle at 50% 45%, rgb(255 255 255 / .9) 0 22%, transparent 60%),
		repeating-linear-gradient(0deg, transparent 0 38px, rgb(61 111 158 / .08) 38px 40px),
		repeating-linear-gradient(90deg, transparent 0 38px, rgb(61 111 158 / .08) 38px 40px),
		var(--c-accent-soft);
	box-shadow: inset 0 0 0 1px var(--c-line);
}
.sks-map-btn .sks-ico { width: 2.5rem; height: 2.5rem; color: var(--c-accent); }
.sks-map-t { font: 600 1.1rem var(--f-head); }
.sks-map-s { display: inline-block; margin-top: .5rem; padding: .6rem 1.1rem; border-radius: 999px; background: var(--c-accent); color: #fff; font: 600 .95rem var(--f-head); }
.sks-map-btn:hover .sks-map-s { background: var(--c-accent-dark); }
.sks-map-note { font-size: .8125rem; color: var(--c-muted); margin: .5rem 0 0; }
.sks-map.is-loaded .sks-map-note { display: none; }

/* Media społecznościowe */
.sks-socials { display: flex; flex-wrap: wrap; gap: .6rem; }
.sks-soc {
	display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.1rem; min-height: 2.75rem; border-radius: 999px;
	background: var(--c-surface); box-shadow: inset 0 0 0 2px var(--c-line); color: var(--c-ink); text-decoration: none; font: 600 .95rem var(--f-head);
}
.sks-soc .sks-ico { width: 1.25rem; height: 1.25rem; }
.sks-soc:hover { box-shadow: inset 0 0 0 2px var(--c-accent); color: var(--c-accent); }

/* CTA */
.sks-cta { background: var(--c-accent); color: #fff; padding-block: var(--wp--preset--spacing--60); text-align: center; }
.sks-cta h2 { color: #fff; margin: 0 0 .75rem; }
.sks-cta p { margin: 0 auto 1.75rem; max-width: 36rem; color: rgb(255 255 255 / .9); }
.sks-cta .sks-actions { justify-content: center; }
.sks-cta .sks-act { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgb(255 255 255 / .55); }
.sks-cta .sks-act .sks-ico, .sks-cta .sks-act-s { color: rgb(255 255 255 / .9); }
.sks-cta .sks-act:hover { box-shadow: inset 0 0 0 2px #fff; color: #fff; }
.sks-cta .sks-act.is-main { background: #fff; color: var(--c-accent-dark); }
.sks-cta .sks-act.is-main .sks-ico { color: var(--c-accent); }
.sks-cta .sks-act.is-main:hover { background: var(--c-accent-soft); }

/* ---------- Stopka ---------- */
.sks-footer { background: var(--c-surface); border-top: 1px solid var(--c-line); color: var(--c-muted); font-size: .95rem; padding-block: 3rem 1.5rem; }
.sks-footer a { color: var(--c-ink); }
.sks-footer a:hover { color: var(--c-accent); }
.sks-footer p { margin-block: 0 .5rem; }
.sks-footer ul { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.sks-footer-grid { display: grid; gap: 2rem; }
.sks-f-name, .sks-f-h { font: 600 1rem var(--f-head); color: var(--c-ink); }
.sks-copy { margin-top: 2rem !important; padding-top: 1.5rem; border-top: 1px solid var(--c-line); font-size: .85rem; }
@media (min-width: 48rem) { .sks-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; } }

/* ---------- Pasek mobilny ---------- */
.sks-mbar {
	position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; display: flex; gap: .6rem;
	padding: .65rem max(1rem, env(safe-area-inset-right, 0px)) calc(.65rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
	background: color-mix(in srgb, var(--c-base) 96%, transparent); border-top: 1px solid var(--c-line);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.sks-mbar a {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 3rem; border-radius: 999px;
	font: 600 .975rem var(--f-head); text-decoration: none; color: var(--c-ink); background: var(--c-surface); box-shadow: inset 0 0 0 2px var(--c-line);
}
.sks-mbar a .sks-ico { width: 1.2rem; height: 1.2rem; }
.sks-mbar a.is-main { background: var(--c-accent); color: #fff; box-shadow: none; }
@media (max-width: 59.99rem) { body { padding-bottom: calc(4.4rem + env(safe-area-inset-bottom, 0px)); } }
@media (min-width: 60rem) { .sks-mbar { display: none; } }

/* ---------- Strony podrzędne (polityka prywatności itd.) ---------- */
.site-main:not(.is-front) .wp-block-post-title { margin-bottom: 1.5rem; }

/* ---------- Dostępność / druk ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}
@media print {
	.sks-mbar, .sks-nav, .sks-header-cta, .sks-map { display: none !important; }
	.wp-site-blocks > header { position: static; }
	body { padding-bottom: 0; }
}

/* ==========================================================================
   TELEFON NAJPIERW (60%+ ruchu) — nadpisania dla ekranów < 60rem
   ========================================================================== */
a, button, summary { touch-action: manipulation; -webkit-tap-highlight-color: rgb(61 111 158 / .15); }
strong, b { font-weight: 600; }
.sks-step::before { font-weight: 600; }

/* Szybsze renderowanie sekcji poniżej pierwszego ekranu */
.sks-services, .sks-steps-section, .sks-faq, .sks-footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* Nagłówek: chowa się przy przewijaniu w dół, wraca przy przewijaniu w górę */
.wp-site-blocks > header { transition: transform .25s ease; }
.wp-site-blocks > header.is-hidden { transform: translateY(-100%); }

/* Menu mobilne (bez JS — natywny <details>) */
.sks-menu { position: static; order: 3; }
.sks-menu summary {
	list-style: none; cursor: pointer; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%;
	background: var(--c-surface); box-shadow: inset 0 0 0 2px var(--c-line);
}
.sks-menu summary::-webkit-details-marker { display: none; }
.sks-burger, .sks-burger::before, .sks-burger::after { display: block; width: 1.15rem; height: 2px; border-radius: 2px; background: var(--c-ink); transition: transform .2s, opacity .2s; }
.sks-burger { position: relative; }
.sks-burger::before, .sks-burger::after { content: ""; position: absolute; left: 0; }
.sks-burger::before { top: -6px; }
.sks-burger::after { top: 6px; }
.sks-menu[open] .sks-burger { background: transparent; }
.sks-menu[open] .sks-burger::before { transform: translateY(6px) rotate(45deg); }
.sks-menu[open] .sks-burger::after { transform: translateY(-6px) rotate(-45deg); }
.sks-menu-panel {
	position: absolute; left: 0; right: 0; top: 100%; display: grid; gap: .25rem;
	padding: .75rem var(--sks-gutter) 1.25rem; background: var(--c-base); border-bottom: 1px solid var(--c-line);
	box-shadow: 0 16px 24px -16px rgb(0 0 0 / .18);
}
.sks-menu-panel a { display: flex; align-items: center; min-height: 3rem; padding-inline: .25rem; color: var(--c-ink); text-decoration: none; font: 600 1.1rem var(--f-head); border-bottom: 1px solid var(--c-line); }
.sks-menu-panel a.is-main { margin-top: .75rem; justify-content: center; border: 0; border-radius: 999px; background: var(--c-accent); color: #fff; }
.sks-header-in { position: relative; gap: .5rem; }
@media (max-width: 59.99rem) { .sks-h-phone { width: 3rem; height: 3rem; } }
@media (min-width: 60rem) { .sks-menu { display: none; } }

@media (max-width: 59.99rem) {
	:root { --sks-header-h: 3.75rem; }
	.sks-brand-name { font-size: 1rem; }

	/* Hero: przycisk „Umów” widoczny na pierwszym ekranie nawet na małym telefonie */
	.sks-hero { padding-block: .75rem 2rem; }
	.sks-hero-grid { gap: .75rem; }
	.sks-hero-media .sks-logo { width: clamp(5.25rem, 22vw, 7rem); }
	.sks-hero-text > * + * { margin-block-start: .65rem; }
	.sks-eyebrow { font-size: .75rem; letter-spacing: .06em; }
	.sks-hero h1 { margin-block-start: .25rem; font-size: clamp(1.75rem, 7.6vw, 2.4rem); }
	.sks-lead { font-size: 1.0625rem; line-height: 1.5; }
	.sks-hero .sks-actions { margin-block-start: 1.1rem; }

	/* Karty akcji: główna na całą szerokość, Zadzwoń + Trasa obok siebie */
	.sks-actions:not(.is-compact) { grid-template-columns: 1fr 1fr; gap: .6rem; }
	.sks-actions:not(.is-compact) .is-main { grid-column: 1 / -1; padding-block: .9rem; }
	.sks-actions:not(.is-compact) .sks-act:not(.is-main) {
		grid-template-columns: auto auto; justify-content: center; column-gap: .5rem; min-height: 3.25rem; padding: .75rem .5rem;
	}
	.sks-actions:not(.is-compact) .sks-act:not(.is-main) .sks-ico { grid-row: auto; width: 1.3rem; height: 1.3rem; }
	.sks-actions:not(.is-compact) .sks-act:not(.is-main) .sks-act-s { display: none; }

	/* Atuty: 2 kolumny, kompaktowo */
	.sks-trust { padding-block: 1.25rem; }
	.sks-trust-list { grid-template-columns: 1fr 1fr; gap: 1rem .9rem; }
	.sks-trust-list li { padding-left: 0; font-size: .875rem; line-height: 1.4; }
	.sks-trust-list li::before { position: static; display: block; width: 1.4rem; height: 1.4rem; margin-bottom: .4rem; }
	.sks-trust-list strong { font-size: .95rem; }

	/* Sekcje ciaśniej */
	.sks-section { padding-block: 2.25rem; }
	.sks-section h2 { margin-bottom: 1rem; }
	.sks-intro { font-size: 1rem; margin-block: -.25rem 1.25rem !important; }
	.sks-grid, .sks-steps { gap: .65rem; }
	.sks-card { padding: 1.1rem 1.2rem; }
	.sks-card h3, .sks-step h3 { font-size: 1.1rem; margin-bottom: .3rem; }
	.sks-card p, .sks-step p { font-size: 1rem; line-height: 1.5; }

	/* Kroki: numer po lewej zamiast nad tekstem */
	.sks-step { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: .9rem; padding: 1.1rem 1.2rem; }
	.sks-step::before { grid-row: span 2; margin: 0; }

	/* FAQ */
	.sks-faq summary { font-size: 1rem; min-height: 3rem; }

	/* Kontakt: najpierw dane + „Wyznacz trasę”, mapa mniejsza */
	.sks-contact-grid { gap: 1.25rem; }
	.sks-contact-info h3 { margin-block-start: 1.5rem; }
	.sks-contact-info .sks-actions { margin-block-start: .9rem; }
	.sks-map-btn, .sks-map iframe { aspect-ratio: 16 / 10; min-height: 12rem; }

	.sks-cta { padding-block: 2.5rem; }
	.sks-footer { padding-block: 2rem 1rem; }
	.sks-footer-grid { gap: 1.25rem; }
	.sks-footer ul a { display: inline-block; padding-block: .3rem; }

	/* Dolny pasek: pojawia się, gdy przyciski z hero znikną z ekranu */
	.sks-mbar { transition: transform .25s ease; }
	.sks-mbar.is-hidden { transform: translateY(110%); }
	.sks-mbar a { flex: 1 1 0; font-size: .9rem; gap: .35rem; padding-inline: .4rem; }
	.sks-mbar a.is-main { flex-grow: 1.6; }
}
@media (max-width: 22.5rem) {
	.sks-mbar a:not(.is-main) .sks-ico { display: none; }
}
@media (min-width: 60rem) { .sks-header-in { gap: 1.5rem; } }

/* Karta „Nie wiesz, od czego zacząć?” jako pełnoszeroki pasek pod usługami */
.sks-card.is-accent { grid-column: 1 / -1; }
@media (min-width: 40rem) {
	.sks-card.is-accent { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 2rem; }
	.sks-card.is-accent h3, .sks-card.is-accent p { grid-column: 1; }
	.sks-card.is-accent .sks-actions { grid-column: 2; grid-row: 1 / span 2; margin: 0; padding: 0; flex-wrap: nowrap; }
}

/* Karta „Pomoc w nagłych przypadkach” — wyróżniona, na całą szerokość (7 usług = równa siatka) */
.sks-card.is-urgent { grid-column: 1 / -1; border-left: 4px solid var(--c-accent); }
.sks-card.is-urgent .sks-actions { margin-top: .9rem; }
@media (min-width: 40rem) {
	.sks-card.is-urgent { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 2rem; }
	.sks-card.is-urgent h3, .sks-card.is-urgent p { grid-column: 1; }
	.sks-card.is-urgent .sks-actions { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
}
@media (min-width: 40rem) and (max-width: 63.99rem) {
	.sks-card.is-accent { column-gap: 1.25rem; }
}

/* Stopka: dolny pasek z dokumentami (RODO, SOM) i prawami autorskimi */
.sks-f-bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem;
	margin-top: 2rem; padding-top: 1.25rem; font-size: .875rem;
	background: linear-gradient(var(--c-line), var(--c-line)) top center / calc(100% - 2 * var(--sks-gutter)) 1px no-repeat;
}
.sks-f-docs { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.sks-f-docs a { display: inline-block; padding-block: .4rem; font-weight: 600; }
.sks-footer .sks-copy { margin: 0 !important; padding: 0; border: 0; }
.sks-f-social .sks-socials { margin-top: .25rem; }
@media (max-width: 47.99rem) {
	.sks-f-bottom { flex-direction: column; align-items: flex-start; }
	.sks-f-docs { flex-direction: column; gap: 0; }
}

/* Dojazd: nawigacja Google / Apple, wizytówka Google, wskazówki */
.sks-route { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.sks-route a {
	display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 3rem; padding: .6rem 1.1rem;
	border-radius: 999px; background: var(--c-surface); box-shadow: inset 0 0 0 2px var(--c-line);
	color: var(--c-ink); text-decoration: none; font: 600 .95rem var(--f-head);
}
.sks-route a:hover { box-shadow: inset 0 0 0 2px var(--c-accent); color: var(--c-accent); }
.sks-route .sks-route-main { background: var(--c-accent); color: #fff; box-shadow: none; flex: 1 1 100%; }
.sks-route .sks-route-main:hover { background: var(--c-accent-dark); color: #fff; }
.sks-route .sks-ico { width: 1.25rem; height: 1.25rem; }
.sks-route a:not(.sks-route-main) { flex: 1 1 0; }
.sks-directions { margin-top: 1rem; padding: 1rem 1.2rem; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--sks-radius); }
.sks-directions-h { font: 600 1rem var(--f-head); margin: 0 0 .35rem !important; }
.sks-directions p { margin: 0 0 .5rem; color: var(--c-muted); }
.sks-directions p:last-child { margin-bottom: 0; }
.sks-map.is-loaded iframe { background: var(--c-accent-soft); }

/* Nagłówek na mniejszych laptopach (60–75rem): bez zawijania, telefon jako ikona */
.sks-nav a, .sks-h-book, .sks-brand-name, .sks-brand-sub { white-space: nowrap; }
@media (min-width: 60rem) and (max-width: 74.99rem) {
	.sks-h-phone { width: 2.75rem; height: 2.75rem; padding: 0; justify-content: center; }
	.sks-h-phone span { display: none; }
	.sks-nav { gap: 1.1rem; }
}
