/* ==========================================================
   Blentree Hello Child — custom WooCommerce + header styling
   Theme colors: primary red #E63946, secondary #F5A623,
   dark #1A1A1A, body #666, light bg #F8F8F8, font Poppins
   ========================================================== */

/* ----------------------------------------------------------
   Horizontal-scroll fix
   The blentree-widgets plugin (trusted-cta, about-section,
   feature-grid, page-banner, text-block, shop) uses
   `width: 100vw` which INCLUDES the scrollbar gutter, so on
   any page with a vertical scrollbar the section ends up
   8-17px wider than the visible viewport and the browser
   shows a horizontal scrollbar.
   `overflow-x: clip` on the document hides the overflow
   without establishing a scroll container, so sticky
   positioning (header) keeps working.
   ---------------------------------------------------------- */
html, body {
	overflow-x: clip;
}
/* Fallback for browsers that don't yet support overflow: clip
   (everything since 2021 does, but old in-app webviews don't) */
@supports not (overflow-x: clip) {
	html, body { overflow-x: hidden; }
}

/* ----------------------------------------------------------
   Sticky footer — make the Elementor footer stick to the bottom
   of the viewport on short pages (like My Account with empty
   orders, or 404 pages). Body becomes a column flex container,
   the page-content div fills remaining space, footer hugs the
   bottom.
   ---------------------------------------------------------- */
body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
body > footer.elementor-location-footer,
body > .elementor-location-footer {
	margin-top: auto;
	flex-shrink: 0;
}
body > .elementor-location-header { flex-shrink: 0; }
body > .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
	flex: 1 0 auto;
	width: 100%;
}

/* NOTE: do NOT clamp the .bln-*-fullwidth widgets with max-width:100%
   here — those widgets intentionally use `width: 100vw` plus
   `margin-left: calc(50% - 50vw)` to break out of their Elementor
   column and render edge-to-edge (red CTA, yellow banners, etc.).
   Clamping the width breaks that "full-bleed" visual.
   The `overflow-x: clip` above is enough — it hides the tiny
   scrollbar-gutter overflow without disturbing the layout. */

/* ----------------------------------------------------------
   Red CTA wave-top anti-alias gap fix
   The trusted-cta widget uses transform: translateY(-99%) on
   .bln-cta-wave-top, which leaves a 1% sliver of the wave image
   (where its anti-aliased / faded bottom edge lives) showing
   inside the red section. That creates a faint pink horizontal
   line just below the white wave shape.
   Push the wave 2px FURTHER into the section so the soft bottom
   edge sits on red rather than at the boundary, and the
   transition reads as clean.
   ---------------------------------------------------------- */
.bln-cta-wave-top {
	transform: translateY(calc(-100% + 2px)) !important;
}

/* ----------------------------------------------------------
   WooCommerce notice icons completely killed
   WC ships an empty `::before` pseudo with explicit width/height
   that still renders as a positioned box overlapping the notice
   text (the "🟧 No order has been made yet" overlap that the
   user reported). The pseudo isn't always reachable via
   display:none alone because some CSS plugins re-assert content,
   so we zero out every dimension and visibility too.
   ---------------------------------------------------------- */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-noreviews::before {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	visibility: hidden !important;
	opacity: 0 !important;
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	position: static !important;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews {
	padding-left: 18px !important;
}

/* ----------------------------------------------------------
   Lift Hello Elementor's .site-main width caps on WC pages
   ---------------------------------------------------------- */
body.woocommerce-account .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.single-product .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main {
	max-width: 100% !important;
	padding: 0 !important; /* banner is full-bleed; content gets padding via its own wrapper */
}

/* Inner content (everything below the yellow banner) gets a centered
   container with horizontal padding. */
body.woocommerce-account .site-main > article > .entry-content,
body.woocommerce-cart .site-main > article > .entry-content,
body.woocommerce-checkout .site-main > article > .entry-content,
body.single-product .site-main > article > .entry-content,
body.post-type-archive-product .site-main > article > .entry-content,
body.tax-product_cat .site-main > article > .entry-content,
body.tax-product_tag .site-main > article > .entry-content {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 60px;
}

/* ----------------------------------------------------------
   Yellow wave page banner — applied to the existing
   WP .page-header on every WC page (My Account / Cart /
   Checkout / Shop / Category). Matches the inner-page
   "yellow band + wave bottom" pattern used by the
   blentree-widgets page-banner widget on About / Quality /
   Process / Contact pages.
   ---------------------------------------------------------- */
body.woocommerce-account .page-header,
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.post-type-archive-product .page-header,
body.tax-product_cat .page-header,
body.tax-product_tag .page-header {
	position: relative;
background-color: #CF1D2C !important;
	min-height: 220px;
	margin: 0 0 50px !important;
	padding: 50px 20px 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
body.woocommerce-account .page-header::after,
body.woocommerce-cart .page-header::after,
body.woocommerce-checkout .page-header::after,
body.post-type-archive-product .page-header::after,
body.tax-product_cat .page-header::after,
body.tax-product_tag .page-header::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	height: 80px;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0,50 C240,90 480,20 720,40 C960,60 1200,90 1440,45 L1440,90 L0,90 Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	z-index: 1;
}
body.woocommerce-account .page-header .entry-title,
body.woocommerce-cart .page-header .entry-title,
body.woocommerce-checkout .page-header .entry-title,
body.post-type-archive-product .page-header .entry-title,
body.tax-product_cat .page-header .entry-title,
body.tax-product_tag .page-header .entry-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 48px) !important;
	font-weight: 800 !important;
	color: var(--bt-white) !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 !important;
	text-align: center;
	position: relative;
	z-index: 2;
	max-width: 100%;
}

/* Single product: hide the WP page header entirely — the product summary
   already renders its own .product_title so a second title would be a
   duplicate. */
body.single-product .page-header,
body.single-product .entry-header {
	display: none !important;
}

:root {
	--bt-primary: #CF1D2C;
	--bt-primary-dark: #A81824;
	--bt-secondary: #F5A623;
	--bt-dark: #1A1A1A;
	--bt-body: #666666;
	--bt-light-bg: #F8F8F8;
	--bt-white: #FFFFFF;
	--bt-border: #E5E5E5;
	--bt-success: #28A745;
	--bt-rating: #FFB800;
	--bt-radius-sm: 4px;
	--bt-radius-md: 8px;
	--bt-radius-lg: 16px;
	--bt-radius-full: 999px;
	--bt-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
	--bt-shadow-md: 0 4px 14px rgba(0,0,0,0.08);
	--bt-shadow-lg: 0 10px 40px rgba(0,0,0,0.10);
	--bt-trans: 0.25s ease;
}

/* ==========================================================
   HEADER — Elementor nav hover overrides (red-bg-safe)
   ========================================================== */
header[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item {
	color: #ffffff !important;
	fill: #ffffff !important;
}
header[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover,
header[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.elementor-item-active,
header[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.highlighted,
header[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:focus {
	color: #F5A623 !important;
	fill: #F5A623 !important;
}

/* ==========================================================
   HEADER — account + cart icons injected into the nav menu
   ========================================================== */

.blentree-menu-account,
.blentree-menu-cart {
	list-style: none;
	display: inline-flex;
	align-items: center;
}
.blentree-menu-account > a.blentree-account-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0 !important;
	font-size: 18px !important;
	color: var(--bt-white) !important;
	background: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	border-radius: 50%;
	transition: color var(--bt-trans);
	position: relative;
	cursor: pointer;
}
.blentree-menu-account > a.blentree-account-toggle:hover,
.blentree-menu-account > a.blentree-account-toggle:focus {
	color: var(--bt-white) !important;
	background: transparent !important;
}
.blentree-menu-account > a.blentree-account-toggle::after {
	display: none !important;
}

.blentree-menu-cart > a.blentree-cart-link {
	display: inline-flex !important;
	align-items: center;
	gap: 14px;
	width: auto !important;
	height: auto !important;
	padding: 6px 12px !important;
	font-size: 18px !important;
	color: var(--bt-white) !important;
	background: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	border-radius: 999px;
	white-space: nowrap;
	line-height: 1;
	transition: color var(--bt-trans), background var(--bt-trans);
	position: relative;
}
.blentree-menu-cart > a.blentree-cart-link:hover {
	color: var(--bt-secondary) !important;
	background: rgba(255, 255, 255, 0.1) !important;
}
.blentree-menu-cart > a.blentree-cart-link::after {
	display: none !important;
}

/* Account dropdown — SmartMenus (Elementor Pro) doesn't touch <div>
   submenus, so opening is handled by CSS (desktop hover) + JS toggle
   (touch / mobile burger). */
.blentree-menu-account { position: relative; }
.blentree-account-dropdown {
	position: absolute;
	top: 100%;
	right: 0;
	width: 240px;
	background: var(--bt-white);
	border-radius: var(--bt-radius-md);
	box-shadow: var(--bt-shadow-lg);
	padding: 14px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--bt-trans), transform var(--bt-trans), visibility var(--bt-trans);
	z-index: 9999;
	font-family: 'Poppins', sans-serif;
	text-align: left;
	pointer-events: none;
}
.blentree-account-dropdown::before {
	content: '';
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 10px; /* hover bridge */
}

/* Desktop hover (only where the device supports real hover) */
@media (hover: hover) and (min-width: 992px) {
	.blentree-menu-account:hover .blentree-account-dropdown,
	.blentree-menu-account:focus-within .blentree-account-dropdown {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}
}

/* Touch / mobile burger — JS toggles .is-open */
.blentree-menu-account.is-open .blentree-account-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* When the burger nav is rendered inline (Elementor mobile dropdown copy),
   the panel should flow inline rather than absolute-positioned, otherwise
   it overflows the screen edge. */
.elementor-nav-menu--dropdown .blentree-menu-account .blentree-account-dropdown,
.sub-menu .blentree-menu-account .blentree-account-dropdown {
	position: static;
	width: 100%;
	box-shadow: none;
	border: 1px solid var(--bt-border);
	margin-top: 8px;
}

.blentree-account-greeting {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--bt-border);
	font-size: 13px;
	color: var(--bt-body);
}
.blentree-account-greeting strong {
	display: block;
	color: var(--bt-dark);
	font-size: 15px;
	font-weight: 600;
}

.blentree-account-dropdown a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 9px 8px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--bt-dark) !important;
	background: transparent !important;
	border-radius: var(--bt-radius-sm);
	text-decoration: none !important;
	transition: all var(--bt-trans);
	width: auto;
	height: auto;
	border: 0 !important;
}
.blentree-account-dropdown a:hover {
	background: var(--bt-light-bg) !important;
	color: var(--bt-primary) !important;
}
.blentree-account-dropdown a i {
	width: 18px;
	text-align: center;
	color: var(--bt-primary);
	font-size: 13px;
}
.blentree-account-logout {
	border-top: 1px solid var(--bt-border) !important;
	margin-top: 8px;
	padding-top: 12px !important;
}

.blentree-account-btn {
	justify-content: center !important;
	padding: 10px 16px !important;
	margin-bottom: 8px;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.blentree-btn-primary {
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
}
.blentree-btn-primary:hover {
	background: var(--bt-primary-dark) !important;
	color: var(--bt-white) !important;
}
.blentree-btn-outline {
	background: transparent !important;
	color: var(--bt-primary) !important;
	border: 2px solid var(--bt-primary) !important;
	margin-bottom: 0;
}
.blentree-btn-outline:hover {
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
}

/* Cart icon wrapper — anchors the count badge */
.blentree-cart-icon {
	position: relative;
	display: inline-block;
	width: 22px;
	height: 22px;
	font-size: 20px;
	line-height: 1;
	flex: 0 0 22px;
}
.blentree-cart-icon i {
	display: block;
	line-height: 22px;
	text-align: center;
}

/* Cart count bubble — anchored to icon's top-right */
.blentree-cart-link { position: relative; }
.blentree-cart-count {
	position: absolute;
	top: -8px;
	right: -10px;
	background: var(--bt-primary);
	color: var(--bt-white);
	font-size: 10px;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	line-height: 1;
	box-shadow: 0 0 0 2px #fff;
	z-index: 2;
}

/* Cart total price — appended after icon by JS */
.blentree-cart-total {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--bt-white, #fff);
	line-height: 1;
	white-space: nowrap;
}
@media (max-width: 1024px) {
	.blentree-cart-total { font-size: 14px; }
}
@media (max-width: 600px) {
	.blentree-cart-total { display: none; }
	.blentree-menu-cart > a.blentree-cart-link { gap: 0; padding: 6px !important; }
}

/* Yellow header background — applied on all pages EXCEPT Home */
body:not(.home) header[data-elementor-type="header"] > .e-con,
body:not(.home) header[data-elementor-type="header"] > .e-con-full,
body:not(.home) header[data-elementor-type="header"] .e-con-inner {
	background-color: #CF1D2C !important;
}

/* ==========================================================
   MY ACCOUNT — login / register cards (logged out)
   ========================================================== */

.woocommerce-account .woocommerce {
	font-family: 'Poppins', sans-serif;
}

/* Auth page (logged-out my-account) — intro + two-card layout */
.bt-account-auth {
	max-width: 1080px;
	margin: 0 auto;
	padding: 16px 0;
}
.bt-account-auth-intro {
	text-align: center;
	margin-bottom: 32px;
}
.bt-account-auth-intro p {
	font-size: 15px;
	color: var(--bt-body);
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.6;
}

.bt-account-auth-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	max-width: 480px;
	margin: 0 auto;
}
.bt-account-auth.has-register .bt-account-auth-cards {
	grid-template-columns: 1fr 1fr;
	max-width: 100%;
}

.bt-auth-card {
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: 18px;
	padding: 32px;
	box-shadow: var(--bt-shadow-md);
	transition: all var(--bt-trans);
	position: relative;
	overflow: hidden;
}
.bt-auth-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--bt-primary);
}
.bt-auth-card-register::before { background: var(--bt-secondary); }
.bt-auth-card:hover { box-shadow: var(--bt-shadow-lg); transform: translateY(-2px); }

.bt-auth-card-head {
	text-align: center;
	margin-bottom: 20px;
}
.bt-auth-icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.bt-auth-icon-primary { background: rgba(230, 57, 70, 0.1); color: var(--bt-primary); }
.bt-auth-icon-warn    { background: rgba(245, 166, 35, 0.12); color: var(--bt-secondary); }
.bt-auth-card-head h2 {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--bt-dark) !important;
	margin: 0 0 4px !important;
}
.bt-auth-card-head p {
	font-size: 14px;
	color: var(--bt-body);
	margin: 0;
}

.bt-auth-card .form-row { margin-bottom: 16px; }
.bt-auth-card form button.button {
	width: 100%;
	margin-top: 8px;
}
.bt-auth-card-register form button.button {
	background: var(--bt-secondary) !important;
	border-color: var(--bt-secondary) !important;
}
.bt-auth-card-register form button.button:hover {
	background: #d6911e !important;
	border-color: #d6911e !important;
}

.bt-account-auth .auth-row-split {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.bt-account-auth .auth-note {
	font-size: 13px;
	color: var(--bt-body);
	background: var(--bt-light-bg);
	padding: 10px 14px;
	border-radius: 8px;
	margin-bottom: 14px;
}

/* WC form fields — scoped to auth + account + lost-password forms only.
   Checkout form (.woocommerce-checkout form.checkout) keeps WC's 2-col
   first/last name layout to stay friendly on mobile and desktop. */
#customer_login form .form-row,
.woocommerce-MyAccount-content form .form-row,
.woocommerce-ResetPassword .form-row,
.woocommerce form.woocommerce-form-track-order .form-row {
	display: block !important;
	margin-bottom: 16px;
	padding: 0;
	width: 100% !important;
	float: none !important;
	clear: both;
}
.woocommerce form .form-row label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-dark);
	margin-bottom: 6px;
}
.woocommerce form .form-row .required {
	color: var(--bt-primary);
	text-decoration: none;
	visibility: visible;
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-ResetPassword input,
.woocommerce form .input-text {
	width: 100%;
	padding: 12px 14px !important;
	border: 1px solid var(--bt-border) !important;
	border-radius: var(--bt-radius-sm) !important;
	font-size: 14px !important;
	font-family: 'Poppins', sans-serif !important;
	color: var(--bt-dark) !important;
	background: var(--bt-white) !important;
	outline: none;
	box-shadow: none !important;
	transition: border-color var(--bt-trans);
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--bt-primary) !important;
}

/* Password show/hide icon */
.woocommerce form .password-input { position: relative; display: block; }
.woocommerce form .show-password-input {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	color: var(--bt-body);
}
.woocommerce form .show-password-input.display-password { color: var(--bt-primary); }

/* Remember me + lost password row */
.woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	color: var(--bt-body);
	cursor: pointer;
}
.woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--bt-primary);
}
.woocommerce-LostPassword a,
.lost_password a {
	color: var(--bt-primary);
	font-weight: 500;
	font-size: 13px;
}
.woocommerce-LostPassword a:hover { text-decoration: underline; }

/* Submit buttons — Login, Register, Update Address, Save Changes, etc.
   Scoped to WC content containers ONLY so we don't accidentally restyle
   .button anchors inside Elementor header/footer (mini cart, custom HTML
   widgets, etc.) which also live under body.woocommerce-page. */
.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content input.button,
#customer_login button.button,
#customer_login a.button,
#customer_login input.button,
.woocommerce-ResetPassword button.button,
.woocommerce-ResetPassword input.button,
.woocommerce-cart-form button.button,
.woocommerce-cart-form input.button,
.cart_totals .checkout-button,
form.checkout button#place_order,
form.checkout button.button,
.single-product .summary button.button,
.single-product #review_form button.button,
.single-product #review_form input#submit,
.woocommerce-Button {
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	border: 2px solid var(--bt-primary) !important;
	padding: 13px 28px !important;
	border-radius: var(--bt-radius-sm) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: 'Poppins', sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	cursor: pointer;
	transition: all var(--bt-trans);
	text-decoration: none !important;
	display: inline-block;
}
.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content input.button:hover,
#customer_login button.button:hover,
#customer_login a.button:hover,
#customer_login input.button:hover,
.woocommerce-ResetPassword button.button:hover,
.woocommerce-cart-form button.button:hover,
.cart_totals .checkout-button:hover,
form.checkout button#place_order:hover,
form.checkout button.button:hover,
.single-product .summary button.button:hover,
.woocommerce-Button:hover {
	background: var(--bt-primary-dark) !important;
	border-color: var(--bt-primary-dark) !important;
	color: var(--bt-white) !important;
}

/* Register button (outline variation when next to Login) */
.woocommerce-form-register__submit {
	background: var(--bt-secondary) !important;
	border-color: var(--bt-secondary) !important;
}
.woocommerce-form-register__submit:hover {
	background: #d6911e !important;
	border-color: #d6911e !important;
}

/* ==========================================================
   MY ACCOUNT — logged-in dashboard
   ========================================================== */

.woocommerce-account.logged-in .woocommerce {
	display: grid !important;
	grid-template-columns: 260px minmax(0, 1fr) !important;
	grid-auto-flow: row !important;
	gap: 32px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto !important;
	width: 100%;
	float: none !important;
}
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 100%; margin: 0 auto; }
.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
}
/* Force explicit placement — some plugins / browser quirks were placing
   nav into column 2; explicit column-start guarantees the layout. */
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation {
	grid-column: 1 !important;
	grid-row: 2 !important;
}
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

/* Sidebar navigation */
.woocommerce-MyAccount-navigation {
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-lg);
	padding: 16px;
	box-shadow: var(--bt-shadow-sm);
	float: none !important;
	width: 100% !important;
	position: sticky;
	top: 24px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation li {
	margin: 0 0 4px;
}
.woocommerce-MyAccount-navigation li a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 12px 14px !important;
	font-size: 14px;
	font-weight: 500;
	color: var(--bt-dark) !important;
	background: transparent !important;
	border-radius: var(--bt-radius-md);
	text-decoration: none !important;
	transition: all var(--bt-trans);
}
.woocommerce-MyAccount-navigation li a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	width: 20px;
	text-align: center;
	font-size: 14px;
	color: var(--bt-body);
	transition: color var(--bt-trans);
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(230, 57, 70, 0.08) !important;
	color: var(--bt-primary) !important;
}
.woocommerce-MyAccount-navigation li a:hover::before,
.woocommerce-MyAccount-navigation li.is-active a::before {
	color: var(--bt-primary);
}
.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f015"; }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f466"; }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f019"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f3c5"; }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { content: "\f09d"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; }

/* Content card */
.woocommerce-MyAccount-content {
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-lg);
	padding: 32px;
	box-shadow: var(--bt-shadow-sm);
	font-size: 15px;
	color: var(--bt-body);
	min-width: 0;
	float: none !important;
	width: 100% !important;
}
.woocommerce-MyAccount-content > p { margin-bottom: 14px; line-height: 1.7; }
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) {
	color: var(--bt-primary);
	font-weight: 500;
	text-decoration: none;
}
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover { text-decoration: underline; }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	color: var(--bt-dark);
	font-size: 18px;
	margin: 0 0 16px;
	font-weight: 700;
}
.woocommerce-MyAccount-content fieldset {
	border: 1px dashed var(--bt-border);
	border-radius: var(--bt-radius-md);
	padding: 16px;
	margin: 0 0 16px;
}
.woocommerce-MyAccount-content fieldset legend {
	font-weight: 600;
	color: var(--bt-dark);
	font-size: 14px;
	padding: 0 8px;
}

/* ==========================================================
   CUSTOM DASHBOARD (woocommerce/myaccount/dashboard.php)
   ========================================================== */

.bt-dashboard {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: -32px; /* counter the .woocommerce-MyAccount-content padding so dashboard goes edge-to-edge */
	padding: 28px;
}

/* Welcome card */
.bt-dashboard-welcome {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px;
	align-items: center;
	background: linear-gradient(135deg, rgba(230, 57, 70, 0.04), rgba(245, 166, 35, 0.04));
	border: 1px solid var(--bt-border);
	border-radius: 16px;
	padding: 24px;
}
.bt-dashboard-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--bt-primary), #ff6b78);
	color: var(--bt-white);
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 20px rgba(230, 57, 70, 0.25);
	flex-shrink: 0;
	letter-spacing: 0.5px;
}
.bt-dashboard-welcome-text { min-width: 0; }
.bt-dashboard-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: var(--bt-secondary);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 4px;
}
.bt-dashboard-welcome-text h2 {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--bt-dark) !important;
	margin: 0 0 4px !important;
	line-height: 1.2;
}
.bt-dashboard-welcome-text p {
	margin: 0;
	font-size: 14px;
	color: var(--bt-body);
}
.bt-dashboard-shop-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	font-weight: 600 !important;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	text-decoration: none !important;
	transition: all var(--bt-trans);
	white-space: nowrap;
}
.bt-dashboard-shop-btn:hover {
	background: var(--bt-primary-dark) !important;
	color: var(--bt-white) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(230, 57, 70, 0.3);
}
.bt-dashboard-shop-btn i { font-size: 12px; }

/* Stats row */
.bt-dashboard-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.bt-stat {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: 14px;
	padding: 18px;
	transition: all var(--bt-trans);
}
.bt-stat:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}
.bt-stat-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}
.bt-stat-icon-primary { background: rgba(230, 57, 70, 0.1); color: var(--bt-primary); }
.bt-stat-icon-warn    { background: rgba(245, 166, 35, 0.12); color: var(--bt-secondary); }
.bt-stat-icon-success { background: rgba(40, 167, 69, 0.1); color: var(--bt-success); }
.bt-stat-content { min-width: 0; }
.bt-stat-label {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: var(--bt-body);
	margin-bottom: 2px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.bt-stat-value {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--bt-dark);
	line-height: 1.1;
}
.bt-stat-value .woocommerce-Price-amount { color: var(--bt-dark); font-size: 22px; font-weight: 700; }

/* Quick actions grid */
.bt-dashboard-actions {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.bt-action-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 18px;
	background: var(--bt-white) !important;
	border: 1px solid var(--bt-border);
	border-radius: 14px;
	color: var(--bt-dark) !important;
	text-decoration: none !important;
	transition: all var(--bt-trans);
	position: relative;
	overflow: hidden;
}
.bt-action-card::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--bt-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.bt-action-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.08);
	border-color: var(--bt-primary);
}
.bt-action-card:hover::after { transform: scaleX(1); }
.bt-action-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(230, 57, 70, 0.08);
	color: var(--bt-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	margin-bottom: 4px;
}
.bt-action-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--bt-dark);
}
.bt-action-desc {
	font-size: 12px;
	color: var(--bt-body);
	line-height: 1.4;
}
.bt-action-card-logout .bt-action-icon { background: rgba(40, 167, 69, 0.08); color: var(--bt-success); }
.bt-action-card-logout::after { background: var(--bt-success); }
.bt-action-card-logout:hover { border-color: var(--bt-success); }

/* Recent orders section */
.bt-dashboard-recent {
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: 14px;
	padding: 20px;
}
.bt-dashboard-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}
.bt-dashboard-section-head h3 {
	margin: 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--bt-dark) !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.bt-dashboard-section-head h3 i {
	color: var(--bt-primary);
	font-size: 14px;
}
.bt-dashboard-section-link {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--bt-primary) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.bt-dashboard-section-link i { font-size: 10px; transition: transform var(--bt-trans); }
.bt-dashboard-section-link:hover i { transform: translateX(3px); }

.bt-recent-orders {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bt-order-row {
	display: grid;
	grid-template-columns: 1.3fr 1fr 0.8fr 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	background: var(--bt-light-bg);
	border-radius: 10px;
	text-decoration: none !important;
	color: var(--bt-dark) !important;
	transition: all var(--bt-trans);
}
.bt-order-row:hover {
	background: rgba(230, 57, 70, 0.06);
	transform: translateX(4px);
}
.bt-order-id { display: flex; flex-direction: column; min-width: 0; }
.bt-order-num { font-size: 14px; font-weight: 700; color: var(--bt-dark); }
.bt-order-date { font-size: 12px; color: var(--bt-body); }

.bt-order-status {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 5px 10px;
	border-radius: 999px;
	text-align: center;
	background: rgba(230, 57, 70, 0.1);
	color: var(--bt-primary);
	justify-self: start;
}
.bt-status-processing,
.bt-status-pending,
.bt-status-on-hold { background: rgba(245, 166, 35, 0.15); color: var(--bt-secondary); }
.bt-status-completed { background: rgba(40, 167, 69, 0.12); color: var(--bt-success); }
.bt-status-cancelled,
.bt-status-failed,
.bt-status-refunded { background: rgba(102, 102, 102, 0.12); color: var(--bt-body); }

.bt-order-items { font-size: 13px; color: var(--bt-body); }
.bt-order-total { font-size: 14px; font-weight: 700; color: var(--bt-primary); text-align: right; }
.bt-order-total .woocommerce-Price-amount { color: var(--bt-primary); font-weight: 700; }
.bt-order-arrow {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--bt-white);
	color: var(--bt-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	transition: all var(--bt-trans);
}
.bt-order-row:hover .bt-order-arrow {
	background: var(--bt-primary);
	color: var(--bt-white);
	transform: translateX(2px);
}

/* Empty state */
.bt-empty-state {
	text-align: center;
	padding: 36px 20px;
	background: var(--bt-light-bg);
	border-radius: 12px;
}
.bt-empty-state i {
	font-size: 36px;
	color: var(--bt-border);
	margin-bottom: 12px;
	display: block;
}
.bt-empty-state h4 {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--bt-dark) !important;
	margin: 0 0 6px !important;
}
.bt-empty-state p {
	font-size: 13px;
	color: var(--bt-body);
	margin: 0 0 16px;
}
.bt-empty-btn {
	display: inline-block;
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	padding: 10px 20px !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all var(--bt-trans);
}
.bt-empty-btn:hover {
	background: var(--bt-primary-dark) !important;
	transform: translateY(-1px);
}

/* ==========================================================
   Orders table / shop tables
   ========================================================== */

.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-md);
	overflow: hidden;
	font-size: 14px;
	margin-bottom: 16px;
}
.woocommerce table.shop_table th {
	background: var(--bt-light-bg);
	color: var(--bt-dark);
	font-weight: 600;
	text-align: left;
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--bt-border);
}
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--bt-border);
	color: var(--bt-body);
	background: var(--bt-white);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table .woocommerce-button {
	padding: 8px 16px !important;
	font-size: 12px !important;
	margin: 2px 4px 2px 0 !important;
}

/* Addresses grid */
.woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.woocommerce-Addresses .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	background: var(--bt-light-bg);
	border-radius: var(--bt-radius-md);
	padding: 24px;
}
.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px;
}
.woocommerce-Address-title h3 { margin: 0; font-size: 16px; }
.woocommerce-Address-title .edit {
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-primary);
}
.woocommerce-Address address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.8;
	color: var(--bt-body);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper > * {
	background: var(--bt-white) !important;
	color: var(--bt-dark) !important;
	border: 1px solid var(--bt-border) !important;
	border-left: 4px solid var(--bt-success) !important;
	border-radius: var(--bt-radius-md) !important;
	box-shadow: var(--bt-shadow-sm);
	padding: 14px 18px !important;
	font-size: 14px;
	list-style: none;
	margin-bottom: 16px;
}
.woocommerce-info { border-left-color: var(--bt-secondary) !important; }
.woocommerce-error { border-left-color: var(--bt-primary) !important; }
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before { color: inherit !important; }

/* ==========================================================
   SINGLE PRODUCT — design overhaul
   ========================================================== */

.single-product .woocommerce { font-family: 'Poppins', sans-serif; }

/* Reset WC layout floats so our grid works */
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.summary {
	width: 100% !important;
	float: none !important;
	margin: 0;
}

.single-product div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	max-width: 1200px;
	margin: 32px auto 0;
}

/* Gallery */
.single-product .woocommerce-product-gallery {
	position: relative;
}
.single-product .woocommerce-product-gallery__image {
	background: var(--bt-light-bg);
	border-radius: var(--bt-radius-lg);
	overflow: hidden;
}
.single-product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 9;
	width: 42px;
	height: 42px;
	background: var(--bt-white);
	border-radius: 50%;
	box-shadow: var(--bt-shadow-md);
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-product .flex-control-thumbs {
	display: flex;
	gap: 12px;
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}
.single-product .flex-control-thumbs li { width: 90px; margin: 0; }
.single-product .flex-control-thumbs img {
	width: 100%;
	border-radius: var(--bt-radius-md);
	background: var(--bt-light-bg);
	border: 2px solid transparent;
	cursor: pointer;
	opacity: 0.6;
	transition: all var(--bt-trans);
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--bt-primary);
}

/* Onsale badge */
.single-product .onsale {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 9;
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 6px 14px !important;
	border-radius: var(--bt-radius-full) !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.2 !important;
	box-shadow: var(--bt-shadow-md);
	margin: 0 !important;
}

/* Summary card */
.single-product div.summary {
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-lg);
	padding: 32px;
	box-shadow: var(--bt-shadow-md);
}

.product-category-badge {
	margin-bottom: 8px;
}
.product-category-badge a {
	display: inline-block;
	background: rgba(245, 166, 35, 0.12);
	color: var(--bt-secondary);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 5px 14px;
	border-radius: var(--bt-radius-full);
	text-decoration: none;
	transition: all var(--bt-trans);
}
.product-category-badge a:hover { background: var(--bt-secondary); color: var(--bt-white); }
.product-category-badge .sep { display: none; }

.single-product .product_title {
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--bt-dark) !important;
	line-height: 1.25 !important;
	margin: 0 0 8px !important;
}

.single-product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}
.single-product .star-rating {
	color: var(--bt-rating);
	font-size: 14px;
}
.single-product .star-rating::before {
	color: var(--bt-rating);
	opacity: 0.3;
}
.single-product .woocommerce-review-link {
	font-size: 13px;
	color: var(--bt-body);
}

.single-product .summary .price {
	font-size: 28px !important;
	color: var(--bt-primary) !important;
	font-weight: 700 !important;
	margin: 0 0 16px !important;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--bt-border);
	display: block;
}
.single-product .summary .price del {
	color: var(--bt-body) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	margin-right: 10px;
	opacity: 0.7;
}
.single-product .summary .price ins {
	background: transparent !important;
	text-decoration: none !important;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--bt-body);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 16px;
}

.single-product .stock {
	font-size: 14px;
	font-weight: 600;
}
.single-product .stock.in-stock { color: var(--bt-success); }
.single-product .stock.out-of-stock { color: var(--bt-primary); }

/* Add to cart form */
.single-product form.cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 0 0 16px !important;
}

/* Variations table */
.single-product form.cart table.variations {
	width: 100%;
	border: 0;
	margin-bottom: 8px;
}
.single-product form.cart table.variations th,
.single-product form.cart table.variations td {
	border: 0;
	padding: 6px 0;
	font-size: 14px;
	text-align: left;
	background: transparent;
}
.single-product form.cart table.variations select {
	width: 100%;
	padding: 10px 14px !important;
	border: 1px solid var(--bt-border) !important;
	border-radius: var(--bt-radius-sm) !important;
}

/* Quantity stepper */
.single-product .quantity {
	display: inline-flex !important;
	align-items: center;
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-full);
	overflow: hidden;
	background: var(--bt-white);
}
.single-product .quantity:has(> input.qty[type="hidden"]) { display: none !important; }
.single-product .quantity .qty-btn {
	width: 42px;
	height: 48px;
	background: transparent;
	border: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--bt-dark);
	cursor: pointer;
	transition: all var(--bt-trans);
	line-height: 1;
}
.single-product .quantity .qty-btn:hover {
	background: var(--bt-primary);
	color: var(--bt-white);
}
.single-product .quantity input.qty {
	width: 54px !important;
	height: 48px !important;
	border: 0 !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--bt-dark) !important;
	outline: none;
	box-shadow: none !important;
	padding: 0 !important;
	background: transparent !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
.single-product .quantity input.qty::-webkit-outer-spin-button,
.single-product .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Add to cart button */
.single-product .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	border: 2px solid var(--bt-primary) !important;
	padding: 14px 28px !important;
	border-radius: var(--bt-radius-full) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	transition: all var(--bt-trans);
}
.single-product .single_add_to_cart_button:hover {
	background: var(--bt-primary-dark) !important;
	border-color: var(--bt-primary-dark) !important;
	transform: translateY(-1px);
	box-shadow: var(--bt-shadow-md);
}

/* Trust badges */
.product-trust-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-bottom: 16px;
	padding: 16px;
	background: var(--bt-light-bg);
	border-radius: var(--bt-radius-md);
}
.product-trust-badges .trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}
.product-trust-badges .trust-badge i {
	width: 38px;
	height: 38px;
	background: rgba(230, 57, 70, 0.1);
	color: var(--bt-primary);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
}
.product-trust-badges .trust-badge span {
	font-size: 12px;
	font-weight: 600;
	color: var(--bt-dark);
}

/* Product meta */
.single-product .product_meta {
	padding-top: 16px;
	margin-top: 8px;
	border-top: 1px dashed var(--bt-border);
	font-size: 13px;
	color: var(--bt-body);
}
.single-product .product_meta > span {
	display: block;
	margin-bottom: 4px;
}
.single-product .product_meta a {
	color: var(--bt-primary);
	font-weight: 500;
	text-decoration: none;
}

/* Tabs */
.woocommerce-tabs {
	max-width: 1200px;
	margin: 48px auto 0;
	background: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: var(--bt-radius-lg);
	padding: 32px;
	box-shadow: var(--bt-shadow-sm);
}
.woocommerce-tabs ul.tabs {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	border-bottom: 2px solid var(--bt-border) !important;
	display: flex !important;
	gap: 32px;
	flex-wrap: wrap;
}
.woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 12px 0 !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	color: var(--bt-body) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border-bottom: 2px solid transparent !important;
	margin-bottom: -2px;
	transition: all var(--bt-trans);
	text-shadow: none !important;
	background: transparent !important;
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--bt-primary) !important;
	border-bottom-color: var(--bt-primary) !important;
}
.woocommerce-tabs .panel > h2:first-of-type { display: none; }
.woocommerce-tabs .panel {
	color: var(--bt-body);
	font-size: 15px;
	line-height: 1.8;
}

/* Reviews */
#reviews ol.commentlist {
	list-style: none !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
}
#reviews ol.commentlist li { margin-bottom: 16px !important; padding: 0 !important; }
#reviews ol.commentlist li .comment_container {
	display: flex;
	gap: 16px;
	background: var(--bt-light-bg);
	border-radius: var(--bt-radius-md);
	border: 0 !important;
	padding: 16px;
}
#reviews ol.commentlist li img.avatar {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50%;
	flex-shrink: 0;
	position: relative !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
#reviews .comment-text {
	flex: 1;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Related products */
.related.products,
.up-sells.products {
	max-width: 1200px;
	margin: 48px auto 0;
}
.related.products > h2,
.up-sells.products > h2 {
	font-size: 24px;
	font-weight: 700;
	color: var(--bt-dark);
	text-align: center;
	margin-bottom: 32px;
	padding-bottom: 16px;
	position: relative;
}
.related.products > h2::after,
.up-sells.products > h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: var(--bt-primary);
	border-radius: var(--bt-radius-full);
}

/* Related product cards */
.related ul.products li.product .button,
.up-sells ul.products li.product .button {
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	border-color: var(--bt-primary) !important;
	border-radius: var(--bt-radius-sm) !important;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 12px !important;
	padding: 8px 16px !important;
}
.related ul.products li.product .price,
.up-sells ul.products li.product .price {
	color: var(--bt-primary) !important;
	font-weight: 700 !important;
}

/* ==========================================================
   SHOP / archive
   ========================================================== */

.woocommerce ul.products li.product .button {
	background: var(--bt-primary) !important;
	color: var(--bt-white) !important;
	border-radius: var(--bt-radius-sm) !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	letter-spacing: 0.5px !important;
}
.woocommerce ul.products li.product .price {
	color: var(--bt-primary) !important;
	font-weight: 700 !important;
}
.woocommerce ul.products li.product .price del {
	color: var(--bt-body) !important;
	font-weight: 400 !important;
}

/* ==========================================================
   CART / CHECKOUT — quick polish so they match
   ========================================================== */

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	color: var(--bt-dark);
	font-weight: 700;
}
.woocommerce-cart-form .quantity input.qty {
	padding: 8px 6px !important;
	border: 1px solid var(--bt-border) !important;
	border-radius: var(--bt-radius-sm) !important;
}
.woocommerce-cart .actions .coupon input.input-text {
	padding: 10px 14px !important;
}

/* ==========================================================
   LOGIN / SIGNUP MODAL
   ========================================================== */

.blentree-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	font-family: 'Poppins', sans-serif;
}
.blentree-modal.is-open {
	display: flex;
	animation: btModalFade 0.25s ease;
}
@keyframes btModalFade {
	from { opacity: 0; }
	to { opacity: 1; }
}

.blentree-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 15, 15, 0.6);
	backdrop-filter: blur(4px);
	cursor: pointer;
}

.blentree-modal-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 440px;
	background: var(--bt-white);
	border-radius: 20px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	animation: btModalIn 0.3s cubic-bezier(.2,.9,.3,1.1);
}
@keyframes btModalIn {
	from { transform: translateY(20px) scale(0.96); opacity: 0; }
	to { transform: translateY(0) scale(1); opacity: 1; }
}

.blentree-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border: 0;
	background: var(--bt-light-bg);
	color: var(--bt-dark);
	border-radius: 50%;
	cursor: pointer;
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all var(--bt-trans);
	z-index: 2;
	padding: 0;
}
.blentree-modal-close:hover {
	background: var(--bt-primary);
	color: var(--bt-white);
	transform: rotate(90deg);
}

.blentree-modal-header {
	padding: 32px 32px 16px;
	text-align: center;
}
.blentree-modal-header h2 {
	font-size: 24px;
	font-weight: 700;
	color: var(--bt-dark);
	margin: 0 0 6px;
	line-height: 1.25;
}
.blentree-modal-header p {
	color: var(--bt-body);
	font-size: 14px;
	margin: 0;
}

.blentree-modal-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin: 0 32px 16px;
	padding: 4px;
	background: var(--bt-light-bg);
	border-radius: 12px;
}
.blentree-modal-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 14px;
	background: transparent;
	border: 0;
	border-radius: 8px;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-body);
	cursor: pointer;
	transition: all var(--bt-trans);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.blentree-modal-tab i { font-size: 12px; }
.blentree-modal-tab.is-active {
	background: var(--bt-white);
	color: var(--bt-primary);
	box-shadow: var(--bt-shadow-sm);
}

.blentree-modal-body {
	padding: 8px 32px 32px;
}
.blentree-modal-panel { display: none; }
.blentree-modal-panel.is-active { display: block; }

.blentree-modal .form-row {
	display: block;
	margin-bottom: 14px;
}
.blentree-modal .form-row label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--bt-dark);
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.blentree-modal .form-row .input-text {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--bt-border);
	border-radius: 10px;
	font-size: 14px;
	font-family: 'Poppins', sans-serif;
	color: var(--bt-dark);
	background: var(--bt-white);
	outline: none;
	transition: border-color var(--bt-trans), box-shadow var(--bt-trans);
}
.blentree-modal .form-row .input-text:focus {
	border-color: var(--bt-primary);
	box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.12);
}
.blentree-modal .form-row .required { color: var(--bt-primary); }

.blentree-modal .auth-row-split {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.blentree-modal .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--bt-body);
	margin: 0;
	cursor: pointer;
}
.blentree-modal .woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 14px;
	height: 14px;
	accent-color: var(--bt-primary);
}
.blentree-modal .auth-lost-password {
	font-size: 13px;
	color: var(--bt-primary);
	font-weight: 500;
	text-decoration: none;
}
.blentree-modal .auth-lost-password:hover { text-decoration: underline; }

.blentree-modal button.woocommerce-form-login__submit,
.blentree-modal button.woocommerce-form-register__submit,
.blentree-modal button.button {
	width: 100%;
	background: var(--bt-primary);
	color: var(--bt-white);
	border: 0;
	padding: 14px;
	border-radius: 10px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all var(--bt-trans);
	margin-top: 8px;
}
.blentree-modal button.woocommerce-form-login__submit:hover,
.blentree-modal button.woocommerce-form-register__submit:hover,
.blentree-modal button.button:hover {
	background: var(--bt-primary-dark);
	transform: translateY(-1px);
	box-shadow: var(--bt-shadow-md);
}
.blentree-modal button.woocommerce-form-register__submit {
	background: var(--bt-secondary);
}
.blentree-modal button.woocommerce-form-register__submit:hover {
	background: #d6911e;
}

.blentree-modal .auth-note {
	font-size: 13px;
	color: var(--bt-body);
	background: var(--bt-light-bg);
	padding: 10px 14px;
	border-radius: 8px;
	margin-bottom: 12px;
}

/* Body scroll-lock while modal is open */
body.blentree-modal-open {
	overflow: hidden !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 992px) {
	.single-product div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 1fr !important;
	}
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation,
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
	.woocommerce-MyAccount-navigation { position: static; }
	.bt-account-auth.has-register .bt-account-auth-cards {
		grid-template-columns: 1fr;
		max-width: 480px;
	}
	.bt-dashboard-stats { grid-template-columns: 1fr 1fr; }
	.bt-dashboard-actions { grid-template-columns: 1fr 1fr; }
	.bt-dashboard-welcome { grid-template-columns: auto 1fr; }
	.bt-dashboard-welcome .bt-dashboard-shop-btn { grid-column: 1 / -1; justify-self: start; }
	.bt-order-row {
		grid-template-columns: 1fr auto;
		gap: 8px;
	}
	.bt-order-status { grid-column: 1; grid-row: 2; }
	.bt-order-items { grid-column: 1; grid-row: 3; }
	.bt-order-total { grid-column: 2; grid-row: 1 / 4; align-self: center; }
	.bt-order-arrow { grid-column: 2; grid-row: 4; display: none; }
}

@media (max-width: 600px) {
	.bt-dashboard { margin: -20px; padding: 20px; gap: 16px; }
	.bt-dashboard-welcome { grid-template-columns: auto 1fr; padding: 18px; gap: 14px; }
	.bt-dashboard-welcome-text h2 { font-size: 18px !important; }
	.bt-dashboard-avatar { width: 52px; height: 52px; font-size: 20px; }
	.bt-dashboard-stats { grid-template-columns: 1fr; }
	.bt-dashboard-actions { grid-template-columns: 1fr 1fr; gap: 10px; }
	.bt-action-card { padding: 14px; }
	.bt-stat { padding: 14px; }
	.bt-stat-value { font-size: 18px; }
	.bt-stat-value .woocommerce-Price-amount { font-size: 18px; }
	.bt-auth-card { padding: 24px; }

	.blentree-modal-header { padding: 24px 20px 12px; }
	.blentree-modal-header h2 { font-size: 20px; }
	.blentree-modal-tabs { margin: 0 20px 12px; }
	.blentree-modal-body { padding: 8px 20px 24px; }
	.blentree-modal-dialog { max-width: 100%; }

	.single-product div.summary { padding: 20px; }
	.single-product .product_title { font-size: 22px !important; }
	.single-product .summary .price { font-size: 22px !important; }
	.product-trust-badges { grid-template-columns: 1fr; }
	.product-trust-badges .trust-badge {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
	}
	.single-product form.cart .quantity { width: 100%; justify-content: space-between; }
	.single-product .single_add_to_cart_button { width: 100%; flex: none; }
	.woocommerce-tabs { padding: 16px; }
	.woocommerce-tabs ul.tabs { gap: 12px; }
	.woocommerce-MyAccount-content { padding: 20px; }
	.woocommerce-Addresses { grid-template-columns: 1fr; }
	.blentree-account-dropdown {
		right: 0;
		left: auto;
		width: 220px;
	}
}
