/**
 * Motyw Dehoust Polska — style bazowe.
 * Tokeny zgodne z 01_kod_statyczny (Astro).
 */

:root {
	--dehoust-color-primary: #096cb2;
	--dehoust-color-primary-dark: #2061ae; /* wariant z projektu — tło wyszukiwarki, licznik koszyka */
	--dehoust-color-primary-hover: #075186; /* przyciemniony primary — wyłącznie stan hover/focus CTA */
	--dehoust-color-accent: #77b82b;
	--dehoust-color-text: #252525;
	--dehoust-color-text-muted: #1d1d1d;
	--dehoust-color-muted: #707172;
	--dehoust-color-surface: #e6f5fc;
	--dehoust-color-sky: #4ec2f1;
	--dehoust-color-primary-light: #4895ef;
	--dehoust-color-line: #dfdfdf;
	--dehoust-color-border: #dfdfdf;
	--dehoust-radius-btn: 8px;
	--dehoust-color-dark: #1a1d1f;
	--dehoust-color-footer-muted: #707172;
	--dehoust-color-bg: #ffffff;
	--dehoust-container-max: 1370px;
	--dehoust-gutter: 1rem; /* 16 px — mobile (px-4) */
	--dehoust-gutter-xl: 2.5rem; /* 40 px — desktop xl:px-10 */
	--dehoust-container-outer: calc(var(--dehoust-container-max) + (var(--dehoust-gutter) * 2));
	--dehoust-container-outer-xl: calc(var(--dehoust-container-max) + (var(--dehoust-gutter-xl) * 2));
	--dehoust-font-heading: "Bai Jamjuree", system-ui, sans-serif;
	--dehoust-font-body: "Figtree", system-ui, sans-serif;
	--dehoust-font-footer: "Poppins", system-ui, sans-serif;
	--dehoust-transition: 0.3s ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Atrybut [hidden] musi wygrywać nad display:flex w komponentach (reset WP/Woo). */
[hidden] {
	display: none !important;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--dehoust-font-body);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--dehoust-color-text);
	background-color: var(--dehoust-color-bg);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--dehoust-color-primary);
	text-decoration: none;
	transition: color var(--dehoust-transition), opacity var(--dehoust-transition);
}

a:hover,
a:focus-visible {
	opacity: 0.85;
}

.dehoust-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.5rem 1rem;
	background: var(--dehoust-color-primary);
	color: #fff;
}

.dehoust-skip-link:focus {
	left: 0;
}

.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;
	width: 1px;
	word-wrap: normal !important;
}

.dehoust-container {
	box-sizing: border-box;
	width: min(100%, 1402px);
	max-width: 1402px;
	margin-inline: auto;
	padding-inline: var(--dehoust-gutter);
}

@media (min-width: 1280px) {
	.dehoust-container {
		width: min(100%, 1450px);
		max-width: 1450px;
		padding-inline: var(--dehoust-gutter-xl);
	}
}

/* Wspólny przycisk CTA (home, karta produktu, news) */
.dehoust-btn {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--dehoust-radius-btn);
	padding-inline: 1.25rem;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color var(--dehoust-transition), filter var(--dehoust-transition);
}

.dehoust-btn--primary {
	border: 0;
	background: var(--dehoust-color-primary);
	color: #fff;
}

.dehoust-btn--primary:hover,
.dehoust-btn--primary:focus-visible {
	background: var(--dehoust-color-primary-hover);
	opacity: 1;
}

.dehoust-btn--outline {
	border: 1px solid var(--dehoust-color-primary);
	background: #fff;
	color: var(--dehoust-color-primary);
}

.dehoust-btn--outline:hover,
.dehoust-btn--outline:focus-visible {
	background: var(--dehoust-color-surface);
	opacity: 1;
}

.dehoust-header,
.dehoust-header__inner {
	display: none;
}

.dehoust-main {
	min-height: 50vh;
}

.dehoust-entry__title,
.dehoust-page__title,
.dehoust-single__title,
.dehoust-archive__title,
.dehoust-404__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.2;
}

.dehoust-entry__content > :first-child,
.dehoust-page__content > :first-child,
.dehoust-single__content > :first-child {
	margin-top: 0;
}

/* Treść z edytora wizualnego (ACF WYSIWYG): kategorie, sekcja O nas */
.dehoust-rte > *:first-child {
	margin-top: 0;
}

.dehoust-rte p {
	margin: 0 0 0.5rem;
}

.dehoust-rte strong {
	font-weight: 700;
}

.dehoust-rte h2,
.dehoust-rte h3,
.dehoust-rte h4 {
	margin: 1rem 0 0.5rem;
	font-family: var(--dehoust-font-heading);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--dehoust-color-text-muted);
}

.dehoust-rte ul {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.dehoust-rte ul li {
	position: relative;
	padding-left: 1.625rem;
}

.dehoust-rte ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4375em;
	width: 10px;
	height: 10px;
	background: url("data:image/svg+xml,%3Csvg%20width='10'%20height='10'%20viewBox='0%200%2010%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle%20cx='5'%20cy='5'%20r='4.75'%20stroke='%234EC2F1'%20stroke-width='0.5'/%3E%3Ccircle%20cx='5'%20cy='5'%20r='2.5'%20fill='%234EC2F1'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

.dehoust-rte ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.dehoust-rte > *:last-child {
	margin-bottom: 0;
}

.dehoust-rte a {
	text-decoration: underline;
}

/* Lista plików do pobrania — karta produktu i sekcje kategorii */
.dehoust-files {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Bez zawijania — przycisk zostaje po prawej, a długa nazwa łamie się w swojej kolumnie. */
.dehoust-files__item {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 520px;
	border: 1px solid var(--dehoust-color-line);
	border-radius: var(--dehoust-radius-btn);
	background: #fff;
	padding: 12px 16px;
}

.dehoust-files__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.dehoust-files__label {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #323232;
}

.dehoust-files__size {
	font-size: 14px;
	font-weight: 400;
	color: #7d7d7d;
}

.dehoust-files__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	flex-shrink: 0;
	padding: 0 24px;
	border-radius: var(--dehoust-radius-btn);
	background: #323232;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	transition: filter 0.2s ease;
}

.dehoust-files__btn:hover {
	filter: brightness(1.2);
}

.dehoust-files__btn:focus-visible {
	outline: 2px solid var(--dehoust-color-primary);
	outline-offset: 2px;
}

.dehoust-files__empty {
	margin: 0;
	font-size: 1rem;
	color: var(--dehoust-color-text-muted);
}

/* Dokumentacja jako lista odnośników z ikoną PDF (sekcje kategorii) */
.dehoust-file-links {
	display: flex;
	flex-direction: column;
	gap: 1.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dehoust-file-links__link {
	display: inline-flex;
	align-items: center;
	gap: 1.125rem;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--dehoust-color-primary);
	text-decoration: none;
}

.dehoust-file-links__link:hover,
.dehoust-file-links__link:focus-visible {
	text-decoration: underline;
}

.dehoust-file-links__icon {
	flex-shrink: 0;
	width: auto; /* ikona jest wyższa niż szersza — szerokość liczona z proporcji */
	height: 2.125rem;
}

/* Warianty na kaflach produktów — jeden wiersz zamiast osobnego kafla na wariant.
   Reguła siedzi w main.css, bo kafle renderują się na stronie głównej, w wyszukiwarce,
   w kategoriach i w karuzeli powiązanych, a każde z tych miejsc ładuje inny arkusz. */
.dehoust-product-card__variants,
.dehoust-product-list-card__variants {
	line-height: 1.5;
	color: var(--dehoust-color-text-muted);
}

.dehoust-product-card__variants {
	margin: -0.5rem 0 0;
	font-size: 0.9375rem;
}

.dehoust-product-list-card__variants {
	margin: 14px 0 0;
	font-size: 1rem;
}

.dehoust-product-card__variants-label,
.dehoust-product-list-card__variants-label {
	font-weight: 700;
	color: var(--dehoust-color-primary);
}

/* Podgląd grafiki — natywny <dialog>, więc Esc i tło zamykające działają bez kodu.
   Reguła w main.css, bo podgląd otwierają też galerie sekcji ofertowych i kategorii. */
.dehoust-lightbox {
	max-width: min(92vw, 75rem);
	max-height: 92vh;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-out;
	overflow: hidden;
}

.dehoust-lightbox::backdrop {
	background: rgb(0 0 0 / 82%);
}

.dehoust-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: 92vh;
	width: auto;
	height: auto;
	border-radius: 0.5rem;
	background: #fff;
}

/* Pole wyboru zgody — wspólne dla formularza kontaktowego i modalu „Zapytaj o produkt”.
   Natywny checkbox przy tych polach wygląda jak wklejony z innego formularza. */
.dehoust-checkbox {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.125rem 0 0;
	border: 0.8px solid var(--dehoust-color-primary);
	border-radius: 0.25rem;
	background: #fff;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	display: inline-grid;
	place-content: center;
}

.dehoust-checkbox::before {
	content: "";
	width: 0.625rem;
	height: 0.625rem;
	transform: scale(0);
	transition: transform 0.15s ease;
	box-shadow: inset 1rem 1rem var(--dehoust-color-primary);
	clip-path: polygon(14% 44%, 0 65%, 43% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.dehoust-checkbox:checked::before {
	transform: scale(1);
}

.dehoust-checkbox:focus-visible {
	outline: 2px solid var(--dehoust-color-primary);
	outline-offset: 2px;
}

/* Widget Turnstile — z `interaction-only` pokazuje się tylko, gdy Cloudflare uzna
   ruch za podejrzany, więc zwykle nie zajmuje miejsca w formularzu. */
.dehoust-turnstile:not(:empty) {
	margin: 0.5rem 0;
}
