/* Ketabbin 1.3 — professional, quiet and tactile design system. */

@font-face {
	font-family: "Vazirmatn Variable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/vazirmatn-arabic-variable.woff2") format("woff2-variations");
	unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}

@font-face {
	font-family: "Vazirmatn Variable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/vazirmatn-latin-variable.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
	--paper: #eef1f0;
	--surface: #ffffff;
	--surface-2: #e5eae8;
	--text: #071b2c;
	--muted: #66747d;
	--line: rgba(7, 27, 44, .12);
	--line-strong: rgba(7, 27, 44, .28);
	--amber: #f2a900;
	--amber-soft: #ffc44d;
	--shadow: 0 18px 50px rgba(7, 27, 44, .08);
	--shadow-soft: 0 8px 24px rgba(7, 27, 44, .055);
	--radius: 14px;
	--radius-small: 10px;
	--shell: min(1440px, calc(100% - 64px));
	--font: "Vazirmatn Variable", Tahoma, sans-serif;
	--header-height: 82px;
}

html[data-theme="dark"] {
	--paper: #06131e;
	--surface: #0a1c29;
	--surface-2: #102634;
	--text: #f3eee4;
	--muted: #9aa8b0;
	--line: rgba(237, 242, 241, .11);
	--line-strong: rgba(242, 169, 0, .34);
	--shadow: 0 20px 58px rgba(0, 0, 0, .24);
	--shadow-soft: 0 9px 28px rgba(0, 0, 0, .16);
}

html { scroll-padding-top: calc(var(--header-height) + 20px); }

body {
	background: var(--paper);
	font-family: var(--font);
	font-variation-settings: "wght" 430;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
}

body::before { display: none; }

h1, h2, h3, h4, h5, h6, strong, b {
	font-variation-settings: "wght" 720;
}

a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--amber) 72%, transparent);
	outline-offset: 3px;
}

input,
select,
textarea,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--line-strong) !important;
	border-radius: var(--radius-small) !important;
	background: var(--surface) !important;
	color: var(--text) !important;
	transition: border-color .18s ease, box-shadow .18s ease;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--amber) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--amber) 13%, transparent) !important;
}

.kb-main { padding-top: var(--header-height); }

.kb-kicker {
	font-size: 11px;
	letter-spacing: .15px;
}

.kb-kicker::before { width: 25px; }

/* Header: every destination reads as an intentional control. */
.kb-header {
	height: var(--header-height);
	background: color-mix(in srgb, var(--surface) 92%, transparent);
	border-bottom: 1px solid var(--line);
	box-shadow: 0 7px 28px rgba(7, 27, 44, .055);
	backdrop-filter: blur(18px) saturate(1.15);
}

.kb-header__inner {
	grid-template-columns: minmax(235px, .85fr) 126px minmax(550px, 1.65fr);
	gap: 24px;
}

.kb-header__nav-side { gap: 10px; }

.kb-nav ul { gap: 6px; }

.kb-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 7px 12px;
	border: 1px solid transparent;
	border-radius: 9px;
	color: var(--muted);
	font-size: 10.5px;
	font-weight: 650;
	transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.kb-nav a:hover {
	border-color: var(--line);
	background: var(--surface-2);
	color: var(--text);
	transform: translateY(-1px);
}

.kb-nav .current-menu-item > a,
.kb-nav .current_page_item > a {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
	background: color-mix(in srgb, var(--amber) 11%, var(--surface));
	color: var(--text);
}

.kb-nav .current-menu-item > a::after,
.kb-nav .current_page_item > a::after { display: none; }

.kb-brand .custom-logo,
.kb-default-logo img {
	max-width: 118px;
	height: 55px;
}

.kb-header__actions { gap: 7px; }

.kb-icon-button,
.kb-account-link,
.kb-theme-switch {
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--surface);
	box-shadow: 0 3px 12px rgba(7, 27, 44, .035);
}

.kb-icon-button:hover,
.kb-account-link:hover {
	border-color: color-mix(in srgb, var(--amber) 58%, var(--line));
	background: color-mix(in srgb, var(--amber) 8%, var(--surface));
	color: var(--text);
}

.kb-account-link {
	min-height: 42px;
	padding: 7px 13px;
	font-size: 10px;
	font-weight: 650;
}

.kb-theme-switch { padding: 3px; }

.kb-theme-switch button {
	width: 30px;
	height: 30px;
	border-radius: 7px;
}

.kb-theme-switch button.is-active { box-shadow: inset 0 0 0 1px rgba(7, 27, 44, .12); }

/* Buttons: solid, compact and free of decorative shimmer. */
.kb-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	min-height: 46px;
	padding: 9px 20px;
	border: 1px solid var(--amber) !important;
	border-radius: 10px !important;
	background: var(--amber) !important;
	box-shadow: 0 8px 20px rgba(242, 169, 0, .13) !important;
	color: #071b2c !important;
	font-size: 12px;
	font-weight: 760;
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.kb-button::after,
.woocommerce a.button::after,
.woocommerce button.button::after { display: none !important; }

.kb-button:hover,
.kb-button:focus-visible,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--amber-soft) !important;
	box-shadow: 0 11px 24px rgba(242, 169, 0, .2) !important;
	transform: translateY(-2px);
}

.kb-button--outline {
	background: transparent !important;
	box-shadow: none !important;
	color: var(--text) !important;
}

.kb-button--outline:hover {
	background: color-mix(in srgb, var(--amber) 12%, var(--surface)) !important;
	color: var(--text) !important;
}

.kb-button--small { min-height: 38px; padding: 6px 14px; font-size: 10.5px; }

.kb-card-action,
.kb-text-link,
.kb-section-head > a,
.kb-chat__conversation > header > a,
.kb-my-library > header > a,
.kb-footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	min-height: 36px;
	padding: 6px 13px;
	border: 1px solid color-mix(in srgb, var(--amber) 48%, var(--line));
	border-radius: 9px;
	background: color-mix(in srgb, var(--amber) 7%, transparent);
	color: var(--text);
	font-size: 10px;
	font-weight: 720;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.kb-card-action:hover,
.kb-text-link:hover,
.kb-section-head > a:hover,
.kb-chat__conversation > header > a:hover,
.kb-my-library > header > a:hover,
.kb-footer a:hover {
	border-color: var(--amber);
	background: var(--amber);
	box-shadow: none;
	color: #071b2c;
	transform: translateY(-1px);
}

/* Home: independent panels instead of one demo-like grid. */
.kb-story-rail {
	margin-top: 24px;
	padding: 13px 18px;
	border-color: var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.kb-story {
	padding: 4px 5px 6px;
	border: 1px solid transparent;
	border-radius: 10px;
	transition: background .18s ease, border-color .18s ease;
}

.kb-story:hover {
	border-color: var(--line);
	background: var(--surface-2);
}

.kb-story span { width: 52px; height: 52px; }

.kb-hero-slider {
	height: clamp(520px, 55vw, 620px);
	max-height: 620px;
	margin-top: 22px;
	border-color: rgba(242, 169, 0, .2);
	border-radius: 18px;
	box-shadow: 0 26px 70px rgba(2, 13, 24, .18);
}

.kb-hero-slide__shade {
	background:
		linear-gradient(90deg, rgba(2, 13, 24, .03) 0, rgba(2, 13, 24, .05) 50%, rgba(2, 13, 24, .82) 76%, rgba(2, 13, 24, .97) 100%),
		linear-gradient(0deg, rgba(2, 13, 24, .34), transparent 48%);
}

.kb-hero-slide__copy { padding: 68px 62px 84px; }

.kb-hero-slide__copy :is(h1, h2) {
	margin: 18px 0 14px;
	font-size: clamp(46px, 4vw, 68px);
	line-height: 1.35;
	letter-spacing: -2.2px;
}

.kb-hero-slide__copy p { font-size: 13px; line-height: 2.05; }

.kb-hero-slider__controls button {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(5, 19, 30, .76);
	font-size: 18px;
}

.kb-hero-slider__controls button:hover { transform: translateY(-2px); }

.kb-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(220px, .68fr) minmax(280px, .9fr);
	gap: 18px;
	margin-top: 26px;
	border: 0;
}

.kb-home-grid > div {
	padding: 26px;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.kb-section-head {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-color: var(--line);
}

.kb-section-head small { font-size: 8px; letter-spacing: 1.1px; }
.kb-section-head h2 { margin-top: 3px; font-size: 24px; letter-spacing: -.5px; }

.kb-product-row { gap: 13px; }

.kb-product-card {
	position: relative;
	height: 100%;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--surface);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.kb-product-card:hover {
	border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
	box-shadow: 0 13px 30px rgba(7, 27, 44, .09);
	transform: translateY(-3px);
}

.kb-product-card > a {
	display: flex;
	height: 100%;
	padding: 9px;
	flex-direction: column;
}

.kb-product-card__image,
.kb-demo-cover {
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	transform: none !important;
}

.kb-product-card small { margin-top: 10px; font-size: 8.5px; }
.kb-product-card h3 { min-height: 41px; margin: 3px 0; font-size: 12px; }
.kb-product-card strong { margin-bottom: 10px; font-size: 10.5px; }
.kb-product-card .kb-card-action { width: 100%; margin-top: auto; }

.kb-home-conversations li,
.kb-home-events article {
	margin-bottom: 8px;
	padding: 0;
	border: 0;
}

.kb-conversation-link,
.kb-home-events article > a {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 62px;
	padding: 11px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--paper);
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.kb-conversation-link:hover,
.kb-home-events article > a:hover {
	border-color: color-mix(in srgb, var(--amber) 55%, var(--line));
	background: color-mix(in srgb, var(--amber) 6%, var(--surface));
	transform: translateY(-1px);
}

.kb-conversation-link span { flex: 1; font-size: 11px; line-height: 1.7; }
.kb-conversation-link small { color: var(--amber); font-size: 9px; }
.kb-conversation-link b { color: var(--muted); font-size: 15px; }

.kb-home-events img { width: 70px; height: 62px; border-radius: 8px; }
.kb-home-events article > a > div { flex: 1; }
.kb-home-events .kb-card-action { min-height: 32px; padding: 5px 9px; white-space: nowrap; }

.kb-epub-banner,
.kb-cafe-feature,
.kb-magazine-preview {
	margin-top: 28px;
	border: 1px solid var(--line);
	border-radius: 18px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
}

.kb-epub-banner { min-height: 400px; padding: 48px 62px; }
.kb-epub-banner h2, .kb-cafe-feature h2 { font-size: 38px; letter-spacing: -1.2px; }
.kb-digital-pages i { border-radius: 10px; box-shadow: var(--shadow-soft); }

.kb-cafe-feature { min-height: 510px; }
.kb-cafe-feature__image img { filter: saturate(.78) contrast(1.03) brightness(.78); }
.kb-cafe-feature > div:last-child { padding: 62px; }

.kb-magazine-preview { margin-bottom: 42px; padding: 28px; }

.kb-article-grid {
	gap: 16px;
	border: 0;
	background: transparent;
}

.kb-article-card {
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--surface);
	overflow: hidden;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kb-article-card:hover {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
	box-shadow: var(--shadow-soft);
	transform: translateY(-2px);
}

.kb-article-card__image { display: block; overflow: hidden; border-radius: 8px; }
.kb-article-card img { border-radius: 8px; filter: saturate(.82); }
.kb-article-card > div { padding: 15px 4px 4px; }
.kb-article-card h3, .kb-article-card h2 { font-size: 16px; }
.kb-article-card .kb-card-action { margin-top: 5px; }

/* Magazine and editorial pages. */
.kb-magazine { margin-top: 28px; }

.kb-magazine__mast {
	margin-bottom: 22px;
	padding: 48px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}

.kb-magazine__mast h1 { margin: 7px 0 0; font-size: clamp(48px, 6vw, 78px); letter-spacing: -2px; }

.kb-magazine-lead {
	margin-bottom: 30px;
	border: 1px solid var(--line);
	border-radius: 18px;
	background: var(--surface);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
}

.kb-magazine-lead__image { overflow: hidden; }
.kb-magazine-lead img { filter: saturate(.82); transition: transform .5s ease; }
.kb-magazine-lead__image:hover img { transform: scale(1.015); }
.kb-magazine-lead > div { padding: 48px; }
.kb-magazine-lead h2 { margin: 15px 0 10px; font-size: 39px; letter-spacing: -1px; }
.kb-magazine-lead .kb-card-action { margin-top: 22px; }

.kb-magazine-grid {
	display: grid;
	gap: 16px;
	border: 0;
	background: transparent;
}

.kb-magazine-grid article {
	padding: 12px;
	border: 1px solid var(--line) !important;
	border-radius: 12px;
	background: var(--surface);
	overflow: hidden;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.kb-magazine-grid article:hover {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line)) !important;
	box-shadow: var(--shadow-soft);
	transform: translateY(-2px);
}

.kb-magazine-card__image { display: block; overflow: hidden; border-radius: 8px; }
.kb-magazine-grid img { border-radius: 8px; filter: saturate(.82); }
.kb-magazine-grid article > div { padding: 15px 4px 4px; }
.kb-magazine-grid h3 { font-size: 18px; }
.kb-magazine-grid .kb-card-action { margin-top: 8px; }

/* Inner-page frames and interactive records. */
.kb-page-heading,
.kb-social-head {
	margin-top: 26px;
	padding: 42px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}

.kb-page-heading h1 { letter-spacing: -1.4px; }

.kb-cafe-hero,
.kb-epub-hero,
.kb-chat,
.kb-reader,
.kb-account {
	border-color: var(--line);
	border-radius: 18px;
	box-shadow: var(--shadow-soft);
	overflow: hidden;
}

.kb-event-list { display: grid; gap: 10px; border: 0; }

.kb-event-row {
	border: 1px solid var(--line) !important;
	border-radius: 12px;
	background: var(--surface);
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kb-event-row:hover {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line)) !important;
	box-shadow: var(--shadow-soft);
	transform: translateY(-1px);
}

.kb-event-row__city img { border-radius: 8px; }

.kb-host-strip,
.kb-social-setup,
.kb-incoming,
.kb-safety {
	border-color: var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}

.kb-purpose-tabs {
	gap: 5px;
	padding: 4px;
	border-radius: 11px;
	background: var(--surface-2);
}

.kb-purpose-tabs button {
	border: 1px solid transparent !important;
	border-radius: 8px;
	background: transparent;
	font-weight: 650;
}

.kb-purpose-tabs button.is-active {
	border-color: color-mix(in srgb, var(--amber) 45%, transparent) !important;
	background: var(--amber);
}

.kb-people-grid { gap: 14px; }

.kb-person-card,
.kb-epub-card {
	border-color: var(--line);
	border-radius: 12px;
	background: var(--surface);
	overflow: hidden;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kb-person-card:hover,
.kb-epub-card:hover {
	border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
	box-shadow: var(--shadow-soft);
	transform: translateY(-2px);
}

.kb-person-card img { border: 3px solid var(--surface); box-shadow: 0 0 0 1px var(--line); }

.kb-incoming article > button,
.kb-chat__rooms button,
.kb-reader-controls button,
.kb-reader__body nav button,
.kb-invite-dialog > button {
	border: 1px solid var(--line) !important;
	border-radius: 8px !important;
	background: var(--surface) !important;
}

.kb-incoming article > button:hover,
.kb-chat__rooms button:hover,
.kb-reader-controls button:hover,
.kb-reader__body nav button:hover,
.kb-invite-dialog > button:hover {
	border-color: var(--amber) !important;
	background: color-mix(in srgb, var(--amber) 10%, var(--surface)) !important;
	color: var(--text);
}

.kb-chat__rooms,
.kb-chat__side,
.kb-account-nav { background: color-mix(in srgb, var(--surface-2) 72%, var(--surface)); }

.kb-chat__rooms > button {
	margin-bottom: 6px;
	border: 1px solid transparent !important;
	border-radius: 9px !important;
}

.kb-chat__rooms > button.is-active {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line)) !important;
	background: color-mix(in srgb, var(--amber) 10%, var(--surface)) !important;
}

.kb-epub-grid { gap: 14px; }
.kb-epub-card { padding: 12px; }
.kb-epub-card > a:first-child, .kb-epub-card > img { display: block; overflow: hidden; border-radius: 8px; }
.kb-epub-card > a:first-child img, .kb-epub-card > img { border-radius: 8px; }
.kb-epub-card > div { display: flex; gap: 7px; flex-wrap: wrap; }

/* Customer area: calm dashboard, truthful stats and visible actions. */
.kb-account { margin-top: 28px; border-color: var(--line); }

.kb-account-nav { padding: 18px 12px; }
.kb-account-nav__profile { margin: 0 4px 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.kb-account-nav nav { display: grid; gap: 5px; padding: 4px 0; }

.kb-account-nav nav a {
	min-height: 44px;
	padding: 9px 13px;
	border: 1px solid transparent;
	border-radius: 9px;
	color: var(--muted);
	font-weight: 620;
}

.kb-account-nav nav a:hover {
	border-color: var(--line);
	background: var(--surface);
	color: var(--text);
}

.kb-account-nav nav a.is-active {
	border-color: color-mix(in srgb, var(--amber) 45%, var(--line));
	background: color-mix(in srgb, var(--amber) 10%, var(--surface));
	color: var(--text);
}

.kb-account__main { padding: 30px; background: var(--paper); }
.kb-account-head h1 { font-size: 32px; letter-spacing: -.8px; }
.kb-member-badge { border-radius: 10px; background: var(--surface); }
.kb-dashboard-grid { gap: 14px; }

.kb-dashboard-card {
	border-color: var(--line);
	border-radius: 12px;
	background: var(--surface);
	box-shadow: 0 5px 18px rgba(7, 27, 44, .035);
}

.kb-dashboard-card h2 { font-size: 15px; }
.kb-continue__book img { border-radius: 8px; }
.kb-continue__book i { display: none; }
.kb-progress { height: 6px; border-radius: 99px; }
.kb-progress i { border-radius: 99px; }
.kb-order-summary { border-radius: 9px; background: var(--paper); }
.kb-order-empty { padding: 20px; border: 1px dashed var(--line-strong); border-radius: 10px; background: var(--paper); }
.kb-order-empty p { max-width: 520px; margin: 6px 0 16px; color: var(--muted); font-size: 11px; }
.kb-stats > div { border-color: var(--line); }
.kb-stats.is-onboarding { position: relative; padding-bottom: 34px; }
.kb-stats.is-onboarding > small { position: absolute; right: 18px; bottom: 8px; color: var(--muted); font-size: 9px; }
.kb-event-mini img { border-radius: 8px; }

.kb-demo-label {
	border-color: var(--line);
	background: var(--surface-2);
	color: var(--muted);
}

.kb-empty-panel,
.kb-empty-inline {
	border-color: var(--line-strong);
	border-radius: 12px;
	background: var(--surface);
}

.kb-empty-panel::after,
.kb-empty-inline::after { display: none; }

/* Store. */
.woocommerce-products-header {
	margin-top: 34px;
	padding: 38px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}

.woocommerce-products-header__title { font-size: 46px; letter-spacing: -1.2px; }

.woocommerce ul.products { gap: 16px; }

.woocommerce ul.products li.product {
	padding: 12px;
	border-color: var(--line);
	border-radius: 12px;
	background: var(--surface);
	overflow: hidden;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover {
	border-color: color-mix(in srgb, var(--amber) 48%, var(--line));
	box-shadow: var(--shadow-soft);
	transform: translateY(-3px);
}

.woocommerce ul.products li.product a img { border-radius: 8px; }
.woocommerce ul.products li.product .button { display: flex; width: 100%; margin-top: 12px; }
.woocommerce div.product { padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.woocommerce table.shop_table { border-radius: 12px !important; overflow: hidden; }
.woocommerce-message, .woocommerce-info { border-radius: 10px; }

/* Footer links stay clearly actionable without becoming visually loud. */
.kb-footer {
	margin-top: 38px;
	margin-bottom: 24px;
	padding: 46px;
	border-radius: 18px;
	background: #071b2c;
	box-shadow: 0 24px 60px rgba(2, 13, 24, .2);
}

.kb-footer a {
	margin: 6px 0;
	border-color: rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .035);
	color: #c2ccd1;
}

.kb-newsletter form { padding: 4px; border-color: rgba(255, 255, 255, .18); border-radius: 10px; }
.kb-newsletter input { border: 0 !important; background: transparent !important; box-shadow: none !important; }
.kb-newsletter button { border-radius: 7px; }

@media (max-width: 1180px) {
	:root { --shell: min(1120px, calc(100% - 32px)); }
	.kb-header__inner { grid-template-columns: minmax(180px, .7fr) 112px minmax(470px, 1.7fr); gap: 14px; }
	.kb-nav a { padding-inline: 9px; font-size: 9.5px; }
	.kb-account-link span { display: none; }
	.kb-home-grid { grid-template-columns: 1fr 1fr; }
	.kb-home-products { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
	:root { --header-height: 68px; }
	.kb-header { height: var(--header-height); }
	.kb-header__inner { grid-template-columns: 1fr auto 1fr; }
	.kb-header__nav-side { justify-self: end; }
	.kb-menu-toggle { display: grid; }
	.kb-nav { position: fixed; top: calc(var(--header-height) + 8px); right: 16px; left: 16px; display: none; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
	.kb-nav.is-open { display: block; }
	.kb-nav ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
	.kb-nav li { border: 0; }
	.kb-nav a { width: 100%; min-height: 44px; border-color: var(--line); font-size: 11px; }
	.kb-brand .custom-logo, .kb-default-logo img { height: 48px; }
	.kb-hero-slider { height: 570px; }
	.kb-hero-slide__copy { width: 56%; padding-inline: 38px; }
	.kb-home-grid { grid-template-columns: 1fr; }
	.kb-home-products { grid-column: auto; }
	.kb-account-nav { padding: 8px; }
	.kb-account-nav nav { display: flex; }
	.kb-account-nav nav a { border: 1px solid var(--line); }
}

@media (max-width: 700px) {
	:root { --shell: calc(100% - 20px); }
	.kb-header__actions .kb-account-link { display: none; }
	.kb-theme-switch { display: none; }
	.kb-story-rail { margin-top: 12px; border-radius: 11px; }
	.kb-hero-slider { height: 600px; min-height: 600px; margin-top: 12px; border-radius: 13px; }
	.kb-hero-slide__copy { width: 100%; padding: 30px 22px 92px; }
	.kb-hero-slide__copy :is(h1, h2) { font-size: 39px; letter-spacing: -1.4px; }
	.kb-hero-slider__dots { right: 24px; }
	.kb-home-grid { gap: 12px; margin-top: 14px; }
	.kb-home-grid > div { padding: 18px 14px; border-radius: 12px; }
	.kb-product-row { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.kb-product-card h3 { min-height: auto; }
	.kb-home-events article > a { flex-wrap: wrap; }
	.kb-home-events .kb-card-action { width: 100%; }
	.kb-epub-banner, .kb-cafe-feature, .kb-magazine-preview { margin-top: 14px; border-radius: 13px; }
	.kb-epub-banner { padding: 34px 20px; }
	.kb-cafe-feature > div:last-child { padding: 35px 22px; }
	.kb-epub-banner h2, .kb-cafe-feature h2 { font-size: 31px; }
	.kb-magazine-preview { padding: 17px; }
	.kb-article-grid { gap: 10px; }
	.kb-magazine__mast { padding: 32px 18px; }
	.kb-magazine-lead { border-radius: 13px; }
	.kb-magazine-lead > div { padding: 30px 20px; }
	.kb-magazine-lead h2 { font-size: 30px; }
	.kb-page-heading, .kb-social-head { padding: 28px 20px; }
	.kb-account, .kb-chat, .kb-reader, .kb-cafe-hero, .kb-epub-hero { border-radius: 12px; }
	.kb-account__main { padding: 22px 12px; }
	.kb-dashboard-card { border-radius: 10px; }
	.kb-footer { padding: 34px 22px 48px; border-radius: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.kb-product-card:hover,
	.kb-article-card:hover,
	.kb-magazine-grid article:hover,
	.woocommerce ul.products li.product:hover { transform: none; }
}
