/**
 * Public-site accessibility and responsive refinements.
 *
 * All rules are scoped to the body class added by the child theme so they do
 * not leak into WordPress administration or Elementor's own interface.
 */

.kerbet-site {
	--kerbet-color-graphite: #11151a;
	--kerbet-color-header: #1c2226;
	--kerbet-color-panel: #252c30;
	--kerbet-color-canvas: #f6f4ee;
	--kerbet-color-paper: #fffdf4;
	--kerbet-color-ink: #202629;
	--kerbet-color-muted: #5f6872;
	--kerbet-color-gold: #d6b44a;
	--kerbet-color-gold-ink: #806400;
	--kerbet-color-signal: #fefe00;
	--kerbet-color-border: #d8d2c6;
	--kerbet-color-border-dark: #38414c;
}

.kerbet-site .site-content {
	--kerbet-content-canvas: #f4f3ef;
	--kerbet-content-paper: #ffffff;
	--kerbet-content-ink: #202629;
	--kerbet-content-muted: #626a70;
	--kerbet-content-border: #dedbd3;
	--kerbet-content-accent: #c5a438;
	--ast-global-color-0: var(--kerbet-content-accent);
	--ast-global-color-1: var(--kerbet-content-accent);
	--ast-global-color-2: var(--kerbet-content-ink);
	--ast-global-color-3: var(--kerbet-content-muted);
	--ast-global-color-4: var(--kerbet-content-canvas);
	--ast-global-color-5: var(--kerbet-content-paper);
	--ast-global-color-6: var(--kerbet-content-border);
	--ast-global-color-7: var(--kerbet-color-graphite);
	--ast-global-color-8: var(--kerbet-color-panel);
	--e-global-color-primary: var(--kerbet-content-accent);
	--e-global-color-secondary: var(--kerbet-content-ink);
	--e-global-color-text: var(--kerbet-content-muted);
	--e-global-color-accent: var(--kerbet-color-gold-ink);
	background-color: var(--kerbet-content-canvas);
	color: var(--kerbet-content-ink);
}

.kerbet-site #colophon,
.kerbet-site #colophon .site-primary-footer-wrap,
.kerbet-site #colophon .site-below-footer-wrap {
	border-color: var(--kerbet-color-border-dark);
	background-color: var(--kerbet-color-graphite);
	background-image: none;
	color: var(--kerbet-color-border);
}

.kerbet-site #colophon :where(h1, h2, h3, h4, h5, h6) {
	color: var(--kerbet-color-paper);
}

.kerbet-site #colophon a {
	color: var(--kerbet-color-gold);
}

.kerbet-site #colophon a:hover,
.kerbet-site #colophon a:focus-visible {
	color: var(--kerbet-color-signal);
}

/*
 * Keep the marketing pages calm and editorial: white content surfaces, a
 * neutral canvas and one restrained gold accent. Elementor remains the source
 * of the layout and content.
 */
body.kerbet-site .site-content .elementor-308 .elementor-element.elementor-element-545529b6,
body.kerbet-site .site-content .elementor-308 .elementor-element.elementor-element-7dada1df,
body.kerbet-site .site-content .elementor-308 .elementor-element.elementor-element-3b9380ea,
body.kerbet-site .site-content .elementor-310 .elementor-element.elementor-element-17d4af75,
body.kerbet-site .site-content .elementor-309 .elementor-element.elementor-element-4b61e207,
body.kerbet-site .site-content .elementor-13 .elementor-element.elementor-element-5a92d641,
body.kerbet-site .site-content .elementor-15 .elementor-element.elementor-element-3a4d48b9 {
	background-color: var(--kerbet-content-paper);
	background-image: none;
}

body.kerbet-site .site-content .elementor-309 .elementor-element.elementor-element-55ddba3d,
body.kerbet-site .site-content .elementor-309 .elementor-element.elementor-element-2369725f,
body.kerbet-site .site-content .elementor-310 .elementor-element.elementor-element-3e22ea2a {
	background-color: var(--kerbet-content-canvas);
	background-image: none;
}

/* Remove the empty final Elementor container that creates a gap above the footer on Oferta. */
body.page-id-310.kerbet-site .site-content .elementor-310 .elementor-element.elementor-element-310d357 {
	display: none;
}

/* Let the final Realizacje cards and Kontakt content meet the footer directly. */
body.page-id-309.kerbet-site .site-content .elementor-309 .elementor-element.elementor-element-2a2118d {
	--padding-bottom: 0px;
}

body.page-id-15.kerbet-site .site-content .elementor-15 .elementor-element.elementor-element-cde39a1 {
	--padding-bottom: var(--padding-top);
}

body.page-id-15.kerbet-site .site-content .elementor-15 .elementor-element.elementor-element-a6768f7,
body.page-id-15.kerbet-site .site-content .elementor-15 .elementor-element.elementor-element-08d8818 {
	display: none;
}

body.kerbet-site .site-content .elementor-button {
	border-color: var(--kerbet-content-accent);
	border-radius: 2px;
	background-color: var(--kerbet-content-accent);
	color: var(--kerbet-color-graphite);
	box-shadow: none;
}

body.kerbet-site .site-content .elementor-button:hover,
body.kerbet-site .site-content .elementor-button:focus-visible {
	border-color: var(--kerbet-content-ink);
	background-color: var(--kerbet-content-ink);
	color: var(--kerbet-content-paper);
}

body.kerbet-site .elementor-308 .elementor-element.elementor-element-7f9078c8 {
	border: 0;
	background-color: var(--kerbet-content-paper);
	box-shadow: none;
}

body.kerbet-site .elementor-308 .elementor-element.elementor-element-5203f192 {
	box-shadow: none;
}

body.kerbet-site .elementor-308 .elementor-element.elementor-element-735173db::before,
body.kerbet-site .elementor-308 .elementor-element.elementor-element-735173db > .elementor-background-overlay {
	background-color: var(--kerbet-content-paper);
	opacity: 0.92;
}

.kerbet-site .elementor-308 .elementor-element.elementor-element-3ea135f5 .elementor-heading-title {
	color: var(--kerbet-color-gold);
	-webkit-text-stroke-width: 0;
	text-stroke-width: 0;
}

.kerbet-site .elementor-308 .elementor-element.elementor-element-1ccf8e29 .elementor-button {
	border-color: var(--kerbet-color-gold);
	background-color: transparent;
	color: var(--kerbet-color-paper);
}

.kerbet-site .elementor-308 .elementor-element.elementor-element-1ccf8e29 .elementor-button:hover,
.kerbet-site .elementor-308 .elementor-element.elementor-element-1ccf8e29 .elementor-button:focus-visible {
	background-color: var(--kerbet-color-gold);
	color: var(--kerbet-color-graphite);
}

.kerbet-site .elementor-13 .elementor-element.elementor-element-31d0c38d.elementor-view-stacked .elementor-icon {
	background-color: var(--kerbet-color-gold);
	color: var(--kerbet-color-graphite);
}

body.kerbet-site .elementor-310 .elementor-element.elementor-element-7f0de754 {
	box-shadow: none;
}

.kerbet-site .elementor-308 .elementor-element.elementor-element-37ee72c7,
.kerbet-site .elementor-308 .elementor-element.elementor-element-727b871e,
.kerbet-site .elementor-308 .elementor-element.elementor-element-61dbe0f1,
.kerbet-site .elementor-308 .elementor-element.elementor-element-3c0fce27 {
	border-color: var(--kerbet-content-border);
	background-color: var(--kerbet-content-paper);
	box-shadow: none;
}

.kerbet-site .elementor-15 .elementor-element.elementor-element-1d81fa38 .elementor-divider-separator,
.kerbet-site .elementor-15 .elementor-element.elementor-element-67dcf182 .elementor-divider-separator {
	border-block-start-color: var(--kerbet-content-border);
}

.kerbet-site .elementor-308 .elementor-element.elementor-element-2f8d27b0 .elementor-heading-title,
.kerbet-site .elementor-308 .elementor-element.elementor-element-38b1334d .elementor-heading-title,
.kerbet-site .elementor-310 .elementor-element.elementor-element-6d1d3dae .elementor-heading-title,
.kerbet-site .elementor-13 .elementor-element.elementor-element-646a150b .elementor-heading-title,
.kerbet-site .elementor-15 .elementor-element.elementor-element-1d827ed1 .elementor-heading-title {
	color: var(--kerbet-color-gold-ink);
}

.kerbet-site .elementor-309 .elementor-element.elementor-element-a0cde89 .elementor-heading-title {
	color: var(--kerbet-color-gold);
}

.kerbet-site .elementor-13 .elementor-widget-icon-box .elementor-icon-box-wrapper {
	border-bottom: 1px solid var(--kerbet-content-border);
}

.kerbet-site :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--kerbet-color-graphite);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--kerbet-color-signal);
}

.kerbet-site :where(h1, h2, h3, .elementor-heading-title) {
	text-wrap: balance;
}

.kerbet-site :where(.elementor-button, button, input[type='button'], input[type='submit']) {
	min-height: 44px;
	touch-action: manipulation;
}

.kerbet-site :where(.elementor-widget-text-editor, .elementor-icon-list-text, address) {
	overflow-wrap: anywhere;
}

.kerbet-site :where([id]) {
	scroll-margin-top: 7rem;
}

@media (max-width: 1024px) {
	.kerbet-site :where(.menu-link, .elementor-button) {
		min-height: 44px;
	}

	.kerbet-site :where([id]) {
		scroll-margin-top: 5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kerbet-site,
	.kerbet-site *,
	.kerbet-site *::before,
	.kerbet-site *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	.kerbet-site :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
		outline: 3px solid CanvasText;
		box-shadow: none;
	}
}
