/* ==========================================================================
 * BestKukriKnife - Main stylesheet
 * Design system, layout, base components, content templates.
 * ========================================================================== */

/* Reset / base ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	background:
		radial-gradient(60% 50% at 80% 0%, rgba(234,88,12,.06) 0%, transparent 60%),
		radial-gradient(50% 50% at 0% 80%, rgba(14,116,144,.05) 0%, transparent 65%),
		var(--bkk-bg, #0a0b10);
	color: var(--bkk-text, #f5efe0);
	line-height: 1.6;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
svg { max-width: 100%; display: block; }
/* Default SVG fallback sizing — keeps inline SVGs without explicit dims sane. */
svg:not([width]):not([height]) { width: auto; height: auto; }
a { color: var(--bkk-accent, #ea580c); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--bkk-accent-2, #d97706); }
h1, h2, h3, h4, h5 { font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; margin: 0 0 .6em; color: #fff; }
h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.2em; }
button { font: inherit; cursor: pointer; }
input, select, textarea {
	font: inherit; color: inherit; background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.1); border-radius: 6px;
	padding: .7em .9em; width: 100%;
}
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible {
	outline: 2px solid var(--bkk-accent, #c2410c); outline-offset: 2px;
}
output { font-variant-numeric: tabular-nums; font-weight: 600; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* Skip link */
.bkk-skip {
	position: absolute; top: -100px; left: 1rem; background: var(--bkk-accent); color: #fff;
	padding: .7em 1em; border-radius: 6px; z-index: 9999;
}
.bkk-skip:focus { top: 1rem; }

/* Layout primitives ------------------------------------------------------- */
.bkk-container { max-width: 1240px; margin: 0 auto; padding: 0 clamp(1rem, 3vw, 2rem); }
.bkk-main { display: block; }
.bkk-home > section { padding: clamp(3rem, 6vw, 5rem) 0; }
.bkk-home > section + section { border-top: 1px solid rgba(255,255,255,.04); }

/* Section heads ----------------------------------------------------------- */
.bkk-section-head { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.bkk-section-head__eyebrow {
	display: inline-block; font-family: 'Space Grotesk', sans-serif; font-size: .75rem;
	letter-spacing: .25em; text-transform: uppercase; margin-bottom: 1rem;
	background: linear-gradient(135deg, var(--bkk-accent, #ea580c), var(--bkk-accent-2, #d97706));
	-webkit-background-clip: text; background-clip: text; color: transparent;
	padding: .35em .9em; border: 1px solid rgba(234,88,12,.3); border-radius: 999px;
}
.bkk-section-head__title { margin: 0 0 .5em; }
.bkk-section-head__sub { color: rgba(245,239,224,.72); font-size: 1.1rem; }

/* Per-section tinted ambience (subtle, alternating warm/cool) */
.bkk-home > section { position: relative; }
.bkk-home > section[data-section="hero"] { background: transparent; }
.bkk-home > section[data-section="quick_start"] { background:
	radial-gradient(50% 60% at 50% 0%, rgba(234,88,12,.06), transparent 60%), transparent;
}
.bkk-home > section[data-section="quiz"] { background:
	radial-gradient(60% 60% at 0% 50%, rgba(217,119,6,.06), transparent 60%), transparent;
}
.bkk-home > section[data-section="calculator"] { background:
	radial-gradient(60% 60% at 100% 50%, rgba(14,116,144,.07), transparent 60%), transparent;
}
.bkk-home > section[data-section="visualizer"] { background:
	radial-gradient(50% 60% at 50% 100%, rgba(234,88,12,.08), transparent 60%),
	radial-gradient(70% 60% at 50% 0%, rgba(45,74,45,.05), transparent 60%);
}
.bkk-home > section[data-section="survival"] { background:
	radial-gradient(60% 60% at 0% 0%, rgba(45,74,45,.08), transparent 60%), transparent;
}
.bkk-home > section[data-section="categories"] { background:
	radial-gradient(50% 50% at 100% 100%, rgba(217,119,6,.07), transparent 60%), transparent;
}
.bkk-home > section[data-section="comparison"] { background:
	radial-gradient(50% 50% at 0% 50%, rgba(159,18,57,.06), transparent 60%), transparent;
}
.bkk-home > section[data-section="loadout"] { background:
	radial-gradient(60% 50% at 100% 0%, rgba(14,116,144,.05), transparent 60%), transparent;
}
.bkk-home > section[data-section="maintenance"] { background:
	radial-gradient(50% 60% at 50% 50%, rgba(91,58,29,.07), transparent 60%), transparent;
}
.bkk-home > section[data-section="weight"] { background:
	radial-gradient(60% 60% at 50% 100%, rgba(122,122,122,.06), transparent 60%), transparent;
}
.bkk-home > section[data-section="map"] { background:
	radial-gradient(50% 50% at 0% 50%, rgba(45,74,45,.07), transparent 60%),
	radial-gradient(60% 60% at 100% 50%, rgba(14,116,144,.05), transparent 60%);
}
.bkk-home > section[data-section="beginner"] { background:
	radial-gradient(60% 50% at 50% 0%, rgba(217,119,6,.06), transparent 60%), transparent;
}
.bkk-home > section[data-section="products"] { background:
	radial-gradient(60% 60% at 100% 0%, rgba(234,88,12,.07), transparent 60%), transparent;
}
.bkk-home > section[data-section="faq"] { background:
	radial-gradient(60% 60% at 0% 100%, rgba(217,119,6,.05), transparent 60%), transparent;
}
.bkk-home > section[data-section="newsletter"] {
	background: linear-gradient(135deg, rgba(234,88,12,.12) 0%, rgba(45,74,45,.1) 50%, rgba(14,116,144,.08) 100%);
}
.bkk-home > section[data-section="trust"] { background:
	radial-gradient(60% 60% at 50% 0%, rgba(45,74,45,.1), transparent 60%), transparent;
}

/* Buttons ----------------------------------------------------------------- */
.bkk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	font-family: 'Space Grotesk', sans-serif; font-weight: 600; letter-spacing: .02em;
	border: 1px solid transparent; border-radius: 6px;
	padding: .85em 1.4em; cursor: pointer; transition: all .25s ease;
	text-decoration: none; line-height: 1.1; white-space: nowrap;
}
.bkk-btn--primary {
	background: linear-gradient(135deg, var(--bkk-accent, #ea580c) 0%, var(--bkk-accent-2, #d97706) 100%);
	color: #fff;
	box-shadow: 0 10px 28px -8px rgba(234,88,12,.55), inset 0 1px 0 rgba(255,255,255,.18);
	position: relative; overflow: hidden;
}
.bkk-btn--primary::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, var(--bkk-accent-2, #d97706) 0%, var(--bkk-accent, #ea580c) 100%); opacity: 0; transition: opacity .25s ease; }
.bkk-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px -8px rgba(234,88,12,.7), inset 0 1px 0 rgba(255,255,255,.25); }
.bkk-btn--primary:hover::after { opacity: 1; }
.bkk-btn--primary > * { position: relative; z-index: 1; }
.bkk-btn--ghost { background: rgba(255,255,255,.02); color: var(--bkk-text); border-color: rgba(245,239,224,.22); backdrop-filter: blur(6px); }
.bkk-btn--ghost:hover { border-color: var(--bkk-accent); color: var(--bkk-accent); background: rgba(234,88,12,.08); }
.bkk-btn--gold { background: linear-gradient(135deg, var(--bkk-accent-2, #d97706), var(--bkk-bronze, #a3722e)); color: #fff; box-shadow: 0 10px 28px -8px rgba(217,119,6,.5); }
.bkk-btn--tactical { background: linear-gradient(135deg, var(--bkk-crimson, #9f1239), var(--bkk-accent, #ea580c)); color: #fff; box-shadow: 0 10px 28px -8px rgba(159,18,57,.55); }
.bkk-btn--lg { padding: 1.05em 1.7em; font-size: 1.05rem; }
.bkk-btn--sm { padding: .55em 1em; font-size: .85rem; }
.bkk-btn__arrow { display: inline-block; transition: transform .25s ease; }
.bkk-btn:hover .bkk-btn__arrow { transform: translateX(3px); }
.bkk-btn:disabled { opacity: .35; cursor: not-allowed; }

/* Form fields ------------------------------------------------------------- */
.bkk-field { display: flex; flex-direction: column; gap: .4em; }
.bkk-field > span { font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: rgba(232,227,216,.65); }
.bkk-field input[type="range"] { padding: 0; height: 4px; background: rgba(255,255,255,.1); border: 0; border-radius: 4px; -webkit-appearance: none; }
.bkk-field input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--bkk-accent); cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.4); }
.bkk-field input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--bkk-accent); cursor: pointer; border: 0; }

/* Header ------------------------------------------------------------------ */
.bkk-header { position: sticky; top: 0; z-index: 50;
	background: linear-gradient(180deg, rgba(10,11,16,.96) 0%, rgba(10,11,16,.88) 100%);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(234,88,12,.12);
}
.bkk-header::before { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
	background: linear-gradient(90deg, transparent, var(--bkk-accent, #ea580c), transparent); opacity: .35;
}
.bkk-utility { background: #060606; font-size: .8rem; color: rgba(232,227,216,.6); border-bottom: 1px solid rgba(255,255,255,.04); }
.bkk-utility__inner { display: flex; justify-content: space-between; align-items: center; padding: .55rem 0; }
.bkk-utility__menu { display: flex; gap: 1.2rem; list-style: none; margin: 0; padding: 0; }
.bkk-utility__menu a { color: rgba(232,227,216,.6); }
.bkk-utility__menu a:hover { color: var(--bkk-accent); }
.bkk-header__main .bkk-header__inner { display: flex; align-items: center; gap: 1.5rem; padding: 1rem 0; }
.bkk-logo { display: inline-flex; align-items: center; gap: .65em; color: #fff; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.15rem; letter-spacing: -.02em; }
.bkk-logo__mark { width: 32px; height: 32px; color: var(--bkk-accent); display: inline-flex; }
.bkk-logo__mark svg { width: 100%; height: 100%; }
.bkk-logo:hover { color: var(--bkk-accent); }
.bkk-primary-nav { margin-left: auto; }
.bkk-primary-nav__list, .bkk-primary-nav ul { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.bkk-primary-nav a { color: rgba(232,227,216,.85); font-weight: 500; }
.bkk-primary-nav a:hover { color: var(--bkk-accent); }
.bkk-header__cta { margin-left: 1rem; }
.bkk-nav-toggle { display: none; background: transparent; border: 0; color: #fff; width: 38px; height: 38px; padding: 0; margin-left: auto; flex-direction: column; gap: 5px; align-items: center; justify-content: center; }
.bkk-nav-toggle__line { width: 22px; height: 2px; background: #fff; transition: transform .2s ease; }

/* Disclosure -------------------------------------------------------------- */
.bkk-disclosure {
	background: linear-gradient(90deg, rgba(234,88,12,.12), rgba(217,119,6,.08), rgba(14,116,144,.06));
	border-bottom: 1px solid rgba(234,88,12,.2);
	color: rgba(245,239,224,.78); font-size: .82rem; text-align: center; padding: .6rem 1rem;
}

/* Footer ------------------------------------------------------------------ */
.bkk-footer { background: #060606; padding: 4rem 0 2rem; border-top: 1px solid rgba(255,255,255,.05); margin-top: 4rem; }
.bkk-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; margin-bottom: 3rem; }
.bkk-footer__about { font-size: .9rem; color: rgba(232,227,216,.6); margin-top: 1rem; }
.bkk-footer__col h4, .bkk-footer__col .widget-title { color: #fff; font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem; font-family: 'Space Grotesk', sans-serif; }
.bkk-footer__col ul { list-style: none; padding: 0; margin: 0; }
.bkk-footer__col li { margin-bottom: .55rem; }
.bkk-footer__col a { color: rgba(232,227,216,.7); font-size: .9rem; }
.bkk-footer__col a:hover { color: var(--bkk-accent); }
.bkk-footer__bar { display: flex; justify-content: space-between; align-items: center; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.05); color: rgba(232,227,216,.5); font-size: .82rem; }
.bkk-footer__legal { display: flex; gap: 1.2rem; list-style: none; margin: 0; padding: 0; }

/* Card / archive ---------------------------------------------------------- */
.bkk-archive { padding: 3rem 0; }
.bkk-archive__header { margin-bottom: 2rem; max-width: 720px; }
.bkk-archive__title { margin: 0 0 .4em; }
.bkk-archive__desc { color: rgba(232,227,216,.7); }
.bkk-archive__cta { margin: 2rem 0; }
.bkk-archive__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.75rem; margin: 2rem 0; }
.bkk-card {
	background: linear-gradient(135deg, var(--bkk-surface, #1a1612), var(--bkk-surface-2, #211c17));
	border: 1px solid rgba(255,255,255,.05); border-radius: 12px; overflow: hidden;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.bkk-card:hover { transform: translateY(-4px); border-color: rgba(234,88,12,.45); box-shadow: 0 20px 50px -16px rgba(234,88,12,.25); }
.bkk-card__media { aspect-ratio: 16/10; overflow: hidden; background: #0a0a0a; }
.bkk-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bkk-card:hover .bkk-card__media img { transform: scale(1.04); }
.bkk-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #1a1a1a, #060606); }
.bkk-card__body { padding: 1.4rem; }
.bkk-card__cat { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--bkk-accent); margin-bottom: .6rem; }
.bkk-card__title { margin: 0 0 .5em; font-size: 1.2rem; }
.bkk-card__title a { color: #fff; }
.bkk-card__title a:hover { color: var(--bkk-accent); }
.bkk-card__excerpt { font-size: .9rem; color: rgba(232,227,216,.7); margin-bottom: 1rem; }
.bkk-card__meta { display: flex; justify-content: space-between; align-items: center; font-size: .8rem; color: rgba(232,227,216,.5); }
.bkk-card__read { color: var(--bkk-accent); font-weight: 600; }

/* Single article ---------------------------------------------------------- */
.bkk-single { padding: 3rem 0; }
.bkk-article__header { max-width: 820px; margin: 0 auto 2rem; text-align: center; }
.bkk-article__cat { font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--bkk-accent); font-weight: 700; }
.bkk-article__title { margin: .5em 0; }
.bkk-article__meta { color: rgba(232,227,216,.55); font-size: .9rem; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.bkk-article__meta time::before { content: "·"; padding: 0 .5em; opacity: .4; }
.bkk-article__updated { color: var(--bkk-accent); font-weight: 600; }
.bkk-article__hero { margin: 2rem -1rem; border-radius: 12px; overflow: hidden; }
.bkk-article__hero img { width: 100%; height: auto; }
.bkk-article__layout { display: grid; grid-template-columns: 1fr 320px; gap: 3rem; margin-top: 2rem; }
.bkk-article__content { font-size: 1.05rem; line-height: 1.75; }
.bkk-article__content h2, .bkk-article__content h3 { margin-top: 2em; }
.bkk-article__content blockquote { border-left: 3px solid var(--bkk-accent); padding-left: 1.2rem; color: rgba(232,227,216,.8); font-style: italic; }
.bkk-article__content pre, .bkk-article__content code { background: rgba(255,255,255,.04); border-radius: 6px; }
.bkk-article__content pre { padding: 1rem; overflow-x: auto; }
.bkk-article__content code { padding: .15em .4em; font-size: .9em; }
.bkk-article__sidebar { position: sticky; top: 110px; align-self: start; }
.bkk-sticky-cta { background: linear-gradient(135deg, rgba(194,65,12,.15), rgba(58,74,42,.1)); border: 1px solid rgba(194,65,12,.3); padding: 1.5rem; border-radius: 12px; margin-bottom: 1.5rem; }
.bkk-sticky-cta h3 { font-size: 1rem; }
.bkk-sticky-cta p { font-size: .9rem; color: rgba(232,227,216,.75); margin-bottom: 1rem; }

/* Related products -------------------------------------------------------- */
.bkk-related { margin: 3rem 0; }
.bkk-related__title { margin-bottom: 1.5rem; }
.bkk-related__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.2rem; }
.bkk-related-posts { margin-top: 4rem; }

/* Product box ------------------------------------------------------------- */
.bkk-product-box {
	position: relative;
	background: linear-gradient(135deg, var(--bkk-surface, #1a1612) 0%, var(--bkk-surface-2, #211c17) 100%);
	border: 1px solid rgba(255,255,255,.06); border-radius: 14px; overflow: hidden;
	display: flex; flex-direction: column;
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.bkk-product-box:hover { transform: translateY(-3px); }
/* Per-accent color hover glow */
.bkk-product-box--ember:hover  { border-color: rgba(234,88,12,.55);  box-shadow: 0 18px 50px -16px rgba(234,88,12,.4); }
.bkk-product-box--gold:hover   { border-color: rgba(217,119,6,.55);  box-shadow: 0 18px 50px -16px rgba(217,119,6,.4); }
.bkk-product-box--forest:hover { border-color: rgba(45,74,45,.7);    box-shadow: 0 18px 50px -16px rgba(45,74,45,.55); }
.bkk-product-box--teal:hover   { border-color: rgba(14,116,144,.55); box-shadow: 0 18px 50px -16px rgba(14,116,144,.4); }
.bkk-product-box--crimson:hover{ border-color: rgba(159,18,57,.55);  box-shadow: 0 18px 50px -16px rgba(159,18,57,.4); }

.bkk-product-box__badge {
	position: absolute; top: 1rem; left: 1rem;
	color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
	padding: .4em .8em; border-radius: 4px; z-index: 2;
	box-shadow: 0 6px 18px -4px rgba(0,0,0,.5);
}
.bkk-product-box__badge--ember   { background: linear-gradient(135deg, var(--bkk-accent, #ea580c), var(--bkk-accent-2, #d97706)); }
.bkk-product-box__badge--gold    { background: linear-gradient(135deg, var(--bkk-accent-2, #d97706), var(--bkk-bronze, #a3722e)); }
.bkk-product-box__badge--forest  { background: linear-gradient(135deg, var(--bkk-forest, #2d4a2d), #4a6a3d); }
.bkk-product-box__badge--teal    { background: linear-gradient(135deg, var(--bkk-teal, #0e7490), #0891b2); }
.bkk-product-box__badge--crimson { background: linear-gradient(135deg, var(--bkk-crimson, #9f1239), var(--bkk-accent, #ea580c)); }
.bkk-product-box__media { aspect-ratio: 4/3; background: #0a0a0a; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.bkk-product-box__media img { width: 100%; height: 100%; object-fit: cover; }
.bkk-product-box__placeholder { width: 60%; aspect-ratio: 1; color: rgba(232,227,216,.2); display: flex; align-items: center; justify-content: center; }
.bkk-product-box__placeholder svg { width: 100%; height: 100%; }
.bkk-product-box__body { padding: 1.25rem 1.25rem 1.4rem; display: flex; flex-direction: column; flex: 1; gap: .6rem; }
.bkk-product-box__best { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--bkk-bronze, #8a6b3a); font-weight: 700; }
.bkk-product-box__title { font-size: 1.1rem; margin: 0; }
.bkk-product-box__rating { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: rgba(232,227,216,.8); }
.bkk-stars { --rating: 0; display: inline-block; width: 80px; height: 14px; background: linear-gradient(90deg, var(--bkk-accent) calc(var(--rating) * 20%), rgba(255,255,255,.1) 0); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 14'%3E%3Cg fill='black'%3E%3Cpolygon points='8,1 10,5 14,5.5 11,9 12,13 8,11 4,13 5,9 2,5.5 6,5'/%3E%3Cpolygon points='24,1 26,5 30,5.5 27,9 28,13 24,11 20,13 21,9 18,5.5 22,5'/%3E%3Cpolygon points='40,1 42,5 46,5.5 43,9 44,13 40,11 36,13 37,9 34,5.5 38,5'/%3E%3Cpolygon points='56,1 58,5 62,5.5 59,9 60,13 56,11 52,13 53,9 50,5.5 54,5'/%3E%3Cpolygon points='72,1 74,5 78,5.5 75,9 76,13 72,11 68,13 69,9 66,5.5 70,5'/%3E%3C/g%3E%3C/svg%3E") no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 14'%3E%3Cg fill='black'%3E%3Cpolygon points='8,1 10,5 14,5.5 11,9 12,13 8,11 4,13 5,9 2,5.5 6,5'/%3E%3Cpolygon points='24,1 26,5 30,5.5 27,9 28,13 24,11 20,13 21,9 18,5.5 22,5'/%3E%3Cpolygon points='40,1 42,5 46,5.5 43,9 44,13 40,11 36,13 37,9 34,5.5 38,5'/%3E%3Cpolygon points='56,1 58,5 62,5.5 59,9 60,13 56,11 52,13 53,9 50,5.5 54,5'/%3E%3Cpolygon points='72,1 74,5 78,5.5 75,9 76,13 72,11 68,13 69,9 66,5.5 70,5'/%3E%3C/g%3E%3C/svg%3E") no-repeat; }
.bkk-product-box__poco { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; font-size: .82rem; margin-top: .4rem; }
.bkk-product-box__pros li, .bkk-product-box__cons li { list-style: none; padding-left: 1.2em; position: relative; color: rgba(232,227,216,.85); margin-bottom: .25em; }
.bkk-product-box__pros { padding: 0; margin: 0; }
.bkk-product-box__cons { padding: 0; margin: 0; }
.bkk-product-box__pros li::before { content: "+"; position: absolute; left: 0; color: #5fb86a; font-weight: 700; }
.bkk-product-box__cons li::before { content: "−"; position: absolute; left: 0; color: #e07b5e; font-weight: 700; }
.bkk-product-box__actions { display: flex; gap: .5rem; margin-top: auto; flex-wrap: wrap; }
.bkk-product-box__actions .bkk-btn { flex: 1; min-width: 0; }

/* Premium product box additions */
.bkk-product-box__media--art { background: linear-gradient(135deg, #1f1c18 0%, #0a0807 100%); position: relative; }
.bkk-product-box__media--art::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 50%, rgba(194,65,12,.15), transparent 70%); pointer-events: none; }
.bkk-kukri-svg { width: 100%; height: 100%; padding: 1.2rem; filter: drop-shadow(0 6px 18px rgba(0,0,0,.45)); position: relative; z-index: 1; }
.bkk-product-box__updated { position: absolute; bottom: .6rem; right: .8rem; font-size: .7rem; color: rgba(232,227,216,.5); background: rgba(0,0,0,.55); padding: .25em .55em; border-radius: 4px; backdrop-filter: blur(4px); z-index: 2; }
.bkk-product-box__specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin: .2rem 0 .2rem; }
.bkk-product-box__specs > div { background: rgba(255,255,255,.03); padding: .45rem .55rem; border-radius: 6px; border: 1px solid rgba(255,255,255,.04); }
.bkk-product-box__specs dt { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(232,227,216,.5); margin: 0 0 .15em; }
.bkk-product-box__specs dd { margin: 0; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: .85rem; color: #fff; }
.bkk-product-box__rating-count { color: rgba(232,227,216,.5); font-size: .75rem; }
.bkk-product-box__trust { display: flex; flex-wrap: wrap; gap: .4rem; margin: .2rem 0 .4rem; }
.bkk-trust-pill { font-size: .7rem; padding: .25em .65em; background: rgba(58,74,42,.25); border: 1px solid rgba(58,74,42,.5); color: #b8c6a0; border-radius: 999px; font-weight: 600; letter-spacing: .03em; }

/* Featured products grid */
.bkk-products__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }

/* Featured categories ----------------------------------------------------- */
.bkk-cats__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.bkk-cats__card {
	background: linear-gradient(135deg, var(--bkk-surface, #1a1612), var(--bkk-surface-2, #211c17));
	border: 1px solid rgba(255,255,255,.06); border-radius: 12px; overflow: hidden; color: #fff;
	display: flex; flex-direction: column;
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
	position: relative;
}
.bkk-cats__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 50%, rgba(234,88,12,.08) 100%); opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.bkk-cats__card:hover { border-color: rgba(234,88,12,.5); transform: translateY(-4px); box-shadow: 0 18px 50px -16px rgba(234,88,12,.3); }
.bkk-cats__card:hover::after { opacity: 1; }
.bkk-cats__media { aspect-ratio: 4/3; background: linear-gradient(135deg, #1f1f1f, #060606) center/cover; display: flex; align-items: center; justify-content: center; color: var(--bkk-olive); }
.bkk-cats__media { background: linear-gradient(135deg, #1f1c18 0%, #0a0807 100%) center/cover; position: relative; }
.bkk-cats__media::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 50%, rgba(194,65,12,.15), transparent 70%); pointer-events: none; }
.bkk-cats__media .bkk-kukri-svg { width: 100%; height: 100%; padding: .8rem; filter: drop-shadow(0 6px 14px rgba(0,0,0,.45)); }
.bkk-cats__media svg { width: 100%; height: 100%; }
.bkk-cats__body { padding: 1.1rem 1.2rem 1.3rem; }
.bkk-cats__best { display: inline-block; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: var(--bkk-bronze); margin-bottom: .35em; font-weight: 700; }
.bkk-cats__body h3 { margin: 0 0 .35em; font-size: 1.15rem; }
.bkk-cats__arrow { font-size: .85rem; color: var(--bkk-accent); font-weight: 600; }

/* Breadcrumbs ------------------------------------------------------------- */
.bkk-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4em; list-style: none; padding: 0; margin: 0 0 1.5rem; font-size: .85rem; color: rgba(232,227,216,.55); }
.bkk-breadcrumbs li + li::before { content: "/"; padding-right: .4em; opacity: .5; }
.bkk-breadcrumbs a { color: rgba(232,227,216,.7); }

/* Pagination -------------------------------------------------------------- */
.bkk-pagination { margin: 2.5rem 0; display: flex; justify-content: center; }
.bkk-pagination .page-numbers { display: inline-flex; padding: .6em 1em; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; margin: 0 .2em; color: rgba(232,227,216,.85); }
.bkk-pagination .page-numbers.current, .bkk-pagination .page-numbers:hover { background: var(--bkk-accent); border-color: var(--bkk-accent); color: #fff; }

/* 404 --------------------------------------------------------------------- */
.bkk-404 { padding: 4rem 0; }
.bkk-404__header { text-align: center; margin-bottom: 3rem; }
.bkk-404__code { display: inline-block; font-family: 'Space Grotesk', sans-serif; font-size: clamp(4rem, 12vw, 7rem); font-weight: 700; color: var(--bkk-accent); line-height: 1; letter-spacing: -.04em; }
.bkk-404__title { margin: 0; }
.bkk-404__lede { color: rgba(232,227,216,.7); max-width: 540px; margin: 1rem auto 0; }
.bkk-404__featured { max-width: 360px; margin: 0 auto 3rem; }
.bkk-404__links { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; }
.bkk-404__col h2 { font-size: .9rem; letter-spacing: .15em; text-transform: uppercase; color: var(--bkk-accent); margin-bottom: 1rem; }
.bkk-404__col ul { list-style: none; padding: 0; margin: 0; }
.bkk-404__col li { margin-bottom: .5em; }
.bkk-404__col a { color: rgba(232,227,216,.85); }
.bkk-404__col a:hover { color: var(--bkk-accent); }
.bkk-404__search .bkk-search { display: flex; gap: .5rem; flex-direction: column; }

/* Search form ------------------------------------------------------------- */
.bkk-search { display: flex; gap: .5rem; }
.bkk-search input { flex: 1; }

/* Comments ---------------------------------------------------------------- */
.bkk-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.06); }
.bkk-comments__list { list-style: none; padding: 0; }
.bkk-comments__list li { background: var(--bkk-surface); border-radius: 10px; padding: 1.2rem 1.4rem; margin-bottom: 1rem; border: 1px solid rgba(255,255,255,.05); }
.comment-meta { font-size: .85rem; color: rgba(232,227,216,.6); margin-bottom: .6rem; }

/* Compare drawer & modal -------------------------------------------------- */
.bkk-compare-drawer { position: fixed; right: 1rem; bottom: 1rem; z-index: 60; background: var(--bkk-surface); border: 1px solid rgba(194,65,12,.4); border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.5); padding: .5rem; min-width: 200px; transform: translateY(120%); transition: transform .3s ease; }
.bkk-compare-drawer.is-active { transform: translateY(0); }
.bkk-compare-drawer__toggle { display: flex; align-items: center; gap: .6rem; background: transparent; border: 0; color: #fff; padding: .4rem .6rem; width: 100%; font-weight: 600; }
.bkk-compare-drawer__count { background: var(--bkk-accent); color: #fff; min-width: 24px; height: 24px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; padding: 0 .5em; }
.bkk-compare-drawer__body { display: none; padding-top: .5rem; }
.bkk-compare-drawer.is-open .bkk-compare-drawer__body { display: block; }
.bkk-compare-drawer__items { display: flex; flex-direction: column; gap: .35rem; padding: .5rem 0; max-height: 200px; overflow-y: auto; }
.bkk-compare-drawer__item { display: flex; justify-content: space-between; gap: .5rem; background: rgba(255,255,255,.04); padding: .4rem .6rem; border-radius: 6px; font-size: .8rem; }
.bkk-compare-drawer__item button { background: transparent; border: 0; color: rgba(232,227,216,.5); cursor: pointer; }
.bkk-compare-drawer__cta { display: flex; gap: .4rem; padding-top: .5rem; border-top: 1px solid rgba(255,255,255,.06); }
.bkk-compare-drawer__cta .bkk-btn { flex: 1; padding: .5em .8em; font-size: .8rem; }
.bkk-compare-modal { position: fixed; inset: 0; background: rgba(0,0,0,.8); z-index: 70; display: none; align-items: center; justify-content: center; padding: 2rem 1rem; backdrop-filter: blur(4px); }
.bkk-compare-modal.is-open { display: flex; }
.bkk-compare-modal__inner { background: var(--bkk-surface); border-radius: 14px; padding: 2rem; max-width: 1100px; width: 100%; max-height: 90vh; overflow: auto; position: relative; border: 1px solid rgba(255,255,255,.08); }
.bkk-compare-modal__close { position: absolute; top: 1rem; right: 1rem; background: transparent; border: 0; color: #fff; font-size: 1.8rem; cursor: pointer; }
.bkk-compare-modal__table table { width: 100%; border-collapse: collapse; }
.bkk-compare-modal__table th, .bkk-compare-modal__table td { padding: .8rem; text-align: left; border-bottom: 1px solid rgba(255,255,255,.05); font-size: .9rem; }

/* Mobile sticky CTA + FAB (default hidden on desktop) -------------------- */
.bkk-mobile-sticky { display: none; }
.bkk-fab { display: none; }

/* Material texture utilities --------------------------------------------- */
.bkk-tex-steel { position: relative; }
.bkk-tex-steel::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .08; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cdefs%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
.bkk-tex-leather { position: relative; }
.bkk-tex-leather::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .14; mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cdefs%3E%3Cfilter id='l'%3E%3CfeTurbulence baseFrequency='.018 .14' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .22 0 0 0 0 .12 0 0 0 1 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='220' height='220' filter='url(%23l)'/%3E%3C/svg%3E");
}

/* Subtle texture on cards/surfaces only — hero handles its own grain layer. */
.bkk-card, .bkk-product-box, .bkk-cats__card, .bkk-trust__card { position: relative; }
.bkk-card::after, .bkk-product-box::after, .bkk-cats__card::after, .bkk-trust__card::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .035; mix-blend-mode: overlay; border-radius: inherit;
	background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' seed='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* WordPress block & gallery defaults ------------------------------------- */
.alignwide { width: calc(100% + 6rem); max-width: 100vw; margin-left: -3rem; margin-right: -3rem; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; max-width: 100vw; }
.bkk-pros-cons { background: var(--bkk-surface); padding: 1.6rem 1.8rem; border-radius: 12px; border: 1px solid rgba(255,255,255,.05); }
