/* ==========================================================================
   Batte — WooCommerce styles (replaces WooCommerce's own stylesheet)
   ========================================================================== */

.bt-shop-main { max-width: var(--max); margin: 0 auto; padding: 20px var(--gutter) 64px; }
@media (min-width: 900px) { .bt-shop-main { padding-top: 32px; } }

.bt-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: var(--t-xs); color: var(--muted); margin-bottom: 16px; }
.bt-crumbs a { text-decoration: none; }
.bt-crumbs a:hover { color: var(--brand); }
.bt-crumb-sep { opacity: .5; }

/* ---------- Shop header + layout (Marketplace) ---------- */
.bt-shop-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 20px; margin-bottom: 16px; }
.bt-shop-head__title { margin: 0; font-size: var(--t-2xl); }
.bt-shop-head__count { margin: 2px 0 0; color: var(--muted); font-size: var(--t-sm); }
.bt-shop-head__sort { display: none; }
.term-description, .page-description { max-width: 70ch; color: var(--muted); margin-bottom: 16px; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select, .bt-select {
	height: 42px; padding: 0 38px 0 14px; border: 1.5px solid #D6D6D6; border-radius: 8px;
	background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2316204A' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;
	-webkit-appearance: none; appearance: none; font-size: var(--t-sm); font-weight: 600;
}
.bt-shop-bar { position: sticky; top: calc(var(--header-h) + 45px); z-index: 30; display: flex; gap: 10px; align-items: center; justify-content: space-between; margin: 0 calc(var(--gutter) * -1) 16px; padding: 10px var(--gutter); background: var(--paper); border-bottom: 1px solid var(--line); }
.bt-shop-bar .bt-btn { position: relative; }
.bt-shop-bar__sort select { max-width: 52vw; }
.bt-badge-count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--brand); color: #fff; font-size: 11px; line-height: 20px; }
.bt-shop { display: block; }
.bt-results { min-width: 0; }

/* Filters: drawer on phones, sidebar on desktop */
.bt-filters { position: fixed; top: 0; bottom: 0; left: 0; z-index: 100; width: min(380px, 90vw); display: flex; flex-direction: column; background: var(--paper); transform: translateX(-102%); visibility: hidden; transition: transform .32s var(--ease); }
.bt-filters.is-open { transform: none; visibility: visible; }
.bt-filters__head { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 0 8px 0 var(--gutter); border-bottom: 1px solid var(--line); }
.bt-filters__head h2 { margin: 0; font-size: var(--t-lg); }
.bt-filters__body { flex: 1; overflow-y: auto; padding: 4px var(--gutter) 20px; }
.bt-filters__foot { display: block !important; padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
.bt-fgroup { padding: 16px 0; border-bottom: 1px solid #F0F0F0; }
.bt-fgroup:last-of-type { border-bottom: 0; }
.bt-fgroup__title { margin: 0 0 12px; font-size: var(--t-sm); font-weight: 800; }
.bt-fcats { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bt-fcats a { display: flex; align-items: center; gap: 10px; min-height: 40px; text-decoration: none; font-size: var(--t-sm); font-weight: 600; }
@media (hover: hover) { .bt-fcats a:hover { color: var(--brand); } }
.bt-fradio { width: 18px; height: 18px; flex: none; border: 1.5px solid #9A9A9A; border-radius: 50%; }
.bt-fcats a.is-active { color: var(--brand); }
.bt-fcats a.is-active .bt-fradio { border-color: var(--brand); box-shadow: inset 0 0 0 4px #fff; background: var(--brand); }
.bt-fcount { color: #8A8A8A; font-weight: 500; }
.bt-fpills { display: flex; flex-wrap: wrap; gap: 8px; }
.bt-fpill { display: grid; place-items: center; min-width: 50px; height: 42px; padding: 0 12px; border: 1.5px solid #CFCFCF; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: var(--t-sm); }
.bt-fpill:hover { border-color: var(--ink); }
.bt-fpill.is-active { background: var(--brand); border-color: var(--brand); color: #fff; }
.bt-fswatch { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px 0 8px; border: 1.5px solid #CFCFCF; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: var(--t-sm); }
.bt-fswatch span { width: 24px; height: 24px; border-radius: 5px; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }
.bt-fswatch.is-active { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.bt-fprice { display: flex; align-items: center; gap: 8px; }
.bt-fprice label { flex: 1; min-width: 0; }
.bt-fprice input { width: 100%; height: 42px; padding: 0 10px; border: 1.5px solid #CFCFCF; border-radius: 8px; font-size: var(--t-sm); -moz-appearance: textfield; }
.bt-fprice input::-webkit-inner-spin-button { -webkit-appearance: none; }
.bt-fclear { font-weight: 700; color: var(--brand); font-size: var(--t-sm); }

@media (min-width: 1024px) {
	.bt-shop-head__sort { display: block; }
	.bt-shop-bar { display: none; }
	.bt-shop { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 32px; align-items: start; }
	.bt-filters { position: static; z-index: 1; width: auto; transform: none; visibility: visible; transition: none; border: 1px solid var(--line); border-radius: var(--r-md); }
	.bt-filters__head { min-height: 52px; padding: 0 16px; }
	.bt-filters__body { padding: 0 16px 12px; }
	.bt-filters__foot { display: none !important; }
}

/* ---------- Product grid + cards ---------- */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 700px) { ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1100px) { ul.products.bt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .bt-results ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
ul.products::before, ul.products::after { display: none; }

.bt-card { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--paper); transition: box-shadow .2s; }
@media (hover: hover) { .bt-card:hover { box-shadow: var(--shadow); } }
.bt-card__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ivory); }
.bt-card__img { display: block; width: 100%; height: 100%; }
.bt-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .6s var(--ease); }
.bt-card__alt { opacity: 0; }
@media (hover: hover) { .bt-card:hover .bt-card__alt { opacity: 1; } }
.bt-ribbon { position: absolute; top: 0; left: 0; padding: 5px 14px 5px 10px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 800; clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); }
.bt-ribbon--muted { background: #555; }
.bt-wish { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.08); -webkit-tap-highlight-color: transparent; }
.bt-wish .bt-icon { width: 19px; height: 19px; transition: transform .2s; }
.bt-wish[aria-pressed="true"] { color: var(--brand); }
.bt-wish[aria-pressed="true"] .bt-icon { fill: currentColor; animation: bt-bump .4s var(--ease); }
.bt-card__colours { position: absolute; left: 8px; bottom: 8px; display: flex; gap: 4px; padding: 4px 6px; border-radius: 10px; background: rgba(255,255,255,.92); }
.bt-card__colours i { width: 12px; height: 12px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.bt-card__body { display: flex; flex-direction: column; gap: 4px; padding: 10px 10px 12px; flex: 1; }
.bt-card__cat { align-self: flex-start; padding: 2px 8px; border-radius: 4px; background: var(--cotton); color: var(--brand); font-size: 11px; font-weight: 700; }
.bt-card__title { margin: 2px 0 0; font-size: var(--t-sm); font-weight: 700; line-height: 1.3; }
.bt-card__title a { text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bt-card__rating { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.bt-rate-chip { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px; border-radius: 10px; background: #1E7A3E; color: #fff; font-weight: 800; }
.bt-rate-chip .bt-icon { width: 11px; height: 11px; fill: currentColor; stroke: none; }
.bt-card__reviews { color: var(--muted); font-weight: 600; }
.bt-card__newchip { align-self: flex-start; font-size: 11px; font-weight: 700; color: var(--muted); }
.bt-card__price, .price { font-size: var(--t-lg); font-weight: 800; color: var(--ink); }
.price del { color: #8A8A8A; font-weight: 500; font-size: .85em; margin-right: 4px; }
.price ins { text-decoration: none; }
.bt-card__ship { font-size: 12px; color: var(--ink); }
.bt-card__cod { font-size: 12px; font-weight: 700; color: var(--ok); }
.bt-card__add { margin-top: auto; min-height: 42px; font-size: var(--t-sm); }
.bt-card__body .bt-card__add { margin-top: 8px; }
@media (min-width: 700px) { .bt-card__body { padding: 12px 14px 14px; gap: 5px; } .bt-card__title { font-size: var(--t-md); } }

.woocommerce-pagination ul { list-style: none; display: flex; justify-content: center; gap: 6px; margin: 40px 0 0; padding: 0; flex-wrap: wrap; }
.woocommerce-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1.5px solid #DADADA; border-radius: 8px; text-decoration: none; font-weight: 700; }
.woocommerce-pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.woocommerce-pagination .prev .bt-icon { transform: rotate(180deg); }

/* ---------- Single product ---------- */
.single-product .bt-shop-main { padding-top: 12px; }
div.product { position: relative; }
div.product > .woocommerce-product-gallery, div.product > .summary, .bt-gallery-wrap { min-width: 0; }
.bt-gallery-wrap { position: relative; }
.bt-wish--gallery { top: 12px; right: 12px; z-index: 6; width: 44px; height: 44px; }
.bt-wish--gallery .bt-icon { width: 22px; height: 22px; }
.bt-gallery-wrap .woocommerce-product-gallery__trigger { right: auto; left: 12px; }
.bt-wish-inline { display: inline-flex; align-items: center; gap: 8px; margin: 2px 0 18px; padding: 8px 0; border: 0; background: none; color: var(--ink); font: inherit; font-size: var(--t-sm); font-weight: 600; cursor: pointer; }
.bt-wish-inline .bt-icon { width: 20px; height: 20px; }
.bt-wish-inline[aria-pressed="true"] { color: var(--brand); }
.bt-wish-inline[aria-pressed="true"] .bt-icon { fill: currentColor; animation: bt-bump .4s var(--ease); }
@media (min-width: 900px) {
	div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 0 56px; align-items: start; }
	div.product > .woocommerce-product-gallery, div.product > .bt-gallery-wrap { grid-column: 1; grid-row: 1; }
	div.product > .summary { grid-column: 2; grid-row: 1; }
	div.product > .bt-reviews, div.product > .related, div.product > .upsells,
	div.product > .bt-details, div.product > .bt-prow, div.product > .bt-recent { grid-column: 1 / -1; }
}

.woocommerce-product-gallery { position: relative; margin: 0 calc(var(--gutter) * -1) 20px; }
@media (min-width: 900px) { .woocommerce-product-gallery { margin: 0; } }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--cotton); }
@media (min-width: 900px) { .woocommerce-product-gallery__image img { border-radius: var(--r-sm); } }
.woocommerce-product-gallery__trigger {
	position: absolute; top: 12px; right: 12px; z-index: 5; width: 40px; height: 40px; border-radius: 50%;
	background: var(--paper); display: grid; place-items: center; text-indent: -9999px; overflow: hidden;
}
.woocommerce-product-gallery__trigger::before {
	content: ""; width: 16px; height: 16px; border: 2px solid var(--ink); border-radius: 50%; text-indent: 0;
	box-shadow: 6px 6px 0 -4px var(--ink);
}
.flex-control-thumbs { display: flex; gap: 8px; list-style: none; margin: 10px 0 0; padding: 0 var(--gutter); overflow-x: auto; scrollbar-width: none; }
@media (min-width: 900px) { .flex-control-thumbs { padding: 0; } }
.flex-control-thumbs li { flex: 0 0 64px; }
.flex-control-thumbs img { width: 64px; height: 80px; object-fit: cover; border-radius: var(--r-sm); opacity: .55; cursor: pointer; transition: opacity .2s; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; outline: 2px solid var(--brand); outline-offset: -2px; }

.summary .product_title { font-weight: 800; font-size: var(--t-2xl); line-height: 1.1; margin-bottom: 10px; }
.summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: var(--t-sm); }
.summary > .price { font-size: var(--t-xl); font-weight: 700; margin: 0; }
.bt-save { display: inline-block; margin: 6px 0 0; padding: 2px 8px; border-radius: var(--r-sm); background: rgba(18, 26, 62, .08); color: var(--brand); font-size: var(--t-xs); font-weight: 700; }
.bt-tax-note { font-size: var(--t-xs); color: var(--muted); margin: 6px 0 16px; }
.woocommerce-product-details__short-description { color: var(--muted); margin-bottom: 18px; }
.bt-size-guide-btn { float: right; margin-top: -4px; }

/* Variations: the selects are replaced by pills via JS; keep them for accessibility fallback. */
table.variations { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
table.variations tr { display: block; margin-bottom: 16px; }
table.variations th, table.variations td { display: block; padding: 0; text-align: left; }
table.variations th label { display: block; font-size: var(--t-sm); font-weight: 600; margin-bottom: 8px; }
table.variations th label .bt-picked { color: var(--muted); font-weight: 400; }
table.variations select { width: 100%; height: 48px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); }
table.variations.bt-has-pills select { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.reset_variations { display: inline-block; margin-top: 8px; font-size: var(--t-xs); color: var(--muted); }
.single_variation_wrap .woocommerce-variation-price { margin-bottom: 10px; font-size: var(--t-lg); font-weight: 700; }
.woocommerce-variation-availability .stock { font-size: var(--t-sm); }
.stock.out-of-stock { color: var(--err); font-weight: 600; }
.stock.in-stock { color: var(--ok); }

form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
form.cart.variations_form { display: block; }
.woocommerce-variation-add-to-cart { display: flex; gap: 10px; }
.quantity { display: inline-flex; }
.quantity .qty {
	width: 64px; height: 52px; text-align: center; border: 1.5px solid var(--line); border-radius: var(--r-sm);
	background: var(--paper); font-weight: 600; -moz-appearance: textfield;
}
.quantity .qty::-webkit-inner-spin-button, .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.single_add_to_cart_button, .woocommerce button.button.alt, .woocommerce a.button.alt, .button.alt, .checkout-button, #place_order {
	flex: 1; min-height: 52px; padding: 0 24px; border: 0; border-radius: var(--r-sm);
	background: var(--brand); color: #fff; font-size: var(--t-md); font-weight: 700; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: background .2s;
}
.single_add_to_cart_button:hover, .button.alt:hover, .checkout-button:hover, #place_order:hover { background: var(--brand-soft); }
.single_add_to_cart_button.disabled { opacity: .5; }
.single_add_to_cart_button.is-loading { opacity: .7; pointer-events: none; }

.woocommerce a.button, .woocommerce button.button, .button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
	border: 1.5px solid var(--ink); border-radius: var(--r-sm); background: var(--paper); color: var(--ink);
	font-weight: 600; font-size: var(--t-sm); text-decoration: none; cursor: pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .button:hover { background: var(--ink); color: var(--paper); }

.bt-trust { list-style: none; margin: 4px 0 20px; padding: 14px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bt-trust li { display: grid; justify-items: center; gap: 6px; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.3; }
.bt-trust .bt-icon { color: var(--accent); }

/* Product details — one tidy list of sections, full width under the photos */
.bt-details { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.bt-details__title { margin: 0 0 6px; font-size: var(--t-2xl); font-weight: 800; }
.bt-accordion { max-width: 820px; }
.bt-acc { border-bottom: 1px solid var(--line); }
.bt-acc summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 10px 0;
	list-style: none; cursor: pointer; font-weight: 700; font-size: var(--t-md);
}
.bt-acc summary::-webkit-details-marker { display: none; }
.bt-acc summary > span { min-width: 0; }
.bt-acc__ic { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--cotton); color: var(--ink); }
.bt-acc__ic .bt-icon { width: 18px; height: 18px; transition: transform .25s var(--ease); }
.bt-acc[open] .bt-acc__ic .bt-icon { transform: rotate(180deg); }
.bt-acc summary:hover .bt-acc__ic { background: #EAE8E2; }
.bt-acc__body { padding: 0 0 22px; color: var(--muted); font-size: var(--t-sm); line-height: 1.65; }
.bt-acc__body > *:first-child { margin-top: 0; }
.bt-acc__body p { margin: 0 0 12px; }
.bt-acc__body p:last-child, .bt-acc__body ul:last-child, .bt-acc__body dl:last-child { margin-bottom: 0; }
.bt-acc__body ul, .bt-acc__body ol { margin: 0 0 12px; padding-left: 20px; }
.bt-acc__body li { margin-bottom: 6px; }
.bt-acc__body strong, .bt-acc__body b { color: var(--ink); }
.bt-acc__body table { width: 100%; border-collapse: collapse; }
.bt-acc__body th, .bt-acc__body td { padding: 10px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.bt-acc__body th { width: 38%; color: var(--ink); font-weight: 700; }
.bt-sku { margin-top: 16px; font-size: var(--t-xs); color: var(--muted); }

.bt-sticky-atc {
	position: fixed; left: 0; right: 0; z-index: 58;
	bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom));
	display: flex; align-items: center; gap: 12px; padding: 10px var(--gutter);
	background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 -10px 24px -16px rgba(12, 17, 40, .5);
	transform: translateY(110%); transition: transform .3s var(--ease);
}
.bt-sticky-atc.is-on { transform: none; }
.bt-sticky-atc__info { flex: 1; min-width: 0; display: grid; }
.bt-sticky-atc__title { font-size: var(--t-sm); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-sticky-atc__price { font-size: var(--t-sm); }
.bt-sticky-atc__price del { color: var(--muted); }
.bt-sticky-atc__price ins { text-decoration: none; }
@media (min-width: 1024px) { .bt-sticky-atc { display: none !important; } }

/* Reviews + related */
.bt-reviews { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
.woocommerce-Reviews-title, .related > h2, .upsells > h2, .cross-sells > h2 { font-weight: 800; font-size: var(--t-2xl); margin-bottom: 20px; }
.related, .upsells { margin-top: 56px; }
.commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.commentlist .comment_container { display: flex; gap: 14px; padding: 16px; border-radius: var(--r-md); background: var(--paper); }
.commentlist img.avatar { width: 44px; height: 44px; border-radius: 50%; }
.commentlist .comment-text { flex: 1; }
.commentlist .meta { font-size: var(--t-sm); color: var(--muted); }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; font-size: 1rem; line-height: 1; overflow: hidden; }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: var(--line); letter-spacing: .08em; }
.star-rating span { position: absolute; inset: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--accent); letter-spacing: .08em; }
p.stars a { position: relative; display: inline-block; width: 1.4em; text-indent: -999em; color: var(--accent); text-decoration: none; }
p.stars a::before { content: "☆"; position: absolute; left: 0; top: 0; text-indent: 0; font-size: 1.4em; }
p.stars:hover a::before, p.stars.selected a.active::before, p.stars.selected a:not(.active)::before { content: "★"; }
p.stars.selected a.active ~ a::before, p.stars a:hover ~ a::before { content: "☆"; }
#review_form textarea, #review_form input[type=text], #review_form input[type=email] { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); }
#review_form .submit { min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--r-sm); background: var(--brand); color: #fff; font-weight: 600; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
	margin: 0 0 20px; padding: 14px 16px; border-radius: var(--r-md); border-left: 4px solid var(--accent);
	background: var(--paper); font-size: var(--t-sm);
}
.woocommerce-error { border-left-color: var(--err); display: block; }
.woocommerce-error li { margin: 2px 0; }
.woocommerce-message { border-left-color: var(--ok); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; min-height: 36px; }

/* ---------- Cart page (classic) ---------- */
.woocommerce-cart-form { margin-bottom: 32px; }
table.shop_table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); background: var(--paper); border-radius: var(--r-md); overflow: hidden; }
table.shop_table th, table.shop_table td { padding: 14px 12px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
table.shop_table thead th { background: var(--cotton); font-weight: 600; }
table.shop_table img { width: 64px; height: 80px; object-fit: cover; border-radius: var(--r-sm); }
table.shop_table .product-remove a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--err) !important; text-decoration: none; font-size: 1.4rem; }
table.shop_table .product-name a { font-weight: 600; text-decoration: none; }
table.shop_table td.actions { background: var(--ivory); }
.coupon { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.coupon input, .woocommerce-form-coupon input { height: 44px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); }
.coupon label { display: none; }

@media (max-width: 767px) {
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: grid; grid-template-columns: 72px 1fr; gap: 0 12px; padding: 12px; border-bottom: 1px solid var(--line); position: relative; }
	table.shop_table_responsive td { border: 0; padding: 3px 0; display: flex; justify-content: space-between; gap: 8px; }
	table.shop_table_responsive td::before { content: attr(data-title); color: var(--muted); }
	table.shop_table_responsive td.product-thumbnail { grid-row: 1 / span 4; padding: 0; }
	table.shop_table_responsive td.product-thumbnail::before, table.shop_table_responsive td.product-remove::before, table.shop_table_responsive td.product-name::before, table.shop_table_responsive td.actions::before { display: none; }
	table.shop_table_responsive td.product-remove { position: absolute; top: 8px; right: 8px; padding: 0; }
	table.shop_table_responsive td.product-name { padding-right: 36px; }
	table.shop_table_responsive td.actions { grid-column: 1 / -1; display: block; padding: 12px 0 0; }
	table.shop_table_responsive td.actions .button { width: 100%; }
	/* My Account orders: one card per order, label left, value right */
	table.woocommerce-orders-table tr { display: block; margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
	table.woocommerce-orders-table th, table.woocommerce-orders-table td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 0; border: 0; text-align: right; }
	table.woocommerce-orders-table th::before, table.woocommerce-orders-table td::before { content: attr(data-title); color: var(--muted); font-weight: 500; text-align: left; }
	table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { flex-wrap: wrap; justify-content: flex-end; padding-top: 10px; }
	table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { margin-right: auto; }
	table.shop_table_responsive.woocommerce-checkout-review-order-table tr, .cart_totals table.shop_table_responsive tr { grid-template-columns: 1fr auto; }
}

.cart-collaterals { display: grid; gap: 32px; }
@media (min-width: 900px) { .cart-collaterals { grid-template-columns: 1fr 420px; } .cart_totals { grid-column: 2; } }
.cart_totals { padding: 20px; border-radius: var(--r-md); background: var(--paper); }
.cart_totals h2 { font-weight: 800; font-size: var(--t-xl); }
.cart_totals table.shop_table { background: none; }
.cart_totals .order-total td { font-size: var(--t-lg); font-weight: 700; }
.wc-proceed-to-checkout .checkout-button { width: 100%; margin-top: 12px; }
#shipping_method { list-style: none; padding: 0; margin: 0; }

/* ---------- Checkout (classic) ---------- */
.woocommerce-checkout .bt-prose--wide { display: block; }
form.checkout { display: grid; gap: 28px; }
@media (min-width: 1000px) {
	form.checkout { grid-template-columns: minmax(0, 1fr) 440px; align-items: start; column-gap: 40px; row-gap: 12px; }
	form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
	form.checkout .bt-co-sum { grid-column: 2; grid-row: 2; }
	form.checkout #order_review { grid-column: 2; grid-row: 3; }
}
#customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, #order_review_heading, .woocommerce-additional-fields h3 { font-weight: 800; font-size: var(--t-xl); margin: 8px 0 14px; }
.form-row { display: grid; gap: 6px; margin: 0 0 14px; }
.form-row label { font-size: var(--t-sm); font-weight: 600; }
.form-row .required { color: var(--err); text-decoration: none; }
.form-row input.input-text, .form-row textarea, .form-row select, .select2-container .select2-selection--single {
	width: 100%; min-height: 50px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); font-size: 16px;
}
.form-row textarea { padding: 12px 14px; min-height: 100px; }
.form-row input.input-text:focus, .form-row textarea:focus, .form-row select:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(18, 26, 62, .12); }
.form-row.woocommerce-invalid input.input-text { border-color: var(--err); }
.select2-container .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
@media (min-width: 600px) {
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
	.form-row-wide, #billing_address_1_field, #shipping_address_1_field, #billing_address_2_field, #shipping_address_2_field, #billing_country_field, #shipping_country_field, #billing_email_field { grid-column: 1 / -1; }
}
#order_review { padding: 20px; border-radius: var(--r-md); background: var(--paper); }
.woocommerce-checkout-review-order-table { background: none !important; }
.woocommerce-checkout-review-order-table .order-total { font-size: var(--t-lg); }
#payment ul.payment_methods { list-style: none; margin: 16px 0; padding: 0; display: grid; gap: 8px; }
#payment li.wc_payment_method { padding: 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); }
#payment li.wc_payment_method:has(input:checked) { border-color: var(--brand); background: rgba(18, 26, 62, .03); }
#payment li.wc_payment_method > label { font-weight: 600; margin-left: 6px; }
#payment .payment_box { margin-top: 10px; font-size: var(--t-sm); color: var(--muted); }
#payment .payment_box p:last-child { margin: 0; }
#place_order { width: 100%; margin-top: 8px; }
.woocommerce-privacy-policy-text { font-size: var(--t-xs); color: var(--muted); }
.woocommerce-form-coupon-toggle .woocommerce-info { justify-content: flex-start; }

/* Order received */
.woocommerce-order-overview { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; padding: 0; margin: 20px 0 28px; }
.woocommerce-order-overview li { padding: 14px; border-radius: var(--r-md); background: var(--paper); font-size: var(--t-xs); color: var(--muted); }
.woocommerce-order-overview strong { display: block; margin-top: 4px; font-size: var(--t-md); color: var(--ink); }
.woocommerce-thankyou-order-received { font-family: var(--f-display); font-size: var(--t-xl); }
.bt-thanks-track { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; margin-bottom: 24px; border-radius: var(--r-md); background: var(--cotton); }
.bt-thanks-track p { margin: 0; font-weight: 500; }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 268px minmax(0, 1fr); align-items: start; gap: 32px; } }
/* Account menu: back link on phones, profile card + icon list on desktop */
.bt-acc-back { display: none; }
.woocommerce-MyAccount-navigation { display: none; min-width: 0; }
.bt-acc-me { display: none; }
@media (max-width: 899px) {
	body.bt-acc-sub .bt-acc-back { display: inline-flex; align-items: center; gap: 6px; justify-self: start; margin: -8px 0 -6px; padding: 6px 12px 6px 8px; border-radius: var(--r-pill); background: var(--cotton); color: var(--brand); font-size: var(--t-xs); font-weight: 700; text-decoration: none; }
	.bt-acc-back .bt-icon { width: 16px; height: 16px; transform: rotate(180deg); }
}
@media (min-width: 900px) {
	.woocommerce-MyAccount-navigation { display: block; position: sticky; top: calc(var(--header-h) + 20px); padding: 10px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); box-shadow: 0 10px 30px -18px rgba(22, 32, 74, .25); }
	.bt-acc-me { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding: 12px; border-radius: var(--r-md); background: linear-gradient(135deg, var(--brand), var(--brand-deep)); color: #fff; }
	.bt-acc-me__av { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--accent); color: var(--brand-deep); font-weight: 800; font-size: 1.1rem; }
	.bt-acc-me small { display: block; opacity: .75; font-size: 11px; }
	.bt-acc-me strong { display: block; font-size: var(--t-md); line-height: 1.2; }
	.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
	.woocommerce-MyAccount-navigation a { position: relative; display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: var(--r-sm); color: var(--ink); text-decoration: none; font-weight: 600; font-size: var(--t-sm); transition: background .15s; }
	.woocommerce-MyAccount-navigation a:hover { background: var(--ivory); }
	.woocommerce-MyAccount-navigation .bt-icon { width: 20px; height: 20px; color: var(--muted); }
	.woocommerce-MyAccount-navigation .is-active a { background: rgba(31, 45, 107, .07); color: var(--brand); }
	.woocommerce-MyAccount-navigation .is-active a::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--brand); }
	.woocommerce-MyAccount-navigation .is-active .bt-icon { color: var(--brand); }
	.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
	.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted); font-weight: 500; }
	.bt-acc-count { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--accent); color: var(--brand-deep); font-style: normal; font-size: 11px; font-weight: 800; line-height: 22px; text-align: center; }
}
body.bt-acc-dash .bt-page__head { display: none; }
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-form-login, .woocommerce-form-register { padding: 24px; border-radius: var(--r-md); background: var(--paper); }
.u-columns { display: grid; gap: 24px; }
@media (min-width: 900px) { .u-columns { grid-template-columns: 1fr 1fr; } }
.woocommerce-account .woocommerce:has(.u-columns), .woocommerce-account .woocommerce:has(.woocommerce-form-login) { grid-template-columns: minmax(0, 1fr); }
.woocommerce-Addresses { display: grid; gap: 20px; }
@media (min-width: 700px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address { padding: 20px; border-radius: var(--r-md); background: var(--paper); }
.woocommerce-orders-table__cell-order-actions .button { min-height: 36px; margin: 2px; }

/* ---------- Filters drawer widgets ---------- */
.bt-filter-block { padding: 16px 0; border-bottom: 1px solid var(--line); }
.bt-filter-block__title { font-size: var(--t-md); font-weight: 700; margin-bottom: 10px; }
.bt-filter-block ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.bt-filter-block a { text-decoration: none; }
.price_slider_wrapper .ui-slider { position: relative; height: 4px; margin: 16px 8px; background: var(--line); border-radius: 4px; }
.price_slider_wrapper .ui-slider-range { position: absolute; height: 100%; background: var(--brand); }
.price_slider_wrapper .ui-slider-handle { position: absolute; top: -8px; width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: var(--paper); border: 2px solid var(--brand); }
.price_slider_amount { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; font-size: var(--t-sm); }

/* ---------- Drawer cart items ---------- */
.bt-ship-progress { margin-bottom: 16px; padding: 12px; border-radius: var(--r-md); background: var(--ivory); font-size: var(--t-sm); }
.bt-ship-progress p { margin: 0 0 8px; font-weight: 500; }
.bt-ship-progress__bar { height: 6px; border-radius: 6px; background: var(--line); overflow: hidden; }
.bt-ship-progress__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--brand)); border-radius: 6px; transition: width .4s var(--ease); }
.bt-cart-items { list-style: none; margin: 0; padding: 0; }
.bt-cart-item { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); transition: opacity .2s; }
.bt-cart-item.is-busy { opacity: .45; pointer-events: none; }
.bt-cart-item__img img { width: 76px; height: 95px; object-fit: cover; border-radius: var(--r-sm); background: var(--cotton); }
.bt-cart-item__info { min-width: 0; padding-right: 32px; }
.bt-cart-item__name { display: block; font-weight: 600; font-size: var(--t-sm); text-decoration: none; line-height: 1.3; }
.bt-cart-item dl.variation { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 4px 0 0; font-size: var(--t-xs); color: var(--muted); }
.bt-cart-item dl.variation dt { font-weight: 500; }
.bt-cart-item dl.variation dd { margin: 0 8px 0 0; }
.bt-cart-item dl.variation p { margin: 0; }
.bt-cart-item__row { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.bt-cart-item__price { font-weight: 700; font-size: var(--t-sm); }
.bt-cart-item__remove { position: absolute; top: 10px; right: -6px; width: 36px; height: 36px; display: grid; place-items: center; border: 0; background: none; color: var(--muted); border-radius: 50%; }
.bt-cart-item__remove:hover { color: var(--err); }
.bt-cart-item__remove .bt-icon { width: 18px; height: 18px; }
.bt-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--r-sm); }
.bt-qty button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; background: none; }
.bt-qty .bt-icon { width: 16px; height: 16px; }
.bt-qty span { min-width: 24px; text-align: center; font-weight: 600; font-size: var(--t-sm); }

/* ---------- Batte Core plugin UI (pincode, track order, wishlist) ---------- */
.bt-pincode { margin: 0 0 20px; padding: 14px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); }
.bt-pincode__label { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: var(--t-sm); font-weight: 600; }
.bt-pincode__label .bt-icon { width: 18px; height: 18px; color: var(--accent); }
.bt-pincode__row { display: flex; gap: 8px; }
.bt-pincode__row input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--ivory); font-size: 16px; letter-spacing: .08em; }
.bt-pincode__result { margin: 10px 0 0; font-size: var(--t-sm); }
.bt-pincode__result.is-ok { color: var(--ok); }
.bt-pincode__result.is-err { color: var(--err); }

.bt-track { max-width: 760px; }
.bt-track__form { display: grid; gap: 12px; padding: 20px; border-radius: var(--r-md); background: var(--paper); }
@media (min-width: 700px) { .bt-track__form { grid-template-columns: 1fr 1fr auto; align-items: end; } }
.bt-track__form label { display: grid; gap: 6px; font-size: var(--t-sm); font-weight: 600; }
.bt-track__form input { height: 48px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--ivory); font-size: 16px; }
.bt-track__result { margin-top: 24px; }
.bt-track__card { padding: 20px; border-radius: var(--r-md); background: var(--paper); }
.bt-track__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.bt-track__status { font-family: var(--f-display); font-size: var(--t-xl); margin: 0; }
.bt-track__meta { font-size: var(--t-sm); color: var(--muted); margin: 4px 0 0; }
.bt-track__eta { padding: 10px 14px; border-radius: var(--r-md); background: var(--cotton); font-size: var(--t-sm); }
.bt-track__eta strong { display: block; font-size: var(--t-md); }
.bt-progress { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 0 24px; padding: 0; counter-reset: none; }
.bt-progress li { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; font-size: 11px; font-weight: 600; color: var(--muted); }
.bt-progress li::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--line); background: var(--paper); position: relative; z-index: 1; }
.bt-progress li::after { content: ""; position: absolute; top: 6px; left: -50%; width: 100%; height: 2px; background: var(--line); }
.bt-progress li:first-child::after { display: none; }
.bt-progress li.is-done { color: var(--ink); }
.bt-progress li.is-done::before { background: var(--brand); border-color: var(--brand); }
.bt-progress li.is-done::after { background: var(--brand); }
.bt-progress li.is-current::before { box-shadow: 0 0 0 4px rgba(217, 68, 15, .35); }
.bt-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--line); }
.bt-timeline li { position: relative; padding: 0 0 18px 20px; font-size: var(--t-sm); }
.bt-timeline li::before { content: ""; position: absolute; left: -6px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.bt-timeline li:first-child::before { background: var(--brand); box-shadow: 0 0 0 4px rgba(18, 26, 62, .15); }
.bt-timeline strong { display: block; }
.bt-timeline span { color: var(--muted); font-size: var(--t-xs); }
.bt-track__items { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); font-size: var(--t-sm); }
.bt-track__items ul:not(.bt-items) { padding-left: 1.1em; margin: 6px 0 0; }

.bt-wishlist-grid:empty + .bt-empty { display: grid; }
.bt-wishlist-page .bt-empty { display: none; }
.bt-wishlist-page.is-empty .bt-empty { display: grid; }
.bt-track__recent { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bt-track__recent li { padding: 12px 14px; border-radius: var(--r-md); background: var(--paper); font-size: var(--t-sm); }
.bt-track__recent a { font-weight: 700; color: var(--brand); }


/* ---------- Log in sheet + Google ---------- */
@media (min-width: 700px) {
	.bt-sheet--login { left: 50%; right: auto; bottom: auto; top: 50%; width: 420px; border-radius: var(--r-lg); transform: translate(-50%, -46%); opacity: 0; transition: transform .25s var(--ease), opacity .25s; }
	.bt-sheet--login.is-open { transform: translate(-50%, -50%); opacity: 1; }
}
.bt-sheet--login .bt-sheet__body { padding: 16px var(--gutter) 24px; }
.bt-login-lead { margin: 0 0 18px; color: var(--muted); font-size: var(--t-sm); }
.bt-login-opts { display: grid; gap: 12px; }
.bt-login-new { margin: 4px 0 0; text-align: center; font-size: var(--t-sm); color: var(--muted); }
.bt-login-new a { color: var(--brand); font-weight: 700; }
.bt-login-card { max-width: 420px; margin: 24px auto; padding: 28px 22px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); text-align: center; }
.bt-login-card > p:not(.bt-empty__title) { color: var(--muted); margin: 6px 0 20px; }
.bt-gbtn { display: flex; justify-content: center; min-height: 44px; }
.bt-gbtn iframe { margin: 0 auto !important; }
.bt-gbtn:not([data-drawn]) { min-height: 0; }
.bt-gbtn:not([data-drawn]) + .bt-or, .bt-gform:has(.bt-gbtn:not([data-drawn])) .bt-or, .bt-gcheckout:has(.bt-gbtn:not([data-drawn])) { display: none; }
.bt-cod-confirm { padding: 12px 14px; border-radius: var(--r-md); background: #E5F2E9; color: var(--ok); font-weight: 600; font-size: var(--t-sm); }
.bt-or { display: flex; align-items: center; gap: 12px; margin: 2px 0; color: var(--muted); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; }
.bt-or::before, .bt-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.bt-gform { margin-bottom: 14px; display: grid; gap: 14px; }
.bt-gcheckout { display: grid; gap: 10px; justify-items: center; margin: 0 0 20px; padding: 16px; border-radius: var(--r-md); background: var(--cotton); text-align: center; }
.bt-gcheckout p { margin: 0; font-size: var(--t-sm); font-weight: 600; }
.bt-gerr { margin: 6px 0 0; color: var(--err); font-size: var(--t-sm); text-align: center; }
body.bt-gbusy { cursor: progress; }
body.bt-gbusy .bt-gbtn { opacity: .5; pointer-events: none; }

/* ---------- Checkout: PIN message, COD nudge ---------- */
.bt-pin-msg { margin: 6px 0 0; font-size: var(--t-xs); font-weight: 600; color: var(--muted); }
.bt-pin-msg.is-ok { color: var(--ok); }
.bt-pin-msg.is-err { color: var(--err); }
.bt-pay-nudge { display: flex; gap: 12px; align-items: flex-start; margin: 16px 0 12px; padding: 12px 14px; border-radius: var(--r-md); background: linear-gradient(135deg, #F7F4EE, #FFE3D3); border: 1px solid rgba(242, 84, 27, .45); }
.bt-pay-nudge svg { flex: none; color: var(--brand); margin-top: 2px; }
.bt-pay-nudge p { margin: 0; font-size: var(--t-sm); color: var(--muted); }
.bt-pay-nudge strong { display: block; color: var(--brand); font-size: var(--t-md); }

/* ---------- Orders: cancel, returns ---------- */
.btc-cancel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 20px; font-size: var(--t-sm); color: var(--muted); }
.bt-badge { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 3px 10px; border-radius: var(--r-pill); background: var(--cotton); color: var(--brand); font-size: 12px; font-weight: 700; }
.bt-badge--completed, .bt-badge--approved { background: #E5F2E9; color: var(--ok); }
.bt-badge--rejected { background: #FBE9E7; color: var(--err); }
.bt-return-card, .bt-return-form { margin: 28px 0; padding: 20px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); }
.bt-return-card h2 { font-size: var(--t-lg); margin: 0 0 12px; }
.bt-return-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 14px; padding: 0; }
.bt-return-steps li { position: relative; display: grid; justify-items: center; gap: 6px; text-align: center; font-size: 11px; font-weight: 600; color: var(--muted); }
.bt-return-steps li::before { content: ""; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--line); background: var(--paper); position: relative; z-index: 1; }
.bt-return-steps li::after { content: ""; position: absolute; top: 5px; left: -50%; width: 100%; height: 2px; background: var(--line); }
.bt-return-steps li:first-child::after { display: none; }
.bt-return-steps li.is-done { color: var(--ink); }
.bt-return-steps li.is-done::before, .bt-return-steps li.is-done::after { background: var(--brand); border-color: var(--brand); }
.bt-return-items { margin: 12px 0; }
.bt-return-note { padding: 10px 12px; border-radius: var(--r-sm); background: var(--cotton); font-size: var(--t-sm); }
.bt-return-note small { color: var(--muted); }
.bt-return-closed { color: var(--muted); font-size: var(--t-sm); }
.bt-return-form summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; cursor: pointer; font-weight: 700; list-style: none; }
.bt-return-form summary::-webkit-details-marker { display: none; }
.bt-return-form summary span::before { content: "↺ "; color: var(--brand); }
.bt-return-form summary small { font-weight: 500; color: var(--muted); }
.bt-return-form form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 16px; }
.bt-return-form form > * { min-width: 0; margin: 0; }
.bt-return-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.bt-return-form input[type=file] { max-width: 100%; }
.bt-return-card, .bt-return-form, .bt-rate-card { min-width: 0; max-width: 100%; box-sizing: border-box; }
.bt-return-form legend, .bt-return-form p > label { display: block; margin-bottom: 6px; font-weight: 600; font-size: var(--t-sm); }
.bt-return-type { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.bt-return-type label { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-weight: 600; cursor: pointer; }
.bt-return-type label:has(input:checked) { border-color: var(--brand); background: rgba(31, 45, 107, .05); }
.bt-return-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--ivory); font-size: var(--t-sm); }
.bt-return-item > label { display: flex; align-items: center; gap: 10px; font-weight: 600; min-height: 40px; cursor: pointer; }
.bt-return-form input[type=checkbox], .bt-return-form input[type=radio] { width: 20px; height: 20px; flex: none; margin: 0; accent-color: var(--brand); }
.bt-return-size label { display: flex; align-items: center; gap: 8px; font-size: var(--t-xs); }
.bt-return-form select, .bt-return-form textarea, .bt-return-form input[type=text] { width: 100%; min-height: 44px; padding: 8px 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); font: inherit; font-size: 16px; }
.bt-return-size select { width: auto; min-height: 36px; }
.bt-return-photo small, .bt-return-terms { color: var(--muted); font-size: var(--t-xs); font-weight: 400; }
.bt-return-photo.is-needed label::after { content: " *"; color: var(--err); }
.bt-return-form [hidden] { display: none !important; }

/* ---------- Ratings (account + product page) ---------- */
.bt-rate-prompt { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: 14px 16px; border-radius: var(--r-md); background: var(--cotton); text-decoration: none; color: var(--ink); }
.bt-rate-prompt img { width: 52px; height: 64px; object-fit: cover; border-radius: var(--r-sm); }
.bt-rate-prompt strong { display: block; font-size: var(--t-md); }
.bt-stars-static { color: var(--accent); letter-spacing: .12em; }
.bt-rate-intro { color: var(--muted); }
.bt-rate-list { display: grid; gap: 14px; }
.bt-rate-card { display: grid; grid-template-columns: 84px 1fr; gap: 14px; padding: 14px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); }
.bt-rate-card__img img { width: 84px; height: 105px; object-fit: cover; border-radius: var(--r-sm); background: var(--cotton); }
.bt-rate-card__body { display: grid; gap: 8px; align-content: start; min-width: 0; }
.bt-rate-card__name { margin: 0; font-weight: 700; }
.bt-rate-card textarea { width: 100%; padding: 8px 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font: inherit; font-size: 16px; resize: vertical; }
.bt-rate-card .bt-btn { justify-self: start; }
.bt-stars-input { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin: 0; padding: 0; border: 0; }
.bt-stars-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bt-stars-input label { font-size: 30px; line-height: 1; color: #D9D9D9; cursor: pointer; transition: color .15s, transform .15s; padding: 0 2px; }
.bt-stars-input label:hover, .bt-stars-input label:hover ~ label, .bt-stars-input input:checked ~ label { color: var(--accent); }
.bt-stars-input input:focus-visible + label { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 4px; }
.bt-stars-input label:active { transform: scale(1.2); }
.bt-revs__head { display: grid; gap: 4px; margin-bottom: 18px; }
.bt-revs__head h2 { margin: 0; }
.bt-revs__note, .bt-review-note { margin: 0; color: var(--muted); font-size: var(--t-xs); }
.bt-revs__summary { display: grid; gap: 20px; align-items: center; margin-bottom: 24px; padding: 18px; border-radius: var(--r-md); background: var(--paper); border: 1px solid var(--line); }
@media (min-width: 700px) { .bt-revs__summary { grid-template-columns: 180px 1fr; max-width: 640px; } }
.bt-revs__avg strong { display: flex; align-items: center; gap: 4px; font-size: 2.6rem; font-weight: 800; line-height: 1; }
.bt-revs__avg strong span { color: var(--accent); font-size: 1.6rem; }
.bt-revs__avg p { margin: 6px 0 0; color: var(--muted); font-size: var(--t-sm); }
.bt-revs__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bt-revs__bars li { display: grid; grid-template-columns: 30px 1fr 36px; align-items: center; gap: 10px; font-size: var(--t-xs); font-weight: 600; }
.bt-revs__bars i { position: relative; height: 6px; border-radius: 6px; background: var(--line); overflow: hidden; }
.bt-revs__bars i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--ok); border-radius: 6px; }
.bt-revs__bars i.is-low::after { background: var(--accent); }
.bt-revs__bars em { font-style: normal; color: var(--muted); text-align: right; }
.bt-revs__empty { color: var(--muted); }
.commentlist .woocommerce-review__verified { color: var(--ok); font-style: normal; font-weight: 600; font-size: var(--t-xs); }


/* ---------- Account dashboard ---------- */
.bt-dash { display: grid; gap: 18px; }
.bt-dash__hero { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 22px 20px; border-radius: var(--r-lg); color: #fff;
	background: radial-gradient(120% 140% at 100% 0%, rgba(242, 84, 27, .35) 0%, rgba(242, 84, 27, 0) 45%), linear-gradient(135deg, #26367D 0%, var(--brand) 45%, var(--brand-deep) 100%); box-shadow: 0 18px 40px -22px rgba(22, 32, 74, .8); }
.bt-dash__hero::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 200px; height: 200px; border-radius: 50%; border: 22px solid rgba(242, 84, 27, .16); pointer-events: none; }
.bt-dash__avatar { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(145deg, var(--accent-hi), var(--accent)); color: var(--brand-deep); font-size: 1.6rem; font-weight: 800; box-shadow: 0 0 0 4px rgba(255, 255, 255, .16); }
.bt-dash__hello { margin: 0; font-size: var(--t-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--accent-hi); font-weight: 700; }
.bt-dash__name { margin: 2px 0 4px; color: #fff; font-size: var(--t-2xl); font-weight: 800; line-height: 1.1; }
.bt-dash__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: var(--t-xs); opacity: .85; }
.bt-prose .bt-dash__edit, .bt-dash__edit { color: #fff; }
.bt-dash__edit { grid-column: 1 / -1; justify-self: start; position: relative; z-index: 1; padding: 8px 14px; border: 1.5px solid rgba(255, 255, 255, .45); border-radius: var(--r-pill); color: #fff; font-size: var(--t-xs); font-weight: 700; text-decoration: none; }
.bt-dash__edit:hover { background: rgba(255, 255, 255, .12); }
@media (min-width: 700px) { .bt-dash__hero { grid-template-columns: auto 1fr auto; padding: 28px; } .bt-dash__edit { grid-column: auto; justify-self: end; } .bt-dash__avatar { width: 72px; height: 72px; } }

.bt-dash__stats { list-style: none; margin: -38px 12px 0; padding: 0; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); border-radius: var(--r-md); background: var(--paper); box-shadow: 0 10px 28px -14px rgba(22, 32, 74, .35); border: 1px solid var(--line); }
.bt-dash__stats li + li { border-left: 1px solid var(--line); }
.bt-dash__stats a { display: grid; justify-items: center; gap: 2px; padding: 14px 4px; text-decoration: none; color: var(--ink); }
.bt-dash__stats strong { font-size: var(--t-xl); font-weight: 800; color: var(--brand); line-height: 1; }
.bt-dash__stats span { font-size: 11px; font-weight: 600; color: var(--muted); text-align: center; }
.bt-dash__hero { padding-bottom: 54px; }
@media (min-width: 700px) { .bt-dash__hero { padding-bottom: 58px; } .bt-dash__stats { margin: -40px 24px 0; } }

.bt-dash .bt-rate-prompt { margin: 0; border: 1px solid rgba(242, 84, 27, .45); background: linear-gradient(135deg, #F7F4EE, #FFE3D3); }

.bt-dash__block { padding: 18px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); }
.bt-dash__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.bt-dash__head h3 { margin: 0; font-size: var(--t-lg); font-weight: 800; }
.bt-prose .bt-dash__head a, .bt-dash__head a { color: var(--brand); font-size: var(--t-sm); font-weight: 700; text-decoration: none; }
.bt-dash__none { display: grid; justify-items: center; gap: 10px; padding: 18px 8px; text-align: center; color: var(--muted); }
.bt-dash__none .bt-icon { width: 40px; height: 40px; color: var(--accent); }
.bt-dash__none strong { display: block; color: var(--ink); font-size: var(--t-md); }

.bt-dash__orders { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bt-dash__order { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 12px; padding: 12px; border-radius: var(--r-md); background: var(--ivory); }
.bt-dash__oimg { position: relative; grid-row: 1 / span 2; align-self: start; width: 64px; height: 80px; }
.bt-dash__oimg img { width: 64px; height: 80px; object-fit: cover; border-radius: var(--r-sm); background: var(--cotton); display: block; }
.bt-dash__oimg span { position: absolute; right: 4px; bottom: 4px; padding: 1px 6px; border-radius: 8px; background: rgba(22, 32, 74, .75); color: #fff; font-size: 10px; font-weight: 700; }
.bt-dash__obody { min-width: 0; }
.bt-dash__obody p { margin: 0; }
.bt-dash__ostatus { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: var(--t-sm); font-weight: 800; }
.bt-dash__ostatus i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.bt-dash__ostatus span { font-weight: 600; color: var(--ink); }
.bt-tone--live { color: var(--brand); }
.bt-tone--good { color: var(--ok); }
.bt-tone--bad { color: var(--err); }
.bt-dash__oname { margin-top: 2px !important; font-size: var(--t-sm); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-dash__ometa { font-size: 12px; color: var(--muted); }
.bt-dash__ometa .amount { color: var(--ink); font-weight: 700; }
.bt-dash__bar { position: relative; display: flex; justify-content: space-between; margin: 10px 2px 2px; }
.bt-dash__bar::before, .bt-dash__bar::after { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 3px; margin-top: -1.5px; border-radius: 3px; background: #E2DBD2; }
.bt-dash__bar::after { right: auto; width: calc((100% - 8px) * var(--p) / 100); background: var(--brand); }
.bt-dash__bar span { position: relative; z-index: 1; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid #D5D7DF; }
.bt-dash__bar span.is-on { background: var(--brand); border-color: var(--brand); }
.bt-dash__oact { grid-column: 2; display: flex; gap: 8px; margin-top: 8px; }
.bt-dash__oact .bt-btn { min-height: 34px; padding: 0 14px; }
@media (min-width: 700px) {
	.bt-dash__order { grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; }
	.bt-dash__oimg { grid-row: auto; }
	.bt-dash__oact { grid-column: auto; margin: 0; flex-direction: column; }
}

.bt-dash__tiles { display: grid; gap: 8px; }
@media (min-width: 600px) { .bt-dash__tiles { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .bt-dash__tiles { grid-template-columns: repeat(3, 1fr); } }
.bt-dash__tile { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.bt-dash__tile:hover { border-color: rgba(31, 45, 107, .35); box-shadow: 0 8px 20px -14px rgba(31, 45, 107, .6); transform: translateY(-1px); }
.bt-dash__ticon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 12px; background: rgba(31, 45, 107, .07); color: var(--brand); }
.bt-dash__ticon .bt-icon { width: 22px; height: 22px; }
.bt-dash__ttext { flex: 1; min-width: 0; display: grid; }
.bt-dash__ttext strong { font-size: var(--t-sm); font-weight: 700; }
.bt-dash__ttext small { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-dash__tile > .bt-icon { width: 18px; height: 18px; color: #B3B6C3; flex: none; }

.bt-dash__saved { list-style: none; margin: 0 -18px; padding: 0 18px 4px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bt-dash__saved::-webkit-scrollbar { display: none; }
.bt-dash__saved li { flex: 0 0 132px; scroll-snap-align: start; }
.bt-dash__saved a { display: grid; gap: 4px; color: var(--ink); text-decoration: none; }
.bt-dash__saved img { width: 132px; height: 165px; object-fit: cover; border-radius: var(--r-md); background: var(--cotton); }
.bt-dash__sname { font-size: 12px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bt-dash__sprice { font-size: var(--t-sm); font-weight: 800; }

.bt-dash__help { display: grid; gap: 14px; padding: 18px; border-radius: var(--r-lg); background: var(--cotton); }
.bt-dash__help h3 { margin: 0 0 4px; font-size: var(--t-lg); font-weight: 800; }
.bt-dash__help p { margin: 0; color: var(--muted); font-size: var(--t-sm); }
.bt-dash__helpbtns { display: flex; flex-wrap: wrap; gap: 8px; }
.bt-dash__helpbtns .bt-btn { gap: 6px; }
.bt-dash__helpbtns .bt-icon { width: 18px; height: 18px; }
@media (min-width: 900px) { .bt-dash__help { grid-template-columns: 1fr auto; align-items: center; } }
.bt-dash__logout { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; color: var(--muted); font-size: var(--t-sm); font-weight: 600; text-decoration: none; }
.bt-dash__logout .bt-icon { width: 18px; height: 18px; }
@media (min-width: 900px) { .bt-dash__logout { display: none; } }

/* ---------- Dashboard: Orders + Wishlist buttons, photo ---------- */
.bt-dash__quick { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: -38px 12px 0; }
@media (min-width: 700px) { .bt-dash__quick { margin: -40px 24px 0; gap: 14px; } }
.bt-dash__quick a { display: flex; align-items: center; gap: 10px; padding: 14px 12px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); color: var(--ink); text-decoration: none; box-shadow: 0 10px 28px -14px rgba(22, 32, 74, .35); transition: transform .15s, border-color .15s; }
.bt-dash__quick a:hover { transform: translateY(-1px); border-color: rgba(31, 45, 107, .35); }
.bt-dash__qicon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: rgba(31, 45, 107, .08); color: var(--brand); }
.bt-dash__qicon .bt-icon { width: 21px; height: 21px; }
.bt-dash__quick strong { display: block; font-size: var(--t-md); font-weight: 800; line-height: 1.2; }
.bt-dash__quick small { display: block; color: var(--muted); font-size: 12px; font-weight: 600; }
a.bt-dash__avatar { position: relative; text-decoration: none; overflow: visible; }
.bt-dash__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.bt-dash__cam { position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--brand); box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }
.bt-acc-me__av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.bt-dash__obody .bt-item__tags { margin-top: 3px; }

/* ---------- Product rows everywhere: photo + name + Colour / Size tags ---------- */
.bt-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bt-item { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bt-item__img { flex: none; }
.bt-item__img img { display: block; width: 48px; height: 60px; object-fit: cover; border-radius: var(--r-sm); background: var(--cotton); }
.bt-item__txt { flex: 1; min-width: 0; display: grid; gap: 4px; }
.bt-item__name { font-size: var(--t-sm); font-weight: 700; line-height: 1.3; color: var(--ink); }
.bt-item__name a { color: inherit; text-decoration: none; }
.bt-item__tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.bt-item__tags span { padding: 1px 8px; border-radius: var(--r-pill); background: var(--ivory); border: 1px solid var(--line); font-size: 11px; font-weight: 700; color: var(--muted); }
.bt-item__price { flex: none; font-size: var(--t-sm); font-weight: 800; }
.bt-item__swap { font-size: 12px; color: var(--brand); }

/* Variation details (cart drawer, checkout, order pages) as tags */
dl.variation, ul.wc-item-meta { display: flex !important; flex-wrap: wrap; gap: 4px; margin: 4px 0 0; padding: 0; list-style: none; }
dl.variation dt, dl.variation dd, ul.wc-item-meta li { margin: 0; }
dl.variation dt { display: none; }
dl.variation dd, ul.wc-item-meta li { padding: 1px 8px; border-radius: var(--r-pill); background: var(--ivory); border: 1px solid var(--line); font-size: 11px; font-weight: 700; color: var(--muted); }
dl.variation dd p, ul.wc-item-meta li p { display: inline; margin: 0; }
ul.wc-item-meta .wc-item-meta-label { display: none; }

/* Checkout summary table + order details table: photo beside the name */
.woocommerce-checkout-review-order-table td.product-name, .woocommerce-table--order-details td.product-name { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 12px; align-items: start; }
.woocommerce-checkout-review-order-table td.product-name > *:not(.bt-co-img), .woocommerce-table--order-details td.product-name > *:not(.bt-co-img) { grid-column: 2; }
.bt-co-img { grid-column: 1; grid-row: 1 / span 4; }
.bt-co-img img { display: block; width: 48px; height: 60px; object-fit: cover; border-radius: var(--r-sm); background: var(--cotton); }
.bt-co-name { font-weight: 700; }
.bt-co-name a { color: inherit; text-decoration: none; }
.woocommerce-checkout-review-order-table .product-quantity, .woocommerce-table--order-details .product-quantity { font-size: 12px; color: var(--muted); font-weight: 700; }

/* "You're ordering" strip at the top of checkout (phones) */
.bt-co-sum { margin: 0 0 20px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
.bt-co-sum__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.bt-co-sum__head strong { font-size: var(--t-md); }
.bt-co-sum__head a { color: var(--brand); font-size: var(--t-sm); font-weight: 700; }
@media (min-width: 900px) { .bt-co-sum { margin: 0; } }

/* ---------- Orders page: tabs + cards ---------- */
.bt-otabs { display: flex; gap: 6px; margin: 0 0 16px; padding: 4px; border-radius: var(--r-pill); background: var(--ivory); overflow-x: auto; scrollbar-width: none; }
.bt-otabs a { flex: 1; padding: 9px 14px; border-radius: var(--r-pill); color: var(--muted); font-size: var(--t-sm); font-weight: 700; text-align: center; text-decoration: none; white-space: nowrap; }
.bt-prose .bt-otabs a { color: var(--muted); }
.bt-otabs a.is-on, .bt-prose .bt-otabs a.is-on { background: var(--paper); color: var(--brand); box-shadow: 0 2px 8px rgba(22, 32, 74, .1); }
.bt-ocards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.bt-ocard { padding: 14px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); }
.bt-ocard__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin-bottom: 12px; }
.bt-ocard__top p { margin: 0; }
.bt-ocard__meta { font-size: 12px; color: var(--muted); }
.bt-ocard__items { position: relative; display: grid; gap: 8px; padding: 10px 34px 10px 10px; border-radius: var(--r-md); background: var(--ivory); color: var(--ink); text-decoration: none; }
.bt-ocard__items > .bt-icon { position: absolute; right: 10px; top: 50%; width: 18px; height: 18px; margin-top: -9px; color: #B3B6C3; }
.bt-ocard__more { font-size: 12px; font-weight: 700; color: var(--muted); padding-left: 60px; }
.bt-ocard .bt-dash__bar { margin: 14px 4px 4px; }
.bt-ocard__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; }
.bt-ocard__total { font-size: var(--t-md); }
.bt-ocard__act { display: flex; flex-wrap: wrap; gap: 8px; }
.bt-ocard__act .bt-btn { min-height: 36px; }
.bt-opager { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; }

/* ---------- Account details: photo ---------- */
.bt-photo-field { margin: 0 0 20px; padding: 0; border: 0; }
.bt-photo-field legend { font-weight: 700; margin-bottom: 10px; }
.bt-photo-row { display: flex; align-items: center; gap: 16px; }
.bt-photo-preview { display: grid; place-items: center; width: 76px; height: 76px; flex: none; overflow: hidden; border-radius: 50%; background: linear-gradient(145deg, var(--accent-hi), var(--accent)); color: var(--brand-deep); font-size: 1.8rem; font-weight: 800; }
.bt-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.bt-photo-row label.bt-btn { cursor: pointer; }
.bt-photo-remove { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: var(--t-xs); color: var(--muted); }
.bt-photo-hint { margin: 6px 0 0; font-size: 12px; color: var(--muted); }

/* Tracking page parcel list */
.bt-track__items .bt-items { margin-top: 10px; }
.bt-return-item > label .bt-item { flex: 1; }
.woocommerce-checkout-review-order-table td.product-name .bt-co-name, .woocommerce-table--order-details td.product-name .bt-co-name { order: 1; }
.woocommerce-checkout-review-order-table td.product-name dl.variation, .woocommerce-table--order-details td.product-name ul.wc-item-meta { order: 2; }
.woocommerce-checkout-review-order-table td.product-name .bt-qty-tag, .woocommerce-table--order-details td.product-name .bt-qty-tag { order: 3; justify-self: start; }
.bt-qty-tag { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: var(--r-pill); background: rgba(31, 45, 107, .07); color: var(--brand); font-size: 11px; font-weight: 800; }
.woocommerce-checkout-review-order-table td.product-total, .woocommerce-table--order-details td.product-total { vertical-align: top; padding-top: 14px; font-weight: 700; }


/* =========================================================================
   Cart page (Flipkart-style flow, Batte look)
   ======================================================================= */
.woocommerce-cart .bt-page__head { margin-bottom: 8px; }
.bt-cartpage { display: grid; gap: 18px; }
@media (min-width: 900px) { .bt-cartpage { grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; } .bt-cartpage__side { position: sticky; top: calc(var(--header-h) + 20px); } }
.bt-cartpage__main { min-width: 0; display: grid; gap: 12px; }

.bt-deliver { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--r-md); background: var(--cotton); }
.bt-deliver > .bt-icon { width: 20px; height: 20px; flex: none; color: var(--brand); }
.bt-deliver__txt { flex: 1; min-width: 0; margin: 0; display: grid; font-size: var(--t-sm); }
.bt-deliver__txt span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-deliver__txt small.is-err { color: var(--err); font-weight: 600; }
.bt-deliver__btn { flex: none; padding: 7px 12px; border: 1.5px solid rgba(31, 45, 107, .35); border-radius: var(--r-pill); background: var(--paper); color: var(--brand); font: inherit; font-size: var(--t-xs); font-weight: 800; cursor: pointer; }
.bt-pinform { padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
.bt-pinform label { display: block; margin-bottom: 8px; font-size: var(--t-sm); font-weight: 700; }
.bt-pinform__row { display: flex; gap: 8px; }
.bt-pinform input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-size: 16px; letter-spacing: .08em; }
.bt-parked { margin: 0; padding: 10px 14px; border-radius: var(--r-md); background: #F7F4EE; color: var(--brand-deep); font-size: var(--t-xs); font-weight: 600; }

.bt-citems { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.bt-citem { padding: 14px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); }
.bt-citem__top { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
@media (min-width: 700px) { .bt-citem__top { grid-template-columns: 116px minmax(0, 1fr); } }
.bt-citem__left { display: grid; gap: 8px; align-content: start; }
.bt-citem__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-md); background: var(--cotton); }
.bt-step { display: grid; grid-template-columns: 30px 1fr 30px; align-items: center; height: 36px; border: 1.5px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.bt-step button { display: grid; place-items: center; height: 100%; border: 0; background: none; color: var(--ink); cursor: pointer; }
.bt-step button:disabled { color: #CFC6BD; cursor: default; }
.bt-step .bt-icon { width: 16px; height: 16px; }
.bt-step input { width: 100%; height: 100%; border: 0; background: none; text-align: center; font: inherit; font-weight: 800; -moz-appearance: textfield; }
.bt-step input::-webkit-inner-spin-button, .bt-step input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.bt-citem__info { min-width: 0; display: grid; gap: 6px; align-content: start; }
.bt-citem__info p { margin: 0; }
.bt-citem__deal { color: var(--ok); font-size: var(--t-xs); font-weight: 800; }
.bt-citem__name { color: var(--ink); font-size: var(--t-md); font-weight: 700; line-height: 1.3; text-decoration: none; }
.bt-prose .bt-citem__name { color: var(--ink); }
.bt-citem__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font-size: var(--t-sm); }
.bt-citem__price strong { font-size: var(--t-lg); font-weight: 800; }
.bt-citem__price del { color: var(--muted); }
.bt-off { color: var(--ok); font-weight: 800; }
.bt-citem__line { color: var(--muted); font-size: var(--t-xs); }
.bt-citem__deliv { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 10px 12px; border-radius: var(--r-sm); background: var(--ivory); font-size: var(--t-sm); }
.bt-citem__deliv .bt-icon { width: 20px; height: 20px; color: var(--muted); }
.bt-citem__acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.bt-citem__acts a, .bt-citem__acts .product-remove > a { display: flex !important; align-items: center; justify-content: center; width: auto !important; height: 40px !important; padding: 0 10px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); color: var(--ink) !important; font-size: var(--t-xs) !important; font-weight: 700; text-decoration: none; text-indent: 0 !important; white-space: nowrap; }
.bt-citem__acts a.is-buy { border-color: rgba(31, 45, 107, .4); color: var(--brand) !important; }
.bt-citem__acts .product-remove { display: contents; }
.bt-cartpage__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bt-update-cart { display: none !important; }
.bt-coupon { flex: 1; padding: 12px 14px; border: 1px dashed rgba(31, 45, 107, .35); border-radius: var(--r-md); background: var(--paper); }
.bt-coupon summary { cursor: pointer; font-size: var(--t-sm); font-weight: 700; color: var(--brand); }
.bt-coupon .coupon { display: flex; gap: 8px; margin-top: 10px; }
.bt-coupon input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-size: 16px; text-transform: uppercase; }

/* Price details card */
.bt-price { padding: 18px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); }
.bt-price__title { margin: 0 0 12px; font-size: var(--t-lg); font-weight: 800; }
.bt-price__rows { margin: 0; padding: 14px; border-radius: var(--r-md); background: var(--ivory); display: grid; gap: 10px; }
.bt-price__rows > div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); }
.bt-price__rows dt, .bt-price__rows dd { margin: 0; }
.bt-price__rows .is-save dd, .is-free { color: var(--ok); font-weight: 700; }
.bt-price__rows .is-muted { color: var(--muted); }
.bt-price__rows .is-total { margin-top: 2px; padding-top: 10px; border-top: 1px dashed #D5D7DF; font-size: var(--t-md); font-weight: 800; }
.bt-price__rows .is-total small { display: block; font-weight: 500; font-size: 11px; color: var(--muted); }
.bt-price__save, .bt-save-row td { margin: 10px 0 0; padding: 10px 12px; border-radius: var(--r-sm); background: #E5F2E9; color: var(--ok); font-size: var(--t-sm); font-weight: 600; text-align: center; }
.bt-price__hint { margin: 10px 0 0; padding: 10px 12px; border-radius: var(--r-sm); background: #F7F4EE; color: var(--brand-deep); font-size: var(--t-sm); text-align: center; }
.bt-price__tip { margin: 8px 0 0; font-size: 12px; color: var(--muted); text-align: center; }
.bt-price .wc-proceed-to-checkout { margin-top: 14px; }
.bt-price .checkout-button, .bt-prose .bt-price .checkout-button { min-height: 52px; background: var(--accent); color: #fff; font-size: var(--t-md); font-weight: 800; border-radius: 3px; }
.bt-price .checkout-button:hover { background: #D9440F; }
.bt-price__trust { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0; color: var(--muted); font-size: 12px; text-align: left; }
.bt-price__trust .bt-icon { width: 22px; height: 22px; flex: none; color: #A89F96; }

/* Sticky buy bar (phones) */
.bt-buybar { display: none; }
@media (max-width: 899px) {
	.bt-buybar { display: block; position: fixed; left: 8px; right: 8px; bottom: calc(var(--tabbar-h) + 8px + env(safe-area-inset-bottom)); z-index: 60; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-lg); background: rgba(255, 255, 255, .97); box-shadow: 0 -6px 30px -10px rgba(22, 32, 74, .3); backdrop-filter: blur(8px); }
	.bt-buybar__save { margin: 0 0 8px; padding: 6px 10px; border-radius: var(--r-sm); background: #E5F2E9; color: var(--ok); font-size: var(--t-xs); font-weight: 600; }
	.bt-buybar__row { display: flex; align-items: center; gap: 12px; padding: 0 4px; }
	.bt-buybar__amt { flex: 1; display: grid; line-height: 1.15; }
	.bt-buybar__amt del { color: var(--muted); font-size: var(--t-xs); }
	.bt-buybar__amt strong { font-size: var(--t-xl); font-weight: 800; }
	.bt-buybar__amt small { display: none; }
	.bt-buybar .bt-btn { flex: 0 0 55%; min-height: 50px; border-radius: var(--r-pill); font-size: var(--t-md); font-weight: 800; }
	.woocommerce-cart .bt-main, .woocommerce-checkout .bt-main { padding-bottom: 210px; }
	.woocommerce-cart .bt-wa-float, .woocommerce-checkout .bt-wa-float { display: none !important; }
}

/* Wishlist + suggestions rows */
.bt-cartrow { margin-top: 32px; }
.bt-prow { margin-top: 40px; }
.bt-prow + .bt-prow { margin-top: 32px; }
.bt-prow__more { display: none; }
@media (min-width: 900px) {
	.bt-prow__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--brand); font-size: var(--t-sm); font-weight: 700; text-decoration: none; }
	.bt-prow__more:hover { text-decoration: underline; text-underline-offset: 4px; }
	.bt-prow__more .bt-icon { width: 16px; height: 16px; }
}
.bt-cartrow__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.bt-cartrow__head h2 { margin: 0; font-size: var(--t-xl); font-weight: 800; }
.bt-cartrow__head a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ink); color: #fff; }
.bt-cartrow__head .bt-icon { width: 18px; height: 18px; }
ul.products.bt-cartrow__list { display: flex !important; gap: 12px; margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter) 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; grid-template-columns: none !important; }
.bt-cartrow__list::-webkit-scrollbar { display: none; }
.bt-cartrow__list > li { flex: 0 0 min(46vw, 220px); scroll-snap-align: start; margin: 0 !important; }

/* =========================================================================
   Checkout: steps, saved address, payment header
   ======================================================================= */
/* Computers: the checkout is one page, so the 1-2-3 bar means nothing there.
   The title is smaller too, so the form and the order summary start straight away. */
@media (min-width: 900px) {
	.woocommerce-checkout .bt-steps { display: none; }
	.woocommerce-checkout .bt-page { padding-top: 20px; padding-bottom: 40px; }
	.woocommerce-checkout .bt-page__head { margin-bottom: 12px; }
	.woocommerce-checkout .bt-page__head .bt-h1 { font-size: var(--t-xl); }
	.woocommerce-checkout .woocommerce-billing-fields > h3,
	.woocommerce-checkout form.checkout #order_review_heading { margin: 0 0 10px; font-size: var(--t-lg); }
	/* Tighter rows so the whole checkout fits a laptop screen */
	.woocommerce-checkout .form-row { gap: 4px; margin: 0 0 10px; }
	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row select,
	.woocommerce-checkout .select2-container .select2-selection--single { min-height: 44px; }
	.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
	.woocommerce-checkout .bt-saveaddr { padding: 10px 12px; }
	.woocommerce-checkout .bt-optin, .woocommerce-checkout .bt-gstbox { margin-bottom: 8px; }
	/* The right-hand column is its own stack of cards — no extra box around it */
	.woocommerce-checkout #order_review { padding: 0; background: none; }
	.woocommerce-checkout .bt-co-sum { margin: 0; }
	.woocommerce-checkout .bt-price--co { padding: 14px; }
	.woocommerce-checkout .bt-price--co .bt-price__title { margin-bottom: 8px; }
	.woocommerce-checkout form.checkout { row-gap: 10px; }
	.woocommerce-checkout .bt-payhead { margin: 14px 0 4px; }
	.woocommerce-checkout #payment ul.payment_methods { margin: 10px 0; }
}
.bt-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 calc(var(--gutter) * -1) 18px; padding: 10px var(--gutter); background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); counter-reset: none; }
@media (min-width: 900px) { .bt-steps { position: static; margin: 0 0 24px; padding: 0; border: 0; background: none; max-width: 560px; } }
.bt-steps li { position: relative; }
.bt-steps li + li::before { content: ""; position: absolute; left: -50%; right: 50%; top: 14px; height: 2px; background: var(--line); margin: 0 20px; }
.bt-steps a { position: relative; display: grid; justify-items: center; gap: 4px; color: var(--muted); font-size: var(--t-xs); font-weight: 700; text-decoration: none; }
.bt-steps a span { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #D5D7DF; border-radius: 50%; background: var(--paper); font-size: 12px; }
.bt-steps li.is-on a { color: var(--ink); }
.bt-steps li.is-on a span { border-color: var(--brand); background: var(--brand); color: #fff; }
.bt-prose .bt-steps a { color: var(--muted); }
.bt-prose .bt-steps li.is-on a { color: var(--ink); }

.bt-addrcard { margin: 0 0 8px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--ivory); }
.bt-addrcard__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.bt-addrcard__top strong { display: flex; align-items: center; gap: 8px; font-size: var(--t-md); }
.bt-addrcard__top .bt-icon { width: 20px; height: 20px; color: var(--brand); }
.bt-addrcard__change { padding: 6px 14px; border: 1.5px solid rgba(31, 45, 107, .35); border-radius: var(--r-pill); background: var(--paper); color: var(--brand); font: inherit; font-size: var(--t-xs); font-weight: 800; cursor: pointer; }
.bt-addrcard p { margin: 0; font-size: var(--t-sm); color: var(--ink); }
.bt-addrcard__phone, .bt-addrcard__deliv { display: flex; align-items: center; gap: 8px; margin-top: 8px !important; color: var(--muted) !important; }
.bt-addrcard__phone .bt-icon, .bt-addrcard__deliv .bt-icon { width: 18px; height: 18px; }
.bt-addrcard__deliv strong { color: var(--ink); }
form.checkout.bt-addr-saved .woocommerce-billing-fields__field-wrapper, form.checkout.bt-addr-saved .woocommerce-shipping-fields, form.checkout.bt-addr-saved .woocommerce-account-fields { display: none; }

.bt-co-sum h3 { margin: 0; font-size: var(--t-lg); font-weight: 800; }
.bt-co-sum .bt-citem__deliv { margin-top: 12px; }
@media (max-width: 899px) { form.checkout #order_review_heading { display: none; } }
.bt-price--co { margin: 18px 0 0; }
@media (min-width: 900px) { .bt-price--co { margin-top: 0; } }
.bt-price--co .bt-price__title { font-size: var(--t-lg); }
/* Checkout item cards: − 1 + stepper */
.bt-item--co .bt-item__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; }
.bt-item--co .bt-item__price { font-weight: 800; }
.bt-item__max { display: block; margin-top: 6px; color: var(--err); font-size: 12px; font-weight: 700; }
.bt-qtybox { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--r-pill); background: var(--paper); overflow: hidden; }
.bt-qtybox.is-busy { opacity: .5; pointer-events: none; }
.bt-qtybox button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; background: none; color: var(--ink); cursor: pointer; }
.bt-qtybox button[disabled] { color: #C4BCB4; cursor: not-allowed; }
.bt-qtybox button:not([disabled]):hover { background: var(--ivory); }
.bt-qtybox .bt-icon { width: 16px; height: 16px; }
.bt-qtybox b { min-width: 26px; text-align: center; font-size: var(--t-sm); font-weight: 800; }

/* Three screens on phones; computers keep the single page */
.bt-costep-title { display: none; }
.bt-costep-msg { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: var(--r-sm); background: #FDEDEA; color: var(--err); font-size: var(--t-sm); font-weight: 700; }
.bt-costep-msg::before { content: "!"; display: inline-grid; place-items: center; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--err); color: #fff; font-size: 12px; font-weight: 800; }
/* One short red line under the box itself — no list of errors at the bottom of the page */
.form-row .bt-fieldmsg { display: block; margin-top: 4px; color: var(--err); font-size: 12px; font-weight: 700; }
.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select,
.form-row.woocommerce-invalid .select2-container .select2-selection--single { border-color: var(--err); background: #FFFBFA; }
.form-row.woocommerce-invalid label { color: var(--err); }
@media (max-width: 899px) {
	.bt-costep-title { display: block; margin: 0 0 14px; font-size: var(--t-xl); font-weight: 800; }
	/* Only the current step's parts are on screen; the rest keep their own display rules. */
	[data-costep="address"] > [data-copane]:not([data-copane="address"]),
	[data-costep="items"] > [data-copane]:not([data-copane="items"]),
	[data-costep="pay"] > [data-copane]:not([data-copane="pay"]),
	form.checkout[data-costep="address"] [data-copane]:not([data-copane="address"]),
	form.checkout[data-costep="items"] [data-copane]:not([data-copane="items"]),
	form.checkout[data-costep="pay"] [data-copane]:not([data-copane="pay"]) { display: none !important; }
	/* The step title already says where we are. */
	form.checkout[data-costep] .woocommerce-billing-fields > h3,
	form.checkout[data-costep] .bt-payhead h3,
	form.checkout[data-costep] #order_review_heading { display: none; }
	form.checkout[data-costep] .bt-payhead { justify-content: flex-end; margin-top: 0; }
	.bt-steps li.is-done a { color: var(--brand); }
	.bt-steps li.is-done a span { border-color: var(--brand); background: var(--paper); color: var(--brand); }
	.bt-steps a { cursor: pointer; }
}

/* Coupon box — last thing before Place order */
.bt-coupon-box { margin: 16px 0 14px; }
.bt-coupon-box.is-busy { opacity: .6; pointer-events: none; }
.bt-coupon-box__on { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.bt-coupon-box__on li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--r-md); background: #E5F2E9; font-size: var(--t-sm); }
.bt-coupon-box__on li > span:nth-child(2) { flex: 1; min-width: 0; color: var(--ok); }
.bt-coupon-box__tick { display: grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--ok); color: #fff; }
.bt-coupon-box__tick .bt-icon { width: 14px; height: 14px; }
.bt-coupon-box__on a { color: var(--muted); font-size: var(--t-xs); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bt-coupon-box__open { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; border: 1.5px dashed rgba(31, 45, 107, .3); border-radius: var(--r-md); background: linear-gradient(135deg, #FCFBF8, #F7F4EE); color: var(--ink); font: inherit; font-weight: 700; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.bt-coupon-box__open:hover { border-color: var(--brand); }
.bt-coupon-box__ic { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 10px; background: var(--paper); color: var(--brand); }
.bt-coupon-box__ic .bt-icon { width: 19px; height: 19px; }
.bt-coupon-box__lab { flex: 1; min-width: 0; font-size: var(--t-sm); }
.bt-coupon-box__chev .bt-icon { width: 18px; height: 18px; color: var(--muted); transition: transform .25s var(--ease); }
.bt-coupon-box.is-open .bt-coupon-box__chev .bt-icon { transform: rotate(180deg); }
.bt-coupon-box__form { padding: 12px 2px 0; }
.bt-coupon-box__row { display: flex; gap: 8px; }
.bt-coupon-box__row input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--paper); font-size: 16px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bt-coupon-box__row input:focus { border-color: var(--brand); outline: none; }
.bt-coupon-box__row .bt-btn { flex: none; min-height: 48px; padding: 0 22px; border-radius: var(--r-sm); font-weight: 800; }
.bt-coupon-box__msg { margin: 8px 0 0; font-size: var(--t-xs); font-weight: 700; }
.bt-coupon-box__msg:empty { display: none; }
.bt-coupon-box__msg.is-ok { color: var(--ok); }
.bt-coupon-box__msg.is-err { color: var(--err); }

/* Save this address for next time */
.bt-saveaddr { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 8px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--ivory); cursor: pointer; }
.bt-saveaddr input { position: absolute; opacity: 0; width: 0; height: 0; }
.bt-saveaddr strong { display: block; font-size: var(--t-sm); }
.bt-saveaddr small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.bt-saveaddr .bt-check__box { flex: none; width: 22px; height: 22px; margin-top: 1px; border: 1.5px solid #CBCED8; border-radius: 6px; background: #fff center / 14px no-repeat; transition: background-color .15s, border-color .15s; }
.bt-saveaddr input:checked + .bt-check__box { border-color: var(--brand); background-color: var(--brand); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
.bt-saveaddr input:focus-visible + .bt-check__box { box-shadow: 0 0 0 4px rgba(31, 45, 107, .15); }

/* "One step before checkout" note on the log-in screen */
.bt-auth__co { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; padding: 14px 16px; border: 1px solid rgba(242, 84, 27, .5); border-radius: var(--r-md); background: linear-gradient(135deg, #FCFBF8, #F7F4EE); font-size: var(--t-sm); line-height: 1.5; }
.bt-auth__co strong { display: block; font-size: var(--t-md); }
.bt-auth__co-ic { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--paper); color: var(--brand); }
.bt-auth__co-ic .bt-icon { width: 20px; height: 20px; }

.bt-payhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 18px 0 6px; }
.bt-payhead h3 { margin: 0; font-size: var(--t-lg); font-weight: 800; }
.bt-secure { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: var(--r-pill); background: var(--ivory); color: var(--muted); font-size: 12px; font-weight: 700; }
.bt-secure .bt-icon { width: 15px; height: 15px; }
#place_order, .woocommerce #place_order { background: var(--accent); color: #fff; font-weight: 800; border-radius: 3px; }
#place_order:hover { background: #D9440F; }

/* =========================================================================
   Round 5 — coins, offers, product page extras
   ======================================================================= */
.bt-coin { width: 22px; height: 22px; flex: none; }

/* Coins: toggle, earn line, teaser, thank-you */
.bt-coins-box { display: grid; gap: 8px; margin: 12px 0 0; }
.bt-coins-box:empty { display: none; }
.bt-coins-box--co { margin: 14px 0 0; }
.bt-coins-use { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1.5px solid rgba(242, 84, 27, .6); border-radius: var(--r-md); background: linear-gradient(135deg, #FBF9F4, #FFE8DC); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.bt-coins-use.is-on { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(242, 84, 27, .18); }
.bt-coins-use.is-busy { opacity: .6; pointer-events: none; }
.bt-coins-use__icon .bt-coin { width: 30px; height: 30px; }
.bt-coins-use__txt { flex: 1; min-width: 0; display: grid; gap: 2px; }
.bt-coins-use__txt strong { font-size: var(--t-sm); color: var(--brand-deep); }
.bt-coins-use__txt small { font-size: 12px; color: var(--muted); }
.bt-coins-use__txt em { font-style: normal; font-weight: 700; color: var(--err); }
.bt-coins-use input { position: absolute; opacity: 0; pointer-events: none; }
.bt-switch { position: relative; width: 42px; height: 24px; flex: none; border-radius: 12px; background: #D5D7DF; transition: background .2s; }
.bt-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.bt-coins-use.is-on .bt-switch { background: var(--ok); }
.bt-coins-use.is-on .bt-switch::after { transform: translateX(18px); }
.bt-coins-earn { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; color: var(--muted); }
.bt-coins-earn .bt-coin { width: 18px; height: 18px; }
.bt-coins-earn a { color: var(--brand); font-weight: 700; }
.bt-coins-teaser { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 10px; padding: 6px 12px 6px 6px; border-radius: var(--r-pill); background: #F7F4EE; color: var(--brand-deep); font-size: var(--t-xs); font-weight: 700; }
.bt-coins-teaser .bt-coin { width: 20px; height: 20px; }
.bt-coins-thanks { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; padding: 14px 16px; border-radius: var(--r-md); background: linear-gradient(135deg, #FBF9F4, #FFE8DC); border: 1px solid rgba(242, 84, 27, .5); }
.bt-coins-thanks .bt-coin { width: 34px; height: 34px; }
.bt-coins-thanks p { margin: 0; font-size: var(--t-sm); color: var(--muted); }
.bt-coins-thanks strong { display: block; color: var(--brand-deep); font-size: var(--t-md); }
.bt-neg { color: var(--ok); font-weight: 700; }

/* Coins: dashboard card + account page */
.bt-dash__coins { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--r-md); background: linear-gradient(120deg, #10183A, #4A2A1C); color: #fff; text-decoration: none; box-shadow: 0 10px 26px -16px rgba(22, 32, 74, .8); }
.bt-dash__coins .bt-coin { width: 36px; height: 36px; }
.bt-dash__coinstxt { flex: 1; min-width: 0; display: grid; gap: 2px; }
.bt-dash__coinstxt strong { font-size: var(--t-md); font-weight: 800; color: var(--accent-hi); }
.bt-dash__coinstxt em { font-style: normal; font-weight: 600; color: #fff; font-size: var(--t-sm); }
.bt-dash__coinstxt small { color: rgba(255, 255, 255, .78); font-size: 12px; }
.bt-dash__coins.is-urgent small { color: #FFB4A8; font-weight: 700; }
.bt-dash__coins > .bt-icon { width: 18px; height: 18px; color: rgba(255, 255, 255, .6); }
.bt-coins { display: grid; gap: 16px; }
.bt-coins__hero { position: relative; overflow: hidden; padding: 22px 20px; border-radius: var(--r-lg); color: #fff; background: radial-gradient(130% 120% at 100% 0%, rgba(255, 138, 91, .35), transparent 50%), linear-gradient(135deg, #10183A, #16204A); }
.bt-coins__hero::after { content: ""; position: absolute; right: -50px; top: -50px; width: 180px; height: 180px; border-radius: 50%; border: 24px solid rgba(255, 138, 91, .14); }
.bt-coins__label { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--accent-hi); font-size: var(--t-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bt-coins__bal { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.bt-coins__bal strong { font-size: 3rem; font-weight: 800; line-height: 1; }
.bt-coins__bal span { font-size: var(--t-md); opacity: .85; }
.bt-coins__exp { position: relative; z-index: 1; margin: 10px 0 16px; font-size: var(--t-sm); opacity: .9; }
.bt-coins__exp.is-urgent { display: inline-block; padding: 4px 10px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .14); color: #FFD0C8; font-weight: 700; opacity: 1; }
.bt-coins__hero .bt-btn { position: relative; z-index: 1; }
.bt-coins__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bt-coins__list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.bt-coins__list li:last-child { border: 0; }
.bt-coins__list strong { display: block; font-size: var(--t-sm); }
.bt-coins__list small { color: var(--muted); font-size: 12px; }
.bt-coins__amt { min-width: 56px; padding: 4px 8px; border-radius: var(--r-pill); font-size: var(--t-sm); font-weight: 800; text-align: center; }
.bt-coins__amt.is-plus { background: #E5F2E9; color: var(--ok); }
.bt-coins__amt.is-minus { background: var(--ivory); color: var(--muted); }
.bt-coins__amt.is-pending { background: #F7F4EE; color: #9A6B12; }
.bt-coins__how { list-style: none; counter-reset: s; margin: 0; padding: 0; display: grid; gap: 12px; }
.bt-coins__how li { counter-increment: s; position: relative; padding-left: 40px; font-size: var(--t-sm); color: var(--muted); }
.bt-coins__how li::before { content: counter(s); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; font-size: 13px; }
.bt-coins__how strong { display: block; color: var(--ink); }

/* Combo offer */
.bt-combo-bar { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 10px 14px; border-radius: var(--r-md); background: linear-gradient(90deg, rgba(31, 45, 107, .08), rgba(242, 84, 27, .16)); color: var(--brand-deep); font-size: var(--t-sm); }
.bt-combo-bar svg { flex: none; color: var(--brand); }
.bt-drawer .bt-combo-bar { margin: 0 0 14px; }
.bt-combo-chips { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 14px; padding: 10px 12px; border: 1px dashed rgba(31, 45, 107, .35); border-radius: var(--r-md); color: var(--brand-deep); font-size: var(--t-xs); }
.bt-combo-chips svg { flex: none; color: var(--brand); margin-top: 1px; }
.bt-combo-chips small { display: block; color: var(--muted); font-weight: 500; margin-top: 2px; }

/* Product page extras */
.bt-badges { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 14px; padding: 0; }
.bt-badges li { padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--paper); font-size: 12px; font-weight: 600; color: var(--muted); }
.bt-sizehelp { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.bt-sizehelp .bt-size-guide-btn { float: none; margin: 0; }
.bt-size-finder-btn { color: var(--brand); font-weight: 700; }
.bt-size-finder-btn .bt-icon { color: var(--brand); }
.bt-fitline { margin: 0 0 10px; display: grid; gap: 2px; font-size: var(--t-xs); color: var(--muted); }
.bt-fitline p { margin: 0; }
.bt-fitline__fit strong { color: var(--ok); }
/* Sold-out size: dull, crossed out straight across, can't be picked */
.bt-pill { position: relative; }
.bt-pill.is-soldout { color: #B3B6C3; background: #F4F2EF; border-color: #E0E1E7; border-style: solid; text-decoration: none; cursor: not-allowed; opacity: .75; }
.bt-pill.is-soldout::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1.5px; background: #B3B6C3; transform: none; }
.bt-pill.is-soldout:hover { border-color: #E0E1E7; }
.bt-pill--swatch.is-soldout { cursor: pointer; }
/* Last 1–2 pieces: small red note under that size */
.bt-pills.has-left { padding-bottom: 18px; }
.bt-pill__left { position: absolute; left: 50%; top: calc(100% + 4px); transform: translateX(-50%); white-space: nowrap; color: var(--err); font-size: 11px; font-weight: 700; line-height: 1; pointer-events: none; }
.bt-sizegone { margin: 10px 0 0; font-size: var(--t-xs); color: var(--muted); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bt-sizegone[hidden] { display: none; }
.bt-sizegone__btn { padding: 0; border: 0; background: none; color: var(--brand); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bt-sizegone__btn.is-set { color: var(--ok, #1F7A3E); text-decoration: none; }
/* "Please select a size" above Add to cart */
.bt-pickmsg { margin: 0 0 8px; color: var(--err); font-size: var(--t-sm); font-weight: 700; display: flex; align-items: center; gap: 6px; }
.bt-pickmsg[hidden] { display: none; }
.bt-pickmsg::before { content: "!"; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--err); color: #fff; font-size: 12px; font-weight: 800; flex: none; }
.bt-pickmsg.is-shake { animation: bt-shake .4s; }
.bt-pills.is-need .bt-pill:not(.is-soldout) { border-color: var(--err); animation: bt-shake .4s; }
@keyframes bt-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .bt-pickmsg.is-shake, .bt-pills.is-need .bt-pill { animation: none; } }
.bt-lowstock { margin: 0 0 10px; padding: 8px 12px; border-radius: var(--r-sm); background: #FDEDEA; color: var(--err); font-size: var(--t-xs); font-weight: 700; }
.bt-notify { margin: 4px 0 16px; padding: 14px; border: 1.5px solid rgba(31, 45, 107, .3); border-radius: var(--r-md); background: #FFF8F6; }
.bt-notify__title { margin: 0 0 10px; font-size: var(--t-sm); color: var(--muted); }
.bt-notify__title strong { color: var(--ink); }
.bt-notify__row { display: flex; gap: 8px; }
.bt-notify input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-size: 16px; }
.bt-notify__msg { margin: 8px 0 0; font-size: var(--t-xs); font-weight: 600; }
.bt-notify__msg:empty { display: none; }
.bt-notify__msg.is-ok { color: var(--ok); }
.bt-notify__msg.is-err { color: var(--err); }
.bt-dispatch { display: flex; align-items: center; gap: 8px; margin: -8px 0 18px; padding: 10px 12px; border-radius: var(--r-sm); background: #EEF6F0; color: #1F5A33; font-size: var(--t-xs); }
.bt-dispatch svg { flex: none; }
.bt-dispatch strong { font-weight: 800; }
.bt-share { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 18px; }
.bt-share a, .bt-share button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-pill); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--t-xs); font-weight: 700; text-decoration: none; cursor: pointer; }
.bt-share .bt-icon { width: 18px; height: 18px; }
.bt-share__wa .bt-icon { color: #1FA855; }
.bt-faq { margin: 0; }
.bt-faq dt { font-weight: 700; margin: 12px 0 4px; color: var(--ink); }
.bt-faq dt:first-child { margin-top: 0; }
.bt-faq dd { margin: 0; color: var(--muted); }

/* Find my size sheet */
.bt-sf { display: grid; gap: 16px; }
.bt-sf__lead { margin: 0; color: var(--muted); font-size: var(--t-sm); }
.bt-sf__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bt-sf__grid label { display: grid; gap: 6px; font-size: var(--t-sm); font-weight: 700; }
.bt-sf__grid small { font-size: 11px; font-weight: 500; color: var(--muted); }
.bt-sf__unit { position: relative; }
.bt-sf__unit input { width: 100%; height: 48px; padding: 0 42px 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-size: 18px; font-weight: 700; }
.bt-sf__unit em { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: var(--t-xs); color: var(--muted); }
.bt-sf__fit { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bt-sf__fit legend { margin-bottom: 8px; font-size: var(--t-sm); font-weight: 700; }
.bt-sf__fit label { position: relative; }
.bt-sf__fit input { position: absolute; opacity: 0; }
.bt-sf__fit span { display: grid; place-items: center; height: 44px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-size: var(--t-sm); font-weight: 700; cursor: pointer; }
.bt-sf__fit input:checked + span { border-color: var(--brand); background: rgba(31, 45, 107, .06); color: var(--brand); }
.bt-sf__fit input:focus-visible + span { outline: 2px solid var(--brand); outline-offset: 2px; }
.bt-sf__result { display: grid; justify-items: center; gap: 6px; padding: 18px; border-radius: var(--r-md); background: var(--cotton); text-align: center; }
.bt-sf__result p { margin: 0; font-size: var(--t-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.bt-sf__result strong { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--brand); }
.bt-sf__result span { font-size: var(--t-sm); color: var(--muted); margin-bottom: 6px; }

/* Reviews: fit + photos */
.bt-revs__fit { grid-column: 1 / -1; margin: 0; padding-top: 10px; border-top: 1px dashed var(--line); font-size: var(--t-sm); }
.bt-revs__fit strong { color: var(--ok); }
.bt-revs__fit span { color: var(--muted); }
.bt-revs__photos { margin: 0 0 22px; }
.bt-revs__photos h3 { margin: 0 0 10px; font-size: var(--t-md); font-weight: 800; }
.bt-revs__photos ul { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0 0 4px; overflow-x: auto; scrollbar-width: none; }
.bt-revs__photos img { display: block; width: 88px; height: 110px; object-fit: cover; border-radius: var(--r-sm); }
.bt-rev-fit { margin: 6px 0 0; font-size: 12px; color: var(--muted); }
.bt-rev-photo img { display: block; width: 96px; height: 120px; margin-top: 10px; object-fit: cover; border-radius: var(--r-sm); }
.bt-fitpick { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
.bt-fitpick legend { width: 100%; margin-bottom: 6px; font-size: var(--t-xs); font-weight: 700; color: var(--muted); }
.bt-fitpick label { position: relative; }
.bt-fitpick input { position: absolute; opacity: 0; }
.bt-fitpick span { display: inline-block; padding: 6px 12px; border: 1.5px solid var(--line); border-radius: var(--r-pill); font-size: 12px; font-weight: 700; cursor: pointer; }
.bt-fitpick input:checked + span { border-color: var(--brand); color: var(--brand); background: rgba(31, 45, 107, .06); }
.bt-rate-photo { display: block; cursor: pointer; }
.bt-rate-photo__btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1.5px dashed #CDBFAF; border-radius: var(--r-sm); color: var(--muted); font-size: 12px; font-weight: 600; }
.bt-rate-photo.has-file .bt-rate-photo__btn { border-style: solid; border-color: var(--ok); color: var(--ok); }

/* Recently viewed */
.bt-recent__clear { border: 0; background: none; color: var(--muted); font: inherit; font-size: var(--t-xs); font-weight: 700; cursor: pointer; }
.bt-home-recent { margin-top: 8px; margin-bottom: 32px; }
.single-product .bt-recent { grid-column: 1 / -1; }

/* Search: recent searches */
.bt-search__recent { margin-bottom: 18px; }
.bt-search__recent p { display: flex; justify-content: space-between; align-items: center; }
.bt-chip--recent::before { content: "↺"; margin-right: 6px; color: var(--muted); }
.bt-search__suggest--drop { padding: 14px; }
.bt-search__suggest--drop p { margin: 0 0 8px; font-size: var(--t-xs); font-weight: 700; color: var(--muted); }

/* Welcome offer card */
.bt-welcome { position: fixed; z-index: 90; left: 12px; right: 12px; bottom: calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom)); padding: 18px; border-radius: var(--r-lg); color: #fff; background: radial-gradient(120% 140% at 100% 0%, rgba(242, 84, 27, .4), transparent 55%), linear-gradient(135deg, #26367D, var(--brand-deep)); box-shadow: 0 20px 50px -18px rgba(22, 32, 74, .7); transform: translateY(20px); opacity: 0; transition: transform .35s var(--ease), opacity .35s; }
.bt-welcome.is-on { transform: none; opacity: 1; }
@media (min-width: 900px) { .bt-welcome { left: auto; right: 24px; bottom: 24px; width: 360px; } }
.bt-welcome__x { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; }
.bt-welcome__x .bt-icon { width: 16px; height: 16px; }
.bt-welcome__kicker { margin: 0; color: var(--accent-hi); font-size: var(--t-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bt-welcome__big { margin: 2px 0 4px; font-size: var(--t-2xl); font-weight: 800; }
.bt-welcome__txt { margin: 0 0 12px; font-size: var(--t-sm); opacity: .88; padding-right: 20px; }
.bt-welcome__form { display: flex; gap: 8px; }
.bt-welcome__form input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 0; border-radius: var(--r-sm); font-size: 16px; }
.bt-welcome__done p { margin: 0 0 10px; font-size: var(--t-sm); }
.bt-welcome__code { width: 100%; padding: 12px; border: 2px dashed var(--accent); border-radius: var(--r-sm); background: rgba(255, 255, 255, .08); color: #fff; font: inherit; font-size: var(--t-lg); font-weight: 800; letter-spacing: .1em; cursor: copy; }

/* Install app */
.bt-install-link { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 0; border: 0; background: none; color: var(--brand); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.bt-install-link .bt-icon { width: 20px; height: 20px; }
.bt-install-steps { margin: 0; padding: 16px var(--gutter) 24px 40px; display: grid; gap: 10px; font-size: var(--t-sm); }
/* Keep every dashboard card inside the screen */
.bt-dash { grid-template-columns: minmax(0, 1fr); }
.bt-dash > * { min-width: 0; }
.bt-dash__who { min-width: 0; }
.bt-dash__hero { grid-template-columns: auto minmax(0, 1fr); }
@media (min-width: 700px) { .bt-dash__hero { grid-template-columns: auto minmax(0, 1fr) auto; } }

/* Invoices (round 6) */
.bt-invoice-link { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; font-size: var(--t-sm, 14px); color: var(--c-mute, #545A72); }
.bt-invoice-link a:not(.bt-btn) { color: var(--brand, #1F2D6B); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Policy pages + contact + complaints (round 6) */
.bt-policy-note { background: var(--cream, #F4F0E8); border-left: 4px solid var(--brand, #1F2D6B); border-radius: 0 12px 12px 0; padding: 16px 18px !important; font-size: var(--t-sm); line-height: 1.6; }
.bt-fillme { background: #FFF3C4; color: #6B4E00; padding: 0 4px; border-radius: 3px; }
.entry-content .wp-block-details, .bt-page .wp-block-details { border: 1px solid var(--line, #E2DED4); border-radius: 12px; padding: 0 16px; margin: 0 0 10px; }
.wp-block-details > summary { cursor: pointer; font-weight: 700; padding: 14px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--brand, #1F2D6B); }
.wp-block-details[open] > summary::after { content: "–"; }
.wp-block-details > p { margin: 0 0 14px; color: var(--c-mute, #545A72); }
.bt-contact-card { display: grid; gap: 14px; margin: 18px 0 26px; }
.bt-contact-card__grid { display: grid; gap: 12px; }
@media (min-width: 700px) { .bt-contact-card__grid { grid-template-columns: repeat(3, 1fr); } }
.bt-contact-card__item { display: grid; gap: 2px; padding: 16px 18px; border: 1px solid var(--line, #E2DED4); border-radius: 14px; text-decoration: none !important; color: inherit !important; background: #fff; transition: border-color .15s, transform .15s; }
.bt-contact-card__item:hover { border-color: var(--brand, #1F2D6B); transform: translateY(-1px); }
.bt-contact-card__item span { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--brand, #1F2D6B); }
.bt-contact-card__item b { font-size: 16px; word-break: break-word; }
.bt-contact-card__item small { color: var(--c-mute, #545A72); }
.bt-contact-card__item.is-wa { background: #F0FAF3; border-color: #CDEBD6; }
.bt-contact-card__item.is-wa span { color: #1E7A45; }
.bt-contact-card__office { background: var(--cream, #F4F0E8); border-radius: 14px; padding: 16px 18px; font-size: var(--t-sm); }
.bt-contact-card__office span { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c-mute, #545A72); margin-bottom: 4px; }
.bt-contact-card__office em { font-style: normal; color: var(--c-mute, #545A72); }
.bt-contact-card__office p { margin: 2px 0 0; }
.bt-complaint { display: grid; gap: 4px; max-width: 640px; padding: 20px; border: 1px solid var(--line, #E2DED4); border-radius: 16px; background: #fff; }
.bt-complaint p { margin: 0 0 10px; }
.bt-complaint label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.bt-complaint input, .bt-complaint select, .bt-complaint textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line, #E2DED4); border-radius: 10px; padding: 12px 14px; font: inherit; background: #fff; }
.bt-complaint input:focus, .bt-complaint select:focus, .bt-complaint textarea:focus { outline: 2px solid rgba(31,45,107,.25); border-color: var(--brand, #1F2D6B); }
.bt-complaint__row { display: grid; gap: 0 12px; }
@media (min-width: 600px) { .bt-complaint__row { grid-template-columns: 1fr 1fr; } }
.bt-complaint button { justify-self: start; margin-top: 4px; }
.bt-complaint__note { font-size: 12px; color: var(--c-mute, #545A72); margin: 6px 0 0 !important; }
.bt-complaint__err { background: #FDECEC; color: #8A1C1C; border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.bt-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bt-ticket-done { max-width: 640px; padding: 22px; border-radius: 16px; background: var(--cream, #F4F0E8); border: 1px dashed var(--accent, #F2541B); }
.bt-ticket-done span { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c-mute, #545A72); }
.bt-ticket-done b { display: block; font-size: 24px; color: var(--brand, #1F2D6B); margin: 4px 0 8px; letter-spacing: .02em; }
.bt-ticket-done p { margin: 0; }
.bt-cod-unlock { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0; padding: 11px 13px; border-radius: 12px; background: #FFF1E9; border: 1px solid #FFD3BE; color: #7A2A0A; font-size: 13.5px; line-height: 1.45; }
.bt-cod-unlock svg { flex-shrink: 0; margin-top: 1px; }
.bt-cod-unlock strong { color: var(--brand, #1F2D6B); }

/* Track order page (round 7) */
.bt-track__login { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; justify-content: space-between; padding: 18px; border-radius: 16px; background: var(--cream, #F4F0E8); border: 1px solid #E2DED4; margin-bottom: 18px; }
.bt-track__login strong { display: block; font-size: 16px; }
.bt-track__login p { margin: 4px 0 0; font-size: 14px; color: var(--c-mute, #545A72); }
.bt-track__or { display: flex; align-items: center; gap: 12px; margin: 22px 0 14px; font-size: 13px; font-weight: 700; color: var(--c-mute, #545A72); }
.bt-track__or::before, .bt-track__or::after { content: ""; flex: 1; height: 1px; background: var(--line, #E2DED4); }
.bt-track__or span { text-align: center; }
.bt-track__h { font-size: 18px; margin: 22px 0 10px; }
.bt-track__none { color: var(--c-mute, #545A72); }
.bt-track__list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.bt-track__list a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--line, #E2DED4); border-radius: 14px; text-decoration: none !important; color: inherit !important; background: #fff; }
.bt-track__list a:hover { border-color: var(--brand, #1F2D6B); }
.bt-track__img { width: 48px; height: 58px; border-radius: 8px; overflow: hidden; background: var(--cream, #F4F0E8); }
.bt-track__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-track__txt b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-track__txt small { display: block; font-size: 12.5px; color: var(--c-mute, #545A72); margin-top: 2px; }
.bt-track__st { font-size: 12px; font-weight: 700; color: var(--brand, #1F2D6B); background: #EEF0F8; padding: 4px 9px; border-radius: 999px; white-space: nowrap; }
.bt-track__other { margin-top: 8px; border-top: 1px solid var(--line, #E2DED4); padding-top: 12px; }
.bt-track__other > summary { cursor: pointer; font-weight: 700; color: var(--brand, #1F2D6B); padding: 6px 0 12px; }

/* Size guide page (round 7) */
.bt-size-guide__more { margin: 10px 0 0; font-size: 14px; }
.bt-size-guide__more a { color: var(--brand); font-weight: 700; }
.bt-sg { display: grid; gap: 34px; margin-top: 6px; }
.bt-sg h2 { font-size: 22px; margin: 0 0 8px; }
.bt-sg__kicker { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-deep, #B23A0E); }
.bt-sg__finder { display: grid; gap: 18px; padding: 22px; border-radius: 20px; background: linear-gradient(135deg, var(--brand, #1F2D6B), var(--brand-deep, #16204A)); color: #fff; }
.bt-sg__finder .bt-sg__kicker { color: var(--accent-hi, #FFA27A); }
.bt-sg__finder h2 { color: #fff; font-size: 26px; }
.bt-sg__finder-copy p:last-child { margin: 0; opacity: .85; }
.bt-sf--page { background: #fff; color: var(--ink); border-radius: 16px; padding: 18px; display: grid; gap: 14px; }
.bt-sf--page .bt-sf__result { text-align: center; }
.bt-sg__chart { display: grid; gap: 22px; align-items: start; }
.bt-sg__note { margin: 0 0 12px; color: var(--c-mute, #545A72); font-size: 14px; }
.bt-sg .bt-table tr.is-you th, .bt-sg .bt-table tr.is-you td { background: #F7F4EE; font-weight: 800; }
.bt-sg .bt-table tr.is-you th::after { content: " ← you"; font-size: 11px; color: var(--brand); font-weight: 700; }
.bt-sg__fig { margin: 0; padding: 16px; border-radius: 18px; background: var(--cream, #F4F0E8); }
.bt-sg__fig svg { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; }
.bt-sg__fig .tee { fill: #fff; stroke: var(--ink, #16204A); stroke-width: 2.2; stroke-linejoin: round; }
.bt-sg__fig .neck { fill: none; stroke: var(--ink, #16204A); stroke-width: 2; }
.bt-sg__fig .m path { stroke: var(--brand, #1F2D6B); stroke-width: 2.4; stroke-linecap: round; fill: none; }
.bt-sg__fig .m-sh path { stroke: var(--accent-deep, #C93D0C); }
.bt-sg__fig .m-ln path { stroke: #1E7A45; }
.bt-sg__fig text { font: 800 15px/1 "Archivo", sans-serif; text-anchor: middle; fill: var(--brand, #1F2D6B); }
.bt-sg__fig .m-sh text { fill: var(--accent-deep, #C93D0C); }
.bt-sg__fig .m-ln text { fill: #1E7A45; }
.bt-sg__fig figcaption { display: grid; gap: 6px; margin-top: 12px; font-size: 13.5px; }
.bt-sg__fig figcaption b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--brand, #1F2D6B); color: #fff; font-size: 12px; margin-right: 6px; }
.bt-sg__fig figcaption span:nth-child(2) b { background: #1E7A45; }
.bt-sg__fig figcaption span:nth-child(3) b { background: var(--accent-deep, #C93D0C); }
.bt-sg__steps ol { list-style: none; counter-reset: s; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.bt-sg__steps li { counter-increment: s; display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px; padding: 14px; border: 1px solid var(--line, #E2DED4); border-radius: 14px; background: #fff; }
.bt-sg__steps li::before { content: counter(s); grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--cream, #F4F0E8); color: var(--brand, #1F2D6B); font-weight: 800; }
.bt-sg__steps li b { font-size: 15px; }
.bt-sg__steps li span { font-size: 14px; color: var(--c-mute, #545A72); }
.bt-sg__facts { display: grid; gap: 10px; }
.bt-sg__facts div { padding: 16px; border-radius: 14px; background: var(--cream, #F4F0E8); }
.bt-sg__facts b { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--brand, #1F2D6B); margin-bottom: 4px; }
.bt-sg__facts span { font-size: 14.5px; }
.bt-sg__help { display: flex; gap: 12px; align-items: center; padding: 16px 18px; border-radius: 16px; background: #F0FAF3; border: 1px solid #CDEBD6; color: #14532D !important; text-decoration: none !important; font-size: 14.5px; }
.bt-sg__help svg { width: 28px; height: 28px; flex-shrink: 0; color: #1E7A45; }
@media (min-width: 900px) {
	.bt-sg__finder { grid-template-columns: 1fr 1.1fr; align-items: center; padding: 34px; }
	.bt-sg__chart { grid-template-columns: 1.4fr 1fr; }
	.bt-sg__steps ol { grid-template-columns: repeat(4, 1fr); }
	.bt-sg__steps li { grid-template-columns: 1fr; }
	.bt-sg__steps li::before { grid-row: auto; margin-bottom: 6px; }
	.bt-sg__facts { grid-template-columns: repeat(3, 1fr); }
}
.bt-sf__grid { align-items: start; }
.bt-card__cod.is-min { color: var(--c-mute, #545A72); font-weight: 600; }
.bt-cod-off { display: flex; gap: 12px; align-items: center; margin: 0 0 14px; padding: 13px 14px; border: 1px dashed var(--line, #E2DED4); border-radius: 12px; color: #8A8FA3; background: #FAF8F6; cursor: not-allowed; }
.bt-cod-off__radio { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #D5D7DF; flex-shrink: 0; }
.bt-cod-off b { display: block; font-size: 14.5px; color: #8A8FA3; }
.bt-cod-off small { font-size: 12.5px; }

/* Bulk enquiry form */
.bt-bulk { max-width: 760px; }
.bt-bulk__h { display: flex; align-items: center; gap: 10px; margin: 18px 0 10px; font-size: 17px; }
.bt-bulk__h:first-of-type { margin-top: 4px; }
.bt-bulk__h span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand, #1F2D6B); color: #fff; font-size: 13px; }
.bt-bulk__chips { border: 0; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bt-bulk__chips legend { width: 100%; font-size: 13px; font-weight: 700; margin-bottom: 8px; padding: 0; }
.bt-bulk__chips label { position: relative; margin: 0 !important; }
.bt-bulk__chips input { position: absolute; opacity: 0; width: 1px !important; }
.bt-bulk__chips span { display: inline-block; padding: 8px 13px; border: 1px solid var(--line, #E2DED4); border-radius: 999px; font-size: 13.5px; font-weight: 600; cursor: pointer; background: #fff; }
.bt-bulk__chips input:checked + span { background: var(--brand, #1F2D6B); border-color: var(--brand, #1F2D6B); color: #fff; }
.bt-bulk__chips input:focus-visible + span { outline: 2px solid var(--accent, #F2541B); }
.bt-bulk__inline { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 14px; }
.bt-bulk__inline span { font-weight: 700; width: 100%; }
.bt-bulk__inline label { display: inline-flex !important; gap: 6px; align-items: center; margin: 0 !important; font-weight: 500 !important; }
.bt-bulk__inline input { width: auto !important; }
.bt-bulk__hint { display: block; margin-top: 4px; color: var(--c-mute, #545A72); font-size: 12px; }

/* Exchange / return form (round 8) */
.bt-rt-choose { display: grid; gap: 10px; margin: 6px 0 16px; }
@media (min-width: 600px) { .bt-rt-choose { grid-template-columns: 1fr 1fr; } }
.bt-rt-card { position: relative; display: flex !important; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1.5px solid var(--line, #E2DED4); border-radius: 14px; cursor: pointer; background: #fff; margin: 0 0 8px !important; }
.bt-rt-card input { margin-top: 3px; accent-color: var(--brand, #1F2D6B); }
.bt-rt-card b { display: block; font-size: 15px; }
.bt-rt-card small { display: block; color: var(--c-mute, #545A72); font-size: 13px; margin-top: 2px; }
.bt-rt-card.is-on { border-color: var(--brand, #1F2D6B); background: #F7F8FC; }
.bt-rt-card--coins.is-on { border-color: var(--accent, #F2541B); background: #F7F4EE; }
.bt-rt-why { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 14px; }
.bt-rt-why span { font-weight: 700; }
.bt-rt-why label { display: inline-flex !important; gap: 6px; align-items: center; margin: 0 !important; }
.bt-rt-checks { border: 1px solid var(--line, #E2DED4); border-radius: 14px; padding: 12px 16px; margin: 10px 0; display: grid; gap: 8px; }
.bt-rt-checks legend { font-weight: 800; font-size: 14px; padding: 0 6px; }
.bt-rt-checks label { display: flex !important; gap: 10px; align-items: flex-start; font-size: 14px; margin: 0 !important; }
.bt-rt-checks input { margin-top: 2px; accent-color: var(--brand, #1F2D6B); width: 18px; height: 18px; flex-shrink: 0; }
.bt-rt-final { background: #FFF4E5; border: 1px solid #FFCDB5; color: #6B4A08; border-radius: 12px; padding: 11px 14px; font-size: 14px; }
.bt-rt-how { font-size: 13px; color: var(--c-mute, #545A72); }
.bt-rt-refund { border: 0; padding: 0; margin: 12px 0 6px; }
.bt-rt-refund legend { font-weight: 800; font-size: 14px; margin-bottom: 8px; padding: 0; }
.bt-return-photo__names { display: block; font-size: 12.5px; color: var(--c-mute, #545A72); margin-top: 4px; }
.bt-return-pickup { font-size: 13.5px; background: var(--cream, #F4F0E8); border-radius: 10px; padding: 8px 12px; }

/* Business GST invoice at checkout */
.bt-gst-box { margin: 14px 0 6px; padding: 12px 14px; border: 1px solid var(--line, #E2DED4); border-radius: 12px; background: #fff; }
.bt-gst-toggle { display: flex !important; gap: 10px; align-items: flex-start; cursor: pointer; margin: 0 !important; }
.bt-gst-toggle input { margin-top: 3px; accent-color: var(--brand, #1F2D6B); width: 18px; height: 18px; }
.bt-gst-toggle b { display: block; font-size: 14.5px; }
.bt-gst-toggle small { display: block; font-size: 12.5px; color: var(--c-mute, #545A72); font-weight: 500; }
.bt-gst-fields { margin-top: 10px; }
.bt-gst-fields .form-row { margin-bottom: 10px; }

/* ==========================================================================
   My Orders — one row per item · Order details · Help sheet (round 9)
   ========================================================================== */
.bt-tone--mute { color: var(--muted); }
.bt-tone--gold { color: #A8380E; }
.bt-tone--warn { color: var(--err); }

.bt-ol__search { display: flex; align-items: center; gap: 10px; padding: 0 14px; min-height: 48px; border: 1.5px solid var(--line); border-radius: var(--r-md); background: var(--paper); color: var(--muted); }
.bt-ol__search:focus-within { border-color: var(--brand); }
.bt-ol__search svg { width: 20px; height: 20px; flex: none; }
.bt-ol__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 16px; color: var(--ink); padding: 0; }
.bt-ol__chips { display: flex; gap: 8px; margin: 12px 0 14px; overflow-x: auto; scrollbar-width: none; }
.bt-ol__chips::-webkit-scrollbar { display: none; }
.bt-ol__chips button { flex: none; padding: 8px 14px; border: 1.5px solid var(--line); border-radius: var(--r-pill); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--t-xs); font-weight: 700; cursor: pointer; }
.bt-ol__chips button[aria-selected="true"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.bt-ol__list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); overflow: hidden; }
.bt-orow + .bt-orow { border-top: 1px solid var(--line); }
.bt-orow[hidden] + .bt-orow, .bt-orow:first-child { border-top: 0; }
.bt-orow__main, .bt-od__others a { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 12px; color: inherit; text-decoration: none; }
.bt-orow__main:hover, .bt-od__others a:hover { background: #FAFAFC; }
.bt-orow__main > svg, .bt-od__others a > svg { width: 18px; height: 18px; flex: none; margin-left: auto; color: var(--muted); }
.bt-orow__img { flex: none; width: 64px; height: 80px; border-radius: var(--r-sm); background: var(--ivory); overflow: hidden; }
.bt-orow__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-orow__txt { display: grid; gap: 3px; min-width: 0; }
.bt-orow__st { display: flex; align-items: center; gap: 7px; font-size: var(--t-sm); font-weight: 800; }
.bt-orow__st i, .bt-od__st i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.bt-orow__sub { font-size: var(--t-xs); color: var(--muted); }
.bt-orow__name { font-size: var(--t-sm); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-orow__var { font-size: var(--t-xs); color: var(--muted); }
.bt-orow__rate { display: flex; align-items: center; gap: 10px; margin: -4px 14px 14px 90px; font-size: var(--t-xs); color: var(--muted); }
.bt-orow__stars { display: inline-flex; gap: 2px; }
.bt-orow__stars a { color: #D0D3DC; font-size: 22px; line-height: 1; text-decoration: none; transition: color .15s; }
.bt-orow__stars:hover a { color: var(--accent); }
.bt-orow__stars a:hover ~ a { color: #D0D3DC; }
.bt-orow__stars--lg a { font-size: 34px; }
.bt-ol__none { padding: 28px 16px; text-align: center; color: var(--muted); }
.bt-ol__none[hidden], .bt-orow[hidden] { display: none; }

.bt-od { display: grid; gap: 12px; max-width: 720px; }
.bt-od__bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.bt-od__bar h2 { margin: 0; font-size: var(--t-lg); font-weight: 800; }
.bt-od__back { display: grid; place-items: center; width: 40px; height: 40px; margin-left: -8px; border-radius: 50%; color: var(--ink); }
.bt-od__back:hover { background: var(--ivory); }
.bt-od__back svg { width: 22px; height: 22px; }
.bt-od__back--txt { display: inline-flex; width: auto; height: 40px; gap: 6px; padding: 0 12px 0 8px; border-radius: var(--r-pill); font-size: var(--t-sm); font-weight: 700; text-decoration: none; }
.bt-od__back--txt svg { width: 18px; height: 18px; }
.bt-od__helpbtn { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid var(--brand); border-radius: var(--r-pill); background: var(--paper); color: var(--brand); font: inherit; font-size: var(--t-xs); font-weight: 800; cursor: pointer; }
.bt-od__helpbtn svg { width: 18px; height: 18px; }
.bt-od__helpbtn:hover { background: var(--brand); color: #fff; }
.bt-od__id { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: var(--t-sm); font-weight: 700; }
.bt-od__id small { width: 100%; font-weight: 500; color: var(--muted); font-size: var(--t-xs); }
.bt-od__copy { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 0; border-radius: var(--r-sm); background: var(--ivory); color: var(--muted); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.bt-od__copy svg { width: 14px; height: 14px; }
.bt-od__card, .bt-od .bt-return-card, .bt-od .bt-return-form { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); }
.bt-od__card h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 12px; font-size: var(--t-md); font-weight: 800; }
.bt-od__card h3 small { font-size: var(--t-xs); font-weight: 600; color: var(--muted); }
.bt-od__item { display: flex; gap: 14px; align-items: flex-start; }
.bt-od__itxt { flex: 1; min-width: 0; display: grid; gap: 4px; }
.bt-od__iname { margin: 0; font-size: var(--t-md); font-weight: 700; color: var(--ink); text-decoration: none; }
a.bt-od__iname:hover { color: var(--brand); }
.bt-od__ivar { margin: 0; font-size: var(--t-xs); color: var(--muted); }
.bt-od__iprice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 6px 0 0; }
.bt-od__iprice s { color: var(--muted); font-size: var(--t-xs); }
.bt-od__iprice b { font-size: var(--t-lg); }
.bt-od__tag { padding: 2px 8px; border-radius: var(--r-pill); background: var(--cotton); color: #A8380E; font-size: 12px; font-weight: 700; }
.bt-od__img { flex: none; width: 88px; height: 110px; border-radius: var(--r-sm); background: var(--ivory); overflow: hidden; }
.bt-od__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-od__st { display: flex; align-items: center; gap: 8px; margin: 0; font-size: var(--t-md); font-weight: 800; }
.bt-od__stsub { margin: 4px 0 0 16px; font-size: var(--t-xs); color: var(--muted); }
.bt-od__track > .bt-btn { margin-top: 12px; }
.bt-vsteps { list-style: none; margin: 16px 0 4px; padding: 0; }
.bt-vsteps li { position: relative; padding: 0 0 18px 30px; color: var(--muted); }
.bt-vsteps li:last-child { padding-bottom: 0; }
.bt-vsteps li::before { content: ""; position: absolute; left: 4px; top: 3px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #D0D3DC; background: var(--paper); box-sizing: border-box; z-index: 1; }
.bt-vsteps li::after { content: ""; position: absolute; left: 9px; top: 14px; bottom: -2px; width: 2px; background: #E2E3E9; }
.bt-vsteps li:last-child::after { display: none; }
.bt-vsteps li.is-done { color: var(--ink); }
.bt-vsteps li.is-done::before { border-color: var(--ok); background: var(--ok); }
.bt-vsteps li.is-done::after { background: var(--ok); }
.bt-vsteps li.is-current::after { background: linear-gradient(var(--ok) 0 30%, #E2E3E9 30%); }
.bt-vsteps li.is-current::before { box-shadow: 0 0 0 4px rgba(34, 112, 59, .16); }
.bt-vsteps b { display: block; font-size: var(--t-sm); font-weight: 700; }
.bt-vsteps span { display: block; font-size: var(--t-xs); color: var(--muted); margin-top: 2px; }
.bt-od__all { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 12px; }
.bt-od__all summary { display: inline-flex; align-items: center; gap: 4px; color: var(--brand); font-size: var(--t-sm); font-weight: 800; cursor: pointer; list-style: none; }
.bt-od__all summary::-webkit-details-marker { display: none; }
.bt-od__all summary svg { width: 16px; height: 16px; transition: transform .2s; }
.bt-od__all[open] summary svg { transform: rotate(180deg); }
.bt-od__all .bt-timeline { margin: 12px 0; }
.bt-od__awb { margin: 10px 0 0; font-size: var(--t-xs); color: var(--muted); }
.bt-od__note { margin: 12px 0 0; padding: 10px 12px; border-radius: var(--r-sm); background: #FDF2F1; color: var(--err); font-size: var(--t-xs); }
.bt-od__muted { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: var(--t-xs); color: var(--muted); }
.bt-od__rate { text-align: center; }
.bt-od__rate h3 { justify-content: center; margin-bottom: 2px; }
.bt-od__rate p { margin: 0 0 8px; font-size: var(--t-xs); color: var(--muted); }
.bt-od__addr { display: flex; gap: 10px; align-items: flex-start; font-size: var(--t-sm); }
.bt-od__addr + .bt-od__addr { margin-top: 10px; }
.bt-od__addr svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--muted); }
.bt-od__addr address { font-style: normal; line-height: 1.5; }
.bt-od__price dl { margin: 0; display: grid; gap: 9px; }
.bt-od__price dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); }
.bt-od__price dt { color: var(--muted); }
.bt-od__price dd { margin: 0; font-weight: 600; }
.bt-od__price .is-strike dd { text-decoration: line-through; color: var(--muted); font-weight: 500; }
.bt-od__price .is-off dd, .bt-od__price .is-free dd { color: var(--ok); }
.bt-od__price .is-total { margin-top: 4px; padding-top: 12px; border-top: 1px dashed #D0D3DC; font-size: var(--t-md); }
.bt-od__price .is-total dt { color: var(--ink); font-weight: 800; }
.bt-od__price .is-total dd { font-weight: 800; }
.bt-od__saved { margin: 12px 0 0; padding: 8px 12px; border-radius: var(--r-sm); background: #EEF6F0; color: var(--ok); font-size: var(--t-xs); font-weight: 700; }
.bt-od__paid { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: var(--t-xs); color: var(--muted); }
.bt-od__paid svg { width: 18px; height: 18px; }
.bt-od__inv { margin-top: 12px; display: inline-flex; gap: 6px; align-items: center; }
.bt-od__inv svg { width: 16px; height: 16px; }
.bt-od__others { list-style: none; margin: -6px -16px -16px; padding: 0; }
.bt-od__others li + li { border-top: 1px solid var(--line); }
.bt-od__others a { padding: 12px 16px; }
.bt-od__others .bt-orow__img { width: 48px; height: 60px; }
.bt-od__needhelp { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--cotton); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.bt-od__needhelp > svg:first-child { width: 24px; height: 24px; color: var(--brand); flex: none; }
.bt-od__needhelp > svg:last-child { width: 18px; height: 18px; margin-left: auto; color: var(--muted); flex: none; }
.bt-od__needhelp span { display: grid; gap: 2px; }
.bt-od__needhelp b { font-size: var(--t-sm); }
.bt-od__needhelp small { font-size: var(--t-xs); color: var(--muted); }
.bt-od__needhelp:hover { border-color: var(--brand); }

/* one-item exchange / return form */
.bt-rt-item { padding: 10px 12px; border-radius: var(--r-sm); background: var(--ivory); }
.bt-rt-until { font-size: var(--t-xs); color: var(--muted); }
.bt-rt-sizes { display: flex; flex-wrap: wrap; gap: 8px; }
.bt-rt-sizes label { position: relative; }
.bt-rt-sizes input { position: absolute; opacity: 0; inset: 0; }
.bt-rt-sizes span { display: grid; place-items: center; min-width: 52px; height: 44px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-sm); font-weight: 700; cursor: pointer; }
.bt-rt-sizes label.is-on span, .bt-rt-sizes input:checked + span { border-color: var(--brand); background: var(--brand); color: #fff; }
.bt-rt-sizes input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Help bottom sheet (centred dialog on desktop) */
.bt-hsheet { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: flex-end; justify-content: center; }
.bt-hsheet[hidden] { display: none; }
.bt-hsheet__scrim { position: absolute; inset: 0; background: rgba(22, 32, 74, .5); opacity: 0; transition: opacity .22s; }
.bt-hsheet__panel { position: relative; width: 100%; max-height: 88vh; overflow-y: auto; padding: 8px 0 calc(16px + env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; background: var(--paper); transform: translateY(100%); transition: transform .22s var(--ease); outline: 0; }
.bt-hsheet.is-in .bt-hsheet__scrim { opacity: 1; }
.bt-hsheet.is-in .bt-hsheet__panel { transform: none; }
.bt-hsheet__grab { display: block; width: 40px; height: 4px; margin: 2px auto 8px; border-radius: 4px; background: #D0D3DC; }
.bt-hsheet__head { display: flex; align-items: center; justify-content: space-between; padding: 0 16px 4px; }
.bt-hsheet__head h3 { margin: 0; font-size: var(--t-lg); font-weight: 800; }
.bt-hsheet__x { display: grid; place-items: center; width: 40px; height: 40px; margin-right: -8px; border: 0; border-radius: 50%; background: none; color: var(--ink); cursor: pointer; }
.bt-hsheet__x svg { width: 20px; height: 20px; }
.bt-hsheet__item { display: flex; align-items: center; gap: 12px; margin: 6px 16px 8px; padding: 10px; border-radius: var(--r-sm); background: var(--ivory); }
.bt-hsheet__item img { width: 40px; height: 50px; object-fit: cover; border-radius: 4px; }
.bt-hsheet__item span { display: grid; gap: 2px; min-width: 0; }
.bt-hsheet__item b { font-size: var(--t-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bt-hsheet__item small { font-size: var(--t-xs); color: var(--muted); }
.bt-hsheet__list { list-style: none; margin: 0; padding: 0; }
.bt-hsheet__row { display: flex; align-items: center; gap: 14px; padding: 13px 16px; color: var(--ink); text-decoration: none; }
a.bt-hsheet__row:hover { background: #FAFAFC; }
.bt-hsheet__row > svg { width: 18px; height: 18px; margin-left: auto; color: var(--muted); flex: none; }
.bt-hsheet__row.is-off { color: var(--muted); }
.bt-hsheet__ic { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 50%; background: var(--cotton); color: var(--brand); }
.bt-hsheet__row.is-off .bt-hsheet__ic { background: var(--ivory); color: var(--muted); }
.bt-hsheet__ic svg { width: 19px; height: 19px; }
.bt-hsheet__txt { display: grid; gap: 2px; min-width: 0; }
.bt-hsheet__txt b { font-size: var(--t-sm); font-weight: 700; }
.bt-hsheet__txt small { font-size: var(--t-xs); color: var(--muted); }
.bt-help--chat .bt-hsheet__ic { background: #E7F6EC; color: #1E8E4A; }
.bt-help--cancel b { color: var(--err); }
.bt-hsheet__list li + li { border-top: 1px solid #F1EEEB; }
html.bt-hsheet-open { overflow: hidden; }
@media (min-width: 700px) {
	.bt-hsheet { align-items: center; }
	.bt-hsheet__panel { width: 440px; border-radius: 18px; transform: translateY(16px) scale(.98); opacity: 0; transition: transform .22s var(--ease), opacity .22s; }
	.bt-hsheet.is-in .bt-hsheet__panel { transform: none; opacity: 1; }
	.bt-hsheet__grab { display: none; }
	.bt-hsheet__head { padding-top: 8px; }
}
.bt-od__bar h2 { margin-right: auto; align-self: center; }
.bt-od .bt-return-form button[type=submit] { width: 100%; min-height: 48px; background: var(--brand); border: 0; color: #fff; font-weight: 800; border-radius: 3px; }
.bt-od .bt-return-form button[type=submit]:hover { background: var(--brand-deep); }

/* Round 10 — refund summary on a return */
.bt-return-sum { display: grid; gap: 6px; margin: 12px 0 0; padding: 12px 14px; border-radius: var(--r-md); background: #F7F4EE; }
.bt-return-sum div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); }
.bt-return-sum dt { color: var(--muted); }
.bt-return-sum dd { margin: 0; font-weight: 700; color: var(--brand-deep); text-align: right; }
.bt-return-sumnote { margin: 8px 0 0; font-size: 12px; color: var(--muted); }

/* Round 11 — COD with advance */
.bt-codadv { display: grid; gap: 4px; margin-top: 6px; padding: 10px 12px; border-radius: var(--r-md); background: #F7F4EE; }
.bt-codadv__row { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); }
.bt-codadv__row b { color: var(--brand-deep); }
.bt-codadv small { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); line-height: 1.45; }
.bt-advpay { max-width: 460px; margin: 0 auto 32px; padding: 22px 20px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; }
.bt-advpay h2 { margin: 0 0 14px; font-size: var(--t-lg); }
.bt-advpay dl { display: grid; gap: 8px; margin: 0 0 16px; }
.bt-advpay dl div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); }
.bt-advpay dl dt { color: var(--muted); }
.bt-advpay dl dd { margin: 0; font-weight: 700; }
.bt-advpay dl .is-now { padding: 10px 12px; border-radius: var(--r-md); background: #F7F4EE; }
.bt-advpay dl .is-now dt, .bt-advpay dl .is-now dd { color: var(--brand-deep); font-weight: 800; }
.bt-advpay .bt-btn { width: 100%; justify-content: center; }
.bt-advpay__msg { min-height: 1.2em; margin: 10px 0 0; font-size: var(--t-sm); color: var(--brand); }
.bt-advpay__msg.is-err { color: var(--err); }
.bt-advpay__note { margin: 12px 0 0; font-size: 12px; color: var(--muted); }
.bt-advpay__alt { margin: 10px 0 0; font-size: var(--t-sm); }
.bt-advpay__alt a { color: var(--brand); font-weight: 700; }
.bt-advpaid { padding: 12px 14px; border-radius: var(--r-md); background: #EAF5EE; color: #1E5C38; }
.bt-rt-advnote { margin: 0 0 10px; padding: 10px 12px; border-radius: var(--r-md); background: #F7F4EE; font-size: var(--t-sm); color: var(--brand-deep); }
.bt-risk-note { border-left: 4px solid var(--err); }

/* Round 12 — delivery charge nudge */
.bt-price__more { margin: -2px 0 4px; padding: 8px 10px; border-radius: var(--r-sm, 8px); background: #EAF5EE; color: #1E5C38; font-size: 12.5px; line-height: 1.4; }
.bt-price__more strong { color: #14532D; }
.bt-price__more a { margin-left: 4px; color: var(--brand); font-weight: 700; white-space: nowrap; }
.bt-price__rows del.is-muted { color: var(--muted); font-weight: 400; margin-right: 4px; }
.bt-trust li a { display: grid; justify-items: center; gap: 6px; color: inherit; text-decoration: none; }
.bt-trust li a span { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.bt-guest-track { margin: 14px 0 0; font-size: 13px; color: var(--muted); text-align: center; }
.bt-guest-track a { color: var(--brand); font-weight: 700; }

/* =====================================================================
 * Shop v2 — slim sticky filter chips, endless feed, "Pick your size"
 * ===================================================================== */
.bt-shop-head { align-items: center; margin-bottom: 10px; }
.bt-shop-head__main { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.bt-shop-head__title { font-size: clamp(1.2rem, 1rem + 1.4vw, 2rem); line-height: 1.15; }
.bt-shop-head__count { margin: 0; }
.bt-shop-note { margin: -4px 0 10px; color: var(--muted); font-size: var(--t-sm); }
.bt-shop-bar { display: none !important; }

.bt-fbar { position: sticky; top: var(--bt-sticky-top, calc(var(--header-h) + 51px)); z-index: 30; margin: 0 calc(var(--gutter) * -1) 12px; padding: 8px 0; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.bt-fbar__track { display: flex; gap: 8px; padding: 0 var(--gutter); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.bt-fbar__track::-webkit-scrollbar { display: none; }
.bt-fchip { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px 0 14px; border: 1.5px solid #D6D8E0; border-radius: 10px; background: #fff; color: var(--ink); font: 600 14px/1 var(--f-body); white-space: nowrap; cursor: pointer; transition: border-color .15s, background .15s; -webkit-tap-highlight-color: transparent; }
.bt-fchip .bt-icon { width: 16px; height: 16px; color: #60667E; }
.bt-fchip:active { transform: scale(.97); }
.bt-fchip--main { padding-left: 12px; }
.bt-fchip b { color: var(--brand); font-weight: 800; }
.bt-fchip.is-on { border-color: var(--brand); background: #F4F5FB; }
.bt-fchip.is-on .bt-icon { color: var(--brand); }
.bt-fchip__n { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 800; }
@media (min-width: 1024px) { .bt-fbar { display: none; } .bt-fgroup--sort { display: none; } }

/* Quick filter sheet */
.bt-qf .bt-sheet__body { padding-bottom: 22px; }
.bt-qf .bt-fgroup { margin: 0; padding: 0; border: 0; }
.bt-qf .bt-fpill { height: 46px; min-width: 58px; border-radius: 12px; font-size: 15px; }
.bt-qf .bt-fcats { columns: 1; }
.bt-qf.is-busy .bt-sheet__body { opacity: .5; pointer-events: none; transition: opacity .15s; }
.bt-fpills--price { margin-bottom: 12px; }
.bt-fgroup--sort .bt-fpill { height: 38px; font-size: 13.5px; }

/* Endless feed */
.bt-js-feed .woocommerce-pagination { display: none; }
.bt-feed-sentinel { height: 1px; }
.bt-results ul.products > li.bt-card { content-visibility: auto; contain-intrinsic-size: auto 420px; }
.bt-feed-restore ul.products > li.bt-card { content-visibility: visible; }
.bt-card--in { animation: bt-card-in .45s var(--ease) both; }
@keyframes bt-card-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.bt-skel { display: flex; flex-direction: column; gap: 8px; padding-bottom: 12px; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.bt-skel__img { aspect-ratio: 4 / 5; }
.bt-skel__l { height: 12px; margin: 0 12px; border-radius: 6px; }
.bt-skel__l--s { width: 45%; }
.bt-skel__img, .bt-skel__l { background: linear-gradient(90deg, #F3F0EC 0%, #FBF9F6 50%, #F3F0EC 100%) 0 0 / 200% 100%; animation: bt-skel 1.1s linear infinite; }
@keyframes bt-skel { to { background-position: -200% 0; } }

.bt-feed-note { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 14px; margin: 10px 0; padding: 16px 18px; border-radius: 16px; background: var(--cotton); color: var(--ink); list-style: none; }
.bt-feed-note > div { flex: 1; min-width: 200px; }
.bt-feed-note strong { display: block; font-size: var(--t-md); font-weight: 800; }
.bt-feed-note span:not(.bt-feed-note__ic) { color: var(--muted); font-size: var(--t-sm); }
.bt-feed-note__ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--ok); font-size: 20px; font-weight: 800; }
.bt-feed-caught { border: 1px dashed rgba(242, 84, 27, .7); background: linear-gradient(180deg, #FCFBF8, #F7F4EE); }

/* "Pick your size" card in the middle of the feed */
.bt-sizepick { position: relative; grid-column: 1 / -1; margin: 8px 0; padding: 18px 16px 16px; border-radius: 18px; background: radial-gradient(120% 140% at 0% 0%, var(--brand-soft), var(--brand) 50%, var(--brand-deep)); color: #fff; list-style: none; box-shadow: 0 18px 36px -22px rgba(31, 45, 107, .8); animation: bt-card-in .5s var(--ease) both; overflow: hidden; }
.bt-sizepick::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; border: 1px solid rgba(255, 176, 137, .3); pointer-events: none; }
.bt-sizepick.is-gone { opacity: 0; transform: scale(.97); transition: opacity .25s, transform .25s; }
.bt-sizepick__x { position: absolute; top: 8px; right: 8px; z-index: 1; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.bt-sizepick__title { margin: 0 40px 4px 0; font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; }
.bt-sizepick__sub { margin: 0 0 14px; color: rgba(255, 255, 255, .82); font-size: var(--t-sm); }
.bt-sizepick__opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 8px; }
.bt-sizepick__btn { position: relative; height: 50px; border: 1.5px solid rgba(255, 255, 255, .35); border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; font: 800 16px/1 var(--f-body); cursor: pointer; transition: background .15s, transform .1s, border-color .15s; }
.bt-sizepick__btn:hover { background: rgba(255, 255, 255, .2); }
.bt-sizepick__btn:active { transform: scale(.95); background: var(--accent); color: #fff; }
.bt-sizepick__btn.is-mine { border-color: var(--accent-hi); background: rgba(255, 176, 137, .2); }
.bt-sizepick__btn.is-mine::after { content: "★"; position: absolute; top: -7px; right: -5px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 10px; }
.bt-sizepick__guide { margin-top: 12px; padding: 0; border: 0; background: none; color: var(--accent-hi); font: 700 13px/1.3 var(--f-body); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bt-sizepick--done { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #F4F5FB; color: var(--ink); box-shadow: none; border: 1.5px solid rgba(31, 45, 107, .25); }
.bt-sizepick--done::after { display: none; }
.bt-sizepick--done p { flex: 1; margin: 0; font-size: var(--t-sm); }
.bt-sizepick--done strong { display: block; }
.bt-sizepick--done span { color: var(--muted); font-size: 12.5px; }
.bt-sizepick__ok { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 800; }
.bt-sizepick__change { flex: none; padding: 8px 12px; border: 1.5px solid var(--brand); border-radius: 10px; background: #fff; color: var(--brand); font: 800 13px/1 var(--f-body); cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .bt-card--in, .bt-sizepick, .bt-skel__img, .bt-skel__l { animation: none !important; } }
@media (max-width: 1023px) { .post-type-archive-product .bt-crumbs, .tax-product_cat .bt-crumbs, .tax-product_tag .bt-crumbs { display: none; } }
.bt-feed-filling ul.products { background: repeating-linear-gradient(180deg, transparent 0 12px, #F6F2EE 12px 420px) 0 0 / 100% 432px; border-radius: var(--r-md); }

/* =====================================================================
 * Product cards — every card the same size, buttons on one line
 * Each line has a fixed slot; badges sit on the picture.
 * ===================================================================== */
ul.products { align-items: stretch; }
ul.products > li.bt-card { height: 100%; }
.bt-card__body { gap: 0; }
.bt-card__line { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bt-card__line--cat { height: 22px; }
.bt-card__cat { overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.bt-card__title { margin: 6px 0 4px; line-height: 1.3; min-height: 2.6em; }
.bt-card__line--rate { height: 22px; }
.bt-card__price { height: 28px; margin-top: 4px; font-size: inherit; font-weight: 400; gap: 6px; align-items: baseline; }
.bt-p__now { font-size: 17px; font-weight: 800; color: var(--ink); }
.bt-p__from { font-size: 12px; font-weight: 700; color: var(--muted); }
.bt-p__was { font-size: 12.5px; color: #7C8197; }
.bt-p__off { font-size: 12.5px; font-weight: 800; color: var(--ok); }
.bt-card__offer { height: 18px; font-size: 12px; font-weight: 700; color: #B23A0E; }
.bt-card__ship { height: 18px; font-size: 12px; display: block; line-height: 18px; }
.bt-card__ship--out { color: var(--muted); font-weight: 600; }
.bt-card__cod { height: 18px; font-size: 12px; display: block; line-height: 18px; }
.bt-card__cod .is-min { color: var(--muted); font-weight: 600; }
.bt-card__body .bt-card__add, .bt-card__body > .bt-card__add { margin-top: auto; }
.bt-card__body > .bt-card__cod { margin-bottom: 10px; }
@media (min-width: 700px) {
	.bt-card__body { gap: 0; }
	.bt-p__now { font-size: 19px; }
	.bt-card__ship, .bt-card__cod, .bt-card__offer { font-size: 12.5px; }
}

/* Badges on the picture (never change the card size) */
.bt-card .bt-badges { position: absolute; top: 8px; left: 0; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; pointer-events: none; }
.bt-card .bt-badge { display: block; margin: 0; border-radius: 0; padding: 4px 12px 4px 8px; background: var(--brand); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; line-height: 1.3; clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%); box-shadow: 0 4px 10px -6px rgba(0, 0, 0, .5); }
.bt-card .bt-badge--sale { background: var(--ok); }
.bt-card .bt-badge--best { background: var(--accent); color: #fff; }
.bt-card .bt-badge--new { background: var(--brand); }
.bt-card .bt-badge--rated { background: #1F5F8B; }
.bt-card .bt-badge--low { background: var(--ink); }
.bt-card .bt-badge--pick { background: var(--brand-deep); }
.bt-card .bt-badge--out { background: #555; }

/* =====================================================================
 * Sold-out cards: soft off-colour card, big SOLD OUT on the picture, "Notify me"
 * ===================================================================== */
.bt-card.outofstock { background: #F5F2EF; border-color: #E6E0DA; }
.bt-card.outofstock .bt-card__img img { filter: grayscale(.35) saturate(.85); opacity: .9; }
.bt-card.outofstock .bt-card__title a, .bt-card.outofstock .bt-p__now { color: #646A82; }
.bt-card.outofstock .bt-card__cat { background: #ECE6E0; color: #6E7389; }
.bt-card.outofstock .bt-card__colours { opacity: .7; }
/* "SOLD OUT" band low on the picture — the design itself stays visible */
.bt-card__soldout { position: absolute; left: 0; right: 0; bottom: 54px; z-index: 1; pointer-events: none; }
.bt-card__soldout span { display: block; padding: 7px 8px; background: rgba(22, 32, 74, .72); color: #fff; font-size: clamp(15px, 4.2vw, 20px); font-weight: 800; letter-spacing: .22em; text-align: center; text-transform: uppercase; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.bt-card__notify { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1.5px solid var(--brand); background: #fff; color: var(--brand); font-weight: 800; }
.bt-card__notify .bt-icon { width: 18px; height: 18px; }
.bt-card__notify:hover { background: var(--brand); color: #fff; }
.bt-card__notify.is-set { border-color: var(--ok); background: #EEF7F0; color: var(--ok); }
.bt-card__notify.is-set .bt-icon { display: none; }

/* Notify sheet */
.bt-nsheet__item { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 10px; border-radius: 14px; background: var(--cotton); }
.bt-nsheet__item img { width: 56px; height: 70px; object-fit: cover; border-radius: 10px; background: var(--ivory); filter: grayscale(.5); }
.bt-nsheet__item strong { display: block; font-size: var(--t-md); line-height: 1.3; }
.bt-nsheet__item span { color: var(--muted); font-size: 13px; font-weight: 600; }
.bt-nsheet__label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 800; color: var(--ink); }
.bt-nsheet__label[hidden], .bt-nsheet__sizes[hidden] { display: none; }
.bt-nsheet__sizes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.bt-nsheet__size { position: relative; cursor: pointer; }
.bt-nsheet__size input { position: absolute; opacity: 0; }
.bt-nsheet__size span { display: grid; place-items: center; min-width: 52px; height: 44px; padding: 0 12px; border: 1.5px solid #D6D8E0; border-radius: 12px; background: #fff; font-weight: 800; font-size: 15px; transition: border-color .15s, background .15s; }
.bt-nsheet__size--any span { font-weight: 700; font-size: 14px; }
.bt-nsheet__size input:checked + span { border-color: var(--brand); background: #F4F5FB; color: var(--brand); box-shadow: 0 0 0 3px rgba(31, 45, 107, .12); }
.bt-nsheet__size input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 2px; }
.bt-nsheet__email { display: block; width: 100%; height: 52px; margin-bottom: 14px; padding: 0 14px; border: 1.5px solid #D6D8E0; border-radius: 12px; font: 600 16px var(--f-body); }
.bt-nsheet__email:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(31, 45, 107, .12); }
.bt-nsheet__go { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; }
.bt-nsheet__go .bt-icon { width: 18px; height: 18px; }
.bt-nsheet__msg { min-height: 1.4em; margin: 10px 0 0; font-size: 14px; font-weight: 700; }
.bt-nsheet__msg.is-ok { color: var(--ok); }
.bt-nsheet__msg.is-err { color: var(--err); }
.bt-nsheet__fine { margin: 6px 0 0; color: var(--muted); font-size: 12.5px; }
.bt-feed-sold { background: #F5F2EF; border: 1px dashed #D6D8E0; }
.bt-feed-sold .bt-feed-note__ic { font-size: 18px; }

/* Sold-out product page */
.bt-gallery-wrap { position: relative; }
.bt-pp-soldout__tag { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); white-space: nowrap; z-index: 5; padding: 9px 16px; border-radius: 10px; background: rgba(22, 32, 74, .8); color: #fff; font-size: 18px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .6); pointer-events: none; }
.bt-pp-soldout .woocommerce-product-gallery__image img { filter: grayscale(.3) saturate(.85); }
.bt-pp-soldout .summary .price { color: #646A82; }
.bt-soldout-panel { margin: 18px 0 8px; padding: 18px 18px 16px; border: 1.5px dashed #D5D7DF; border-radius: 18px; background: #F7F3EF; }
.bt-soldout-panel__tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bt-soldout-panel__title { margin: 10px 0 4px; font-size: 1.3rem; font-weight: 800; letter-spacing: -.01em; }
.bt-soldout-panel__text { margin: 0 0 12px; color: var(--muted); font-size: var(--t-sm); line-height: 1.5; }
.bt-soldout-panel__sizes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; font-size: 13px; color: var(--muted); }
.bt-soldout-panel__sizes b { display: grid; place-items: center; min-width: 40px; height: 34px; padding: 0 8px; border: 1.5px dashed #CFC4BA; border-radius: 10px; background: #fff; color: #7C8197; font-weight: 800; text-decoration: line-through; text-decoration-color: rgba(124, 129, 151, .6); }
.bt-pp-notify { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; font-size: 16px; }
.bt-pp-notify .bt-icon { width: 20px; height: 20px; }
.bt-pp-notify.is-set { background: #EEF7F0; border-color: var(--ok); color: var(--ok); }
.bt-pp-notify.is-set .bt-icon { display: none; }
.bt-soldout-panel .bt-wish-inline { margin-top: 10px; }
.bt-soldout-panel__more { display: block; margin-top: 12px; color: var(--brand); font-weight: 800; text-decoration: none; }
.bt-pp-soldout .bt-pincode { display: none; }

/* Gallery zoom button (opens the photo full-screen) — same round white button as the heart */
.woocommerce-product-gallery__trigger { position: absolute; top: 14px; left: 14px; z-index: 6; display: grid !important; place-items: center; width: 42px !important; height: 42px !important; border-radius: 50% !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316204A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / 21px no-repeat !important; box-shadow: 0 4px 14px -6px rgba(0, 0, 0, .35); font-size: 0 !important; text-indent: -9999px; overflow: hidden; }
.woocommerce-product-gallery__trigger::before, .woocommerce-product-gallery__trigger::after { display: none !important; content: none !important; }
.woocommerce-product-gallery__trigger span, .woocommerce-product-gallery__trigger img { display: none !important; }

/* Product photos: prev / next arrows on the main picture (only when there are 2+ photos) */
.woocommerce-product-gallery .flex-direction-nav { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; z-index: 4; }
.woocommerce-product-gallery .flex-direction-nav li { position: absolute; top: 50%; transform: translateY(-50%); }
.woocommerce-product-gallery .flex-direction-nav .flex-nav-prev { left: 12px; }
.woocommerce-product-gallery .flex-direction-nav .flex-nav-next { right: 12px; }
.woocommerce-product-gallery .flex-direction-nav a { pointer-events: auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .94) center / 20px no-repeat; box-shadow: 0 4px 14px -6px rgba(0, 0, 0, .45); font-size: 0; color: transparent; overflow: hidden; transition: transform .15s, opacity .2s; }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316204A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E"); }
.woocommerce-product-gallery .flex-direction-nav .flex-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316204A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E"); }
.woocommerce-product-gallery .flex-direction-nav a:active { transform: scale(.92); }
.woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: .35; pointer-events: none; }
@media (hover: hover) { .woocommerce-product-gallery .flex-direction-nav a { opacity: .85; } .woocommerce-product-gallery:hover .flex-direction-nav a { opacity: 1; } }
/* Phones and tablets swipe with a finger, so the arrows only get in the way there.
   They stay for anyone on a mouse or trackpad, whatever the window size. */
@media (hover: none), (pointer: coarse) { .woocommerce-product-gallery .flex-direction-nav { display: none; } }
.bt-price .checkout-button:hover, #place_order:hover, .woocommerce #place_order:hover { background: var(--accent-deep); }
