/* Klimaporta – base styles not expressible in theme.json */
:root { --kp-sh-2: var(--wp--preset--shadow--sh-2); }

body { -webkit-font-smoothing: antialiased; }

.wp-block-button.is-style-ghost .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	border: 1px solid #d9dde3;
	box-shadow: none;
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); }

.wp-block-button.is-style-dark .wp-block-button__link { background: var(--wp--preset--color--ink); box-shadow: none; }
.wp-block-button.is-style-dark .wp-block-button__link:hover { background: #000; }

.wp-block-button.is-style-white .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--red); box-shadow: none; }

.kp-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font: 600 13px/1 var(--wp--preset--font-family--inter);
	letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--red);
}
.kp-eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- topbar ---------- */
.kp-topbar { font-size: 13px; color: #c9ced6; }
.kp-topbar__inner { min-height: 40px; gap: 26px; }
.kp-topbar p { margin: 0; }
.kp-topbar__msg { display: inline-flex; align-items: center; gap: 8px; }
.kp-topbar__phone { margin-left: auto !important; }
.kp-topbar a, .kp-topbar__phone a { color: #fff; font-weight: 600; }
.kp-dot { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74, 222, 128, .2); }
@media (max-width: 900px) { .kp-hide-mobile { display: none; } }

/* Topbar, header, main and footer are flush (no root block gap between the template parts). */
.wp-site-blocks > * { margin-block-start: 0; }

/* ---------- sticky header ---------- */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	background: rgba(255, 255, 255, .86);
	backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid var(--wp--preset--color--line);
	transition: box-shadow .2s;
}
header.wp-block-template-part.is-scrolled { box-shadow: 0 8px 24px -16px rgba(16, 24, 40, .25); }
.kp-header__inner { min-height: var(--wp--custom--header--height); gap: 28px; transition: min-height .25s; }
header.is-scrolled .kp-header__inner { min-height: var(--wp--custom--header--height-scrolled); }

/* Logo: never let flexbox squash it (mockup review bug). */
.kp-logo { flex: none; }
.kp-logo img { height: 52px !important; width: auto !important; max-width: none; transition: height .25s; }
header.is-scrolled .kp-logo img { height: 40px !important; }
@media (max-width: 560px) { .kp-logo img { height: 40px !important; } }

.kp-nav { margin-left: auto; }
.kp-nav .wp-block-navigation-item__content { padding: 9px 13px; border-radius: var(--wp--custom--radius--pill); font-size: 15px; font-weight: 500; color: var(--wp--preset--color--gray); white-space: nowrap; }
.kp-nav .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--soft); color: var(--wp--preset--color--ink); }
.kp-nav .kp-nav__shop > .wp-block-navigation-item__content { background: var(--wp--preset--color--red); color: #fff; font-weight: 600; margin-right: 6px; }
.kp-nav .kp-nav__shop > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--red-600); color: #fff; }
.kp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font: 700 22px var(--wp--preset--font-family--exo-2); padding: 14px 10px; }
.kp-header__actions { gap: 10px; flex: none; margin-left: 14px; }
/* Account + mini-cart as round icon buttons with a count badge (mockup .icon-btn). */
.kp-header__actions .wc-block-customer-account__link,
.kp-header__actions .wc-block-mini-cart__button { position: relative; width: 44px; height: 44px; padding: 0; border: 1px solid var(--wp--preset--color--line); border-radius: 50%; background: #fff; color: var(--wp--preset--color--ink); display: grid; place-items: center; transition: border-color .15s; }
.kp-header__actions .wc-block-customer-account__link:hover,
.kp-header__actions .wc-block-mini-cart__button:hover { border-color: var(--wp--preset--color--ink); }
.kp-header__actions .wc-block-customer-account__visual svg,
.kp-header__actions .wc-block-mini-cart__button .wc-block-mini-cart__icon { width: 22px; height: 22px; margin: 0; }
.kp-header__actions .wc-block-mini-cart__quantity-badge { position: static; display: contents; }
.kp-header__actions .wc-block-mini-cart__badge { top: -3px; right: -3px; left: auto; margin: 0; transform: none; min-width: 19px; height: 19px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; background: var(--wp--preset--color--red) !important; color: #fff !important; font-size: 11px; font-weight: 700; line-height: 15px; text-align: center; box-sizing: border-box; }
.kp-header__actions .wc-block-mini-cart__amount { display: none; }

/* ---------- footer ---------- */
.kp-footer__title { font: 700 14px var(--wp--preset--font-family--inter); margin-bottom: 16px; }
.kp-footer__nav .wp-block-navigation-item .wp-block-navigation-item__content { color: var(--wp--preset--color--muted); font-size: 14.5px; padding: 0; }
.kp-footer__nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--red); }
.kp-footer__bottom { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--line); }
.kp-pay { display: flex; gap: 8px; }
.kp-pay span { border: 1px solid var(--wp--preset--color--line); border-radius: 6px; padding: 4px 9px; font-weight: 700; font-size: 12px; color: var(--wp--preset--color--gray); }
.kp-footer__nav .wp-block-navigation__container { gap: 10px; }
.kp-topbar__phone { white-space: nowrap; }
@media (max-width: 560px) { .kp-topbar__msg { font-size: 12px; } }

/* Visually hidden, still announced by screen readers (block themes do not ship this utility). */
.screen-reader-text { border: 0; clip-path: inset( 50% ); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; white-space: nowrap; }
.screen-reader-text:focus { clip-path: none; height: auto; width: auto; margin: 0; z-index: 100000; background: #fff; padding: 12px 16px; }

/* Closed mini-cart drawer: out of the focus order and accessibility tree (axe aria-hidden-focus); hide only after the slide-out. */
.wc-block-components-drawer__screen-overlay--is-hidden .wc-block-mini-cart__drawer { visibility: hidden; transition: visibility 0s linear .3s, transform .3s; }
