/* ========== COMPONENTS — ATZ-Diament ========== */

/* ===== Buttons ===== */
.atz-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	border: 1px solid var(--ink);
	background: transparent;
	color: inherit;
	border-radius: 0;
	transition: transform .15s var(--ease), background .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
}
.atz-btn:hover, .atz-btn:focus-visible {
	transform: translate(-1px, -1px);
	box-shadow: 2px 2px 0 0 var(--ink);
}
.atz-btn--primary {
	background: var(--accent);
	color: var(--accent-ink);
	border-color: var(--accent);
}
.atz-btn--ghost {
	background: transparent;
}
.atz-btn--dark {
	background: var(--ink);
	color: var(--bg);
}

/* WP core button override (atz-btn class added via theme.json or pattern) */
.wp-block-button__link {
	border-radius: 0 !important;
}

/* ===== Chip ===== */
.atz-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
	color: var(--ink);
}

/* ===== Section label "[001] / Title ─────" ===== */
.atz-section-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--ink-2);
	margin: 0;
}
.atz-section-label__num { color: var(--accent); }
.atz-section-label__rule { flex: 1; height: 1px; background: var(--hair-strong); margin-left: 4px; }

/* ===== Stat ===== */
.atz-stat { border-top: 1px solid var(--hair-strong); padding-top: 12px; }
.atz-stat__value {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(36px, 7vw, 56px);
	line-height: 1;
	letter-spacing: -0.015em;
}
.atz-stat__unit { font-size: 0.5em; color: var(--ink-2); margin-left: 4px; }
.atz-stat__label {
	font-family: var(--font-mono);
	font-size: 10px;
	color: var(--ink-2);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-top: 6px;
}

/* ===== Hide scrollbars ===== */
.atz-hide-scroll::-webkit-scrollbar { display: none; }
.atz-hide-scroll { scrollbar-width: none; }

/* ===== Corner ticks (frame accent) ===== */
.atz-corner-ticks { position: relative; }
.atz-corner-ticks::before,
.atz-corner-ticks::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border-color: var(--ink);
}
.atz-corner-ticks::before { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.atz-corner-ticks::after  { bottom: 0; right: 0; border-bottom: 1px solid; border-right: 1px solid; }

/* ===== Header ===== */
.atz-header {
	position: sticky;
	top: 0;
	z-index: 30;
	background: var(--bg);
	border-bottom: 1px solid var(--hair);
}
.atz-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 16px;
}
.atz-header__nav {
	display: none;
	gap: 2px;
}
.atz-header__nav a {
	padding: 8px 14px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink);
	border-bottom: 1px solid transparent;
}
.atz-header__nav a:hover,
.atz-header__nav a[aria-current="page"] {
	color: var(--accent);
	border-bottom-color: var(--accent);
}
.atz-header__cta { display: none; }
.atz-header__hamburger {
	padding: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.atz-header__meta {
	border-top: 1px solid var(--hair);
	background: var(--bg-inset);
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-2);
	padding: 6px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	white-space: nowrap;
}
.atz-status-dot {
	width: 6px; height: 6px;
	background: #22C55E;
	border-radius: 50%;
	box-shadow: 0 0 0 3px color-mix(in oklab, #22C55E 30%, transparent);
	display: inline-block;
	margin-right: 6px;
	vertical-align: middle;
}

@media (min-width: 1024px) {
	.atz-header__bar { padding: 18px 40px; }
	.atz-header__nav { display: flex; }
	.atz-header__cta { display: inline-flex; }
	.atz-header__hamburger { display: none; }
}

/* ===== Logo ===== */
.atz-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	color: inherit;
}
.atz-logo__mark { width: 40px; height: 40px; flex-shrink: 0; display: block; }
.atz-logo__type {
	display: flex;
	flex-direction: column;
	line-height: 1;
}
.atz-logo__name {
	display: block;
	font-family: var(--font-display);
	font-size: 20px;
	letter-spacing: -0.01em;
	font-weight: 600;
	line-height: 1;
}
.atz-logo__tag {
	display: block;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--ink-2);
	margin-top: 4px;
	line-height: 1;
}

/* ===== Mobile menu (full-screen overlay) ===== */
.atz-mobile-menu {
	position: fixed;
	inset: 0;
	background: var(--bg);
	z-index: 50;
	display: none;
	flex-direction: column;
}
.atz-mobile-menu[data-open="true"] { display: flex; }
.atz-mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid var(--hair);
}
.atz-mobile-menu__nav { flex: 1; padding: 8px 0; overflow-y: auto; }
.atz-mobile-menu__nav a {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 20px;
	border-bottom: 1px solid var(--hair);
	color: var(--ink);
	gap: 14px;
	opacity: 0;
	transform: translateY(8px);
	animation: atz-stagger .35s var(--ease) forwards;
}
.atz-mobile-menu[data-open="true"] .atz-mobile-menu__nav a {
	animation-delay: calc(var(--i, 0) * 40ms + 80ms);
}
.atz-mobile-menu__nav a:hover { color: var(--accent); }
.atz-mobile-menu__num {
	font-family: var(--font-mono);
	font-size: 10px;
	color: var(--ink-3);
	letter-spacing: 0.1em;
	margin-right: 14px;
}
.atz-mobile-menu__label {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.01em;
}
.atz-mobile-menu__foot { padding: 16px; border-top: 1px solid var(--hair); }

@keyframes atz-stagger {
	to { opacity: 1; transform: translateY(0); }
}

/* ===== Sticky call (mobile) ===== */
.atz-sticky-call {
	position: fixed;
	right: 14px;
	bottom: 14px;
	z-index: 40;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--accent-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow:
		0 8px 24px -4px var(--accent-glow),
		0 0 0 3px var(--bg),
		0 0 0 4px var(--ink);
}
@media (min-width: 1024px) {
	.atz-sticky-call { display: none; }
}

/* ===== Footer ===== */
.atz-footer {
	background: var(--ink);
	color: var(--bg);
	padding: 32px 16px 24px;
}
.atz-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255,255,255,.15);
}
.atz-footer__col-title {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--concrete-300);
	margin: 0 0 14px;
}
.atz-footer__col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 13px;
}
.atz-footer__col a { color: var(--concrete-300); }
.atz-footer__col a:hover { color: var(--bg); }
.atz-footer__lead {
	font-family: var(--font-body);
	color: var(--concrete-300);
	font-size: 13px;
	line-height: 1.6;
	margin-top: 14px;
	max-width: 320px;
}
.atz-footer .atz-logo__name { color: var(--bg); }
.atz-footer .atz-logo__tag { color: var(--concrete-300); }
.atz-footer__bottom {
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--concrete-400);
}
.atz-footer__bottom a { color: inherit; }
.atz-footer__bottom a:hover { color: var(--bg); }
.atz-footer__legal { display: flex; gap: 16px; flex-wrap: wrap; }

@media (min-width: 1024px) {
	.atz-footer { padding: 56px 40px 32px; }
	.atz-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
	.atz-footer__bottom { flex-direction: row; align-items: center; justify-content: space-between; }
}

/* ===== Theme toggle (footer) ===== */
.atz-theme-toggle {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	display: inline-flex;
	gap: 6px;
	border: 1px solid rgba(255,255,255,.2);
	color: var(--concrete-300);
}
.atz-theme-toggle button {
	padding: 6px 10px;
	color: inherit;
	background: transparent;
	cursor: pointer;
}
.atz-theme-toggle button[aria-pressed="true"] {
	background: var(--bg);
	color: var(--ink);
}

/* ===== Form fields (reusable, used by CF7 / WPForms / native) ===== */
.atz-form { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--hair-strong); background: var(--bg-elev); }
.atz-form__head {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-2);
	margin-bottom: 4px;
}
.atz-form__head .atz-form__id { color: var(--accent); }
.atz-form label, .atz-form .atz-label {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-2);
	display: block;
	margin-bottom: 6px;
}
.atz-form input[type="text"],
.atz-form input[type="tel"],
.atz-form input[type="email"],
.atz-form select,
.atz-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--hair-strong);
	background: var(--bg);
	border-radius: 0;
	font-size: 14px;
	font-family: var(--font-body);
	color: var(--ink);
}
.atz-form input:focus,
.atz-form select:focus,
.atz-form textarea:focus {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}
.atz-form textarea { min-height: 80px; resize: vertical; }
.atz-form .atz-rodo {
	display: flex; gap: 10px; font-size: 11px; color: var(--ink-2); line-height: 1.4; cursor: pointer;
}
.atz-form .atz-rodo input { accent-color: var(--accent); margin-top: 2px; }

/* Honeypot — visually hidden but not display:none (so bots that read DOM see it). */
.atz-form .atz-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
}

/* Status message under submit button */
.atz-form__status {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	min-height: 1.4em;
	margin: 0;
}
.atz-form__status[data-kind="ok"]    { color: #22C55E; }
.atz-form__status[data-kind="error"] { color: #E63946; }

/* Disable submit while busy */
.atz-form[data-busy="true"] button[type="submit"] { opacity: 0.6; cursor: wait; }

/* ===== Generic "frame" border container ===== */
.atz-frame {
	border: 1px solid var(--hair-strong);
	background: var(--bg-elev);
}
.atz-frame--inset { background: var(--bg-inset); }

/* ---------------------------------------------------------------------
   CookieYes (cookie-law-info) — brand override pod ATZ-Diament.
   Light surface, blue accent (#2062C7), industrial concrete tones.
   --------------------------------------------------------------------- */

@media (min-width: 768px) {
    .cky-consent-container.cky-box-bottom-left,
    .cky-consent-container.cky-box-bottom-right {
        left: auto !important;
        right: 16px !important;
        bottom: 16px !important;
        max-width: 460px !important;
    }
}

.cky-consent-bar {
    background-color: #FFFFFF !important;
    border: 1px solid #D9D6CF !important;
    border-radius: 4px !important;
    box-shadow: 0 24px 60px rgba(11, 11, 14, .15), 0 4px 12px rgba(11, 11, 14, .08) !important;
    color: #0B0B0E !important;
}

.cky-title { color: #0B0B0E !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
.cky-notice-des,
.cky-notice-des * { color: #3D3B36 !important; }
.cky-notice-des a {
    color: #2062C7 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.cky-consent-bar .cky-notice-btn-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    margin-top: 16px !important;
    align-items: stretch !important;
}

.cky-consent-bar .cky-btn {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 4px !important;
    padding: 12px 20px !important;
    font-weight: 600 !important;
    font-size: .9375rem !important;
    line-height: 1.2 !important;
    border-width: 1px !important;
    border-style: solid !important;
    transition: opacity .2s ease !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.cky-consent-bar .cky-btn:hover { opacity: .9 !important; }

/* Accept — primary CTA (ATZ blue), na górze */
.cky-consent-bar .cky-btn-accept {
    order: 1 !important;
    background-color: #2062C7 !important;
    color: #FFFFFF !important;
    border-color: #2062C7 !important;
}

/* Reject — outlined, dark text */
.cky-consent-bar .cky-btn-reject {
    order: 2 !important;
    background-color: transparent !important;
    color: #0B0B0E !important;
    border-color: #3D3B36 !important;
}

/* Customize — outlined subtle */
.cky-consent-bar .cky-btn-customize {
    order: 3 !important;
    background-color: transparent !important;
    color: #5C5951 !important;
    border-color: #D9D6CF !important;
}

/* Preference center modal */
.cky-modal,
.cky-preference-center {
    background-color: #FFFFFF !important;
    border: 1px solid #D9D6CF !important;
    border-radius: 4px !important;
    color: #0B0B0E !important;
}
.cky-preference-title-wrapper,
.cky-preference-header {
    background-color: #FFFFFF !important;
    border-color: #D9D6CF !important;
}
.cky-preference-title { color: #0B0B0E !important; font-weight: 700 !important; }
.cky-preference-content-wrapper { color: #3D3B36 !important; }

/* Accordion (categories) */
.cky-accordion {
    border-color: #ECEAE6 !important;
    background: transparent !important;
}
.cky-accordion-header { background: transparent !important; }
.cky-accordion-header h4,
.cky-accordion-cat-title { color: #0B0B0E !important; font-weight: 600 !important; }
.cky-accordion-header-des,
.cky-accordion-body { color: #5C5951 !important; }
.cky-accordion-chevron path { stroke: #5C5951 !important; }

/* Toggle switches */
.cky-switch input + .cky-switch-slider {
    background-color: #D9D6CF !important;
    border: 1px solid #B5B0A6 !important;
}
.cky-switch input:checked + .cky-switch-slider {
    background-color: #2062C7 !important;
    border-color: #2062C7 !important;
}

.cky-always-active {
    color: #87827A !important;
    font-size: .6875rem !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    font-weight: 600 !important;
}

/* Floating "Zarządzaj zgodami" revisit button — accent blue bg, biała ikona */
.cky-btn-revisit-wrapper {
    background: #2062C7 !important;
    border: 1px solid #2062C7 !important;
    box-shadow: 0 4px 12px rgba(11, 11, 14, .2) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
.cky-btn-revisit-wrapper:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(11, 11, 14, .25) !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
    filter: brightness(0) invert(1) !important;  /* wymuś białą ikonę niezależnie od źródła */
}
/* Tooltip „Zarządzaj zgodami" */
.cky-revisit-bottom-left:hover::before,
.cky-revisit-bottom-right:hover::before {
    background: #0B0B0E !important;
    color: #FFFFFF !important;
}
.cky-revisit-bottom-left:hover::after { border-right-color: #0B0B0E !important; }
.cky-revisit-bottom-right:hover::after { border-left-color: #0B0B0E !important; }

@media (max-width: 767px) {
    .cky-consent-bar { border-radius: 4px !important; }
}
