/* ==========================================================================
   ekodrogéria · design system "Herbár"
   --------------------------------------------------------------------------
   A pressed-flower notebook in a neighbourhood drugstore: oat paper with a
   fine grain, forest-ink type, moss & clay accents, chamomile highlights,
   hand-drawn underlines and botanical line drawings.

   Fonts (enqueued separately, see dizajn/kadence-settings.json):
     Young Serif 400  ·  Commissioner 400/500/600/700  ·  Borel 400

   Load order: enqueue AFTER Kadence (deps: kadence-global, kadence-header,
   kadence-content, kadence-woocommerce, kadence-footer) so equal-specificity
   rules win.

   Contents
     00  Tokens
     01  Kadence bridge (global palette & fonts)
     02  Base
     03  Primitives  (.ed-container, .ed-section, .ed-btn, .ed-input …)
     04  Hand-made accents (underline, circle, tape, paper, hand font)
     05  Plugin components: products · posts · category tiles · chips
     06  Homepage sections
     07  Kadence header, navigation, search, mobile drawer
     08  Kadence footer
     09  WooCommerce archives
     10  WooCommerce single product
     11  Content: pages & generic entry content
     11b Poradňa articles (.ed-tldr, .ed-tabulka, .ed-faq, picks, related)
     11c Kadence content guard (generated spacing guards)
     12  Motion, reduced motion, print
   Not styled here: .ed-as* (AI advisor), .ed-app* (mini-app), .ed-radar*
   (seasonal radar) – those live in eko-apps.css and reuse these tokens.
   ========================================================================== */


/* ==========================================================================
   00  TOKENS
   ========================================================================== */
:root {
	/* contract tokens (other stylesheets depend on these names) */
	--ed-bg: #F5EFE4;            /* oat linen – page */
	--ed-surface: #FFFCF7;       /* paper – cards, inputs */
	--ed-soft: #EDE5D5;          /* deeper oat – soft bands, image wells */
	--ed-ink: #24301F;           /* forest ink – text (12:1 on bg) */
	--ed-muted: #596048;         /* lichen – secondary text (5.7:1 on bg) */
	--ed-line: #DCD2BF;          /* hairlines */
	--ed-primary: #3E5A2B;       /* moss – primary actions, links */
	--ed-primary-ink: #FFFCF7;   /* text on moss (7.6:1) */
	--ed-accent: #A94B29;        /* terracotta clay – shop buttons, hand notes */
	--ed-accent-ink: #FFF8F1;    /* text on clay (5.4:1) */
	--ed-highlight: #F3CB4F;     /* chamomile – marker, focus on dark, badges */
	--ed-radius: 14px;
	--ed-radius-lg: 28px;
	--ed-shadow: 0 1px 0 rgba(36, 48, 31, .04), 0 14px 30px -18px rgba(36, 48, 31, .35);
	--ed-font-head: "Young Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--ed-font-body: "Commissioner", "Segoe UI", system-ui, -apple-system, sans-serif;
	--ed-font-hand: "Borel", "Segoe Script", "Bradley Hand", cursive;

	/* extended palette (safe to use in eko-apps.css as well) */
	--ed-sage: #DFE4CC;
	--ed-rose: #F2D8CD;
	--ed-chamomile-soft: #FAEBBE;
	--ed-clay-soft: #F3DCCB;
	--ed-moss-soft: #C9D3AE;
	--ed-line-strong: #C9BBA2;
	--ed-primary-hover: #2F4720;
	--ed-accent-hover: #8C3C1F;
	--ed-ink-08: rgba(36, 48, 31, .08);
	--ed-ink-14: rgba(36, 48, 31, .14);
	--ed-well: #F3ECDF;          /* product image well (white packshots multiply into it) */
	--ed-focus: var(--ed-accent);
	--ed-shadow-lift: 0 2px 0 rgba(36, 48, 31, .04), 0 22px 40px -22px rgba(36, 48, 31, .45);

	/* rhythm */
	--ed-gutter: 16px;
	--ed-max: 1240px;
	--ed-section-y: clamp(48px, 2.4rem + 3.4vw, 100px);
	--ed-gap: 16px;
	--ed-ease: cubic-bezier(.22, .8, .32, 1);

	/* drawn textures (data-URI SVG, no requests) */
	--ed-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .22 0 0 0 0 .13 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.16'/%3E%3C/svg%3E");
	--ed-underline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 12.5C62 6.5 140 5 202 7.4c34 1.3 64 3.4 94 1.6' fill='none' stroke='%23F3CB4F' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M34 16.6c52-3.4 118-4.4 186-2.6' fill='none' stroke='%23F3CB4F' stroke-width='3' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E");
	--ed-underline-clay: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 11.5C70 6 150 5 210 7.2c30 1.1 58 3 86 1.4' fill='none' stroke='%23A94B29' stroke-width='3.2' stroke-linecap='round'/%3E%3Cpath d='M40 16c54-3 120-3.8 176-2.2' fill='none' stroke='%23A94B29' stroke-width='2' stroke-linecap='round' opacity='.7'/%3E%3C/svg%3E");
	--ed-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 90' preserveAspectRatio='none'%3E%3Cpath d='M128 8C70 2 12 14 7 44c-5 30 52 42 110 40s96-14 96-40S172 6 96 12' fill='none' stroke='%23A94B29' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
	--ed-ring: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M55 7C27 4 6 24 6 50s20 44 46 44 42-18 42-44S77 8 45 11' fill='none' stroke='%23A94B29' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
	--ed-ring-moss: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M55 7C27 4 6 24 6 50s20 44 46 44 42-18 42-44S77 8 45 11' fill='none' stroke='%233E5A2B' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
	--ed-wave-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V30C160 12 330 6 530 16s360 30 560 24 250-26 350-30v38z' fill='%23EDE5D5'/%3E%3C/svg%3E");
	--ed-wave-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V26C180 10 360 4 560 14s340 30 540 26 240-24 340-30v38z' fill='%2324301F'/%3E%3C/svg%3E");
	--ed-dash-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'%3E%3Cpath d='M4 20C52 6 120 4 184 15' fill='none' stroke='%23596048' stroke-width='2' stroke-dasharray='5 7' stroke-linecap='round'/%3E%3C/svg%3E");
	--ed-note-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 50' fill='none' stroke='%23A94B29' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5c15 1 30 9 36 30'/%3E%3Cpath d='M32.5 31.5l8.6 5.6 4.4-9.4'/%3E%3C/svg%3E");
	--ed-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2324301F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.6c1.8 1.7 3.4 3.3 5 5 1.6-1.7 3.2-3.3 5-5'/%3E%3C/svg%3E");
	/* masks (shape only, coloured with background-color) */
	--ed-i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.4 13.6C1.7 7.2 6 2.5 13.7 2.3c.2 7.7-4.4 11.8-11.3 11.3z'/%3E%3C/svg%3E");
	--ed-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.4 10.3c3.9-.3 8.1-.3 12.3 0M11.3 5.6c1.7 1.8 3.1 3.2 4.7 4.7-1.6 1.4-3 2.8-4.7 4.6'/%3E%3C/svg%3E");
	--ed-i-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 14.8 14.2 5.8M8 5.3c2.2-.2 4.5-.2 6.7.1.3 2.2.3 4.5.1 6.7'/%3E%3C/svg%3E");
	--ed-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.8 10.6c1.6 1.4 3 2.8 4.4 4.4 2.4-4 5.2-7.4 8.2-10.2'/%3E%3C/svg%3E");
	--ed-i-search: 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'%3E%3Cpath d='M10.6 3.6c4-.2 7 2.8 7 6.8s-3 7-7 7-7-3-6.8-7 2.8-6.6 6.8-6.8z'/%3E%3Cpath d='M15.8 15.8l4.6 4.6'/%3E%3C/svg%3E");
	--ed-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M10.4 2.6c4.2.1 7.2 3.2 7 7.6-.2 4.2-3.4 7.2-7.6 7.1-4.2-.1-7.2-3.4-7-7.6.2-4.2 3.4-7.2 7.6-7.1z'/%3E%3Cpath d='M10 9v5'/%3E%3Cpath d='M10 6.2v.1' stroke-width='2.4'/%3E%3C/svg%3E");
}

@media (min-width: 768px) {
	:root { --ed-gutter: 24px; --ed-gap: 20px; }
}
@media (min-width: 1200px) {
	:root { --ed-gutter: 32px; --ed-gap: 24px; }
}


/* ==========================================================================
   01  KADENCE BRIDGE
   Keeps Kadence's own components (buttons, borders, drawers) on-palette
   even before the Customizer palette is updated. Values mirror
   dizajn/kadence-settings.json.
   ========================================================================== */
:root {
	--global-palette1: #3E5A2B;
	--global-palette2: #A94B29;
	--global-palette3: #24301F;
	--global-palette4: #2E3A28;
	--global-palette5: #596048;
	--global-palette6: #8A8C76;
	--global-palette7: #EDE5D5;
	--global-palette8: #F5EFE4;
	--global-palette9: #FFFCF7;
	--global-palette9rgb: 255, 252, 247;
	--global-palette-highlight: var(--ed-primary);
	--global-palette-highlight-alt: var(--ed-accent);
	--global-palette-btn-bg: var(--ed-primary);
	--global-palette-btn-bg-hover: var(--ed-primary-hover);
	--global-palette-btn: var(--ed-primary-ink);
	--global-palette-btn-hover: var(--ed-primary-ink);
	--global-body-font-family: var(--ed-font-body);
	--global-heading-font-family: var(--ed-font-head);
	--global-primary-nav-font-family: var(--ed-font-body);
}


/* ==========================================================================
   02  BASE
   ========================================================================== */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 96px; }
*, *::before, *::after { box-sizing: inherit; }

html body {
	margin: 0;
	background-color: var(--ed-bg);
	background-image: var(--ed-grain);
	color: var(--ed-ink);
	font-family: var(--ed-font-body);
	font-size: 1.0625rem;          /* 17px */
	line-height: 1.65;
	font-weight: 400;
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

/* Kadence paints .site white on "unboxed" layouts – let the oat paper show through */
body.content-style-unboxed .site,
body .site.wp-site-blocks { background: transparent; }

h1, h2, h3, h4, h5, h6,
.ed-h1, .ed-h2, .ed-h3 {
	font-family: var(--ed-font-head);
	font-weight: 400;
	color: var(--ed-ink);
	line-height: 1.08;
	letter-spacing: -.012em;
	text-wrap: balance;
	margin: 0 0 .5em;
}
h1, .ed-h1 { font-size: clamp(2.35rem, 1.55rem + 3.6vw, 4.5rem); line-height: 1.02; }
h2, .ed-h2 { font-size: clamp(1.85rem, 1.4rem + 1.9vw, 3rem); }
h3, .ed-h3 { font-size: clamp(1.3rem, 1.16rem + .6vw, 1.6rem); line-height: 1.15; }
h4 { font-size: 1.2rem; line-height: 1.2; }
h5, h6 { font-family: var(--ed-font-body); font-weight: 700; font-size: 1rem; letter-spacing: 0; }

p { margin: 0 0 1em; text-wrap: pretty; }
small { font-size: .85em; }
strong, b { font-weight: 650; }

a {
	color: var(--ed-primary);
	text-decoration-line: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: .2em;
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
	transition: color .2s ease, text-decoration-color .2s ease;
}
a:hover { color: var(--ed-accent); text-decoration-color: currentColor; }

img, svg, video { max-width: 100%; height: auto; }
hr { border: 0; height: 1px; background: var(--ed-line); margin: 2.5rem 0; }

::selection { background: var(--ed-highlight); color: var(--ed-ink); }

/* Visible, consistent focus ring for keyboard users */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2.5px solid var(--ed-focus);
	outline-offset: 3px;
	border-radius: 6px;
}
/* Kadence hides outlines with .hide-focus-outline until a key is pressed – keep ours for keyboard use */
body.hide-focus-outline :where(a, button, input, select, textarea, summary):focus-visible { outline: 2.5px solid var(--ed-focus); }

.screen-reader-text,
.ed-sr-only {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none; width: auto; height: auto; z-index: 100000;
	top: 8px; left: 8px; padding: 12px 18px; background: var(--ed-ink); color: var(--ed-bg);
	border-radius: 999px; font-weight: 600; text-decoration: none;
}


/* ==========================================================================
   03  PRIMITIVES
   ========================================================================== */

/* --- layout ------------------------------------------------------------ */
.ed-container {
	width: 100%;
	max-width: calc(var(--ed-max) + 2 * var(--ed-gutter));
	margin-inline: auto;
	padding-inline: var(--ed-gutter);
	box-sizing: border-box;
}
.ed-section {
	position: relative;
	padding-block: var(--ed-section-y);
}
.ed-section--tight { padding-block: calc(var(--ed-section-y) * .55); }
.ed-hero { padding-bottom: calc(var(--ed-section-y) * .35); }
.ed-section--flush-top { padding-top: 0; }
.ed-section--soft { background: var(--ed-soft); }
.ed-section--sage { background: var(--ed-sage); }
/* soft band with a hand-cut wavy top edge */
.ed-section--wave { background: var(--ed-soft); margin-top: 48px; padding-top: calc(var(--ed-section-y) * .5); }
.ed-section--wave::before {
	content: ""; position: absolute; left: 0; right: 0; top: -47px; height: 48px;
	background: var(--ed-wave-soft) center bottom / 100% 100% no-repeat;
	pointer-events: none;
}

.ed-section__head {
	display: grid;
	gap: 10px;
	max-width: 44rem;
	margin-bottom: clamp(28px, 2rem + 1vw, 48px);
}
.ed-section__head > * { margin: 0; }
.ed-section__head--center { margin-inline: auto; text-align: center; justify-items: center; }
.ed-section__head--row { max-width: none; }
@media (min-width: 768px) {
	.ed-section__head--row {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		column-gap: 32px;
	}
	.ed-section__head--row > :not(.ed-more) { grid-column: 1; }
	.ed-section__head--row > .ed-more { grid-column: 2; grid-row: 1 / span 3; align-self: end; }
}
.ed-section__title { font-size: clamp(1.85rem, 1.4rem + 1.9vw, 3rem); }
.ed-section__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 32px;
	margin-top: 28px;
}
.ed-section--joined { padding-top: 8px; }        /* continues the band above it */
.ed-section__lead { color: var(--ed-muted); font-size: 1.08rem; max-width: 38rem; }

/* --- small-caps label -------------------------------------------------- */
.ed-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	margin: 0 0 .25rem;
	font-family: var(--ed-font-body);
	font-size: .78rem;
	font-weight: 650;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--ed-primary);
}
.ed-eyebrow::before {
	content: "";
	width: 14px; height: 14px; flex: none;
	background: var(--ed-accent);
	-webkit-mask: var(--ed-i-leaf) center / contain no-repeat;
	mask: var(--ed-i-leaf) center / contain no-repeat;
	transform: rotate(-8deg);
}
.ed-eyebrow--plain::before { display: none; }

/* --- buttons ------------------------------------------------------------ */
.ed-btn {
	-webkit-appearance: none; appearance: none;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 48px;
	padding: .75em 1.45em;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-ink);
	font-family: var(--ed-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: .005em;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s var(--ed-ease), box-shadow .2s ease;
	box-sizing: border-box;
}
.ed-btn:hover { text-decoration: none; transform: translateY(-1px); }
.ed-btn:active { transform: translateY(0); }
.ed-btn[disabled], .ed-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; }

/* stitched-label detail on solid buttons */
.ed-btn--primary::before,
.ed-btn--accent::before {
	content: "";
	position: absolute;
	inset: 4px;
	border: 1px dashed rgba(255, 252, 247, .38);
	border-radius: inherit;
	pointer-events: none;
}
.ed-btn--primary, .ed-btn--primary:focus { background: var(--ed-primary); color: var(--ed-primary-ink); }
.ed-btn--primary:hover { background: var(--ed-primary-hover); color: var(--ed-primary-ink); }
.ed-btn--accent, .ed-btn--accent:focus { background: var(--ed-accent); color: var(--ed-accent-ink); }
.ed-btn--accent:hover { background: var(--ed-accent-hover); color: var(--ed-accent-ink); }
.ed-btn--ghost, .ed-btn--ghost:focus { background: transparent; border-color: currentColor; color: var(--ed-ink); }
.ed-btn--ghost:hover { background: var(--ed-ink-08); color: var(--ed-ink); }
.ed-btn--soft, .ed-btn--soft:focus { background: var(--ed-surface); border-color: var(--ed-line); color: var(--ed-ink); }
.ed-btn--soft:hover { border-color: var(--ed-ink); color: var(--ed-ink); }
.ed-btn--lg { min-height: 56px; padding: .9em 1.75em; font-size: 1.05rem; }
.ed-btn--sm { min-height: 44px; padding: .55em 1.1em; font-size: .92rem; }
.ed-btn--block { display: flex; width: 100%; }

/* arrow icons: add .ed-btn--arrow (→) or .ed-btn--out (↗ external) */
.ed-btn--arrow::after,
.ed-btn--out::after,
.ed-more::after {
	content: "";
	width: 1.05em; height: 1.05em; flex: none;
	background: currentColor;
	-webkit-mask: var(--ed-i-arrow) center / contain no-repeat;
	mask: var(--ed-i-arrow) center / contain no-repeat;
	transition: transform .25s var(--ed-ease);
}
.ed-btn--out::after { -webkit-mask-image: var(--ed-i-out); mask-image: var(--ed-i-out); }
.ed-btn--arrow:hover::after, .ed-more:hover::after { transform: translateX(3px); }
.ed-btn--out:hover::after { transform: translate(2px, -2px); }

/* text link with arrow */
.ed-more {
	display: inline-flex; align-items: center; gap: .45em;
	min-height: 44px;
	font-weight: 600;
	color: var(--ed-primary);
	text-decoration: none;
	background: var(--ed-underline-clay) left bottom 6px / 100% 7px no-repeat;
	background-size: 0 7px;
	transition: background-size .35s var(--ed-ease), color .2s ease;
}
.ed-more:hover { color: var(--ed-accent); background-size: calc(100% - 1.5em) 7px; }

/* --- form controls ------------------------------------------------------ */
.ed-label {
	display: block;
	margin: 0 0 6px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--ed-ink);
	line-height: 1.3;
}
.ed-input,
.ed-select {
	-webkit-appearance: none; appearance: none;
	display: block;
	width: 100%;
	min-height: 48px;
	padding: .7em 1em;
	border: 1.5px solid var(--ed-line-strong);
	border-radius: 12px;
	background-color: var(--ed-surface);
	color: var(--ed-ink);
	font: 500 1rem/1.3 var(--ed-font-body);
	box-shadow: inset 0 1px 0 rgba(36, 48, 31, .04);
	transition: border-color .2s ease, box-shadow .2s ease;
	box-sizing: border-box;
}
.ed-input::placeholder { color: #7A7F6C; opacity: 1; }
.ed-input:hover, .ed-select:hover { border-color: var(--ed-muted); }
.ed-input:focus, .ed-select:focus {
	outline: none;
	border-color: var(--ed-primary);
	box-shadow: 0 0 0 4px rgba(62, 90, 43, .16);
}
.ed-select {
	padding-right: 2.6em;
	background-image: var(--ed-chevron);
	background-repeat: no-repeat;
	background-position: right .9em center;
	background-size: 18px;
	cursor: pointer;
}
textarea.ed-input { min-height: 120px; resize: vertical; line-height: 1.5; }

/* --- badge -------------------------------------------------------------- */
.ed-badge {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	padding: .32em .75em .3em;
	border-radius: 999px;
	background: var(--ed-highlight);
	color: var(--ed-ink);
	font: 700 .72rem/1.2 var(--ed-font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}
.ed-badge--sage { background: var(--ed-sage); }
.ed-badge--rose { background: var(--ed-rose); }
.ed-badge--clay { background: var(--ed-accent); color: var(--ed-accent-ink); }
.ed-badge--moss { background: var(--ed-primary); color: var(--ed-primary-ink); }
.ed-badge--line { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; color: var(--ed-primary); }

/* --- notes -------------------------------------------------------------- */
.ed-note {
	display: flex;
	align-items: flex-start;
	gap: .6em;
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: var(--ed-muted);
}
.ed-note::before {
	content: "";
	width: 1.15em; height: 1.15em; flex: none; margin-top: .12em;
	background: currentColor;
	-webkit-mask: var(--ed-i-info) center / contain no-repeat;
	mask: var(--ed-i-info) center / contain no-repeat;
}
.ed-note--center { justify-content: center; text-align: left; }

/* leaf bullet list */
.ed-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55em; }
.ed-list > li { position: relative; padding-left: 1.6em; }
.ed-list > li::before {
	content: ""; position: absolute; left: 0; top: .32em;
	width: 1em; height: 1em;
	background: var(--ed-primary);
	-webkit-mask: var(--ed-i-leaf) center / contain no-repeat;
	mask: var(--ed-i-leaf) center / contain no-repeat;
}


/* ==========================================================================
   04  HAND-MADE ACCENTS
   ========================================================================== */

/* handwritten word (use for 1–2 words per view, ≥ 22px) */
.ed-hand {
	font-family: var(--ed-font-hand);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	color: var(--ed-accent);
	line-height: 1;
}
.ed-hand--title {
	display: inline-block;
	font-size: .74em;
	line-height: .8;
	padding-inline: .06em;
	transform: rotate(-3deg) translateY(-.04em);
	white-space: nowrap;
}

/* hand-drawn chamomile underline */
.ed-underline {
	background: var(--ed-underline) left 0 bottom -.04em / 100% .42em no-repeat;
	padding-bottom: .04em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.ed-underline--clay { background-image: var(--ed-underline-clay); background-size: 100% .3em; }

/* hand-drawn circle around a word */
.ed-circled { position: relative; display: inline-block; white-space: nowrap; }
.ed-circled::after {
	content: "";
	position: absolute;
	inset: -.2em -.38em -.14em -.34em;
	background: var(--ed-circle) center / 100% 100% no-repeat;
	pointer-events: none;
}

/* marker highlight */
.ed-mark {
	background: linear-gradient(104deg, transparent .2em, var(--ed-chamomile-soft) .2em, var(--ed-highlight) 60%, transparent calc(100% - .1em)) 0 85% / 100% .55em no-repeat;
	color: inherit;
	padding-inline: .1em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* paper card + washi tape */
.ed-paper {
	position: relative;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 10px 12px 10px 14px;
	box-shadow: var(--ed-shadow);
	padding: clamp(18px, 1rem + 1vw, 28px);
}
.ed-paper--stack { box-shadow: 7px 9px 0 -1px var(--ed-rose), 7px 9px 0 0 rgba(36, 48, 31, .08), var(--ed-shadow); }
.ed-tape,
.ed-paper--taped::after {
	content: "";
	position: absolute;
	top: -14px;
	left: 50%;
	width: 112px;
	height: 28px;
	transform: translateX(-50%) rotate(-3.5deg);
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .22) 0 5px, transparent 5px 11px),
		rgba(243, 203, 79, .62);
	clip-path: polygon(0 6%, 3% 0, 6% 9%, 9% 0, 91% 0, 94% 8%, 97% 0, 100% 7%, 100% 94%, 97% 100%, 94% 91%, 91% 100%, 9% 100%, 6% 92%, 3% 100%, 0 93%);
	pointer-events: none;
}
.ed-tape--rose { background-color: rgba(233, 178, 160, .6); }

/* vine divider */
.ed-divider {
	height: 24px; border: 0; margin: 0 auto; max-width: 220px;
	background: url("img/chamomile.svg") center / auto 24px no-repeat;
	opacity: .9;
}


/* ==========================================================================
   05  PLUGIN COMPONENTS
   ========================================================================== */

/* --- 05a  Products: [ed_produkty] -------------------------------------- */
.ed-products { margin: 0; }
.ed-products__title {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(1.85rem, 1.4rem + 1.9vw, 3rem);
	line-height: 1.08;
	margin: 0 0 clamp(22px, 1.4rem + 1vw, 40px);
}
.ed-eyebrow + .ed-products .ed-products__title { margin-top: .3rem; }

.ed-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 720px) { .ed-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ed-gap); } }
@media (min-width: 1024px) { .ed-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ed-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 20px;
	overflow: hidden;
	transition: transform .3s var(--ed-ease), box-shadow .3s ease, border-color .3s ease;
}
.ed-card:hover { transform: translateY(-3px); box-shadow: var(--ed-shadow-lift); border-color: var(--ed-line-strong); }

.ed-card__img {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	margin: 6px 6px 0;
	border-radius: 15px;
	background: var(--ed-well);
	overflow: hidden;
	isolation: isolate;
}
.ed-card__img img,
img.ed-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 9%;
	box-sizing: border-box;
	mix-blend-mode: multiply;       /* white packshot backgrounds melt into the oat well */
	transition: transform .5s var(--ed-ease);
}
img.ed-card__img { width: calc(100% - 12px); height: auto; }
.ed-card:hover .ed-card__img img { transform: scale(1.045) rotate(-.6deg); }

.ed-card .ed-badge { position: absolute; top: 14px; left: 14px; z-index: 2; }

.ed-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 4px;
	padding: 12px 12px 12px;
}
@media (min-width: 720px) { .ed-card__body { padding: 14px 16px 16px; } }

.ed-card__brand {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: .7rem;
	font-weight: 650;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--ed-muted);
	line-height: 1.4;
}
.ed-card__title {
	margin: 0;
	font-family: var(--ed-font-body);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.32;
	letter-spacing: 0;
	color: var(--ed-ink);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	text-wrap: pretty;
}
@media (min-width: 720px) { .ed-card__title { font-size: 1rem; } }
.ed-card__title a { color: inherit; text-decoration: none; }
.ed-card__title a:hover { text-decoration: underline; text-decoration-color: var(--ed-highlight); text-decoration-thickness: 3px; }

.ed-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin-top: auto;              /* price + button sit on the card floor */
	padding-top: 10px;
	font-family: var(--ed-font-head);
	font-size: 1.22rem;
	line-height: 1.15;
	color: var(--ed-ink);
}
.ed-card__price del { order: 2; font-size: .72em; color: var(--ed-muted); text-decoration-thickness: 1px; }
.ed-card__price ins { order: 1; text-decoration: none; color: var(--ed-accent); }
.ed-card__price .woocommerce-Price-amount { font: inherit; color: inherit; }
.ed-card__price .woocommerce-Price-currencySymbol { font-size: .86em; margin-left: .08em; }

.ed-card__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45em;
	min-height: 44px;
	margin-top: 10px;
	padding: .55em .9em;
	border: 0;
	border-radius: 999px;
	background: var(--ed-clay-soft);
	color: var(--ed-accent-hover);
	font: 600 .93rem/1.1 var(--ed-font-body);
	text-decoration: none;
	text-transform: none;
	letter-spacing: .005em;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, transform .2s var(--ed-ease);
}
.ed-card__btn::after {
	content: "";
	width: 1em; height: 1em; flex: none;
	background: currentColor;
	-webkit-mask: var(--ed-i-out) center / contain no-repeat;
	mask: var(--ed-i-out) center / contain no-repeat;
	transition: transform .25s var(--ed-ease);
}
.ed-card__btn:hover,
.ed-card:hover .ed-card__btn { background: var(--ed-accent); color: var(--ed-accent-ink); text-decoration: none; }
.ed-card__btn:hover { background: var(--ed-accent-hover); }
.ed-card__btn:hover::after { transform: translate(2px, -2px); }
.ed-card__note, .ed-products__note { margin-top: 18px; }

/* --- 05b  Posts / Poradňa: [ed_poradna] -------------------------------- */
.ed-posts {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ed-posts > :not(.ed-post) { grid-column: 1 / -1; }
.ed-post {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	margin: 0;
}
.ed-post__img {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 22px;
	overflow: hidden;
	background: var(--ed-soft);
	isolation: isolate;
}
.ed-post__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ed-ease); }
.ed-post:hover .ed-post__img img { transform: scale(1.04); }
.ed-post__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ed-post__cat {
	position: relative; z-index: 2;
	align-self: flex-start;
	display: inline-flex; align-items: center; gap: .5em;
	font-size: .74rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ed-accent);
	text-decoration: none;
}
.ed-post__cat::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ed-post__cat a { color: inherit; text-decoration: none; }
.ed-post__title {
	margin: 0;
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(1.3rem, 1.15rem + .55vw, 1.55rem);
	line-height: 1.16;
	text-wrap: balance;
}
.ed-post__title a {
	color: var(--ed-ink);
	text-decoration: none;
	background: linear-gradient(var(--ed-highlight), var(--ed-highlight)) left 0 bottom .05em / 0 .32em no-repeat;
	transition: background-size .4s var(--ed-ease);
}
.ed-post__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 22px; }
.ed-post:hover .ed-post__title a { background-size: 100% .32em; }
.ed-post__title a:focus-visible { outline: none; }
.ed-post__title a:focus-visible::after { outline: 2.5px solid var(--ed-focus); outline-offset: 6px; }
.ed-post__excerpt {
	margin: 0;
	color: var(--ed-muted);
	font-size: .98rem;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.ed-post__excerpt p { margin: 0; }
.ed-post__meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px;
	margin: 0;
	font-size: .84rem; color: var(--ed-muted);
}
.ed-post__meta > * + *::before { content: "·"; margin-right: 14px; margin-left: -6px; opacity: .7; }

@media (max-width: 639px) {
	.ed-posts > .ed-post:not(:first-child) {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}
	.ed-posts > .ed-post:not(:first-child) .ed-post__img { aspect-ratio: 1 / 1; border-radius: 16px; }
	.ed-posts > .ed-post:not(:first-child) .ed-post__title { font-size: 1.15rem; }
	.ed-posts > .ed-post:not(:first-child) .ed-post__excerpt { display: none; }
	.ed-posts > .ed-post:not(:first-child) .ed-post__body { gap: 6px; }
}
@media (min-width: 640px) and (max-width: 979px) {
	.ed-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ed-posts > .ed-post:first-child { grid-column: 1 / -1; }
	.ed-posts > .ed-post:first-child .ed-post__img { aspect-ratio: 16 / 9; }
}
/* editorial layout: one feature + stacked side stories */
@media (min-width: 980px) {
	.ed-posts { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px 48px; }
	.ed-posts > .ed-post:first-child { grid-row: span 3; }
	.ed-posts > .ed-post:first-child .ed-post__img { aspect-ratio: 5 / 4; }
	.ed-posts > .ed-post:first-child .ed-post__title { font-size: clamp(1.7rem, 1.2rem + 1vw, 2.2rem); }
	.ed-posts > .ed-post:not(:first-child) {
		display: grid;
		grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
		gap: 22px;
		align-items: center;
		padding-bottom: 26px;
		border-bottom: 1px solid var(--ed-line);
	}
	.ed-posts > .ed-post:not(:first-child):last-child { border-bottom: 0; padding-bottom: 0; }
	.ed-posts > .ed-post:not(:first-child) .ed-post__img { aspect-ratio: 1 / 1; border-radius: 18px; }
	.ed-posts > .ed-post:not(:first-child) .ed-post__excerpt { -webkit-line-clamp: 2; line-clamp: 2; }
}

/* --- 05c  Category tiles: [ed_kategorie] ------------------------------- */
.ed-cats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 600px) { .ed-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ed-gap); } }
@media (min-width: 1024px) { .ed-cats { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ed-cats > li { display: contents; }

/* each tile is a paper shop tag with a punched hole */
.ed-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	min-height: 100%;
	padding: 30px 12px 18px;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 18px 18px 22px 22px;
	color: var(--ed-ink);
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	transition: transform .3s var(--ed-ease), box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}
.ed-cat::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 50%;
	width: 9px; height: 9px;
	margin-left: -5px;
	border-radius: 50%;
	background: var(--ed-bg);
	box-shadow: inset 0 0 0 1.5px var(--ed-line-strong);
}
.ed-cat:hover {
	transform: translateY(-4px) rotate(-.6deg);
	border-color: var(--ed-line-strong);
	box-shadow: var(--ed-shadow-lift);
	color: var(--ed-ink);
	text-decoration: none;
}
.ed-cat:nth-child(even):hover { transform: translateY(-4px) rotate(.6deg); }
.ed-cat__img {
	display: grid;
	place-items: center;
	width: clamp(72px, 50px + 5vw, 96px);
	aspect-ratio: 1 / 1;
	margin: 0 auto 4px;
}
.ed-cat__img img, .ed-cat__img svg, img.ed-cat__img {
	display: block; width: 100%; height: 100%; object-fit: contain;
	transition: transform .45s var(--ed-ease);
}
.ed-cat:hover .ed-cat__img img, .ed-cat:hover .ed-cat__img svg, .ed-cat:hover img.ed-cat__img { transform: rotate(-5deg) scale(1.06); }
.ed-cat__name {
	display: block;
	font-family: var(--ed-font-head);
	font-size: clamp(1.02rem, .95rem + .3vw, 1.18rem);
	line-height: 1.15;
	color: var(--ed-ink);
	text-wrap: balance;
}
.ed-cat__count {
	display: inline-block;
	margin-top: auto;
	padding: .22em .7em;
	border-radius: 999px;
	background: var(--ed-bg);
	font-size: .76rem;
	font-weight: 500;
	color: var(--ed-muted);
	line-height: 1.4;
}

/* --- 05d  "Trápi ma…" chips -------------------------------------------- */
.ed-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ed-chip {
	-webkit-appearance: none; appearance: none;
	display: inline-flex;
	align-items: center;
	gap: .5em;
	min-height: 44px;
	margin: 0;
	padding: .5em 1.05em .5em .8em;
	border: 1.5px solid var(--ed-ink-14);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-ink);
	font: 500 .97rem/1.2 var(--ed-font-body);
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	cursor: pointer;
	box-shadow: 0 1px 0 rgba(36, 48, 31, .05);
	transition: background-color .2s ease, border-color .2s ease, transform .25s var(--ed-ease), box-shadow .2s ease, color .2s ease;
}
.ed-chip svg {
	width: 20px; height: 20px; flex: none;
	color: var(--ed-primary);
	fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
	transition: transform .3s var(--ed-ease), color .2s ease;
}
.ed-chip:focus { background: var(--ed-surface); color: var(--ed-ink); box-shadow: 0 1px 0 rgba(36, 48, 31, .05); }
.ed-chip:hover {
	background: var(--ed-chamomile-soft);
	border-color: var(--ed-ink);
	color: var(--ed-ink);
	transform: translateY(-2px) rotate(-1deg);
	box-shadow: 0 8px 16px -12px rgba(36, 48, 31, .5);
}
.ed-chip:nth-child(3n):hover { transform: translateY(-2px) rotate(1deg); }
.ed-chip:hover svg { transform: rotate(-10deg) scale(1.08); color: var(--ed-accent); }
.ed-chip:active { transform: translateY(0) scale(.98); }
.ed-chip[aria-pressed="true"], .ed-chip.is-active {
	background: var(--ed-primary); border-color: var(--ed-primary); color: var(--ed-primary-ink);
}
.ed-chip[aria-pressed="true"] svg, .ed-chip.is-active svg { color: var(--ed-highlight); }


/* ==========================================================================
   06  HOMEPAGE SECTIONS
   (wrap the whole page fragment in .ed-home)
   ========================================================================== */
.ed-home { position: relative; overflow-x: clip; }
.ed-home > .ed-section:first-child { padding-top: clamp(28px, 1rem + 3vw, 72px); }

/* --- 06a  Hero ---------------------------------------------------------- */
.ed-hero__grid {
	display: grid;
	gap: 40px;
	align-items: center;
}
@media (min-width: 980px) {
	.ed-hero__grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; }
}
.ed-hero__title {
	margin: .35rem 0 1.25rem;
	font-size: clamp(2.6rem, 1.55rem + 4.6vw, 5.1rem);
	line-height: 1.0;
	letter-spacing: -.02em;
	max-width: 12.5em;
}
.ed-hero__title .ed-hand--title { color: var(--ed-accent); }
.ed-hero__lead {
	max-width: 33rem;
	font-size: clamp(1.06rem, 1rem + .3vw, 1.2rem);
	line-height: 1.6;
	color: var(--ed-muted);
}
.ed-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
@media (max-width: 479px) { .ed-hero__ctas .ed-btn { flex: 1 1 100%; } }
.ed-hero__trust {
	display: flex; flex-wrap: wrap; gap: 10px 22px;
	margin: 26px 0 0; padding: 0; list-style: none;
	font-size: .92rem; font-weight: 500; color: var(--ed-ink);
}
.ed-hero__trust li { display: inline-flex; align-items: center; gap: .5em; }
.ed-hero__trust li::before {
	content: ""; width: 1.05em; height: 1.05em; flex: none;
	background: var(--ed-primary);
	-webkit-mask: var(--ed-i-check) center / contain no-repeat;
	mask: var(--ed-i-check) center / contain no-repeat;
}

/* aside = seasonal radar slot, framed like a taped herbarium sheet */
.ed-hero__aside {
	position: relative;
	padding: 36px 6px 8px;
	max-width: 560px;
	width: 100%;
	justify-self: center;
	box-sizing: border-box;
}
.ed-hero__aside::before {          /* pressed chamomile peeking from behind */
	content: "";
	position: absolute;
	z-index: 0;
	top: -14px;
	right: 6px;
	width: 120px;
	height: 160px;
	background: url("img/chamomile.svg") center / contain no-repeat;
	transform: rotate(8deg);
	transform-origin: 50% 100%;
	animation: ed-sway 7s ease-in-out infinite alternate;
	pointer-events: none;
}
.ed-hero__sheet {
	position: relative;
	z-index: 1;
	transform: rotate(-1.4deg);
}
.ed-hero__sheet > * { transform: rotate(1.4deg); }   /* keep widget text straight */
.ed-hero__sheet.ed-paper { padding: 22px; }
.ed-hero__note {
	position: relative;
	z-index: 2;
	display: block;
	margin: 0 0 4px 8px;
	font-family: var(--ed-font-hand);
	font-size: 1.3rem;
	line-height: 1.2;
	color: var(--ed-accent);
	transform: rotate(-4deg);
	transform-origin: left center;
	width: max-content;
	max-width: 100%;
}
.ed-hero__note::after {
	content: "";
	position: absolute;
	right: -48px; top: 14px;
	width: 46px; height: 40px;
	background: var(--ed-note-arrow) center / contain no-repeat;
}
@media (max-width: 479px) {
	.ed-hero__note { font-size: 1.1rem; max-width: calc(100% - 96px); }
	.ed-hero__note::after { display: none; }
	.ed-hero__aside::before { width: 90px; height: 120px; top: 0; right: 0; }
}
@media (min-width: 980px) {
	.ed-hero__aside { padding-top: 52px; }
	.ed-hero__aside::before { top: -44px; right: 4px; width: 160px; height: 214px; }
}

/* --- 06b  Problem selector panel --------------------------------------- */
.ed-problems {
	position: relative;
	display: grid;
	gap: 22px;
	padding: 28px 20px 24px;
	border-radius: var(--ed-radius-lg);
	background-color: var(--ed-sage);
	background-image: var(--ed-grain);
	overflow: hidden;
}
.ed-problems::after {               /* lavender/oil drawing tucked in the corner */
	content: "";
	position: absolute;
	right: -14px; bottom: -16px;
	width: 150px; height: 150px;
	background: url("img/cat-aroma.svg") center / contain no-repeat;
	opacity: .5;
	transform: rotate(-8deg);
	pointer-events: none;
}
.ed-problems > * { position: relative; z-index: 1; }
.ed-problems__head > * { margin: 0; }
.ed-problems__title {
	margin: .2rem 0 .6rem;
	font-size: clamp(2.3rem, 1.6rem + 3vw, 3.8rem);
	line-height: 1;
}
.ed-problems__title .ed-hand { font-size: .62em; margin-left: .15em; vertical-align: .08em; }
.ed-problems__lead { color: var(--ed-ink); opacity: .85; max-width: 30rem; }
.ed-problems__note { grid-column: 1 / -1; color: var(--ed-muted); font-size: .86rem; padding-right: 110px; }
.ed-problems .ed-chip { border-color: rgba(36, 48, 31, .18); }
@media (min-width: 980px) {
	.ed-problems {
		grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
		gap: 26px 56px;
		align-items: center;
		padding: 56px 56px 44px;
	}
	.ed-problems::after { width: 190px; height: 190px; right: -10px; bottom: -22px; }
}

/* --- 06c  Routine mini-app wrapper (around [ed_rutina]) ---------------- */
.ed-routine {
	display: grid;
	border-radius: var(--ed-radius-lg);
	overflow: hidden;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	box-shadow: var(--ed-shadow);
}
@media (min-width: 980px) {
	.ed-routine { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.ed-routine__intro {
	--ed-focus: var(--ed-highlight);
	position: relative;
	padding: 32px 22px 30px;
	background-color: var(--ed-primary);
	background-image: var(--ed-grain);
	color: var(--ed-primary-ink);
	overflow: hidden;
}
.ed-routine__intro::after {
	content: "";
	position: absolute;
	right: -30px; bottom: -40px;
	width: 180px; height: 240px;
	background: url("img/chamomile.svg") center / contain no-repeat;
	opacity: .2;
	filter: grayscale(1) brightness(3);
	transform: rotate(-12deg);
	pointer-events: none;
}
.ed-routine__intro > * { position: relative; z-index: 1; }
.ed-routine__intro .ed-eyebrow { color: var(--ed-chamomile-soft); }
.ed-routine__intro .ed-eyebrow::before { background: var(--ed-highlight); }
.ed-routine__title {
	margin: .35rem 0 .9rem;
	color: var(--ed-primary-ink);
	font-size: clamp(1.9rem, 1.4rem + 1.9vw, 2.9rem);
}
.ed-routine__title .ed-hand { color: var(--ed-highlight); }
.ed-routine__intro p { color: rgba(255, 252, 247, .88); max-width: 30rem; }
.ed-routine__steps {
	counter-reset: ed-step;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
}
.ed-routine__steps li {
	counter-increment: ed-step;
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 12px;
	align-items: center;
	font-weight: 500;
	line-height: 1.35;
}
.ed-routine__steps li::before {
	content: counter(ed-step);
	display: grid; place-items: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: rgba(255, 252, 247, .12);
	box-shadow: inset 0 0 0 1.5px rgba(250, 235, 190, .55);
	font-family: var(--ed-font-head);
	font-size: 1.05rem;
	color: var(--ed-chamomile-soft);
}
.ed-routine__app {
	padding: 22px 16px 26px;
	min-width: 0;
	background: var(--ed-surface);
}
@media (min-width: 768px) {
	.ed-routine__intro { padding: 48px 44px 44px; }
	.ed-routine__app { padding: 40px 40px 40px; }
}

/* --- 06d  Values strip --------------------------------------------------- */
.ed-values {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin: 0; padding: 0; list-style: none;
}
@media (min-width: 600px) { .ed-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 28px; } }
@media (min-width: 1024px) { .ed-values { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ed-value { display: grid; grid-template-columns: 68px 1fr; gap: 6px 18px; align-items: start; align-content: start; }
@media (min-width: 1024px) { .ed-value { grid-template-columns: 1fr; gap: 12px; } }
.ed-value__icon {
	grid-row: span 2;
	display: grid; place-items: center;
	width: 68px; height: 68px;
	background:
		var(--ed-ring-moss) center / 100% 100% no-repeat,
		radial-gradient(circle at 58% 60%, var(--ed-spot, var(--ed-chamomile-soft)) 0 54%, transparent 55%);
	color: var(--ed-primary);
}
.ed-value:nth-child(4n+2) .ed-value__icon { --ed-spot: var(--ed-rose); }
.ed-value:nth-child(4n+3) .ed-value__icon { --ed-spot: var(--ed-sage); }
.ed-value:nth-child(4n+4) .ed-value__icon { --ed-spot: var(--ed-clay-soft); }
.ed-value__icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 1024px) { .ed-value__icon { grid-row: auto; } }
.ed-value__title { margin: 0; font-size: 1.22rem; line-height: 1.2; }
.ed-value__text { margin: 0; color: var(--ed-muted); font-size: .97rem; }

/* --- 06e  How it works --------------------------------------------------- */
.ed-steps {
	counter-reset: ed-how;
	display: grid;
	gap: 26px;
	margin: 0; padding: 0; list-style: none;
}
@media (min-width: 860px) { .ed-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }
.ed-step {
	counter-increment: ed-how;
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 4px 18px;
	align-items: start;
}
@media (min-width: 860px) { .ed-step { grid-template-columns: 1fr; gap: 12px; } }
.ed-step::before {
	content: counter(ed-how);
	grid-row: span 2;
	display: grid; place-items: center;
	width: 72px; height: 72px;
	background: var(--ed-ring) center / 100% 100% no-repeat;
	font-family: var(--ed-font-head);
	font-size: 2.1rem;
	line-height: 1;
	color: var(--ed-accent);
}
@media (min-width: 860px) {
	.ed-step::before { grid-row: auto; }
	.ed-step:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 24px; left: 92px; right: -28px;
		height: 22px;
		background: var(--ed-dash-arrow) center / 100% 100% no-repeat;
		opacity: .8;
	}
}
.ed-step__title { margin: 0; font-size: 1.3rem; }
.ed-step__text { margin: 0; color: var(--ed-muted); }

.ed-disclosure {
	margin-top: 44px;
	display: grid;
	gap: 14px;
	max-width: 760px;
}
.ed-disclosure.ed-paper { padding: 30px 22px 24px; }
@media (min-width: 768px) {
	.ed-disclosure.ed-paper { max-width: 860px; padding: 36px 230px 30px 40px; }
	.ed-disclosure.ed-paper::before {      /* pressed chamomile taped to the sheet */
		content: "";
		position: absolute;
		right: 36px; top: 50%;
		width: 150px; height: 200px;
		margin-top: -100px;
		background: url("img/chamomile.svg") center / contain no-repeat;
		transform: rotate(-14deg);
	}
	.ed-disclosure.ed-paper::after { left: auto; right: 64px; top: auto; bottom: 34px; width: 84px; transform: rotate(24deg); }
}
.ed-disclosure__title { margin: 0; font-size: 1.35rem; }
.ed-disclosure p { margin: 0; color: var(--ed-ink); }
.ed-signature,
.ed-disclosure .ed-signature {
	font-family: var(--ed-font-hand);
	font-size: 1.35rem;
	line-height: 1.3;
	color: var(--ed-accent);
	transform: rotate(-2deg);
	transform-origin: left;
	margin-top: 4px;
}

/* --- 06f  FAQ ------------------------------------------------------------ */
.ed-faq-wrap { display: grid; gap: 36px; }
@media (min-width: 980px) { .ed-faq-wrap { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 64px; align-items: start; } }
.ed-faq-aside { display: grid; gap: 22px; align-content: start; }
.ed-faq-aside .ed-section__head { margin-bottom: 0; }
@media (max-width: 979px) {
	.ed-faq-aside { display: contents; }
	.ed-faq-aside .ed-helpcard { order: 3; }
}
@media (min-width: 980px) { .ed-faq-aside { position: sticky; top: 110px; } }
.ed-faq { margin: 0; }
.ed-faq > h2, .ed-faq > h3 { margin: 0 0 18px; }
.ed-faq details, .ed-faq__item { margin: 0; border-bottom: 1px solid var(--ed-line-strong); }
.ed-faq > details:first-of-type, .ed-faq > .ed-faq__item:first-of-type { border-top: 1px solid var(--ed-line-strong); }
.ed-faq summary {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 64px;
	padding: 16px 52px 16px 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--ed-font-head);
	font-size: clamp(1.08rem, 1rem + .35vw, 1.28rem);
	line-height: 1.25;
	color: var(--ed-ink);
	transition: color .2s ease;
}
.ed-faq summary::-webkit-details-marker { display: none; }
.ed-faq summary::marker { content: ""; }
.ed-faq summary::before,
.ed-faq summary::after {          /* plus → minus, drawn as two pen strokes */
	content: "";
	position: absolute;
	right: 12px; top: 50%;
	width: 18px; height: 2.2px;
	margin-top: -1px;
	border-radius: 2px;
	background: var(--ed-accent);
	transition: transform .3s var(--ed-ease), opacity .3s ease;
}
.ed-faq summary::after { transform: rotate(90deg); }
.ed-faq details[open] > summary { color: var(--ed-primary); }
.ed-faq details[open] > summary::after { transform: rotate(0deg); opacity: 0; }
.ed-faq summary:hover { color: var(--ed-primary); }
.ed-faq summary:focus-visible { outline-offset: -2px; }
.ed-faq__answer, .ed-faq__a { padding: 0 48px 22px 0; color: var(--ed-muted); }
.ed-faq__answer > :last-child, .ed-faq__a > :last-child { margin-bottom: 0; }
.ed-faq details[open] > summary + * { animation: ed-rise .35s var(--ed-ease) both; }

.ed-helpcard { display: grid; gap: 12px; justify-items: start; }
.ed-helpcard.ed-paper { padding: 28px 24px 24px; }
.ed-helpcard p { margin: 0; color: var(--ed-muted); }
.ed-helpcard__title { margin: 0; font-size: 1.35rem; }


/* ==========================================================================
   07  KADENCE HEADER · NAVIGATION · SEARCH · MOBILE DRAWER
   Layout (rows, sticky, items) is configured in the Customizer; this layer
   only skins it.
   ========================================================================== */
#masthead { position: relative; z-index: 50; }
#masthead .site-header-row-container-inner {
	background-color: var(--ed-bg);
	background-image: var(--ed-grain);
}
#masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid var(--ed-line); }

/* top bar = honest affiliate note */
#masthead .site-top-header-wrap .site-header-row-container-inner {
	background: var(--ed-primary);
	color: var(--ed-primary-ink);
	font-size: .84rem;
	font-weight: 500;
}
#masthead .site-top-header-wrap a { color: var(--ed-chamomile-soft); }

/* sticky state */
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-header-row-container-inner,
#masthead .item-is-stuck .site-header-row-container-inner {
	background-color: rgba(245, 239, 228, .94);
	-webkit-backdrop-filter: saturate(1.2) blur(8px);
	backdrop-filter: saturate(1.2) blur(8px);
	box-shadow: 0 10px 24px -20px rgba(36, 48, 31, .6);
}

.site-branding a.brand img { max-height: 44px; width: auto; }
.site-branding .site-title { font-family: var(--ed-font-head); font-weight: 400; color: var(--ed-ink); }

/* primary menu */
.header-navigation .header-menu-container > ul > li.menu-item > a {
	position: relative;
	font-family: var(--ed-font-body);
	font-size: .97rem;
	font-weight: 600;
	letter-spacing: .005em;
	color: var(--ed-ink);
	text-decoration: none;
	min-height: 44px;
	isolation: isolate;
}
.header-navigation .header-menu-container > ul > li.menu-item > a::after {
	content: "";
	position: absolute;
	left: var(--ed-nav-pad, .9em);
	right: var(--ed-nav-pad, .9em);
	bottom: .55em;
	height: 7px;
	background: var(--ed-underline) left center / 100% 100% no-repeat;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--ed-ease);
	z-index: -1;
}
.header-navigation .header-menu-container > ul > li.menu-item > a:hover,
.header-navigation .header-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current-menu-ancestor > a { color: var(--ed-ink); }
.header-navigation .header-menu-container > ul > li.menu-item > a:hover::after,
.header-navigation .header-menu-container > ul > li.current-menu-item > a::after,
.header-navigation .header-menu-container > ul > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.header-navigation .menu-label-icon-wrap { color: var(--ed-primary) !important; }

/* dropdowns & mega menu */
.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu {
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 16px;
	box-shadow: 0 24px 48px -28px rgba(36, 48, 31, .55);
	padding: 8px;
}
.header-navigation .header-menu-container ul ul li.menu-item > a {
	border-radius: 10px;
	color: var(--ed-ink);
	font-size: .94rem;
	font-weight: 500;
	padding: .6em .9em;
	border-bottom: 0;
	text-decoration: none;
}
.header-navigation .header-menu-container ul ul li.menu-item > a:hover,
.header-navigation .header-menu-container ul ul li.current-menu-item > a {
	background: var(--ed-bg);
	color: var(--ed-primary);
}
.header-navigation .header-menu-container ul ul li.menu-item { border: 0; }
.kadence-menu-mega-enabled > ul.sub-menu > li.menu-item > a {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: 1.06rem !important;
	color: var(--ed-ink);
}

/* header search & icons */
.search-toggle-open,
.menu-toggle-open,
.header-cart-button {
	min-width: 44px;
	min-height: 44px;
	color: var(--ed-ink) !important;
	border-radius: 999px;
}
.search-toggle-open:hover, .menu-toggle-open:hover { color: var(--ed-primary) !important; background: var(--ed-ink-08); }
.search-toggle-open .kadence-svg-iconset svg { width: 1.15em; height: 1.15em; }

/* header search bar (Kadence Pro "Search Bar" item) */
.header-search-bar form,
.mobile-header-search-bar form { position: relative; }
.header-search-bar input.search-field,
.mobile-header-search-bar input.search-field {
	min-height: 44px;
	padding: .6em 3em .6em 1.15em;
	border: 1.5px solid var(--ed-line-strong);
	border-radius: 999px;
	background: var(--ed-surface);
	font: 500 .95rem/1.2 var(--ed-font-body);
	color: var(--ed-ink);
}
.header-search-bar input.search-field:focus,
.mobile-header-search-bar input.search-field:focus { border-color: var(--ed-primary); box-shadow: 0 0 0 4px rgba(62, 90, 43, .16); outline: none; }

/* full-screen search drawer */
#search-drawer .drawer-inner {
	background: rgba(36, 48, 31, .97);
	color: var(--ed-bg);
}
#search-drawer .drawer-inner input.search-field {
	border: 0;
	border-bottom: 2px solid rgba(245, 239, 228, .5);
	border-radius: 0;
	background: transparent;
	color: var(--ed-bg);
	font-family: var(--ed-font-head);
	font-size: clamp(1.6rem, 1.2rem + 2vw, 2.6rem);
	padding: .3em 2em .3em 0;
}
#search-drawer .drawer-inner input.search-field::placeholder { color: rgba(245, 239, 228, .6); }
#search-drawer .drawer-inner input.search-field:focus { border-bottom-color: var(--ed-highlight); outline: none; }
#search-drawer .drawer-inner .search-submit[type="submit"],
#search-drawer .drawer-inner .kadence-search-icon-wrap { color: var(--ed-highlight); }
#search-drawer .drawer-header .drawer-toggle { color: var(--ed-bg); min-width: 44px; min-height: 44px; }

/* mobile drawer */
#mobile-drawer .drawer-inner {
	background-color: var(--ed-bg);
	background-image: var(--ed-grain);
	color: var(--ed-ink);
}
#mobile-drawer .drawer-header .drawer-toggle { color: var(--ed-ink); min-width: 44px; min-height: 44px; }
#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	color: var(--ed-ink);
	text-decoration: none;
}
#mobile-drawer .mobile-navigation > div > ul > li > a,
#mobile-drawer .mobile-navigation > div > ul > li > .drawer-nav-drop-wrap > a {
	font-family: var(--ed-font-head);
	font-size: 1.3rem;
	font-weight: 400;
	padding-block: .7em;
}
#mobile-drawer .mobile-navigation ul ul li > a { font-size: 1rem; font-weight: 500; padding-block: .65em; }
#mobile-drawer .mobile-navigation ul li:not(.menu-item-has-children) a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap { border-bottom: 1px solid var(--ed-line) !important; }
#mobile-drawer .mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button {
	border-left: 1px solid var(--ed-line) !important;
	color: var(--ed-primary);
	min-width: 48px;
}
#mobile-drawer .mobile-navigation ul li a:hover,
#mobile-drawer .mobile-navigation ul li.current-menu-item > a { color: var(--ed-primary); }
#mobile-drawer .mobile-navigation ul ul { background: transparent; }


/* ==========================================================================
   08  KADENCE FOOTER
   ========================================================================== */
#colophon,
.site-footer {
	--ed-focus: var(--ed-highlight);
	position: relative;
	margin-top: 64px;
	background-color: var(--ed-ink);
	color: rgba(245, 239, 228, .82);
	font-size: .95rem;
}
#colophon::before,
.site-footer::before {             /* organic wavy top edge */
	content: "";
	position: absolute;
	left: 0; right: 0; top: -47px;
	height: 48px;
	background: var(--ed-wave-ink) center bottom / 100% 100% no-repeat;
	pointer-events: none;
}
#colophon .site-footer-row-container-inner,
#colophon .site-top-footer-wrap .site-footer-row-container-inner,
#colophon .site-middle-footer-wrap .site-footer-row-container-inner,
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner { background: transparent; }
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid rgba(245, 239, 228, .14); }
#colophon a { color: var(--ed-bg); text-decoration: none; }
#colophon a:hover { color: var(--ed-highlight); text-decoration: underline; text-decoration-thickness: 1.5px; }
#colophon .widget-title,
#colophon .footer-widget-area .widget-title,
#colophon h2, #colophon h3, #colophon h4 {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: 1.2rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ed-bg);
}
#colophon ul { list-style: none; padding: 0; margin: 0; }
#colophon ul li { padding: .3em 0; }
#colophon .footer-html, #colophon .site-info { color: rgba(245, 239, 228, .7); font-size: .86rem; }


/* ==========================================================================
   09  WOOCOMMERCE ARCHIVES  (shop, categories, brands, search)
   ========================================================================== */

/* archive hero / title */
.entry-hero.product-archive-hero-section .entry-hero-container-inner,
.entry-hero.archive-hero-section .entry-hero-container-inner,
.entry-hero.post-archive-hero-section .entry-hero-container-inner {
	background-color: var(--ed-soft);
	background-image: var(--ed-grain);
}
.entry-hero .entry-header { min-height: 0; padding-block: clamp(28px, 1.5rem + 2vw, 56px); }
.woocommerce-products-header__title.page-title,
.product-archive-title .page-title,
.archive-title {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(2.1rem, 1.5rem + 2.6vw, 3.6rem);
	color: var(--ed-ink);
}
.term-description, .archive-description, .woocommerce-products-header .page-description {
	max-width: 46rem;
	color: var(--ed-muted);
	font-size: 1.05rem;
}

/* breadcrumbs (Kadence + Rank Math) */
.kadence-breadcrumbs,
.rank-math-breadcrumb {
	font-size: .86rem;
	color: var(--ed-muted);
	margin-bottom: 1rem;
}
.kadence-breadcrumbs a,
.rank-math-breadcrumb a { color: var(--ed-muted); text-decoration: none; }
.kadence-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover { color: var(--ed-primary); text-decoration: underline; }
.kadence-breadcrumbs .bc-delimiter,
.rank-math-breadcrumb .separator { color: var(--ed-line-strong); padding-inline: .45em; }
.kadence-breadcrumbs .kadence-bread-current,
.rank-math-breadcrumb .last { color: var(--ed-ink); font-weight: 500; }

/* toolbar */
.kadence-shop-top-row { align-items: center; gap: 12px; margin-bottom: 22px; }
.woocommerce .woocommerce-result-count { color: var(--ed-muted); font-size: .9rem; margin: 0; }
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select.orderby {
	-webkit-appearance: none; appearance: none;
	min-height: 44px;
	padding: .55em 2.6em .55em 1em;
	border: 1.5px solid var(--ed-line-strong);
	border-radius: 999px;
	background: var(--ed-surface) var(--ed-chevron) right .9em center / 16px no-repeat;
	color: var(--ed-ink);
	font: 500 .92rem/1.2 var(--ed-font-body);
	cursor: pointer;
}
.kadence-product-toggle-container .kadence-toggle-shop-layout {
	min-width: 44px; min-height: 44px;
	border-radius: 12px;
	color: var(--ed-muted);
	background: transparent;
	border: 1.5px solid transparent;
}
.kadence-product-toggle-container .kadence-toggle-shop-layout.toggle-active,
.kadence-product-toggle-container .kadence-toggle-shop-layout:hover { color: var(--ed-ink); border-color: var(--ed-line-strong); background: var(--ed-surface); }

/* product grid = same card language as .ed-card */
.woocommerce ul.products,
.wc-block-grid__products { gap: 12px; }
@media (min-width: 768px) { .woocommerce ul.products, .wc-block-grid__products { gap: var(--ed-gap); } }
.woocommerce ul.products li.product,
.woocommerce ul.products li.product.content-bg.loop-entry,
.wc-block-grid__product.entry.loop-entry {
	position: relative;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 20px;
	box-shadow: none;
	overflow: hidden;
	transition: transform .3s var(--ed-ease), box-shadow .3s ease, border-color .3s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: var(--ed-shadow-lift);
	border-color: var(--ed-line-strong);
}
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product.content-bg.loop-entry .content-bg:not(.loop-entry) { background: transparent; }

.woocommerce ul.products li.product a.woocommerce-loop-image-link,
.woocommerce ul.products li.product a.product_img_link {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	margin: 6px 6px 0;
	border-radius: 15px;
	background: var(--ed-well);
	overflow: hidden;
	isolation: isolate;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product a.woocommerce-loop-image-link img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 9%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	transition: transform .5s var(--ed-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.045) rotate(-.6deg); }

.woocommerce ul.products li.product .entry-content-wrap,
.woocommerce ul.products li.product .product-details { padding: 12px !important; margin: 0 !important; }
@media (min-width: 768px) {
	.woocommerce ul.products li.product .entry-content-wrap,
	.woocommerce ul.products li.product .product-details { padding: 14px 16px 16px !important; }
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	padding: 0;
	margin: 0;
	font-family: var(--ed-font-body);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.32;
	letter-spacing: 0;
	color: var(--ed-ink);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
@media (min-width: 768px) { .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; } }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover { text-decoration: underline; text-decoration-color: var(--ed-highlight); text-decoration-thickness: 3px; }

/* the excerpt is noisy in a grid – keep it for list view only */
.woocommerce ul.products:not(.products-list-view) li.product .product-excerpt { display: none; }
.woocommerce ul.products.products-list-view li.product .product-excerpt {
	color: var(--ed-muted); font-size: .94rem;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products.woo-archive-btn-button li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: auto 0 0;
	padding-top: 10px;
	font-family: var(--ed-font-head);
	font-size: 1.22rem;
	font-weight: 400;
	line-height: 1.15;
	color: var(--ed-ink);
}
.woocommerce ul.products li.product .price del { order: 2; font-size: .72em; color: var(--ed-muted); opacity: 1; }
.woocommerce ul.products li.product .price ins { order: 1; font-weight: 400; text-decoration: none; color: var(--ed-accent); }
.products.align-buttons-bottom li.product .entry-content-wrap { gap: 4px; }
.woocommerce .products.align-buttons-bottom li.product .product-action-wrap { padding-top: 10px; margin-top: 0; }

/* "Do obchodu" loop button */
body .woocommerce ul.products li.product .product-action-wrap .button:not(.kb-button),
body .woocommerce ul.products.woo-archive-btn-button .product-action-wrap .button:not(.kb-button),
body.woocommerce ul.products li.product .button:not(.kb-button) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45em;
	width: 100%;
	min-height: 44px;
	padding: .55em .9em;
	border: 0;
	border-radius: 999px;
	background: var(--ed-clay-soft);
	color: var(--ed-accent-hover);
	font: 600 .93rem/1.1 var(--ed-font-body);
	letter-spacing: .005em;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	transition: background-color .2s ease, color .2s ease;
}
body .woocommerce ul.products li.product .product-action-wrap .button:not(.kb-button)::after,
body.woocommerce ul.products li.product .button:not(.kb-button)::after {
	content: "";
	width: 1em; height: 1em; flex: none;
	background: currentColor;
	-webkit-mask: var(--ed-i-out) center / contain no-repeat;
	mask: var(--ed-i-out) center / contain no-repeat;
}
body .woocommerce ul.products li.product .product-action-wrap .button:not(.kb-button):hover,
body .woocommerce ul.products.woo-archive-btn-button .product-action-wrap .button:not(.kb-button):hover,
body.woocommerce ul.products li.product .button:not(.kb-button):hover,
body .woocommerce ul.products li.product:hover .product-action-wrap .button:not(.kb-button) { background: var(--ed-accent); color: var(--ed-accent-ink); }
.woocommerce ul.products li.product .button .kadence-svg-iconset { display: none; }  /* we draw our own arrow */

/* sale flash */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 14px; left: 14px; right: auto;
	min-height: 0; min-width: 0; line-height: 1.2;
	padding: .35em .75em;
	border-radius: 999px;
	background: var(--ed-highlight);
	color: var(--ed-ink);
	font: 700 .72rem/1.2 var(--ed-font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* pagination */
.woocommerce nav.woocommerce-pagination,
.navigation.pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.pagination .nav-links {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li .page-numbers,
.pagination .nav-links .page-numbers {
	display: grid; place-items: center;
	min-width: 44px; min-height: 44px;
	padding: 0 .6em;
	border-radius: 999px;
	border: 1.5px solid transparent;
	background: transparent;
	color: var(--ed-ink);
	font-weight: 600;
	text-decoration: none;
	box-sizing: border-box;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
.pagination .nav-links a.page-numbers:hover { border-color: var(--ed-line-strong); background: var(--ed-surface); color: var(--ed-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current,
.pagination .nav-links .page-numbers.current { background: var(--ed-primary); color: var(--ed-primary-ink); border-color: var(--ed-primary); }
.woocommerce nav.woocommerce-pagination ul li .dots { color: var(--ed-muted); }

.page-load-status { text-align: center; color: var(--ed-muted); font-size: .9rem; }
.page-load-status p { margin: 1rem 0 0; }

/* sidebar & filter widgets */
#secondary .widget,
.woocommerce .widget-area .widget {
	padding: 22px 20px;
	margin-bottom: 18px;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 20px;
}
#secondary .widget-title,
.widget-area .widget-title,
.wp-block-heading.widget-title {
	margin: 0 0 14px;
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: 1.2rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ed-ink);
}
.widget-area ul { list-style: none; margin: 0; padding: 0; }
.widget-area ul li { padding: .28em 0; }
.widget-area ul li a { color: var(--ed-ink); text-decoration: none; }
.widget-area ul li a:hover { color: var(--ed-primary); text-decoration: underline; }
.widget-area .count,
.woocommerce .widget_layered_nav ul li .count,
.woocommerce .product-categories li .count {
	display: inline-block; margin-left: .3em; padding: 0 .5em;
	border-radius: 999px; background: var(--ed-bg);
	font-size: .78rem; color: var(--ed-muted);
}
.woocommerce .widget_layered_nav ul li.chosen a::before,
.woocommerce .widget_layered_nav_filters ul li a::before { color: var(--ed-accent); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--ed-primary); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--ed-surface);
	border: 2px solid var(--ed-primary);
	width: 1.1em; height: 1.1em; top: -.35em;
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--ed-line); }
.woocommerce .widget_price_filter .price_slider_amount .button { min-height: 40px; border-radius: 999px; }

/* store notices */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice {
	border: 1px solid var(--ed-line);
	border-left: 4px solid var(--ed-primary);
	border-radius: 14px;
	background: var(--ed-surface);
	color: var(--ed-ink);
}
.woocommerce-error { border-left-color: var(--ed-accent); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--ed-primary); }


/* ==========================================================================
   10  WOOCOMMERCE SINGLE PRODUCT
   ========================================================================== */
.single-product .product-title.product-above { margin-bottom: 8px; }

/* gallery: oat well, packshots multiply into it */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .ksk-gallery {
	position: relative;
	padding: clamp(14px, 1rem + 1.4vw, 36px);
	background-color: var(--ed-well);
	background-image: var(--ed-grain);
	border-radius: var(--ed-radius-lg);
	box-sizing: border-box;
}
.single-product div.product .woocommerce-product-gallery img,
.single-product div.product .ksk-gallery img { mix-blend-mode: multiply; border-radius: 10px; }
.single-product div.product .product_image { margin-inline: auto; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li img,
.single-product .kadence-product-gallery-thumbnails img { border-radius: 10px; border: 1.5px solid transparent; opacity: .75; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product .kadence-product-gallery-thumbnails .is-active img { border-color: var(--ed-primary); opacity: 1; }

/* summary */
.single-product div.product .summary { padding-top: 4px; }
.single-product div.product .single-product-category a,
.single-product .product-single-category {
	display: inline-flex; align-items: center; gap: .5em;
	font-size: .78rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase;
	color: var(--ed-primary); text-decoration: none;
}
.single-product .product-title .single-category { font-family: var(--ed-font-head); font-weight: 400; color: var(--ed-ink); }
.single-product div.product .product_title {
	margin: .35rem 0 .7rem;
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.7rem);
	line-height: 1.08;
	color: var(--ed-ink);
}
.single-product div.product .summary .price,
.single-product div.product p.price {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px;
	margin: 0 0 1.1rem;
	font-family: var(--ed-font-head);
	font-size: clamp(1.6rem, 1.4rem + .8vw, 2rem);
	font-weight: 400;
	color: var(--ed-ink);
}
.single-product div.product p.price del { order: 2; font-size: .6em; color: var(--ed-muted); opacity: 1; }
.single-product div.product p.price ins { order: 1; color: var(--ed-accent); text-decoration: none; font-weight: 400; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--ed-muted); font-size: 1.02rem; }

/* external "buy" button + honest note */
.single-product div.product :is(form.cart, .ed-buy) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 1.5rem 0 1.75rem;
}
.single-product div.product :is(form.cart, .ed-buy) .single_add_to_cart_button,
.single-product div.product .single_add_to_cart_button.button.alt {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 56px;
	min-width: min(100%, 300px);
	margin: 0;
	padding: .85em 2em;
	border: 0;
	border-radius: 999px;
	background: var(--ed-accent);
	color: var(--ed-accent-ink);
	font: 600 1.06rem/1.1 var(--ed-font-body);
	letter-spacing: .005em;
	text-transform: none;
	box-shadow: 0 14px 26px -18px rgba(140, 60, 31, .9);
	transition: background-color .2s ease, transform .2s var(--ed-ease);
}
.single-product div.product :is(form.cart, .ed-buy) .single_add_to_cart_button::before {
	content: ""; position: absolute; inset: 4px;
	border: 1px dashed rgba(255, 248, 241, .4); border-radius: inherit; pointer-events: none;
}
.single-product div.product :is(form.cart, .ed-buy) .single_add_to_cart_button::after {
	content: ""; width: 1.05em; height: 1.05em; flex: none;
	background: currentColor;
	-webkit-mask: var(--ed-i-out) center / contain no-repeat;
	mask: var(--ed-i-out) center / contain no-repeat;
}
.single-product div.product :is(form.cart, .ed-buy) .single_add_to_cart_button:hover { background: var(--ed-accent-hover); color: var(--ed-accent-ink); transform: translateY(-1px); }
@media (max-width: 599px) { .single-product div.product :is(form.cart, .ed-buy) .single_add_to_cart_button { width: 100%; } }
.single-product .ed-buy__status { flex-basis: 100%; margin: 0 0 4px; font-weight: 600; color: var(--ed-accent); }
.single-product .ed-buy__note { flex-basis: 100%; margin: 10px 0 0; font-size: .86rem; line-height: 1.45; color: var(--ed-muted); }

/* meta: SKUs contain feed prefixes (merchant names) – never show them */
.single-product .product_meta .sku_wrapper { display: none !important; }
.single-product .product_meta {
	display: grid; gap: 6px;
	padding-top: 16px;
	border-top: 1px solid var(--ed-line);
	font-size: .88rem;
	color: var(--ed-muted);
}
.single-product .product_meta a { color: var(--ed-muted); }
.single-product .product_meta a:hover { color: var(--ed-primary); }

/* tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(32px, 2rem + 2vw, 64px); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 6px 22px;
	margin: 0 0 24px; padding: 0;
	border-bottom: 1px solid var(--ed-line-strong);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: .7em 0;
	min-height: 44px;
	box-sizing: border-box;
	font-family: var(--ed-font-head);
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--ed-muted);
	background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--ed-ink);
	background: var(--ed-underline) left bottom -2px / 100% 9px no-repeat;
}
.woocommerce div.product .woocommerce-tabs .panel { max-width: 46rem; color: var(--ed-ink); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }  /* repeats the tab label */

/* related / upsells */
.single-product .related.products > h2,
.single-product .upsells.products > h2,
.cart-collaterals .cross-sells > h2 {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(1.6rem, 1.3rem + 1.3vw, 2.4rem);
	margin: 0 0 24px;
}


/* ==========================================================================
   11  CONTENT  (Poradňa articles, pages)
   ========================================================================== */
.content-style-boxed .entry.single-entry,
.content-style-boxed .content-bg.entry,
.entry.loop-entry {
	border: 1px solid var(--ed-line);
	border-radius: var(--ed-radius-lg);
	box-shadow: none;
}
.entry-hero.post-hero-section .entry-hero-container-inner,
.entry-hero.page-hero-section .entry-hero-container-inner {
	background-color: var(--ed-soft);
	background-image: var(--ed-grain);
}
.entry-header .entry-title,
.single .entry-title,
.page .entry-title {
	font-family: var(--ed-font-head);
	font-weight: 400;
	color: var(--ed-ink);
	text-wrap: balance;
}
.entry-meta, .entry-meta a { color: var(--ed-muted); font-size: .88rem; }
.entry-taxonomies .category-links a,
.entry-header .category-links a {
	color: var(--ed-accent);
	font-size: .76rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none;
}

:where(.entry-content) { font-size: 1.0625rem; line-height: 1.72; }
:where(.entry-content) h2 { margin-top: 1.9em; font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); }
:where(.entry-content) h3 { margin-top: 1.6em; }
.entry-content a:where(:not(.ed-btn, .ed-card__btn, .ed-more, .wp-block-button__link, .button, .ed-cat, .ed-card a, .ed-post a, .ed-cats a, .ed-faq summary a)) {
	color: var(--ed-primary);
	text-decoration-color: var(--ed-highlight);
	text-decoration-thickness: 3px;
	text-underline-offset: .16em;
}
.entry-content a:where(:not(.ed-btn, .ed-card__btn, .ed-more, .wp-block-button__link, .button, .ed-cat, .ed-card a, .ed-post a, .ed-cats a, .ed-faq summary a)):hover { color: var(--ed-accent); }
.entry-content ul:not([class]),
.entry-content ul.wp-block-list { list-style: none; padding-left: 0; }
.entry-content ul:not([class]) > li,
.entry-content ul.wp-block-list > li { position: relative; padding-left: 1.7em; margin-bottom: .4em; }
.entry-content ul:not([class]) > li::before,
.entry-content ul.wp-block-list > li::before {
	content: ""; position: absolute; left: 0; top: .42em;
	width: .95em; height: .95em;
	background: var(--ed-primary);
	-webkit-mask: var(--ed-i-leaf) center / contain no-repeat;
	mask: var(--ed-i-leaf) center / contain no-repeat;
}
.entry-content ol:not([class]) > li::marker,
.entry-content ol.wp-block-list > li::marker { font-family: var(--ed-font-head); color: var(--ed-accent); }
.entry-content blockquote,
.entry-content .wp-block-quote {
	position: relative;
	margin: 2em auto;
	padding: 1.4em 1.6em 1.2em 1.8em;
	border: 0;
	border-radius: 0 18px 18px 0;
	background: var(--ed-chamomile-soft);
	box-shadow: inset 4px 0 0 var(--ed-highlight);
	font-family: var(--ed-font-head);
	font-size: 1.22rem;
	line-height: 1.45;
}
.entry-content blockquote cite { display: block; margin-top: .6em; font-family: var(--ed-font-body); font-size: .88rem; font-style: normal; color: var(--ed-muted); }
.entry-content figure img,
.entry-content .wp-block-image img { border-radius: 18px; }
.entry-content figcaption { color: var(--ed-muted); font-size: .86rem; text-align: center; }
.entry-content table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.entry-content th, .entry-content td { padding: .7em .8em; border-bottom: 1px solid var(--ed-line); text-align: left; }
.entry-content th { font-weight: 650; background: var(--ed-soft); }
.entry-content .wp-block-button__link,
.wp-block-button .wp-block-button__link {
	min-height: 48px; padding: .75em 1.45em;
	border-radius: 999px;
	background: var(--ed-primary);
	color: var(--ed-primary-ink);
	font-weight: 600;
	text-decoration: none;
}
.entry-content .wp-block-button__link:hover { background: var(--ed-primary-hover); color: var(--ed-primary-ink); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--ed-ink); border: 1.5px solid currentColor; }

/* global form fields inherit the .ed-input look */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"],
input[type="url"], input[type="password"], input[type="number"], textarea, select:not(.orderby) {
	border: 1.5px solid var(--ed-line-strong);
	border-radius: 12px;
	background-color: var(--ed-surface);
	color: var(--ed-ink);
	font-family: var(--ed-font-body);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="url"]:focus, input[type="password"]:focus, input[type="number"]:focus, textarea:focus, select:focus {
	border-color: var(--ed-primary);
	box-shadow: 0 0 0 4px rgba(62, 90, 43, .16);
	outline: none;
}

/* generic theme buttons */
button.button, a.button, input[type="submit"], .button:not(.kb-button):not(.product_type_external):not(.single_add_to_cart_button) {
	border-radius: 999px;
	font-family: var(--ed-font-body);
	font-weight: 600;
	text-transform: none;
	letter-spacing: .005em;
}


/* ==========================================================================
   11b  PORADŇA ARTICLES  (body.single-post · Kadence single markup)
   ========================================================================== */

/* --- featured image + boxed article that overlaps it -------------------- */
.single-post .article-post-thumbnail { margin: 0; }
.single-post .article-post-thumbnail .post-thumbnail-inner {
	aspect-ratio: 16 / 9;
	border-radius: var(--ed-radius-lg);
	overflow: hidden;
	background: var(--ed-soft);
}
.single-post .article-post-thumbnail img.post-top-featured,
.single-post .article-post-thumbnail img {
	display: block; width: 100%; height: 100%; object-fit: cover;
}
.single-post .content-bg.single-entry {
	position: relative;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: var(--ed-radius-lg);
	box-shadow: var(--ed-shadow);
}
@media (min-width: 768px) {
	.single-post .article-post-thumbnail + .single-entry { margin: -72px 28px 0; }
	.single-post .single-entry .entry-content-wrap { padding: 2.75rem 3rem 3rem; }
}
@media (max-width: 767px) {
	.single-post .article-post-thumbnail .post-thumbnail-inner { aspect-ratio: 4 / 3; border-radius: 20px; }
	.single-post .article-post-thumbnail + .single-entry { margin-top: -28px; margin-inline: 8px; }
}

/* --- header: category label, title, meta -------------------------------- */
.single-post .entry-header.post-title { margin-bottom: 1.75rem; }
.single-post .entry-header .entry-taxonomies { margin-bottom: .9rem; }
.single-post .entry-header .category-links a,
.entry-related .entry-taxonomies a {
	display: inline-flex; align-items: center;
	padding: .3em .8em;
	border-radius: 999px;
	background: var(--ed-clay-soft);
	color: var(--ed-accent-hover);
	font-size: .72rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase;
	text-decoration: none;
}
.single-post .entry-header .category-links a:hover { background: var(--ed-accent); color: var(--ed-accent-ink); }
.single-post .entry-header .entry-title {
	font-size: clamp(2.05rem, 1.45rem + 2.6vw, 3.3rem);
	line-height: 1.05;
	letter-spacing: -.015em;
	margin: 0 0 1rem;
}
.single-post .entry-header .entry-meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0;
	padding-top: 1rem;
	border-top: 1px dashed var(--ed-line-strong);
	color: var(--ed-muted);
	font-size: .88rem;
}
.entry-meta .meta-label { display: none; }               /* Kadence prints an untranslated "By" */
.entry-meta a { color: var(--ed-muted); text-decoration: none; }
.entry-meta a:hover { color: var(--ed-primary); }
.entry-meta time.updated:not(.published) { display: none; }

/* --- long-form typography ---------------------------------------------- */
.single-post .entry-content.single-content {
	--ed-measure: 68ch;
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--ed-ink);
}
@media (min-width: 768px) { .single-post .entry-content.single-content { font-size: 1.125rem; } }
.single-post .entry-content > * { max-width: var(--ed-measure); margin-inline: auto; }
.single-post .entry-content > :is(.ed-products, .ed-tabulka, figure.wp-block-table, .alignwide, .wp-block-gallery, .kadence-column, .wp-block-columns) { max-width: none; }
.single-post .entry-content > .alignfull { max-width: none; }
.single-post .entry-content p { margin-bottom: 1.15em; }
.single-post .entry-content > p:first-of-type { font-size: 1.12em; line-height: 1.65; color: var(--ed-ink); }

.single-post .entry-content h2 {
	margin-top: 2.1em;
	margin-bottom: .55em;
	font-size: clamp(1.55rem, 1.25rem + 1.2vw, 2.1rem);
	line-height: 1.12;
}
.single-post .entry-content h2::before {          /* small chamomile pen stroke */
	content: "";
	display: block;
	width: 44px; height: 10px;
	margin-bottom: .55em;
	background: var(--ed-underline) left center / 100% 100% no-repeat;
}
.single-post .entry-content h3 { margin-top: 1.7em; margin-bottom: .45em; font-size: clamp(1.22rem, 1.1rem + .5vw, 1.45rem); }
.single-post .entry-content h4 { margin-top: 1.5em; font-family: var(--ed-font-body); font-weight: 700; font-size: 1.02rem; letter-spacing: .01em; }
.single-post .entry-content :is(h2, h3, h4) + :is(p, ul, ol) { margin-top: 0; }
.single-post .entry-content ul, .single-post .entry-content ol { margin-bottom: 1.3em; }
.single-post .entry-content ol:not([class]), .single-post .entry-content ol.wp-block-list { padding-left: 1.4em; }
.single-post .entry-content li { margin-bottom: .45em; }
.single-post .entry-content li > ul, .single-post .entry-content li > ol { margin: .45em 0 0; }
.single-post .entry-content img { border-radius: 18px; }
.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator {
	width: 120px; max-width: 120px; height: 12px;
	margin: 2.6em auto;
	border: 0;
	background: var(--ed-underline-clay) center / 100% 100% no-repeat;
	opacity: .8;
}
.single-post .entry-content .wp-block-pullquote {
	border: 0; padding: 1.4em 0; text-align: left;
	font-family: var(--ed-font-head); font-size: 1.5rem; line-height: 1.3;
}

/* --- "V skratke" summary box -------------------------------------------- */
.ed-tldr {
	position: relative;
	margin: 0 auto 2.2em;
	padding: 34px 24px 20px;
	border-radius: 16px 22px 18px 24px;
	background-color: var(--ed-chamomile-soft);
	background-image: var(--ed-grain);
	box-shadow: 6px 7px 0 -1px var(--ed-sage), var(--ed-shadow);
}
@media (min-width: 768px) { .ed-tldr { padding: 38px 34px 24px 34px; } }
.ed-tldr::before {                 /* washi tape */
	content: "";
	position: absolute;
	top: -13px; left: 26px;
	width: 96px; height: 26px;
	transform: rotate(-4deg);
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .25) 0 5px, transparent 5px 11px),
		rgba(201, 211, 174, .9);
	clip-path: polygon(0 6%, 3% 0, 6% 9%, 9% 0, 91% 0, 94% 8%, 97% 0, 100% 7%, 100% 94%, 97% 100%, 94% 91%, 91% 100%, 9% 100%, 6% 92%, 3% 100%, 0 93%);
}
.ed-tldr > :is(h2, h3, h4, p, strong, .ed-tldr__title):first-child {
	display: block;
	margin: 0 0 .5em;
	font-family: var(--ed-font-hand);
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ed-accent);
	transform: rotate(-2deg);
	transform-origin: left;
}
.single-post .entry-content .ed-tldr > :is(h2, h3, h4):first-child::before { display: none; }
.ed-tldr ul, .entry-content .ed-tldr ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .6em; }
.ed-tldr li, .entry-content .ed-tldr ul > li {
	position: relative;
	margin: 0;
	padding-left: 2em;
	font-weight: 500;
	line-height: 1.5;
}
.ed-tldr li::before, .entry-content .ed-tldr ul > li::before {
	content: "";
	position: absolute; left: 0; top: .1em;
	width: 1.3em; height: 1.3em;
	background: var(--ed-primary);
	-webkit-mask: var(--ed-i-check) center / contain no-repeat;
	mask: var(--ed-i-check) center / contain no-repeat;
}

/* --- comparison tables -------------------------------------------------- */
figure.wp-block-table.ed-tabulka,
.ed-tabulka {
	position: relative;
	margin: 2em auto;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--ed-line);
	border-radius: 18px;
	background: var(--ed-surface);
	scrollbar-width: thin;
	scrollbar-color: var(--ed-line-strong) transparent;
}
.ed-tabulka table {
	width: 100%;
	min-width: 34rem;              /* scrolls inside the figure on phones, never the page */
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .95rem;
	line-height: 1.45;
}
.ed-tabulka :is(th, td) {
	padding: .8em 1em;
	border: 0;
	border-bottom: 1px solid var(--ed-line);
	text-align: left;
	vertical-align: top;
	background: var(--ed-surface);
}
.ed-tabulka thead th,
.ed-tabulka tr:first-child > th {
	background: var(--ed-primary);
	color: var(--ed-primary-ink);
	font-weight: 650;
	font-size: .86rem;
	letter-spacing: .02em;
	border-bottom: 0;
	white-space: nowrap;
}
.ed-tabulka tbody tr:nth-child(even) > :is(td, th) { background: var(--ed-bg); }
.ed-tabulka tbody tr:last-child > :is(td, th) { border-bottom: 0; }
.ed-tabulka tbody tr:hover > :is(td, th) { background: var(--ed-chamomile-soft); }
.ed-tabulka :is(td, th):first-child {           /* sticky first column while scrolling */
	position: sticky; left: 0; z-index: 1;
	font-weight: 600;
	box-shadow: inset -1px 0 0 var(--ed-line);
}
.ed-tabulka thead th:first-child { z-index: 2; }
.ed-tabulka td:not(:first-child) { min-width: 7.5em; }
.ed-tabulka figcaption,
.ed-tabulka .wp-element-caption {
	position: sticky; left: 0;
	margin: 0;
	padding: .8em 1em;
	border-top: 1px solid var(--ed-line);
	font-size: .84rem;
	color: var(--ed-muted);
	text-align: left;
}
@media (max-width: 599px) {
	.ed-tabulka::before {
		content: "Tabuľku môžete posúvať do strany";
		position: sticky; left: 0;
		display: block;
		padding: .55em 1em;
		font-size: .78rem; font-weight: 600; color: var(--ed-muted);
		background: var(--ed-soft);
	}
}

/* --- product picks embedded mid-article -------------------------------- */
.single-post .entry-content .ed-products {
	container-type: inline-size;
	margin: 2.4em auto;
	padding: 20px 16px 18px;
	border-radius: 22px;
	background-color: var(--ed-soft);
	background-image: var(--ed-grain);
}
@media (min-width: 768px) { .single-post .entry-content .ed-products { padding: 26px 24px 24px; } }
.single-post .entry-content .ed-products__title {
	margin: 0 0 16px;
	font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
}
.single-post .entry-content .ed-products__title::before { display: none; }
/* compact horizontal cards: thumbnail left, text + button right */
.single-post .entry-content .ed-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
@container (min-width: 520px) {
	.single-post .entry-content .ed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
.single-post .entry-content .ed-card { flex-direction: row; align-items: stretch; border-radius: 18px; }
.single-post .entry-content .ed-card:hover { transform: translateY(-2px); }
.single-post .entry-content .ed-card__img {
	flex: 0 0 108px;
	width: 108px;
	aspect-ratio: auto;
	min-height: 108px;
	margin: 6px 0 6px 6px;
	border-radius: 13px;
}
.single-post .entry-content .ed-card__img img { padding: 10%; border-radius: 0; }
.single-post .entry-content .ed-card__body { padding: 10px 12px 12px 14px; gap: 2px; min-width: 0; }
.single-post .entry-content .ed-card__title { margin: 0; font-size: .92rem; -webkit-line-clamp: 2; line-clamp: 2; }
.single-post .entry-content .ed-card__title::before { display: none; }
.single-post .entry-content .ed-card__price { padding-top: 6px; font-size: 1.08rem; }
.single-post .entry-content .ed-card__btn { min-height: 40px; margin-top: 8px; font-size: .88rem; }
.single-post .entry-content .ed-card :is(p, h3, h4) { margin: 0; }
.single-post .entry-content .ed-card a { text-decoration: none; }
.single-post .entry-content :is(.ed-grid, .ed-posts, .ed-cats, .ed-chips) > li { margin: 0; padding: 0; }
.single-post .entry-content :is(.ed-grid, .ed-posts, .ed-cats, .ed-chips) > li::before { display: none; }

/* --- prev / next ------------------------------------------------------- */
.single-post .post-navigation { margin-block: 2.5rem; }
.single-post .post-navigation .nav-links { gap: 12px; }
.single-post .post-navigation .nav-previous::after { display: none; }
.single-post .post-navigation .nav-links a {
	height: 100%;
	padding: 18px 20px;
	border: 1px solid var(--ed-line);
	border-radius: 18px;
	background: var(--ed-surface);
	font-family: var(--ed-font-head);
	font-size: 1.08rem;
	line-height: 1.25;
	color: var(--ed-ink);
	box-sizing: border-box;
	transition: border-color .2s ease, transform .25s var(--ed-ease);
}
.single-post .post-navigation .nav-links a:hover { border-color: var(--ed-primary); color: var(--ed-ink); transform: translateY(-2px); }
.single-post .post-navigation-sub small { font-family: var(--ed-font-body); font-size: .72rem; letter-spacing: .14em; color: var(--ed-accent); }
@media (max-width: 599px) {
	.single-post .post-navigation .nav-links { grid-template-columns: 1fr; }
	.single-post .post-navigation .nav-next { grid-column-start: 1; }
}

/* --- related reading ("Similar Posts" → rename in Customizer) ---------- */
.entry-related {
	position: relative;
	margin-top: 64px;
	background-color: var(--ed-soft);
	background-image: var(--ed-grain);
}
.entry-related::before {
	content: "";
	position: absolute; left: 0; right: 0; top: -47px; height: 48px;
	background: var(--ed-wave-soft) center bottom / 100% 100% no-repeat;
	pointer-events: none;
}
.entry-related .entry-related-inner { padding-block: 40px 56px; }
.entry-related .entry-related-title {
	font-family: var(--ed-font-head);
	font-weight: 400;
	font-size: clamp(1.6rem, 1.3rem + 1.3vw, 2.4rem);
	margin-bottom: 24px;
}
.entry-related .entry.loop-entry {
	height: 100%;
	display: flex; flex-direction: column;
	background: var(--ed-surface);
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: none;
	transition: transform .3s var(--ed-ease), box-shadow .3s ease;
}
.entry-related .entry.loop-entry:hover { transform: translateY(-3px); box-shadow: var(--ed-shadow-lift); }
.entry-related .entry.loop-entry .post-thumbnail { margin: 6px 6px 0; border-radius: 17px; overflow: hidden; }
.entry-related .entry.loop-entry .entry-content-wrap { padding: 16px 18px 20px; }
.entry-related .entry.loop-entry .entry-title { font-size: 1.2rem; line-height: 1.18; margin: .5em 0 .4em; }
.entry-related .entry.loop-entry .entry-title a { color: var(--ed-ink); text-decoration: none; }
.entry-related .entry.loop-entry .entry-title a:hover { color: var(--ed-primary); }
.entry-related .entry-meta .posted-by { display: none; }
.entry-related .entry-summary { color: var(--ed-muted); font-size: .94rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.entry-related .entry-summary p { margin: 0; }
.entry-related .post-more-link,
.loop-entry .post-more-link {
	display: inline-flex; align-items: center; gap: .4em;
	min-height: 44px;
	font-weight: 600; font-size: .92rem; text-transform: none; letter-spacing: 0;
	color: var(--ed-primary); text-decoration: none;
}
.entry-related .splide__arrow { background: var(--ed-surface); border: 1px solid var(--ed-line); color: var(--ed-ink); opacity: 1; width: 44px; height: 44px; }
.entry-related .splide__arrow:hover { border-color: var(--ed-primary); color: var(--ed-primary); }
.entry-related .splide__pagination__page { background: var(--ed-line-strong); }
.entry-related .splide__pagination__page.is-active { background: var(--ed-primary); }

/* --- comments ----------------------------------------------------------- */
.single-post .comments-area { margin-top: 2.5rem; }
.single-post .comment-respond {
	padding: 24px 22px;
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	background: var(--ed-surface);
}
.single-post .comment-reply-title { font-family: var(--ed-font-head); font-weight: 400; font-size: 1.4rem; }
.single-post .comment-form .float-label { color: var(--ed-muted); }
.single-post .comment-form input[type="submit"] {
	min-height: 48px; padding: .7em 1.6em; border: 0; border-radius: 999px;
	background: var(--ed-primary); color: var(--ed-primary-ink); font-weight: 600; cursor: pointer;
}
.single-post .comment-form input[type="submit"]:hover { background: var(--ed-primary-hover); }


/* ==========================================================================
   11c  KADENCE CONTENT GUARD (generated – do not edit by hand)
   Kadence styles ".single-content h1–h6 / p / ul / ol" with (0,1,1) margins and
   list padding. These guards restate ed-* component spacing at (0,1,2).
   ========================================================================== */
html body .ed-section__head { margin-bottom: clamp(28px, 2rem + 1vw, 48px); }
html body .ed-section__head > * { margin: 0; }
html body .ed-eyebrow { margin: 0 0 .25rem; }
html body .ed-note { margin: 0; }
html body .ed-note::before { margin-top: .12em; }
html body .ed-list { margin: 0; padding: 0; }
html body .ed-list > li { padding-left: 1.6em; }
html body .ed-products { margin: 0; }
html body .ed-products__title { margin: 0 0 clamp(22px, 1.4rem + 1vw, 40px); }
html body .ed-eyebrow + .ed-products .ed-products__title { margin-top: .3rem; }
html body .ed-grid { margin: 0; padding: 0; }
html body .ed-card__title { margin: 0; }
html body .ed-posts { margin: 0; padding: 0; }
html body .ed-post__title { margin: 0; }
html body .ed-post__excerpt { margin: 0; }
html body .ed-post__excerpt p { margin: 0; }
html body .ed-post__meta { margin: 0; }
html body .ed-post__meta > * + *::before { margin-right: 14px; margin-left: -6px; }
@media (min-width: 980px) {
	html body .ed-posts > .ed-post:not(:first-child) { padding-bottom: 26px; }
	html body .ed-posts > .ed-post:not(:first-child):last-child { padding-bottom: 0; }
}
html body .ed-cats { margin: 0; padding: 0; }
html body .ed-chips { margin: 0; padding: 0; }
html body .ed-hero__title { margin: .35rem 0 1.25rem; }
html body .ed-hero__trust { margin: 26px 0 0; padding: 0; }
html body .ed-hero__note { margin: 0 0 4px 8px; }
html body .ed-problems__head > * { margin: 0; }
html body .ed-problems__title { margin: .2rem 0 .6rem; }
html body .ed-problems__title .ed-hand { margin-left: .15em; }
html body .ed-problems__note { padding-right: 110px; }
html body .ed-routine__title { margin: .35rem 0 .9rem; }
html body .ed-routine__steps { margin: 22px 0 0; padding: 0; }
html body .ed-values { margin: 0; padding: 0; }
html body .ed-value__title { margin: 0; }
html body .ed-value__text { margin: 0; }
html body .ed-steps { margin: 0; padding: 0; }
html body .ed-step__title { margin: 0; }
html body .ed-step__text { margin: 0; }
html body .ed-disclosure { margin-top: 44px; }
html body .ed-disclosure.ed-paper { padding: 30px 22px 24px; }
@media (min-width: 768px) {
	html body .ed-disclosure.ed-paper { padding: 36px 230px 30px 40px; }
	html body .ed-disclosure.ed-paper::before { margin-top: -100px; }
}
html body .ed-disclosure__title { margin: 0; }
html body .ed-disclosure p { margin: 0; }
html body .ed-signature,
html body .ed-disclosure .ed-signature { margin-top: 4px; }
html body .ed-faq { margin: 0; }
html body .ed-faq > h2,
html body .ed-faq > h3 { margin: 0 0 18px; }
html body .ed-faq details { margin: 0; }
html body .ed-faq summary { padding: 16px 52px 16px 0; }
html body .ed-faq summary::before,
html body .ed-faq summary::after { margin-top: -1px; }
html body .ed-faq__answer,
html body .ed-faq__a { padding: 0 48px 22px 0; }
html body .ed-faq__answer > :last-child,
html body .ed-faq__a > :last-child { margin-bottom: 0; }
html body .ed-helpcard.ed-paper { padding: 28px 24px 24px; }
html body .ed-helpcard p { margin: 0; }
html body .ed-helpcard__title { margin: 0; }
html body .ed-posts,
html body .ed-cats,
html body .ed-chips) > li { margin: 0; padding: 0; }


/* ==========================================================================
   12  MOTION · REDUCED MOTION · PRINT
   ========================================================================== */
@keyframes ed-sway {
	from { transform: rotate(6deg); }
	to   { transform: rotate(10deg); }
}
@keyframes ed-rise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}
.ed-hero__copy > * { animation: ed-rise .7s var(--ed-ease) both; }
.ed-hero__copy > :nth-child(2) { animation-delay: .06s; }
.ed-hero__copy > :nth-child(3) { animation-delay: .12s; }
.ed-hero__copy > :nth-child(4) { animation-delay: .18s; }
.ed-hero__copy > :nth-child(5) { animation-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.ed-card:hover, .ed-cat:hover, .ed-chip:hover, .ed-btn:hover,
	.woocommerce ul.products li.product:hover { transform: none; }
}

@media print {
	html body { background: #fff; color: #000; }
	#masthead, #colophon, .ed-card__btn, .ed-chips, .ed-hero__aside { display: none !important; }
}


/* ==========================================================================
   13  INTEGRATOR: cookie lišta, podkategórie, starý plugin category-buttons
   ========================================================================== */

/* Cookie Consent WP (orestbida cookieconsent v2) v paletke Herbár */
#cc--main {
	--cc-bg: var(--ed-surface);
	--cc-text: var(--ed-ink);
	--cc-btn-primary-bg: var(--ed-primary);
	--cc-btn-primary-text: var(--ed-primary-ink);
	--cc-btn-primary-hover-bg: #2F4720;
	--cc-btn-secondary-bg: var(--ed-soft);
	--cc-btn-secondary-text: var(--ed-ink);
	--cc-btn-secondary-hover-bg: var(--ed-line);
	--cc-toggle-bg-on: var(--ed-primary);
	--cc-cookie-category-block-bg: var(--ed-bg);
	--cc-cookie-category-block-bg-hover: var(--ed-soft);
	--cc-section-border: var(--ed-line);
	--cc-cookie-table-border: var(--ed-line);
	font-family: var(--ed-font-body);
}
#cc--main #cm, #cc--main #s-inr { border: 1px solid var(--ed-line); border-radius: var(--ed-radius-lg); box-shadow: var(--ed-shadow); }
#cc--main .c-bn { border-radius: 999px; font-weight: 600; }
#cc--main #c-ttl, #cc--main #s-ttl { font-family: var(--ed-font-head); font-weight: 400; }
#cc--main #c-txt a, #cc--main .cc-link { color: var(--ed-primary); }

/* Starý plugin category-buttons duplikuje nadpis a popis kategórie – nahrádzajú ho .ed-subcats */
.cb-category-buttons, .cb-category-title, .cb-category-desc { display: none !important; }

/* Podkategórie nad výpisom produktov */
.ed-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.ed-subcats .ed-chip { text-decoration: none; }
.ed-subcats .ed-chip[aria-current="page"] { background: var(--ed-primary); border-color: var(--ed-primary); color: var(--ed-primary-ink); }
.ed-subcats .ed-chip small { opacity: .7; font-weight: 500; margin-left: 2px; }

/* Pätička: widgety v #colophon nie sú karty (pravidlo .woocommerce .widget-area .widget platí aj pre ne) */
#colophon .widget,
.woocommerce #colophon .widget-area .widget,
#colophon .footer-widget-area .widget {
	padding: 0;
	margin-bottom: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Cookie lišta vľavo dole – vpravo dole je Bylinka */
@media (min-width: 689px) {
	#cc--main #cm { right: auto !important; left: 1.25em !important; }
}
/* Na mobile je lišta cez celú šírku – tlačidlo Bylinky posunúť nad ňu, kým je zobrazená */
@media (max-width: 688px) {
	html.show--consent .ed-as:not(.is-open) { bottom: 210px; }
}
