/*
Theme Name: Kratom Outlet Child
Theme URI: https://kratomdepot.example/
Description: Astra child theme for Kratom Outlet. Forest green / warm gold palette with Inter typography and WooCommerce styling.
Author: Kratom Outlet
Author URI: https://kratomdepot.example/
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kratom-depot-child
Tags: woocommerce, e-commerce, two-columns, custom-colors
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */
:root {
	/* Color palette */
	--kd-primary: #2d5016;        /* deep forest green */
	--kd-accent: #b8860b;         /* warm gold */
	--kd-background: #f5f0e8;     /* warm cream */
	--kd-text: #2c1a0e;           /* dark brown */
	--kd-border: #d6cfc2;         /* light border */
	--kd-white: #ffffff;

	/* Typography */
	--kd-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--kd-font-size-base: 14px;
	--kd-font-weight-body: 400;
	--kd-font-weight-heading: 600;
}

/* ==========================================================================
   2. Global typography
   ========================================================================== */
body,
button,
input,
select,
textarea,
.ast-container {
	font-family: var(--kd-font-family);
	font-size: var(--kd-font-size-base);
	font-weight: var(--kd-font-weight-body);
	color: var(--kd-text);
	background-color: var(--kd-background);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
	font-family: var(--kd-font-family);
	font-weight: var(--kd-font-weight-heading);
	color: var(--kd-text);
}

a {
	color: var(--kd-primary);
}

a:hover,
a:focus {
	color: var(--kd-accent);
}

/* ==========================================================================
   3. Header — white background, green logo text, gold cart button
   ========================================================================== */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
header.site-header {
	background-color: var(--kd-white);
	border-bottom: 1px solid var(--kd-border);
}

/* Logo / site title text in forest green */
.site-title,
.site-title a,
.ast-site-title-wrap .site-title a,
.site-logo-img + .site-title a {
	color: var(--kd-primary) !important;
}

.site-title a:hover,
.site-title a:focus {
	color: var(--kd-accent) !important;
}

.site-description {
	color: var(--kd-text);
}

/* Header logo sizing — display the logo image ~70px tall */
.site-header .site-logo-img .custom-logo,
.ast-site-identity .site-logo-img .custom-logo,
.site-logo-img .custom-logo {
	height: 80px !important;
	width: auto !important;
	max-width: 220px !important;
}
/* Keep the sticky-header logo consistent */
.ast-sticky-active .site-logo-img .custom-logo {
	height: 60px !important;
}

/* Cart button / icon in the header — gold */
.ast-header-woo-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-cart-menu-wrap .count {
	background-color: var(--kd-accent);
	color: var(--kd-white);
	border-color: var(--kd-accent);
}

.ast-site-header-cart a,
.ast-header-woo-cart a,
.ast-cart-menu-wrap .ast-cart-icon {
	color: var(--kd-accent);
}

.ast-site-header-cart a:hover .ast-cart-icon,
.ast-header-woo-cart a:hover {
	color: var(--kd-primary);
}

/* Header cart SVG icon (bag/cart/basket) in gold */
.ast-header-woo-cart .cart-container svg,
.ast-header-woo-cart .ast-addon-cart-wrap svg,
.ast-site-header-cart .ast-cart-menu-wrap svg,
.ast-header-woo-cart .ast-icon svg {
	fill: var(--kd-accent);
	transition: fill 0.15s ease;
}
.ast-header-woo-cart .cart-container:hover svg,
.ast-header-woo-cart a:hover .ast-icon svg {
	fill: var(--kd-primary);
}

/* Cart count badge (bag style + standard) in gold */
.ast-header-woo-cart .ast-cart-menu-wrap .count,
.ast-header-woo-cart .ast-icon-shopping-bag .count,
.ast-header-woo-cart .cart-container .count {
	background-color: var(--kd-accent);
	color: var(--kd-white);
	border-color: var(--kd-accent);
}

/* Gold "View Cart / Checkout" buttons inside the cart flyout */
.ast-site-header-cart .widget_shopping_cart .buttons .button {
	background-color: var(--kd-accent);
	color: var(--kd-white);
	border-color: var(--kd-accent);
}

.ast-site-header-cart .widget_shopping_cart .buttons .button:hover {
	background-color: var(--kd-primary);
	border-color: var(--kd-primary);
}

/* ==========================================================================
   4. Navigation — forest green background, cream text
   ========================================================================== */
.main-header-menu,
.ast-builder-menu .main-header-menu,
.main-navigation,
.ast-primary-header .main-header-menu,
ul.main-header-menu {
	background-color: var(--kd-primary);
}

.main-header-menu a,
.main-header-menu .menu-link,
.ast-builder-menu .main-header-menu .menu-item > a,
.main-navigation a {
	color: var(--kd-background) !important;
}

.main-header-menu .menu-item:hover > a,
.main-header-menu .current-menu-item > a,
.ast-builder-menu .main-header-menu .menu-item:hover > .menu-link,
.main-navigation .current-menu-item > a {
	color: var(--kd-accent) !important;
	background-color: rgba(0, 0, 0, 0.12);
}

/* Sub-menu dropdowns */
.main-header-menu .sub-menu,
.ast-builder-menu .main-header-menu .sub-menu {
	background-color: var(--kd-primary);
	border-color: var(--kd-accent);
}

.main-header-menu .sub-menu a {
	color: var(--kd-background) !important;
}

/* Mobile menu toggle */
.ast-mobile-menu-buttons-minimal .menu-toggle,
.main-header-menu-toggle {
	color: var(--kd-primary);
}

/* ==========================================================================
   5. WooCommerce buttons — primary green background, cream text
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button,
.wp-block-button__link {
	background-color: var(--kd-primary);
	color: var(--kd-background);
	border: 1px solid var(--kd-primary);
	font-weight: var(--kd-font-weight-heading);
	border-radius: 4px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover {
	background-color: var(--kd-accent);
	color: var(--kd-text);
	border-color: var(--kd-accent);
}

/* ==========================================================================
   6. Product cards — white background, cream border, green price
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	background-color: var(--kd-white);
	border: 1px solid #b3c49a; /* sage/olive — on-brand, a touch more visible */
	border-radius: 12px;
	padding: 1em;
	box-shadow: 0 2px 10px rgba(44, 26, 14, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	text-align: center; /* center name, price, button */
}
/* Center the product name + price (override Astra's left-align) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .ast-woo-shop-product-category,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .price {
	text-align: center !important;
}

/* Product-card price — one size larger */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
ul.products li.product .price {
	font-size: 16px !important;
}

/* Add-to-cart / select-options button — centered pill with green→gold hover */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .button,
ul.products li.product .button {
	display: block !important;
	float: none !important;
	width: -moz-fit-content !important;
	width: fit-content !important;
	min-width: 160px !important;
	max-width: 100% !important;
	margin: 10px auto 2px !important;
	padding: 11px 24px !important;
	background: linear-gradient(180deg, #2f5d1f 0%, #1d3f13 100%) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: center !important;
	box-shadow: 0 3px 9px rgba(13, 53, 24, 0.22) !important;
	transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover,
.woocommerce-page ul.products li.product .button:hover,
ul.products li.product .button:hover {
	background: linear-gradient(180deg, #d49d18 0%, #b8860b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 7px 18px rgba(184, 134, 11, 0.34) !important;
	transform: translateY(-2px);
}
/* Premium hover: stronger border + soft green shadow + slight lift */
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
ul.products li.product:hover {
	border-color: #5f7a3a;
	box-shadow: 0 14px 30px rgba(13, 53, 24, 0.16);
	transform: translateY(-5px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--kd-text);
	font-weight: var(--kd-font-weight-heading);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price ins {
	color: var(--kd-primary);
	font-weight: var(--kd-font-weight-heading);
}

.woocommerce ul.products li.product .price del {
	color: var(--kd-border);
}

/* On-sale flash badge in gold */
.woocommerce span.onsale {
	background-color: var(--kd-accent);
	color: var(--kd-white);
}

/* ==========================================================================
   Homepage (page-id-21) — polished landing design
   ========================================================================== */

/* ---- Hero ---- */
.kd-hero {
	position: relative;
	overflow: hidden;
	/* Uploaded hero photo with a light neutral overlay — just enough for text legibility, image kept natural. */
	background-image:
		linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
		url("http://kratom-store.local/wp-content/uploads/2026/05/kratom-home-hero.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	color: var(--kd-background);
	padding: 104px 24px 112px;
	text-align: center;
}
/* (Leaf-pattern overlay removed — replaced by the uploaded hero photo.) */
.kd-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 80px;
	background: linear-gradient(to bottom, rgba(33,59,16,0), rgba(33,59,16,0.35));
	pointer-events: none;
}
.kd-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 820px;
	margin: 0 auto;
}
.kd-hero__eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 13px;
	font-weight: 600;
	color: var(--kd-accent);
	background: rgba(184,134,11,0.12);
	border: 1px solid rgba(184,134,11,0.5);
	padding: 6px 16px;
	border-radius: 999px;
	margin-bottom: 22px;
}
.kd-hero h1 {
	font-size: clamp(36px, 5.2vw, 58px);
	line-height: 1.08;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 18px;
}
.kd-hero p {
	font-size: 19px;
	line-height: 1.6;
	opacity: 0.92;
	max-width: 620px;
	margin: 0 auto 34px;
}
.kd-btn-gold {
	display: inline-block;
	background: var(--kd-accent);
	color: var(--kd-text);
	font-weight: 600;
	font-size: 16px;
	padding: 16px 40px;
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(0,0,0,0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.kd-btn-gold:hover,
.kd-btn-gold:focus {
	background: #d4a017;
	color: var(--kd-text);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(0,0,0,0.34);
}
.kd-hero__link {
	display: block;
	margin-top: 22px;
	color: var(--kd-background);
	opacity: 0.8;
	font-size: 14px;
	text-decoration: none;
}
.kd-hero__link:hover { opacity: 1; color: var(--kd-accent); }

/* ---- Trust bar ---- */
.kd-trustbar {
	background: #ffffff;
	border-bottom: 1px solid var(--kd-border);
}
.kd-trustbar__grid {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: 28px 24px;
}
.kd-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.kd-trust svg {
	width: 30px;
	height: 30px;
	flex: none;
	stroke: var(--kd-primary);
}
.kd-trust span {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.25;
	color: var(--kd-text);
}
@media (max-width: 880px) {
	.kd-trustbar__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

/* ---- Brand pills ---- */
.kd-brands {
	background: var(--kd-background);
	padding: 30px 24px;
}
.kd-brands__inner {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.kd-brands__label {
	width: 100%;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 12px;
	font-weight: 600;
	color: #897d68;
	margin-bottom: 4px;
}
.kd-pill {
	display: inline-block;
	text-decoration: none;
	background: #ffffff;
	border: 1px solid var(--kd-border);
	color: var(--kd-primary);
	font-weight: 600;
	font-size: 15px;
	padding: 10px 24px;
	border-radius: 999px;
	box-shadow: 0 2px 5px rgba(44,26,14,0.05);
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.kd-pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(44,26,14,0.13);
	border-color: var(--kd-accent);
	color: var(--kd-primary);
}

/* ---- Section rhythm + headings ---- */
.kd-section { padding: 66px 24px; }
.kd-section--cream { background: var(--kd-background); }
.kd-section .kd-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 13px;
	font-weight: 600;
	color: var(--kd-accent);
	margin: 0 0 6px;
}
.kd-section .kd-h2 {
	font-size: clamp(27px, 3.6vw, 38px);
	font-weight: 700;
	color: var(--kd-primary);
	margin: 0 0 38px;
}

/* "View All" link — sits right under the section heading */
#newly-added .kd-h2 { margin-bottom: 10px; }
.kd-viewall { margin: 0 0 30px; }
.kd-viewall a {
	display: inline-block;
	color: var(--kd-primary);
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
	border-bottom: 2px solid var(--kd-accent);
	padding-bottom: 3px;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.kd-viewall a:hover { color: var(--kd-accent); border-color: var(--kd-primary); }

/* ---- Category grid (product_categories shortcode) ---- */
.kd-cats ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 0;
}
.kd-cats ul.products::before,
.kd-cats ul.products::after { content: none !important; }
.kd-cats ul.products li.product-category {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	background: #ffffff;
	border: 1px solid var(--kd-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(44,26,14,0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kd-cats ul.products li.product-category:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 34px rgba(44,26,14,0.18);
}
.kd-cats li.product-category a { display: block; text-decoration: none; }
.kd-cats li.product-category img {
	margin: 0 !important;
	width: 100%;
	height: auto;
	display: block;
}
.kd-cats li.product-category h2.woocommerce-loop-category__title {
	font-size: 16px;
	font-weight: 600;
	color: var(--kd-text);
	padding: 16px 12px;
	margin: 0;
	text-align: center;
}
.kd-cats li.product-category .count {
	display: inline-block;
	background: var(--kd-background);
	color: #897d68;
	font-size: 12px;
	font-weight: 600;
	padding: 1px 8px;
	border-radius: 999px;
	margin-left: 6px;
}
@media (max-width: 880px) {
	.kd-cats ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}

/* ---- Product grids on home: lift on hover ---- */
.kd-products ul.products li.product {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kd-products ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 30px rgba(44,26,14,0.16);
}

/* ---- Bottom trust band ---- */
.kd-bottomband {
	background: linear-gradient(160deg, #2d5016 0%, #213b10 100%);
	color: var(--kd-background);
	text-align: center;
	padding: 70px 24px;
}
.kd-bottomband__inner { max-width: 880px; margin: 0 auto; }
.kd-bottomband h2 {
	color: #ffffff;
	font-size: clamp(26px, 3.4vw, 34px);
	font-weight: 700;
	margin: 0 0 14px;
}
.kd-bottomband p { opacity: 0.9; font-size: 16px; margin: 0 0 8px; }
.kd-bottomband__points {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
	margin: 32px 0 36px;
}
.kd-bottomband__points div { display: flex; flex-direction: column; }
.kd-bottomband__points strong {
	font-size: 30px;
	font-weight: 700;
	color: var(--kd-accent);
	line-height: 1.1;
}
.kd-bottomband__points span {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.85;
	margin-top: 4px;
}

/* ==========================================================================
   Header / nav / hero redesign v2 (reference-matched)
   ========================================================================== */

/* Compact primary header; full-width so the logo sits flush at the far-left edge */
.ast-primary-header-bar .ast-container {
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 0 !important;
	padding-right: 30px !important;
	max-width: 100% !important;
}
.site-header .site-branding,
.ast-primary-header-bar .site-logo-img,
.custom-logo-link {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
/* Stack logo over tagline (prevents Astra flexing them side-by-side / squeezing tagline vertical) */
.ast-site-identity {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Tagline under the logo */
.site-header .site-description {
	display: block !important;
	white-space: nowrap !important;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	font-size: 12px;
	font-style: italic;
	letter-spacing: 0.02em;
	color: #6b6253;
	margin-top: 2px;
}

/* Centered FiboSearch bar */
.ast-primary-header-bar .ast-header-html { width: 100%; }
.ast-header-html .dgwt-wcas-search-wrapp {
	max-width: 480px;
	width: 100%;
	margin: 0 auto;
}

/* Account + cart icon colors */
.ast-header-account-wrap a,
.ast-header-woo-cart .ast-addon-cart-wrap svg { color: var(--kd-text); }

/* ---- Dark olive nav bar (below header) — full width edge to edge ---- */
.ast-below-header-wrap,
.ast-below-header-bar {
	background-color: #24410f !important;
}
.ast-below-header-bar .ast-builder-grid-row,
.ast-below-header-bar .site-below-header-wrap { max-width: 1200px; margin: 0 auto; }
.ast-below-header-bar .main-header-menu { background: transparent !important; }
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
	color: #f5f0e8 !important;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 16px 14px !important;
}
.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link,
.ast-below-header-bar .main-header-menu > .current-menu-item > .menu-link {
	color: var(--kd-accent) !important;
	background: rgba(0, 0, 0, 0.18) !important;
}
/* leaf icon before each item (not the Shop All button) */
.ast-below-header-bar .main-header-menu > .menu-item:not(.kd-shopall) > .menu-link::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 7px;
	vertical-align: -2px;
	background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23b8860b'%3E%3Cpath%20d='M17%208C8%2010%205.9%2016.17%203.82%2021.34l1.89.66.95-2.3c.48.17.98.3%201.34.3C19%2020%2022%203%2022%203c-1%202-8%202.25-13%203.25S2%2011.5%202%2013.5s1.75%203.75%201.75%203.75C7%208%2017%208%2017%208z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Shop All gold button */
.ast-below-header-bar .main-header-menu > .menu-item.kd-shopall > .menu-link {
	background: var(--kd-accent) !important;
	color: var(--kd-text) !important;
	font-weight: 700;
	border-radius: 4px;
	margin: 8px 16px 8px 0;
	padding: 9px 22px !important;
}
.ast-below-header-bar .main-header-menu > .menu-item.kd-shopall > .menu-link:hover {
	background: #d4a017 !important;
	color: var(--kd-text) !important;
}
.ast-below-header-bar .sub-menu {
	background: #24410f !important;
	border-top: 2px solid var(--kd-accent);
}
.ast-below-header-bar .sub-menu a { color: #f5f0e8 !important; text-transform: none; }

/* ---- Hero: left-aligned text + trust strip overlaid at bottom ---- */
.kd-hero {
	text-align: left;
	min-height: 540px;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.kd-hero::after { display: none; } /* drop old bottom fade; trust strip handles the base */
.kd-hero__wrap {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 90px 24px 130px;
}
.kd-hero__inner {
	max-width: 620px;
	margin: 0;
	text-align: left;
}
.kd-hero h1 {
	text-align: left;
	color: #ffffff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55), 0 1px 3px rgba(0, 0, 0, 0.45);
}
.kd-hero p {
	margin: 0 0 34px;
	max-width: 560px;
	color: #ffffff;
	opacity: 1;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}
.kd-hero__eyebrow { text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
.kd-hero__trust {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.55);
}
.kd-hero__trust-inner {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	padding: 16px 24px;
}
.kd-hero__trust .kd-trust { justify-content: flex-start; }
.kd-hero__trust .kd-trust svg { stroke: var(--kd-accent); width: 26px; height: 26px; }
.kd-hero__trust .kd-trust span { color: #f5f0e8; font-size: 13px; }
@media (max-width: 880px) {
	.kd-hero__trust { position: static; }
	.kd-hero__trust-inner { justify-content: center; }
}

/* ==========================================================================
   Custom Kratom Outlet header (mockup-matched) — trustbar / header / nav / hero
   Colors: --green #0d3518, --gold #c89012, --cream #f7f2e7
   ========================================================================== */

/* Hide Astra's built-in header — replaced by the custom header below */
#masthead { display: none !important; }

/* ---- Header (taller, cream) ---- */
.ko-header {
	background: radial-gradient(circle at center, #fffdf8, #f4eddd);
	display: flex;
	align-items: center;
	gap: 34px;
	padding: 12px 44px 20px 0; /* compact band; extra bottom space before the nav; flush left */
	border-bottom: 1px solid #e6ddc9;
}
.ko-brand { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0; background: transparent !important; }
/* Slogan under the logo — live text (bigger + bold) */
.ko-tagline {
	margin: 7px 0 0 84px; /* start under the "Kratom" wordmark (past the leaf emblem) */
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.115em; /* even tracking spans the wordmark width without justify gaps */
	color: #5b4934;
	white-space: nowrap;     /* keep on one line; single space between words */
}
.ko-logo, .ko-header .ko-logo, .custom-logo-link { display: block; line-height: 0; margin: 0; padding: 0; background: transparent !important; }
/* Logo already contains the "Kratom Outlet" wordmark + tagline — display large, flush left, transparent */
.ko-header .ko-logo img,
.ko-header .ko-logo .custom-logo,
.ko-header .custom-logo {
	height: 96px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
	background: transparent !important;
	mix-blend-mode: normal !important;
}
.ko-search { flex: 1 1 auto; max-width: 460px; margin: 0 auto; position: relative; }
.ko-search .dgwt-wcas-search-wrapp { max-width: none; width: 100%; }
.ko-search .dgwt-wcas-search-input[type="search"],
.ko-search input[type="search"] {
	width: 100% !important;
	height: 54px !important;
	border: 1px solid #d6d0c6 !important;
	border-radius: 9px !important;
	background: #fff !important;
	padding: 0 52px 0 20px !important;
	font-size: 16px !important;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}
.ko-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 28px; }
.ko-action { display: flex; align-items: center; gap: 9px; color: #1c1c1c; text-decoration: none; }
.ko-action .aico { line-height: 1; position: relative; color: #2c2c2c; display: inline-flex; }
.ko-action .aico svg { width: 28px; height: 28px; }
.ko-action .atext { display: flex; flex-direction: column; line-height: 1.2; }
.ko-action .atext b { font-size: 16px; font-weight: 700; color: #1c1c1c; line-height: 1.15; }
.ko-action .atext span { font-size: 13px; color: #6a6a6a; line-height: 1.2; }
.ko-cart { position: relative; }
.ko-badge { position: absolute; top: -8px; right: -11px; background: #4c8a25; color: #fff; border-radius: 50%; font-size: 11px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; font-weight: 700; font-style: normal; }

/* ---- Nav (compact, full-width dark green) ---- */
.ko-nav { min-height: 48px; background: #0d3518; display: flex; align-items: stretch; justify-content: center; flex-wrap: wrap; padding-left: 0; }
.ko-nav a { color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; letter-spacing: 0.4px; display: flex; align-items: center; gap: 8px; padding: 0 15px; text-transform: uppercase; }
.ko-nav a .nico { display: inline-flex; align-items: center; color: #c89012; }
.ko-nav a .nico svg { width: 17px; height: 17px; }
.ko-nav a .ko-caret { font-size: 11px; opacity: 0.85; margin-left: -3px; }
.ko-nav .shop { font-weight: 800; }
.ko-nav a:hover { background: rgba(255, 255, 255, 0.08); }
.ko-nav .deals { color: #e5b634; }
.ko-nav .deals .nico { color: #e5b634; }

/* ---- Hero (homepage) ---- */
.ko-hero {
	position: relative;
	min-height: 560px;
	background-image: linear-gradient(rgba(10, 48, 18, 0.47), rgba(8, 35, 13, 0.55)), url("assets/hero.jpg");
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
.ko-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 160px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.4)); }
.ko-hero-content { position: relative; z-index: 2; max-width: 720px; padding: 0 24px; margin-top: -20px; }
.ko-eyebrow { color: #d2a52d; font-weight: 700; letter-spacing: 6px; text-transform: uppercase; margin-bottom: 20px; font-size: 13px; }
.ko-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: 47px; line-height: 1.12; margin: 0 0 18px; text-shadow: 0 3px 10px rgba(0, 0, 0, 0.4); color: #fff; }
.ko-hero p { font-size: 17px; line-height: 1.55; margin: 0 auto 26px; max-width: 560px; text-shadow: 0 2px 7px rgba(0, 0, 0, 0.45); color: #fff; }
.ko-btn { display: inline-flex; align-items: center; gap: 14px; background: linear-gradient(#d8a01c, #c88b0e); color: #fff; text-decoration: none; font-weight: 800; font-size: 14px; letter-spacing: 0.5px; border-radius: 6px; padding: 15px 30px; text-transform: uppercase; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25); }
.ko-hero-trust { position: absolute; z-index: 3; bottom: 30px; display: flex; gap: 22px; color: #fff; }
.ko-mini { display: flex; align-items: center; gap: 11px; padding-right: 22px; border-right: 1px solid rgba(255, 255, 255, 0.3); text-align: left; }
.ko-mini:last-child { border-right: 0; }
.ko-mini .mico { color: #fff; line-height: 1; display: inline-flex; }
.ko-mini .mico svg { width: 24px; height: 24px; }
.ko-mini b { font-size: 12px; display: block; letter-spacing: 0.3px; }
.ko-mini span { font-size: 12px; display: block; margin-top: 4px; color: #e2e2e2; }

@media (max-width: 1100px) {
	.ko-header { flex-wrap: wrap; padding: 16px 20px; gap: 14px; }
	.ko-brand { order: 1; }
	.ko-actions { order: 2; margin-left: auto; gap: 16px; }
	.ko-search { order: 3; flex: 1 1 100%; max-width: none; }
	.ko-header .ko-logo img { height: 64px !important; }
	.ko-nav { overflow-x: auto; flex-wrap: nowrap; }
	.ko-nav a { white-space: nowrap; }
	.ko-hero { min-height: 520px; }
	.ko-hero h1 { font-size: 40px; }
	.ko-hero-trust { display: none; }
}

/* ==========================================================================
   prompt.txt header tweaks — scoped to the custom ko-header (NOT global
   .ast-container, which broke the layout). Loaded last so these win.
   ========================================================================== */

/* Header band: cream background, no border, compact (~90-100px) */
.ko-header {
	background: #f7f1df !important;
	border-bottom: none !important;
	min-height: 0 !important;
}

/* Larger logo (prompt: 390px wide) */
.ko-header .ko-logo img,
.ko-header .ko-logo .custom-logo {
	width: 390px !important;
	height: auto !important;
	max-width: 390px !important;
}

/* Green menu bar gradient */
.ko-nav {
	background: linear-gradient(90deg, #082d12, #123d19, #082d12) !important;
}

/* Menu links: white, bold, uppercase, taller */
.ko-nav a {
	color: #ffffff !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	padding: 0 22px !important;
	min-height: 76px;
}

/* Menu hover → gold */
.ko-nav a:hover {
	color: #d39a18 !important;
	background: rgba(255, 255, 255, 0.06) !important;
}

/* Active page gets the gold highlight (moved off the first/Shop All item).
   Placed after :hover so the active item stays gold even on hover. */
.ko-nav a.current-menu-item,
.ko-nav .current-menu-item > a {
	background: #c98d10 !important;
	color: #ffffff !important;
}
.ko-nav a.current-menu-item .nico,
.ko-nav .current-menu-item > a .nico { color: #ffffff !important; }

/* Search box: taller, rounded; text starts cleanly on the left */
.ko-search .dgwt-wcas-search-wrapp { position: relative !important; }
.ko-search .dgwt-wcas-search-input[type="search"],
.ko-search input[type="search"] {
	height: 58px !important;
	border-radius: 6px !important;
	border: 1px solid #d9d0bd !important;
	background: #fff !important;
	font-size: 16px !important;
	padding-left: 20px !important;
	padding-right: 56px !important; /* room for the magnifier on the right */
	text-indent: 0 !important;
}
/* Magnifier / submit button pinned to the RIGHT (no overlap with placeholder) */
.ko-search .dgwt-wcas-search-submit {
	position: absolute !important;
	right: 0 !important;
	left: auto !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 52px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.ko-search .dgwt-wcas-ico-magnifier { width: 18px !important; height: 18px !important; }

/* Cart badge → green */
.ko-badge {
	background: #3f7a24 !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

/* ==========================================================================
   WooCommerce Cart block — brand-green "Proceed to Checkout" button only.
   (Cart row layout left to WooCommerce's default block — no overrides.)
   ========================================================================== */
.wc-block-cart__submit-button,
.wc-block-cart .wc-block-cart__submit-button {
	background-color: #0d3518 !important;
	border-color: #0d3518 !important;
	color: #ffffff !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus {
	background-color: #0a2a12 !important;
	color: #ffffff !important;
}

/* ==========================================================================
   Site-wide FDA / age disclaimer bar (footer)
   ========================================================================== */
.kd-fda-disclaimer {
	background: #0d3518;
	color: #e8e2d0;
	padding: 18px 24px;
	text-align: center;
	border-top: 3px solid #c89012;
}
.kd-fda-disclaimer p {
	margin: 0 auto;
	max-width: 1100px;
	font-size: 12.5px;
	line-height: 1.7;
	letter-spacing: 0.01em;
}
.kd-fda-disclaimer strong {
	color: #f0c14b;
	font-weight: 700;
}

/* Age Gate inline validation warning */
.kd-agegate-error {
	display: none;
	color: #c0392b;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	margin: 6px auto 12px;
	max-width: 320px;
	text-align: center;
}
.kd-agegate-error.is-visible {
	display: block;
}

/* ==========================================================================
   Out-of-stock badge — solid red band, white text (stands out on the card)
   ========================================================================== */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock,
.woocommerce-page ul.products li.product .ast-shop-product-out-of-stock,
ul.products li.product .ast-shop-product-out-of-stock,
.ast-shop-product-out-of-stock {
	background-color: #c0392b !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.20);
}
/* Astra flips the badge to white on card hover — keep it red */
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover .ast-shop-product-out-of-stock,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link:hover .ast-shop-product-out-of-stock,
.wc-block-grid .wc-block-grid__product .woocommerce-loop-product__link:hover .ast-shop-product-out-of-stock {
	background-color: #a93226 !important;
	color: #ffffff !important;
}

/* Single product: "N items in cart" notice (below SKU/category meta) */
.kd-in-cart-notice {
	display: block;
	margin: 14px 0 0;
	padding: 0;
	background: none;
	color: #2d5016;
	border: none;
	border-radius: 0;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.01em;
}
.kd-in-cart-item {
	display: block;          /* one item per line */
	white-space: nowrap;     /* keep each "5 × Red Vein" together */
}
.kd-in-cart-item + .kd-in-cart-item {
	margin-top: 5px;
}
.kd-in-cart-item::before {
	content: "\1F6D2";       /* shopping trolley, one per line */
	margin-right: 8px;
	font-size: 14px;
}

/* Variation dropdown: out-of-stock options in red */
select.attribute_pa_strain option.kd-oos-option,
.variations_form select option.kd-oos-option,
option.kd-oos-option {
	color: #c0392b !important;
}

/* ==========================================================================
   WooCommerce error notice — larger, bolder, harder to miss
   ========================================================================== */
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error,
ul.woocommerce-error,
.woocommerce-error {
	background-color: #fdecea !important;
	border-top: 3px solid #c0392b !important;
	color: #8a1f14 !important;
	padding-top: 1.4em !important;
	padding-bottom: 1.4em !important;
}
.woocommerce-error li,
ul.woocommerce-error li {
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	color: #8a1f14 !important;
}
.woocommerce-error li strong {
	color: #c0392b !important;
}
/* Block-style error notice (cart/checkout) to match */
.wc-block-components-notice-banner.is-error {
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* Catalog "SORT BY :" label + ordering control */
.woocommerce-ordering {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.woocommerce-ordering .kd-sortby-label {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.03em;
	color: #2c1a0e;
	text-transform: uppercase;
	white-space: nowrap;
}
.woocommerce-ordering select.orderby {
	padding: 8px 30px 8px 12px;
	border: 1px solid #b3c49a;
	border-radius: 6px;
	background-color: #fff;
	font-size: 14px;
	color: #2c1a0e;
}

/* ==========================================================================
   Brands — logo grid + brand product page
   ========================================================================== */
.kd-brands-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	margin: 24px 0;
}
.kd-brand-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 22px;
	background: #fff;
	border: 1px solid #b3c49a;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(44, 26, 14, 0.06);
	text-decoration: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.kd-brand-card:hover {
	border-color: #5f7a3a;
	box-shadow: 0 14px 30px rgba(13, 53, 24, 0.16);
	transform: translateY(-5px);
}
.kd-brand-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 150px;
	overflow: hidden;
	color: #2d5016;
	font-weight: 700;
	font-size: 20px;
}
.kd-brand-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.kd-brand-name {
	font-weight: 700;
	font-size: 16px;
	color: #2c1a0e;
	text-align: center;
}
.kd-brand-heading {
	text-align: center;
	margin: 0 0 24px;
}
.kd-brand-back {
	margin-top: 24px;
	text-align: center;
	font-weight: 700;
}

/* Buy-by-the-box pack-size note */
.kd-pack-note {
	margin: 10px 0 4px;
	padding: 10px 14px;
	background: #eaf3e0;
	border: 1px solid #b3c49a;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.5;
	color: #2d5016;
}
.kd-pack-note .kd-pack-save {
	color: #c0392b;
	font-weight: 700;
}
