/* ==========================================================================
   Katariina Puukool – teema stiilid
   Värvid ja fondid Lovable'i kavandist. Teksti suurus on mõeldud ka 45–55 a lugejale.
   ========================================================================== */

@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 900; font-display: swap;
	src: url("fonts/figtree-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 900; font-display: swap;
	src: url("fonts/figtree-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url("fonts/fraunces-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url("fonts/fraunces-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 100 900; font-display: swap;
	src: url("fonts/fraunces-latin-wght-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 100 900; font-display: swap;
	src: url("fonts/fraunces-latin-ext-wght-italic.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--kp-bg: #F0E6D4;          /* kreem */
	--kp-fg: #403E27;          /* tume oliiv */
	--kp-card: #FDFBF6;
	--kp-secondary: #E6DBC6;
	--kp-muted: #6B6650;
	--kp-accent: #C1723C;      /* terrakota */
	--kp-accent-hover: #A85F2E;
	--kp-gold: #A2965D;        /* oliivikuld – väljade ääris */
	--kp-border: #D2C7AC;
	--kp-sale: #B3261E;
	--kp-ok: #2F6B3A;
	--kp-radius: 0.5rem;
	--kp-radius-lg: 0.75rem;
	--kp-radius-xl: 1rem;
	--kp-shadow: 0 12px 30px -14px rgba(52, 66, 44, 0.35);
	--kp-wrap: 72rem;
	--kp-gutter: 1rem;
	--kp-font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--kp-display: "Fraunces", Georgia, serif;
}

/* --- Alus ---------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
body {
	margin: 0;
	background: var(--kp-bg);
	color: var(--kp-fg);
	font-family: var(--kp-font);
	font-size: 1.125rem;
	line-height: 1.65;
	overflow-x: hidden;
}
h1, h2, h3, h4 { font-family: var(--kp-display); font-weight: 600; line-height: 1.15; margin: 0 0 .5em; letter-spacing: 0; }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
h3 { font-size: 1.5rem; }
p { margin: 0 0 1em; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
input, textarea, select, button { font: inherit; color: inherit; }
input, textarea, select { font-size: 1rem; }
:focus-visible { outline: 3px solid var(--kp-accent); outline-offset: 2px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kp-skip { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--kp-fg); color: var(--kp-bg); padding: .75rem 1rem; }
.kp-skip:focus { left: 1rem; }

.kp-wrap { max-width: var(--kp-wrap); margin-inline: auto; padding-inline: var(--kp-gutter); }
.kp-section { padding-block: 3rem; }
.kp-muted { color: var(--kp-muted); }
.kp-small { font-size: .875rem; }
.kp-accent { color: var(--kp-accent); }
.kp-u { text-decoration: underline; word-break: break-word; }
.kp-strong { font-weight: 600; }
.kp-link { font-size: 1rem; font-weight: 500; text-decoration: none; }
.kp-link:hover { text-decoration: underline; }
.kp-eyebrow { font-size: .875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--kp-accent); margin: 0; }

.kp-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.kp-icon--sm { width: 1rem; height: 1rem; }
.kp-icon--lg { width: 1.5rem; height: 1.5rem; }
.kp-icon--xl { width: 1.75rem; height: 1.75rem; }

/* --- Nupud ---------------------------------------------------------------- */
.kp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 2.75rem; padding: .5rem 1.1rem;
	border: 1px solid transparent; border-radius: var(--kp-radius);
	background: var(--kp-fg); color: var(--kp-bg);
	font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.kp-btn:hover { background: #2E2C1B; }
.kp-btn--lg { min-height: 3.25rem; padding-inline: 1.5rem; font-size: 1.0625rem; }
.kp-btn--icon { width: 2.75rem; padding: 0; }
.kp-btn--accent { background: var(--kp-accent); color: #fff; }
.kp-btn--accent:hover { background: var(--kp-accent-hover); }
.kp-btn--ghost { background: transparent; color: var(--kp-bg); border-color: rgba(240, 230, 212, .6); }
.kp-btn--ghost:hover { background: rgba(240, 230, 212, .12); }
.kp-btn--primary { background: var(--kp-fg); color: var(--kp-bg); }

/* --- Päis ----------------------------------------------------------------- */
.kp-header { position: relative; z-index: 40; }
.kp-topbar { background: var(--kp-fg); color: var(--kp-bg); font-size: .875rem; }
.kp-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 2rem; padding-block: .6rem; }
.kp-topbar__item { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; }
a.kp-topbar__item:hover { text-decoration: underline; }
.kp-topbar__slogan { margin-left: auto; font-style: italic; }

.kp-masthead { background: var(--kp-card); }
.kp-masthead__inner { display: grid; grid-template-columns: 280px 1fr 180px; align-items: center; gap: 1.25rem; padding-block: 1.25rem; }
.kp-brand { display: block; text-decoration: none; }
.kp-brand .kp-brand__logo { display: block; width: 100%; max-width: 20rem; height: auto; }
.kp-brand__name { font-family: var(--kp-display); font-size: 1.75rem; font-weight: 600; }
.kp-brand__slogan { display: block; margin-top: .25rem; font-size: 1rem; font-style: italic; color: var(--kp-muted); }

.kp-search { display: flex; align-items: center; min-width: 0; background: var(--kp-bg); border: 1px solid var(--kp-border); border-radius: var(--kp-radius); }
.kp-search input { flex: 1; min-width: 0; min-height: 2.75rem; padding: .5rem 1rem; border: 0; background: transparent; outline: none; }
.kp-search:focus-within { border-color: var(--kp-gold); box-shadow: 0 0 0 3px rgba(162, 150, 93, .25); }
.kp-search .kp-btn { margin: .25rem; min-height: 2.5rem; width: 2.5rem; }

.kp-phone { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; text-decoration: none; }
.kp-phone strong { display: block; font-size: 1.125rem; line-height: 1.2; }
.kp-phone small { display: block; font-size: .875rem; color: var(--kp-muted); }

.kp-quick { display: none; align-items: center; gap: .25rem; justify-content: flex-end; }
.kp-quick__link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: var(--kp-radius); background: transparent; color: var(--kp-fg); cursor: pointer; text-decoration: none; }
.kp-quick__link:hover { background: var(--kp-secondary); }
.kp-quick__link .kp-icon { width: 1.5rem; height: 1.5rem; }
.kp-menu-toggle__close { display: none; }
.kp-menu-toggle[aria-expanded="true"] .kp-menu-toggle__open { display: none; }
.kp-menu-toggle[aria-expanded="true"] .kp-menu-toggle__close { display: inline-flex; }

.kp-navbar { background: var(--kp-secondary); border-block: 1px solid var(--kp-border); }
.kp-navbar__inner { display: flex; align-items: center; justify-content: space-between; gap: .5rem 1rem; min-height: 3.5rem; padding-block: .5rem; }
.kp-nav { flex: 1; }
.kp-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: .125rem; margin: 0; padding: 0; list-style: none; }
.kp-menu a, .kp-navlink { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.5rem; padding: .25rem .75rem; border-radius: var(--kp-radius); font-size: 1rem; font-weight: 500; text-decoration: none; }
.kp-menu a:hover, .kp-navlink:hover { background: rgba(64, 62, 39, .08); }
.kp-menu .current-menu-item > a, .kp-menu .current_page_item > a { background: rgba(64, 62, 39, .1); }
.kp-menu .sub-menu { display: none; }
.kp-navbar__account { display: flex; align-items: center; }

.kp-cats { position: relative; }
.kp-cats summary { list-style: none; gap: 1rem; }
.kp-cats summary::-webkit-details-marker { display: none; }
.kp-cats[open] summary .kp-icon { transform: rotate(180deg); }
.kp-cats__list { position: absolute; left: 0; top: calc(100% + .5rem); z-index: 50; width: 18rem; max-height: 70vh; overflow-y: auto; margin: 0; padding: .375rem; list-style: none; background: var(--kp-card); border: 1px solid var(--kp-border); border-radius: var(--kp-radius-lg); box-shadow: var(--kp-shadow); }
.kp-cats__list a { display: block; padding: .5rem .75rem; border-radius: var(--kp-radius); font-size: 1rem; text-decoration: none; }
.kp-cats__list a:hover { background: var(--kp-secondary); }

.kp-cart { position: relative; }
.kp-cart__count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem; border-radius: 999px; background: var(--kp-accent); color: #fff; font-size: .75rem; font-weight: 700; line-height: 1; }
.kp-cart__count[hidden] { display: none; }
.kp-quick__link .kp-cart__count { position: absolute; top: .1rem; right: .1rem; }

/* Kitsamad ekraanid: menüü avaneb nupust, päis mahub ühele reale. */
@media (max-width: 1023px) {
	.kp-masthead__inner { grid-template-columns: 1fr auto; }
	.kp-phone { display: none; }
	.kp-quick { display: flex; }
	.kp-search { grid-column: 1 / -1; grid-row: 2; }
	.kp-navbar { display: none; }
	.kp-navbar.is-open { display: block; }
	.kp-navbar__inner { flex-direction: column; align-items: stretch; padding-block: .75rem 1rem; }
	.kp-menu { flex-direction: column; align-items: stretch; }
	.kp-menu a { display: flex; min-height: 3rem; padding-inline: .5rem; font-size: 1.0625rem; }
	.kp-cats summary { width: 100%; justify-content: space-between; }
	.kp-cats__list { position: static; width: 100%; max-height: 50vh; margin-top: .5rem; box-shadow: none; }
	.kp-navbar__account { display: none; }
}
@media (max-width: 639px) {
	.kp-topbar { display: none; }
	.kp-masthead__inner { gap: .75rem; padding-block: .75rem; }
	.kp-brand .kp-brand__logo { max-width: 11rem; }
	.kp-brand__slogan { display: none; }
}

/* --- Avalehe bänner ----------------------------------------------------- */
.kp-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--kp-fg); color: var(--kp-bg); }
.kp-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.kp-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(38, 36, 22, .1) 0%, rgba(38, 36, 22, .8) 100%); }
.kp-hero--plain::after { background: radial-gradient(120% 90% at 85% 0%, rgba(193, 114, 60, .35), transparent 60%); }
.kp-hero__inner { display: flex; flex-direction: column; justify-content: flex-end; min-height: min(78vh, 46rem); padding-block: 8rem 4rem; }
.kp-hero__title { max-width: 48rem; margin: 0; font-size: clamp(2.75rem, 7vw, 4.5rem); line-height: 1.05; }
.kp-hero__slogan { margin: 1rem 0 0; font-family: var(--kp-display); font-size: clamp(1.5rem, 3vw, 1.875rem); }
.kp-hero__lede { max-width: 36rem; margin: 1.25rem 0 0; font-size: 1.25rem; line-height: 1.6; }
.kp-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
@media (max-width: 639px) {
	.kp-hero__inner { min-height: 0; padding-block: 5rem 2.5rem; }
}

/* --- Eelised -------------------------------------------------------------- */
.kp-features { display: grid; gap: 1.5rem; padding-block: 3.5rem; }
@media (min-width: 640px) { .kp-features { grid-template-columns: repeat(3, 1fr); } }
.kp-feature { display: flex; gap: 1rem; }
.kp-feature__title { margin: 0; font-family: var(--kp-display); font-size: 1.25rem; font-weight: 600; }
.kp-feature__text { margin: .25rem 0 0; font-size: 1rem; color: var(--kp-muted); }

.kp-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.kp-section-head h2 { margin: 0; font-size: clamp(2rem, 4vw, 2.25rem); }
.kp-newest { padding-top: 0; }

/* --- Tootekaardid (WooCommerce'i loend) ---------------------------------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem;
	margin: 0 0 2rem; padding: 0; list-style: none;
}
@media (min-width: 768px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	position: relative; display: flex; flex-direction: column;
	width: auto !important; margin: 0 !important; float: none !important; padding: 0;
	overflow: hidden; background: var(--kp-card); border: 1px solid var(--kp-border); border-radius: var(--kp-radius-lg);
	transition: transform .15s, box-shadow .15s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--kp-shadow); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product a img {
	width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 !important;
	background: var(--kp-secondary); transition: transform .3s;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	padding: 1rem 1rem 0 !important; margin: 0; font-family: var(--kp-font); font-size: 1rem !important; font-weight: 500; line-height: 1.35;
}
.kp-card__sub { margin: .25rem 1rem 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .875rem; font-style: italic; color: var(--kp-muted); }
.woocommerce ul.products li.product .price {
	display: block; margin: auto 0 0 !important; padding: .5rem 1rem 0; color: var(--kp-fg) !important; font-size: 1.0625rem !important; font-weight: 700;
}
.woocommerce ul.products li.product .price del { margin-right: .4rem; color: var(--kp-muted); font-size: .875rem; font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { color: var(--kp-sale); text-decoration: none; }
.kp-stock-out { display: block; padding: .25rem 1rem 0; font-size: .875rem; color: var(--kp-muted); }
.woocommerce ul.products li.product .button {
	margin: .75rem 1rem 1rem !important; align-self: stretch; text-align: center;
}
.woocommerce ul.products li.product .added_to_cart { display: block; padding: 0 1rem 1rem; font-size: .875rem; text-align: center; }

/* Kategooriakaardid poe avalehel */
.woocommerce ul.products li.product-category > a { display: flex; flex: 1; flex-direction: column; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
	margin: 0; padding: .75rem 1rem 1rem !important; font-family: var(--kp-font); font-size: 1rem !important; font-weight: 600; line-height: 1.35;
}
.woocommerce ul.products li.product-category mark.count { background: none; color: var(--kp-muted); font-weight: 400; }

/* Soodusmärk: ümmargune, punane, protsendiga */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
	position: absolute; top: .75rem !important; right: .75rem !important; left: auto !important; z-index: 2;
	display: flex; align-items: center; justify-content: center;
	width: 2.75rem; height: 2.75rem; min-width: 0; min-height: 0; margin: 0 !important; padding: 0;
	border-radius: 999px; background: var(--kp-sale); color: #fff; font-size: .8125rem; font-weight: 700; line-height: 1;
}
/* Tootelehel on paremal üleval suurendusnupp – märk vasakule */
.woocommerce div.product > span.onsale { right: auto !important; left: .75rem !important; }
.woocommerce div.product { position: relative; }
.woocommerce span.onsale.kp-badge--text { width: auto; height: auto; padding: .35rem .6rem; border-radius: 999px; }

/* --- WooCommerce: nupud, hinnad, teated ---------------------------------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .6rem 1.1rem;
	border: 0; border-radius: var(--kp-radius) !important;
	background: var(--kp-fg) !important; color: var(--kp-bg) !important;
	font-size: 1rem; font-weight: 600; line-height: 1.2; text-decoration: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover { background: #2E2C1B !important; }
.woocommerce button.single_add_to_cart_button, .woocommerce #place_order, .woocommerce a.checkout-button,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--kp-accent) !important; color: #fff !important; min-height: 3.25rem; font-size: 1.0625rem;
}
.woocommerce button.single_add_to_cart_button:hover, .woocommerce #place_order:hover, .woocommerce a.checkout-button:hover { background: var(--kp-accent-hover) !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--kp-fg); font-size: 1.5rem; font-weight: 700; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--kp-sale); text-decoration: none; }
.woocommerce div.product p.price del { color: var(--kp-muted); font-size: 1.125rem; font-weight: 400; }
.woocommerce div.product .stock { font-weight: 600; }
.woocommerce div.product .stock.in-stock { color: var(--kp-ok); }
.woocommerce div.product .stock.out-of-stock { color: var(--kp-sale); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
	border-top-color: var(--kp-accent); background: var(--kp-card); border-radius: var(--kp-radius);
}
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--kp-accent); }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce .quantity .qty {
	min-height: 2.75rem; padding: .5rem .75rem; border: 1px solid var(--kp-gold); border-radius: var(--kp-radius); background: #fff;
}

/* Tooteleht */
.woocommerce div.product { display: grid; gap: 2rem; }
@media (min-width: 900px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
	.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images img { border-radius: var(--kp-radius-lg); background: var(--kp-secondary); }
.woocommerce div.product .product_title { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: var(--kp-radius) var(--kp-radius) 0 0; background: var(--kp-secondary); border-color: var(--kp-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--kp-card); }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 1.0625rem; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { margin-top: 1rem; }

/* Poe tööriistariba ja lehekülgede vahetus */
.kp-shop .woocommerce-products-header__title, .kp-shop h1.page-title { margin-bottom: .5rem; }
.woocommerce .woocommerce-result-count { margin: 0 0 1rem; color: var(--kp-muted); font-size: 1rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 1rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .375rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--kp-border); border-radius: var(--kp-radius); background: var(--kp-card); font-size: 1rem;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--kp-fg); color: var(--kp-bg); border-color: var(--kp-fg); }
.kp-crumbs { margin-bottom: 1.5rem !important; color: var(--kp-muted) !important; font-size: .9375rem !important; }
.kp-crumbs a { color: inherit !important; }
.kp-crumb-sep { margin-inline: .5rem; opacity: .6; }

/* --- Pöördumisvormid ----------------------------------------------------- */
.kp-inquiry { scroll-margin-top: 1rem; padding-top: 4rem; }
.kp-inquiry__head { max-width: 42rem; margin-bottom: 2.5rem; }
.kp-inquiry__head h2 { margin: .5rem 0 .75rem; font-size: clamp(2rem, 4vw, 2.25rem); }
.kp-inquiry__grid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .kp-inquiry__grid { grid-template-columns: 1fr 1fr; } }
.kp-panel { padding: 1.5rem; background: var(--kp-card); border: 1px solid var(--kp-border); border-radius: var(--kp-radius-xl); }
@media (min-width: 640px) { .kp-panel { padding: 2rem; } }
.kp-panel--dark { background: var(--kp-fg); color: var(--kp-bg); border-color: var(--kp-fg); }
.kp-panel__head { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.kp-panel__head h3 { margin: 0; }
.kp-panel__lede { margin: 0; font-size: 1rem; opacity: .8; }
.kp-panel__icon { display: inline-flex; padding: .625rem; border-radius: 999px; background: var(--kp-secondary); color: var(--kp-fg); }
.kp-panel--dark .kp-panel__icon { background: var(--kp-accent); color: #fff; }
.kp-panel--dark .kp-btn--primary { background: var(--kp-accent); color: #fff; }
.kp-panel--dark .kp-btn--primary:hover { background: var(--kp-accent-hover); }

.kp-form__grid { display: grid; gap: 0 1rem; }
@media (min-width: 640px) { .kp-form__grid { grid-template-columns: 1fr 1fr; } }
.kp-field { margin: 0 0 1rem; }
.kp-field label { display: block; margin-bottom: .375rem; font-size: 1rem; font-weight: 500; }
.kp-field input, .kp-field textarea {
	display: block; width: 100%; min-height: 2.75rem; padding: .5rem .75rem;
	border: 1px solid var(--kp-gold); border-radius: var(--kp-radius); background: var(--kp-bg); color: var(--kp-fg);
}
.kp-panel--dark .kp-field input, .kp-panel--dark .kp-field textarea { background: var(--kp-bg); border-color: transparent; }
.kp-field textarea { resize: vertical; }
.kp-field input:focus, .kp-field textarea:focus { outline: none; border-color: var(--kp-accent); box-shadow: 0 0 0 3px rgba(193, 114, 60, .3); }
.kp-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kp-form .kp-btn { width: 100%; }
@media (min-width: 640px) { .kp-form .kp-btn { width: auto; } }
.kp-notice { padding: .75rem 1rem; border-radius: var(--kp-radius); font-weight: 500; }
.kp-notice--ok { background: #E3EEDD; color: var(--kp-ok); }
.kp-notice--err { background: #F7E1DE; color: var(--kp-sale); }

/* --- Lehed ja postitused ------------------------------------------------ */
.kp-page-head { margin-bottom: 2rem; }
.kp-prose-wrap { max-width: 48rem; }
.kp-prose > * + * { margin-top: 1em; }
.kp-prose a { color: var(--kp-accent-hover); }
.kp-prose img { border-radius: var(--kp-radius-lg); }
.kp-feature-img { margin: 0 0 2rem; }
.kp-feature-img img { border-radius: var(--kp-radius-lg); }
.kp-posts { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .kp-posts { grid-template-columns: repeat(3, 1fr); } }
.kp-post-card { overflow: hidden; background: var(--kp-card); border: 1px solid var(--kp-border); border-radius: var(--kp-radius-lg); }
.kp-post-card__img img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kp-post-card__body { padding: 1.25rem; }
.kp-post-card__body h2 { font-size: 1.375rem; }
.kp-post-card__body h2 a { text-decoration: none; }
.kp-builder { max-width: none; }

/* --- Jalus ---------------------------------------------------------------- */
.kp-footer { margin-top: 6rem; background: var(--kp-fg); color: var(--kp-bg); }
.kp-footer__grid { display: grid; gap: 2.5rem; padding-block: 4rem; }
@media (min-width: 640px) { .kp-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .kp-footer__grid { grid-template-columns: repeat(4, 1fr); } }
.kp-footer__title { margin-bottom: 1.25rem; font-size: 1.125rem; }
.kp-footer__title::after { content: ""; display: block; width: 3rem; height: 2px; margin-top: .75rem; background: var(--kp-accent); }
.kp-footer__slogan { font-family: var(--kp-display); font-size: 1.25rem; font-style: italic; }
.kp-footer p { margin: 0 0 .6rem; font-size: 1rem; color: rgba(240, 230, 212, .85); }
.kp-footer a { text-decoration: none; }
.kp-footer a:hover, .kp-footer a.kp-u { text-decoration: underline; }
.kp-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding-block: 1.25rem; border-top: 1px solid rgba(240, 230, 212, .2); }
.kp-footer__bottom p { margin: 0; font-size: .875rem; color: rgba(240, 230, 212, .7); }

/* --- Lehe päis sisus (nt "Meie tiim") ------------------------------------ */
/* Kui lehe sisu algab .kp-pagehead plokiga, peidame teema pealkirja ja kasutame laia veergu. */
.kp-prose-wrap.kp-wide, .kp-prose-wrap:has(.kp-pagehead) { max-width: var(--kp-wrap); }
.kp-wide .kp-prose > :not(.kp-team):not(.kp-social):not(.kp-pagehead) { max-width: 48rem; }
.kp-prose-wrap:has(.kp-pagehead) > .kp-page-head { display: none; }
.kp-pagehead { margin-bottom: 3rem; }
.kp-pagehead__eyebrow { margin: 0 0 1rem; color: var(--kp-muted); }
.kp-pagehead h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 3rem); }
.kp-pagehead__lede { max-width: 42rem; margin: 1.5rem 0 0; font-size: 1.25rem; }

/* --- Tiim ------------------------------------------------------------------ */
/* Klassikalises teemas pakib WordPress grupi sisu lisa-divi (.wp-block-group__inner-container).
   Ruudustik ja flex peavad kehtima sellele, mitte välimisele grupile. */
.kp-team > .wp-block-group__inner-container,
.kp-social__grid > .wp-block-group__inner-container,
.kp-team-card > .wp-block-group__inner-container,
.kp-photo-slot > .wp-block-group__inner-container { display: contents; }

.kp-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
@media (min-width: 640px) { .kp-team { gap: 2rem; } }
@media (min-width: 1024px) { .kp-team { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 639px) {
	.kp-team-card h3 { font-size: 1.0625rem; }
	.kp-team-intro, .kp-team-text { font-size: .9375rem; }
}
.kp-prose .kp-team-card > * + * { margin-top: 0; }
.kp-team-card { display: flex; flex-direction: column; gap: .75rem; }
.kp-photo-slot {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem;
	aspect-ratio: 4 / 5; border: 1px dashed var(--kp-border); border-radius: var(--kp-radius-lg);
	background: rgba(230, 219, 198, .6); color: var(--kp-muted); font-size: .875rem;
}
.kp-photo-slot::before {
	content: ""; width: 2rem; height: 2rem; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.kp-photo-slot p { margin: 0; }
.kp-team-card .wp-block-image { margin: 0; }
.kp-team-card .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--kp-radius-lg); }
.kp-team-card h3 { margin: .25rem 0 0; font-size: 1.25rem; }
.kp-team-card h3::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .5rem; vertical-align: middle; border-radius: 999px; background: var(--kp-accent); }
.kp-team-intro { font-size: 1rem; font-weight: 500; }
.kp-team-text { font-size: 1rem; line-height: 1.6; color: var(--kp-muted); }
.kp-team-text a { color: var(--kp-accent-hover); }

.kp-story { max-width: 42rem; margin-top: 4.5rem; }
.kp-social { margin-top: 3.5rem; }
.kp-social__grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .kp-social__grid { grid-template-columns: 1fr 1fr; } }
.kp-social__grid .wp-block-image { margin: 0; }
.kp-social__grid img { width: 100%; border: 1px solid var(--kp-border); border-radius: var(--kp-radius-lg); transition: transform .15s, box-shadow .15s; }
.kp-social__grid a:hover img { transform: translateY(-2px); box-shadow: var(--kp-shadow); }
.kp-panel--inline { margin-top: 1.5rem; scroll-margin-top: 1rem; }
