/* ==========================================================================
   Beauty Store — theme styles
   ========================================================================== */

:root {
	/* Palette taken from the Beauty Softy logo: bronze/gold on ivory & beige */
	--bs-primary: #5b3f27;
	--bs-primary-hover: #8a6a45;
	--bs-accent: #b8935a;
	--bs-accent-light: #e2c38a;
	--bs-sale: #a8432a;
	--bs-footer-bg: #efe6da;
	--bs-text: #231a12;
	--bs-muted: rgba(35, 26, 18, .65);
	--bs-border: #d6c7b4;
	--bs-border-soft: rgba(214, 199, 180, .7);
	--bs-meta: #faf6f0;
	--bs-card-bg: #f6f0e8;
	--bs-success: #3c7a3f;
	--bs-band: #ece2d5;
	--bs-dark: #1c140e;
	--bs-gutter: 29px;
	--bs-gap: 24px;
	--bs-page: 1600px;
	--bs-logo-h: 64px;
	--bs-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--bs-font-logo: "Kaushan Script", "Brush Script MT", cursive;
	--bs-hero-speed: 6000ms;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.bs-lock { overflow: hidden; }

body {
	margin: 0;
	font-family: var(--bs-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--bs-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip; /* safety net against sideways scrolling (keeps position: sticky working) */
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
h1, h2, h3, h4 { font-weight: 600; line-height: 1.25; margin: 0 0 .6em; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.bs-skip:focus {
	clip: auto; width: auto; height: auto; margin: 0; z-index: 2000; left: 12px; top: 12px;
	padding: 10px 16px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}

.bs-icon { width: 1em; height: 1em; flex: none; }
/* App-mode elements (tab bar, sheets, quick add…) exist only on phones & tablets. */
@media (min-width: 1024px) { .bs-app-only { display: none !important; } }
.bs-sheet__handle, .bs-when-mobile { display: none; }
.bs-container { width: 100%; max-width: var(--bs-page); margin-inline: auto; padding-inline: var(--bs-gutter); }
.bs-container--narrow { max-width: 1000px; }
.bs-hp { position: absolute; left: -9999px; }

/* Buttons ------------------------------------------------------------- */
.bs-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 42px; padding: 10px 28px;
	background: var(--bs-primary); color: #fff; border: 1px solid var(--bs-primary); border-radius: 0;
	font-family: var(--bs-font); font-size: 14px; font-weight: 400; line-height: 1.2;
	letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
	cursor: pointer; transition: background-color .2s, border-color .2s, opacity .2s;
}
.bs-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--bs-primary-hover); border-color: var(--bs-primary-hover); color: #fff; }
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled { background: var(--bs-primary); opacity: .55; }
.bs-btn--dark { background: var(--bs-text); border-color: var(--bs-text); }
.bs-btn--dark:hover { background: #333; border-color: #333; }
.bs-btn--pill { border-radius: 8px; text-transform: none; letter-spacing: 0; font-weight: 500; }
.is-loading { opacity: .6; pointer-events: none; }

/* ==========================================================================
   Header
   ========================================================================== */
.bs-header { position: relative; z-index: 60; background: #fff; }
.bs-header__main {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	min-height: 98px; padding: 12px var(--bs-gutter);
}
.bs-header__burger { display: none; background: none; border: 0; padding: 6px; margin-left: -6px; font-size: 26px; cursor: pointer; line-height: 0; }
.bs-header__search { justify-self: start; }
.bs-header__mobile-search { display: none; }

.bs-search { position: relative; display: flex; width: 250px; height: 42px; border: 1px solid var(--bs-text); background: #fff; }
.bs-search input[type="search"] {
	flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 12px; font-size: 14px; background: transparent;
	-webkit-appearance: none; appearance: none;
}
.bs-search input::placeholder { color: rgba(18, 18, 18, .6); }
.bs-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.bs-search button {
	width: 43px; flex: none; border: 0; background: var(--bs-primary); color: #fff;
	display: grid; place-items: center; font-size: 20px; cursor: pointer; transition: background .2s;
}
.bs-search button:hover { background: var(--bs-primary-hover); }
.bs-search:focus-within { box-shadow: 0 0 0 2px color-mix(in srgb, var(--bs-primary) 18%, transparent); }

.bs-search__results {
	position: absolute; left: -1px; top: calc(100% + 6px); width: 380px; max-width: 92vw;
	background: #fff; border: 1px solid #e5e5e5; box-shadow: 0 12px 30px rgba(0, 0, 0, .12); z-index: 80;
	max-height: 70vh; overflow: auto;
}
.bs-search__item { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; padding: 10px 14px; text-decoration: none; border-bottom: 1px solid #f0f0f0; }
.bs-search__item:hover { background: var(--bs-meta); }
.bs-search__item img { width: 56px; height: 56px; object-fit: cover; background: var(--bs-card-bg); }
.bs-search__item-title { display: block; font-size: 14px; font-weight: 500; line-height: 1.35; }
.bs-search__item .price { font-size: 13px; }
.bs-search__all, .bs-search__none { display: block; padding: 12px 14px; font-size: 13px; text-align: center; }
.bs-search__all { font-weight: 600; text-decoration: none; color: var(--bs-primary); }

.bs-logo { justify-self: center; display: inline-flex; align-items: center; text-decoration: none; color: var(--bs-primary); }
.bs-logo__img { height: var(--bs-logo-h); width: auto; max-width: 260px; object-fit: contain; }
.bs-logo__text { font-family: var(--bs-font-logo); font-size: 44px; line-height: 1; letter-spacing: .01em; white-space: nowrap; }

.bs-header__icons { justify-self: end; display: flex; align-items: center; gap: 40px; }
.bs-header__icon { position: relative; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-size: 27px; line-height: 1; }
.bs-header__cart-label { font-size: 15px; }
.bs-cart-count {
	position: absolute; left: 17px; top: -7px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--bs-primary); color: #fff; font-size: 11px; line-height: 18px; text-align: center; font-weight: 500;
}
.bs-cart-count.is-empty { display: none; }

/* Menu bar ------------------------------------------------------------- */
.bs-nav { background: var(--bs-primary); position: relative; }
.bs-nav__list {
	list-style: none; margin: 0 auto; padding: 0 var(--bs-gutter); max-width: var(--bs-page);
	display: flex; flex-wrap: wrap; justify-content: center; column-gap: clamp(14px, 2.45vw, 36px);
}
/* Long menus: spread across the bar on a single line (like the reference store). */
.bs-nav__list:has(> li:nth-child(9)) { justify-content: space-between; flex-wrap: nowrap; column-gap: 12px; padding-inline: max(var(--bs-gutter), 2.2vw); }
.bs-nav__item { position: relative; }
.bs-nav__item.is-mega { position: static; }
.bs-nav__link {
	display: flex; align-items: center; gap: 4px; height: 38px;
	color: #fff; text-decoration: none; font-size: 12px; font-weight: 500;
	letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
}
.bs-nav__link .bs-icon { width: 12px; height: 12px; transition: transform .2s; }
.bs-nav__link span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .25s; padding-bottom: 1px; }
.bs-nav__item:hover > .bs-nav__link span,
.bs-nav__item.current-menu-item > .bs-nav__link span { background-size: 100% 1px; }
.bs-nav__item:hover > .bs-nav__link .bs-icon { transform: rotate(180deg); }

.bs-nav__dropdown {
	position: absolute; top: 100%; left: -18px; min-width: 230px; z-index: 70;
	background: #fff; box-shadow: 0 14px 30px rgba(0, 0, 0, .12); border-top: 1px solid #eee;
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
}
.bs-nav__item:hover > .bs-nav__dropdown,
.bs-nav__item:focus-within > .bs-nav__dropdown { opacity: 1; visibility: visible; transform: none; }
/* Dropdowns of the last items open towards the left so they never leave the screen */
.bs-nav__item:nth-last-child(-n+2) > .bs-nav__dropdown:not(.bs-nav__dropdown--mega) { left: auto; right: -18px; }
.bs-nav__sub { list-style: none; margin: 0; padding: 14px 0; }
.bs-nav__sublink, .bs-nav__subsublink { display: block; text-decoration: none; font-size: 14px; line-height: 1.4; }
.bs-nav__sublink { padding: 7px 22px; }
.bs-nav__sublink:hover, .bs-nav__subsublink:hover { color: var(--bs-primary); }
.bs-nav__subsub { list-style: none; margin: 0; padding: 0; }

/* Mega menu (top item with three levels) */
.bs-nav__dropdown--mega { left: 0; right: 0; min-width: 0; }
.bs-nav__dropdown--mega .bs-nav__sub {
	max-width: var(--bs-page); margin: 0 auto; padding: 28px var(--bs-gutter) 32px;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 24px 32px;
}
.bs-nav__dropdown--mega .bs-nav__sublink { padding: 0 0 10px; font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.bs-nav__dropdown--mega .bs-nav__subsublink { padding: 5px 0; font-size: 14px; color: rgba(18, 18, 18, .8); }

/* ==========================================================================
   Drawers, overlay, popup
   ========================================================================== */
.bs-overlay {
	position: fixed; inset: 0; background: rgba(0, 0, 0, .5); z-index: 900;
	opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.bs-overlay.is-visible { opacity: 1; visibility: visible; }

.bs-drawer {
	position: fixed; top: 0; bottom: 0; z-index: 950; width: min(420px, 92vw);
	background: #fff; display: flex; flex-direction: column;
	/* visibility flips instantly on open (so inputs can be focused) and waits for the slide-out on close */
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .35s; visibility: hidden;
}
.bs-drawer.is-open { transform: none; visibility: visible; transition: transform .35s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 0s; }
.bs-drawer--menu { left: 0; transform: translateX(-100%); width: min(360px, 88vw); }
.bs-drawer--cart { right: 0; transform: translateX(100%); }
.bs-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid #eee; }
.bs-drawer__title { font-size: 20px; margin: 0; }
.bs-drawer__close { background: none; border: 0; font-size: 24px; cursor: pointer; padding: 4px; line-height: 0; }
.bs-drawer__body { flex: 1; overflow: auto; padding: 18px 22px; }
.bs-drawer__foot { padding: 16px 22px; border-top: 1px solid #eee; }
.bs-drawer__foot a { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; font-size: 14px; }
.bs-drawer__foot .bs-icon { font-size: 20px; }
.bs-logo--drawer .bs-logo__text { font-size: 32px; }
.bs-logo--drawer .bs-logo__img { height: 44px; }

.bs-mnav { flex: 1; overflow: auto; }
.bs-mnav__list, .bs-mnav__sub { list-style: none; margin: 0; padding: 0; }
.bs-mnav__row { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #f0f0f0; }
.bs-mnav__link { flex: 1; padding: 13px 22px; text-decoration: none; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.bs-mnav__toggle { background: none; border: 0; padding: 12px 20px; font-size: 18px; cursor: pointer; line-height: 0; }
.bs-mnav__toggle .bs-icon { transition: transform .2s; }
.bs-mnav__item.is-open > .bs-mnav__row .bs-mnav__toggle .bs-icon { transform: rotate(180deg); }
.bs-mnav__sub { display: none; background: var(--bs-meta); }
.bs-mnav__item.is-open > .bs-mnav__sub { display: block; }
.bs-mnav__sub .bs-mnav__link { padding-left: 34px; text-transform: none; letter-spacing: 0; }
.bs-mnav__sub .bs-mnav__sub .bs-mnav__link { padding-left: 48px; color: rgba(18, 18, 18, .8); }

/* Mini cart */
.bs-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.bs-drawer .woocommerce-mini-cart-item {
	position: relative; display: block; min-height: 96px; padding: 0 30px 16px 96px !important; margin-bottom: 16px; border-bottom: 1px solid #eee;
	font-size: 14px; line-height: 1.4;
}
.bs-drawer .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 0; width: 80px !important; height: 80px; object-fit: cover; background: var(--bs-card-bg); margin: 0 !important; }
.bs-drawer .woocommerce-mini-cart-item > a:not(.remove) { font-weight: 500; text-decoration: none; display: block; margin-bottom: 6px; }
.bs-drawer .woocommerce-mini-cart-item .quantity { color: var(--bs-muted); }
.bs-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute; right: 0; top: 0; width: 22px; height: 22px; line-height: 20px; text-align: center;
	border-radius: 50%; color: var(--bs-text) !important; font-size: 18px; text-decoration: none; background: none;
}
.bs-drawer .woocommerce-mini-cart-item a.remove:hover { background: var(--bs-sale); color: #fff !important; }
.bs-drawer .woocommerce-mini-cart-item dl.variation { margin: 2px 0 6px; font-size: 12px; color: var(--bs-muted); display: flex; gap: 4px; }
.bs-drawer .woocommerce-mini-cart-item dl.variation dd, .bs-drawer .woocommerce-mini-cart-item dl.variation p { margin: 0; }
.bs-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; font-size: 16px; padding: 8px 0 16px; margin: 0; border-top: 0; }
.bs-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.bs-drawer .woocommerce-mini-cart__buttons .button { width: 100%; margin: 0 !important; }
.bs-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--bs-text); border-color: var(--bs-text); }
.bs-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover { background: var(--bs-text); color: #fff; }
.bs-drawer .woocommerce-mini-cart__empty-message { text-align: center; padding: 40px 0; color: var(--bs-muted); }

/* Popup */
.bs-popup { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(0, 0, 0, .5); animation: bsFade .3s ease; }
.bs-popup__box { position: relative; width: min(400px, 100%); background: #fff; border-radius: 12px; padding: 44px 60px 36px; text-align: center; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); }
.bs-popup__close { position: absolute; top: 16px; right: 18px; background: none; border: 0; font-size: 18px; cursor: pointer; line-height: 0; padding: 4px; }
.bs-logo--popup { margin-bottom: 38px; }
.bs-logo--popup .bs-logo__text { font-size: 30px; }
.bs-logo--popup .bs-logo__img { height: 42px; }
.bs-popup__title { font-size: 17px; font-weight: 700; text-transform: uppercase; margin: 0 0 12px; letter-spacing: .01em; }
.bs-popup__text { font-size: 14px; line-height: 1.5; color: #6b7280; margin: 0 0 26px; }
.bs-popup__form label { display: block; text-align: left; font-size: 14px; margin-bottom: 14px; }
.bs-popup__form label span { display: block; margin-bottom: 6px; }
.bs-popup__form input { width: 100%; height: 43px; border: 0; border-radius: 8px; background: #ececec; padding: 0 12px; font-size: 15px; }
.bs-popup__form .bs-btn { width: 100%; min-height: 37px; margin-top: 8px; background: var(--bs-primary); border-color: var(--bs-primary); }
.bs-popup__form .bs-btn:hover { background: var(--bs-primary-hover); border-color: var(--bs-primary-hover); }
@keyframes bsFade { from { opacity: 0; } to { opacity: 1; } }

.bs-form-msg { margin: 8px 0 0; font-size: 13px; min-height: 0; }
.bs-form-msg:empty { display: none; }
.bs-form-msg.is-ok { color: var(--bs-success); }
.bs-form-msg.is-err { color: var(--bs-sale); }

/* Floating reviews tab */
.bs-reviews-tab {
	position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 80;
	display: flex; flex-direction: column; align-items: center; gap: 6px;
	padding: 12px 7px; background: var(--bs-text); color: #fff; border-radius: 8px 0 0 8px;
	text-decoration: none; font-size: 13px; font-weight: 600;
}
.bs-reviews-tab span { writing-mode: vertical-rl; }
.bs-reviews-tab .bs-icon { color: #f5b50a; font-size: 13px; }

/* ==========================================================================
   Homepage sections
   ========================================================================== */
.bs-section { padding: 48px 0 52px; }
.bs-featured--tight { padding-top: 40px; }
.bs-section__title { text-align: center; font-size: 26px; font-weight: 600; margin: 0 0 42px; }
.bs-section__title a { text-decoration: none; }
.bs-empty-note { text-align: center; color: var(--bs-muted); font-size: 14px; }

/* Hero */
.bs-hero { position: relative; overflow: hidden; background: #f3f3f3; }
.bs-hero__track { display: grid; }
.bs-hero__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.bs-hero__slide.is-active { opacity: 1; visibility: visible; }
.bs-hero__link, .bs-hero picture { display: block; }
.bs-hero img { width: 100%; height: auto; }
.bs-hero__nav { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: 7px; }
.bs-hero__bar { position: relative; width: 36px; height: 14px; padding: 0; border: 0; background: none; cursor: pointer; }
.bs-hero__bar::before, .bs-hero__bar span { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 2px; }
.bs-hero__bar::before { background: rgba(18, 18, 18, .2); }
.bs-hero__bar span { background: rgba(18, 18, 18, .75); transform: scaleX(0); transform-origin: left; }
.bs-hero__bar.is-active span { animation: bsBar var(--bs-hero-speed) linear forwards; }
.bs-hero.is-paused .bs-hero__bar.is-active span { animation-play-state: paused; }
.bs-hero__pause { margin-left: 12px; width: 22px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; color: rgba(18, 18, 18, .75); font-size: 14px; display: grid; place-items: center; }
.bs-hero__pause .bs-icon--play { display: none; }
.bs-hero.is-paused .bs-hero__pause .bs-icon--play { display: block; }
.bs-hero.is-paused .bs-hero__pause .bs-icon--pause { display: none; }
@keyframes bsBar { to { transform: scaleX(1); } }

/* Carousel */
.bs-carousel { position: relative; }
.bs-carousel__track {
	position: relative; display: grid !important; grid-auto-flow: column; gap: var(--bs-gap);
	grid-auto-columns: calc((100% - 4 * var(--bs-gap)) / 5);
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
	scrollbar-width: none; margin: 0 !important; padding: 0 !important; list-style: none;
}
.bs-carousel__track::-webkit-scrollbar { display: none; }
.bs-carousel__track > li { scroll-snap-align: start; }
.bs-carousel__arrow {
	position: absolute; top: calc(50% - 60px); z-index: 3; width: 42px; height: 42px; border-radius: 50%;
	border: 1px solid #e3e3e3; background: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .08); cursor: pointer;
	display: grid; place-items: center; font-size: 18px; opacity: 0; transition: opacity .2s;
}
.bs-carousel__arrow--prev { left: -14px; }
.bs-carousel__arrow--next { right: -14px; }
.bs-carousel:hover .bs-carousel__arrow { opacity: 1; }
.bs-carousel.is-static .bs-carousel__arrow,
.bs-carousel.at-start .bs-carousel__arrow--prev,
.bs-carousel.at-end .bs-carousel__arrow--next { opacity: 0 !important; pointer-events: none; }
.bs-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; min-height: 7px; }
.bs-carousel.is-static .bs-carousel__dots { display: none; }
.bs-carousel.is-static .bs-carousel__track { justify-content: center; } /* few products: centre them */
.bs-carousel__dot { width: 7px; height: 7px; padding: 0; border-radius: 50%; border: 1px solid rgba(18, 18, 18, .55); background: transparent; cursor: pointer; }
.bs-carousel__dot.is-active { background: var(--bs-text); border-color: var(--bs-text); }

/* Product card -------------------------------------------------------- */
ul.products { list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.bs-card { position: relative; min-width: 0; text-align: center; list-style: none; margin: 0 !important; width: auto !important; float: none !important; padding: 0 !important; }
.bs-card__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--bs-card-bg); }
.bs-card__media img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; transition: transform .6s ease; }
.bs-card:hover .bs-card__media img { transform: scale(1.04); }
.bs-badge {
	position: absolute; top: 8px; left: 8px; z-index: 2; padding: 4px 6px 3px;
	background: var(--bs-sale); color: #fff; font-size: 11px; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase;
}
.bs-badge--sold { background: #888; }
.bs-card__info { padding-top: 16px; }
.bs-card__title { font-size: 15px; font-weight: 600; line-height: 1.35; margin: 0 0 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-card__title a { text-decoration: none; }
.bs-card__title a:hover { text-decoration: underline; text-underline-offset: 2px; }
.bs-card__excerpt { display: none; }
.price { font-size: 15px; color: var(--bs-text); }
.price del { color: rgba(18, 18, 18, .7); opacity: 1; margin-right: 2px; }
.price ins { color: var(--bs-sale); text-decoration: none; font-weight: 400; background: none; }
.price del + ins, .price del ~ ins { margin-left: 2px; }
.bs-from { color: inherit; }
.bs-card .price { display: block; margin: 0; }
/* Override WooCommerce's default (olive / bold) price styles */
.woocommerce ul.products li.product .price,
.woocommerce div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product .bs-related__price.price { color: var(--bs-text); font-size: 15px; font-weight: 400; margin: 0; }
.woocommerce ul.products li.product .price del,
.woocommerce div.product span.price del,
.woocommerce div.product p.price del,
.woocommerce div.product .price del { color: rgba(18, 18, 18, .7); opacity: 1; display: inline; font-weight: 400; }
.woocommerce ul.products li.product .price ins,
.woocommerce div.product span.price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product .price ins { color: var(--bs-sale); font-weight: 400; display: inline; text-decoration: none; background: none; }
.woocommerce div.product .bs-product__price.price { font-size: 20px; }
.woocommerce div.product .bs-related__price.price { font-size: 13px; }
.bs-stock { display: inline-flex; align-items: center; gap: 6px; margin: 14px 0 0; font-size: 13px; line-height: 1; color: var(--bs-success); }
.bs-stock__dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.bs-stock.is-out { color: #888; }

/* Black split banner */
.bs-split { display: grid; grid-template-columns: 60% 40%; background: var(--bs-dark); color: #fff; }
.bs-split__content { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 5%; }
.bs-split__title { font-size: 32px; font-weight: 700; text-transform: uppercase; color: var(--bs-accent-light); margin: 0 0 6px; }
.bs-split .bs-btn { background: var(--bs-accent); border-color: var(--bs-accent); color: var(--bs-dark); font-weight: 500; }
.bs-split .bs-btn:hover { background: var(--bs-accent-light); border-color: var(--bs-accent-light); color: var(--bs-dark); }
.bs-split__text { font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, .92); max-width: 780px; margin-bottom: 30px; }
.bs-split__text p { margin: 0; }
.bs-split__media { display: block; }
.bs-split__media img { width: 100%; height: 100%; object-fit: cover; }

/* Full width banner */
.bs-banner { line-height: 0; }
.bs-banner img { width: 100%; }

/* Tabs */
.bs-tabs { padding-top: 44px; }
.bs-tabs__nav { display: flex; justify-content: center; gap: 32px; margin-bottom: 30px; }
.bs-tabs__btn {
	padding: 0 0 4px; border: 0; background: none; cursor: pointer;
	font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: rgba(18, 18, 18, .7);
	border-bottom: 2px solid transparent; transition: color .2s, border-color .2s;
}
.bs-tabs__btn:hover { color: var(--bs-text); }
.bs-tabs__btn.is-active { color: var(--bs-text); border-color: var(--bs-text); }

/* Image with text on grey band */
.bs-overlap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 38.4%); align-items: center; gap: 40px; background: var(--bs-band); padding: 40px var(--bs-gutter); }
.bs-overlap__content { text-align: center; padding: 20px 4%; }
.bs-overlap__title { font-size: 24px; font-weight: 600; text-transform: uppercase; color: rgba(18, 18, 18, .85); margin: 0 0 8px; }
.bs-overlap__text { font-size: 20px; font-weight: 300; line-height: 1.5; color: rgba(18, 18, 18, .85); margin: 0 auto 26px; max-width: 620px; }
.bs-overlap__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.bs-overlap__media img { width: 100%; }

/* Image + product grid */
.bs-media-products { display: grid; grid-template-columns: 42.1% minmax(0, 1fr); gap: 40px; align-items: stretch; padding: 28px var(--bs-gutter); max-width: var(--bs-page); margin: 0 auto; }
.bs-media-products.is-reverse { grid-template-columns: minmax(0, 1fr) 42.1%; gap: 32px; }
.bs-media-products.is-reverse .bs-media-products__media { order: 2; }
.bs-media-products__media { display: block; min-height: 100%; }
.bs-media-products__media img { width: 100%; height: 100%; object-fit: cover; }
.bs-grid-3 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 22px; }
.bs-grid-3 .bs-card__info { padding-top: 14px; padding-bottom: 6px; }

/* Instagram highlights */
.bs-insta { padding: 64px var(--bs-gutter) 70px; text-align: center; }
.bs-insta__title { font-size: 20px; font-weight: 400; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 26px; }
.bs-insta__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.bs-insta__item a { display: flex; flex-direction: column; align-items: center; gap: 4px; text-decoration: none; width: 84px; }
.bs-insta__ring { width: 82px; height: 82px; border-radius: 50%; padding: 3px; background: linear-gradient(45deg, var(--bs-primary), var(--bs-accent), var(--bs-accent-light)); }
.bs-insta__ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 2px solid #fff; }
.bs-insta__label { font-size: 11px; color: rgba(18, 18, 18, .8); white-space: nowrap; }

/* ==========================================================================
   Footer
   ========================================================================== */
.bs-footer { background: var(--bs-footer-bg); padding: 48px var(--bs-gutter) 30px; font-size: 15px; }
.bs-footer__grid { max-width: var(--bs-page); margin: 0 auto; display: grid; grid-template-columns: 1.15fr .95fr .95fr 1.05fr; gap: 40px; }
.bs-footer__title { font-size: 17px; font-weight: 600; margin: 0 0 18px; }
.bs-footer__text { margin: 0 0 22px; line-height: 1.5; }
.bs-footer__contact { list-style: none; margin: 0 0 28px; padding: 0; }
.bs-footer__contact li { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; line-height: 1.5; }
.bs-footer__contact .bs-icon { font-size: 24px; margin-top: -1px; }
.bs-footer__contact a { text-decoration: none; }
.bs-footer__follow { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.bs-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; }
.bs-social a { display: grid; place-items: center; font-size: 18px; text-decoration: none; transition: opacity .2s; }
.bs-social a:hover { opacity: .65; }
.bs-footer__links { list-style: none; margin: 0; padding: 0; }
.bs-footer__links li { margin-bottom: 11px; line-height: 1.55; }
.bs-footer__links a { text-decoration: none; }
.bs-footer__links a:hover, .bs-footer__contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bs-newsletter { display: flex; flex-wrap: wrap; gap: 8px; }
.bs-newsletter input { flex: 1 1 150px; min-width: 0; height: 44px; border: 1px solid rgba(68, 68, 68, .4); background: transparent; padding: 0 12px; font-size: 15px; }
.bs-newsletter button { flex: 1 1 150px; height: 44px; border: 0; background: var(--bs-text); color: #fff; text-transform: uppercase; font-size: 14px; letter-spacing: .04em; cursor: pointer; }
.bs-newsletter button:hover { background: #333; }
.bs-newsletter .bs-form-msg { flex-basis: 100%; }
.bs-footer__bottom { max-width: var(--bs-page); margin: 42px auto 0; font-size: 13px; color: rgba(18, 18, 18, .8); }
.bs-footer__bottom p { margin: 0; }

/* ==========================================================================
   Collection page
   ========================================================================== */
.bs-collection { padding: 40px 0 70px; }
.bs-collection__title { font-size: 32px; font-weight: 600; text-transform: uppercase; margin: 0 0 40px; }
.bs-collection__desc { margin: -24px 0 32px; color: var(--bs-muted); max-width: 820px; }
.bs-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 26px; }
.bs-toolbar__filters {
	display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 24px;
	border: 1px solid var(--bs-text); background: #fff; font-size: 14px; cursor: pointer;
}
.bs-toolbar__filters .bs-icon { font-size: 18px; }
.bs-when-closed { display: none; }
.filters-hidden .bs-when-open, .bs-toolbar.is-closed .bs-when-open { display: none; }
.filters-hidden .bs-when-closed, .bs-toolbar.is-closed .bs-when-closed { display: inline; }
.bs-toolbar__count { font-size: 14px; color: var(--bs-muted); }
.bs-toolbar__right { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.bs-view { display: flex; gap: 6px; }
.bs-view__btn { background: none; border: 0; padding: 4px; cursor: pointer; font-size: 22px; line-height: 0; opacity: .45; }
.bs-view__btn.is-active { opacity: 1; }
.bs-sort__label { position: relative; display: inline-flex; align-items: center; gap: 4px; font-size: 14px; cursor: pointer; }
.bs-sort select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; padding: 4px 18px 4px 0; font-size: 14px; cursor: pointer; }
.bs-sort .bs-icon { position: absolute; right: 0; font-size: 13px; pointer-events: none; }

.bs-collection__body { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; align-items: start; }
.bs-collection__body.filters-hidden { grid-template-columns: minmax(0, 1fr); }
.bs-collection__body.filters-hidden .bs-filters { display: none; }
.bs-collection__products ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 24px; }
.bs-collection__body.filters-hidden ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* List view */
.bs-collection__products ul.products.is-list { grid-template-columns: 1fr !important; gap: 24px; }
.is-list .bs-card { display: grid; grid-template-columns: 220px 1fr; gap: 28px; text-align: left; align-items: center; padding-bottom: 24px !important; border-bottom: 1px solid var(--bs-border-soft); }
.is-list .bs-card__info { padding-top: 0; }
.is-list .bs-card__title { white-space: normal; font-size: 18px; }
.is-list .bs-card__excerpt { display: block; margin-top: 10px; font-size: 14px; color: var(--bs-muted); }

/* Filters */
.bs-filter { border-top: 1px solid var(--bs-border-soft); padding: 18px 0; }
.bs-filter:last-of-type { border-bottom: 1px solid var(--bs-border-soft); }
.bs-filter__title { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.bs-filter__title::-webkit-details-marker { display: none; }
.bs-filter__title .bs-icon { font-size: 14px; transition: transform .2s; }
.bs-filter[open] .bs-filter__title .bs-icon { transform: rotate(180deg); }
.bs-filter__list { list-style: none; margin: 16px 0 0; padding: 0; }
.bs-filter__list li { margin-bottom: 9px; }
.bs-filter__list.is-collapsible:not(.is-expanded) li:nth-child(n + 8) { display: none; }
.bs-filter__more { background: none; border: 0; padding: 0; margin-top: 4px; font-size: 13px; text-decoration: underline; color: var(--bs-primary); cursor: pointer; }
.bs-check { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; }
.bs-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.bs-check__box { width: 14px; height: 14px; flex: none; border: 1px solid rgba(18, 18, 18, .5); position: relative; }
.bs-check input:checked + .bs-check__box { background: var(--bs-text); border-color: var(--bs-text); }
.bs-check input:checked + .bs-check__box::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.bs-check input:focus-visible + .bs-check__box { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.bs-price { padding-top: 16px; }
.bs-price__inputs { display: flex; align-items: center; gap: 10px; }
.bs-price__field { flex: 1; display: flex; align-items: center; gap: 4px; height: 42px; padding: 0 8px; border: 1px solid rgba(68, 68, 68, .4); font-size: 13px; }
.bs-price__field span { color: var(--bs-muted); }
.bs-price__field input { width: 100%; min-width: 0; border: 0; outline: 0; text-align: right; font-size: 13px; background: transparent; -moz-appearance: textfield; }
.bs-price__field input::-webkit-outer-spin-button, .bs-price__field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bs-price__to { font-size: 14px; }
.bs-range { position: relative; height: 22px; margin: 16px 6px 8px; }
.bs-range__rail { position: absolute; left: 0; right: 0; top: 10px; height: 2px; background: #ddd; }
.bs-range__fill { position: absolute; top: 0; bottom: 0; background: var(--bs-text); }
.bs-range input[type="range"] { position: absolute; left: -6px; right: -6px; width: calc(100% + 12px); top: 0; height: 22px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.bs-range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 1px solid var(--bs-text); pointer-events: auto; cursor: pointer; }
.bs-range input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 1px solid var(--bs-text); pointer-events: auto; cursor: pointer; }
.bs-range input[type="range"]::-webkit-slider-runnable-track { background: none; }
.bs-price__note { font-size: 12px; color: var(--bs-muted); margin: 6px 0 0; }
.bs-filters__clear { display: inline-block; margin-top: 16px; font-size: 13px; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 48px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width: 38px; height: 38px; line-height: 38px; padding: 0 8px; font-size: 14px; border: 1px solid transparent; color: var(--bs-text); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: none; border-color: var(--bs-text); color: var(--bs-text); }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--bs-meta); color: var(--bs-text); }
.bs-empty { padding: 50px 0; text-align: center; color: var(--bs-muted); }

/* ==========================================================================
   Product page
   ========================================================================== */
.bs-shop { padding: 40px var(--bs-gutter) 60px; max-width: var(--bs-page); margin: 0 auto; }
.bs-product__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 118px; column-gap: 40px; align-items: start; }
.bs-product__gallery { position: sticky; top: 20px; }
.woocommerce div.product div.images { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 80px !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 12px; right: 12px; background: #fff; }

.bs-product__summary { width: 100% !important; float: none !important; margin: 0 !important; }
.bs-product__badge .bs-badge { position: static; display: inline-block; margin-bottom: 10px; font-size: 11px; }
.bs-product__summary .product_title { font-size: 28px; font-weight: 600; line-height: 1.25; margin: 0 0 12px; }
.bs-product__summary .woocommerce-product-rating { margin: 0 0 10px; display: flex; align-items: center; gap: 10px; font-size: 13px; }
.woocommerce .star-rating { color: #f5b50a; }
.bs-product__price { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 20px; margin: 0 0 4px; }
.bs-product__price.price { color: var(--bs-text); font-size: 20px; }
.bs-product__price ins { font-weight: 400; }
.bs-off { display: inline-block; padding: 2px 8px; background: color-mix(in srgb, var(--bs-sale) 12%, #fff); color: var(--bs-sale); font-size: 13px; line-height: 1.5; border-radius: 3px; }
.bs-product__tax { font-size: 13px; color: var(--bs-muted); margin: 0 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--bs-border-soft); }
.bs-inventory { margin-bottom: 22px; }
.bs-inventory .bs-stock { margin: 0 0 10px; font-size: 14px; }
.bs-inventory__bar { height: 3px; background: #e7e7e7; }
.bs-inventory__bar span { display: block; height: 100%; background: var(--bs-success); }
.bs-inventory.is-out .bs-inventory__bar { display: none; }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.woocommerce div.product form.cart .variations { width: 100%; margin: 0 0 4px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart .variations th label { font-size: 14px; font-weight: 500; margin-bottom: 6px; display: block; }
.woocommerce div.product form.cart .variations select { width: 100%; max-width: 100%; height: 44px; border: 1px solid rgba(68, 68, 68, .4); padding: 0 12px; background: #fff; font-size: 14px; margin: 0; }
.woocommerce div.product form.cart .reset_variations { font-size: 12px; margin-top: 6px; display: inline-block; }
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 12px; flex-wrap: wrap; }
.woocommerce-variation-price { margin-bottom: 10px; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; display: flex; align-items: stretch; border: 1px solid rgba(68, 68, 68, .4); height: 44px; }
.woocommerce .quantity .qty { width: 46px; border: 0; text-align: center; font-size: 15px; -moz-appearance: textfield; background: transparent; }
.woocommerce .quantity .qty::-webkit-outer-spin-button, .woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bs-qty__btn { width: 38px; border: 0; background: none; cursor: pointer; font-size: 16px; display: grid; place-items: center; }
.bs-qty__btn:hover { background: var(--bs-meta); }
.woocommerce div.product form.cart .button.single_add_to_cart_button { flex: 1 1 200px; float: none; height: 44px; min-height: 44px; font-size: 14px; }

.bs-accordions { border: 1px solid var(--bs-border); margin-top: 6px; }
.bs-accordion + .bs-accordion { border-top: 1px solid var(--bs-border); }
.bs-accordion summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; font-size: 18px; font-weight: 600; cursor: pointer; list-style: none; }
.bs-accordion summary::-webkit-details-marker { display: none; }
.bs-accordion summary .bs-icon { font-size: 18px; transition: transform .2s; }
.bs-accordion[open] summary .bs-icon { transform: rotate(180deg); }
.bs-accordion__body { padding: 0 14px 16px; font-size: 15px; line-height: 1.65; }
.bs-accordion__body table.woocommerce-product-attributes { margin: 0; }

.bs-product__related { text-align: center; }
.bs-related__title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 18px; line-height: 1.5; }
.bs-related__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; }
.bs-related__item a { display: block; text-decoration: none; font-size: 13px; line-height: 1.4; }
.bs-related__item img { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--bs-card-bg); margin: 0 0 8px; }
.bs-related__name { display: block; margin-bottom: 4px; }
.bs-related__price.price { display: flex; flex-direction: column; font-size: 13px; }

/* Reviews */
.bs-reviews { margin-top: 90px; padding-top: 10px; }
.bs-reviews__tabs { display: flex; gap: 28px; border-bottom: 1px solid #eee; margin-bottom: 36px; }
.bs-reviews__tabs span { font-size: 17px; padding-bottom: 8px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.bs-reviews__tabs .is-active { font-weight: 600; border-color: var(--bs-text); }
.bs-reviews__summary { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 40px; align-items: start; margin-bottom: 32px; }
.bs-reviews__score { display: flex; align-items: center; gap: 12px; font-size: 32px; font-weight: 600; line-height: 1; }
.bs-reviews__avg p { font-size: 13px; color: var(--bs-muted); margin: 8px 0 0; }
.bs-stars { position: relative; display: inline-block; font-size: 22px; line-height: 0; white-space: nowrap; }
.bs-stars__base, .bs-stars__fill { display: inline-flex; gap: 3px; }
.bs-stars__base { color: #ddd; }
.bs-stars__fill { position: absolute; left: 0; top: 0; overflow: hidden; color: #f5b50a; }
.bs-happy .bs-stars { font-size: 16px; }
.bs-reviews__bars { display: grid; gap: 6px; }
.bs-reviews__bar { display: grid; grid-template-columns: 12px 12px 1fr 30px; gap: 8px; align-items: center; font-size: 12px; }
.bs-reviews__bar .bs-icon { color: #f5b50a; font-size: 12px; }
.bs-reviews__track { height: 7px; background: #eee; border-radius: 4px; overflow: hidden; }
.bs-reviews__track span { display: block; height: 100%; background: var(--bs-text); }
.bs-reviews__bar em { font-style: normal; color: var(--bs-muted); text-align: right; }
.bs-reviews__cta { text-align: right; }
.bs-reviews__empty { color: var(--bs-muted); padding: 10px 0 30px; }
.bs-review-form { max-width: 640px; margin: 0 0 40px; padding: 26px; background: var(--bs-meta); }
.bs-review-form__title { font-size: 18px; margin: 0 0 16px; }
.bs-review-form p { margin: 0 0 14px; }
.bs-review-form label { display: block; font-size: 14px; margin-bottom: 6px; }
.bs-review-form input[type="text"], .bs-review-form input[type="email"], .bs-review-form textarea { width: 100%; border: 1px solid rgba(68, 68, 68, .4); padding: 10px 12px; font-size: 15px; background: #fff; }
.woocommerce #reviews #comments ol.commentlist { padding: 0; margin: 0; }
.woocommerce #reviews #comments ol.commentlist li { border-bottom: 1px solid #eee; padding: 20px 0; margin: 0; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { width: 40px; border-radius: 50%; border: 0; padding: 0; background: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { margin-left: 56px; border: 0; padding: 0; border-radius: 0; }
.woocommerce p.stars a { color: #f5b50a; }

/* ==========================================================================
   Generic pages
   ========================================================================== */
.bs-page { padding: 44px 0 70px; }
.bs-page__head { margin-bottom: 26px; }
.bs-page__title { font-size: 32px; font-weight: 600; margin: 0; }
.bs-rte { line-height: 1.7; }
.bs-rte h2 { font-size: 22px; margin: 1.6em 0 .6em; }
.bs-rte h3 { font-size: 18px; margin: 1.4em 0 .5em; }
.bs-rte a { color: var(--bs-primary); }
.bs-rte ul, .bs-rte ol { padding-left: 1.3em; }
.bs-rte li { margin-bottom: .3em; }
.bs-front__content { padding-block: 40px; }
.bs-page--wide .bs-page__head { text-align: left; }
.bs-contact-form { display: grid; gap: 14px; max-width: 700px; margin-top: 24px; }
.bs-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bs-contact-form label span { display: block; font-size: 14px; margin-bottom: 6px; }
.bs-contact-form input, .bs-contact-form textarea { width: 100%; border: 1px solid rgba(68, 68, 68, .4); padding: 11px 12px; font-size: 15px; }
.bs-contact-form .bs-btn { justify-self: start; }
.bs-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 32px; }
.bs-post-card__title { font-size: 18px; margin: 14px 0 4px; }
.bs-post-card__title a { text-decoration: none; }
.bs-post-card__meta { font-size: 13px; color: var(--bs-muted); margin: 0 0 8px; }
.bs-happy { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.bs-happy__card { border: 1px solid #eee; padding: 22px; }
.bs-happy__text { margin: 12px 0; }
.bs-happy__author { font-size: 13px; color: var(--bs-muted); margin: 0 0 12px; }
.bs-happy__product { display: flex; align-items: center; gap: 10px; font-size: 13px; text-decoration: none; }
.bs-happy__product img { width: 44px; height: 44px; object-fit: cover; }

/* WooCommerce notices, forms & blocks */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--bs-primary); background: var(--bs-meta); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--bs-primary); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid rgba(68, 68, 68, .4); padding: 10px 12px; border-radius: 0; }
.wc-block-components-button:not(.is-link), .wp-block-button__link { background: var(--bs-primary) !important; color: #fff !important; border-radius: 0 !important; }
.wc-block-components-button:not(.is-link):hover { background: var(--bs-primary-hover) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 0; border-bottom: 1px solid #eee; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--bs-primary); font-weight: 600; }
.woocommerce form.track_order { max-width: 560px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.bs-nav__link { font-size: 11px; }
	.bs-carousel__track { grid-auto-columns: calc((100% - 3 * var(--bs-gap)) / 4); }
	.bs-collection__products ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bs-collection__body.filters-hidden ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.bs-product__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.bs-product__related { grid-column: 1 / -1; margin-top: 50px; text-align: left; }
	.bs-related__list { grid-template-columns: repeat(3, minmax(0, 160px)); }
}

@media (max-width: 1179px) {
	.bs-header__main { grid-template-columns: 1fr auto 1fr; min-height: 72px; padding-block: 8px; }
	.bs-header__burger { display: inline-flex; justify-self: start; }
	.bs-header__search { display: none; }
	.bs-header__mobile-search { display: block; padding: 0 var(--bs-gutter) 12px; }
	.bs-header__mobile-search .bs-search { width: 100%; }
	.bs-header__mobile-search .bs-search__results { width: calc(100% + 2px); }
	.bs-header__icons { gap: 18px; }
	.bs-header__cart-label { display: none; }
	.bs-logo__text { font-size: 36px; }
	.bs-logo__img { height: calc(var(--bs-logo-h) * .75); }
	.bs-nav { display: none; }
}

@media (max-width: 1023px) {
	:root { --bs-gutter: 20px; --bs-gap: 16px; }
	.bs-carousel__track { grid-auto-columns: calc((100% - 2 * var(--bs-gap)) / 3); }
	.bs-carousel__arrow { display: none; }
	.bs-split { grid-template-columns: 1fr; }
	.bs-split__media { order: -1; }
	.bs-split__content { padding: 44px var(--bs-gutter); }
	.bs-split__title { font-size: 26px; }
	.bs-overlap { grid-template-columns: 1fr; }
	.bs-overlap__media { order: -1; max-width: 560px; margin: 0 auto; }
	.bs-media-products, .bs-media-products.is-reverse { grid-template-columns: 1fr; gap: 28px; }
	.bs-media-products.is-reverse .bs-media-products__media { order: 0; }
	.bs-media-products__media { max-height: 560px; overflow: hidden; }
	.bs-footer__grid { grid-template-columns: 1fr 1fr; }
	.bs-collection__body { grid-template-columns: 1fr; }
	.bs-collection__products ul.products,
	.bs-collection__body.filters-hidden ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 16px; }
	.bs-reviews__summary { grid-template-columns: 1fr 1fr; }
	.bs-reviews__cta { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 749px) {
	body { font-size: 14px; }
	.bs-header__main { grid-template-columns: 44px 1fr auto; column-gap: 8px; }
	.bs-logo__text { font-size: 28px; }
	.bs-header__icons { gap: 12px; }
	.bs-header__icon { font-size: 24px; }
	.bs-section { padding: 36px 0 40px; }
	.bs-section__title { font-size: 22px; margin-bottom: 26px; }
	.bs-carousel__track { grid-auto-columns: calc((100% - var(--bs-gap)) / 2.15); }
	.bs-hero__nav { bottom: 14px; }
	.bs-hero__bar { width: 26px; }
	.bs-card__title { font-size: 13px; }
	.price, .bs-card .price { font-size: 13px; }
	.bs-stock { font-size: 12px; margin-top: 10px; }
	.bs-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.bs-tabs__nav { gap: 22px; }
	.bs-overlap { padding: 28px var(--bs-gutter) 36px; gap: 20px; }
	.bs-overlap__title { font-size: 20px; }
	.bs-overlap__text { font-size: 16px; }
	.bs-footer__grid { grid-template-columns: 1fr; gap: 32px; }
	.bs-collection__title { font-size: 24px; margin-bottom: 24px; }
	.bs-toolbar { gap: 10px 14px; }
	.bs-toolbar__right { width: 100%; justify-content: space-between; margin-left: 0; }
	.bs-view { display: none; }
	.bs-collection__products ul.products,
	.bs-collection__body.filters-hidden ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
	.is-list .bs-card { grid-template-columns: 120px 1fr; gap: 16px; }
	.bs-product__grid { grid-template-columns: 1fr; row-gap: 28px; }
	.bs-product__gallery { position: static; }
	.bs-product__summary .product_title { font-size: 22px; }
	.bs-related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.bs-reviews { margin-top: 56px; }
	.bs-reviews__summary { grid-template-columns: 1fr; gap: 22px; }
	.bs-popup__box { padding: 38px 26px 28px; }
	.bs-page__title { font-size: 26px; }
	.bs-contact-form__row { grid-template-columns: 1fr; }
	.bs-reviews-tab { padding: 10px 6px; font-size: 12px; }
}

/* ==========================================================================
   App mode — phones & tablets (≤1023px)
   Bottom tab bar, bottom sheets, auto-hiding header, rounded cards,
   quick add, sticky buy bar, install banner.
   ========================================================================== */
@keyframes bsSheetUp { from { transform: translateY(100%); } to { transform: none; } }
@keyframes bsPageIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes bsSpin { to { transform: rotate(360deg); } }
@keyframes bsPop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }

@media (max-width: 1023px) {
	html { -webkit-tap-highlight-color: transparent; }
	body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); background: #fff; }
	body.single-product { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
	a, button, input, select, label { touch-action: manipulation; }
	.bs-main { animation: bsPageIn .35s ease; }
	.bs-btn, .woocommerce a.button, .woocommerce button.button { border-radius: 12px; }
	.bs-btn:active, .bs-chip:active, .bs-catrow__list a:active, .bs-catgrid a:active { transform: scale(.96); }

	/* Header: sticky, hides while scrolling down, returns on scroll up */
	.bs-header { position: sticky; top: 0; padding-top: env(safe-area-inset-top); transition: transform .3s ease, box-shadow .3s ease; will-change: transform; }
	.bs-header.is-scrolled { box-shadow: 0 6px 20px rgba(0, 0, 0, .07); }
	.bs-header.is-hidden { transform: translateY(-100%); box-shadow: none; }
	.bs-header__account { display: none; }
	.bs-header__mobile-search .bs-search { height: 44px; border: 1px solid #ececef; border-radius: 12px; background: #f5f5f7; overflow: hidden; }
	.bs-header__mobile-search .bs-search button { width: 46px; }
	.bs-header__mobile-search .bs-search__results { border-radius: 14px; top: calc(100% + 8px); }
	.bs-search__results { border-radius: 14px; }

	/* Bottom tab bar */
	.bs-tabbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 800;
		display: grid; grid-template-columns: repeat(5, 1fr);
		padding: 6px 6px calc(6px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(180%) blur(16px); backdrop-filter: saturate(180%) blur(16px);
		border-top: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 -8px 26px rgba(0, 0, 0, .06);
	}
	.bs-tabbar__item {
		position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px;
		padding: 5px 0 3px; border: 0; background: none; cursor: pointer; text-decoration: none;
		font-size: 10.5px; font-weight: 500; line-height: 1.2; color: #71717a; transition: color .2s, transform .15s;
	}
	.bs-tabbar__item .bs-icon { font-size: 23px; }
	.bs-tabbar__item:active { transform: scale(.9); }
	.bs-tabbar__item.is-active { color: var(--bs-primary); }
	.bs-tabbar__item.is-active::before { content: ""; position: absolute; top: -6px; width: 26px; height: 3px; border-radius: 0 0 3px 3px; background: var(--bs-primary); }
	.bs-tabbar .bs-cart-count { left: calc(50% + 3px); top: -1px; min-width: 17px; height: 17px; line-height: 17px; font-size: 10px; border: 2px solid #fff; box-sizing: content-box; }
	.bs-tabbar .bs-cart-count.is-bump { animation: bsPop .45s ease; }
	.single-product .bs-tabbar { display: none; }

	/* Bottom sheets (cart, categories, search, filters) */
	.bs-sheet {
		top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 88vh;
		border-radius: 22px 22px 0 0; transform: translateY(104%);
		padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -12px 40px rgba(0, 0, 0, .18);
	}
	.bs-sheet.is-open { transform: none; }
	.bs-sheet--tall { height: 90vh; }
	.bs-sheet__handle { display: block; width: 42px; height: 5px; border-radius: 3px; background: #d4d4d8; margin: 9px auto 0; flex: none; }
	.bs-sheet .bs-drawer__head { border-bottom: 0; padding: 8px 20px 6px; }
	.bs-sheet .bs-drawer__title { font-size: 18px; }
	.bs-sheet .bs-drawer__close { width: 34px; height: 34px; border-radius: 50%; background: #f4f4f5; display: grid; place-items: center; font-size: 18px; }
	.bs-sheet .bs-drawer__body { padding: 10px 20px 20px; }
	.bs-drawer--menu { border-radius: 0 22px 22px 0; }
	.bs-sheet__cta { width: 100%; height: 48px; }
	.bs-sheet__label { font-size: 13px; font-weight: 600; margin: 22px 0 10px; }

	.bs-catgrid { list-style: none; margin: 4px 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 10px; }
	.bs-catgrid a { display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; text-align: center; font-size: 12.5px; font-weight: 500; line-height: 1.25; transition: transform .15s; }
	.bs-catgrid__img { width: 78px; height: 78px; border-radius: 24px; overflow: hidden; background: var(--bs-card-bg); display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04); }
	.bs-catgrid__img img { width: 100%; height: 100%; object-fit: cover; }

	/* Search sheet: input + button on one row, results listed underneath (full width) */
	.bs-sheet--search .bs-search { width: 100%; height: auto; flex-wrap: wrap; border: 0; background: none; overflow: visible; box-shadow: none; }
	.bs-sheet--search .bs-search input[type="search"] { flex: 1 1 0; height: 48px; font-size: 16px; padding: 0 14px; border: 1px solid #e4e4e7; border-right: 0; border-radius: 14px 0 0 14px; background: #f5f5f7; }
	.bs-sheet--search .bs-search button { height: 48px; width: 52px; border-radius: 0 14px 14px 0; }
	.bs-sheet--search .bs-search__results { flex: 0 0 100%; position: static; width: auto; max-width: none; max-height: none; margin-top: 12px; border: 0; box-shadow: none; }
	.bs-sheet--search .bs-search__item { padding: 10px 2px; }
	.bs-sheet--search .bs-search__item img { border-radius: 10px; }
	.bs-chips { display: flex; flex-wrap: wrap; gap: 8px; }
	.bs-chip { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: #f4f4f5; font-size: 13px; text-decoration: none; transition: transform .15s, background .2s; }
	.bs-chip:hover { background: #ececef; }

	/* Cart sheet */
	.bs-drawer--cart .bs-drawer__body { padding-top: 6px; }
	.bs-drawer .woocommerce-mini-cart-item img { border-radius: 12px; }
	.bs-drawer .woocommerce-mini-cart__buttons .button { height: 48px; border-radius: 12px; }

	/* Filters as a bottom sheet */
	.bs-collection__body .bs-filters {
		display: flex; flex-direction: column; position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 950;
		max-height: 86vh; overflow-y: auto; overscroll-behavior: contain; background: #fff;
		border-radius: 22px 22px 0 0; padding: 0 20px calc(14px + env(safe-area-inset-bottom));
		box-shadow: 0 -12px 40px rgba(0, 0, 0, .18);
		transform: translateY(104%); visibility: hidden; transition: transform .35s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .35s;
	}
	.bs-collection__body .bs-filters.is-open { transform: none; visibility: visible; transition: transform .35s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 0s; }
	.bs-filters__sheet-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 22px 0 10px; background: #fff; }
	.bs-filters__sheet-head .bs-sheet__handle { position: absolute; left: 50%; top: 0; transform: translateX(-50%); }
	.bs-filters__sheet-head .bs-drawer__close { width: 34px; height: 34px; border-radius: 50%; background: #f4f4f5; display: grid; place-items: center; font-size: 18px; }
	.bs-filters__sheet-foot { position: sticky; bottom: calc(-14px - env(safe-area-inset-bottom)); margin-top: auto; padding: 12px 0 calc(14px + env(safe-area-inset-bottom)); background: #fff; }
	.bs-filters__sheet-foot .bs-btn { width: 100%; height: 48px; }
	.bs-toolbar__filters { height: 38px; padding: 0 16px; border: 1px solid #dcdce0; border-radius: 999px; }
	.bs-when-open, .bs-when-closed { display: none !important; }
	.bs-when-mobile { display: inline !important; }
	.bs-sort__label { height: 38px; padding: 0 14px; border: 1px solid #dcdce0; border-radius: 999px; }

	/* Homepage as app cards */
	.bs-hero { margin: 10px var(--bs-gutter) 0; border-radius: 18px; }
	.bs-banner, .bs-split, .bs-overlap { margin: 14px var(--bs-gutter); border-radius: 18px; overflow: hidden; }
	.bs-media-products__media { border-radius: 18px; overflow: hidden; }
	.bs-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
	.bs-section__head .bs-section__title { text-align: left; margin: 0; font-size: 19px; }
	.bs-link-more { flex: none; background: none; border: 0; padding: 4px 0; cursor: pointer; color: var(--bs-primary); font-size: 13px; font-weight: 600; text-decoration: none; }
	.bs-tabs__nav { width: max-content; max-width: 100%; margin: 0 auto 20px; padding: 4px; gap: 4px; background: #f2f2f4; border-radius: 999px; }
	.bs-tabs__btn { padding: 7px 18px; border: 0; border-radius: 999px; font-size: 12px; font-weight: 600; }
	.bs-tabs__btn.is-active { background: #fff; color: var(--bs-primary); box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }

	.bs-catrow { padding: 20px 0 6px; }
	.bs-catrow__head { display: flex; align-items: center; justify-content: space-between; padding: 0 var(--bs-gutter); margin-bottom: 12px; }
	.bs-catrow__title { font-size: 17px; margin: 0; }
	.bs-catrow__list { list-style: none; margin: 0; padding: 2px var(--bs-gutter) 6px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
	.bs-catrow__list::-webkit-scrollbar { display: none; }
	.bs-catrow__list li { flex: 0 0 auto; scroll-snap-align: start; }
	.bs-catrow__list a { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 72px; text-decoration: none; text-align: center; font-size: 11.5px; line-height: 1.2; transition: transform .15s; }
	.bs-catrow__img { width: 66px; height: 66px; border-radius: 50%; padding: 2.5px; background: linear-gradient(135deg, var(--bs-primary), var(--bs-accent), var(--bs-accent-light)); display: grid; place-items: center; }
	.bs-catrow__img img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 2px solid #fff; background: var(--bs-card-bg); }
	.bs-catrow__letter { width: 100%; height: 100%; border-radius: 50%; border: 2px solid #fff; background: var(--bs-card-bg); color: var(--bs-primary); font-weight: 700; font-size: 22px; display: grid; place-items: center; }
	.bs-catgrid__img .bs-catrow__letter { border: 0; border-radius: 0; }
	.bs-catrow__name { max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

	/* Product cards */
	.bs-card__top { position: relative; }
	.bs-card__media { border-radius: 14px; }
	.bs-badge { border-radius: 6px; }
	.bs-card__info { padding-top: 10px; text-align: left; }
	.bs-card__title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.35; min-height: 2.7em; }
	.bs-card .price { display: flex; flex-wrap: wrap; column-gap: 4px; }
	.bs-stock { margin-top: 6px; }
	.bs-card__quick {
		position: absolute; right: 8px; bottom: 8px; z-index: 2; width: 34px; height: 34px; border-radius: 50%;
		background: var(--bs-primary); color: #fff; display: grid; place-items: center; font-size: 18px;
		box-shadow: 0 6px 16px color-mix(in srgb, var(--bs-primary) 38%, transparent); transition: transform .15s, background .2s; text-decoration: none;
	}
	.bs-card__quick:active { transform: scale(.86); }
	.bs-card__quick .bs-icon--check { display: none; }
	.bs-card__quick.added { background: var(--bs-success); }
	.bs-card__quick.added .bs-icon--plus { display: none; }
	.bs-card__quick.added .bs-icon--check { display: block; }
	.bs-card__quick.loading { pointer-events: none; opacity: .85; }
	.bs-card__quick.loading .bs-icon { animation: bsSpin .7s linear infinite; }
	.bs-card .added_to_cart { display: none !important; }
	.is-list .bs-card__top { align-self: start; }

	/* Product page: sticky buy bar */
	.bs-buybar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; display: flex; align-items: center; gap: 12px;
		padding: 10px var(--bs-gutter) calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
		border-top: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 -8px 26px rgba(0, 0, 0, .08);
		transform: translateY(110%); transition: transform .3s ease;
	}
	.bs-buybar.is-visible { transform: none; }
	.bs-buybar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
	.bs-buybar__name { font-size: 12px; color: var(--bs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.woocommerce div.product .bs-buybar__price.price { font-size: 15px; font-weight: 600; }
	.bs-buybar__btn { flex: none; min-width: 150px; height: 48px; }
	.bs-buybar__btn:disabled { background: #a1a1aa; border-color: #a1a1aa; }
	.single-product .bs-shop { padding-top: 12px; }
	.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 18px; overflow: hidden; }
	.bs-accordions { border-radius: 14px; overflow: hidden; }
	.woocommerce div.product form.cart div.quantity { border-radius: 12px; overflow: hidden; }

	/* Toast */
	.bs-toast {
		position: fixed; left: 50%; bottom: calc(82px + env(safe-area-inset-bottom)); z-index: 990;
		display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); padding: 9px 10px 9px 12px;
		background: #1f1f23; color: #fff; border-radius: 14px; box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
		font-size: 13.5px; white-space: nowrap; opacity: 0; transform: translate(-50%, 16px); pointer-events: none;
		transition: opacity .25s ease, transform .25s ease;
	}
	.bs-toast.is-shown { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
	.bs-toast.is-error .bs-toast__icon { background: var(--bs-sale); }
	.bs-toast.no-action .bs-toast__action { display: none; }
	.bs-toast__icon { width: 22px; height: 22px; border-radius: 50%; background: #22c55e; display: grid; place-items: center; font-size: 14px; flex: none; }
	.bs-toast__action { background: none; border: 0; padding: 4px 6px; cursor: pointer; color: var(--bs-accent-light); font-size: 13px; font-weight: 600; }
	.single-product .bs-toast { bottom: calc(92px + env(safe-area-inset-bottom)); }

	/* Install banner */
	.bs-install {
		position: fixed; left: 12px; right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); z-index: 850;
		display: flex; align-items: center; gap: 12px; padding: 12px; background: #fff; border-radius: 18px;
		box-shadow: 0 16px 44px rgba(0, 0, 0, .2); animation: bsSheetUp .4s ease;
	}
	.bs-install img { width: 44px; height: 44px; border-radius: 12px; flex: none; }
	.bs-install__text { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 12px; line-height: 1.3; color: var(--bs-muted); }
	.bs-install__text strong { color: var(--bs-text); font-size: 14px; }
	.bs-install__btn { min-height: 36px; padding: 6px 16px; font-size: 13px; text-transform: none; letter-spacing: 0; }
	.bs-install__close { background: none; border: 0; padding: 4px; cursor: pointer; line-height: 0; font-size: 16px; color: var(--bs-muted); }

	/* Popup becomes a bottom sheet */
	.bs-popup { place-items: end center; padding: 0; }
	.bs-popup__box { width: 100%; border-radius: 22px 22px 0 0; padding: 30px 24px calc(24px + env(safe-area-inset-bottom)); animation: bsSheetUp .35s ease; }
	.bs-popup__form .bs-btn { min-height: 46px; }

	.bs-reviews-tab { display: none; }
	.bs-footer { padding-bottom: 26px; }
	html.is-standalone .bs-header { padding-top: max(env(safe-area-inset-top), 6px); }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
