/* =====================================================================
   AMP Consulting — client-feedback.css                        v1.6.0
   Globalna, ostatnia warstwa stylów motywu (ładowana na każdej podstronie
   po arkuszach szablonu).

   CZĘŚĆ A — poprawki komponentów (kalkulator, formularze, hover CTA,
             rytm sekcji, nagłówek hero).
   CZĘŚĆ B — FINAL DESIGN SYSTEM: jedyne źródło prawdy dla typografii.

   Historia: 2026-09-25 — uspójnienie typografii wg uwag klienta
   (Anna Piątek). Reguły typografii rozsiane wcześniej w tym pliku
   zostały przeniesione do części B.
   ===================================================================== */

/* =====================================================================
   CZĘŚĆ A — KOMPONENTY
   ===================================================================== */

/* WordPress-only additions must not restyle the approved HTML design. */

/* Calculator: four entities, separate employment lines and split pricing. */
.calc-options-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.calc-choice:has(input[value="przemysl"]) {
	grid-column: auto;
	background: var(--theme-page, #f6f1e8);
}
.calc-other-sector,
.amp-industry-other { display: grid; gap: 8px; margin-top: 16px; font-weight: 700; }
.calc-other-sector[hidden],
.amp-industry-other[hidden] { display: none; }
.calc-team-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 0;
	border-bottom: 1px solid var(--theme-border, #d7d0c4);
}
.calc-price-split,
.amp-price-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.calc-price-split > div,
.amp-price-split > p {
	margin: 0;
	padding: 16px;
	border: 1px solid rgba(18, 63, 67, .18);
	border-radius: 14px;
	background: rgba(255, 255, 255, .72);
}
.amp-price-split strong,
.amp-price-split span { display: block; }
.amp-price-split span { margin-top: 8px; font-size: 18px; font-weight: 750; }

/* Price cards: dark petrol copy on an opaque warm surface for WCAG contrast. */
.calc-result .calc-price-split > div {
	background: #fffdf8;
	border-color: #d7d0c4;
}

.calc-result .calc-price-split :is(small, h3, p, strong, span) {
	color: #123f43 !important;
}

/* Final typography floor: hierarchy comes from scale, weight and spacing—not tiny copy. */
html { font-size: 16px; }

:where(
.card-copy,
.section-lead,
.quick-contact p,
.amp-field,
.calc-choice,
.calc-team-line,
.contact-next-grid p,
.article-body p,
.article-body li,
input,
select,
textarea
) {
	font-size: 16px !important;
	line-height: 1.55;
}

:where(
label,
legend,
.main-nav a,
.main-nav button,
.footer a,
.footer-column,
.footer-bottom,
.eyebrow,
.hero-kicker,
.breadcrumb,
.breadcrumbs,
.article-breadcrumb,
.article-meta-author strong,
.article-meta-author small,
.article-meta-detail small,
.article-meta-detail time,
.article-meta-detail > span,
.article-toc > p,
.article-toc li a,
.article-toc-service,
.article-toc-service strong,
.article-summary::before,
.card small,
.team-card span,
.steps-grid p,
.calc-hint,
.calc-footnote,
.amp-note,
.amp-progress,
.faq-answer,
.lead-qualifier-panel p,
.lead-qualifier-panel b,
.problem-focus-us,
.micro-win-copy,
.problem-focus-person small,
.faq-contact,
.team-focus-tabs strong,
.team-focus-tabs small,
.team-focus-profile figcaption > span,
.team-focus-profile figcaption small,
.knowledge-editorial .articles-grid > a > span,
.knowledge-editorial .article-featured > span,
.knowledge-editorial .article-featured b,
.hero-ksef-pill strong,
.contact-facts span,
.contact-next-grid span,
.proof-review-card small,
.roles-switch-action small,
.roles-switch-photo figcaption strong,
.roles-switch-photo figcaption span,
.roles-saldeo-status,
.hero-human p,
.hero-note,
.roles-switch-copy > p:not(.eyebrow),
.roles-perspective-panel li,
.closing-team-actions p
) {
	font-size: 14px !important;
	line-height: 1.45;
}

:where(
button,
input[type="button"],
input[type="submit"],
.button,
.header-cta,
.start-cta,
.team-focus-cta,
.amp-primary,
.calc-next,
.calc-back,
.closing-team-primary,
.human-app-contact,
.contact-hero-cta,
.contact-submit,
.article-service-primary,
.article-service-secondary,
.faq-heading > a,
.roles-switch-cta,
.problem-section-cta a,
.hero-note a
) {
	font-size: 15px !important;
	line-height: 1.35;
}

/* Keep the approved homepage composition while retaining readable UI copy. */
.roles-switch-cta {
	flex: 0 0 auto;
	min-width: 192px;
	white-space: nowrap;
}

.roles-switch-action small {
	flex: 1 1 auto;
	min-width: 0;
}

@media (min-width: 861px) {
	.closing-section.closing-compact.closing-team-strip {
		gap: 40px;
		grid-template-columns: minmax(0, 1fr) 500px;
	}

	.closing-team-actions {
		width: 500px;
	}
}

/* Testimonial spacing (typografia cytatu: sekcja DS 12). */
.proof-review-card > p {
	margin: 28px 0 32px;
}

/* Keep every primary navigation label on the same scale as “Przenoszę księgowość”. */
.site-header .main-nav > a,
.site-header .main-nav > .nav-group > .mega-trigger,
.site-header .header-tools > .header-pricing,
.site-header .header-tools > .header-contact,
.site-header .header-tools > .header-cta,
.site-header .main-nav > .mobile-menu-cta {
	font-size: 14px !important;
	line-height: 1.4 !important;
}

/* The company-setup explainer needs a clear title-to-intro rhythm. */
.section-shell > .section-intro {
	margin-top: 18px;
}

/* Client review: quotation forms need stronger separation from pale sections. */
.quick-contact {
	background: #123f43 !important;
	border-color: #315f62 !important;
	color: #fff !important;
}

.quick-contact :is(
h2,
p,
label,
legend,
a,
.amp-progress,
.amp-field,
.amp-details,
.amp-review h3,
.amp-estimate,
.amp-note
) {
	color: #fff !important;
}

.quick-contact .amp-progress span {
	color: #e7c66a !important;
}

.quick-contact :is(input, select, textarea) {
	background: #fff;
	border-color: #789496;
	color: #123f43;
	font-size: 16px;
}

.quick-contact :is(input, select, textarea)::placeholder {
	color: #587577;
	opacity: 1;
}

.quick-contact .amp-primary {
	background: #e7c66a !important;
	border-color: #e7c66a !important;
	color: #123f43 !important;
	font-size: 15px !important;
}

.quick-contact .amp-primary:hover {
	background: var(--amp-petrol-light, #1f5a5f) !important;
	border-color: #fff !important;
	color: #fff !important;
}

/* Keep supporting copy visually separate from large section headings. */
.contact-faq-copy > h2 + p,
.faq-heading > h2 + p,
.quick-contact-copy > h2 + p {
	margin-top: 20px !important;
}

@media (max-width: 720px) {
	.contact-faq-copy > h2 + p,
	.faq-heading > h2 + p,
	.quick-contact-copy > h2 + p {
		margin-top: 18px !important;
	}
}

@media (max-width: 720px) {
	.calc-options-four,
	.calc-price-split,
	.amp-price-split { grid-template-columns: 1fr; }
	.calc-team-line { align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* Global CTA hover (AMP 2026-09-28): petrol przechodzi w jaśniejszy petrol, tekst biały. */
:is(
.header-cta,
.mobile-menu-cta,
.button-primary,
.path-card-primary,
.start-cta,
.problem-section-cta > a,
.contact-primary,
.contact-submit,
.closing-primary,
.closing-team-primary,
.team-focus-cta,
.human-app-contact,
.article-service-primary,
.amp-primary,
.roles-switch-cta
):hover {
	background: var(--amp-petrol-light, #1f5a5f) !important;
	border-color: var(--amp-petrol-light, #1f5a5f) !important;
	color: #fff !important;
}

/* Shared semantic hero component for all service and sector pages. */
.page-service .page-hero {
	padding-block: clamp(52px, 6vw, 88px);
}

.page-service .page-hero .hero-kicker {
	margin: 0 0 clamp(18px, 2vw, 28px);
}

.page-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-breadcrumb li {
	display: inline-flex;
	align-items: center;
	gap: .55em;
}

.page-breadcrumb li + li::before {
	content: "/";
	color: currentColor;
}

.page-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.page-breadcrumb a:hover,
.page-breadcrumb a:focus-visible {
	text-decoration: underline;
	text-underline-offset: .2em;
}

/* One authoritative hero rule: homepage is the global reference. */
@media (min-width: 861px) {
	.page-hero {
		padding: 46px 28px 76px !important;
	}

	.page-hero > .page-hero__inner {
		width: 100%;
		max-width: 1280px !important;
		margin-inline: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: clamp(32px, 4.5vw, 64px) !important;
	}

	.page-hero .page-hero__copy {
		width: 100%;
		max-width: none;
	}
}

.page-hero .page-hero__title {
	max-width: 610px !important;
}

.page-hero .hero-kicker,
.page-hero .page-breadcrumb {
	margin: 0 0 18px !important;
}

@media (min-width: 861px) {
	.amp-knowledge-hero {
		padding-top: 44px !important;
	}
}
/* 2026-09-11: section rhythm on service pages; homepage intentionally excluded. */
.page-service main > .section-white + .section-white:not(.human-app-section):not(.transfer-steps):not(.byq-service-scope) {
	background: #dcefeb;
}

.page-service main > .service-problem-section + .service-info-human-app,
.page-service main > .service-info-human-app:has(+ .byq-service-scope) {
	background: #dcefeb;
}

.page-service main > .service-info-human-app + .transfer-steps,
.page-service main > .service-info-human-app + .byq-service-scope {
	background: #f3f0e7;
}

.page-service main > .proof-editorial ~ .quick-contact + .faq-section {
	background: #fffdf8;
	box-shadow: 0 0 0 100vmax #fffdf8;
	clip-path: inset(0 -100vmax);
}

.page-service main > .byq-related + .closing-section {
	background: #fffdf8;
}


/* =====================================================================
   CZĘŚĆ B — FINAL DESIGN SYSTEM
   ===================================================================== */
/* =====================================================================
   AMP — FINAL DESIGN SYSTEM LAYER (typografia i rytm)            v1.6.0
   ---------------------------------------------------------------------
   Ten blok jest jedynym źródłem prawdy dla typografii na wszystkich
   podstronach. Plik ładuje się globalnie jako ostatni arkusz motywu,
   więc nadpisuje historyczne warstwy (site / final-design /
   homepage-completion / byq / design-system / cooperation / contact).
   Zmieniaj wartości TYLKO w tokenach poniżej — role korzystają z nich.

   Skala (ekran 1920 px, zgodnie z uwagami klienta 2026-09-25):
     Hero H1 (display)       84   / 700   + kursywa Newsreader 400
     Hero — mała linia SEO   10   / 800   UPPERCASE (kicker, breadcrumb)
     Hero — podtytuł         21 / 32,5  / 400
     Nagłówek sekcji H2      58   / 600
     Nagłówek FAQ H2         50   / 600
     Zamknięcie / CTA H2     44   / 600
     H3 duży / średni / mały 42 / 28 / 24  / 600
     Eyebrow z kreską        14   / 800   UPPERCASE + kreska 28 px
     Etykieta okienka        10   / 800   UPPERCASE
     Tekst z boku nagłówka   17 / 1,6  / 400
     Tekst bazowy            16 / 1,55 / 400
     Podpis na zdjęciu       14   / 400
     Cytat opinii            27   / Newsreader italic 400
   ===================================================================== */

:root {
	/* Kolor marki: petrol AMP — jedna wartość w całym serwisie */
	--amp-petrol: #123f43;
	--amp-petrol-light: #1f5a5f;
	--theme-text: var(--amp-petrol);
	--theme-accent: var(--amp-petrol);
	--contact-ink: var(--amp-petrol);

	--amp-font-sans: "Manrope", system-ui, sans-serif;
	--amp-font-serif: "Newsreader", Georgia, serif;

	--amp-fs-display: clamp(48px, 5.65vw, 84px);
	--amp-fs-micro: 10px;
	--amp-fs-lead: clamp(17px, 1.5vw, 21px);
	--amp-fs-h2: clamp(38px, 4.2vw, 58px);
	--amp-fs-h2-faq: clamp(34px, 3.9vw, 50px);
	--amp-fs-h2-closing: clamp(32px, 3.2vw, 44px);
	--amp-fs-h3-lg: clamp(30px, 2.9vw, 42px);
	--amp-fs-h3-md: clamp(22px, 1.9vw, 28px);
	--amp-fs-h3-sm: clamp(20px, 1.6vw, 24px);
	--amp-fs-eyebrow: 14px;
	--amp-fs-side: 17px;
	--amp-fs-body: 16px;
	--amp-fs-caption: 14px;
	--amp-fs-quote: clamp(22px, 1.65vw, 27px);

	--amp-lh-display: 1.02;
	--amp-lh-heading: 1.04;
	--amp-lh-subheading: 1.14;
	--amp-lh-lead: 1.55;
	--amp-lh-text: 1.6;

	--amp-fw-display: 700;
	--amp-fw-heading: 600;
	--amp-fw-label: 800;

	--amp-ls-display: -.035em;
	--amp-ls-heading: -.04em;
	--amp-ls-subheading: -.025em;
	--amp-ls-label: .12em;

	/* Zgodność z istniejącym kontraktem design-system.css */
	--ds-type-hero-home: var(--amp-fs-display);
	--ds-type-section: var(--amp-fs-h2);
	--ds-type-section-editorial: var(--amp-fs-h2-faq);
	--ds-type-eyebrow: var(--amp-fs-eyebrow);
}

@media (max-width: 620px) {
	:root {
		--amp-fs-display: clamp(44px, 12.5vw, 56px);
		--amp-fs-lead: 17px;
		--amp-fs-h2: 34px;
		--amp-fs-h2-faq: 32px;
		--amp-fs-h2-closing: 30px;
		--amp-fs-h3-lg: 28px;
		--amp-fs-h3-md: 22px;
		--amp-fs-h3-sm: 20px;
		--amp-fs-side: 16px;
		--amp-fs-quote: 22px;
	}
}

/* ---------- 1. HERO — H1 display (wszystkie podstrony) ---------- */
html body:not(#amp-ds) :where(
	.hero .hero-display .hero-display-promise,
	.page-hero .page-hero__title,
	.contact-hero h1,
	#calculator-title,
	.amp-knowledge-hero h1
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-display) !important;
	font-weight: var(--amp-fw-display) !important;
	line-height: var(--amp-lh-display) !important;
	letter-spacing: var(--amp-ls-display) !important;
}

/* Kursywa w nagłówkach: zawsze Newsreader italic 400. */
html body:not(#amp-ds) :where(:is(h1, h2, h3) :is(em, i, .hero-display-accent)),
html body:not(#amp-ds) :where(.hero-display-accent *) {
	font-family: var(--amp-font-serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	letter-spacing: -.02em;
}

/* ---------- 2. HERO — mała linia nad H1 (SEO, kicker, breadcrumb) ---------- */
html body:not(#amp-ds) :where(
	.hero-display .hero-display-seo,
	.page-hero .hero-kicker,
	.page-hero .page-breadcrumb,
	.contact-hero-copy > .contact-eyebrow,
	.amp-knowledge-hero .hero-kicker
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-micro) !important;
	font-weight: var(--amp-fw-label) !important;
	line-height: 1.45 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}

/* ---------- 3. HERO — podtytuł 21 / 32,5 ---------- */
html body:not(#amp-ds) :where(
	.hero-copy > .hero-lead,
	.page-hero .hero-lead,
	.subpage-hero .hero-lead,
	.contact-hero-lead,
	.coop2-hero .coop2-lead,
	.coop2-lead,
	#calculator-title ~ .section-lead,
	.amp-knowledge-hero h1 + p,
	.amp-article-lead
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-lead) !important;
	font-weight: 400 !important;
	line-height: var(--amp-lh-lead) !important;
	letter-spacing: 0 !important;
}

/* ---------- 4. Nagłówek sekcji H2 — 58 / 600 ---------- */
html body:not(#amp-ds) :where(main section:not(.quick-contact, .closing-section, .coop2-final-cta, .faq-section, .contact-faq) h2:not(article h2, aside h2, form h2, .quick-contact-title)),
html body:not(#amp-ds) :where(.amp-knowledge-list, .amp-related) > h2,
html body:not(#amp-ds) :where(.amp-knowledge-list > div > h2) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-h2) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: var(--amp-lh-heading) !important;
	letter-spacing: var(--amp-ls-heading) !important;
}

/* ---------- 5. Nagłówek FAQ na dole strony — 50 / 600 ---------- */
html body:not(#amp-ds) :where(.faq-heading, .contact-faq-copy) > h2,
html body:not(#amp-ds) :where(.contact-location-card > h2) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-h2-faq) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: var(--amp-lh-heading) !important;
	letter-spacing: var(--amp-ls-heading) !important;
}

/* ---------- 6. Zamknięcia i formularze — H2 44 / 600 ---------- */
html body:not(#amp-ds) :where(.closing-team-copy, .coop2-final-cta .closing-team-copy) > h2 {
	font-size: var(--amp-fs-h2-closing) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: 1.05 !important;
	letter-spacing: var(--amp-ls-heading) !important;
}

html body:not(#amp-ds) :where(.lead-qualifier-panel > h2, .quick-contact-title, .calc-step > h2, .calc-result-content > h2, .closing-section > div > h2) {
	font-weight: var(--amp-fw-heading) !important;
}

/* ---------- 7. H3 — trzy stopnie ---------- */
/* średni 28 */
html body:not(#amp-ds) :where(
	.transfer-state > h3,
	main section a > h3,
	.contact-calendar-card > h3,
	.byq-scope-card > .card-title,
	.byq-flow-step > h3,
	.coop2-timeline h3
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-h3-md) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: var(--amp-lh-subheading) !important;
	letter-spacing: var(--amp-ls-subheading) !important;
}

/* mały 24 */
html body:not(#amp-ds) :where(
	article.card > .card-title,
	a.card > .card-title,
	.transfer-steps article > h3,
	.start-section article > h3,
	.roles-perspective-panel h3,
	.coop2-contact-way article > h3,
	.contact-next article > h3,
	.knowledge-editorial a:not(.article-featured) > h3
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-h3-sm) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: 1.18 !important;
	letter-spacing: -.02em !important;
}

/* duży 42 */
html body:not(#amp-ds) :where(
	.human-app-copy > h3,
	.coop2-role-card > h3,
	.coop2-path-copy > h3,
	.contact-form-card > h3,
	.article-featured > h3
) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-h3-lg) !important;
	font-weight: var(--amp-fw-heading) !important;
	line-height: 1.08 !important;
	letter-spacing: -.035em !important;
}

/* Blog / artykuł: te same wagi */
html body:not(#amp-ds) :where(.amp-blog-card h2, .amp-article-body h2, .article-faq > h2, .amp-service-cta > h2, .amp-author h2, .amp-article-hero h1) {
	font-weight: var(--amp-fw-heading) !important;
}

/* ---------- 8. Eyebrow z kreską — 14 / 800 ---------- */
html body:not(#amp-ds) :where(main .eyebrow, main .contact-eyebrow):where(:not(.contact-hero-copy > .contact-eyebrow)) {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-eyebrow) !important;
	font-weight: var(--amp-fw-label) !important;
	line-height: 1.35 !important;
	letter-spacing: var(--amp-ls-label) !important;
	text-transform: uppercase !important;
}

html body:not(#amp-ds) :where(main .eyebrow, main .contact-eyebrow):where(:not(.contact-hero-copy > .contact-eyebrow))::before {
	content: "" !important;
	display: block !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 1px !important;
	background: currentColor !important;
	opacity: 1 !important;
}

/* ---------- 9. Etykieta w okienku na zdjęciu (np. „ROBIMY ZA CIEBIE”) ---------- */
html body:not(#amp-ds) :where(.visual-overlay > span) {
	font-size: var(--amp-fs-micro) !important;
	font-weight: var(--amp-fw-label) !important;
	line-height: 1.4 !important;
	letter-spacing: var(--amp-ls-label) !important;
	text-transform: uppercase !important;
}

/* ---------- 10. Tekst z boku nagłówka sekcji — 17 ---------- */
html body:not(#amp-ds) :where(
	.section-heading.split-heading > p,
	.section-shell > .section-lead,
	.section-shell > .section-intro,
	.human-app-heading > p,
	.service-problem-heading > p,
	.coop2-heading > p,
	.contact-decision-head > p,
	.contact-next-head > p,
	.contact-faq-copy > h2 + p,
	.byq-section-head > p,
	.faq-heading > p:not(.eyebrow),
	.team-focus-copy > p:not(.eyebrow),
	.outcomes-editorial-copy > p:not(.eyebrow)
):where(:not(#calculator-title ~ .section-lead)) {
	font-family: var(--amp-font-sans) !important;
	font-size: var(--amp-fs-side) !important;
	font-weight: 400 !important;
	line-height: var(--amp-lh-text) !important;
	letter-spacing: 0 !important;
}

/* Tekst w wynikach „W AMP …” wyrównany do bazowych 16 px */
html body:not(#amp-ds) :where(.problem-focus-result-inner > p) {
	font-size: var(--amp-fs-body) !important;
	line-height: 1.55 !important;
}

/* ---------- 11. Podpisy na zdjęciach — 14 ---------- */
html body:not(#amp-ds) :where(
	.human-app-person figcaption > span,
	.coop2-app-person figcaption > span,
	.team-card figcaption > span,
	.roles-switch-photo figcaption span,
	.team-focus-profile figcaption small
) {
	font-size: var(--amp-fs-caption) !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* ---------- 12. Opinie klientów — jeden styl cytatu ---------- */
html body:not(#amp-ds) :where(.proof-review-card > p, .service-context-review blockquote > p) {
	font-family: var(--amp-font-serif) !important;
	font-size: var(--amp-fs-quote) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: -.01em !important;
}

/* ---------- 13. Listy korzyści „Aplikacja + księgowa” ----------
   Edytor wizualny ACF gubi znacznik <p> w punkcie listy, przez co tekst tracił
   pogrubienie. Styl jest teraz na samym <li>, więc wygląd nie zależy od edycji. */
html body:not(#amp-ds) :where(.human-app-benefits > li) {
	color: var(--theme-text, #123f43);
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

html body:not(#amp-ds) :where(.human-app-benefits > li > p) {
	margin: 4px 0 0;
	font: inherit !important;
}

html body:not(#amp-ds) :where(.human-app-benefits > li > span) {
	font-size: 14px !important;
}

/* ---------- 14. Opinie: długie cytaty zwinięte do 7 linii (site.js dodaje przycisk) ---------- */
.proof-review-card > p.is-clamped {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	line-clamp: 7;
	overflow: hidden;
}

.proof-review-toggle {
	align-self: flex-start;
	margin: -16px 0 24px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--theme-text, #123f43);
	font-family: var(--amp-font-sans);
	font-size: 14px !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: .2em;
	cursor: pointer;
}

.proof-review-toggle:hover,
.proof-review-toggle:focus-visible {
	color: var(--theme-accent-deep, #0d272a);
}

/* ---------- 15. Przyciski — jedna waga i rozmiar tekstu (QA 2026-09-26) ----------
   Kształty (pigułka w hero / zaokrąglony prostokąt w sekcjach zamykających)
   zostają bez zmian; ujednolicamy tylko typografię przycisków. */
html body:not(#amp-ds) :where(
	.button-primary,
	.button-secondary,
	.start-cta,
	.problem-section-cta > a,
	.human-app-contact,
	.closing-team-primary,
	.amp-primary,
	.contact-primary,
	.contact-submit,
	.faq-contact,
	.header-cta
) {
	font-family: var(--amp-font-sans) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
}

/* ---------- 16. Opinie bez znacznika <p> (edytor usuwa opakowanie cytatu) ---------- */
html body:not(#amp-ds) :where(.proof-review-card:not(:has(> p))) {
	font-family: var(--amp-font-serif) !important;
	font-size: var(--amp-fs-quote) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: -.01em !important;
}

html body:not(#amp-ds) :where(.proof-review-card:not(:has(> p)) > .stars) {
	margin-bottom: 28px !important;
	font-family: var(--amp-font-sans) !important;
	font-size: 14px !important;
	font-style: normal !important;
	letter-spacing: .08em !important;
}

html body:not(#amp-ds) :where(.proof-review-card:not(:has(> p)) > footer) {
	margin-top: 32px !important;
	font-family: var(--amp-font-sans) !important;
	font-size: 14px !important;
	font-style: normal !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
}

/* ---------- 17. FAQ — pytania zawsze w jednym stylu (z <strong> i bez) ---------- */
html body:not(#amp-ds) :where(.faq-list summary, .faq-section summary, .contact-faq summary) {
	font-family: var(--amp-font-sans) !important;
	font-size: clamp(20px, 1.9vw, 28px) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: -.03em !important;
}

html body:not(#amp-ds) :where(.faq-list summary > strong, .faq-section summary > strong, .contact-faq summary > strong) {
	font: inherit !important;
	letter-spacing: inherit !important;
}

/* ---------- 18. Logo tymczasowe: AMP. | KSIĘGOWOŚĆ SPÓŁEK ---------- */
html body:not(#amp-ds) :where(.brand) {
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
}

html body:not(#amp-ds) :where(.brand .brand-name) {
	display: block !important;
	padding: 2px 0 2px 14px !important;
	border-left: 2px solid #cfdcd9 !important;
	color: #3f5d5f !important;
	font-family: var(--amp-font-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase !important;
	white-space: nowrap;
}

html body:not(#amp-ds) :where(.brand .brand-mark)::after {
	color: var(--theme-highlight, #e7c66a) !important;
}

html body:not(#amp-ds) :where(.footer-logo) {
	margin-bottom: 14px;
}

/* ---------- 19. Baza wiedzy na głównej: wyróżniony wpis + 3 kafelki, bez pustego miejsca ---------- */
@media (min-width: 861px) {
	html body:not(#amp-ds) :where(.knowledge-editorial .articles-grid) {
		grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
	}

	html body:not(#amp-ds) :where(.knowledge-editorial .article-featured) {
		grid-row: 1 / span 3 !important;
	}
}



/* 20. Kadrowanie nowych zdjęć zespołu (2026-09-29): pliki przycięte od góry w bibliotece mediów,
   a w hero podstron kadr zaczyna się od górnej krawędzi zdjęcia — twarz w górnej 1/3, bez „sufitu”. */
html body:not(#amp-ds) :where(.subpage-visual) img[src*="/wp-content/uploads/"] {
  object-position: 50% 0% !important;
}

/* Stare reguły object-view-box (inset 12–18%) były pisane pod poprzednie zdjęcia i dopasowują się po nazwie
   także do nowych plików — przy już przyciętych zdjęciach ucinały głowy. Dla nowych plików z biblioteki: bez dodatkowego kadru. */
html body:not(#amp-ds) :where(.hero-visual, .subpage-visual, .team-focus-profile, .human-app-person, .team-image-wrap, .coop2-path figure, .coop2-app-person, .contact-portrait) img[src*="/wp-content/uploads/"][src*="/amp-"] {
  object-view-box: none !important;
}
/* Awatary (kółka): kwadrat wokół twarzy — w nowych plikach twarz leży ok. 28% wysokości. */
html body:not(#amp-ds) :where(.avatar-stack, .team-focus-tabs, .problem-focus-person, .closing-team-avatars, .coop2-avatars, .calc-result-person) img[src*="/wp-content/uploads/"][src*="/amp-"] {
  object-view-box: inset(5% 22% 47%) !important;
  object-position: 50% 50% !important;
}

/* Hero podstron: portrety zespołu startują tuż nad głową (ok. 8% zapasu) — bez „sufitu”. Zdjęcia grupowe hero (księgowość, KSeF) bez zmian. */
html body:not(#amp-ds) :where(.subpage-visual) img[src*="/wp-content/uploads/"][src*="/amp-"]:not([src*="amp-hero-"]) {
  object-view-box: inset(8% 0 0) !important;
  object-position: 50% 0% !important;
}
html body:not(#amp-ds) :where(.subpage-visual) img[src*="/amp-paulina-tyliba"] {
  object-view-box: inset(12% 0 0) !important;
}
/* Strona główna, sekcja zespołu: ten sam zapas nad głową (~12%) dla każdej osoby. */
html body:not(#amp-ds) .team-focus-profile img[src*="/amp-anna-piatek-e"] { object-position: 50% 4% !important; }
html body:not(#amp-ds) .team-focus-profile img[src*="/amp-patrycja-malska"] { object-position: 50% 15% !important; }
html body:not(#amp-ds) .team-focus-profile img[src*="/amp-katarzyna-brzeska"] { object-position: 50% 18% !important; }
html body:not(#amp-ds) .team-focus-profile img[src*="/amp-paulina-tyliba"] { object-position: 50% 20% !important; }

/* ---------- 21. KSeF: przycisk „Zobacz pozostałe 12 pytań” to przycisk, nie pytanie FAQ ----------
   Reguła 17 (pytania FAQ 20–28px) łapała też to <summary>. Wraca styl przycisku drugorzędnego. */
html body:not(#amp-ds) .ksef-faq-more > summary {
	font-family: var(--amp-font-sans) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
}
html body:not(#amp-ds) .ksef-faq-more > summary b { font-size: 16px !important; font-weight: 800 !important; }

/* ---------- 22. Stopka: copyright czytelny na jasnym tle, mniejsze logo Cohubo ---------- */
html body:not(#amp-ds) .footer-bottom > span:not([class]) {
	color: var(--theme-text-soft, #3f5d5f) !important;
}
html body:not(#amp-ds) .footer-credit__logo {
	width: 62px !important;
	height: 14px !important;
	margin-left: 2px;
	background-color: var(--theme-text-soft, #3f5d5f) !important;
}
html body:not(#amp-ds) .footer-credit:hover .footer-credit__logo { background-color: var(--theme-accent, #b49032) !important; }

/* October 2026: readable labels and stable team layout. */
html body:not(#amp-ds) :is(.team-focus-tabs strong,.team-focus-tabs small) {white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:14px!important;line-height:1.45!important;}
html body:not(#amp-ds) .team-focus-tabs button {min-height:74px;grid-template-columns:40px minmax(0,1fr);}
html body:not(#amp-ds) .team-focus-tabs .team-focus-cta {margin:0;min-height:74px;width:100%;justify-content:space-between;gap:12px;padding:12px;font-size:15px!important;line-height:1.4;}
html body:not(#amp-ds) .team-focus-cta span {flex:0 0 28px;}
html body:not(#amp-ds) .roles-switch-photo figcaption {max-width:calc(100% - 44px);}
html body:not(#amp-ds) .roles-switch-photo figcaption :is(strong,span) {font-family:var(--amp-font-sans);font-weight:400;line-height:1.5!important;letter-spacing:0!important;text-shadow:none!important;white-space:normal;}
html body:not(#amp-ds) .roles-switch-photo figcaption strong {font-size:16px!important;font-weight:700;color:var(--theme-text)!important;}
html body:not(#amp-ds) .roles-switch-photo figcaption span {font-size:14px!important;color:var(--theme-text-soft)!important;}
html body:not(#amp-ds) :is(.page-breadcrumb,.page-breadcrumb li,.page-breadcrumb a,.hero-kicker,.contact-eyebrow,.path-card small,.hero-metric-card small,.visual-overlay li,.contact-assurance li,.contact-portrait figcaption p) {font-size:14px!important;line-height:1.5!important;}
html body:not(#amp-ds) .articles-grid a p {font-size:16px!important;line-height:1.55!important;}
html body:not(#amp-ds) .service-info-fit-grid .card::before {content:none!important;display:none!important;}
html body:not(#amp-ds) .service-info-fit-grid .card {padding-top:28px!important;}

.team-tablist {display:contents;}

/* Mobile QA — 2026-10-05: preserve approved desktop layout. */
@media (max-width:720px) {
 html body:not(#amp-ds) .trust-band {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 html body:not(#amp-ds) .trust-band > div {min-width:0!important;max-width:100%;}
 html body:not(#amp-ds) .trust-intro p {width:auto!important;max-width:100%!important;}
 html body:not(#amp-ds) .trust-stat strong {white-space:normal!important;overflow-wrap:normal;font-size:clamp(24px,6vw,30px)!important;line-height:1.2!important;}
 html body:not(#amp-ds) .mobile-menu-cta {font-size:16px!important;line-height:1.5!important;}
 html body:not(#amp-ds) .site-footer a {display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;}
}

/* Client corrections, 6 October 2026. */
html body main :is(h1,h2,h3,.start-step-title) {hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;}
html body .proof-review-card .amp-review-text {font-size:16px!important;line-height:1.65!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-bottom:12px;}
html body .proof-review-card .amp-review-text.is-expanded {display:block;-webkit-line-clamp:unset;overflow:visible;}
html body .amp-review-toggle {font:700 15px/1.5 var(--amp-font-sans,Manrope,sans-serif);color:inherit;min-height:44px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:8px 0;cursor:pointer;align-self:flex-start;}
html body .amp-review-toggle:focus-visible {outline:3px solid #ddb859;outline-offset:4px;}
html body .proof-review-card footer {margin-top:20px;}
html body main :is(figcaption small,figcaption span,.problem-focus-person small) {font-size:14px!important;line-height:1.5!important;}

html body:not(#amp-ds) .proof-editorial .proof-review-card p.amp-review-text {font-size:18px!important;line-height:1.6!important;}
html body:not(#amp-ds) .proof-editorial .proof-review-grid {align-items:start;}

/* Transfer reviews: preserve approved card layout and readable full text. */
html body .proof-review-card .amp-transfer-review-text { white-space:pre-line; }
html body .amp-transfer-review-toggle[hidden] { display:none!important; }
html body .proof-review-card:has(.amp-transfer-review-text) { min-width:0; }
html body .proof-review-card:has(.amp-transfer-review-text) footer :is(strong,small) { font-size:14px!important;line-height:1.5!important; }
html body .proof-review-card:has(.amp-transfer-review-text) footer { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
