/* ==== fonts.css ==== */
/* self-hosted (Google Fonts, OFL) */
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('../fonts/Assistant-300_800-hebrew.woff2') format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Assistant';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('../fonts/Assistant-300_800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Frank Ruhl Libre';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/FrankRuhlLibre-300_900-hebrew.woff2') format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Frank Ruhl Libre';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/FrankRuhlLibre-300_900-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/IBMPlexMono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/IBMPlexMono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==== tokens.css ==== */
/* ============================================================
 * tokens.css — single source of truth (colors, type, space, z, motion)
 * בראשית קייטרינג
 * ========================================================== */
:root {
	/* slate — the table surface */
	--bt-slate-950: #0f1011;
	--bt-slate-900: #16181a;
	--bt-slate-850: #1a1c1e;
	--bt-slate-800: #1f2224;
	--bt-slate-700: #2b2f31;
	--bt-slate-600: #3a3f42;

	/* warm lights */
	--bt-stone:   #efe7d8;   /* Jerusalem stone — primary text */
	--bt-stone-2: #cfc6b6;   /* secondary text */
	--bt-stone-3: #9a9285;   /* muted */
	--bt-tahini:  #d9c4a0;
	--bt-gold:    #d4a35a;   /* saffron-gold accent */
	--bt-gold-2:  #e7c287;
	--bt-paprika: #c4553b;
	--bt-olive:   #7d8b5c;

	--bt-line: rgba(239, 231, 216, .14);
	--bt-line-strong: rgba(239, 231, 216, .28);
	--bt-glass: rgba(22, 24, 26, .62);

	/* candle-light glows (moved per chapter by JS) */
	--bt-glow-a-x: 70%;
	--bt-glow-a-y: 20%;
	--bt-glow-b-x: 20%;
	--bt-glow-b-y: 80%;
	--bt-glow-a: rgba(212, 163, 90, .16);
	--bt-glow-b: rgba(196, 85, 59, .08);

	/* type */
	--bt-serif: 'Frank Ruhl Libre', 'Times New Roman', serif;
	--bt-sans: 'Assistant', 'Heebo', system-ui, sans-serif;
	--bt-mono: 'IBM Plex Mono', ui-monospace, monospace;

	--bt-fs-h1: clamp(52px, 8.4vw, 148px);
	--bt-fs-h2: clamp(40px, 5.4vw, 92px);
	--bt-fs-h3: clamp(26px, 2.6vw, 40px);
	--bt-fs-lead: clamp(19px, 1.45vw, 23px);
	--bt-fs-body: 18px;
	--bt-fs-small: 15px;
	--bt-fs-label: 13px;

	/* space */
	--bt-gutter: clamp(20px, 5vw, 88px);
	--bt-max: 1360px;
	--bt-chapter-y: clamp(96px, 16vh, 220px);
	--bt-overlap: 12vh;

	--bt-r-sm: 10px;
	--bt-r-md: 18px;
	--bt-r-lg: 28px;
	--bt-r-pill: 999px;

	/* z */
	--bt-z-table: -1;
	--bt-z-content: 1;
	--bt-z-sticky: 50;
	--bt-z-header: 90;
	--bt-z-menu: 95;
	--bt-z-preloader: 100;

	/* motion */
	--bt-ease: cubic-bezier(.16, 1, .3, 1);
	--bt-ease-soft: cubic-bezier(.45, 0, .2, 1);
	--bt-dur: .9s;

	--bt-plate-shadow: 0 30px 60px -18px rgba(0, 0, 0, .75), 0 10px 22px -10px rgba(0, 0, 0, .6);
}

/* ==== base.css ==== */
/* ============================================================
 * base.css — scoped base (.bt), the continuous table background,
 * shared components (plate, flower, buttons, headings), CSS gate,
 * editor-preview neutralisation.
 * No global html/body rules except the :has() background fallback.
 * ========================================================== */

body:has(.bt-scene) { background: var(--bt-slate-900); }

.bt,
.bt-scene {
	direction: rtl;
	font-family: var(--bt-sans);
	font-size: var(--bt-fs-body);
	line-height: 1.6;
	color: var(--bt-stone);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.bt *, .bt *::before, .bt *::after,
.bt-scene *, .bt-scene *::before, .bt-scene *::after { box-sizing: border-box; }
.bt-scene { position: relative; z-index: var(--bt-z-content); isolation: isolate; }
.bt-scene img { max-width: 100%; display: block; }
.bt-scene h1, .bt-scene h2, .bt-scene h3, .bt-scene h4, .bt-scene p, .bt-scene ul, .bt-scene figure { margin: 0; padding: 0; }
.bt-scene ul { list-style: none; }
.bt-scene [hidden], .bt [hidden] { display: none !important; }
.bt-scene a { color: inherit; text-decoration: none; }
.bt-scene button { font: inherit; color: inherit; }
.bt-inner { width: 100%; max-width: var(--bt-max); margin-inline: auto; padding-inline: var(--bt-gutter); }
.bt-ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }

/* ---------- the table: one continuous background for the whole page ---------- */
.bt-table {
	position: fixed; inset: 0; z-index: var(--bt-z-table); pointer-events: none;
	background:
		radial-gradient(60vmax 50vmax at var(--bt-glow-a-x) var(--bt-glow-a-y), var(--bt-glow-a), transparent 70%),
		radial-gradient(50vmax 45vmax at var(--bt-glow-b-x) var(--bt-glow-b-y), var(--bt-glow-b), transparent 70%),
		linear-gradient(180deg, var(--bt-slate-900), var(--bt-slate-950));
	transition: --bt-glow-a-x 1.6s var(--bt-ease-soft), background-position 1.6s;
}
.bt-table::before { /* procedural slate texture */
	content: ''; position: absolute; inset: -10%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='5' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .62 0 0 0 0 .64 0 0 0 0 .66 0 0 0 .9 -.38'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-size: 900px 900px;
	opacity: .22; mix-blend-mode: soft-light;
}
.bt-table::after { /* fine grain + vignette */
	content: ''; position: absolute; inset: 0;
	background:
		radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.55) 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
.bt-table .bt-glow { /* JS-driven glow layer (moves smoothly between chapters) */
	position: absolute; width: 70vmax; height: 70vmax; border-radius: 50%;
	background: radial-gradient(circle, var(--bt-glow-a), transparent 65%);
	left: 0; top: 0; transform: translate(-50%, -50%);
	transition: transform 1.8s var(--bt-ease-soft), opacity 1.8s;
}

/* chapter overlap — no hard seams between chapters */
.bt-chapter { position: relative; }
.bt-chapter + .bt-chapter,
.elementor-widget + .elementor-widget .bt-chapter.bt-overlap { margin-top: 0; }
.bt-fade-edges {
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 var(--bt-overlap), #000 calc(100% - var(--bt-overlap)), transparent 100%);
	        mask-image: linear-gradient(180deg, transparent 0, #000 var(--bt-overlap), #000 calc(100% - var(--bt-overlap)), transparent 100%);
}

/* ---------- typography ---------- */
.bt-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--bt-sans); font-weight: 600; font-size: var(--bt-fs-label);
	letter-spacing: .08em; color: var(--bt-gold);
}
.bt-eyebrow .bt-flower { width: 16px; height: 16px; }
.bt-eyebrow .bt-num { font-family: var(--bt-mono); font-weight: 500; color: var(--bt-stone-3); letter-spacing: .04em; }
.bt-h1, .bt-h2, .bt-h3 { font-family: var(--bt-serif); font-weight: 300; line-height: 1.02; letter-spacing: -.01em; color: var(--bt-stone); }
.bt-h1 { font-size: var(--bt-fs-h1); }
.bt-h2 { font-size: var(--bt-fs-h2); }
.bt-h3 { font-size: var(--bt-fs-h3); line-height: 1.15; font-weight: 400; }
.bt-h1 em, .bt-h2 em, .bt-h3 em { font-style: normal; color: var(--bt-gold); font-weight: 400; }
.bt-lead { font-size: var(--bt-fs-lead); line-height: 1.55; color: var(--bt-stone-2); max-width: 36em; }
.bt-small { font-size: var(--bt-fs-small); color: var(--bt-stone-3); }
.bt-note { font-size: 13px; color: var(--bt-stone-3); }
.bt-price { font-family: var(--bt-mono); font-weight: 500; direction: ltr; unicode-bidi: isolate; }

/* word-mask reveal — words are wrapped by JS (.bt-w > .bt-wi) */
.bt-split .bt-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.bt-split .bt-wi { display: inline-block; }

/* ---------- flower (logo mark) ---------- */
.bt-flower { display: inline-block; width: 1em; height: 1em; color: currentColor; }
.bt-flower svg { width: 100%; height: 100%; overflow: visible; }
.bt-petal { fill: none; stroke: currentColor; stroke-width: 7; stroke-linejoin: round; }
.bt-petal-in { fill: none; stroke: currentColor; stroke-width: 4; opacity: .9; }

/* ---------- plate: dish photo on a round slate coaster ---------- */
.bt-plate {
	position: relative; aspect-ratio: 1; border-radius: 50%;
	box-shadow: var(--bt-plate-shadow);
	background: var(--bt-slate-700);
	isolation: isolate;
}
.bt-plate img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; transform: scale(var(--bt-zoom, 1.04)); }
.bt-plate::before { /* keeps the scaled image clipped */
	content: ''; position: absolute; inset: 0; border-radius: 50%; z-index: 2; pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(239,231,216,.10), inset 0 -18px 40px -10px rgba(0,0,0,.5);
	background: radial-gradient(circle at 50% 50%, transparent 58%, rgba(15,16,17,.42) 74%, rgba(15,16,17,.1) 100%);
}
.bt-plate-clip { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; }

/* ---------- buttons ---------- */
.bt-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 56px; padding: 0 30px; border-radius: var(--bt-r-pill);
	font-family: var(--bt-sans); font-weight: 700; font-size: 17px; letter-spacing: .01em;
	cursor: pointer; border: 0; text-decoration: none;
	transition: transform .5s var(--bt-ease), background-color .3s, color .3s, box-shadow .5s var(--bt-ease);
}
.bt-btn-primary { background: var(--bt-gold); color: var(--bt-slate-950) !important; box-shadow: 0 14px 40px -14px rgba(212,163,90,.7); }
.bt-btn-primary:hover { background: var(--bt-gold-2); box-shadow: 0 20px 50px -14px rgba(212,163,90,.85); }
.bt-btn-ghost { background: rgba(239,231,216,.04); color: var(--bt-stone) !important; box-shadow: inset 0 0 0 1px var(--bt-line-strong); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.bt-btn-ghost:hover { background: rgba(239,231,216,.1); }
.bt-btn .bt-arrow { width: 18px; height: 18px; transition: transform .5s var(--bt-ease); }
.bt-btn:hover .bt-arrow { transform: translateX(-4px); }
.bt-btn:focus-visible, .bt-scene a:focus-visible, .bt-scene button:focus-visible, .bt-scene input:focus-visible, .bt-scene label:focus-within {
	outline: 2px solid var(--bt-gold); outline-offset: 3px;
}
.bt-btn-row { display: flex; flex-wrap: wrap; gap: 14px; }

/* ============================================================
 * CSS GATE — pre-animation states apply only under html.bt-anim
 * (added by JS on the live frontend when libs loaded + motion allowed)
 * ========================================================== */
html.bt-anim .bt-reveal { opacity: 0; transform: translateY(36px); }
html.bt-anim .bt-split .bt-wi { transform: translateY(105%); }
html.bt-anim .bt-reveal.is-in { opacity: 1; transform: none; transition: opacity 1.1s var(--bt-ease), transform 1.1s var(--bt-ease); }

/* ============================================================
 * EDITOR PREVIEW — neutralise pin / sticky / vh / hidden states
 * ========================================================== */
body.elementor-editor-active .bt-reveal, .bt-editor-preview .bt-reveal,
body.elementor-editor-preview .bt-reveal { opacity: 1 !important; transform: none !important; }
body.elementor-editor-active .bt-split .bt-wi, .bt-editor-preview .bt-split .bt-wi,
body.elementor-editor-preview .bt-split .bt-wi { transform: none !important; }

@media (prefers-reduced-motion: reduce) {
	.bt-scene *, .bt-scene *::before, .bt-scene *::after { animation-duration: .001s !important; transition-duration: .001s !important; }
}

/* ==== header.css ==== */
/* ============ header (bt-header) ============ */
.bt-header {
	position: fixed; inset-inline: 0; top: 0; z-index: var(--bt-z-header);
	padding: 18px var(--bt-gutter);
	transition: padding .5s var(--bt-ease), background-color .5s, backdrop-filter .5s, transform .6s var(--bt-ease);
}
.bt-header-bar {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	max-width: calc(var(--bt-max) + 2 * var(--bt-gutter)); margin-inline: auto;
	padding: 10px 14px 10px 10px; padding-inline-start: 22px; border-radius: var(--bt-r-pill);
	transition: background-color .5s, box-shadow .5s, backdrop-filter .5s;
}
.bt-header.is-scrolled .bt-header-bar,
.bt-header.is-solid .bt-header-bar {
	background: rgba(15, 16, 17, .72);
	box-shadow: inset 0 0 0 1px var(--bt-line), 0 20px 50px -20px rgba(0,0,0,.6);
	backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2);
}
.bt-header.is-hidden { transform: translateY(-120%); }
.bt-header-logo img { height: 46px; width: auto; display: block; }
.bt-header-nav { display: flex; gap: clamp(18px, 2.4vw, 40px); }
.bt-header-nav a {
	position: relative; color: var(--bt-stone-2); text-decoration: none; font-weight: 600; font-size: 16px;
	padding: 6px 0; transition: color .3s;
}
.bt-header-nav a::after {
	content: ''; position: absolute; inset-inline: 0; bottom: 0; height: 1px; background: var(--bt-gold);
	transform: scaleX(0); transform-origin: right; transition: transform .5s var(--bt-ease);
}
.bt-header-nav a:hover, .bt-header-nav a.is-active { color: var(--bt-stone); }
.bt-header-nav a:hover::after, .bt-header-nav a.is-active::after { transform: scaleX(1); }
.bt-header-actions { display: flex; align-items: center; gap: 10px; }
.bt-header-icon {
	position: relative; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
	color: var(--bt-stone); box-shadow: inset 0 0 0 1px var(--bt-line-strong); transition: background-color .3s;
}
.bt-header-icon:hover { background: rgba(239,231,216,.08); }
.bt-header-icon svg { width: 19px; height: 19px; }
.bt-cart-count {
	position: absolute; top: -2px; inset-inline-end: -2px; min-width: 20px; height: 20px; padding: 0 5px;
	border-radius: 10px; background: var(--bt-gold); color: var(--bt-slate-950);
	font: 700 11px/20px var(--bt-mono); text-align: center;
}
.bt-cart-count:empty, .bt-cart-count[data-count="0"] { display: none; }
.bt-header-cta { min-height: 46px; padding: 0 22px; font-size: 15px; }
.bt-burger { display: none; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(239,231,216,.06); box-shadow: inset 0 0 0 1px var(--bt-line-strong); cursor: pointer; position: relative; }
.bt-burger span { position: absolute; left: 14px; right: 14px; height: 1.5px; background: var(--bt-stone); transition: transform .5s var(--bt-ease), top .5s var(--bt-ease); }
.bt-burger span:first-child { top: 19px; } .bt-burger span:last-child { top: 26px; }
.bt-header.is-open .bt-burger span:first-child { top: 22.5px; transform: rotate(45deg); }
.bt-header.is-open .bt-burger span:last-child { top: 22.5px; transform: rotate(-45deg); }

/* mobile menu */
.bt-menu {
	position: fixed; inset: 0; z-index: -1; padding: 120px var(--bt-gutter) 40px;
	background: var(--bt-slate-950); display: flex; flex-direction: column; justify-content: space-between;
	clip-path: circle(0% at 10% 5%); transition: clip-path .8s var(--bt-ease); overflow: hidden;
}
.bt-menu[hidden] { display: flex; visibility: hidden; }
.bt-header.is-open .bt-menu { clip-path: circle(150% at 10% 5%); visibility: visible; }
.bt-menu-flower { position: absolute; width: 90vw; height: 90vw; inset-inline-start: -30vw; bottom: -20vw; color: var(--bt-gold); opacity: .07; }
.bt-menu-nav { display: flex; flex-direction: column; gap: 6px; position: relative; }
.bt-menu-nav a { font: 300 clamp(40px, 11vw, 64px)/1.15 var(--bt-serif); color: var(--bt-stone); text-decoration: none; }
.bt-menu-foot { display: flex; gap: 24px; position: relative; font-weight: 700; color: var(--bt-gold); }
.bt-menu-foot a { color: inherit; text-decoration: none; }

@media (max-width: 1024px) {
	.bt-header { padding: 12px 14px; }
	.bt-header-nav, .bt-header-cta { display: none; }
	.bt-burger { display: block; }
	.bt-header-logo img { height: 38px; }
	.bt-header-icon, .bt-burger { width: 42px; height: 42px; }
	.bt-burger span:first-child { top: 17px; } .bt-burger span:last-child { top: 24px; }
	.bt-header.is-open .bt-burger span { top: 20.5px !important; }
	.bt-header.is-open .bt-header-bar { background: transparent; box-shadow: none; backdrop-filter: none; }
}

/* ============ preloader ============ */
.bt-preloader {
	position: fixed; inset: 0; z-index: var(--bt-z-preloader); display: grid; place-items: center;
	background: var(--bt-slate-950); color: var(--bt-gold);
	transition: opacity .8s var(--bt-ease-soft), visibility .8s;
}
.bt-preloader .bt-flower { width: 76px; height: 76px; }
.bt-preloader .bt-petal, .bt-preloader .bt-petal-in { stroke-dasharray: 260; stroke-dashoffset: 260; animation: bt-draw 1.1s var(--bt-ease-soft) forwards; }
.bt-preloader .bt-petal-in { animation-delay: .25s; }
.bt-preloader.is-done { opacity: 0; visibility: hidden; }
html:not(.bt-js) .bt-preloader { display: none; }
@keyframes bt-draw { to { stroke-dashoffset: 0; } }

/* ============ mobile order bar ============ */
.bt-orderbar {
	position: fixed; inset-inline: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: var(--bt-z-sticky);
	display: none; align-items: center; justify-content: space-between; gap: 12px;
	padding: 8px 8px 8px 8px; padding-inline-start: 20px; border-radius: var(--bt-r-pill);
	background: rgba(15,16,17,.86); box-shadow: inset 0 0 0 1px var(--bt-line), 0 20px 40px -10px rgba(0,0,0,.7);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	transform: translateY(140%); transition: transform .6s var(--bt-ease);
}
.bt-orderbar-price { font-weight: 600; color: var(--bt-stone-2); font-size: 15px; }
.bt-orderbar-price .bt-price { color: var(--bt-stone); font-size: 17px; }
.bt-orderbar .bt-btn { min-height: 48px; padding: 0 22px; font-size: 16px; }
.bt-orderbar.is-visible { transform: none; }
@media (max-width: 1024px) { .bt-orderbar { display: flex; } }

/* ==== hero.css ==== */
/* ============ CH1 hero — "שמונה עלי כותרת" (bt-hero-bloom) ============
 * Static-first: copy on top, the finished ring below it (mobile / no-JS / reduced-motion).
 * Desktop + html.bt-anim: stage becomes a 100svh pinned scene; JS scatters the 8
 * plates around the viewport and scrubs them into the ring.
 */
.bt-hero { --R: min(31svh, 25vw); --ps: calc(var(--R) * .56); }
.bt-hero-stage {
	position: relative; min-height: 100svh;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 56px;
	padding: 150px var(--bt-gutter) 90px; overflow: clip;
}
.bt-hero-veil { display: none; }
.bt-hero-copy { position: relative; z-index: 3; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 26px; max-width: 1100px; }
.bt-hero-eyebrow .bt-flower { width: 18px; height: 18px; }
.bt-hero-title { text-wrap: balance; }
.bt-hero-title em { display: inline-block; }
.bt-hero-lead { text-align: center; margin-inline: auto; max-width: 34em; }
.bt-hero-ctas { justify-content: center; }

/* ring (final state is the static state) */
.bt-ring { position: relative; z-index: 1; width: calc(var(--R) * 2 + var(--ps)); aspect-ratio: 1; flex: none; }
.bt-ring-list { position: absolute; inset: 0; }
.bt-ring-item {
	--a: calc(var(--i) * 45deg - 90deg);
	position: absolute; left: 50%; top: 50%; width: var(--ps);
	transform: translate(-50%, -50%) translate(calc(cos(var(--a)) * var(--R)), calc(sin(var(--a)) * var(--R)));
}
.bt-ring-item .bt-plate { width: 100%; }
.bt-ring-label {
	position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
	white-space: nowrap; font-size: 14px; font-weight: 600; color: var(--bt-stone-2); letter-spacing: .02em;
}
.bt-ring-flower {
	position: absolute; left: 50%; top: 50%; width: calc(var(--R) * 1.02); aspect-ratio: 1;
	transform: translate(-50%, -50%); color: var(--bt-gold); opacity: .9;
}
.bt-ring-flower svg { width: 100%; height: 100%; }
.bt-ring-flower .bt-petal { stroke-width: 3.2; }
.bt-ring-flower .bt-petal-in { stroke-width: 2; }
.bt-ring-core {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	display: flex; flex-direction: column; align-items: center; text-align: center; pointer-events: none;
	width: calc(var(--R) * .9);
}
.bt-ring-num {
	font: 300 calc(var(--R) * .34)/1 var(--bt-serif); color: var(--bt-stone);
	background: radial-gradient(circle, var(--bt-slate-900) 40%, transparent 72%); padding: 0 .3em;
}
.bt-ring-caption { font: 400 max(12px, calc(var(--R) * .08))/1.2 var(--bt-serif); color: var(--bt-stone); margin-top: .35em !important; white-space: nowrap; padding: .3em .9em; border-radius: 999px; background: rgba(15,16,17,.88); box-shadow: inset 0 0 0 1px var(--bt-line); }
.bt-ring-caption em { font-style: normal; color: var(--bt-gold); }
.bt-ring-flower + .bt-ring-core .bt-ring-num { opacity: 1; }

.bt-hero-scrollhint { display: none; }

/* ---------- desktop cinematic state ---------- */
@media (min-width: 1025px) {
	html.bt-anim .bt-hero-stage {
		height: 100svh; min-height: 0; padding: 0; display: block;
	}
	html.bt-anim .bt-hero-copy {
		position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(1100px, 86vw);
	}
	html.bt-anim .bt-hero-veil {
		display: block; position: absolute; inset: 0; z-index: 2; pointer-events: none;
		background: radial-gradient(46vw 40vh at 50% 50%, rgba(15,16,17,.92), rgba(15,16,17,.55) 60%, transparent 100%);
	}
	html.bt-anim .bt-ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
	html.bt-anim .bt-ring-label, html.bt-anim .bt-ring-core, html.bt-anim .bt-ring-flower { opacity: 0; }
	html.bt-anim .bt-hero-scrollhint {
		display: flex; position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%); z-index: 3;
		flex-direction: column; align-items: center; gap: 10px;
		font: 500 11px/1 var(--bt-mono); letter-spacing: .3em; color: var(--bt-stone-3);
	}
	.bt-hero-scrollhint i { width: 1px; height: 46px; background: linear-gradient(var(--bt-gold), transparent); animation: bt-hint 2.2s var(--bt-ease-soft) infinite; transform-origin: top; }
}
@keyframes bt-hint { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* ---------- mobile ---------- */
@media (max-width: 1024px) {
	.bt-hero { --R: min(33vw, 230px); --ps: calc(var(--R) * .52); }
	.bt-hero-stage { padding: 124px 20px 40px; gap: 44px; }
	.bt-hero-copy { gap: 20px; }
	.bt-hero-eyebrow { font-size: 12px; letter-spacing: .04em; }
	.bt-ring-label { font-size: 12px; top: calc(100% + 6px); }
	html.bt-anim .bt-ring-item { opacity: 0; transform: translate(-50%, -50%) scale(.6); transition: opacity .9s var(--bt-ease), transform 1.2s var(--bt-ease); transition-delay: calc(var(--i) * 70ms); }
	html.bt-anim .bt-ring.is-in .bt-ring-item { opacity: 1; transform: translate(-50%, -50%) translate(calc(cos(var(--a)) * var(--R)), calc(sin(var(--a)) * var(--R))); }
	html.bt-anim .bt-ring-flower, html.bt-anim .bt-ring-core { opacity: 0; transition: opacity 1.2s .5s var(--bt-ease); }
	html.bt-anim .bt-ring.is-in .bt-ring-flower { opacity: .9; }
	html.bt-anim .bt-ring.is-in .bt-ring-core { opacity: 1; }
}
@media (max-width: 480px) {
	.bt-ring-label { font-size: 11px; }
	.bt-ring-item:nth-child(8) .bt-ring-label { white-space: normal; width: 90px; text-align: center; line-height: 1.2; }
}

/* editor: flat */
.bt-editor-preview.bt-hero .bt-hero-stage, body.elementor-editor-active .bt-hero .bt-hero-stage { height: auto !important; min-height: 0 !important; display: flex !important; padding: 80px 20px !important; }
.bt-editor-preview.bt-hero .bt-hero-copy, .bt-editor-preview.bt-hero .bt-ring { position: relative !important; left: auto !important; top: auto !important; transform: none !important; }
.bt-editor-preview.bt-hero .bt-ring-label, .bt-editor-preview.bt-hero .bt-ring-core, .bt-editor-preview.bt-hero .bt-ring-flower { opacity: 1 !important; }

/* ============ marquee ============ */
.bt-marquee { padding: 40px 0 20px; overflow: hidden; }
.bt-marquee-track { display: flex; width: max-content; direction: ltr; animation: bt-marquee var(--bt-marquee-dur, 38s) linear infinite; }
.bt-marquee-group { display: flex; align-items: center; gap: 44px; padding-inline-end: 44px; direction: rtl; }
.bt-marquee span { font: 300 clamp(38px, 5vw, 76px)/1.1 var(--bt-serif); color: transparent; -webkit-text-stroke: 1px rgba(239,231,216,.38); white-space: nowrap; }
.bt-marquee span:nth-child(4n+1) { color: var(--bt-stone); -webkit-text-stroke: 0; }
.bt-marquee .bt-flower { width: 30px; height: 30px; color: var(--bt-gold); flex: none; }
.bt-marquee:hover .bt-marquee-track { animation-play-state: paused; }
@keyframes bt-marquee { to { transform: translateX(-50%); } }
@media (max-width: 1024px) { .bt-marquee { padding: 10px 0; } .bt-marquee-group { gap: 26px; padding-inline-end: 26px; } .bt-marquee .bt-flower { width: 20px; height: 20px; } }

/* ==== courses.css ==== */
/* ============ CH3 story (bt-statement) ============ */
.bt-story { padding: var(--bt-chapter-y) 0 calc(var(--bt-chapter-y) * .7); }
.bt-story .bt-inner { max-width: 1240px; }
.bt-story-text {
	margin-top: 34px !important;
	font: 300 clamp(30px, 3.7vw, 60px)/1.28 var(--bt-serif); color: var(--bt-stone); text-wrap: pretty;
}
.bt-story-text em { font-style: normal; color: var(--bt-gold); }
html.bt-anim .bt-story-text[data-bt-words] .bt-word { opacity: .16; transition: opacity .3s linear; }
html.bt-anim .bt-story-text[data-bt-words] .bt-word.is-lit { opacity: 1; }
.bt-story-facts {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: clamp(64px, 10vh, 120px);
}
.bt-fact { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; position: relative; }
.bt-fact::before { content: ''; position: absolute; top: 0; inset-inline: 0; height: 1px; background: linear-gradient(to left, var(--bt-line-strong), transparent); }
.bt-fact-num { font: 300 clamp(54px, 6vw, 96px)/1 var(--bt-serif); color: var(--bt-stone); }
.bt-fact-num small { font-size: .42em; color: var(--bt-gold); margin-inline-start: 4px; font-family: var(--bt-mono); }
.bt-fact-label { color: var(--bt-stone-3); font-size: 16px; }
@media (max-width: 768px) {
	.bt-story-facts { grid-template-columns: 1fr 1fr; gap: 34px 18px; }
	.bt-story-text { font-size: clamp(27px, 7.4vw, 36px); }
}

/* ============ CH4 courses (bt-courses) ============
 * static: acts stacked. desktop+gate: one pinned 100svh stage, acts layered, scrubbed by JS.
 */
.bt-courses { padding: calc(var(--bt-chapter-y) * .6) 0 var(--bt-chapter-y); }
.bt-courses-stage { position: relative; max-width: calc(var(--bt-max) + 2 * var(--bt-gutter)); margin-inline: auto; padding-inline: var(--bt-gutter); }
.bt-courses-head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 70px; }
.bt-courses-progress { display: none; }
.bt-acts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(90px, 14vh, 160px); }
.bt-act { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(30px, 5vw, 90px); align-items: center; }
.bt-act-text { display: flex; flex-direction: column; gap: 16px; }
.bt-act-kicker { font-size: var(--bt-fs-label); font-weight: 700; letter-spacing: .1em; color: var(--bt-gold); }
.bt-act .bt-h3 { font-size: clamp(46px, 5vw, 84px); font-weight: 300; line-height: 1; }
.bt-act-desc { color: var(--bt-stone-2); font-size: var(--bt-fs-lead); max-width: 24em; }
.bt-act-items { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px !important; }
.bt-act-items li { padding: 8px 16px; border-radius: var(--bt-r-pill); box-shadow: inset 0 0 0 1px var(--bt-line-strong); font-size: 15px; font-weight: 600; color: var(--bt-stone); background: rgba(239,231,216,.03); }
.bt-act-tag { align-self: flex-start; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--bt-slate-950); background: var(--bt-tahini); padding: 6px 14px; border-radius: var(--bt-r-pill); }
.bt-act-tag .bt-price { font-weight: 600; }
.bt-courses-note { margin-top: 60px !important; text-align: center; }

/* plate compositions */
.bt-act-plates { position: relative; display: grid; gap: clamp(14px, 1.6vw, 26px); justify-items: center; align-items: center; }
.bt-act-plates figcaption { margin-top: 16px; text-align: center; font: 400 20px/1.2 var(--bt-serif); color: var(--bt-stone-2); }
.bt-act-plates .bt-plate figcaption { position: absolute; top: 100%; inset-inline: 0; }
.bt-act-plates--8 { grid-template-columns: repeat(4, 1fr); }
.bt-act-plates--8 .bt-plate { width: 100%; }
.bt-act-plates--8 .bt-plate:nth-child(n+5) { transform: translateX(calc(-1 * clamp(14px, 2vw, 40px))); }
.bt-act-plates--8 { padding-inline-end: clamp(14px, 2vw, 40px); }
.bt-act-plates--2 { grid-template-columns: 1fr 1fr; padding-bottom: 50px; }
.bt-act-plates--2 .bt-plate { width: 88%; }
.bt-act-plates--2 .bt-plate:nth-child(2) { margin-top: 18%; }
.bt-act-plates--3 { grid-template-columns: repeat(3, 1fr); padding-bottom: 50px; }
.bt-act-plates--3 .bt-plate { width: 94%; }
.bt-act-plates--3 .bt-plate:nth-child(2) { margin-top: 22%; }

@media (min-width: 1025px) {
	html.bt-anim .bt-courses { padding: 0; }
	html.bt-anim .bt-courses-stage { height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-top: 90px; }
	html.bt-anim .bt-courses-head { position: absolute; top: 120px; inset-inline-start: var(--bt-gutter); margin: 0; gap: 10px; }
	html.bt-anim .bt-courses-head .bt-h2 { font-size: clamp(36px, 3.4vw, 56px); }
	html.bt-anim .bt-courses-progress {
		display: flex; align-items: center; gap: 18px; position: absolute; top: 140px; inset-inline-end: var(--bt-gutter);
		font: 500 14px/1 var(--bt-mono); color: var(--bt-stone-3);
	}
	.bt-courses-count b { color: var(--bt-stone); font-weight: 500; }
	.bt-courses-bar { width: 160px; height: 1px; background: var(--bt-line-strong); position: relative; overflow: hidden; }
	.bt-courses-bar i { position: absolute; inset: 0; background: var(--bt-gold); transform: scaleX(0); transform-origin: right; }
	html.bt-anim .bt-acts { display: block; position: relative; height: min(62svh, 620px); margin-top: 60px; }
	html.bt-anim .bt-act { position: absolute; inset: 0; }
	html.bt-anim .bt-act:not(:first-child) { visibility: hidden; }
	html.bt-anim .bt-act-plates { height: 100%; }
	html.bt-anim .bt-act-plates--8 .bt-plate { width: min(100%, 22svh); }
	html.bt-anim .bt-act-plates--2 .bt-plate { width: min(88%, 44svh); }
	html.bt-anim .bt-act-plates--3 .bt-plate { width: min(94%, 30svh); }
	html.bt-anim .bt-courses-note { position: absolute; bottom: 26px; inset-inline: 0; margin: 0 !important; }
}
@media (max-width: 1024px) {
	.bt-act { grid-template-columns: 1fr; gap: 34px; }
	.bt-act-plates { order: -1; }
	.bt-act-plates--8 { grid-template-columns: repeat(4, 1fr); gap: 10px; }
	.bt-act-plates--8 .bt-plate:nth-child(n+5) { transform: translateX(-18px); }
	.bt-act-plates figcaption { font-size: 16px; margin-top: 10px; }
	.bt-act .bt-h3 { font-size: 48px; }
	html.bt-anim .bt-act .bt-plate { opacity: 0; transform: translateY(30px) rotate(-8deg) scale(.92); transition: opacity .9s var(--bt-ease), transform 1.1s var(--bt-ease); transition-delay: calc(var(--k) * 60ms); }
	html.bt-anim .bt-act.is-in .bt-plate { opacity: 1; transform: none; }
	html.bt-anim .bt-act.is-in .bt-act-plates--8 .bt-plate:nth-child(n+5) { transform: translateX(-18px); }
}

/* ==== builder.css ==== */
/* ============ CH5 builder (bt-builder) ============ */
.bt-builder { padding: var(--bt-chapter-y) 0; }
.bt-builder-head { display: flex; flex-direction: column; gap: 22px; max-width: 820px; margin-bottom: clamp(50px, 8vh, 90px); }
.bt-builder-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, 1fr); gap: clamp(28px, 4vw, 70px); align-items: start; margin: 0; }
.bt-builder-steps { display: flex; flex-direction: column; gap: 22px; }

.bt-step {
	margin: 0; min-width: 0; border: 0; padding: clamp(22px, 2.6vw, 36px);
	border-radius: var(--bt-r-lg); background: linear-gradient(160deg, rgba(239,231,216,.055), rgba(239,231,216,.015));
	box-shadow: inset 0 0 0 1px var(--bt-line);
}
.bt-step-title { display: flex; align-items: baseline; gap: 14px; padding: 0; margin-bottom: 22px; font: 400 clamp(24px, 2vw, 32px)/1.2 var(--bt-serif); color: var(--bt-stone); }
.bt-step-title small { font: 500 14px var(--bt-sans); color: var(--bt-stone-3); }
.bt-step-num { font: 500 13px/1 var(--bt-mono); color: var(--bt-gold); padding: 6px 9px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(212,163,90,.4); }

.bt-options { display: grid; gap: 14px; }
.bt-options--base { grid-template-columns: 1fr 1fr; }
.bt-options--dish, .bt-options--extra { grid-template-columns: 1fr 1fr; }
.bt-option, .bt-dish, .bt-extra { position: relative; display: block; cursor: pointer; }
.bt-option input, .bt-dish input, .bt-extra input { position: absolute; opacity: 0; pointer-events: none; }

.bt-option-card {
	position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%;
	padding: 24px 22px; border-radius: var(--bt-r-md); background: rgba(15,16,17,.5);
	box-shadow: inset 0 0 0 1px var(--bt-line); transition: box-shadow .4s var(--bt-ease), background-color .4s, transform .5s var(--bt-ease);
}
.bt-option:hover .bt-option-card { transform: translateY(-3px); }
.bt-option input:checked + .bt-option-card { background: rgba(212,163,90,.09); box-shadow: inset 0 0 0 1.5px var(--bt-gold), 0 20px 40px -24px rgba(212,163,90,.6); }
.bt-option-name { font: 400 26px/1.1 var(--bt-serif); color: var(--bt-stone); }
.bt-option-desc { font-size: 15px; color: var(--bt-stone-2); }
.bt-option-price { margin-top: auto; padding-top: 10px; color: var(--bt-stone-3); font-size: 15px; }
.bt-option-price .bt-price { font-size: 26px; color: var(--bt-gold); margin-inline-end: 4px; }
.bt-option-badge { position: absolute; top: -11px; inset-inline-end: 18px; padding: 3px 12px; border-radius: var(--bt-r-pill); background: var(--bt-gold); color: var(--bt-slate-950); font-size: 12px; font-weight: 800; }

.bt-dish-card, .bt-extra-card {
	position: relative; display: flex; align-items: center; gap: 16px; padding: 12px; padding-inline-end: 18px;
	border-radius: var(--bt-r-pill); background: rgba(15,16,17,.5); box-shadow: inset 0 0 0 1px var(--bt-line);
	font-weight: 600; transition: box-shadow .4s var(--bt-ease), background-color .4s;
}
.bt-dish-card .bt-plate, .bt-extra-card .bt-plate { width: 62px; flex: none; box-shadow: 0 10px 20px -8px rgba(0,0,0,.7); }
.bt-dish input:checked + .bt-dish-card, .bt-extra input:checked + .bt-extra-card { background: rgba(212,163,90,.09); box-shadow: inset 0 0 0 1.5px var(--bt-gold); }
.bt-extra-name { flex: 1; }
.bt-extra-price { color: var(--bt-gold); font-size: 15px; }
.bt-check { width: 24px; height: 24px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--bt-line-strong); display: grid; place-items: center; transition: background-color .3s; flex: none; }
.bt-extra input:checked + .bt-extra-card .bt-check { background: var(--bt-gold); box-shadow: none; }
.bt-extra input:checked + .bt-extra-card .bt-check::after { content: ''; width: 10px; height: 6px; border-inline-start: 2px solid var(--bt-slate-950); border-bottom: 2px solid var(--bt-slate-950); transform: rotate(-45deg) translate(1px, -1px); }

.bt-step--first .bt-step-locked { display: none; margin-top: 14px !important; color: var(--bt-stone-3); font-size: 15px; }
.bt-step--first .bt-step-locked button { background: none; border: 0; padding: 0; color: var(--bt-gold); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.bt-step--first.is-locked .bt-options { opacity: .32; pointer-events: none; filter: grayscale(.6); }
.bt-step--first.is-locked .bt-step-locked { display: block; }
.bt-step.is-error { box-shadow: inset 0 0 0 1.5px var(--bt-paprika); }

.bt-guests { display: flex; align-items: center; gap: 8px; direction: ltr; justify-content: flex-end; }
.bt-guests-btn {
	width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(239,231,216,.06); box-shadow: inset 0 0 0 1px var(--bt-line-strong); color: var(--bt-stone);
	font: 500 18px/1 var(--bt-mono); transition: background-color .3s, transform .3s var(--bt-ease);
}
.bt-guests-btn:hover { background: rgba(239,231,216,.12); }
.bt-guests-btn:active { transform: scale(.94); }
.bt-guests-input {
	width: 130px; height: 64px; text-align: center; border: 0; border-radius: var(--bt-r-md);
	background: rgba(15,16,17,.6); box-shadow: inset 0 0 0 1px var(--bt-line-strong); color: var(--bt-stone);
	font: 300 40px/1 var(--bt-serif); -moz-appearance: textfield; appearance: textfield;
}
.bt-guests-input::-webkit-outer-spin-button, .bt-guests-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bt-discount-meter { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.bt-discount-bar { height: 4px; border-radius: 4px; background: rgba(239,231,216,.1); overflow: hidden; }
.bt-discount-bar i { display: block; height: 100%; width: var(--bt-meter, 0%); background: linear-gradient(to left, var(--bt-gold), var(--bt-gold-2)); border-radius: inherit; transition: width .6s var(--bt-ease); }
.bt-discount-text { font-size: 15px; color: var(--bt-stone-2); }
.bt-discount-meter.is-on .bt-discount-text { color: var(--bt-gold); font-weight: 700; }

/* summary */
.bt-summary { position: sticky; top: 110px; }
.bt-summary-card {
	padding: 30px; border-radius: var(--bt-r-lg); position: relative; overflow: hidden;
	background: linear-gradient(170deg, #22262a, #16181a 60%); box-shadow: inset 0 0 0 1px var(--bt-line-strong), 0 40px 80px -40px rgba(0,0,0,.8);
}
.bt-summary-card::before { content: ''; position: absolute; width: 380px; height: 380px; top: -190px; inset-inline-start: -120px; background: radial-gradient(circle, rgba(212,163,90,.18), transparent 65%); pointer-events: none; }
.bt-summary-table { position: relative; width: 150px; height: 150px; margin: 0 auto 18px; }
.bt-summary-ring i {
	--a: calc(var(--i) * 45deg - 90deg);
	position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%;
	background: var(--bt-slate-600); box-shadow: inset 0 0 0 1px var(--bt-line-strong);
	transform: translate(calc(cos(var(--a)) * 62px), calc(sin(var(--a)) * 62px));
	transition: background-color .5s, box-shadow .5s, transform .6s var(--bt-ease);
}
.bt-summary-ring i.is-on { background: var(--bt-gold); box-shadow: 0 0 18px rgba(212,163,90,.6); }
.bt-summary-flower { position: absolute; inset: 40px; color: var(--bt-gold); }
.bt-summary-flower .bt-flower, .bt-summary-flower svg { width: 100%; height: 100%; }
.bt-summary-name { text-align: center; font: 400 30px/1.1 var(--bt-serif); color: var(--bt-stone); margin-bottom: 16px !important; }
.bt-summary-lines { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 22px !important; }
.bt-summary-lines li { font-size: 13px; font-weight: 700; padding: 4px 11px; border-radius: var(--bt-r-pill); background: rgba(239,231,216,.07); color: var(--bt-stone-2); }
.bt-summary-lines li.is-new { animation: bt-pop .6s var(--bt-ease); background: rgba(212,163,90,.18); color: var(--bt-gold-2); }
@keyframes bt-pop { from { transform: scale(.7); opacity: 0; } }
.bt-summary-row { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid var(--bt-line); font-size: 16px; color: var(--bt-stone-2); }
.bt-summary-row .bt-price { color: var(--bt-stone); }
.bt-summary-discount .bt-price, .bt-summary-discount span:first-child { color: var(--bt-gold); }
.bt-summary-total { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0 20px; border-top: 1px solid var(--bt-line-strong); }
.bt-summary-total > span:first-child { font: 400 22px var(--bt-serif); }
.bt-summary-total .bt-price { font: 300 44px/1 var(--bt-serif); color: var(--bt-stone); }
.bt-summary-cta { width: 100%; min-height: 62px; font-size: 18px; }
.bt-summary-cta[disabled] { opacity: .6; cursor: progress; }
.bt-summary .bt-note { text-align: center; margin-top: 14px !important; }
.bt-summary-error { color: #f08a72; font-weight: 700; font-size: 15px; margin-bottom: 12px !important; text-align: center; }

@media (max-width: 1024px) {
	.bt-builder-grid { grid-template-columns: 1fr; }
	.bt-summary { position: relative; top: 0; }
	.bt-options--base, .bt-options--dish, .bt-options--extra { grid-template-columns: 1fr; }
	.bt-guests { justify-content: center; }
	.bt-guests-btn { width: 48px; height: 48px; }
	.bt-guests-input { width: 100px; }
}

/* ==== sections.css ==== */
/* ============ CH6 events (bt-events) ============ */
.bt-events { padding: calc(var(--bt-chapter-y) * .8) 0; }
.bt-events-head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 60px; }
.bt-events-list { position: relative; }
.bt-event a {
	position: relative; display: grid; grid-template-columns: 70px minmax(0, 1.2fr) minmax(0, 1fr) 50px; align-items: center; gap: 24px;
	padding: 34px 0; border-top: 1px solid var(--bt-line); color: var(--bt-stone); text-decoration: none;
	transition: padding .6s var(--bt-ease);
}
.bt-event:last-child a { border-bottom: 1px solid var(--bt-line); }
.bt-event-idx { font: 500 14px var(--bt-mono); color: var(--bt-stone-3); }
.bt-event-name { font: 300 clamp(32px, 3.8vw, 62px)/1.05 var(--bt-serif); transition: color .4s, transform .6s var(--bt-ease); }
.bt-event-desc { color: var(--bt-stone-3); font-size: 17px; transition: color .4s; }
.bt-event-go { justify-self: end; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--bt-line-strong); transition: background-color .4s, color .4s, transform .6s var(--bt-ease); }
.bt-event a:hover .bt-event-name { color: var(--bt-gold); transform: translateX(-12px); }
.bt-event a:hover .bt-event-desc { color: var(--bt-stone-2); }
.bt-event a:hover .bt-event-go { background: var(--bt-gold); color: var(--bt-slate-950); transform: rotate(-45deg); }
.bt-events-cursor {
	position: fixed; left: 0; top: 0; width: 300px; height: 300px; z-index: 5; pointer-events: none;
	border-radius: 50%; overflow: hidden; opacity: 0; transform: translate(-50%, -50%) scale(.6);
	transition: opacity .4s, transform .6s var(--bt-ease); box-shadow: var(--bt-plate-shadow);
}
.bt-events-cursor img { width: 100%; height: 100%; object-fit: cover; }
.bt-events-cursor.is-on { opacity: 1; }
@media (max-width: 1024px), (hover: none) {
	.bt-events-cursor { display: none; }
	.bt-event a { grid-template-columns: 44px 1fr 44px; gap: 6px 14px; padding: 24px 0; }
	.bt-event-desc { grid-column: 2 / 3; grid-row: 2; font-size: 15px; }
	.bt-event-go { width: 40px; height: 40px; grid-row: 1 / 3; grid-column: 3; }
	.bt-event-name { font-size: 30px; }
}

/* ============ CH7 trust (bt-trust) ============ */
.bt-trust { padding: var(--bt-chapter-y) 0; }
.bt-trust-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 110px); align-items: center; }
.bt-trust-seal { position: relative; aspect-ratio: 1; width: min(100%, 440px); margin-inline: auto; display: grid; place-items: center; }
.bt-seal-ring { position: absolute; inset: 0; color: var(--bt-gold); animation: bt-spin 40s linear infinite; }
.bt-seal-ring svg { width: 100%; height: 100%; overflow: visible; }
.bt-seal-ring svg { direction: ltr; }
.bt-seal-ring text { font-family: var(--bt-sans); font-weight: 600; }
.bt-trust-seal::before { content: ''; position: absolute; inset: 16%; border-radius: 50%; background: radial-gradient(circle, rgba(212,163,90,.12), transparent 70%); box-shadow: inset 0 0 0 1px rgba(212,163,90,.3); }
.bt-seal-stamp { position: relative; width: 62%; height: auto; opacity: .92; }
.bt-trust-copy { display: flex; flex-direction: column; gap: 22px; }
.bt-trust-points { display: flex; flex-direction: column; gap: 28px; margin-top: 18px !important; }
.bt-trust-points li { position: relative; padding-inline-start: 38px; }
.bt-trust-points li::before { content: ''; position: absolute; inset-inline-start: 0; top: 10px; width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--bt-gold); background: radial-gradient(circle, var(--bt-gold) 30%, transparent 34%); }
.bt-trust-points h3 { font: 400 26px/1.25 var(--bt-serif); color: var(--bt-stone); margin-bottom: 6px !important; }
.bt-trust-points p { color: var(--bt-stone-2); max-width: 34em; }
@keyframes bt-spin { to { transform: rotate(360deg); } }
@media (max-width: 1024px) { .bt-trust-grid { grid-template-columns: 1fr; } .bt-trust-seal { width: min(78vw, 360px); } }

/* ============ CH8 market + lead form (bt-market-form) ============ */
.bt-market { padding: calc(var(--bt-chapter-y) * .6) 0; }
.bt-market-card {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); border-radius: var(--bt-r-lg); overflow: hidden;
	background: linear-gradient(160deg, rgba(239,231,216,.06), rgba(239,231,216,.015)); box-shadow: inset 0 0 0 1px var(--bt-line);
}
.bt-market-media { position: relative; min-height: 420px; }
.bt-market-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.bt-market-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to left, rgba(22,24,26,.0) 40%, rgba(22,24,26,.55)); }
.bt-market-body { padding: clamp(30px, 4.4vw, 70px); display: flex; flex-direction: column; gap: 22px; }
.bt-market-body .bt-h2 { font-size: clamp(38px, 4vw, 66px); }
.bt-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 10px; }
.bt-form .bt-btn, .bt-form .bt-form-msg { grid-column: 1 / -1; }
.bt-field { position: relative; }
.bt-field input {
	width: 100%; height: 60px; padding: 22px 18px 6px; border: 0; border-radius: var(--bt-r-md);
	background: rgba(15,16,17,.55); box-shadow: inset 0 0 0 1px var(--bt-line-strong); color: var(--bt-stone);
	font: 500 17px var(--bt-sans); transition: box-shadow .3s; color-scheme: dark;
}
.bt-field input:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--bt-gold); }
.bt-field label { position: absolute; inset-inline-start: 18px; top: 19px; color: var(--bt-stone-3); font-size: 16px; pointer-events: none; transition: transform .3s var(--bt-ease), font-size .3s, color .3s; transform-origin: right top; }
.bt-field input:focus + label, .bt-field input:not(:placeholder-shown) + label, .bt-field input[type="date"] + label { transform: translateY(-11px); font-size: 12px; color: var(--bt-gold); }
.bt-field.is-error input { box-shadow: inset 0 0 0 1.5px var(--bt-paprika); }
.bt-hp { position: absolute !important; inset-inline-start: 0; top: 0; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.bt-form-msg { min-height: 1.4em; font-weight: 700; color: var(--bt-gold); }
.bt-form-msg.is-error { color: #f08a72; }
@media (max-width: 1024px) {
	.bt-market-card { grid-template-columns: 1fr; }
	.bt-market-media { min-height: 240px; }
	.bt-form { grid-template-columns: 1fr; }
}

/* ============ CH9 FAQ (bt-faq) ============ */
.bt-faq { padding: var(--bt-chapter-y) 0 calc(var(--bt-chapter-y) * .6); }
.bt-faq-inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(30px, 6vw, 110px); align-items: start; }
.bt-faq-head { position: sticky; top: 130px; display: flex; flex-direction: column; gap: 20px; }
.bt-link { color: var(--bt-gold) !important; text-decoration: underline !important; text-underline-offset: 5px; }
.bt-qa { border-top: 1px solid var(--bt-line); }
.bt-qa:last-child { border-bottom: 1px solid var(--bt-line); }
.bt-qa summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
	padding: 28px 0; font: 400 clamp(22px, 1.9vw, 29px)/1.3 var(--bt-serif); color: var(--bt-stone);
}
.bt-qa summary::-webkit-details-marker { display: none; }
.bt-qa summary::after { content: '+'; flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font: 300 24px/1 var(--bt-sans); box-shadow: inset 0 0 0 1px var(--bt-line-strong); transition: transform .5s var(--bt-ease), background-color .3s; }
.bt-qa[open] summary::after { transform: rotate(45deg); background: var(--bt-gold); color: var(--bt-slate-950); box-shadow: none; }
.bt-qa-a { padding: 0 0 28px; color: var(--bt-stone-2); max-width: 40em; font-size: 18px; }
@media (max-width: 1024px) { .bt-faq-inner { grid-template-columns: 1fr; } .bt-faq-head { position: relative; top: 0; } }

/* ============ CH10 final CTA (bt-final-cta) ============ */
.bt-final { padding: calc(var(--bt-chapter-y) * .8) 0 var(--bt-chapter-y); text-align: center; overflow: clip; }
.bt-final .bt-inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 44px; }
.bt-final-flower { position: absolute; left: 50%; top: 50%; width: min(90vw, 760px); aspect-ratio: 1; transform: translate(-50%, -50%); color: var(--bt-gold); opacity: .09; z-index: -1; }
.bt-final-flower svg { width: 100%; height: 100%; animation: bt-spin 90s linear infinite; }
.bt-final-flower .bt-petal { stroke-width: 2; } .bt-final-flower .bt-petal-in { stroke-width: 1.2; }
.bt-final-title { font: 300 clamp(58px, 10vw, 172px)/.98 var(--bt-serif); color: var(--bt-stone); text-wrap: balance; }
.bt-final-title em { font-style: normal; color: var(--bt-gold); }
.bt-final-ctas { justify-content: center; }

/* ============ footer (bt-footer) ============ */
.bt-footer { padding: 90px 0 36px; background: linear-gradient(180deg, transparent, rgba(0,0,0,.35)); }
.bt-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 60px; border-bottom: 1px solid var(--bt-line); }
.bt-footer-brand img { height: 72px; width: auto; margin-bottom: 20px; }
.bt-footer-brand p { color: var(--bt-stone-3); max-width: 26em; font-size: 16px; }
.bt-footer-col { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.bt-footer-col h4 { margin: 0 0 6px; font: 600 13px var(--bt-sans); letter-spacing: .1em; color: var(--bt-gold); }
.bt-footer-col a { color: var(--bt-stone-2); font-size: 16px; transition: color .3s; }
.bt-footer-col a:hover { color: var(--bt-stone); }
.bt-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding-top: 28px; font-size: 14px; color: var(--bt-stone-3); }
.bt-footer-bottom a { color: inherit; }
.bt-footer-bottom a:hover { color: var(--bt-stone); }
@media (max-width: 1024px) {
	.bt-footer { padding-bottom: 110px; }
	.bt-footer-grid { grid-template-columns: 1fr 1fr; }
	.bt-footer-brand { grid-column: 1 / -1; }
}

/* ==== woo.css ==== */
/* ============ inner-page components ============ */
.bt-phero { padding: clamp(150px, 22vh, 230px) 0 clamp(40px, 8vh, 90px); }
.bt-phero-inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.bt-phero-copy { display: flex; flex-direction: column; gap: 22px; }
.bt-phero .bt-h1 { font-size: clamp(48px, 6.4vw, 110px); }
.bt-phero-plate { position: relative; width: min(100%, 420px); justify-self: center; }
.bt-phero-plate .bt-plate { width: 78%; margin: 11%; }
.bt-phero-flower { position: absolute; inset: 0; color: var(--bt-gold); opacity: .28; z-index: -1; animation: bt-spin 80s linear infinite; }
.bt-phero-flower svg { width: 100%; height: 100%; }
.bt-phero-flower .bt-petal { stroke-width: 2; }
@media (max-width: 1024px) { .bt-phero-inner { grid-template-columns: 1fr; } .bt-phero-plate { width: 62vw; } }

.bt-rich { padding: clamp(40px, 8vh, 100px) 0; }
.bt-rich .bt-inner { display: flex; flex-direction: column; gap: 22px; }
.bt-rich--narrow .bt-inner { max-width: 900px; }
.bt-rich-body { color: var(--bt-stone-2); font-size: 18px; line-height: 1.8; }
.bt-rich-body h2, .bt-rich-body h3 { font-family: var(--bt-serif); font-weight: 400; color: var(--bt-stone); margin: 1.6em 0 .5em; line-height: 1.2; }
.bt-rich-body h2 { font-size: 34px; } .bt-rich-body h3 { font-size: 26px; }
.bt-rich-body p, .bt-rich-body ul, .bt-rich-body ol { margin: 0 0 1em; }
.bt-rich-body ul { list-style: disc; padding-inline-start: 1.3em; }
.bt-rich-body a { color: var(--bt-gold); text-decoration: underline; text-underline-offset: 4px; }
.bt-rich-body strong { color: var(--bt-stone); }

.bt-contact { padding: clamp(40px, 8vh, 100px) 0; }
.bt-contact-head { display: flex; flex-direction: column; gap: 18px; margin-bottom: 48px; }
.bt-contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bt-contact-card {
	position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px; min-height: 170px; border-radius: var(--bt-r-lg);
	background: linear-gradient(160deg, rgba(239,231,216,.06), rgba(239,231,216,.015)); box-shadow: inset 0 0 0 1px var(--bt-line);
	transition: transform .6s var(--bt-ease), box-shadow .4s;
}
a.bt-contact-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(212,163,90,.55); }
.bt-contact-card span { color: var(--bt-gold); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.bt-contact-card strong { font: 400 24px/1.25 var(--bt-serif); color: var(--bt-stone); margin-top: auto; }
.bt-contact-card i { position: absolute; top: 24px; inset-inline-end: 24px; font-style: normal; color: var(--bt-stone-3); }
@media (max-width: 1024px) { .bt-contact-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bt-contact-grid { grid-template-columns: 1fr; } .bt-contact-card { min-height: 0; } }

.bt-field--full { grid-column: 1 / -1; }
.bt-field textarea {
	width: 100%; padding: 26px 18px 10px; border: 0; border-radius: var(--bt-r-md); resize: vertical; min-height: 120px;
	background: rgba(15,16,17,.55); box-shadow: inset 0 0 0 1px var(--bt-line-strong); color: var(--bt-stone); font: 500 17px var(--bt-sans);
}
.bt-field textarea:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--bt-gold); }
.bt-field textarea:focus + label, .bt-field textarea:not(:placeholder-shown) + label { transform: translateY(-11px); font-size: 12px; color: var(--bt-gold); }
.bt-market-card--solo { grid-template-columns: 1fr; }
.bt-footer-credit { opacity: .7; }

/* ============================================================
 * SITE SKIN — WoodMart + WooCommerce pages sit on the same table.
 * Scoped to body.bt-page (toggle in plugin settings).
 * ========================================================== */
body.bt-page {
	--wd-primary-color: #d4a35a;
	--wd-alternative-color: #d9c4a0;
	--wd-link-color: #efe7d8;
	--wd-link-color-hover: #d4a35a;
	--wd-text-color: #cfc6b6;
	--wd-title-color: #efe7d8;
	--wd-entities-title-color: #efe7d8;
	--wd-entities-title-color-hover: #d4a35a;
	--wd-main-bgcolor: transparent;
	--wd-form-color: #efe7d8;
	--wd-form-bg: rgba(15,16,17,.55);
	--wd-form-brd-color: rgba(239,231,216,.22);
	--wd-form-brd-color-focus: #d4a35a;
	--wd-form-placeholder-color: #9a9285;
	--bgcolor-white: #1f2224;
	--bgcolor-gray-100: #1a1c1e;
	--bgcolor-gray-200: #1f2224;
	--bgcolor-gray-300: #2b2f31;
	--brdcolor-gray-200: rgba(239,231,216,.12);
	--brdcolor-gray-300: rgba(239,231,216,.18);
	--color-gray-300: #9a9285;
	--color-gray-400: #9a9285;
	--color-gray-500: #b7ae9f;
	--color-gray-600: #cfc6b6;
	--color-gray-700: #efe7d8;
	--color-gray-800: #efe7d8;
	--color-gray-900: #efe7d8;
	--wd-text-font: 'Assistant', 'Heebo', sans-serif;
	--wd-title-font: 'Frank Ruhl Libre', serif;
	--wd-entities-title-font: 'Frank Ruhl Libre', serif;
	--btn-default-bgcolor: #d4a35a;
	--btn-default-color: #0f1011;
	--btn-default-bgcolor-hover: #e7c287;
	--btn-accented-bgcolor: #d4a35a;
	--btn-accented-color: #0f1011;
	--btn-accented-bgcolor-hover: #e7c287;
	--btn-default-brd-radius: 999px;
	--btn-accented-brd-radius: 999px;
	--wd-brd-radius: 18px;
	color-scheme: dark;
	background: #16181a;
	color: #cfc6b6;
	font-family: 'Assistant', 'Heebo', sans-serif;
}
body.bt-page .website-wrapper,
body.bt-page .main-page-wrapper,
body.bt-page .site-content,
body.bt-page .wd-page-content,
body.bt-page .page-title-default { background: transparent !important; }

/* our Theme Builder header replaces WoodMart's; keep content clear of the fixed bar */
body.bt-page.bt-has-header .whb-header,
body.bt-page.bt-has-header .wd-header-overlap .whb-header { display: none !important; }
body.bt-page:not(.home) .main-page-wrapper { padding-top: 130px; }
body.bt-page.elementor-page .main-page-wrapper,
body.bt-page.page-template-elementor_header_footer .main-page-wrapper,
body.bt-page.page-template-elementor_canvas .main-page-wrapper { padding-top: 0; }

body.bt-page h1, body.bt-page h2, body.bt-page h3, body.bt-page .title, body.bt-page .page-title .entry-title,
body.bt-page .woocommerce-loop-product__title, body.bt-page .product_title { font-family: 'Frank Ruhl Libre', serif; font-weight: 400; color: #efe7d8; }
body.bt-page .page-title { padding-block: 0 20px; }
body.bt-page .page-title .entry-title { font-size: clamp(40px, 5vw, 72px); font-weight: 300; }
body.bt-page .wd-breadcrumbs, body.bt-page .woocommerce-breadcrumb { color: #9a9285; }

/* buttons */
body.bt-page .button, body.bt-page button.button, body.bt-page .btn, body.bt-page input[type="submit"],
body.bt-page .single_add_to_cart_button, body.bt-page .checkout-button, body.bt-page #place_order, body.bt-page .wc-proceed-to-checkout .button {
	border-radius: 999px !important; font-family: 'Assistant', sans-serif; font-weight: 700; letter-spacing: .01em; text-transform: none;
}
body.bt-page .single_add_to_cart_button, body.bt-page .checkout-button, body.bt-page #place_order, body.bt-page .wc-proceed-to-checkout .button,
body.bt-page .woocommerce-mini-cart__buttons .checkout {
	background: #d4a35a !important; color: #0f1011 !important; box-shadow: 0 14px 40px -14px rgba(212,163,90,.7);
}
body.bt-page .single_add_to_cart_button:hover, body.bt-page .checkout-button:hover, body.bt-page #place_order:hover { background: #e7c287 !important; }

/* forms */
body.bt-page input[type="text"], body.bt-page input[type="email"], body.bt-page input[type="tel"], body.bt-page input[type="number"],
body.bt-page input[type="password"], body.bt-page input[type="date"], body.bt-page input[type="search"], body.bt-page select, body.bt-page textarea,
body.bt-page .select2-container--default .select2-selection--single {
	background-color: rgba(15,16,17,.55) !important; color: #efe7d8 !important; border: 1px solid rgba(239,231,216,.22) !important; border-radius: 14px !important;
}
body.bt-page input:focus, body.bt-page select:focus, body.bt-page textarea:focus { border-color: #d4a35a !important; box-shadow: 0 0 0 1px #d4a35a; }
body.bt-page .select2-container--default .select2-selection--single .select2-selection__rendered { color: #efe7d8; }
body.bt-page .select2-dropdown { background: #1f2224; color: #efe7d8; border-color: rgba(239,231,216,.22); }
body.bt-page label { color: #cfc6b6; }

/* cart / checkout panels */
body.bt-page .cart-totals-inner, body.bt-page .checkout-order-review, body.bt-page .woocommerce-checkout-review-order,
body.bt-page .wd-table-wrapper, body.bt-page .shop_table, body.bt-page .woocommerce-form-login, body.bt-page .woocommerce-form-register,
body.bt-page .woocommerce-MyAccount-navigation, body.bt-page .order_details, body.bt-page .woocommerce-order-overview {
	background: linear-gradient(160deg, rgba(239,231,216,.055), rgba(239,231,216,.015)) !important; border-radius: 24px; box-shadow: inset 0 0 0 1px rgba(239,231,216,.14);
	border: 0 !important; color: #cfc6b6;
}
body.bt-page .cart-totals-inner, body.bt-page .checkout-order-review { padding: 30px !important; }
body.bt-page .shop_table th, body.bt-page .shop_table td { border-color: rgba(239,231,216,.12) !important; color: #cfc6b6; }
body.bt-page .shop_table .product-name a, body.bt-page .order-total .amount, body.bt-page .cart-subtotal .amount { color: #efe7d8; }
body.bt-page .amount { color: #d4a35a; font-family: 'IBM Plex Mono', monospace; font-weight: 500; }
body.bt-page .fee .amount { color: #e7c287; }
body.bt-page .woocommerce-message, body.bt-page .woocommerce-info, body.bt-page .woocommerce-error, body.bt-page .wd-notice {
	background: rgba(212,163,90,.1) !important; color: #efe7d8 !important; border-radius: 16px; border: 1px solid rgba(212,163,90,.35) !important;
}
body.bt-page .woocommerce-error, body.bt-page .wd-notice.wd-info-color-error { background: rgba(196,85,59,.14) !important; border-color: rgba(196,85,59,.5) !important; }
body.bt-page .wc_payment_methods, body.bt-page .payment_box { background: rgba(15,16,17,.4) !important; color: #cfc6b6 !important; border-radius: 16px; }
body.bt-page .bt-event-field input { min-height: 52px; }

/* single product (catering) */
body.bt-page .bt-first-course-field { margin: 0 0 18px; display: flex; flex-direction: column; gap: 8px; }
body.bt-page .bt-first-course-field label { font-weight: 700; color: #efe7d8; }
body.bt-page .bt-first-course-field small { font-weight: 400; color: #9a9285; }
body.bt-page .bt-min-note { font-size: 14px; color: #9a9285; margin: 0 0 16px; }
body.bt-page .product-image-summary .price, body.bt-page .summary .price { color: #d4a35a; font-family: 'Frank Ruhl Libre', serif; }
body.bt-page .variations_form .variations label { color: #efe7d8; }
body.bt-page .wd-swatch.wd-text, body.bt-page .wd-swatch { color: #efe7d8; }

/* mini cart / side panels */
body.bt-page .cart-widget-side, body.bt-page .wd-side-hidden, body.bt-page .mobile-nav, body.bt-page .wd-dropdown {
	background: #1a1c1e !important; color: #cfc6b6;
}
body.bt-page .bt-order-event { margin-top: 30px; padding: 24px; border-radius: 20px; background: rgba(212,163,90,.08); box-shadow: inset 0 0 0 1px rgba(212,163,90,.3); }
body.bt-page .bt-order-event ul { list-style: none; margin: 0; padding: 0; }

/* hide WoodMart's own footer when ours is used */
body.bt-page.bt-has-footer .footer-container { display: none !important; }
