/* ==========================================================================
   Battersea Carpets: header, menus, mobile drawer and live search
   ========================================================================== */

/* ---------- Top bar (inner pages) ---------- */
html body.bc-theme .bc-topbar { background: var(--bc-green-grad-h); color: rgba(244, 237, 230, .86); font-size: 12.5px; letter-spacing: .02em; }
html body.bc-theme .bc-topbar__inner { display: flex; align-items: center; justify-content: center; gap: 32px; min-height: 40px; }
html body.bc-theme .bc-topbar__item { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
html body.bc-theme .bc-topbar__item .bc-icon { width: 15px; height: 15px; color: var(--bc-gold-400); }
html body.bc-theme a.bc-topbar__item:hover { color: var(--bc-gold-300); }
html body.bc-theme .bc-topbar__phone { font-weight: 600; color: var(--bc-ivory); }

/* ---------- Shared header ---------- */
html body.bc-theme .bc-header {
	--hdr-fg: var(--bc-green-900);
	--hdr-muted: var(--bc-muted);
	--hdr-line: var(--bc-line);
	--hdr-accent: var(--bc-gold-text);
	z-index: 100;
	transition: background .35s var(--bc-ease), box-shadow .35s var(--bc-ease), border-color .35s var(--bc-ease);
}
html body.bc-theme .bc-header__bar { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; padding-top: 18px; padding-bottom: 16px; transition: padding .35s var(--bc-ease); }
html body.bc-theme .bc-header__left, html body.bc-theme .bc-header__right { display: flex; align-items: center; gap: 8px; min-width: 0; }
html body.bc-theme .bc-header__right { justify-content: flex-end; gap: 10px; }
html body.bc-theme .bc-header__brand { text-align: center; line-height: 0; }
html body.bc-theme .bc-logo-link { display: inline-block; line-height: 0; }
html body.bc-theme .bc-header .bc-logo { height: auto; transition: width .35s var(--bc-ease), opacity .25s var(--bc-ease); }
html body.bc-theme .bc-header .bc-logo--green-tagline { width: clamp(210px, 17vw, 250px); }
html body.bc-theme .bc-header .bc-logo--green, html body.bc-theme .bc-header .bc-logo--custom { width: clamp(180px, 14vw, 210px); }
html body.bc-theme .bc-header .bc-logo--ivory { width: clamp(200px, 15vw, 236px); }
html body.bc-theme .bc-logo-compact { display: none; }

html body.bc-theme .bc-header .bc-social { gap: 4px; }
html body.bc-theme .bc-header .bc-social a { width: 40px; height: 40px; color: var(--hdr-fg); }
html body.bc-theme .bc-header .bc-social .bc-icon { width: 19px; height: 19px; }

/* Round icon button */
html body.bc-theme .bc-hbtn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	width: 44px; height: 44px; padding: 0; flex: none;
	background: transparent; border: 1px solid transparent; border-radius: 999px;
	color: var(--hdr-fg, var(--bc-green-900)); cursor: pointer; text-decoration: none;
	transition: background .2s var(--bc-ease), color .2s var(--bc-ease), border-color .2s var(--bc-ease);
}
html body.bc-theme .bc-hbtn .bc-icon { width: 20px; height: 20px; }
html body.bc-theme .bc-hbtn:hover { background: var(--bc-ivory); color: var(--bc-green-900); }

/* Search trigger: a pill that reads like a search box */
html body.bc-theme .bc-searchtrigger {
	display: inline-flex; align-items: center; gap: 10px;
	width: clamp(200px, 17vw, 260px); height: 44px; padding: 0 8px 0 16px;
	background: var(--bc-cream); border: 1px solid var(--bc-line-strong); border-radius: 999px;
	color: var(--bc-muted); font: 500 13.5px/1 var(--bc-sans); letter-spacing: 0; text-align: left; cursor: pointer;
	transition: border-color .2s var(--bc-ease), background .2s var(--bc-ease), box-shadow .2s var(--bc-ease);
}
html body.bc-theme .bc-searchtrigger .bc-icon { width: 18px; height: 18px; color: var(--bc-gold-text); }
html body.bc-theme .bc-searchtrigger__text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.bc-theme .bc-searchtrigger__kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 6px; border: 1px solid var(--bc-line-strong); border-radius: 6px; background: var(--bc-paper); font: 600 12px/1 var(--bc-sans); color: var(--bc-muted); }
html body.bc-theme .bc-searchtrigger:hover { border-color: var(--bc-gold-500); background: var(--bc-paper); box-shadow: 0 0 0 3px rgba(191, 147, 67, .12); }

/* Phone: green pill with the number on wide screens */

/* Burger */
html body.bc-theme .bc-burger { display: none; }
html body.bc-theme .bc-burger__lines { display: grid; gap: 5px; width: 20px; }
html body.bc-theme .bc-burger__lines span { display: block; height: 1.6px; border-radius: 2px; background: currentColor; }
html body.bc-theme .bc-burger__lines span:nth-child(2) { width: 70%; }

/* Plus that turns into a minus when open */
html body.bc-theme .bc-plus { position: relative; display: inline-block; width: 10px; height: 10px; }
html body.bc-theme .bc-plus::before, html body.bc-theme .bc-plus::after { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 1.6px; margin-top: -.8px; background: currentColor; border-radius: 2px; transition: transform .25s var(--bc-ease); }
html body.bc-theme .bc-plus::after { transform: rotate(90deg); }
html body.bc-theme [aria-expanded="true"] > .bc-plus::after, html body.bc-theme .is-open > .bc-nav__toggle .bc-plus::after { transform: rotate(0deg); }

/* ---------- Main menu ---------- */
html body.bc-theme .bc-nav { position: relative; }
html body.bc-theme .bc-nav__menu { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
html body.bc-theme .bc-nav__item { position: relative; display: flex; align-items: center; }
html body.bc-theme .bc-nav__item.has-mega { position: static; }
html body.bc-theme .bc-nav__link {
	position: relative; display: flex; align-items: center; height: 52px; padding: 0 16px;
	font: 600 12.5px/1 var(--bc-sans); letter-spacing: .14em; text-transform: uppercase;
	color: var(--hdr-fg); text-decoration: none; transition: color .2s var(--bc-ease);
}
html body.bc-theme .bc-nav__item.has-mega .bc-nav__link, html body.bc-theme .bc-nav__item.has-drop .bc-nav__link { padding-right: 6px; }
html body.bc-theme .bc-nav__link::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 12px; height: 1px; background: var(--bc-gold-500); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--bc-ease); }
html body.bc-theme .bc-nav__item.has-mega .bc-nav__link::after, html body.bc-theme .bc-nav__item.has-drop .bc-nav__link::after { right: 6px; }
html body.bc-theme .bc-nav__item:hover > .bc-nav__link::after,
html body.bc-theme .bc-nav__item.is-open > .bc-nav__link::after,
html body.bc-theme .bc-nav__item.is-current > .bc-nav__link::after { transform: scaleX(1); }
html body.bc-theme .bc-nav__item.is-open > .bc-nav__link, html body.bc-theme .bc-nav__link:hover { color: var(--hdr-accent); }
html body.bc-theme .bc-nav__toggle { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 52px; margin-right: 6px; padding: 0; background: none; border: 0; color: var(--bc-gold-500); cursor: pointer; }

/* Simple dropdowns */
html body.bc-theme .bc-drop {
	position: absolute; top: 100%; left: 50%; z-index: 30;
	min-width: 240px; padding: 10px;
	background: var(--bc-paper); border: 1px solid var(--bc-line); border-top: 2px solid var(--bc-gold-500);
	border-radius: 0 0 10px 10px; box-shadow: var(--bc-shadow-lg);
	opacity: 0; visibility: hidden; transform: translate(-50%, 8px); pointer-events: none;
	transition: opacity .2s var(--bc-ease), transform .2s var(--bc-ease), visibility .2s;
}
html body.bc-theme .bc-drop ul { list-style: none; margin: 0; padding: 0; }
html body.bc-theme .bc-drop { --bc-dot-x: 10px; }
html body.bc-theme .bc-drop a { display: block; padding: 9px 18px 9px 24px; font: 500 14.5px/1.3 var(--bc-sans); color: var(--bc-text); white-space: nowrap; }

/* Mega menu */
html body.bc-theme .bc-mega {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 30;
	background: var(--bc-paper); border-top: 1px solid var(--bc-line); box-shadow: 0 30px 60px -20px rgba(23, 34, 19, .28);
	max-height: calc(100vh - var(--bc-header-h, 140px) - 20px); overflow-y: auto; overscroll-behavior: contain;
	opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
	transition: opacity .22s var(--bc-ease), transform .22s var(--bc-ease), visibility .22s;
}
html body.bc-theme .bc-nav__item.is-open > .bc-drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; }
html body.bc-theme .bc-nav__item.is-open > .bc-mega { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
html body.bc-theme .bc-mega > .bc-container { padding-top: 36px; }
html body.bc-theme .bc-mega__grid { display: grid; grid-template-columns: repeat(var(--bc-mega-cols, 4), minmax(0, 1fr)); column-gap: 32px; }
html body.bc-theme .bc-mega__col { grid-column: span var(--span, 1); min-width: 0; }
html body.bc-theme .bc-mega__col + .bc-mega__col { border-left: 1px solid var(--bc-line); padding-left: 32px; }
html body.bc-theme .bc-mega__subcols { display: grid; grid-template-columns: repeat(var(--bc-sub, 1), minmax(0, 1fr)); column-gap: 24px; }
html body.bc-theme .bc-mega__group + .bc-mega__group { margin-top: 26px; }
html body.bc-theme .bc-mega__title { margin: 0 0 14px; font: 600 26px/1.1 var(--bc-serif); color: var(--bc-ink); letter-spacing: 0; }
html body.bc-theme .bc-mega__title a { color: inherit; text-decoration: none; }
html body.bc-theme .bc-mega__title a:hover { color: var(--bc-gold-text); }
html body.bc-theme .bc-mega__subtitle { margin: 0 0 10px; font: 600 11px/1.2 var(--bc-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bc-gold-text); }
html body.bc-theme .bc-mega__subtitle a { color: inherit; text-decoration: none; }
html body.bc-theme .bc-mega ul { list-style: none; margin: 0; padding: 0; }
html body.bc-theme .bc-mega li a { padding: 5px 0; font: 400 14.5px/1.35 var(--bc-sans); color: var(--bc-text); }
html body.bc-theme .bc-mega__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; margin-top: 32px; padding: 18px 0 22px; border-top: 1px solid var(--bc-line); }
html body.bc-theme .bc-mega__all { display: inline-flex; align-items: center; gap: 10px; font: 600 12.5px/1 var(--bc-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bc-green-900); text-decoration: none; }
html body.bc-theme .bc-mega__all .bc-icon { width: 17px; height: 17px; color: var(--bc-gold-500); transition: transform .25s var(--bc-ease); }
html body.bc-theme .bc-mega__all:hover .bc-icon { transform: translateX(4px); }
html body.bc-theme .bc-mega__foot p { margin: 0; font-size: 13.5px; color: var(--bc-muted); }
html body.bc-theme .bc-mega__foot p a { color: var(--bc-green-900); font-weight: 600; text-decoration: none; }

/* ---------- Solid header (inner pages) ---------- */
html body.bc-theme .bc-header--solid { position: sticky; top: 0; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--bc-line); }
html body.bc-theme.admin-bar .bc-header--solid { top: 32px; }
html body.bc-theme .bc-header--solid .bc-nav { background: var(--bc-cream); border-top: 1px solid var(--bc-line); }
html body.bc-theme .bc-header--solid.is-scrolled { box-shadow: 0 10px 30px -12px rgba(23, 34, 19, .18); }
html body.bc-theme .bc-header--solid.is-scrolled .bc-header__bar { padding-top: 10px; padding-bottom: 10px; }
html body.bc-theme .bc-header--solid.is-scrolled .bc-logo-full { display: none; }
html body.bc-theme .bc-header--solid.is-scrolled .bc-logo-compact { display: inline; }
html body.bc-theme .bc-header--solid.is-scrolled .bc-logo-compact .bc-logo { width: clamp(160px, 12vw, 190px); }
html body.bc-theme .bc-header--solid.is-scrolled .bc-nav__link, html body.bc-theme .bc-header--solid.is-scrolled .bc-nav__toggle { height: 46px; }
html body.bc-theme .bc-header--solid.is-scrolled .bc-nav__link::after { bottom: 10px; }

/* ---------- See through header (home page) ---------- */
html body.bc-theme .bc-header--overlay {
	--hdr-fg: var(--bc-ivory);
	--hdr-muted: rgba(244, 237, 230, .7);
	--hdr-line: rgba(244, 237, 230, .16);
	--hdr-accent: var(--bc-gold-300);
	position: fixed; top: 0; left: 0; right: 0;
	background: linear-gradient(180deg, rgba(12, 18, 10, .6) 0%, rgba(12, 18, 10, .32) 100%);
	-webkit-backdrop-filter: blur(10px) saturate(1.25); backdrop-filter: blur(10px) saturate(1.25);
	border-bottom: 1px solid rgba(244, 237, 230, .1);
}
html body.bc-theme.admin-bar .bc-header--overlay { top: 32px; }
html body.bc-theme .bc-header--overlay .bc-nav > .bc-container { border-top: 1px solid var(--hdr-line); }
html body.bc-theme .bc-header--overlay .bc-social a:hover { background: rgba(244, 237, 230, .12); color: var(--bc-gold-300); }
html body.bc-theme .bc-header--overlay .bc-hbtn:hover { background: rgba(244, 237, 230, .12); color: var(--bc-ivory); }
html body.bc-theme .bc-header--overlay .bc-searchtrigger { background: rgba(244, 237, 230, .08); border-color: rgba(244, 237, 230, .28); color: rgba(244, 237, 230, .78); }
html body.bc-theme .bc-header--overlay .bc-searchtrigger .bc-icon { color: var(--bc-gold-300); }
html body.bc-theme .bc-header--overlay .bc-searchtrigger__kbd { background: transparent; border-color: rgba(244, 237, 230, .3); color: rgba(244, 237, 230, .7); }
html body.bc-theme .bc-header--overlay .bc-searchtrigger:hover { background: rgba(244, 237, 230, .14); border-color: var(--bc-gold-400); box-shadow: none; }
html body.bc-theme .bc-header--overlay .bc-nav__toggle { color: var(--bc-gold-300); }
html body.bc-theme .bc-header--overlay.is-scrolled { background: rgba(23, 34, 19, .7); -webkit-backdrop-filter: blur(10px) saturate(1.25); backdrop-filter: blur(10px) saturate(1.25); box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45); }
html body.bc-theme .bc-header--overlay.is-scrolled .bc-header__bar { padding-top: 10px; padding-bottom: 10px; }
html body.bc-theme .bc-header--overlay.is-scrolled .bc-logo--ivory { width: clamp(170px, 12vw, 196px); }
html body.bc-theme .bc-header--overlay.is-scrolled .bc-nav__link, html body.bc-theme .bc-header--overlay.is-scrolled .bc-nav__toggle { height: 46px; }
html body.bc-theme .bc-header--overlay.is-scrolled .bc-nav__link::after { bottom: 10px; }

/* Glass menus over the banner */
html body.bc-theme .bc-header--overlay .bc-drop,
html body.bc-theme .bc-header--overlay .bc-mega { background: rgba(21, 30, 17, .95); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); border-color: rgba(244, 237, 230, .1); }
html body.bc-theme .bc-header--overlay .bc-drop { border-top-color: var(--bc-gold-500); }
html body.bc-theme .bc-header--overlay { --bc-list-hover: var(--bc-ivory); }
html body.bc-theme .bc-header--overlay .bc-drop :where(a) { color: rgba(244, 237, 230, .82); }
html body.bc-theme .bc-header--overlay .bc-mega__title { color: var(--bc-ivory); }
html body.bc-theme .bc-header--overlay .bc-mega__title a:hover { color: var(--bc-gold-300); }
html body.bc-theme .bc-header--overlay .bc-mega__subtitle { color: var(--bc-gold-300); }
html body.bc-theme .bc-header--overlay .bc-mega :where(li a) { color: rgba(244, 237, 230, .78); }
html body.bc-theme .bc-header--overlay .bc-mega__col + .bc-mega__col { border-left-color: rgba(244, 237, 230, .1); }
html body.bc-theme .bc-header--overlay .bc-mega__foot { border-top-color: rgba(244, 237, 230, .1); }
html body.bc-theme .bc-header--overlay .bc-mega__all { color: var(--bc-ivory); }
html body.bc-theme .bc-header--overlay .bc-mega__foot p { color: rgba(244, 237, 230, .62); }
html body.bc-theme .bc-header--overlay .bc-mega__foot p a { color: var(--bc-gold-300); }

/* Space for the fixed header when the home page is not an Elementor banner */
html body.bc-theme .bc-header-spacer { height: var(--bc-header-h, 140px); }
html body.bc-theme.bc-elementor-page .bc-header-spacer { display: none; }

/* ---------- Mobile drawer ---------- */
html body.bc-theme .bc-drawer { position: fixed; inset: 0; z-index: 300; }
html body.bc-theme .bc-drawer[hidden] { display: none; }
html body.bc-theme .bc-drawer__overlay { position: absolute; inset: 0; background: rgba(15, 22, 12, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s var(--bc-ease); }
html body.bc-theme .bc-drawer__panel {
	position: absolute; top: 0; left: 0; bottom: 0; width: min(420px, 90vw);
	background: var(--bc-paper); overflow-y: auto; overscroll-behavior: contain; padding: 14px 20px 28px;
	transform: translateX(-100%); transition: transform .38s var(--bc-ease);
	display: flex; flex-direction: column; gap: 16px; box-shadow: var(--bc-shadow-lg);
}
html body.bc-theme .bc-drawer.is-open .bc-drawer__overlay { opacity: 1; }
html body.bc-theme .bc-drawer.is-open .bc-drawer__panel { transform: translateX(0); }
html body.bc-theme .bc-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 6px; }
html body.bc-theme .bc-drawer__head .bc-logo { width: 168px; height: auto; }
html body.bc-theme .bc-drawer__close { color: var(--bc-green-900); border-color: var(--bc-line); }
html body.bc-theme .bc-drawer__search { display: flex; align-items: center; gap: 12px; width: 100%; height: 50px; padding: 0 16px; background: var(--bc-cream); border: 1px solid var(--bc-line-strong); border-radius: 999px; color: var(--bc-muted); font: 500 14px/1 var(--bc-sans); text-align: left; cursor: pointer; }
html body.bc-theme .bc-drawer__search .bc-icon { width: 18px; height: 18px; color: var(--bc-gold-text); }

html body.bc-theme .bc-acc { list-style: none; margin: 0; padding: 0; }
html body.bc-theme .bc-drawer__nav > .bc-acc { border-top: 1px solid var(--bc-line); }
html body.bc-theme .bc-acc__item { border-bottom: 1px solid var(--bc-line); }
html body.bc-theme .bc-acc__row { display: flex; align-items: center; min-height: 54px; }
html body.bc-theme .bc-acc__row > a, html body.bc-theme .bc-acc__label { flex: 1; display: block; padding: 14px 0; background: none; border: 0; text-align: left; font: 600 13.5px/1.3 var(--bc-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bc-green-900); text-decoration: none; cursor: pointer; }
html body.bc-theme .bc-acc__item.is-current > .bc-acc__row > a { color: var(--bc-gold-text); }
html body.bc-theme .bc-acc__toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; background: none; border: 1px solid var(--bc-line); border-radius: 50%; color: var(--bc-gold-text); cursor: pointer; transition: background .2s var(--bc-ease), border-color .2s var(--bc-ease); }
html body.bc-theme .bc-acc__toggle[aria-expanded="true"] { background: var(--bc-green-grad); border-color: #1f2d1a; color: var(--bc-gold-300); }
html body.bc-theme .bc-acc__panel { padding: 0 0 14px; }
html body.bc-theme .bc-acc--sub { margin: 0 0 4px 0; padding: 0 0 0 14px; border-left: 1px solid var(--bc-gold-500); }
html body.bc-theme .bc-acc--sub .bc-acc__item:last-child { border-bottom: 0; }
html body.bc-theme .bc-acc--sub .bc-acc__row { min-height: 50px; }
html body.bc-theme .bc-acc--sub .bc-acc__row > a, html body.bc-theme .bc-acc--sub .bc-acc__label { font: 600 20px/1.2 var(--bc-serif); letter-spacing: 0; text-transform: none; color: var(--bc-ink); padding: 10px 0; }
html body.bc-theme .bc-acc--sub small { display: block; margin-bottom: 3px; font: 600 10px/1 var(--bc-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bc-gold-text); }
html body.bc-theme .bc-acc--sub .bc-acc__toggle { width: 36px; height: 36px; }
html body.bc-theme .bc-acc__item--all .bc-acc__row > a { font: 600 12px/1 var(--bc-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--bc-gold-text); }
html body.bc-theme .bc-acc__links { list-style: none; margin: 0; padding: 0 0 14px; }
html body.bc-theme .bc-acc__links a { display: block; padding: 9px 0; font: 400 15px/1.3 var(--bc-sans); color: var(--bc-text); }
html body.bc-theme .bc-acc__links--grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
html body.bc-theme .bc-acc__panel[hidden] { display: none; }

html body.bc-theme .bc-drawer__contact { margin-top: auto; padding: 18px; background: var(--bc-cream); border: 1px solid var(--bc-line); border-radius: 12px; font-size: 14px; color: var(--bc-muted); display: grid; gap: 12px; }
html body.bc-theme .bc-drawer__visit { display: flex; gap: 10px; align-items: flex-start; color: var(--bc-ink); text-decoration: none; }
html body.bc-theme .bc-drawer__visit .bc-icon { width: 18px; height: 18px; color: var(--bc-gold-text); margin-top: 1px; }
html body.bc-theme .bc-drawer__social { justify-content: flex-start; }

/* ---------- Live search ---------- */
html body.bc-theme .bc-search { position: fixed; inset: 0; z-index: 300; }
html body.bc-theme .bc-search[hidden] { display: none; }
html body.bc-theme .bc-search__overlay { position: absolute; inset: 0; background: rgba(15, 22, 12, .5); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s var(--bc-ease); }
html body.bc-theme .bc-search.is-open .bc-search__overlay { opacity: 1; }
html body.bc-theme .bc-search__panel {
	position: relative; display: flex; flex-direction: column; max-height: min(88vh, 860px);
	background: var(--bc-paper); border-radius: 0 0 18px 18px; box-shadow: 0 30px 80px -20px rgba(15, 22, 12, .45);
	transform: translateY(-16px); opacity: 0; transition: transform .3s var(--bc-ease), opacity .3s var(--bc-ease);
}
html body.bc-theme.admin-bar .bc-search__panel { margin-top: 32px; }
html body.bc-theme .bc-search.is-open .bc-search__panel { transform: none; opacity: 1; }
html body.bc-theme .bc-search__inner { display: flex; flex-direction: column; min-height: 0; flex: 1; }
html body.bc-theme .bc-search__form { position: relative; display: flex; align-items: center; gap: 14px; height: 84px; border-bottom: 1px solid var(--bc-line); flex: none; }
html body.bc-theme .bc-search__icon { width: 24px; height: 24px; color: var(--bc-gold-text); }
html body.bc-theme .bc-search .bc-search__input { flex: 1; min-width: 0; height: 100%; padding: 0; background: transparent; border: 0; outline: 0; box-shadow: none; font: 400 clamp(17px, 1.2vw + 12px, 24px)/1.2 var(--bc-sans); color: var(--bc-ink); -webkit-appearance: none; appearance: none; }
html body.bc-theme .bc-search .bc-search__input,
html body.bc-theme .bc-search .bc-search__input:hover,
html body.bc-theme .bc-search .bc-search__input:focus,
html body.bc-theme .bc-search .bc-search__input:focus-visible { border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; }
html body.bc-theme .bc-search .bc-search__input::placeholder { color: #9a9b92; }
html body.bc-theme .bc-search__input::-webkit-search-cancel-button { display: none; }
html body.bc-theme .bc-search__spinner { width: 20px; height: 20px; border: 2px solid var(--bc-line); border-top-color: var(--bc-gold-500); border-radius: 50%; opacity: 0; animation: bc-spin .8s linear infinite; transition: opacity .2s; }
html body.bc-theme .bc-search.is-loading .bc-search__spinner { opacity: 1; }
@keyframes bc-spin { to { transform: rotate(360deg); } }
html body.bc-theme .bc-search__clear { height: 32px; padding: 0 12px; background: var(--bc-cream); border: 1px solid var(--bc-line); border-radius: 999px; font: 600 11px/1 var(--bc-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bc-muted); cursor: pointer; }
html body.bc-theme .bc-search__clear:hover { color: var(--bc-green-900); border-color: var(--bc-line-strong); }
html body.bc-theme .bc-search__close { color: var(--bc-green-900); border-color: var(--bc-line); }
html body.bc-theme .bc-search__body { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; min-height: 0; margin: 0 -14px; padding: 26px 14px 30px; }
html body.bc-theme .bc-search__label { margin: 0 0 12px; font: 600 11px/1 var(--bc-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bc-gold-text); }
html body.bc-theme .bc-search__chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; }
html body.bc-theme .bc-search__chips a { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid var(--bc-line-strong); border-radius: 999px; font: 500 14px/1 var(--bc-sans); color: var(--bc-ink); text-decoration: none; transition: all .2s var(--bc-ease); }
html body.bc-theme .bc-search__chips a:hover { background: var(--bc-green-grad); border-color: #1f2d1a; color: var(--bc-ivory); }
html body.bc-theme .bc-search__chips--quiet a { background: var(--bc-cream); border-color: var(--bc-line); }
html body.bc-theme .bc-search__tip { margin: 0; font-size: 13px; color: var(--bc-muted); }

html body.bc-theme .bc-search__results { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 20px 44px; align-items: start; }
html body.bc-theme .bc-search__results[hidden] { display: none; }
html body.bc-theme .bc-search__side { display: grid; gap: 24px; }
html body.bc-theme .bc-search__main { min-width: 0; }
html body.bc-theme .bc-search__main:only-child { grid-column: 1 / -1; }
html body.bc-theme .bc-search__main:only-child .bc-search__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
html body.bc-theme .bc-search__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
html body.bc-theme .bc-sr-row { display: flex; align-items: center; gap: 14px; padding: 8px 10px; margin: 0 -10px; border-radius: 10px; color: var(--bc-ink); text-decoration: none; outline: 0; transition: background .15s var(--bc-ease); }
html body.bc-theme .bc-sr-row:hover, html body.bc-theme .bc-sr-row.is-active { background: var(--bc-cream); }
html body.bc-theme .bc-sr-row.is-active { box-shadow: inset 0 0 0 1px var(--bc-gold-500); }
html body.bc-theme .bc-sr-row__img { width: 48px; height: 48px; flex: none; border-radius: 8px; object-fit: cover; background: var(--bc-ivory); }
html body.bc-theme .bc-sr-row__mono { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--bc-green-grad); color: var(--bc-gold-300); font: 600 22px/1 var(--bc-serif); }
html body.bc-theme .bc-sr-row__text { display: grid; gap: 3px; min-width: 0; }
html body.bc-theme .bc-sr-row__title { font: 600 14.5px/1.3 var(--bc-sans); color: var(--bc-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.bc-theme .bc-sr-row__meta { font-size: 12.5px; color: var(--bc-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.bc-theme .bc-sr-row__go { margin-left: auto; width: 16px; height: 16px; color: var(--bc-gold-500); opacity: 0; transform: translateX(-4px); transition: all .2s var(--bc-ease); flex: none; }
html body.bc-theme .bc-sr-row:hover .bc-sr-row__go, html body.bc-theme .bc-sr-row.is-active .bc-sr-row__go { opacity: 1; transform: none; }
html body.bc-theme .bc-search mark { background: rgba(226, 194, 122, .38); color: inherit; border-radius: 2px; padding: 0 1px; }

html body.bc-theme .bc-search__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
html body.bc-theme .bc-sr-card { display: block; padding: 8px; margin: -8px; border-radius: 12px; color: var(--bc-ink); text-decoration: none; outline: 0; transition: background .15s var(--bc-ease); }
html body.bc-theme .bc-sr-card:hover, html body.bc-theme .bc-sr-card.is-active { background: var(--bc-cream); }
html body.bc-theme .bc-sr-card.is-active { box-shadow: inset 0 0 0 1px var(--bc-gold-500); }
html body.bc-theme .bc-sr-card__img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: var(--bc-ivory); margin-bottom: 10px; transition: transform .3s var(--bc-ease); }
html body.bc-theme .bc-sr-card:hover .bc-sr-card__img { transform: scale(1.02); }
html body.bc-theme .bc-sr-card__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 600 14px/1.35 var(--bc-sans); }
html body.bc-theme .bc-sr-card__meta { display: block; margin-top: 4px; font-size: 12.5px; color: var(--bc-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.bc-theme .bc-sr-card__code { display: inline-block; margin-top: 6px; font: 600 11px/1 var(--bc-sans); letter-spacing: .08em; color: var(--bc-gold-text); }
html body.bc-theme .bc-search__all { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding: 16px 20px; border-radius: 12px; background: var(--bc-green-grad); color: var(--bc-ivory); text-decoration: none; font: 600 13px/1.3 var(--bc-sans); letter-spacing: .08em; text-transform: uppercase; outline: 0; }
html body.bc-theme .bc-search__all .bc-icon { width: 18px; height: 18px; color: var(--bc-gold-300); transition: transform .25s var(--bc-ease); }
html body.bc-theme .bc-search__all:hover, html body.bc-theme .bc-search__all.is-active { color: var(--bc-ivory); box-shadow: 0 0 0 3px rgba(191, 147, 67, .4); }
html body.bc-theme .bc-search__all:hover .bc-icon { transform: translateX(4px); }
html body.bc-theme .bc-search__none { grid-column: 1 / -1; padding: 10px 0; }
html body.bc-theme .bc-search__none p { margin: 0 0 6px; font-size: 15px; color: var(--bc-text); }
html body.bc-theme .bc-search__none strong { color: var(--bc-ink); }
html body.bc-theme .bc-search__none a { color: var(--bc-green-900); font-weight: 600; }

/* ---------- Floating call button ---------- */
html body.bc-theme .bc-fab {
	position: fixed; right: 24px; bottom: 24px; z-index: 90;
	display: flex; align-items: center; height: 60px; padding: 0;
	background: var(--bc-green-grad); border-radius: 999px; color: var(--bc-ivory); text-decoration: none;
	box-shadow: 0 16px 34px -12px rgba(15, 22, 12, .55), inset 0 1px 0 rgba(255, 255, 255, .08);
	transition: box-shadow .3s var(--bc-ease), transform .3s var(--bc-ease);
}
html body.bc-theme .bc-fab__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; flex: none; border-radius: 50%; color: var(--bc-gold-300); }
html body.bc-theme .bc-fab__icon .bc-icon { width: 24px; height: 24px; transition: transform .3s var(--bc-ease); }
html body.bc-theme .bc-fab__icon::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--bc-gold-400); opacity: 0; animation: bc-ring 4s var(--bc-ease) 2s infinite; }
@keyframes bc-ring { 0% { transform: scale(1); opacity: .7; } 40%, 100% { transform: scale(1.6); opacity: 0; } }
html body.bc-theme .bc-fab__text { display: grid; gap: 3px; max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap; padding-left: 0; transition: max-width .4s var(--bc-ease), opacity .25s var(--bc-ease), padding .4s var(--bc-ease); }
html body.bc-theme .bc-fab__label { display: flex; align-items: center; gap: 8px; font: 600 10.5px/1 var(--bc-sans); letter-spacing: .16em; text-transform: uppercase; color: rgba(244, 237, 230, .7); }
html body.bc-theme .bc-fab__status { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; letter-spacing: .1em; color: rgba(244, 237, 230, .85); }
html body.bc-theme .bc-fab__status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #9aa394; }
html body.bc-theme .bc-fab__status.is-open::before { background: #6fcf8a; box-shadow: 0 0 0 3px rgba(111, 207, 138, .2); }
html body.bc-theme .bc-fab__number { font: 600 17px/1 var(--bc-sans); letter-spacing: .04em; color: var(--bc-ivory); }
html body.bc-theme .bc-fab:hover, html body.bc-theme .bc-fab:focus-visible { color: var(--bc-ivory); box-shadow: 0 20px 40px -12px rgba(15, 22, 12, .6), 0 0 0 3px rgba(191, 147, 67, .35); }
html body.bc-theme .bc-fab:hover .bc-fab__text, html body.bc-theme .bc-fab:focus-visible .bc-fab__text { max-width: 360px; opacity: 1; padding-left: 24px; }
html body.bc-theme .bc-fab:hover .bc-fab__icon .bc-icon { transform: rotate(-12deg); }
html body.bc-theme .bc-fab:hover .bc-fab__icon::after { animation: none; }
@media (prefers-reduced-motion: reduce) { html body.bc-theme .bc-fab__icon::after { display: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
	html body.bc-theme .bc-nav__link { padding: 0 12px; letter-spacing: .12em; }
	html body.bc-theme .bc-nav__link::after { left: 12px; right: 12px; }
	html body.bc-theme .bc-mega__col + .bc-mega__col { padding-left: 24px; }
	html body.bc-theme .bc-mega__grid { column-gap: 24px; }
}
@media (max-width: 1024px) {
	html body.bc-theme .bc-topbar__hours { display: none; }
	html body.bc-theme .bc-nav { display: none; }
	html body.bc-theme .bc-burger { display: inline-flex; }
	html body.bc-theme .bc-header__social { display: none; }
	html body.bc-theme .bc-header__bar { padding-top: 12px; padding-bottom: 12px; }
	html body.bc-theme .bc-searchtrigger { width: 44px; padding: 0; justify-content: center; background: transparent; border-color: transparent; }
	html body.bc-theme .bc-searchtrigger__text, html body.bc-theme .bc-searchtrigger__kbd { display: none; }
	html body.bc-theme .bc-searchtrigger .bc-icon { width: 20px; height: 20px; color: var(--hdr-fg); }
	html body.bc-theme .bc-header--overlay .bc-searchtrigger { background: transparent; border-color: transparent; }
	html body.bc-theme .bc-header--overlay .bc-searchtrigger .bc-icon { color: var(--bc-ivory); }
	html body.bc-theme .bc-header__right { gap: 2px; }
	html body.bc-theme .bc-search__results { grid-template-columns: minmax(0, 1fr); }
	html body.bc-theme .bc-search__grid, html body.bc-theme .bc-search__main:only-child .bc-search__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	html body.bc-theme .bc-fab { display: none; }
	html body.bc-theme.admin-bar .bc-header--solid { top: 0; }
	html body.bc-theme.admin-bar .bc-header--overlay { top: 46px; }
	html body.bc-theme.admin-bar .bc-search__panel { margin-top: 0; }
	html body.bc-theme .bc-topbar__inner { justify-content: space-between; gap: 12px; font-size: 12px; }
	html body.bc-theme .bc-header .bc-logo--green-tagline { width: 168px; }
	html body.bc-theme .bc-header .bc-logo--ivory { width: 168px; }
	html body.bc-theme .bc-header--solid.is-scrolled .bc-logo-compact .bc-logo, html body.bc-theme .bc-header--overlay.is-scrolled .bc-logo--ivory { width: 150px; }
	html body.bc-theme .bc-search__panel { height: 100%; max-height: none; border-radius: 0; }
	html body.bc-theme .bc-search__form { height: 68px; gap: 10px; }
	html body.bc-theme .bc-search__icon { display: none; }
	html body.bc-theme .bc-search .bc-search__input { font-size: 17px; }
	html body.bc-theme .bc-search__body { padding-top: 18px; padding-bottom: 40px; }
	html body.bc-theme .bc-search__results { gap: 24px; }
	html body.bc-theme .bc-search__grid, html body.bc-theme .bc-search__main:only-child .bc-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 480px) {
	html body.bc-theme .bc-topbar__item:first-child span { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
