/*
 Theme Name:   Hello Elementor Child
 Description:  Child theme dla Hello Elementor – sesjabiznesowa.com
 Author:       Gosia
 Template:     hello-elementor
 Version:      1.1.0
 Text Domain:  hello-elementor-child
*/

/*
 * Ten plik zawiera tylko elementy systemu wizualnego, których nie da się ustawić
 * w panelu Elementora (znaczniki kadru, logo, stany interakcji, formularz CF7).
 * Kolory i typografię zmieniaj w Elementor → Ustawienia witryny (kolory i fonty globalne).
 * Klasy sb-* nadawane są w Elementorze: Zaawansowane → Klasy CSS.
 */

/* ---------- Baza ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
::selection { background: #8A3B12; color: #FFFFFF; }
:focus-visible { outline: 2px solid #8A3B12; outline-offset: 3px; }
a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.elementor-widget-text-editor p { margin-block-start: 0; }
.elementor-widget-text-editor > *:last-child,
.elementor-widget-text-editor p:last-child { margin-block-end: 0; }
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title { text-wrap: balance; }
.elementor-widget-text-editor p,
.elementor-widget-heading h3.elementor-heading-title { text-wrap: pretty; }
.sb-photo img { display: block; width: 100%; }

/* szerokość akapitów (liczba znaków w linii) */
.sb-measure { max-width: 52ch; }
.sb-measure-44 { max-width: 44ch; }
.sb-measure-46 { max-width: 46ch; }
.sb-measure-50 { max-width: 50ch; }
.sb-measure-52 { max-width: 52ch; }
.sb-measure-62 { max-width: 62ch; }

/* ---------- Nagłówek ---------- */
/* body.ehf-header – silniejszy selektor niż styl wtyczki Header Footer Elementor (position: relative) */
body.ehf-header #masthead { position: sticky; top: 0; z-index: 40; }
body.ehf-header.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { body.ehf-header.admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { body.ehf-header.admin-bar #masthead { top: 0; } }

/* Strony i wpisy w zwykłym szablonie motywu (bez Elementora) – odstęp od nagłówka i skala nagłówków */
body:not(.elementor-page) .site-main { padding-top: clamp(40px, 6vw, 96px); padding-bottom: clamp(64px, 8vw, 128px); }
body:not(.elementor-page) .site-main .entry-title { font-size: clamp(32px, 3.6vw, 56px); line-height: 1.08; letter-spacing: -0.03em; }
body:not(.elementor-page) .site-main .page-content h2 { font-size: clamp(22px, 1.8vw, 26px); line-height: 1.2; margin: 1.6em 0 0.5em; }

/* Treść dokumentów (polityka prywatności) – klasa sb-legal na widżecie Edytor tekstu */
.sb-legal h2 { margin: 40px 0 12px; font-size: clamp(22px, 1.8vw, 26px); font-weight: 600; line-height: 1.2; letter-spacing: -0.015em; color: #121212; }
.sb-legal h2:first-child { margin-top: 0; }
.sb-legal p, .sb-legal ul, .sb-legal ol { margin: 0 0 16px; }
.sb-legal ul { padding-left: 1.2em; }
.sb-legal ol { padding-left: 1.6em; }
.sb-legal li { margin-bottom: 8px; }
.sb-legal li::marker { color: #8A3B12; }
.sb-legal a { color: #121212; text-decoration: underline; }
.sb-legal a:hover { color: #8A3B12; }
.elementor .e-con.sb-header { border-bottom: 1px solid transparent; transition: padding 200ms ease, border-color 200ms ease; }
body.sb-scrolled .elementor .e-con.sb-header { --padding-top: 8px; --padding-bottom: 8px; border-bottom-color: #DADAD6; }

/* Logo: tekst „sesjabiznesowa.com” w znacznikach kadru */
.sb-logo .elementor-heading-title {
	--sb-m: 8px;
	display: inline-flex; align-items: baseline; padding: 8px 12px; white-space: nowrap;
	background:
		linear-gradient(currentColor, currentColor) left top / var(--sb-m) 1px no-repeat,
		linear-gradient(currentColor, currentColor) left top / 1px var(--sb-m) no-repeat,
		linear-gradient(currentColor, currentColor) right top / var(--sb-m) 1px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 1px var(--sb-m) no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / var(--sb-m) 1px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 1px var(--sb-m) no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / var(--sb-m) 1px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 1px var(--sb-m) no-repeat;
}
.sb-logo .elementor-heading-title a { color: inherit; text-decoration: none; }
.sb-logo__tld { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-weight: 500; font-size: 0.715em; color: #8A3B12; }
.sb-logo--light .elementor-heading-title { --sb-m: 10px; padding: 10px 14px; }
.sb-logo--light .sb-logo__tld { color: inherit; font-size: 0.69em; }

/* Menu (Header Footer Elementor) */
.sb-nav .hfe-nav-menu__layout-horizontal .menu-item:last-child { margin-left: 0; }
.sb-nav .hfe-nav-menu .menu-item:last-child > a.hfe-menu-item { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1024px) {
	.sb-nav .hfe-nav-menu__toggle { display: flex; align-items: center; gap: 10px; margin-left: auto; min-height: 44px; cursor: pointer; }
}
.sb-nav .hfe-nav-menu__toggle::before { content: "Menu"; font-family: 'Hanken Grotesk', sans-serif; font-weight: 600; font-size: 16px; color: #121212; }
.sb-nav nav.hfe-dropdown { box-shadow: 0 16px 24px rgba(18, 18, 18, 0.08); border-top: 1px solid #DADAD6; }
.sb-nav nav.hfe-dropdown .menu-item:last-child > a.hfe-menu-item { display: flex; justify-content: space-between; align-items: center; min-height: 56px; margin: 20px; padding: 0 20px !important; color: #FFFFFF !important; background: #8A3B12 !important; font-size: 17px !important; letter-spacing: 0 !important; }
.sb-nav nav.hfe-dropdown .menu-item:last-child > a.hfe-menu-item::after { content: "→"; }

/* ---------- Znaczniki kadru na zdjęciach ---------- */
.sb-marks { position: relative; }
.sb-marks::before,
.sb-marks::after { content: ""; position: absolute; left: 10px; right: 10px; height: 16px; pointer-events: none; z-index: 2; }
.sb-marks::before {
	top: 10px;
	background:
		linear-gradient(var(--sb-mark-top, #F3F0EA), var(--sb-mark-top, #F3F0EA)) left top / 16px 1px no-repeat,
		linear-gradient(var(--sb-mark-top, #F3F0EA), var(--sb-mark-top, #F3F0EA)) left top / 1px 16px no-repeat,
		linear-gradient(var(--sb-mark-top, #F3F0EA), var(--sb-mark-top, #F3F0EA)) right top / 16px 1px no-repeat,
		linear-gradient(var(--sb-mark-top, #F3F0EA), var(--sb-mark-top, #F3F0EA)) right top / 1px 16px no-repeat;
}
.sb-marks::after {
	bottom: 10px;
	background:
		linear-gradient(var(--sb-mark-bottom, #F3F0EA), var(--sb-mark-bottom, #F3F0EA)) left bottom / 16px 1px no-repeat,
		linear-gradient(var(--sb-mark-bottom, #F3F0EA), var(--sb-mark-bottom, #F3F0EA)) left bottom / 1px 16px no-repeat,
		linear-gradient(var(--sb-mark-bottom, #F3F0EA), var(--sb-mark-bottom, #F3F0EA)) right bottom / 16px 1px no-repeat,
		linear-gradient(var(--sb-mark-bottom, #F3F0EA), var(--sb-mark-bottom, #F3F0EA)) right bottom / 1px 16px no-repeat;
}
.sb-marks--split { --sb-mark-top: #121212; --sb-mark-bottom: #F3F3F1; }
.sb-ratio-45 { aspect-ratio: 4 / 5; overflow: hidden; }

/* ---------- Typografia pomocnicza ---------- */
.sb-eyebrow { display: block; margin-bottom: 24px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-weight: 400; font-size: 14px; line-height: 1.4; letter-spacing: 0.06em; text-transform: uppercase; color: #8A3B12; }
.sb-label { display: block; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 13px; line-height: 1.4; letter-spacing: 0.06em; text-transform: uppercase; color: #8A3B12; }
.sb-caps .elementor-heading-title { letter-spacing: 0.06em; text-transform: uppercase; }
.sb-fact strong { display: block; font-size: 17px; font-weight: 600; color: #121212; }
.sb-who strong { font-weight: 600; color: #121212; }
.sb-dark-card .sb-who strong { color: #FFFFFF; }
.sb-price .sb-unit { font-size: 15px; font-weight: 500; letter-spacing: 0; }
.elementor-element.sb-push { margin-top: auto; padding-top: 8px; }
.sb-badge .elementor-heading-title { display: inline-block; padding: 4px 8px; background: #8A3B12; letter-spacing: 0.06em; text-transform: uppercase; }
.sb-lines { margin: 0; padding: 0; list-style: none; }
.sb-lines li { padding: 10px 0; border-top: 1px solid #DADAD6; }
.sb-lines li:last-child { border-bottom: 1px solid #DADAD6; }
.sb-dl { border-top: 1px solid #DADAD6; }
.sb-dl strong { display: block; margin-bottom: 4px; font-weight: 600; color: #121212; }
.sb-quote blockquote { margin: 0; padding-left: 24px; border-left: 2px solid #8A3B12; }
.sb-contact-value .elementor-heading-title { font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.sb-contact-value a { text-decoration: none; }
.sb-underline a { text-decoration: underline; }

/* ---------- Przyciski ---------- */
.elementor-button { transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 100ms ease; }
.elementor-button:active { transform: scale(0.98); }
.elementor-button .elementor-button-icon svg { width: 0.8em; height: 0.8em; }
.sb-link-btn .elementor-button { min-height: 44px; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.sb-link-btn--bold .elementor-button { font-weight: 600; }
.sb-tab-link .elementor-button { font-size: 16px; font-weight: 400; }

/* Mobilny przycisk „Wycena” – pojawia się po przewinięciu hero, chowa przy formularzu */
.elementor .e-con.sb-sticky-cta { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 30; width: auto; padding: 0; transform: translateY(calc(100% + 24px)); visibility: hidden; transition: transform 250ms ease, visibility 250ms; }
.elementor .e-con.sb-sticky-cta.is-visible { transform: none; visibility: visible; }
.sb-sticky-cta .elementor-button { min-height: 56px; }
.sb-sticky-cta .elementor-button-text { display: flex; flex: 1; justify-content: space-between; align-items: center; gap: 12px; }
.sb-sticky-cta__note { font-size: 15px; font-weight: 500; }
.elementor-editor-active .elementor .e-con.sb-sticky-cta { position: relative; left: auto; right: auto; bottom: auto; transform: none; visibility: visible; }

/* ---------- Zakładki modułów (Zagnieżdżone zakładki) ---------- */
.sb-tabs .e-n-tabs-heading { gap: 0 32px; border-bottom: 1px solid #DADAD6; flex-wrap: wrap; }
.sb-tabs .e-n-tabs-heading .e-n-tab-title { min-height: 52px; margin-bottom: -1px; padding: 0; background: none !important; border: 0; border-bottom: 2px solid transparent; border-radius: 0; flex-grow: 0; }
.sb-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] { border-bottom-color: #8A3B12; }
.sb-tabs__num { margin-right: 6px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 13px; font-weight: 400; }
.sb-tabs .e-n-tabs-content > .e-con { padding: 0; border: 0; background: none; }

/* ---------- FAQ (Zagnieżdżony akordeon) ---------- */
.sb-faq .e-n-accordion { background: #FFFFFF; border: 1px solid #DADAD6; }
.sb-faq .e-n-accordion-item { border-bottom: 1px solid #DADAD6; margin: 0; }
.sb-faq .e-n-accordion-item:last-child { border-bottom: 0; }
.sb-faq .e-n-accordion-item-title { min-height: 64px; padding: 18px 24px; gap: 24px; justify-content: space-between; background: #FFFFFF; border: 0; border-radius: 0; }
.sb-faq .e-n-accordion-item-title-header { flex: 1; }
.sb-faq .e-n-accordion-item-title-text { font-size: clamp(17px, 1.3vw, 19px); font-weight: 600; line-height: 1.35; color: #121212; }
.sb-faq .e-n-accordion-item-title-icon { flex: 0 0 28px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 1px solid #121212; color: #121212; transition: background-color 200ms ease, color 200ms ease; }
.sb-faq .e-n-accordion-item-title-icon span { display: flex; align-items: center; justify-content: center; }
.sb-faq .e-n-accordion-item-title-icon svg { width: 12px; height: 12px; fill: currentColor !important; }
.sb-faq .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon { background: #121212; color: #FFFFFF; }
.sb-faq .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon svg { fill: #FFFFFF !important; }
.sb-faq .e-n-accordion-item > .e-con { padding: 0 72px 22px 24px; border: 0; background: none; }
@media (max-width: 767px) { .sb-faq .e-n-accordion-item > .e-con { padding: 0 24px 22px; } }

/* ---------- Opinie (Referencje) ---------- */
.sb-testimonial { padding-top: 28px; border-top: 2px solid #121212; }
.sb-testimonial .elementor-testimonial-wrapper { text-align: left; }
.sb-testimonial .elementor-testimonial-content { margin-bottom: 24px; text-wrap: pretty; }
.sb-testimonial .elementor-testimonial-meta-inner { display: flex; }
.sb-testimonial .elementor-testimonial-details { padding: 0; }

/* ---------- Współpraca: numery kroków ---------- */
.elementor-element.sb-stepnum { flex: 0 0 48px; }
.sb-stepnum .elementor-heading-title { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid #FFFFFF; }
.sb-stepnum--accent .elementor-heading-title { background: #8A3B12; border-color: #8A3B12; }

/* ---------- Portfolio (Essential Addons – Filterable Gallery) ---------- */
.sb-portfolio .eael-filter-gallery-wrapper { background: none !important; }
.sb-portfolio .eael-filter-gallery-control { margin: 0 0 clamp(24px, 3vw, 40px) !important; padding: 0 !important; text-align: left; }
.sb-portfolio .eael-filter-gallery-control ul { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; width: 100%; margin: 0 !important; padding: 0; }
.sb-portfolio .eael-filter-gallery-control ul li.control { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 18px; background: #FFFFFF; color: #121212; border: 1px solid #121212; border-radius: 0; box-shadow: none; font-family: 'Hanken Grotesk', sans-serif; font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: 0; text-transform: none !important; cursor: pointer; transition: background-color 200ms ease, color 200ms ease; }
.sb-portfolio .eael-filter-gallery-control ul li.control:hover,
.sb-portfolio .eael-filter-gallery-control ul li.control.active { background: #121212; color: #FFFFFF; }
.sb-fcount { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 12px; font-weight: 400; }
.sb-portfolio .eael-filter-gallery-container { margin: 0 -9px; }
.sb-portfolio .eael-filterable-gallery-item-wrap { padding: 0 9px 18px; }
.sb-portfolio .eael-gallery-grid-item { margin: 0; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.sb-portfolio .gallery-item-thumbnail-wrap { height: auto !important; margin: 0; border-radius: 0; overflow: hidden; }
.sb-portfolio .gallery-item-thumbnail-wrap img { display: block; width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0; filter: saturate(0.9) contrast(1.02); transition: transform 600ms cubic-bezier(.2, .7, .1, 1); }
.sb-portfolio .eael-gallery-grid-item:hover .gallery-item-thumbnail-wrap img { transform: scale(1.03); }
.sb-portfolio .gallery-item-thumbnail-wrap .gallery-item-caption-wrap,
.sb-portfolio .eael-gallery-grid-item .gallery-item-thumbnail-wrap .gallery-item-hoverer-bg { display: none; }
.sb-portfolio .gallery-item-caption-wrap.caption-style-card { display: block; padding: 8px 0 0 !important; background: none !important; border: 0 !important; text-align: left; }
.sb-portfolio .gallery-item-caption-wrap.caption-style-card .gallery-item-caption-over { display: flex; justify-content: space-between; gap: 12px; padding: 0; }
.sb-portfolio .gallery-item-caption-wrap.caption-style-card .fg-item-title,
.sb-portfolio .gallery-item-caption-wrap.caption-style-card .fg-item-content,
.sb-portfolio .gallery-item-caption-wrap.caption-style-card .fg-item-content p { margin: 0 !important; padding: 0 !important; font-family: 'IBM Plex Mono', ui-monospace, monospace !important; font-size: 12px !important; font-weight: 400 !important; line-height: 1.4 !important; color: #5C5C58 !important; text-align: right; text-transform: none !important; letter-spacing: 0 !important; }
.sb-portfolio .gallery-item-caption-wrap.caption-style-card .fg-item-title { text-align: left; }
/* kadry poziome („Dzień z życia firmy”) zajmują 2 kolumny */
@media (min-width: 768px) {
	.sb-portfolio .eael-filterable-gallery-item-wrap.sb-wide { width: 50% !important; }
	.sb-portfolio .eael-filterable-gallery-item-wrap.sb-wide .gallery-item-thumbnail-wrap img { aspect-ratio: auto; height: var(--sb-tile-h, auto) !important; object-fit: cover; }
}
@media (min-width: 768px) and (max-width: 1024px) { .sb-portfolio .eael-filterable-gallery-item-wrap.sb-wide { width: 66.666% !important; } }
@media (max-width: 767px) {
	.sb-portfolio .eael-filterable-gallery-item-wrap.sb-wide { width: 100% !important; }
	.sb-portfolio .eael-filterable-gallery-item-wrap.sb-wide .gallery-item-thumbnail-wrap img { aspect-ratio: 3 / 2; }
}
@media (max-width: 767px) {
	.sb-portfolio .gallery-item-caption-wrap.caption-style-card .gallery-item-caption-over { flex-direction: column; gap: 0; }
	.sb-portfolio .gallery-item-caption-wrap.caption-style-card .fg-item-content p { text-align: left; }
}
/* lightbox */
.mfp-bg.eael-gf-mfp-popup, .eael-gf-mfp-popup.mfp-bg { background: #121212; opacity: 0.97; }
/* kursor „Zobacz” nad portfolio (tylko mysz) */
.sb-cursor { position: fixed; left: 0; top: 0; z-index: 50; pointer-events: none; opacity: 0; transition: opacity 160ms ease; }
.sb-cursor span { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: #8A3B12; color: #FFFFFF; font-family: 'Hanken Grotesk', sans-serif; font-size: 14px; font-weight: 600; }
.sb-cursor.is-on { opacity: 1; }
@media (pointer: fine) { .sb-cursor-area .eael-filter-gallery-container, .sb-cursor-area .eael-filter-gallery-container a { cursor: none; } }

/* ---------- Formularz kontaktowy (Contact Form 7) ---------- */
.sb-form .wpcf7 form { display: flex; flex-direction: column; gap: 20px; }
.sb-form .wpcf7 form > p:empty { display: none; }
.sb-form__fields { display: flex; flex-direction: column; gap: 20px; }
.sb-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 20px; }
.sb-field { display: flex; flex-direction: column; gap: 6px; }
.sb-form label,
.sb-form legend { margin: 0; padding: 0; font-size: 16px; font-weight: 600; line-height: 1.4; color: #121212; }
.sb-field__hint { color: #5C5C58; font-weight: 400; }
.sb-form .wpcf7-form-control-wrap { display: block; }
.sb-form input[type="text"],
.sb-form input[type="email"],
.sb-form input[type="tel"],
.sb-form textarea { width: 100%; max-width: none; min-height: 52px; margin: 0; padding: 0 14px; background: #FFFFFF; color: #121212; border: 1px solid #9A9A95; border-radius: 0; box-shadow: none; font-family: 'Hanken Grotesk', sans-serif; font-size: 17px; line-height: 1.5; outline: none; transition: border-color 150ms ease, box-shadow 150ms ease; }
.sb-form textarea { min-height: 0; padding: 14px; resize: vertical; }
.sb-form input:focus,
.sb-form textarea:focus { border-color: #121212; box-shadow: 0 0 0 1px #121212; }
.sb-form .wpcf7-not-valid { border-color: #B3261E !important; }
.sb-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 15px; color: #B3261E; }
.sb-form__interests { margin: 0; padding: 0; border: 0; min-width: 0; }
.sb-form__interests legend { margin-bottom: 10px; }
.sb-form__interests .wpcf7-checkbox { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 8px; }
.sb-form .wpcf7-list-item { margin: 0; }
.sb-form__interests .wpcf7-list-item label { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 14px; background: #FFFFFF; border: 1px solid #DADAD6; font-size: 16px; font-weight: 400; cursor: pointer; transition: border-color 150ms ease; }
.sb-form__interests .wpcf7-list-item label:has(input:checked) { border-color: #121212; }
.sb-form input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: #8A3B12; }
.sb-form__consent .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 12px; padding: 4px 0; font-size: 15px; font-weight: 400; line-height: 1.5; color: #3D3D3A; cursor: pointer; }
.sb-form__consent input[type="checkbox"] { margin-top: 1px; }
.sb-form__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.sb-form .wpcf7-submit { min-height: 56px; margin: 0; padding: 0 28px; background: #8A3B12; color: #FFFFFF; border: 0; border-radius: 0; font-family: 'Hanken Grotesk', sans-serif; font-size: 17px; font-weight: 600; line-height: 1; cursor: pointer; transition: background-color 200ms ease, transform 100ms ease; }
.sb-form .wpcf7-submit:hover,
.sb-form .wpcf7-submit:focus-visible { background: #121212; }
.sb-form .wpcf7-submit:active { transform: scale(0.98); }
.sb-form .wpcf7-submit:disabled { opacity: 0.7; cursor: progress; }
.sb-form .wpcf7-spinner { margin: 0; }
.sb-form__note { font-size: 15px; color: #3D3D3A; }
.sb-form .wpcf7 form .wpcf7-response-output { order: -1; margin: 0; padding: 14px 18px; background: #FFFFFF; border: 1px solid #B3261E; border-left-width: 4px; font-size: 16px; color: #121212; }
.sb-form .wpcf7 form.init .wpcf7-response-output,
.sb-form .wpcf7 form.resetting .wpcf7-response-output,
.sb-form .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.sb-form .wpcf7 form.sent .sb-form__fields { display: none; }
.sb-form .wpcf7 form.sent .wpcf7-response-output { padding: 24px 0; background: none; border: 0; font-size: clamp(28px, 2.6vw, 40px); font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.sb-form .wpcf7 form.sent .wpcf7-response-output::before { content: "Zapytanie wysłane"; display: block; margin-bottom: 16px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 13px; font-weight: 400; letter-spacing: 0.06em; line-height: 1.4; text-transform: uppercase; color: #8A3B12; }

/* ---------- Stopka ---------- */
.sb-footer a { color: inherit; }
.sb-foot-links .elementor-icon-list-text { color: inherit; }

/* ---------- Odsłanianie przy przewijaniu (wyłączone przy prefers-reduced-motion) ---------- */
.sb-js .sb-reveal { opacity: 0; transform: translateY(20px); }
.sb-js .sb-reveal-img { clip-path: inset(0 0 100% 0); }
.sb-js .sb-reveal.is-in { opacity: 1; transform: none; transition: opacity 700ms cubic-bezier(.2, .7, .1, 1), transform 700ms cubic-bezier(.2, .7, .1, 1); }
.sb-js .sb-reveal-img.is-in { clip-path: inset(0 0 0 0); transition: clip-path 1000ms cubic-bezier(.2, .7, .1, 1); }
@media (prefers-reduced-motion: reduce) {
	.sb-js .sb-reveal, .sb-js .sb-reveal-img { opacity: 1; transform: none; clip-path: none; }
}
