/*
Theme Name: Sahafa
Theme URI: https://portarab.com/themes/sahafa
Author: PortArab
Author URI: https://portarab.com
Description: قالب عربي حديث (FSE) للمدوّنات والمجلات — دعم RTL كامل، أوضاع ألوان متعددة (فاتح/داكن/سيبيا)، جاهز كـ PWA، ونظام تصميم قائم على theme.json.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sahafa
Tags: blog, news, magazine, full-site-editing, block-patterns, translation-ready, rtl-language-support
*/

/* ----- base resets — design tokens live in theme.json ----- */
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

img {
	max-width: 100%;
	height: auto;
}

::selection {
	background-color: var(--wp--preset--color--primary-soft);
	color: var(--wp--preset--color--primary-strong);
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ----- sticky header ----- */
.ka-header {
	position: sticky;
	top: 0;
	z-index: 50;
}

/* brand logo — white chip behind it in dark modes (via --ka-logo-chip) */
.ka-logo {
	display: inline-flex;
	align-items: center;
	background: var(--ka-logo-chip);
	border-radius: 10px;
	padding: 3px 8px;
	transition: background-color var(--wp--custom--transition--base) var(--wp--custom--transition--ease);
}
.ka-logo img {
	height: 46px;
	width: auto;
	display: block;
}

/* ----- post card (used in index / archive / search loops) ----- */
.ka-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--custom--shadow--soft);
	transition:
		transform var(--wp--custom--transition--base) var(--wp--custom--transition--ease),
		box-shadow var(--wp--custom--transition--base) var(--wp--custom--transition--ease);
}

.ka-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--custom--shadow--strong);
}

.ka-card .wp-block-post-featured-image {
	margin: 0;
}

.ka-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.6rem;
	padding: var(--wp--preset--spacing--40);
}

.ka-card__body .wp-block-post-title {
	margin: 0;
	line-height: 1.4;
}

.ka-card__body .wp-block-post-excerpt {
	margin: 0;
	color: var(--wp--preset--color--contrast-muted);
}

.ka-card__body .wp-block-post-date {
	margin-top: auto;
	padding-top: 0.4rem;
}

.ka-card__cat a {
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.ka-card,
	.ka-card:hover {
		transform: none;
		transition: none;
	}
}

/* ============================================================
   Homepage components — mockup parity. All colors via preset/--ka
   vars so the 6 modes recolor everything; no orphan light/dark.
   ============================================================ */
.ka-section { padding-block: var(--wp--preset--spacing--section-y); }
.ka-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:.85rem; font-weight:600; color:var(--ka-eyebrow); background:var(--wp--preset--color--primary-soft); padding:7px 15px; border-radius:var(--wp--custom--radius--pill); }
.ka-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:1.02rem; padding:.85rem 1.6rem; border-radius:var(--wp--custom--radius--pill); cursor:pointer; text-decoration:none; transition:transform var(--wp--custom--transition--base) var(--wp--custom--transition--ease), background-color var(--wp--custom--transition--base) var(--wp--custom--transition--ease); }
.ka-btn--primary { background:var(--wp--preset--color--primary); color:#fff; }
.ka-btn--primary:hover { background:var(--wp--preset--color--primary-strong); transform:translateY(-2px); }
.ka-btn--ghost { background:transparent; color:var(--wp--preset--color--primary); border:1.5px solid var(--wp--preset--color--border); }
.ka-btn--ghost:hover { background:var(--wp--preset--color--primary-soft); border-color:var(--wp--preset--color--accent); }

/* hero (split layout) */
.ka-hero { position:relative; overflow:hidden; }
.ka-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(900px 520px at 80% -15%, var(--ka-glow), transparent 60%); pointer-events:none; }
.ka-hero__grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.ka-hero__title { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:clamp(2.4rem,5.5vw,4rem); line-height:1.16; font-weight:700; margin:1rem 0 0; }
.ka-hero__title .hl { color:var(--wp--preset--color--primary); }
.ka-hero__lead { color:var(--wp--preset--color--contrast-muted); font-size:clamp(1.05rem,1.6vw,1.25rem); max-width:46ch; margin:1.2rem 0 1.8rem; }
.ka-hero__cta { display:flex; gap:.8rem; flex-wrap:wrap; }
.ka-hero__trust { display:flex; gap:2rem; flex-wrap:wrap; margin-top:2.4rem; }
.ka-hero__trust div { display:flex; flex-direction:column; }
.ka-hero__trust b { font-family:var(--wp--preset--font-family--display); font-variant-numeric:tabular-nums; font-size:1.6rem; color:var(--wp--preset--color--heading); font-weight:700; }
.ka-hero__trust span { font-size:.85rem; color:var(--wp--preset--color--contrast-muted); }
.ka-hero__card { position:relative; border-radius:var(--wp--custom--radius--lg); overflow:hidden; box-shadow:var(--wp--custom--shadow--strong); background:var(--wp--preset--color--surface-2); aspect-ratio:4/5; }
.ka-hero__card img { width:100%; height:100%; object-fit:cover; display:block; }
.ka-hero__badge { position:absolute; top:16px; inset-inline-start:16px; background:rgba(255,255,255,.94); color:#3f5417; font-weight:600; font-size:.82rem; padding:7px 14px; border-radius:var(--wp--custom--radius--pill); display:flex; align-items:center; gap:6px; }
.ka-hero__badge svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
@media (max-width:880px){ .ka-hero__grid{ grid-template-columns:1fr; text-align:center; } .ka-hero__lead{ margin-inline:auto; } .ka-hero__cta, .ka-hero__trust{ justify-content:center; } .ka-hero__media{ max-width:400px; margin-inline:auto; order:-1; } }

/* dark panel + stats */
.ka-panel { background:var(--wp--preset--color--panel); color:var(--wp--preset--color--panel-text); }
.ka-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; }
.ka-stats b { display:block; font-family:var(--wp--preset--font-family--display); font-variant-numeric:tabular-nums; font-size:clamp(1.7rem,3vw,2.3rem); color:var(--wp--preset--color--accent); font-weight:700; }
.ka-stats span { font-size:.9rem; color:var(--wp--preset--color--panel-muted); }
@media (max-width:680px){ .ka-stats{ grid-template-columns:repeat(2,1fr); gap:1.6rem; } }

/* section heading */
.ka-sec-head { max-width:640px; margin:0 auto 2.4rem; text-align:center; }
.ka-sec-head h2 { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:clamp(1.8rem,4vw,2.6rem); font-weight:700; margin:.6rem 0 0; }
.ka-sec-head p { color:var(--wp--preset--color--contrast-muted); margin-top:.5rem; }

/* grids */
.ka-grid { display:grid; gap:1.1rem; }
.ka-grid--3 { grid-template-columns:repeat(3,1fr); }
.ka-grid--6 { grid-template-columns:repeat(6,1fr); }
@media (max-width:900px){ .ka-grid--3{ grid-template-columns:repeat(2,1fr); } .ka-grid--6{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .ka-grid--3{ grid-template-columns:1fr; } .ka-grid--6{ grid-template-columns:repeat(2,1fr); } }

/* feature card */
.ka-feature { background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:var(--wp--custom--radius--md); padding:1.7rem; transition:transform var(--wp--custom--transition--base) var(--wp--custom--transition--ease), box-shadow var(--wp--custom--transition--base) var(--wp--custom--transition--ease); }
.ka-feature:hover { transform:translateY(-4px); box-shadow:var(--wp--custom--shadow--strong); }
.ka-feature__ic { display:inline-flex; width:52px; height:52px; align-items:center; justify-content:center; border-radius:15px; background:var(--wp--preset--color--primary-soft); color:var(--wp--preset--color--primary); margin-bottom:1rem; }
.ka-feature h3 { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:1.2rem; font-weight:700; margin:0; }
.ka-feature p { color:var(--wp--preset--color--contrast-muted); margin:.4rem 0 0; font-size:.97rem; }

/* category tiles */
.ka-cat { display:flex; flex-direction:column; align-items:center; gap:.5rem; background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:var(--wp--custom--radius--md); padding:1.4rem 1rem; text-align:center; text-decoration:none; color:inherit; transition:transform var(--wp--custom--transition--base) var(--wp--custom--transition--ease); }
.ka-cat:hover { transform:translateY(-4px); border-color:var(--wp--preset--color--accent); }
.ka-cat__ic { width:54px; height:54px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--wp--preset--color--primary-soft); color:var(--wp--preset--color--primary); }
.ka-cat b { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-weight:700; }
.ka-cat span { font-size:.82rem; color:var(--wp--preset--color--contrast-muted); }

/* latest posts — image cards */
.ka-rec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.7rem; }
.ka-rec-head h2 { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:clamp(1.7rem,3.5vw,2.3rem); font-weight:700; margin:.45rem 0 0; }
.ka-rec-head a { color:var(--wp--preset--color--primary); font-weight:600; font-size:.95rem; text-decoration:none; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.ka-rec-head a svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.ka-rec-head a:hover { color:var(--wp--preset--color--primary-strong); }
.ka-rec-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .ka-rec-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ka-rec-grid{ grid-template-columns:1fr; } }
.ka-rcard { min-width:0; background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:var(--wp--custom--radius--lg); overflow:hidden; box-shadow:var(--wp--custom--shadow--soft); transition:transform .25s ease, box-shadow .25s ease; }
.ka-rcard:hover { transform:translateY(-6px); box-shadow:var(--wp--custom--shadow--strong); }
.ka-rcard__thumb { position:relative; aspect-ratio:16/11; background:var(--wp--preset--color--surface-2); overflow:hidden; }
.ka-rcard__thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.ka-rcard:hover .ka-rcard__thumb img { transform:scale(1.06); }
.ka-rcard__cat { position:absolute; top:12px; inset-inline-start:12px; background:rgba(255,255,255,.93); color:#3f5417; font-weight:600; font-size:.78rem; padding:5px 12px; border-radius:var(--wp--custom--radius--pill); }
.ka-rcard__flag { position:absolute; top:12px; inset-inline-end:12px; font-size:.74rem; font-weight:700; padding:5px 11px; border-radius:var(--wp--custom--radius--pill); }
.ka-flag-new { background:#C2185B; color:#fff; }
.ka-flag-top { background:#FFF088; color:#5A4A00; }
.ka-rcard__body { padding:1.1rem 1.25rem 1.3rem; }
.ka-rcard__body h3 { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:1.3rem; font-weight:700; margin:0; line-height:1.3; }
.ka-chips { display:flex; gap:6px; flex-wrap:wrap; margin:.9rem 0; }
.ka-chip { display:inline-flex; align-items:center; gap:5px; background:var(--wp--preset--color--primary-soft); color:var(--ka-chip); font-weight:600; font-size:.76rem; padding:5px 10px; border-radius:var(--wp--custom--radius--pill); }
.ka-chip i { width:8px; height:8px; border-radius:50%; display:inline-block; }
.ka-chip .num { font-variant-numeric:tabular-nums; }
.ka-rcard__meta { display:flex; gap:1.1rem; color:var(--wp--preset--color--contrast-muted); font-size:.85rem; border-top:1px solid var(--wp--preset--color--border); padding-top:.85rem; }
.ka-rcard__meta span { display:inline-flex; align-items:center; gap:5px; }
.ka-rcard__meta .num { font-variant-numeric:tabular-nums; }
.ka-rcard__meta svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }

/* newsletter band */
.ka-news { background:linear-gradient(160deg, var(--wp--preset--color--primary-strong), var(--wp--preset--color--primary) 60%, var(--ka-accent2)); border-radius:var(--wp--custom--radius--lg); padding:clamp(2.2rem,5vw,3.4rem); text-align:center; }
.ka-news h2 { color:#fff; font-family:var(--wp--preset--font-family--display); font-size:clamp(1.7rem,3.5vw,2.3rem); font-weight:700; margin:0; }
.ka-news p { color:rgba(255,255,255,.93); margin:.6rem auto 1.5rem; max-width:48ch; }
.ka-news form { display:flex; gap:.6rem; max-width:460px; margin-inline:auto; flex-wrap:wrap; justify-content:center; }
.ka-news input { flex:1; min-width:220px; padding:.85rem 1.2rem; border-radius:var(--wp--custom--radius--pill); border:0; font-family:inherit; font-size:1rem; }
.ka-news .ka-btn { background:#fff; color:var(--wp--preset--color--primary-strong); }

/* footer (matches mockup) */
.ka-footer { background:var(--wp--preset--color--panel); color:var(--wp--preset--color--panel-muted); padding:3.5rem 0 2rem; }
.ka-footer__wrap { max-width:1200px; margin:0 auto; padding:0 clamp(1.1rem,4vw,2.4rem); }
.ka-foot-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem; }
@media (max-width:760px){ .ka-foot-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .ka-foot-grid { grid-template-columns:1fr; } }
.ka-foot-logo { display:inline-block; background:#fff; border-radius:14px; padding:8px 12px; }
.ka-foot-logo img { height:40px; width:auto; display:block; }
.ka-foot-brand p { color:var(--wp--preset--color--panel-muted); font-size:.92rem; margin-top:.9rem; max-width:34ch; opacity:.9; }
.ka-foot-social { display:flex; gap:10px; margin-top:1.1rem; }
.ka-foot-social a { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; color:var(--wp--preset--color--panel-muted); }
.ka-foot-social a:hover { background:var(--wp--preset--color--primary); color:#fff; }
.ka-foot-social svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.ka-foot-col h4 { color:var(--wp--preset--color--panel-text); font-family:var(--wp--preset--font-family--display); font-size:1.05rem; margin-bottom:.9rem; }
.ka-foot-col a { display:block; color:var(--wp--preset--color--panel-muted); padding:4px 0; font-size:.92rem; }
.ka-foot-col a:hover { color:var(--wp--preset--color--accent); }
.ka-foot-copy { border-top:1px solid rgba(255,255,255,.1); margin-top:2.4rem; padding-top:1.4rem; text-align:center; font-size:.85rem; opacity:.8; }
.ka-foot-copy .ka-num { font-variant-numeric:tabular-nums; }

/* inline line-icons inside ka components */
.ka-feature__ic svg, .ka-cat__ic svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* header polish + CTA fix (no wrapping blob) */
.ka-header .wp-block-button__link { padding:.55rem 1.1rem; font-size:.95rem; white-space:nowrap; }
.ka-header .wp-block-navigation { font-weight:500; }

/* ============================================================
   MOBILE HEADER + MENUS  (phone-first — ~90% of traffic)
   ============================================================ */
/* Brand the stock WP nav overlay (was unstyled white) + big tap targets */
/* Style the hamburger/close colour only — do NOT touch display (WP shows it
   <=600px and hides it above; overriding display broke the desktop header). */
.ka-header .wp-block-navigation__responsive-container-open,
.ka-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
}
.ka-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--surface);
	padding: clamp(1.25rem, 6vw, 2.5rem);
}
.ka-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	margin-top: 2.5rem;
}
.ka-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.ka-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.35rem;
	font-weight: 700;
	padding: .9rem .25rem;
	text-align: start;
}
.ka-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	/* declutter the bar — newsletter CTA stays reachable via the menu + footer */
	.ka-header .wp-block-buttons { display: none; }
	.ka-logo img { height: 40px; }

	/* mode/font control → compact round icon trigger */
	.ka-mode-switch .ka-mode-toggle {
		width: 46px; height: 46px; padding: 0; gap: 0;
		justify-content: center; border-radius: 50%;
		font-size: 1.6rem;            /* enlarge the ◐ glyph */
		line-height: 1;
	}
	.ka-mode-switch .ka-mode-toggle [data-mode-label],
	.ka-mode-switch .ka-mode-toggle__caret { display: none; }
	/* ensure the hamburger is a comfortable tap target where WP shows it */
	.ka-header .wp-block-navigation__responsive-container-open { min-width: 46px; min-height: 46px; }

	/* keep the compact dropdown that was working; only guarantee it never spills
	   off-screen, and keep the buttons easy to tap */
	.ka-mode-switch .ka-mode-menu {
		max-width: calc(100vw - 20px);
		max-height: calc(100vh - 80px);
		overflow-y: auto;
	}
	.ka-mode-switch .ka-mode-menu .ka-mode-btn { min-height: 46px; }
	.ka-mode-switch .ka-mode-menu .ka-font-btn { min-height: 46px; }
}

/* latest-posts cards reuse .ka-card; tidy excerpt/title */
.ka-card .wp-block-post-title { font-family:var(--wp--preset--font-family--display); color:var(--wp--preset--color--heading); font-size:1.2rem; }

/* grid overflow safety (RTL): grid items must allow shrinking */
.ka-card, .ka-feature, .ka-cat { min-width: 0; }
.ka-grid { min-width: 0; }
.ka-card .wp-block-post-title, .ka-card .wp-block-post-excerpt { overflow-wrap: anywhere; }

/* homepage "latest" teaser: show first 6 only, hide pager (query perPage quirk) */
.ka-section .wp-block-post-template > li:nth-child(n+7),
.ka-section .wp-block-post-template > div:nth-child(n+7) { display: none; }
.ka-section .wp-block-query-pagination { display: none; }

/* latest posts (core/latest-posts) styled as cards */
.ka-latest { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
@media (max-width: 900px) { .ka-latest { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ka-latest { grid-template-columns: 1fr; } }
.ka-latest > li { min-width: 0; margin: 0; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--lg); padding: 1.3rem 1.4rem; transition: transform var(--wp--custom--transition--base) var(--wp--custom--transition--ease), box-shadow var(--wp--custom--transition--base) var(--wp--custom--transition--ease); }
.ka-latest > li:hover { transform: translateY(-6px); box-shadow: var(--wp--custom--shadow--strong); }
.ka-latest .wp-block-latest-posts__post-title { display: block; font-family: var(--wp--preset--font-family--display); color: var(--wp--preset--color--heading); font-size: 1.2rem; font-weight: 700; text-decoration: none; line-height: 1.45; }
.ka-latest .wp-block-latest-posts__post-title:hover { color: var(--wp--preset--color--primary); }
.ka-latest .wp-block-latest-posts__post-excerpt { color: var(--wp--preset--color--contrast-muted); font-size: 0.95rem; margin: 0.6rem 0 0; }
.ka-latest .wp-block-latest-posts__post-date { display: block; color: var(--wp--preset--color--contrast-muted); font-size: 0.82rem; margin-top: 0.8rem; }

/* ====================== Pro polish: header + micro-interactions (no JS libs) ====================== */
.ka-header{position:sticky;top:0;z-index:60;background:var(--wp--preset--color--base)}
.ka-header > .wp-block-group{flex-wrap:nowrap;gap:clamp(.75rem,2vw,2rem)}
.ka-header .wp-block-navigation{flex-wrap:nowrap;column-gap:clamp(.7rem,1.6vw,1.7rem);font-weight:600}
.ka-header .wp-block-navigation ul{flex-wrap:nowrap}
.ka-header .wp-block-navigation .wp-block-navigation-item__content{white-space:nowrap;position:relative;padding-block:.4rem;transition:color .2s ease}
.ka-header .wp-block-navigation .wp-block-navigation-item__content::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;border-radius:2px;background:var(--wp--preset--color--primary);transform:scaleX(0);transition:transform .25s ease}
.ka-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,.ka-header .current-menu-item .wp-block-navigation-item__content::after{transform:scaleX(1)}
.ka-header .wp-block-navigation a:hover{color:var(--wp--preset--color--primary)}
.ka-header .wp-block-buttons .wp-block-button__link{white-space:nowrap;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}
.ka-header .wp-block-buttons .wp-block-button__link:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(85,112,25,.25)}
.ka-header .ka-logo img,.ka-header .wp-block-site-logo img{max-height:42px;width:auto}
@media (max-width:1080px){.ka-header .wp-block-buttons{display:none}}

.ka-feature,.ka-cat,.wp-block-post-template li{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ka-feature:hover,.wp-block-post-template li:hover{transform:translateY(-4px)}
.ka-cat:hover{transform:translateY(-4px);border-color:var(--wp--preset--color--primary)}
.wp-block-post-template li .wp-block-post-featured-image{overflow:hidden;border-radius:12px}
.wp-block-post-template li .wp-block-post-featured-image img{transition:transform .35s ease}
.wp-block-post-template li:hover .wp-block-post-featured-image img{transform:scale(1.05)}
.ka-btn,.wp-block-button__link{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.ka-btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(85,112,25,.28)}
h1,h2,.ka-hero__title{letter-spacing:-.012em}
