/*
Theme Name:   BkkHealth
Theme URI:    https://bkkh.co
Description:  BkkHealth storefront — WooCommerce child theme for Storefront. Bronze/ink design system, Thai/English bilingual, PromptPay + card + crypto + COD payment presentation.
Author:       BkkHealth
Author URI:   https://bkkh.co
Template:     storefront
Version:      1.0.0
Text Domain:  bkkhealth
Requires at least: 6.4
Requires PHP: 8.0
License:      GPL-2.0-or-later
*/

/* ═══════════════════════════════════════════════════════════
   1 · TOKENS
   Single source of truth. Retune here; every rule below reads
   from these variables.
   ═══════════════════════════════════════════════════════════ */
:root {
	/* Brand */
	--bkk-ink:            #251D12;
	--bkk-bronze:         #A9742E;
	--bkk-bronze-hover:   #8A5E22;
	--bkk-brown-deep:     #4E3616;
	--bkk-tint:           #F7EBD6;
	--bkk-warm-white:     #FAF9F6;
	--bkk-sand:           #E3E0D8;
	--bkk-yellow:         #FFE600; /* sale badges + cart count ONLY */
	--bkk-gold-text:      #B08900;

	/* Neutrals */
	--bkk-body:           #4A4132;
	--bkk-muted:          #79705F;
	--bkk-faint:          #A69B87;
	--bkk-line-soft:      #C4B9A6;
	--bkk-white:          #FFFFFF;

	/* Type */
	--bkk-font-heading:   'Prompt', system-ui, sans-serif;
	--bkk-font-body:      'Sarabun', system-ui, sans-serif;

	/* Rhythm */
	--bkk-gutter:         48px;
	--bkk-max:            1440px;
	--bkk-radius:         0px;

	/* Elevation */
	--bkk-shadow-card:    0 10px 28px rgba(78, 54, 22, .12);
	--bkk-shadow-board:   0 24px 64px rgba(37, 29, 18, .14);
}

/* ═══════════════════════════════════════════════════════════
   2 · RESET / BASE
   ═══════════════════════════════════════════════════════════ */
body,
body.woocommerce,
.site {
	background: var(--bkk-white);
	color: var(--bkk-ink);
	font-family: var(--bkk-font-body);
	font-size: 15px;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.bkk-h {
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	letter-spacing: -.012em;
	line-height: 1.15;
	color: var(--bkk-ink);
}

h1 { font-size: 42px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 19px; }

a { color: var(--bkk-bronze); text-decoration: none; text-underline-offset: 3px; }
a:hover,
a:focus { color: var(--bkk-brown-deep); }

*:focus-visible {
	outline: 2px solid var(--bkk-bronze);
	outline-offset: 2px;
}

::selection { background: var(--bkk-tint); }

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

/* Nothing rounds. Structure comes from rules, not radii. */
.bkk-wrap,
.bkk-btn,
.bkk-card,
.bkk-panel,
input, select, textarea, button {
	border-radius: var(--bkk-radius) !important;
}

.bkk-wrap {
	max-width: var(--bkk-max);
	margin: 0 auto;
	padding-left: var(--bkk-gutter);
	padding-right: var(--bkk-gutter);
}

.bkk-rule       { height: 2px; background: var(--bkk-ink); border: 0; margin: 0; }
.bkk-rule-soft  { height: 1px; background: var(--bkk-sand); border: 0; margin: 0; }
.bkk-muted      { color: var(--bkk-muted); }
.bkk-kicker {
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bkk-muted);
}

/* Thai script always falls to a Thai-capable face */
:lang(th),
.bkk-th {
	font-family: var(--bkk-font-body);
}

/* ═══════════════════════════════════════════════════════════
   3 · BUTTONS
   Labels flush left, icon trailing right, square corners.
   ═══════════════════════════════════════════════════════════ */
.bkk-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 48px;
	padding: 0 20px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	text-align: left;
	cursor: pointer;
	border: 2px solid transparent;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	text-transform: none;
	letter-spacing: 0;
}

/* Primary — bronze fill */
.bkk-btn--primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order {
	background: var(--bkk-bronze);
	border-color: var(--bkk-bronze);
	color: var(--bkk-white);
}

.bkk-btn--primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover {
	background: var(--bkk-brown-deep);
	border-color: var(--bkk-brown-deep);
	color: var(--bkk-white);
}

/* Secondary — ink outline, fills bronze on hover */
.bkk-btn--secondary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: transparent;
	border-color: var(--bkk-ink);
	color: var(--bkk-ink);
}

.bkk-btn--secondary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--bkk-bronze);
	border-color: var(--bkk-bronze);
	color: var(--bkk-white);
}

/* Ghost — underlined text action */
.bkk-btn--ghost {
	min-height: 0;
	padding: 0 0 2px;
	gap: 8px;
	justify-content: flex-start;
	background: none;
	border: 0;
	border-bottom: 2px solid var(--bkk-bronze);
	color: var(--bkk-bronze);
}
.bkk-btn--ghost:hover {
	color: var(--bkk-brown-deep);
	border-bottom-color: var(--bkk-brown-deep);
	background: none;
}

.bkk-btn--block { display: flex; width: 100%; }

.bkk-btn[disabled],
.bkk-btn--disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	background: #ECE9E1 !important;
	border-color: #ECE9E1 !important;
	color: var(--bkk-faint) !important;
	cursor: not-allowed;
	opacity: 1;
}

.bkk-btn svg { flex: 0 0 auto; }

/* ═══════════════════════════════════════════════════════════
   4 · FORM FIELDS
   ═══════════════════════════════════════════════════════════ */
.bkk-field { display: block; margin-bottom: 16px; }

.bkk-field > label,
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	display: block;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 13px;
	color: var(--bkk-ink);
	margin-bottom: 6px;
}

.bkk-input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], input[type="search"], textarea, select {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	background: var(--bkk-white);
	border: 2px solid var(--bkk-ink);
	color: var(--bkk-ink);
	font-family: var(--bkk-font-body);
	font-size: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

.bkk-input::placeholder { color: var(--bkk-faint); }

.bkk-input:focus,
.woocommerce form .form-row input.input-text:focus {
	border-color: var(--bkk-bronze);
	outline: none;
}

/* Custom check / radio marks */
.bkk-check,
.bkk-radio {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	border: 2px solid var(--bkk-line-soft);
	background: var(--bkk-white);
}
.bkk-check.is-on,
.bkk-radio.is-on { border-color: var(--bkk-ink); }
.bkk-check.is-on { background: var(--bkk-bronze); border-color: var(--bkk-bronze); }
.bkk-radio.is-on::after {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--bkk-bronze);
}

/* ═══════════════════════════════════════════════════════════
   5 · UTILITY BAR / HEADER / NAV
   ═══════════════════════════════════════════════════════════ */
.bkk-utility {
	background: var(--bkk-brown-deep);
	color: #F0E4CC;
	font-size: 13px;
}
.bkk-utility .bkk-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 38px;
}
.bkk-utility b { color: var(--bkk-white); }
.bkk-utility__group { display: flex; align-items: center; gap: 8px; }
.bkk-utility__set   { display: flex; align-items: center; gap: 24px; }
.bkk-utility svg { stroke: #E8C77E; }
.bkk-utility a { color: #F0E4CC; }
.bkk-utility a:hover { color: var(--bkk-white); }

.bkk-header .bkk-wrap {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 44px;
	padding-top: 22px;
	padding-bottom: 22px;
}

/* Logo */
.bkk-logo {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 23px;
	letter-spacing: -.01em;
	color: var(--bkk-ink);
}
.bkk-logo:hover { color: var(--bkk-ink); }
.bkk-logo__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--bkk-bronze);
	flex: 0 0 auto;
}
.bkk-logo__mark svg { stroke: var(--bkk-white); }
.bkk-logo__b { color: var(--bkk-ink); }
.bkk-logo__h { color: var(--bkk-bronze); }
.bkk-logo--reversed .bkk-logo__mark { background: var(--bkk-white); }
.bkk-logo--reversed .bkk-logo__mark svg { stroke: var(--bkk-brown-deep); }
.bkk-logo--reversed .bkk-logo__b { color: var(--bkk-white); }
.bkk-logo--reversed .bkk-logo__h { color: #E8C77E; }

/* Search — the store is search-first */
.bkk-search { position: relative; max-width: 640px; width: 100%; }
.bkk-search input[type="search"] {
	height: 48px;
	min-height: 48px;
	padding-right: 60px;
	background: var(--bkk-warm-white);
	border: 2px solid var(--bkk-ink);
}
.bkk-search__submit {
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	min-height: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bkk-bronze);
	border: 0;
	cursor: pointer;
}
.bkk-search__submit:hover { background: var(--bkk-brown-deep); }
.bkk-search__submit svg { stroke: var(--bkk-white); }

/* Account + cart */
.bkk-actions {
	display: flex;
	align-items: center;
	gap: 28px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
}
.bkk-actions a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--bkk-ink);
	min-height: 44px;
}
.bkk-actions a:hover { color: var(--bkk-bronze); }
.bkk-cart-link { position: relative; }
.bkk-cart-count {
	position: absolute;
	top: 2px;
	left: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--bkk-yellow);
	color: var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 11px;
	line-height: 1;
}

/* Category nav */
.bkk-nav {
	border-top: 1px solid #ECE9E1;
	border-bottom: 2px solid var(--bkk-ink);
}
.bkk-nav ul {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-height: 50px;
	overflow-x: auto;
	scrollbar-width: none;
}
.bkk-nav ul::-webkit-scrollbar { display: none; }
.bkk-nav a {
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
	color: var(--bkk-ink);
	white-space: nowrap;
}
.bkk-nav a:hover { color: var(--bkk-bronze); }
/* The Sale item is the only nav link that carries the accent */
.bkk-nav .bkk-nav-sale > a { color: var(--bkk-gold-text); font-weight: 600; }
.bkk-nav .bkk-nav-sale > a:hover { color: #8F6E00; }

/* The header row search is desktop-only; a second field sits below on mobile. */
.bkk-header__search-row { display: none; }

/* Mobile header */
.bkk-header__toggle {
	display: none;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════
   6 · HOMEPAGE
   ═══════════════════════════════════════════════════════════ */
.bkk-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 620px;
	background: var(--bkk-warm-white);
	border-bottom: 2px solid var(--bkk-ink);
}
.bkk-hero__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 72px var(--bkk-gutter);
}
.bkk-hero__kicker {
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bkk-bronze);
	margin-bottom: 18px;
}
.bkk-hero__title {
	font-size: 48px;
	line-height: 1.12;
	max-width: 560px;
	margin: 0;
}
.bkk-hero__sub {
	font-size: 19px;
	line-height: 1.6;
	color: var(--bkk-body);
	max-width: 480px;
	margin: 18px 0 0;
	text-wrap: pretty;
}
.bkk-hero__cta { display: flex; align-items: center; gap: 24px; margin-top: 36px; flex-wrap: wrap; }
.bkk-hero__media { border-left: 2px solid var(--bkk-ink); }
.bkk-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.bkk-section { padding: 56px 0; }
.bkk-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}
.bkk-section__head h2 { margin: 0; font-size: 26px; }

/* Category tiles */
.bkk-tiles {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 12px;
}
.bkk-tile {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px 16px;
	border: 1px solid var(--bkk-sand);
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
	color: var(--bkk-ink);
	transition: background .15s ease, border-color .15s ease;
}
.bkk-tile:hover {
	background: var(--bkk-tint);
	border-color: var(--bkk-bronze);
	color: var(--bkk-ink);
}
.bkk-tile svg { stroke: var(--bkk-bronze); }
.bkk-tile--sale { border-color: #EFDC6E; }
.bkk-tile--sale:hover { background: #FFF9D6; border-color: var(--bkk-gold-text); }
.bkk-tile--sale span { color: var(--bkk-gold-text); font-weight: 600; }
.bkk-tile--sale svg { stroke: var(--bkk-gold-text); }

/* Trust strip */
.bkk-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	padding: 44px 0;
	border-top: 2px solid var(--bkk-ink);
}
.bkk-trust__item { display: flex; align-items: flex-start; gap: 16px; }
.bkk-trust__item svg { stroke: var(--bkk-bronze); flex: 0 0 auto; }
.bkk-trust__item strong {
	display: block;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 15px;
}
.bkk-trust__item span {
	display: block;
	font-size: 13px;
	line-height: 1.5;
	color: var(--bkk-muted);
	margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════
   7 · PRODUCT CARD — the heart of the store
   ═══════════════════════════════════════════════════════════ */
.woocommerce ul.products,
.bkk-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.woocommerce ul.products li.product,
.bkk-card {
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	background: var(--bkk-white);
	border: 1px solid var(--bkk-sand);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover,
.bkk-card:hover {
	border-color: var(--bkk-bronze);
	box-shadow: var(--bkk-shadow-card);
}

.bkk-card__media {
	position: relative;
	background: var(--bkk-warm-white);
	border-bottom: 1px solid #ECE9E1;
}
.bkk-card__media img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 !important;
}

/* Sale pill — yellow, one of only two places the accent appears */
.bkk-pill,
.woocommerce span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 4px 9px;
	background: var(--bkk-yellow);
	color: var(--bkk-ink);
	border-radius: 0;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: .02em;
	pointer-events: none;
	z-index: 2;
}

.bkk-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	padding: 18px 18px 20px;
}
.bkk-card__brand { font-family: var(--bkk-font-heading); font-weight: 600; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--bkk-muted); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.bkk-card__title {
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 15px !important;
	line-height: 1.4;
	color: var(--bkk-ink);
	padding: 0 !important;
	margin: 0;
	/* exactly two lines, so every card in a row aligns */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 42px;
}

/* Rating — bronze stars, never yellow */
.bkk-rating { display: flex; align-items: center; gap: 7px; }
.bkk-rating svg { fill: var(--bkk-bronze); }
.bkk-rating svg.is-empty { fill: #E0D6C4; }
.bkk-rating__count { font-size: 13px; color: var(--bkk-muted); }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--bkk-bronze); }

/* Price */
.woocommerce ul.products li.product .price,
.bkk-price {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin: 2px 0 0;
	color: var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 19px;
}
.woocommerce ul.products li.product .price ins,
.bkk-price ins { text-decoration: none; font-weight: 600; }
.woocommerce ul.products li.product .price del,
.bkk-price del {
	font-family: var(--bkk-font-body);
	font-weight: 400;
	font-size: 14px;
	color: var(--bkk-faint);
	text-decoration: line-through;
	opacity: 1;
}

/* Card action pinned to the bottom edge */
.bkk-card__action { margin-top: auto; padding-top: 12px; }
.woocommerce ul.products li.product .button {
	display: flex;
	width: 100%;
	min-height: 44px;
	margin: auto 0 0;
	justify-content: space-between;
	font-size: 14px;
}

/* ═══════════════════════════════════════════════════════════
   8 · ARCHIVE / SEARCH RESULTS
   ═══════════════════════════════════════════════════════════ */
.bkk-breadcrumb,
.woocommerce .woocommerce-breadcrumb {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 18px 0;
	margin: 0;
	font-size: 13px;
	color: var(--bkk-muted);
}
.woocommerce .woocommerce-breadcrumb a { color: var(--bkk-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--bkk-bronze); }

.bkk-archive {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 48px;
	padding-bottom: 56px;
}
.bkk-filters h4 { margin: 0 0 16px; }
.bkk-filters__group { padding: 20px 0; border-top: 1px solid var(--bkk-sand); }
.bkk-filters__group:first-of-type { border-top: 2px solid var(--bkk-ink); }
.bkk-filters ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.bkk-filters li a { display: flex; align-items: center; gap: 10px; color: var(--bkk-ink); min-height: 24px; }
.bkk-filters li a:hover { color: var(--bkk-bronze); }
.bkk-filters li.current-cat > a,
.bkk-filters li.chosen > a { color: var(--bkk-bronze-hover); font-weight: 600; }
.bkk-filters__count { color: var(--bkk-muted); }
.bkk-price-range { display: flex; align-items: center; gap: 10px; }
.bkk-price-range .bkk-input { width: 90px; }

.bkk-results__head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.bkk-results__head h1,
.bkk-results__head h2 { margin: 0; font-size: 30px; }
.bkk-results__count { font-family: var(--bkk-font-body); font-weight: 400; font-size: 16px; color: var(--bkk-muted); }

/* Sort — a segmented control instead of a select */
.bkk-sort { display: flex; border: 2px solid var(--bkk-ink); font-family: var(--bkk-font-heading); font-weight: 500; font-size: 13px; }
.bkk-sort a { padding: 9px 16px; color: var(--bkk-ink); border-left: 1px solid var(--bkk-sand); }
.bkk-sort a:first-child { border-left: 0; }
.bkk-sort a:hover { background: var(--bkk-tint); }
.bkk-sort a.is-active { background: var(--bkk-ink); color: var(--bkk-white); }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 8px; border: 0; margin-top: 32px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid var(--bkk-sand);
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
	color: var(--bkk-ink);
	background: var(--bkk-white);
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--bkk-ink); background: var(--bkk-white); color: var(--bkk-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bkk-ink); border-color: var(--bkk-ink); color: var(--bkk-white); }

/* Out of stock treatment */
.bkk-card.is-oos .bkk-price,
.outofstock .bkk-price { color: var(--bkk-faint); }
.bkk-pill--oos {
	background: var(--bkk-white);
	color: var(--bkk-muted);
	border: 2px solid var(--bkk-line-soft);
	font-size: 11px;
	padding: 3px 8px;
}

/* ═══════════════════════════════════════════════════════════
   9 · SINGLE PRODUCT
   ═══════════════════════════════════════════════════════════ */
.woocommerce div.product { padding-bottom: 64px; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product div.images { width: 600px; float: none; margin: 0; }
.woocommerce div.product div.images img { border: 1px solid var(--bkk-sand); background: var(--bkk-warm-white); }
.woocommerce div.product div.summary,
.woocommerce div.product .summary.entry-summary { width: auto; float: none; margin: 0; max-width: 620px; }

.bkk-product__layout {
	display: grid;
	grid-template-columns: 600px minmax(0, 1fr);
	gap: 56px;
	padding: 8px 0 0;
}

/* Gallery thumbnails */
.woocommerce div.product .flex-control-thumbs { display: flex; gap: 12px; margin: 12px 0 0; }
.woocommerce div.product .flex-control-thumbs li { width: 88px; margin: 0; }
.woocommerce div.product .flex-control-thumbs img { border: 1px solid var(--bkk-sand); opacity: 1; }
.woocommerce div.product .flex-control-thumbs img:hover,
.woocommerce div.product .flex-control-thumbs img.flex-active { border: 2px solid var(--bkk-bronze); }

.bkk-product__brand {
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bkk-bronze);
}
.woocommerce div.product .product_title,
.bkk-product__title { font-size: 30px; line-height: 1.25; margin: 10px 0 6px; }
.bkk-product__subtitle { font-size: 16px; color: var(--bkk-muted); }

.bkk-product__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; font-size: 14px; }
.bkk-product__meta .bkk-sep { color: var(--bkk-sand); }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0;
	color: var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 36px;
	letter-spacing: -.01em;
}
.woocommerce div.product p.price del {
	font-family: var(--bkk-font-body);
	font-weight: 400;
	font-size: 18px;
	color: var(--bkk-faint);
	opacity: 1;
}
.woocommerce div.product p.price ins { text-decoration: none; }

/* Save badge — yellow, alongside the price */
.bkk-save {
	display: inline-flex;
	align-items: center;
	background: var(--bkk-yellow);
	color: var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 13px;
	padding: 5px 11px;
}
.bkk-unit-price { font-size: 13px; color: var(--bkk-muted); margin-top: 6px; }

.bkk-stock { display: flex; align-items: center; gap: 9px; margin-top: 18px; }
.bkk-stock__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--bkk-bronze); flex: 0 0 auto; }
.bkk-stock__label { font-family: var(--bkk-font-heading); font-weight: 500; font-size: 14px; color: var(--bkk-bronze-hover); }
.bkk-stock.is-oos .bkk-stock__dot { background: var(--bkk-faint); }
.bkk-stock.is-oos .bkk-stock__label { color: var(--bkk-muted); }

/* Quantity + add to cart row */
.woocommerce div.product form.cart { display: flex; gap: 14px; margin: 26px 0 0; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce .quantity {
	display: flex;
	align-items: center;
	border: 2px solid var(--bkk-ink);
	height: 52px;
}
.woocommerce .quantity input.qty {
	width: 52px;
	height: 48px;
	min-height: 0;
	padding: 0;
	text-align: center;
	border: 0;
	border-left: 1px solid #ECE9E1;
	border-right: 1px solid #ECE9E1;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 16px;
	background: var(--bkk-white);
	-moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bkk-qty-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 48px;
	background: none;
	border: 0;
	cursor: pointer;
}
.bkk-qty-btn:hover { background: var(--bkk-tint); }

.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 16px; }
.bkk-buy-now { display: flex; width: 100%; min-height: 52px; margin-top: 12px; font-size: 16px; }
.bkk-buy-now:hover { background: var(--bkk-ink) !important; border-color: var(--bkk-ink) !important; color: var(--bkk-white) !important; }

/* Payment / shipping / returns panel */
.bkk-panel { border: 1px solid var(--bkk-sand); margin-top: 26px; }
.bkk-panel__row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border-bottom: 1px solid #ECE9E1;
	font-size: 14px;
	color: var(--bkk-body);
}
.bkk-panel__row:last-child { border-bottom: 0; }
.bkk-panel__row svg { stroke: var(--bkk-bronze); flex: 0 0 auto; }
.bkk-panel__row b { font-family: var(--bkk-font-heading); font-weight: 600; color: var(--bkk-ink); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 36px;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid var(--bkk-sand);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.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 a {
	display: block;
	padding: 14px 2px 13px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 15px;
	color: var(--bkk-muted);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--bkk-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--bkk-ink);
	box-shadow: inset 0 -3px 0 var(--bkk-bronze);
}
.woocommerce div.product .woocommerce-tabs .panel { padding-top: 40px; border: 0; }

.bkk-tabgrid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 64px; align-items: start; }
.bkk-tabgrid__main { min-width: 0; }
/* Related products / upsells sit below the grid, full width */
.bkk-tabgrid ~ .related,
.bkk-tabgrid ~ .upsells { padding-top: 48px; border-top: 2px solid var(--bkk-ink); margin-top: 48px; }
.bkk-checklist { display: flex; flex-direction: column; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.bkk-checklist li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: var(--bkk-body); }
.bkk-checklist svg { stroke: var(--bkk-bronze); flex: 0 0 auto; margin-top: 2px; }

/* Supplement facts card */
.bkk-facts { border: 2px solid var(--bkk-ink); align-self: start; }
.bkk-facts__head {
	background: var(--bkk-ink);
	color: var(--bkk-white);
	padding: 14px 18px;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 17px;
}
.bkk-facts__serving { padding: 14px 18px; font-size: 13px; color: var(--bkk-muted); border-bottom: 2px solid var(--bkk-ink); }
.bkk-facts table { width: 100%; border-collapse: collapse; margin: 0; }
.bkk-facts td { padding: 11px 18px; border-bottom: 1px solid #ECE9E1; font-size: 14px; }
.bkk-facts td:last-child { text-align: right; white-space: nowrap; }
.bkk-facts tr.is-primary td { font-weight: 600; }
.bkk-facts tr.is-nested td:first-child { padding-left: 30px; }
.bkk-facts__note { padding: 12px 18px 16px; font-size: 12px; line-height: 1.6; color: var(--bkk-muted); }

/* Reviews */
.bkk-reviews { padding-top: 36px; border-top: 2px solid var(--bkk-ink); }
.bkk-reviews__head { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-bottom: 24px; }
.bkk-reviews__score { font-family: var(--bkk-font-heading); font-weight: 600; font-size: 20px; color: var(--bkk-bronze); }
.woocommerce #reviews #comments ol.commentlist {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding: 0;
	margin: 0;
}
.woocommerce #reviews #comments ol.commentlist li { margin: 0; }
.woocommerce #reviews #comments ol.commentlist li .comment_container {
	display: block;
	padding: 22px;
	border: 1px solid var(--bkk-sand);
	background: var(--bkk-white);
	border-radius: 0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar { display: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { margin: 0; padding: 0; border: 0; }
.bkk-review__title { font-family: var(--bkk-font-heading); font-weight: 600; font-size: 15px; margin: 12px 0 8px; }
.bkk-review__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.bkk-review__author { font-family: var(--bkk-font-heading); font-weight: 500; font-size: 13px; }
.bkk-review__date { font-size: 12px; color: var(--bkk-faint); }
.woocommerce #reviews .woocommerce-review__author {
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 13px;
	color: var(--bkk-ink);
}
.woocommerce #reviews .woocommerce-review__published-date { font-size: 12px; color: var(--bkk-faint); }
.woocommerce #reviews .comment-text > p.meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 10px;
}

/* ═══════════════════════════════════════════════════════════
   10 · BADGES
   ═══════════════════════════════════════════════════════════ */
.bkk-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 11px;
	line-height: 1.5;
}
.bkk-badge--verified { background: var(--bkk-tint); color: var(--bkk-bronze-hover); }
.bkk-badge--free     { background: var(--bkk-tint); color: var(--bkk-bronze-hover); font-size: 12px; padding: 4px 10px; }
.bkk-badge--outline  { border: 1px solid var(--bkk-sand); color: var(--bkk-ink); font-size: 12px; padding: 4px 10px; }
.bkk-badge--sale     { background: var(--bkk-yellow); color: var(--bkk-ink); font-weight: 600; font-size: 12px; padding: 4px 9px; }

/* Payment method badges */
.bkk-pay { display: flex; gap: 8px; flex-wrap: wrap; }
.bkk-pay__item {
	padding: 6px 12px;
	border: 1px solid var(--bkk-sand);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--bkk-ink);
	white-space: nowrap;
}
.bkk-footer .bkk-pay__item { border-color: rgba(255, 255, 255, .35); color: var(--bkk-white); }

/* ═══════════════════════════════════════════════════════════
   11 · CART
   ═══════════════════════════════════════════════════════════ */
.bkk-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; padding: 40px 0 64px; }
.bkk-cart-note { font-size: 14px; color: var(--bkk-muted); }

.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; margin: 16px 0 0; }
.woocommerce table.shop_table th {
	padding: 0 0 12px;
	border-bottom: 2px solid var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bkk-muted);
	text-align: left;
}
.woocommerce table.shop_table td {
	padding: 20px 0;
	border-top: 0;
	border-bottom: 1px solid var(--bkk-sand);
	vertical-align: middle;
}
.woocommerce table.shop_table td.product-thumbnail { width: 88px; }
.woocommerce table.shop_table td.product-thumbnail img { width: 86px; border: 1px solid var(--bkk-sand); background: var(--bkk-white); }
.woocommerce table.shop_table td.product-name a {
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 15px;
	color: var(--bkk-ink);
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--bkk-bronze); }
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table td.product-price {
	text-align: right;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 17px;
}
.woocommerce a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--bkk-faint) !important;
	font-size: 0;
	border-radius: 0;
	background: none !important;
}
.woocommerce a.remove::before {
	content: "";
	width: 17px;
	height: 17px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/><path d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/><path d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>") center / contain no-repeat;
}
.woocommerce a.remove:hover { color: var(--bkk-bronze-hover) !important; }

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals { width: 100%; }
.woocommerce .cart_totals,
.bkk-summary {
	width: 100% !important;
	float: none !important;
	background: var(--bkk-white);
	border: 2px solid var(--bkk-ink);
	align-self: start;
}
.woocommerce .cart_totals h2,
.bkk-summary h4 { margin: 0 0 18px; font-size: 19px; padding: 0; }
.woocommerce .cart_totals table.shop_table { margin: 0; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	padding: 8px 0;
	border: 0;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	color: var(--bkk-ink);
	font-family: var(--bkk-font-body);
	font-weight: 400;
}
.woocommerce .cart_totals table.shop_table td { text-align: right; font-family: var(--bkk-font-heading); font-weight: 600; }
.woocommerce .cart_totals tr.order-total th,
.woocommerce .cart_totals tr.order-total td {
	padding-top: 16px;
	border-top: 2px solid var(--bkk-ink);
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 16px;
}
.woocommerce .cart_totals tr.order-total td { font-size: 26px; }
.bkk-summary__inner { padding: 22px 24px; }
.bkk-summary .cart_totals,
.bkk-summary .woocommerce-checkout-review-order {
	border: 0;
	background: none;
	width: 100% !important;
}
.bkk-summary .cart_totals h2 { font-size: 19px; }
.bkk-summary__free { color: var(--bkk-bronze-hover); font-weight: 600; }
.bkk-legal-note {
	background: var(--bkk-tint);
	color: var(--bkk-brown-deep);
	font-size: 12.5px;
	line-height: 1.55;
	padding: 10px 12px;
	margin-top: 14px;
}
.woocommerce .coupon { display: flex; gap: 8px; margin-bottom: 18px; }
.woocommerce .coupon .bkk-input { flex: 1; }

/* ═══════════════════════════════════════════════════════════
   12 · CHECKOUT
   ═══════════════════════════════════════════════════════════ */
.bkk-steps { display: flex; font-family: var(--bkk-font-heading); font-weight: 500; font-size: 13px; }
.bkk-steps__item { display: flex; align-items: center; gap: 8px; padding: 8px 18px; border: 2px solid var(--bkk-sand); color: var(--bkk-faint); }
.bkk-steps__item.is-done { border-color: var(--bkk-ink); color: var(--bkk-ink); }
.bkk-steps__item.is-current { background: var(--bkk-ink); border-color: var(--bkk-ink); color: var(--bkk-white); }

.woocommerce-checkout .bkk-checkout-layout,
.bkk-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; padding: 40px 0 64px; }
.woocommerce .col2-set,
.woocommerce-page .col2-set { width: 100%; }
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 { float: none; width: 100%; }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border: 1px solid var(--bkk-sand); border-radius: 0; padding: 20px; }

.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: 100%; float: none; }
.bkk-fieldgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bkk-fieldgrid .bkk-field--full { grid-column: 1 / -1; }

/* Shipping / payment method rows */
.woocommerce-checkout #shipping_method,
.bkk-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.woocommerce-checkout #shipping_method li,
.bkk-method {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 16px 18px;
	background: var(--bkk-white);
	border: 1px solid var(--bkk-sand);
	cursor: pointer;
	text-indent: 0;
}
.bkk-method:hover { border-color: var(--bkk-ink); }
.bkk-method.is-selected { border: 2px solid var(--bkk-ink); }
.bkk-method__label { display: flex; align-items: center; gap: 14px; }
.bkk-method__name { font-family: var(--bkk-font-heading); font-weight: 500; font-size: 14px; }
.bkk-method__hint { font-size: 13px; color: var(--bkk-muted); }
.bkk-method__price { font-family: var(--bkk-font-heading); font-weight: 600; font-size: 15px; }
.bkk-method__price.is-free { color: var(--bkk-bronze-hover); }

/* Gateway list */
.woocommerce-checkout #payment { background: none; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.woocommerce-checkout #payment ul.payment_methods li {
	display: block;
	padding: 16px 18px;
	background: var(--bkk-white);
	border: 1px solid var(--bkk-sand);
}
.woocommerce-checkout #payment ul.payment_methods li.bkk-gateway-active { border: 2px solid var(--bkk-ink); }
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
	margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 22px; width: auto; display: inline-block; margin: 0 0 0 6px; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--bkk-warm-white);
	border: 1px solid var(--bkk-sand);
	border-radius: 0;
	color: var(--bkk-body);
	font-size: 14px;
	margin: 14px 0 0;
	padding: 16px 18px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 20px 0 0; }
.woocommerce #place_order { display: flex; width: 100%; min-height: 50px; }

/* PromptPay QR block */
.bkk-qr { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.bkk-qr__frame {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 160px;
	height: 160px;
	border: 2px solid var(--bkk-ink);
	flex: 0 0 auto;
	background: var(--bkk-white);
}
.bkk-qr__frame svg { stroke: var(--bkk-ink); }
.bkk-qr__frame span { font-family: var(--bkk-font-heading); font-weight: 600; font-size: 10px; letter-spacing: .08em; }
.bkk-qr__body { max-width: 380px; }
.bkk-qr__body strong { display: block; font-family: var(--bkk-font-heading); font-weight: 500; font-size: 15px; margin-bottom: 6px; }
.bkk-qr__body p { font-size: 14px; color: var(--bkk-body); margin: 0 0 10px; }
.bkk-qr__secure { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--bkk-muted); }
.bkk-qr__secure svg { stroke: var(--bkk-bronze); }

/* ═══════════════════════════════════════════════════════════
   13 · ORDER CONFIRMATION
   ═══════════════════════════════════════════════════════════ */
.bkk-thanks { max-width: 860px; padding: 56px 0 72px; }
.bkk-thanks__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: var(--bkk-bronze);
	margin-bottom: 24px;
}
.bkk-thanks__mark svg { stroke: var(--bkk-white); }
.bkk-thanks__lede { font-size: 17px; color: var(--bkk-body); }
.woocommerce ul.order_details,
.bkk-order-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 28px 0;
	padding: 0;
	list-style: none;
	background: var(--bkk-white);
	border: 2px solid var(--bkk-ink);
}
.woocommerce ul.order_details li,
.bkk-order-facts > li {
	margin: 0;
	padding: 20px 22px;
	border-right: 1px solid var(--bkk-sand);
	border-bottom: 0;
	float: none;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 17px;
	text-transform: none;
}
.woocommerce ul.order_details li:last-child,
.bkk-order-facts > li:last-child { border-right: 0; }
.woocommerce ul.order_details li strong,
.bkk-order-facts > li strong { display: block; font-size: 17px; }
.woocommerce ul.order_details li::before,
.bkk-order-facts > li::before {
	content: attr(data-label);
	display: block;
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bkk-muted);
	margin-bottom: 6px;
}
.bkk-order-facts__hint { display: block; font-family: var(--bkk-font-body); font-weight: 400; font-size: 13px; color: var(--bkk-muted); margin-top: 2px; }
.bkk-thanks__actions { display: flex; gap: 16px; flex-wrap: wrap; }

/* ═══════════════════════════════════════════════════════════
   14 · ACCOUNT / SIGN IN
   ═══════════════════════════════════════════════════════════ */
.bkk-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1100px; padding: 56px 0 72px; }
.bkk-auth__col:first-child { padding-right: 56px; border-right: 2px solid var(--bkk-ink); }
.bkk-auth__col:last-child { padding-left: 56px; }
.bkk-auth h2 { margin-bottom: 6px; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { border: 0; padding: 0; }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.bkk-auth__benefits { display: flex; flex-direction: column; gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; }
.bkk-auth__benefits li { display: flex; align-items: flex-start; gap: 12px; font-size: 14.5px; }
.bkk-auth__benefits svg { stroke: var(--bkk-bronze); flex: 0 0 auto; margin-top: 2px; }

/* My account navigation */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 260px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--bkk-ink); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--bkk-sand); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 14px;
	font-family: var(--bkk-font-heading);
	font-weight: 500;
	font-size: 14px;
	color: var(--bkk-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--bkk-tint); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--bkk-ink); color: var(--bkk-white); }
.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 320px); }

/* ═══════════════════════════════════════════════════════════
   15 · LEGAL PAGES
   ═══════════════════════════════════════════════════════════ */
.bkk-legal { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; padding: 48px 0 72px; }
.bkk-legal__nav { display: flex; flex-direction: column; font-family: var(--bkk-font-heading); font-weight: 500; font-size: 14px; }
.bkk-legal__nav a { padding: 12px 14px; color: var(--bkk-ink); }
.bkk-legal__nav a:hover { background: var(--bkk-tint); }
.bkk-legal__nav a.is-active { background: var(--bkk-ink); color: var(--bkk-white); }
.bkk-legal__body { max-width: 720px; }
.bkk-legal__body h1 { margin-bottom: 6px; }
.bkk-legal__body h4 { margin: 22px 0 10px; }
.bkk-legal__body p { font-size: 14.5px; line-height: 1.7; color: var(--bkk-body); }
.bkk-legal__callout {
	background: var(--bkk-tint);
	color: var(--bkk-brown-deep);
	padding: 16px 18px;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 28px;
}
.bkk-legal__effective { font-size: 13px; color: var(--bkk-muted); }

/* ═══════════════════════════════════════════════════════════
   16 · FOOTER
   ═══════════════════════════════════════════════════════════ */
.bkk-footer { background: var(--bkk-brown-deep); color: #F0E4CC; padding-top: 56px; }
.bkk-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.bkk-footer__about { font-size: 14px; line-height: 1.6; color: #D9C29A; max-width: 300px; }
.bkk-footer h2,
.bkk-footer .widget-title,
.bkk-footer__heading {
	font-family: var(--bkk-font-heading);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bkk-white);
	margin: 0 0 16px;
}
.bkk-footer ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.bkk-footer ul li a { font-size: 14px; color: #D9C29A; }
.bkk-footer ul li a:hover { color: var(--bkk-white); }
.bkk-footer__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: 22px 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.bkk-footer__copy { font-size: 13px; color: #B7996B; }
.bkk-footer__legal { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.bkk-footer__legal a { color: #D9C29A; }
.bkk-footer__legal a:hover { color: var(--bkk-white); }

/* Storefront chrome we replace */
.storefront-breadcrumb,
.site-header-cart,
.storefront-handheld-footer-bar { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   17 · RESPONSIVE — mobile 390 up. 44px minimum tap targets.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
	.bkk-hero { grid-template-columns: 1fr; }
	.bkk-hero__media { border-left: 0; border-top: 2px solid var(--bkk-ink); }
	.bkk-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.woocommerce ul.products,
	.bkk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bkk-archive,
	.bkk-cart-layout,
	.bkk-checkout-layout,
	.bkk-legal,
	.bkk-tabgrid,
	.bkk-product__layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product div.images { width: 100%; }
	.woocommerce #reviews #comments ol.commentlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bkk-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bkk-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
	:root { --bkk-gutter: 16px; }

	h1 { font-size: 30px; }
	h2 { font-size: 24px; }
	.bkk-hero__title { font-size: 30px; }
	.bkk-hero__sub { font-size: 15.5px; }
	.bkk-hero__body { padding: 28px var(--bkk-gutter); }

	/* Header collapses to burger · logo · account · cart */
	.bkk-header__toggle { display: flex; }
	.bkk-header .bkk-wrap {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		gap: 4px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.bkk-header__search-row { padding: 0 var(--bkk-gutter) 14px; }
	.bkk-logo { font-size: 18px; gap: 8px; }
	.bkk-logo__mark { width: 30px; height: 30px; }
	.bkk-logo__mark svg { width: 16px; height: 16px; }
	.bkk-actions { gap: 0; }
	.bkk-actions a { width: 44px; height: 44px; justify-content: center; gap: 0; }
	.bkk-actions a span { display: none; }
	.bkk-cart-count { top: 2px; right: 2px; left: auto; }

	.bkk-search { max-width: none; }
	.bkk-search input[type="search"] { height: 46px; min-height: 46px; }
	.bkk-search__submit { width: 46px; height: 46px; }

	.bkk-search--desktop { display: none; }
	.bkk-header__search-row { display: block; }

	/* Category nav becomes a scrolling chip row; the burger expands it to a list */
	.bkk-nav ul { gap: 8px; padding: 0 var(--bkk-gutter) 16px; min-height: 0; }
	.bkk-nav.is-open ul { flex-direction: column; align-items: stretch; overflow: visible; }
	.bkk-nav.is-open a { justify-content: flex-start; }
	.bkk-nav a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 0 16px;
		border: 1px solid var(--bkk-sand);
		font-size: 13px;
	}
	.bkk-nav .bkk-nav-sale > a { border-color: #EFDC6E; }

	/* 2-up product grid on mobile */
	.woocommerce ul.products,
	.bkk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.bkk-card__body { padding: 12px; gap: 6px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.bkk-card__title { font-size: 13px !important; min-height: 35px; }
	.woocommerce ul.products li.product .price,
	.bkk-price { font-size: 16px; }
	.woocommerce ul.products li.product .price del,
	.bkk-price del { font-size: 12.5px; }
	.woocommerce ul.products li.product .button { min-height: 44px; font-size: 13px; padding: 0 12px; }
	.bkk-pill,
	.woocommerce span.onsale { top: 8px; left: 8px; font-size: 11px; padding: 3px 7px; }

	.bkk-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bkk-trust { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 0; }

	/* Single product */
	.woocommerce div.product .product_title,
	.bkk-product__title { font-size: 21px; }
	.woocommerce div.product p.price,
	.woocommerce div.product span.price { font-size: 30px; gap: 10px; }
	.woocommerce div.product form.cart { gap: 10px; }
	.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 48px; font-size: 14px; }
	.bkk-buy-now { min-height: 48px; font-size: 14px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 0; flex-direction: column; border-bottom: 0; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { border-bottom: 1px solid var(--bkk-sand); }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 15px 2px; min-height: 44px; }
	.woocommerce #reviews #comments ol.commentlist { grid-template-columns: minmax(0, 1fr); }

	/* Cart table reflows to stacked rows */
	.woocommerce table.shop_table thead { display: none; }
	.woocommerce table.shop_table tr { display: grid; grid-template-columns: 72px 1fr auto; gap: 8px 12px; padding: 16px 0; border-bottom: 1px solid var(--bkk-sand); }
	.woocommerce table.shop_table td { border: 0; padding: 0; }
	.woocommerce table.shop_table td.product-thumbnail { grid-row: span 2; }
	.woocommerce table.shop_table td.product-thumbnail img { width: 72px; }
	.woocommerce table.shop_table td.product-remove { grid-column: 3; grid-row: 1; }

	.bkk-fieldgrid { grid-template-columns: 1fr; }
	.bkk-steps { width: 100%; overflow-x: auto; }
	.bkk-auth { grid-template-columns: minmax(0, 1fr); }
	.bkk-auth__col:first-child { padding-right: 0; padding-bottom: 32px; border-right: 0; border-bottom: 2px solid var(--bkk-ink); }
	.bkk-auth__col:last-child { padding-left: 0; padding-top: 32px; }

	.woocommerce ul.order_details,
	.bkk-order-facts { grid-template-columns: minmax(0, 1fr); }
	.woocommerce ul.order_details li,
	.bkk-order-facts > li { border-right: 0; border-bottom: 1px solid var(--bkk-sand); }

	.bkk-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.bkk-footer { padding-top: 28px; }
	.bkk-utility .bkk-wrap { justify-content: center; text-align: center; padding-top: 9px; padding-bottom: 9px; }
	.bkk-utility__set { display: none; }

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   18 · PRINT — invoices and legal pages
   ═══════════════════════════════════════════════════════════ */
@media print {
	.bkk-utility, .bkk-nav, .bkk-footer, .bkk-search, .bkk-actions { display: none !important; }
	body { font-size: 12pt; }
	.bkk-wrap { max-width: none; padding: 0; }
}
