:root {
  --bb-navy: #38322d;
  --bb-navy-deep: #292520;
  --bb-navy-soft: #453d36;
  --bb-gold: #b59b7f;
  --bb-gold-soft: #e3d5c4;
  --bb-ivory: #f5f0e9;
  --bb-paper: #fcfaf6;
  --bb-ink: #26221f;
  --bb-muted: #706b66;
  --bb-border: #d9d0c6;
  --bb-success: #27664d;
  --bb-error: #9c3030;
  --bb-shadow: 0 28px 70px rgba(5, 18, 31, .16);
  --bb-shadow-soft: 0 12px 35px rgba(5, 18, 31, .10);
  --bb-shell: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bb-paper); color: var(--bb-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--bb-gold); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .55em; color: var(--bb-navy-deep); font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.08; letter-spacing: -.02em; }
h1 { font-size: clamp(3rem, 6vw, 6.2rem); }
h2 { font-size: clamp(2.2rem, 4.2vw, 4.4rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
p { margin: 0 0 1.25rem; }
ul, ol { padding-left: 1.25rem; }
::selection { background: var(--bb-gold-soft); color: var(--bb-navy-deep); }

.bb-shell { width: min(calc(100% - 72px), var(--bb-shell)); margin-inline: auto; }
.bb-shell-wide { width: min(calc(100% - 32px), 1680px); margin-inline: auto; }
.bb-site-shell { overflow: clip; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; z-index: 99999; top: 12px; left: 12px; width: auto; height: auto; padding: 12px 18px; clip: auto; background: #fff; color: #000; }

.bb-eyebrow, .bb-kicker { margin: 0 0 16px; color: var(--bb-gold); font-size: .72rem; font-weight: 800; letter-spacing: .2em; line-height: 1.4; text-transform: uppercase; }
.bb-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border: 1px solid transparent; border-radius: 0 !important; font-size: .77rem; font-weight: 800; letter-spacing: .095em; line-height: 1; text-transform: uppercase; transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease; }
.bb-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); }
.bb-button-dark { background: var(--bb-navy-deep); color: #fff; border-color: var(--bb-navy-deep); }
.bb-button-dark:hover { background: var(--bb-navy); color: #fff; }
.bb-button-gold { background: var(--bb-gold); color: var(--bb-navy-deep); border-color: var(--bb-gold); }
.bb-button-gold:hover { background: var(--bb-gold-soft); color: var(--bb-navy-deep); border-color: var(--bb-gold-soft); }
.bb-button-outline { background: transparent; color: var(--bb-navy-deep); border-color: var(--bb-gold); }
.bb-button-outline:hover { background: var(--bb-navy-deep); color: #fff; border-color: var(--bb-navy-deep); }
.bb-button-ghost { background: rgba(41,37,32,.55); color: #fff; border-color: rgba(227,213,196,.7); backdrop-filter: blur(8px); }
.bb-button-ghost:hover { background: var(--bb-gold); color: var(--bb-navy-deep); border-color: var(--bb-gold); }
.bb-text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--bb-navy-deep); font-weight: 800; }

/* Header */
.bb-topbar { background: #211f1b; color: rgba(255,255,255,.78); border-bottom: 1px solid rgba(181,155,127,.35); }
.bb-topbar .bb-shell { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.bb-topbar p { margin: 0; font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.bb-topbar nav { display: flex; align-items: center; gap: 28px; }
.bb-topbar a { color: rgba(255,255,255,.76); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bb-topbar a:hover { color: var(--bb-gold-soft); }
.bb-header { position: sticky; z-index: 1000; top: 0; background: rgba(41,37,32,.97); border-bottom: 1px solid rgba(181,155,127,.32); backdrop-filter: blur(18px); }
.admin-bar .bb-header { top: 32px; }
.bb-header-inner { min-height: 88px; display: grid; grid-template-columns: 220px 1fr 150px; align-items: center; gap: 28px; }
.bb-brand { width: 238px; display: inline-flex; align-items: center; }
.bb-brand img { width: 100%; max-height: 68px; object-fit: contain; object-position: left center; }
.bb-primary-nav { justify-self: center; }
.bb-menu { display: flex; align-items: center; justify-content: center; gap: clamp(20px,2vw,38px); margin: 0; padding: 0; list-style: none; }
.bb-menu > li { position: relative; }
.bb-menu > li > a { position: relative; display: inline-flex; align-items: center; min-height: 88px; color: rgba(255,255,255,.9); font-size: .73rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.bb-menu > li > a::before { content: ""; position: absolute; left: 0; right: 100%; bottom: 23px; height: 1px; background: var(--bb-gold); transition: right .22s ease; }
.bb-menu > li > a:hover, .bb-menu > li.current-menu-item > a, .bb-menu > li.current-menu-ancestor > a { color: var(--bb-gold-soft); }
.bb-menu > li > a:hover::before, .bb-menu > li.current-menu-item > a::before, .bb-menu > li.current-menu-ancestor > a::before { right: 0; }
.bb-menu > li.menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.bb-menu .sub-menu { position: absolute; z-index: 12; top: calc(100% - 16px); left: 50%; width: 250px; margin: 0; padding: 10px 0; list-style: none; background: #342f2a; border: 1px solid rgba(181,155,127,.35); box-shadow: var(--bb-shadow); opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: .2s ease; }
.bb-menu li:hover > .sub-menu, .bb-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.bb-menu .sub-menu a { display: block; padding: 11px 18px; color: rgba(255,255,255,.82); font-size: .78rem; font-weight: 650; }
.bb-menu .sub-menu a:hover { background: rgba(181,155,127,.12); color: var(--bb-gold-soft); }
.bb-header-actions { justify-self: end; display: flex; align-items: center; gap: 14px; }
.bb-header-actions > a, .bb-search-toggle, .bb-mobile-toggle { position: relative; width: 34px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--bb-gold-soft); }
.bb-header-actions > a:hover, .bb-search-toggle:hover { color: #fff; }
.bb-cart-count { position: absolute; right: -5px; top: 5px; min-width: 17px; height: 17px; display: inline-flex; align-items: center; justify-content: center; background: var(--bb-gold); color: var(--bb-navy-deep); font-size: .62rem; font-weight: 900; }
.bb-mobile-toggle { display: none; }
.bb-mobile-nav-contact { display: none; }
.bb-search-panel { background: #342f2a; border-top: 1px solid rgba(181,155,127,.25); }
.bb-search-panel .bb-shell { padding-block: 20px; }
.bb-search-panel form { display: grid; grid-template-columns: 1fr auto; max-width: 900px; margin-inline: auto; }
.bb-search-panel input { min-height: 52px; padding: 0 18px; border: 1px solid rgba(255,255,255,.18); border-right: 0; border-radius: 0; background: rgba(255,255,255,.06); color: #fff; }
.bb-search-panel button { min-width: 130px; border: 1px solid var(--bb-gold); border-radius: 0; background: var(--bb-gold); color: var(--bb-navy-deep); font-weight: 800; text-transform: uppercase; }

/* Hero carousel */
.bb-home-hero { background: var(--bb-navy-deep); }
.bb-hero-carousel { position: relative; height: min(720px, calc(100vh - 122px)); min-height: 600px; overflow: hidden; }
.bb-hero-track, .bb-hero-slide { position: absolute; inset: 0; }
.bb-hero-slide { opacity: 0; visibility: hidden; transition: opacity 1.1s ease, visibility 1.1s ease; }
.bb-hero-slide.is-active { z-index: 2; opacity: 1; visibility: visible; }
.bb-hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.035); transition: transform 7s ease; }
.bb-hero-slide.is-active img { transform: scale(1); }
.bb-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,16,14,.2) 0%, rgba(18,16,14,.32) 40%, rgba(18,16,14,.68) 100%), linear-gradient(90deg, rgba(18,16,14,.28), transparent 35%, transparent 65%, rgba(18,16,14,.25)); }
.bb-hero-content { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 34px; text-align: center; color: #fff; }
.bb-hero-content h1, .bb-hero-content h2 { max-width: 1100px; margin-bottom: 18px; color: #fff; font-size: clamp(3.4rem,6.5vw,7.3rem); text-shadow: 0 4px 24px rgba(0,0,0,.38); }
.bb-hero-content > p:not(.bb-kicker) { max-width: 760px; margin-bottom: 31px; color: var(--bb-gold-soft); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem,1.6vw,1.5rem); letter-spacing: .02em; }
.bb-button-hero { min-width: 260px; background: rgba(41,37,32,.74); color: #fff; border-color: var(--bb-gold); backdrop-filter: blur(8px); }
.bb-button-hero:hover { background: var(--bb-gold); color: var(--bb-navy-deep); }
.bb-carousel-arrow { position: absolute; z-index: 5; top: 50%; width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(227,213,196,.7); border-radius: 0; background: rgba(41,37,32,.35); color: #fff; transform: translateY(-50%); transition: background .2s ease, color .2s ease; backdrop-filter: blur(8px); }
.bb-carousel-arrow:hover { background: var(--bb-gold); color: var(--bb-navy-deep); }
.bb-carousel-prev { left: 28px; }
.bb-carousel-next { right: 28px; }
.bb-carousel-dots { position: absolute; z-index: 6; left: 50%; bottom: 38px; display: flex; gap: 13px; transform: translateX(-50%); }
.bb-carousel-dots button { width: 11px; height: 11px; padding: 0; border: 1px solid #fff; border-radius: 0; background: transparent; transform: rotate(45deg); }
.bb-carousel-dots button.is-active { background: var(--bb-gold); border-color: var(--bb-gold); }

/* Category rail and introduction */
.bb-category-rail { position: relative; z-index: 8; display: grid; grid-template-columns: repeat(4,1fr); margin-top: -26px; box-shadow: var(--bb-shadow); }
.bb-category-rail > a { min-height: 168px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 18px; background: var(--bb-navy); color: #fff; border: 1px solid rgba(181,155,127,.75); border-right: 0; text-align: center; transition: background .25s ease, transform .25s ease; }
.bb-category-rail > a:last-child { border-right: 1px solid rgba(181,155,127,.75); }
.bb-category-rail > a:hover { background: var(--bb-navy-soft); color: #fff; transform: translateY(-5px); }
.bb-category-icon { width: 70px; height: 50px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 7px; color: var(--bb-gold); }
.bb-category-icon svg { width: 58px; height: 42px; }
.bb-category-rail strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 500; letter-spacing: .02em; text-transform: uppercase; }
.bb-category-rail small { display: inline-flex; align-items: center; gap: 6px; margin-top: 7px; color: var(--bb-gold-soft); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bb-category-rail small svg { width: 16px; }
.bb-intro-section { padding: 105px 0 100px; background: var(--bb-ivory); }
.bb-intro-grid { display: grid; grid-template-columns: .95fr 1.35fr; align-items: center; gap: 85px; }
.bb-intro-copy { max-width: 580px; }
.bb-intro-copy h2 { font-size: clamp(2.6rem,4.4vw,4.5rem); }
.bb-intro-copy > p:not(.bb-eyebrow) { color: #77706a; }
.bb-value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 48px; padding-left: 75px; border-left: 1px solid var(--bb-border); }
.bb-value-grid > div { display: grid; grid-template-columns: 52px 1fr; column-gap: 18px; align-items: start; }
.bb-value-grid svg { grid-row: 1/3; width: 42px; height: 42px; color: var(--bb-navy-deep); }
.bb-value-grid h3 { margin: 0 0 5px; font-family: inherit; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bb-value-grid p { margin: 0; color: var(--bb-muted); font-size: .88rem; line-height: 1.55; }

/* Product grid */
.bb-featured-products { padding: 92px 0 100px; background: var(--bb-navy-deep); color: #fff; }
.bb-section-title { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 38px; }
.bb-section-title h2 { margin: 0; font-size: clamp(2.3rem,3.5vw,3.6rem); }
.bb-section-title > a { display: inline-flex; align-items: center; gap: 8px; color: var(--bb-gold-soft); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bb-section-title-light h2 { color: #fff; }
.bb-empty-products { padding: 28px; border: 1px solid rgba(255,255,255,.16); text-align: center; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; margin: 0 !important; padding: 0; }
.bb-featured-products .woocommerce ul.products { grid-template-columns: repeat(5,minmax(0,1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { position: relative; width: auto !important; float: none !important; margin: 0 !important; padding: 0 0 18px; background: #fff; border: 1px solid var(--bb-border); border-radius: 0; text-align: left; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-6px); border-color: var(--bb-gold); box-shadow: var(--bb-shadow-soft); }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1/1; margin: 0 0 17px !important; object-fit: cover; background: #f3f1ed; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 52px; padding: 0 16px !important; color: var(--bb-navy-deep); font-family: inherit; font-size: .88rem !important; font-weight: 700; line-height: 1.45; }
.woocommerce ul.products li.product .price { display: block; min-height: 28px; margin: 5px 16px 7px !important; color: var(--bb-gold) !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem !important; font-weight: 600 !important; }
.woocommerce ul.products li.product .price del { color: #8b8b8b !important; font-size: .8rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { width: calc(100% - 32px); min-height: 44px; margin: 12px 16px 0 !important; padding: 12px 15px !important; background: var(--bb-navy-deep) !important; color: #fff !important; border: 1px solid var(--bb-navy-deep) !important; font-size: .64rem !important; }
.woocommerce ul.products li.product .button:hover { background: var(--bb-gold) !important; color: var(--bb-navy-deep) !important; border-color: var(--bb-gold) !important; }
.woocommerce span.onsale { min-width: auto; min-height: auto; left: 12px !important; top: 12px !important; right: auto !important; padding: 8px 10px; border-radius: 0; background: var(--bb-gold); color: var(--bb-navy-deep); font-size: .65rem; line-height: 1; text-transform: uppercase; }
.bb-product-badges { position: absolute; z-index: 3; left: 12px; top: 12px; display: grid; gap: 5px; }
.bb-product-badges span { width: max-content; padding: 6px 8px; background: rgba(41,37,32,.9); color: #fff; font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bb-product-badges span + span { display: none; }
.bb-loop-colours { display: flex; flex-wrap: wrap; gap: 5px; min-height: 17px; margin: 4px 16px 2px; }
.bb-loop-colours span { width: 13px; height: 13px; background: var(--bb-swatch); border: 1px solid rgba(0,0,0,.25); }
.bb-loop-colours small { font-size: .62rem; color: var(--bb-muted); }

/* Editorial home sections */
.bb-lumos-feature { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 650px; margin-block: 34px 0; background: var(--bb-navy); }
.bb-lumos-image { min-height: 650px; overflow: hidden; }
.bb-lumos-image img { width: 100%; height: 100%; object-fit: cover; }
.bb-lumos-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 70px; color: rgba(255,255,255,.78); }
.bb-lumos-copy h2 { color: #fff; }
.bb-lumos-copy p { max-width: 540px; }
.bb-editorial-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 3px; }
.bb-editorial-card { position: relative; min-height: 570px; overflow: hidden; }
.bb-editorial-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(4,14,24,.82) 100%); }
.bb-editorial-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bb-editorial-card:hover img { transform: scale(1.03); }
.bb-editorial-card > div { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 65px; color: rgba(255,255,255,.82); text-align: center; }
.bb-editorial-card h2 { color: #fff; font-size: clamp(2.25rem,3.5vw,4rem); }
.bb-editorial-card p { max-width: 620px; margin-inline: auto; }
.bb-inspiration-strip { padding: 110px 0; background: var(--bb-ivory); }
.bb-inspiration-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 90px; }
.bb-inspiration-grid > img { min-height: 560px; object-fit: cover; box-shadow: var(--bb-shadow); }
.bb-inspiration-grid > div { max-width: 610px; }
.bb-home-swatches { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.bb-home-swatches span { width: 28px; height: 28px; background: var(--bb-swatch); border: 1px solid rgba(0,0,0,.28); box-shadow: inset 0 0 0 2px rgba(255,255,255,.45); }
.bb-service-strip { background: #fff; border-top: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); }
.bb-service-strip .bb-shell { display: grid; grid-template-columns: repeat(4,1fr); }
.bb-service-strip .bb-shell > div { min-height: 132px; display: grid; grid-template-columns: 48px 1fr; align-content: center; column-gap: 16px; padding: 24px 32px; border-right: 1px solid var(--bb-border); }
.bb-service-strip .bb-shell > div:first-child { border-left: 1px solid var(--bb-border); }
.bb-service-strip svg { grid-row: 1/3; width: 40px; height: 40px; color: var(--bb-gold); }
.bb-service-strip strong { color: var(--bb-navy-deep); font-family: Georgia, "Times New Roman", serif; font-size: .98rem; font-weight: 600; text-transform: uppercase; }
.bb-service-strip span { color: var(--bb-muted); font-size: .78rem; line-height: 1.4; }

/* Standard pages */
.bb-page-main, .bb-commerce-main { min-height: 65vh; }
.bb-page-hero { padding: 100px 0 90px; background: linear-gradient(120deg,#25221f,#423b34); color: #fff; text-align: center; }
.bb-page-hero h1 { max-width: 1000px; margin-inline: auto; color: #fff; }
.bb-page-hero .term-description { max-width: 760px; margin: 20px auto 0; color: rgba(255,255,255,.75); }
.bb-page-content, .bb-woocommerce-shell { padding-block: 85px 105px; }
.bb-page-content > *:first-child { margin-top: 0; }
.bb-page-intro { max-width: 880px; margin: 0 auto 58px; text-align: center; }
.bb-page-intro h2 { font-size: clamp(2.3rem,4vw,4rem); }
.bb-content-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.bb-content-panel { padding: 38px; background: #fff; border: 1px solid var(--bb-border); box-shadow: var(--bb-shadow-soft); }
.bb-prose { max-width: 960px; margin-inline: auto; }
.bb-prose h2, .bb-prose h3 { margin-top: 1.7em; }
.bb-inline-trust { display: grid; grid-template-columns: repeat(3,1fr); margin: 0 0 48px; border: 1px solid var(--bb-border); }
.bb-inline-trust > div { padding: 22px; border-right: 1px solid var(--bb-border); text-align: center; }
.bb-inline-trust > div:last-child { border-right: 0; }
.bb-inline-trust strong, .bb-inline-trust span { display: block; }
.bb-inline-trust strong { color: var(--bb-navy-deep); font-family: Georgia, "Times New Roman", serif; }
.bb-inline-trust span { color: var(--bb-muted); font-size: .78rem; }
.bb-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; padding-block: 80px 100px; }
.bb-post-card { background: #fff; border: 1px solid var(--bb-border); }
.bb-post-card img { aspect-ratio: 4/3; object-fit: cover; }
.bb-post-card > div { padding: 28px; }
.bb-empty-state { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block: 90px; text-align: center; }

/* Forms */
.bb-contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 55px; }
.bb-contact-form-wrap { padding: 38px; background: #fff; border: 1px solid var(--bb-border); box-shadow: var(--bb-shadow-soft); }
.bb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bb-contact-form label { display: block; margin-bottom: 18px; }
.bb-contact-form label > span { display: block; margin-bottom: 6px; color: var(--bb-navy-deep); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.bb-contact-form input, .bb-contact-form select, .bb-contact-form textarea, .woocommerce input.input-text, .woocommerce select, .woocommerce textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--bb-border); border-radius: 0; background: #fff; color: var(--bb-ink); }
.bb-contact-form textarea, .woocommerce textarea { min-height: 130px; }
.bb-contact-form input:focus, .bb-contact-form select:focus, .bb-contact-form textarea:focus, .woocommerce input:focus, .woocommerce select:focus, .woocommerce textarea:focus { outline: 1px solid var(--bb-gold); border-color: var(--bb-gold); }
.bb-honeypot { position: absolute; left: -9999px; }
.bb-consent { display: flex !important; align-items: flex-start; gap: 10px; }
.bb-consent input { width: auto; min-height: auto; margin-top: 5px; }
.bb-form-message { margin-bottom: 20px; padding: 14px; border: 1px solid currentColor; }
.bb-form-message.is-success { color: var(--bb-success); }
.bb-form-message.is-error { color: var(--bb-error); }

/* Shop toolbar */
.bb-shop-toolbar { display: grid; grid-template-columns: minmax(300px,.8fr) 1.2fr; gap: 24px; align-items: center; margin-bottom: 38px; }
.bb-shop-search { display: grid; grid-template-columns: 1fr auto; }
.bb-shop-search input { min-height: 50px; padding: 0 15px; border: 1px solid var(--bb-border); border-radius: 0; }
.bb-shop-search button { min-width: 105px; border: 0; border-radius: 0; background: var(--bb-navy-deep); color: #fff; font-weight: 800; }
.bb-category-pills { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.bb-category-pills a { padding: 10px 15px; border: 1px solid var(--bb-border); border-radius: 0; color: var(--bb-navy-deep); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.bb-category-pills a:hover { background: var(--bb-navy-deep); color: #fff; border-color: var(--bb-navy-deep); }
.woocommerce .woocommerce-result-count { color: var(--bb-muted); }
.woocommerce .woocommerce-ordering select { min-height: 46px; padding: 0 38px 0 12px; border: 1px solid var(--bb-border); border-radius: 0; background: #fff; }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: 1.1fr .9fr; gap: 75px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product div.images img { background: #f4f1ec; }
.woocommerce div.product .product_title { font-size: clamp(2.5rem,4vw,4.5rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--bb-gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; }
.woocommerce-product-details__short-description { color: var(--bb-muted); }
.bb-product-configurator { margin: 28px 0; padding: 26px; border: 1px solid var(--bb-border); background: var(--bb-ivory); }
.bb-configurator-heading > span { color: var(--bb-navy-deep); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.bb-configurator-heading p { margin: 2px 0 20px; color: var(--bb-muted); font-size: .82rem; }
.bb-option-field { display: block; margin-bottom: 15px; }
.bb-option-field > span, .bb-colour-field legend { display: block; margin-bottom: 7px; color: var(--bb-navy-deep); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bb-option-field select { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--bb-border); border-radius: 0; background: #fff; }
.bb-colour-field { margin: 20px 0; padding: 0; border: 0; }
.bb-colour-swatches { display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; }
.bb-colour-swatch { position: relative; display: grid; justify-items: center; gap: 4px; cursor: pointer; }
.bb-colour-swatch input { position: absolute; opacity: 0; }
.bb-colour-swatch > span { width: 38px; height: 38px; display: block; background: var(--bb-swatch); border: 1px solid rgba(0,0,0,.25); box-shadow: inset 0 0 0 2px #fff; }
.bb-colour-swatch.is-selected > span, .bb-colour-swatch input:focus + span { outline: 2px solid var(--bb-gold); outline-offset: 2px; }
.bb-colour-swatch small { max-width: 58px; color: var(--bb-muted); font-size: .55rem; line-height: 1.2; text-align: center; }
.bb-configured-total { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--bb-border); }
.bb-configured-total span { color: var(--bb-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.bb-configured-total strong { color: var(--bb-gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.woocommerce div.product form.cart { display: flex; gap: 10px; margin-bottom: 20px; }
.woocommerce .quantity .qty { width: 70px; min-height: 52px; border: 1px solid var(--bb-border); border-radius: 0; }
.woocommerce div.product form.cart .button { flex: 1; background: var(--bb-navy-deep); color: #fff; }
.bb-product-reassurance { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 24px; border: 1px solid var(--bb-border); }
.bb-product-reassurance > div { padding: 18px; border-right: 1px solid var(--bb-border); }
.bb-product-reassurance > div:last-child { border-right: 0; }
.bb-product-reassurance strong, .bb-product-reassurance span { display: block; }
.bb-product-reassurance strong { color: var(--bb-navy-deep); font-size: .72rem; text-transform: uppercase; }
.bb-product-reassurance span { color: var(--bb-muted); font-size: .68rem; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1/-1; margin-top: 70px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 0; margin: 0 0 30px; padding: 0; border-bottom: 1px solid var(--bb-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 20px; color: var(--bb-muted); font-size: .72rem; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bb-navy-deep); border-bottom: 2px solid var(--bb-gold); }
.bb-feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }

/* Cart, checkout and account */
.woocommerce table.shop_table { border: 1px solid var(--bb-border); border-radius: 0; }
.woocommerce table.shop_table th { color: var(--bb-navy-deep); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-cart table.cart img { width: 90px; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-account .woocommerce-MyAccount-content { padding: 28px; border: 1px solid var(--bb-border); background: #fff; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: 48%; }
.woocommerce-checkout #payment { border-radius: 0; background: var(--bb-ivory); }
.woocommerce-checkout #payment div.payment_box { border-radius: 0; background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce form .form-row { margin-bottom: 15px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border: 1px solid var(--bb-border); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--bb-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 13px 16px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--bb-navy-deep); color: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--bb-gold); background: var(--bb-ivory); }

/* Footer */
.bb-footer { background: #25221f; color: rgba(255,255,255,.68); }
.bb-footer-top { padding-block: 76px; display: grid; grid-template-columns: 1.35fr .7fr .9fr 1fr; gap: 60px; }
.bb-footer h2 { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; }
.bb-footer ul { margin: 0; padding: 0; list-style: none; }
.bb-footer li { margin: 8px 0; }
.bb-footer a { color: rgba(255,255,255,.72); }
.bb-footer a:hover { color: var(--bb-gold-soft); }
.bb-footer-brand img { width: 210px; height: auto; object-fit: contain; }
.bb-footer-brand p { max-width: 380px; margin-top: 25px; }
.bb-footer-phone { display: inline-flex; align-items: center; gap: 9px; color: #fff !important; font-weight: 800; }
.bb-footer-exclusive { width: min(100%, 320px); margin-top: 26px; padding: 16px 16px 14px; border: 1px solid rgba(181,155,127,.35); background: rgba(255,255,255,.045); }
.bb-footer-exclusive-label { margin: 0 0 12px; color: var(--bb-gold-soft); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.bb-footer-exclusive img { width: 100%; max-width: 230px; height: auto; background: #fff; padding: 10px; }
.bb-footer-payments { width: min(100%, 420px); margin-top: 22px; }
.bb-footer-payments-label { margin: 0 0 10px; color: var(--bb-gold-soft); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.bb-footer-payments img { width: 100%; max-width: 390px; height: auto; }
.bb-footer-showroom > a { display: inline-flex; align-items: center; gap: 8px; color: var(--bb-gold-soft); font-weight: 800; }
.bb-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.bb-footer-bottom .bb-shell { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bb-footer-bottom p { margin: 0; font-size: .72rem; }
.bb-footer-bottom a { color: var(--bb-gold-soft); }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul, .nav-links { display: flex; justify-content: center; gap: 6px; margin-top: 50px; border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .page-numbers { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bb-border); border-radius: 0; background: #fff; color: var(--bb-navy-deep); }
.woocommerce nav.woocommerce-pagination ul li span.current, .page-numbers.current { background: var(--bb-navy-deep); border-color: var(--bb-navy-deep); color: #fff; }

@media (max-width: 1240px) {
  .bb-header-inner { grid-template-columns: 190px 1fr 130px; }
  .bb-brand { width: 175px; }
  .bb-menu { gap: 18px; }
  .bb-menu > li > a { font-size: .66rem; }
  .bb-featured-products .woocommerce ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bb-featured-products .woocommerce ul.products li.product:nth-child(n+5) { display: none; }
  .bb-service-strip .bb-shell > div { padding-inline: 20px; }
}

@media (max-width: 980px) {
  .admin-bar .bb-header { top: 46px; }
  .bb-topbar nav { display: none; }
  .bb-topbar .bb-shell { justify-content: center; text-align: center; }
  .bb-header-inner {
    min-height: 78px;
    grid-template-columns: minmax(170px, 1fr) auto auto;
    grid-template-areas: "brand actions toggle";
    gap: 10px;
  }
  .bb-brand { grid-area: brand; justify-self: start; width: min(250px, 48vw); }
  .bb-mobile-toggle { grid-area: toggle; justify-self: end; display: inline-flex; color: var(--bb-gold-soft); }
  .bb-header-actions { grid-area: actions; justify-self: end; gap: 6px; }
  .bb-menu-close { display: none; }
  .bb-mobile-toggle[aria-expanded="true"] .bb-menu-open { display: none; }
  .bb-mobile-toggle[aria-expanded="true"] .bb-menu-close { display: inline-flex; }
  .bb-primary-nav {
    position: fixed;
    z-index: 9998;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    display: block;
    padding: calc(132px + env(safe-area-inset-top)) max(24px,6vw) calc(46px + env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #292520;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: transform .32s ease, opacity .24s ease, visibility .32s ease;
  }
  .admin-bar .bb-primary-nav { padding-top: calc(178px + env(safe-area-inset-top)); }
  .bb-primary-nav.is-open { opacity: 1; visibility: visible; transform: translateX(0); }
  body.nav-open .bb-header { z-index: 10000; }
  .bb-menu { width: min(100%,560px); display: block; margin-inline: auto; text-align: center; }
  .bb-menu > li { border-bottom: 1px solid rgba(255,255,255,.1); }
  .bb-menu > li > a { min-height: 58px; justify-content: center; font-size: .88rem; }
  .bb-menu > li > a::before { display: none; }
  .bb-menu .sub-menu { position: static; width: auto; padding: 0 0 12px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; background: transparent; }
  .bb-menu .sub-menu a { padding: 8px; color: rgba(255,255,255,.62); }
  .bb-mobile-nav-contact { max-width: 420px; margin: 30px auto 0; display: grid; gap: 12px; text-align: center; }
  .bb-mobile-nav-contact > a:first-child { color: #fff; }
  .bb-search-toggle { display: none; }
  .bb-header-actions > a:first-of-type { display: none; }
  .bb-hero-carousel { height: 650px; min-height: 650px; }
  .bb-category-rail { grid-template-columns: 1fr 1fr; margin-top: 0; }
  .bb-category-rail > a:nth-child(2) { border-right: 1px solid rgba(181,155,127,.75); }
  .bb-category-rail > a:nth-child(-n+2) { border-bottom: 0; }
  .bb-intro-grid { grid-template-columns: 1fr; gap: 55px; text-align: center; }
  .bb-intro-copy { margin-inline: auto; }
  .bb-value-grid { padding-left: 0; border-left: 0; text-align: left; }
  .bb-featured-products .woocommerce ul.products, .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-featured-products .woocommerce ul.products li.product:nth-child(n+5) { display: block; }
  .bb-lumos-feature { grid-template-columns: 1fr; }
  .bb-lumos-image { min-height: 520px; }
  .bb-lumos-copy { text-align: center; align-items: center; }
  .bb-editorial-grid { grid-template-columns: 1fr; }
  .bb-inspiration-grid { grid-template-columns: 1fr; text-align: center; }
  .bb-inspiration-grid > div { margin-inline: auto; }
  .bb-home-swatches { justify-content: center; }
  .bb-service-strip .bb-shell { grid-template-columns: 1fr 1fr; }
  .bb-service-strip .bb-shell > div:nth-child(2) { border-right: 1px solid var(--bb-border); }
  .bb-service-strip .bb-shell > div:nth-child(-n+2) { border-bottom: 1px solid var(--bb-border); }
  .bb-content-grid { grid-template-columns: 1fr; }
  .bb-contact-layout { grid-template-columns: 1fr; }
  .bb-shop-toolbar { grid-template-columns: 1fr; }
  .bb-category-pills { justify-content: flex-start; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 45px; }
  .bb-product-reassurance { grid-template-columns: 1fr 1fr 1fr; }
  .bb-footer-top { grid-template-columns: 1fr 1fr; text-align: center; }
  .bb-footer-brand, .bb-footer-showroom { grid-column: 1/-1; }
  .bb-footer-brand img, .bb-footer-brand p, .bb-footer-exclusive, .bb-footer-payments { margin-inline: auto; }
}

@media (max-width: 700px) {
  .bb-shell { width: min(calc(100% - 30px), var(--bb-shell)); }
  .bb-shell-wide { width: min(calc(100% - 16px),1680px); }
  .bb-topbar p { font-size: .58rem; }
  .bb-header-inner {
    grid-template-columns: minmax(148px, 1fr) auto auto;
    grid-template-areas: "brand actions toggle";
  }
  .bb-brand { width: min(190px, 42vw); }
  .bb-header-actions { gap: 2px; justify-self: end; }
  .bb-header-actions > a, .bb-search-toggle, .bb-mobile-toggle { width: 38px; height: 40px; }
  .bb-search-toggle { display: none; }
  .bb-hero-carousel { height: 590px; min-height: 590px; }
  .bb-hero-slide img { object-position: 62% center; }
  .bb-hero-content { padding-inline: 18px; }
  .bb-hero-content h1, .bb-hero-content h2 { font-size: clamp(2.9rem,14vw,4.8rem); }
  .bb-hero-content > p:not(.bb-kicker) { max-width: 92%; font-size: 1rem; }
  .bb-button-hero { width: min(100%,280px); }
  .bb-carousel-arrow { width: 42px; height: 42px; top: auto; bottom: 24px; transform: none; }
  .bb-carousel-prev { left: 18px; }
  .bb-carousel-next { right: 18px; }
  .bb-carousel-dots { bottom: 39px; }
  .bb-category-rail { grid-template-columns: 1fr; }
  .bb-category-rail > a { min-height: 135px; border-right: 1px solid rgba(181,155,127,.75); border-bottom: 0; }
  .bb-category-rail > a:last-child { border-bottom: 1px solid rgba(181,155,127,.75); }
  .bb-intro-section, .bb-featured-products, .bb-inspiration-strip { padding-block: 72px; }
  .bb-value-grid { grid-template-columns: 1fr; gap: 28px; }
  .bb-value-grid > div { text-align: left; }
  .bb-section-title { display: block; text-align: center; }
  .bb-section-title > a { margin-top: 16px; }
  .bb-featured-products .woocommerce ul.products, .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce ul.products li.product { text-align: center; }
  .bb-loop-colours { justify-content: center; }
  .bb-lumos-feature { margin-top: 8px; }
  .bb-lumos-image { min-height: 360px; }
  .bb-lumos-copy { padding: 48px 22px; }
  .bb-editorial-card { min-height: 500px; }
  .bb-editorial-card > div { padding: 44px 22px; }
  .bb-inspiration-grid { gap: 42px; }
  .bb-inspiration-grid > img { min-height: 360px; }
  .bb-service-strip .bb-shell { grid-template-columns: 1fr; }
  .bb-service-strip .bb-shell > div { border-left: 1px solid var(--bb-border); border-right: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); }
  .bb-service-strip .bb-shell > div:last-child { border-bottom: 0; }
  .bb-page-hero { padding: 68px 0; }
  .bb-page-content, .bb-woocommerce-shell { padding-block: 60px 75px; }
  .bb-inline-trust { grid-template-columns: 1fr; }
  .bb-inline-trust > div { border-right: 0; border-bottom: 1px solid var(--bb-border); }
  .bb-inline-trust > div:last-child { border-bottom: 0; }
  .bb-form-grid { grid-template-columns: 1fr; }
  .bb-category-pills { justify-content: center; }
  .woocommerce div.product { text-align: center; }
  .bb-product-configurator { text-align: left; }
  .bb-colour-swatches { grid-template-columns: repeat(6,1fr); }
  .woocommerce div.product form.cart { justify-content: center; flex-wrap: wrap; }
  .bb-product-reassurance { grid-template-columns: 1fr; text-align: center; }
  .bb-product-reassurance > div { border-right: 0; border-bottom: 1px solid var(--bb-border); }
  .bb-product-reassurance > div:last-child { border-bottom: 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { flex-wrap: wrap; }
  .bb-feature-list { grid-template-columns: 1fr; text-align: left; }
  .woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: 100%; float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-content { margin-top: 24px; }
  .bb-footer-top { grid-template-columns: 1fr; }
  .bb-footer-brand, .bb-footer-showroom { grid-column: auto; }
  .bb-footer-bottom .bb-shell { padding-block: 20px; flex-direction: column; justify-content: center; text-align: center; }
}

/* ================================================================
   Editable Gutenberg homepage — v2.1
   All homepage content below is controlled from Pages → Home → Edit.
   ================================================================ */
.bb-home-editor-content { overflow: clip; }
.bb-home-editor-content > .bb-editable-home,
.bb-editable-home { margin: 0 !important; padding: 0; }
.bb-editable-home > * { margin-block-start: 0; margin-block-end: 0; }
.bb-editable-home .wp-block-button__link { border-radius: 0 !important; }

/* Full-image hero carousel. The 1672:941 ratio matches both supplied assets,
   so the complete artwork is shown rather than being cropped. */
.bb-editor-hero-carousel {
  position: relative;
  width: 100%;
  aspect-ratio: 1672 / 941;
  min-height: 0;
  margin: 0 !important;
  overflow: hidden;
  background: #211f1b;
}
.bb-editor-hero-slide {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.15s ease, visibility 1.15s ease;
}
.bb-editor-hero-slide.is-active { z-index: 2; opacity: 1; visibility: visible; }
.bb-editor-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  background: #211f1b;
}
.bb-editor-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1.018);
  transition: transform 7s ease;
}
.bb-editor-hero-slide.is-active .bb-editor-hero-image img { transform: scale(1); }
.bb-editor-hero-overlay {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 7% 8% 9%;
  color: #fff;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(18,16,14,.08) 0%, rgba(18,16,14,.22) 44%, rgba(18,16,14,.62) 100%),
    linear-gradient(90deg, rgba(18,16,14,.30), transparent 35%, transparent 65%, rgba(18,16,14,.28));
}
.bb-editor-hero-overlay > * { width: min(100%, 1080px); margin-inline: auto; }
.bb-editor-hero-overlay .bb-kicker { margin-bottom: 14px; color: var(--bb-gold-soft); }
.bb-editor-hero-overlay h1,
.bb-editor-hero-overlay h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(3.15rem, 6.2vw, 7rem);
  line-height: .98;
  text-shadow: 0 5px 30px rgba(0,0,0,.55);
}
.bb-editor-hero-copy {
  max-width: 780px !important;
  margin-bottom: 30px !important;
  color: var(--bb-gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.55vw, 1.45rem);
  letter-spacing: .02em;
}
.bb-hero-editor-button .wp-block-button__link {
  min-width: 255px;
  padding: 17px 27px;
  background: rgba(41,37,32,.78);
  color: #fff;
  border: 1px solid var(--bb-gold);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  transition: .25s ease;
}
.bb-hero-editor-button .wp-block-button__link:hover { background: var(--bb-gold); color: var(--bb-navy-deep); }
.bb-editor-carousel-control span { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; line-height: .8; }
.bb-editor-carousel-dots { bottom: 34px; }

/* Editable category cards — full-width desktop rail. */
.bb-block-category-rail {
  position: relative;
  z-index: 8;
  width: 100% !important;
  max-width: none !important;
  margin: -40px 0 0 !important;
  padding: 0 !important;
  box-shadow: var(--bb-shadow);
}
.bb-block-category-rail > .wp-block-columns,
.bb-block-category-columns {
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
  margin: 0 !important;
}
.bb-block-category-columns > .wp-block-column {
  min-width: 0;
  margin: 0 !important;
}
.bb-block-category-card {
  min-height: 190px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 22px;
  background: var(--bb-navy);
  color: rgba(255,255,255,.77);
  border: 1px solid rgba(181,155,127,.78);
  border-right: 0;
  text-align: center;
  transition: background .25s ease, transform .25s ease;
}
.bb-block-category-columns > .wp-block-column:last-child .bb-block-category-card { border-right: 1px solid rgba(181,155,127,.78); }
.bb-block-category-card:hover { z-index: 2; background: var(--bb-navy-soft); transform: translateY(-5px); }
.bb-block-category-card h3 { margin-bottom: 8px; color: #fff; font-size: 1.35rem; text-transform: uppercase; }
.bb-block-category-card p { max-width: 250px; margin-bottom: 16px; font-size: .82rem; line-height: 1.5; }
.bb-square-link .wp-block-button__link {
  min-height: auto;
  padding: 0 0 4px;
  background: transparent;
  color: var(--bb-gold-soft);
  border: 0;
  border-bottom: 1px solid var(--bb-gold);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.bb-square-link .wp-block-button__link:hover { color: #fff; }

/* Editable introduction */
.bb-block-intro { padding: 112px 36px 102px; background: var(--bb-ivory); }
.bb-block-intro-columns { gap: clamp(50px, 7vw, 105px); margin: 0 auto !important; }
.bb-block-intro h2 { font-size: clamp(2.65rem, 4.4vw, 4.6rem); }
.bb-block-intro p:not(.bb-eyebrow) { color: #77706a; }
.bb-block-values { padding-left: clamp(35px, 5vw, 78px); border-left: 1px solid var(--bb-border); }
.bb-block-values > .wp-block-columns { gap: 35px; margin-bottom: 35px; }
.bb-block-values > .wp-block-columns:last-child { margin-bottom: 0; }
.bb-block-value-card { padding: 0; }
.bb-block-value-card h3 { margin-bottom: 7px; font-family: inherit; font-size: .79rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bb-block-value-card h3::before { content: ""; display: block; width: 38px; height: 1px; margin-bottom: 16px; background: var(--bb-gold); }
.bb-block-value-card p { margin: 0; font-size: .88rem; line-height: 1.55; }
.bb-outline-editor-button .wp-block-button__link {
  padding: 15px 25px;
  background: transparent;
  color: var(--bb-navy-deep);
  border: 1px solid var(--bb-gold);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.bb-outline-editor-button .wp-block-button__link:hover { background: var(--bb-navy-deep); color: #fff; border-color: var(--bb-navy-deep); }

/* Featured WooCommerce products — all prices remain live in WooCommerce/GBP. */
.bb-block-featured-products {
  width: 100%;
  max-width: none !important;
  padding: 94px clamp(28px, 4vw, 76px) 102px;
  background: var(--bb-navy-deep);
  color: #fff;
}
.bb-block-featured-products > .wp-block-group,
.bb-block-featured-products > .wp-block-shortcode,
.bb-block-featured-products .bb-live-products,
.bb-block-featured-products .woocommerce {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}
.bb-block-section-heading { margin-bottom: 38px !important; }
.bb-block-section-heading h2 { margin: 0; color: #fff; font-size: clamp(2.35rem, 3.6vw, 3.8rem); }
.bb-block-heading-link { margin: 0; color: var(--bb-gold-soft); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bb-block-featured-products .woocommerce ul.products {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 34px);
}

/* Editable lifestyle and showroom imagery */
.bb-block-lumos {
  width: min(calc(100% - 32px), 1680px);
  min-height: 650px;
  margin: 34px auto 3px !important;
  background: var(--bb-navy);
  color: rgba(255,255,255,.78);
}
.bb-block-lumos .wp-block-media-text__media { height: 100%; min-height: 650px; }
.bb-block-lumos .wp-block-media-text__media img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; }
.bb-block-lumos .wp-block-media-text__content { padding: 72px; }
.bb-block-lumos h2 { color: #fff; }
.bb-gold-editor-button .wp-block-button__link {
  padding: 16px 25px;
  background: var(--bb-gold);
  color: var(--bb-navy-deep);
  border: 1px solid var(--bb-gold);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.bb-gold-editor-button .wp-block-button__link:hover { background: var(--bb-gold-soft); border-color: var(--bb-gold-soft); }
.bb-block-editorial-columns { gap: 3px !important; margin: 0 !important; }
.bb-block-editorial-columns > .wp-block-column { margin: 0 !important; }
.bb-block-editorial-cover { min-height: 590px; }
.bb-block-editorial-cover .wp-block-cover__inner-container { width: min(100% - 50px, 680px); color: rgba(255,255,255,.84); text-align: center; }
.bb-block-editorial-cover h2 { color: #fff; font-size: clamp(2.35rem,3.7vw,4.2rem); }
.bb-ghost-editor-button .wp-block-button__link {
  padding: 15px 25px;
  background: rgba(41,37,32,.54);
  color: #fff;
  border: 1px solid rgba(227,213,196,.78);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.bb-ghost-editor-button .wp-block-button__link:hover { background: var(--bb-gold); color: var(--bb-navy-deep); border-color: var(--bb-gold); }
.bb-block-inspiration {
  width: min(calc(100% - 72px), var(--bb-shell));
  margin: 112px auto !important;
  gap: 0;
}
.bb-block-inspiration .wp-block-media-text__media img { min-height: 580px; object-fit: cover; box-shadow: var(--bb-shadow); }
.bb-block-inspiration .wp-block-media-text__content { padding: 50px 0 50px 85px; }

/* Editable reassurance row */
.bb-block-service-strip { padding: 0 36px; background: #fff; border-top: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); }
.bb-block-service-strip > .wp-block-columns { gap: 0 !important; margin: 0 auto !important; }
.bb-block-service-strip .wp-block-column { min-height: 140px; display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; border-right: 1px solid var(--bb-border); }
.bb-block-service-strip .wp-block-column:first-child { border-left: 1px solid var(--bb-border); }
.bb-block-service-strip h3 { margin-bottom: 5px; font-size: .98rem; text-transform: uppercase; }
.bb-block-service-strip p { margin: 0; color: var(--bb-muted); font-size: .8rem; }

@media (max-width: 1180px) {
  .bb-block-featured-products .woocommerce ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bb-block-featured-products .woocommerce ul.products li.product:nth-child(n+5) { display: none; }
  .bb-block-category-rail { width: 100% !important; max-width: none !important; }
  .bb-block-category-card { min-height: 176px; padding-inline: 15px; }
  .bb-block-inspiration .wp-block-media-text__content { padding-left: 55px; }
}

@media (max-width: 900px) {
  .bb-block-category-columns { flex-wrap: wrap !important; }
  .bb-block-category-columns > .wp-block-column { flex-basis: 50% !important; }
  .bb-block-category-columns > .wp-block-column:nth-child(2) .bb-block-category-card { border-right: 1px solid rgba(181,155,127,.78); }
  .bb-block-category-columns > .wp-block-column:nth-child(-n+2) .bb-block-category-card { border-bottom: 0; }
  .bb-block-intro { padding-inline: 28px; }
  .bb-block-intro-columns { flex-wrap: wrap !important; }
  .bb-block-intro-columns > .wp-block-column { flex-basis: 100% !important; }
  .bb-block-values { padding: 42px 0 0; border-top: 1px solid var(--bb-border); border-left: 0; }
  .bb-block-featured-products .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-block-featured-products .woocommerce ul.products li.product:nth-child(n+5) { display: block; }
  .bb-block-lumos { grid-template-columns: 1fr !important; }
  .bb-block-lumos .wp-block-media-text__media,
  .bb-block-lumos .wp-block-media-text__media img { min-height: 480px; }
  .bb-block-editorial-columns { flex-wrap: wrap !important; }
  .bb-block-editorial-columns > .wp-block-column { flex-basis: 100% !important; }
  .bb-block-inspiration { grid-template-columns: 1fr !important; }
  .bb-block-inspiration .wp-block-media-text__content { padding: 55px 0 0; }
  .bb-block-service-strip > .wp-block-columns { flex-wrap: wrap !important; }
  .bb-block-service-strip .wp-block-column { flex-basis: 50% !important; }
  .bb-block-service-strip .wp-block-column:nth-child(2) { border-right: 1px solid var(--bb-border); }
  .bb-block-service-strip .wp-block-column:nth-child(-n+2) { border-bottom: 1px solid var(--bb-border); }
}

@media (max-width: 700px) {
  /* Mobile keeps the full hero artwork visible, then places the editable copy
     beneath it so neither the image nor the content needs to be cropped. */
  .bb-editor-hero-carousel {
    aspect-ratio: auto;
    height: calc(56.28vw + 330px);
    min-height: 545px;
    max-height: 660px;
  }
  .bb-editor-hero-slide { display: grid; grid-template-rows: auto 1fr; background: #211f1b; }
  .bb-editor-hero-image { position: relative; inset: auto; height: auto; }
  .bb-editor-hero-image img { width: 100%; height: auto; aspect-ratio: 1672/941; object-fit: contain; transform: none; }
  .bb-editor-hero-overlay {
    position: relative;
    inset: auto;
    min-height: 330px;
    padding: 35px 20px 76px;
    background: linear-gradient(180deg,#302c28,#211f1b);
  }
  .bb-editor-hero-overlay h1,
  .bb-editor-hero-overlay h2 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .bb-editor-hero-copy { max-width: 92% !important; font-size: .96rem; line-height: 1.55; }
  .bb-carousel-arrow { top: calc(28.14vw); width: 44px; height: 44px; }
  .bb-carousel-prev { left: 12px; }
  .bb-carousel-next { right: 12px; }
  .bb-editor-carousel-dots { bottom: 28px; }
  .bb-block-category-rail { width: 100% !important; max-width: none !important; margin-top: 0 !important; }
  .bb-block-category-columns > .wp-block-column { flex-basis: 100% !important; }
  .bb-block-category-card { min-height: 145px; border-right: 1px solid rgba(181,155,127,.78); border-bottom: 0 !important; }
  .bb-block-category-columns > .wp-block-column:last-child .bb-block-category-card { border-bottom: 1px solid rgba(181,155,127,.78) !important; }
  .bb-block-intro { padding: 75px 22px; }
  .bb-block-values > .wp-block-columns { flex-wrap: wrap !important; gap: 25px; }
  .bb-block-values > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .bb-block-featured-products { padding: 74px 20px 80px; }
  .bb-block-section-heading { display: block !important; }
  .bb-block-heading-link { margin-top: 15px; }
  .bb-block-featured-products .woocommerce ul.products { grid-template-columns: 1fr; }
  .bb-block-lumos { width: 100%; margin-top: 0 !important; }
  .bb-block-lumos .wp-block-media-text__media,
  .bb-block-lumos .wp-block-media-text__media img { min-height: 350px; }
  .bb-block-lumos .wp-block-media-text__content { padding: 48px 25px 55px; }
  .bb-block-editorial-cover { min-height: 500px !important; }
  .bb-block-inspiration { width: calc(100% - 38px); margin: 75px auto !important; }
  .bb-block-inspiration .wp-block-media-text__media img { min-height: 390px; }
  .bb-block-service-strip { padding: 0 18px; }
  .bb-block-service-strip .wp-block-column { flex-basis: 100% !important; min-height: 120px; border-left: 1px solid var(--bb-border); border-right: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); }
  .bb-block-service-strip .wp-block-column:last-child { border-bottom: 0; }
}


/* v2.2.1: Main editable hero changes naturally with no visible arrows or slide dots. */
.bb-editor-carousel-control,
.bb-editor-carousel-dots {
  display: none !important;
}


/* v2.3.0: full-screen mobile navigation with the menu control on the right. */
@media (max-width: 980px) {
  .bb-primary-nav .bb-menu > li > a { width: 100%; min-height: 64px; }
  .bb-primary-nav .bb-menu .sub-menu { width: 100%; }
  .bb-primary-nav .bb-mobile-nav-contact { width: min(100%,560px); }
}


/* v2.4.0 — premium header and footer refinement */
.bb-topbar {
  background: linear-gradient(90deg, #201d19 0%, #29241e 50%, #201d19 100%);
  border-bottom: 1px solid rgba(181,155,127,.22);
}
.bb-topbar .bb-shell {
  min-height: 40px;
}
.bb-topbar p {
  color: rgba(255,255,255,.84);
  letter-spacing: .16em;
}
.bb-topbar nav {
  gap: 0;
}
.bb-topbar nav a {
  position: relative;
  padding: 0 18px;
}
.bb-topbar nav a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 12px;
  background: rgba(181,155,127,.28);
  transform: translateY(-50%);
}
.bb-header {
  background: linear-gradient(180deg, rgba(7,23,37,.98) 0%, rgba(10,30,48,.97) 100%);
  border-bottom: 1px solid rgba(181,155,127,.24);
  box-shadow: 0 18px 40px rgba(3, 10, 17, .18);
}
.bb-header-inner {
  min-height: 96px;
}
.bb-brand {
  width: 250px;
}
.bb-brand img {
  max-height: 74px;
}
.bb-primary-nav {
  position: relative;
}
@media (min-width: 981px) {
  .bb-menu {
    gap: 0;
    padding: 0 18px;
    border: 1px solid rgba(181,155,127,.16);
    background: linear-gradient(180deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,.01) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  }
  .bb-menu > li > a {
    min-height: 96px;
    padding: 0 18px;
    font-size: .71rem;
    letter-spacing: .11em;
  }
  .bb-menu > li > a::before {
    left: 18px;
    right: calc(100% - 18px);
    bottom: 28px;
  }
  .bb-menu .sub-menu {
    top: calc(100% - 8px);
    border: 1px solid rgba(181,155,127,.28);
    background: linear-gradient(180deg, #27231f 0%, #342f2a 100%);
  }
}
.bb-header-actions {
  gap: 10px;
}
.bb-header-actions > a,
.bb-search-toggle,
.bb-mobile-toggle {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(181,155,127,.24);
  background: rgba(255,255,255,.03);
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}
.bb-header-actions > a:hover,
.bb-search-toggle:hover,
.bb-mobile-toggle:hover {
  background: rgba(181,155,127,.14);
  border-color: rgba(227,213,196,.65);
  color: #fff;
  transform: translateY(-1px);
}
.bb-cart-count {
  right: -7px;
  top: -3px;
  min-width: 18px;
  height: 18px;
  border: 1px solid #25221f;
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}
.bb-search-panel {
  background: linear-gradient(180deg, #27231f 0%, #29241e 100%);
}
.bb-search-panel .bb-shell {
  padding-block: 24px;
}
.bb-footer {
  position: relative;
  background: linear-gradient(180deg, #211f1b 0%, #2b2621 50%, #211f1b 100%);
  color: rgba(255,255,255,.72);
  overflow: hidden;
}
.bb-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(181,155,127,.65) 50%, transparent 100%);
}
.bb-footer-top {
  position: relative;
  padding-block: 90px 84px;
  gap: 42px;
  grid-template-columns: 1.55fr .8fr .95fr 1.05fr;
}
.bb-footer-top > div {
  position: relative;
}
.bb-footer-links,
.bb-footer-showroom {
  padding-top: 18px;
}
.bb-footer-links::before,
.bb-footer-showroom::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 46px;
  height: 1px;
  background: rgba(181,155,127,.65);
}
.bb-footer h2 {
  margin-bottom: 18px;
  color: var(--bb-gold-soft);
  font-size: .92rem;
  letter-spacing: .12em;
}
.bb-footer li {
  margin: 11px 0;
}
.bb-footer a {
  color: rgba(255,255,255,.78);
}
.bb-footer-brand img {
  width: 230px;
}
.bb-footer-brand p {
  max-width: 420px;
  margin-top: 22px;
  color: rgba(255,255,255,.68);
}
.bb-footer-phone {
  margin-top: 4px;
  padding: 10px 0 0;
}
.bb-footer-exclusive {
  width: min(100%, 330px);
  margin-top: 28px;
  padding: 18px;
  border: 1px solid rgba(181,155,127,.24);
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.025) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.bb-footer-exclusive-label,
.bb-footer-payments-label {
  margin: 0 0 12px;
  color: var(--bb-gold-soft);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.bb-footer-exclusive img {
  width: 100%;
  max-width: 238px;
  height: auto;
  background: transparent;
  padding: 0;
}
.bb-footer-payments {
  width: min(100%, 420px);
  margin-top: 24px;
  padding-top: 4px;
}
.bb-footer-payments img {
  width: 100%;
  max-width: 398px;
  height: auto;
}
.bb-footer-showroom p {
  color: rgba(255,255,255,.72);
}
.bb-footer-showroom > a {
  margin-top: 8px;
}
.bb-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.14);
}
.bb-footer-bottom .bb-shell {
  min-height: 74px;
}
.bb-footer-bottom p {
  color: rgba(255,255,255,.58);
  font-size: .7rem;
  letter-spacing: .05em;
}

@media (max-width: 980px) {
  .bb-header {
    box-shadow: 0 12px 26px rgba(3, 10, 17, .18);
  }
  .bb-brand {
    width: min(220px, 46vw);
  }
  .bb-brand img {
    max-height: 60px;
  }
  .bb-topbar .bb-shell {
    min-height: 38px;
  }
  .bb-footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 38px 28px;
    padding-block: 74px 68px;
  }
  .bb-footer-links::before,
  .bb-footer-showroom::before {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 700px) {
  .bb-brand {
    width: min(190px, 42vw);
  }
  .bb-topbar p {
    letter-spacing: .12em;
  }
  .bb-footer-top {
    grid-template-columns: 1fr;
    padding-block: 66px 60px;
  }
  .bb-footer-exclusive,
  .bb-footer-payments {
    width: min(100%, 340px);
  }
}


/* v2.5.0 — ultra high-end header/footer refinement and alignment pass */
.bb-topbar {
  background: linear-gradient(90deg, #181614 0%, #2c2722 26%, #373029 50%, #2c2722 74%, #181614 100%);
  border-bottom: 1px solid rgba(214, 179, 104, .18);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.02);
}
.bb-topbar .bb-shell { min-height: 42px; }
.bb-topbar p {
  color: rgba(255,255,255,.9);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .18em;
}
.bb-topbar a {
  color: rgba(255,255,255,.74);
  font-size: .62rem;
  letter-spacing: .13em;
}
.bb-topbar nav a { padding-inline: 18px; }
.bb-topbar nav a + a::before { background: rgba(193,168,139,.2); }

.bb-header {
  background: linear-gradient(180deg, rgba(4,14,22,.985) 0%, rgba(8,25,39,.975) 100%);
  border-bottom: 1px solid rgba(193,168,139,.14);
  box-shadow: 0 24px 60px rgba(2, 8, 14, .28), inset 0 1px 0 rgba(255,255,255,.03);
}
.bb-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(193,168,139,.55) 50%, transparent 100%);
}
.bb-header-inner {
  min-height: 102px;
  grid-template-columns: 250px 1fr 170px;
  gap: 22px;
}
.bb-brand {
  width: 254px;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.2));
}
.bb-brand img {
  max-height: 70px;
}
.bb-primary-nav { justify-self: center; }
@media (min-width: 981px) {
  .bb-menu {
    gap: 6px;
    padding: 0 22px;
    border: 1px solid rgba(193,168,139,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.038) 0%, rgba(255,255,255,.015) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 8px 24px rgba(0,0,0,.10);
  }
  .bb-menu > li > a {
    min-height: 102px;
    padding: 0 16px;
    color: rgba(255,255,255,.92);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
  }
  .bb-menu > li > a::before {
    left: 16px;
    right: calc(100% - 16px);
    bottom: 29px;
    height: 1px;
    background: linear-gradient(90deg, rgba(193,168,139,.2) 0%, rgba(193,168,139,.95) 100%);
  }
  .bb-menu .sub-menu {
    top: calc(100% - 10px);
    border: 1px solid rgba(193,168,139,.18);
    background: linear-gradient(180deg, rgba(8,25,39,.99) 0%, rgba(10,32,49,.99) 100%);
    box-shadow: 0 18px 34px rgba(0,0,0,.18);
  }
}
.bb-header-actions {
  gap: 10px;
}
.bb-header-actions > a,
.bb-search-toggle,
.bb-mobile-toggle {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(193,168,139,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.bb-header-actions > a:hover,
.bb-search-toggle:hover,
.bb-mobile-toggle:hover {
  background: linear-gradient(180deg, rgba(193,168,139,.18) 0%, rgba(193,168,139,.10) 100%);
  border-color: rgba(227,213,196,.62);
  color: #fff;
  transform: translateY(-1px);
}
.bb-cart-count {
  right: -7px;
  top: -4px;
  min-width: 18px;
  height: 18px;
  border: 1px solid #25221f;
  background: linear-gradient(180deg, #b59b7f 0%, #b59b7f 100%);
}

.bb-footer {
  background: linear-gradient(180deg, #201d19 0%, #2c2722 45%, #201d19 100%);
}
.bb-footer::before {
  background: linear-gradient(90deg, transparent 0%, rgba(193,168,139,.72) 50%, transparent 100%);
}
.bb-footer-top {
  padding-block: 86px 78px;
  grid-template-columns: 1.45fr .78fr .92fr .95fr;
  gap: 40px;
}
.bb-footer h2 {
  margin-bottom: 18px;
  color: #e3d5c4;
  font-size: .9rem;
  letter-spacing: .14em;
}
.bb-footer-links,
.bb-footer-showroom { padding-top: 16px; }
.bb-footer-links::before,
.bb-footer-showroom::before {
  width: 42px;
  background: linear-gradient(90deg, rgba(193,168,139,.88) 0%, rgba(193,168,139,.18) 100%);
}
.bb-footer-brand img { width: 220px; }
.bb-footer-brand p {
  max-width: 400px;
  margin-top: 20px;
}
.bb-footer-phone {
  margin-top: 6px;
}
.bb-footer-exclusive {
  width: min(100%, 214px);
  margin-top: 26px;
  padding: 12px 14px;
  text-align: center;
  border: 1px solid rgba(193,168,139,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.015) 100%);
}
.bb-footer-exclusive img {
  width: 100%;
  max-width: 112px;
  margin-inline: auto;
  display: block;
}
.bb-footer-payments {
  width: min(100%, 310px);
  margin-top: 18px;
  text-align: center;
}
.bb-footer-payments img {
  width: 100%;
  max-width: 250px;
  margin-inline: auto;
  display: block;
}
.bb-footer-showroom p,
.bb-footer li,
.bb-footer p { color: rgba(255,255,255,.72); }
.bb-footer-bottom {
  background: rgba(0,0,0,.18);
}

/* Make sure the homepage hero continues to autoplay naturally */
.bb-editor-hero-carousel .bb-editor-hero-slide {
  transition: opacity 1s ease, visibility 1s ease;
}

/* Tablet and mobile alignment pass */
@media (max-width: 980px) {
  .bb-topbar .bb-shell,
  .bb-topbar p,
  .bb-topbar nav,
  .bb-intro-copy,
  .bb-featured-products .bb-shell,
  .bb-page-hero,
  .bb-page-hero .bb-shell,
  .bb-footer,
  .bb-footer-top,
  .bb-service-strip .bb-shell > div,
  .bb-value-grid,
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  .woocommerce div.product .summary,
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout .col2-set,
  .bb-site-shell .wp-block-group,
  .bb-site-shell .wp-block-columns {
    text-align: center;
  }
  .bb-header-inner {
    grid-template-columns: minmax(170px, 1fr) auto auto;
    min-height: 86px;
  }
  .bb-brand { width: min(200px, 44vw); justify-self: start; }
  .bb-brand img { max-height: 56px; }
  .bb-header-actions,
  .bb-footer-phone,
  .bb-footer-showroom > a,
  .woocommerce ul.products li.product .button,
  .woocommerce div.product form.cart,
  .bb-configured-total {
    justify-content: center;
  }
  .bb-footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 36px 28px;
  }
  .bb-footer-brand,
  .bb-footer-showroom,
  .bb-footer-links {
    text-align: center;
  }
  .bb-footer-links::before,
  .bb-footer-showroom::before {
    left: 50%;
    transform: translateX(-50%);
  }
  .bb-footer-brand img,
  .bb-footer-brand p,
  .bb-footer-exclusive,
  .bb-footer-payments,
  .woocommerce ul.products li.product img,
  .woocommerce .woocommerce-breadcrumb,
  .woocommerce .star-rating,
  .woocommerce-product-details__short-description,
  .bb-product-reassurance {
    margin-inline: auto;
  }
  .bb-value-grid { padding-left: 0; }
  .bb-value-grid > div,
  .bb-product-reassurance > div,
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product h2,
  .woocommerce .quantity,
  .bb-colour-swatch,
  .bb-configurator-heading,
  .bb-option-field,
  .bb-configured-total {
    text-align: center;
  }
}

@media (max-width: 700px) {
  .bb-header-inner { min-height: 82px; grid-template-columns: minmax(150px,1fr) auto auto; }
  .bb-brand { width: min(182px, 42vw); }
  .bb-brand img { max-height: 50px; }
  .bb-footer-top { grid-template-columns: 1fr; padding-block: 64px 56px; }
  .bb-footer-exclusive { width: min(100%, 180px); }
  .bb-footer-exclusive img { max-width: 92px; }
  .bb-footer-payments { width: min(100%, 260px); }
  .bb-footer-payments img { max-width: 220px; }
  .bb-editor-hero-overlay,
  .bb-editor-hero-overlay > * { text-align: center; }
}


/* v2.5.1 — footer placement correction */
.bb-footer-lumos {
  width: 100%;
  margin-top: 22px;
}
.bb-footer-lumos a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bb-footer-lumos img {
  width: 78px;
  max-width: 78px;
  height: auto;
  display: block;
  opacity: .9;
  transition: opacity .22s ease, transform .22s ease;
}
.bb-footer-lumos a:hover img {
  opacity: 1;
  transform: translateY(-2px);
}
.bb-footer-bottom .bb-shell {
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}
.bb-footer-copyright { justify-self: start; }
.bb-footer-credit { justify-self: end; }
.bb-footer-bottom-payments {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bb-footer-bottom-payments img {
  width: 210px;
  max-width: 210px;
  height: auto;
  display: block;
}

@media (max-width: 980px) {
  .bb-footer-lumos {
    text-align: center;
  }
  .bb-footer-bottom .bb-shell {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
    padding-block: 20px;
    text-align: center;
  }
  .bb-footer-copyright,
  .bb-footer-credit,
  .bb-footer-bottom-payments {
    justify-self: center;
  }
  .bb-footer-bottom-payments img {
    width: min(210px, 70vw);
  }
}

@media (max-width: 700px) {
  .bb-footer-lumos img {
    width: 68px;
    max-width: 68px;
  }
  .bb-footer-bottom-payments img {
    width: min(190px, 72vw);
  }
}


/* v2.5.2 — premium product pages and clean luxury header */
@media (min-width: 981px) {
  .bb-header-inner {
    min-height: 100px;
    grid-template-columns: 265px minmax(0, 1fr) 155px;
    gap: 28px;
  }
  .bb-brand {
    width: 250px;
  }
  .bb-brand img {
    max-height: 68px;
  }
  .bb-primary-nav {
    justify-self: center;
  }
  .bb-menu {
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .bb-menu > li {
    position: relative;
    padding-inline: 3px;
  }
  .bb-menu > li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 15px;
    background: rgba(227,213,196,.16);
    transform: translateY(-50%);
  }
  .bb-menu > li > a {
    min-height: 100px;
    padding: 0 17px;
    color: rgba(255,255,255,.9);
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .12em;
  }
  .bb-menu > li > a::before {
    left: 17px;
    right: calc(100% - 17px);
    bottom: 27px;
    background: var(--bb-gold);
  }
  .bb-menu .sub-menu {
    top: calc(100% - 9px);
    min-width: 250px;
    border: 1px solid rgba(181,155,127,.2);
    background: rgba(6,22,35,.99);
    box-shadow: 0 24px 55px rgba(0,0,0,.28);
  }
  .bb-header-actions > a,
  .bb-search-toggle {
    width: 38px;
    height: 44px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .bb-header-actions > a:hover,
  .bb-search-toggle:hover {
    border: 0;
    background: transparent;
    color: #fff;
    transform: translateY(-2px);
  }
}

.single-product .bb-commerce-main {
  background:
    radial-gradient(circle at 18% 4%, rgba(181,155,127,.08), transparent 30%),
    linear-gradient(180deg, #fbfaf7 0%, #f4f0e8 100%);
}
.single-product .bb-woocommerce-shell {
  width: min(calc(100% - 72px), 1540px);
  padding-block: 72px 110px;
}
.single-product .woocommerce-breadcrumb {
  margin: 0 0 32px;
  color: #7a756e;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.single-product .woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
  gap: clamp(44px, 5vw, 82px);
  align-items: start;
}
.single-product .woocommerce div.product div.images {
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(41,37,32,.10);
  background: #fff;
  box-shadow: 0 30px 80px rgba(41,37,32,.10);
}
.single-product .woocommerce div.product div.images img {
  width: 100%;
  background: #f4f1ec;
  object-fit: contain;
}
.single-product .woocommerce div.product div.summary {
  position: sticky;
  top: 150px;
  margin: 0;
  padding: clamp(30px, 3.2vw, 48px);
  border: 1px solid rgba(41,37,32,.10);
  background: rgba(255,255,255,.96);
  box-shadow: 0 30px 80px rgba(41,37,32,.10);
}
.admin-bar.single-product .woocommerce div.product div.summary {
  top: 182px;
}
.single-product .woocommerce div.product .product_title {
  margin-bottom: 16px;
  color: var(--bb-navy-deep);
  font-size: clamp(2.35rem, 3.8vw, 4.25rem);
  line-height: 1.02;
}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
  margin: 0 0 22px;
  padding: 18px 0;
  border-top: 1px solid rgba(41,37,32,.10);
  border-bottom: 1px solid rgba(41,37,32,.10);
  color: var(--bb-gold);
  font-size: 2rem;
}
.single-product .woocommerce-product-details__short-description {
  margin-bottom: 25px;
  color: #736c65;
  font-size: .98rem;
  line-height: 1.75;
}
.single-product .woocommerce div.product form.cart {
  display: grid !important;
  grid-template-columns: 84px minmax(220px, 1fr);
  align-items: end;
  gap: 12px;
  margin: 0 0 22px;
}
.single-product .bb-product-configurator {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 4px 0 8px;
  padding: 28px;
  border: 1px solid rgba(41,37,32,.12);
  background: linear-gradient(180deg, #f7f3ec 0%, #f1ece3 100%);
}
.single-product .bb-configurator-heading,
.single-product .bb-colour-field,
.single-product .bb-configured-total {
  grid-column: 1 / -1;
}
.single-product .bb-configurator-heading {
  padding-bottom: 4px;
}
.single-product .bb-configurator-heading > span {
  font-size: 1.65rem;
}
.single-product .bb-configurator-heading p {
  max-width: 560px;
  margin: 5px 0 0;
}
.single-product .bb-option-field {
  margin: 0;
}
.single-product .bb-option-field select {
  min-height: 54px;
  padding-inline: 15px 42px;
  border-color: rgba(41,37,32,.16);
  background-color: #fff;
}
.single-product .bb-colour-field {
  margin: 2px 0 0;
}
.single-product .bb-colour-swatches {
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
  gap: 11px 8px;
}
.single-product .bb-colour-swatch > span {
  width: 40px;
  height: 40px;
}
.single-product .bb-colour-swatch small {
  max-width: 66px;
  font-size: .56rem;
}
.single-product .bb-configured-total {
  margin-top: 2px;
  padding-top: 20px;
}
.single-product .bb-configured-total strong {
  font-size: 1.65rem;
}
.single-product .woocommerce div.product form.cart .quantity {
  grid-column: 1;
  width: 84px;
  margin: 0 !important;
}
.single-product .woocommerce .quantity .qty {
  width: 84px;
  min-height: 58px;
  padding: 0 8px;
  border: 1px solid rgba(41,37,32,.18);
  background: #fff;
  font-weight: 700;
  text-align: center;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.button {
  grid-column: 2;
  width: 100%;
  min-height: 58px;
  align-self: end;
  margin: 0 !important;
  padding: 17px 28px !important;
  background: linear-gradient(180deg, #34302b 0%, #28241f 100%) !important;
  border: 1px solid #28241f !important;
  color: #fff !important;
  font-size: .74rem !important;
  line-height: 1.1 !important;
  letter-spacing: .12em;
  white-space: normal;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart button.button:hover {
  background: var(--bb-gold) !important;
  border-color: var(--bb-gold) !important;
  color: var(--bb-navy-deep) !important;
}
.single-product .bb-product-reassurance {
  margin-top: 22px;
  border-color: rgba(41,37,32,.12);
  background: #fbfaf7;
}
.single-product .bb-product-reassurance > div {
  padding: 17px 12px;
  text-align: center;
}
.single-product .woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 72px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(41,37,32,.10);
  background: #fff;
  box-shadow: 0 24px 65px rgba(41,37,32,.08);
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  justify-content: center;
}
.single-product .related.products,
.single-product .up-sells.products {
  grid-column: 1 / -1;
  margin-top: 64px;
}
.single-product .related.products > h2,
.single-product .up-sells.products > h2 {
  margin-bottom: 34px;
  text-align: center;
}

@media (max-width: 1100px) {
  .single-product .bb-woocommerce-shell {
    width: min(calc(100% - 42px), 1100px);
  }
  .single-product .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .single-product .woocommerce div.product div.summary {
    position: static;
  }
}

@media (max-width: 980px) {
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary,
  .single-product .woocommerce div.product .woocommerce-tabs {
    text-align: center;
  }
  .single-product .woocommerce div.product div.summary {
    padding: 34px;
  }
  .single-product .bb-configurator-heading p,
  .single-product .woocommerce-product-details__short-description {
    margin-inline: auto;
  }
  .single-product .bb-option-field > span,
  .single-product .bb-colour-field legend {
    text-align: center;
  }
  .single-product .bb-colour-swatches {
    justify-content: center;
  }
  .single-product .bb-configured-total {
    justify-content: center;
    gap: 24px;
  }
}

@media (max-width: 700px) {
  .single-product .bb-woocommerce-shell {
    width: min(calc(100% - 24px), 700px);
    padding-block: 42px 70px;
  }
  .single-product .woocommerce div.product div.images {
    padding: 10px;
  }
  .single-product .woocommerce div.product div.summary {
    padding: 25px 18px;
  }
  .single-product .woocommerce div.product .product_title {
    font-size: clamp(2.15rem, 12vw, 3.25rem);
  }
  .single-product .bb-product-configurator {
    grid-template-columns: 1fr;
    padding: 22px 16px;
  }
  .single-product .bb-configurator-heading,
  .single-product .bb-colour-field,
  .single-product .bb-configured-total {
    grid-column: 1;
  }
  .single-product .bb-option-field select {
    text-align: center;
    text-align-last: center;
  }
  .single-product .bb-colour-swatches {
    grid-template-columns: repeat(4, minmax(48px, 1fr));
  }
  .single-product .woocommerce div.product form.cart {
    grid-template-columns: 1fr;
  }
  .single-product .woocommerce div.product form.cart .quantity,
  .single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  .single-product .woocommerce div.product form.cart button.button {
    grid-column: 1;
    width: 100%;
  }
  .single-product .woocommerce div.product form.cart .quantity {
    display: flex;
    justify-content: center;
  }
  .single-product .woocommerce .quantity .qty {
    width: 100%;
    max-width: 120px;
  }
  .single-product .bb-configured-total {
    flex-direction: column;
    gap: 4px;
  }
  .single-product .bb-product-reassurance {
    grid-template-columns: 1fr;
  }
  .single-product .woocommerce div.product .woocommerce-tabs {
    margin-top: 46px;
    padding: 24px 18px;
  }
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    justify-content: center;
  }
}


/* v2.5.5 — stable single-product purchase panel hotfix */
.single-product .woocommerce div.product form.cart {
  display: block !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.single-product .bb-product-configurator {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 18px;
  margin: 4px 0 8px !important;
  padding: 28px !important;
  border: 1px solid rgba(41,37,32,.12) !important;
  background: linear-gradient(180deg, #f7f3ec 0%, #f1ece3 100%) !important;
}

.single-product .bb-configurator-heading,
.single-product .bb-colour-field,
.single-product .bb-purchase-controls,
.single-product .bb-configured-total {
  grid-column: 1 / -1;
}

.single-product .bb-configurator-heading {
  padding-bottom: 2px;
}

.single-product .bb-option-field {
  margin: 0 !important;
}

.single-product .bb-colour-field {
  margin: 2px 0 0 !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(41,37,32,.13) !important;
}

.single-product .bb-colour-swatches {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)) !important;
  gap: 11px 8px !important;
}

.single-product .bb-purchase-controls {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin: 0;
}

.single-product .bb-purchase-controls .quantity {
  width: 96px !important;
  margin: 0 !important;
}

.single-product .bb-purchase-controls .quantity .qty {
  width: 96px !important;
  min-height: 60px !important;
  padding: 0 8px !important;
  border: 1px solid rgba(41,37,32,.18) !important;
  background: #fff !important;
  font-weight: 700;
  text-align: center;
}

.single-product .bb-purchase-controls .single_add_to_cart_button,
.single-product .bb-purchase-controls button.button {
  width: 100% !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 17px 28px !important;
  border: 1px solid #28241f !important;
  background: linear-gradient(180deg, #34302b 0%, #28241f 100%) !important;
  color: #fff !important;
  font-size: .74rem !important;
  line-height: 1.1 !important;
  letter-spacing: .12em;
  white-space: normal;
}

.single-product .bb-purchase-controls .single_add_to_cart_button:hover,
.single-product .bb-purchase-controls button.button:hover {
  border-color: var(--bb-gold) !important;
  background: var(--bb-gold) !important;
  color: var(--bb-navy-deep) !important;
}

.single-product .bb-configured-total {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 2px 0 0 !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid rgba(41,37,32,.13) !important;
}

@media (max-width: 980px) {
  .single-product .bb-product-configurator,
  .single-product .bb-configurator-heading,
  .single-product .bb-option-field,
  .single-product .bb-colour-field,
  .single-product .bb-purchase-controls,
  .single-product .bb-configured-total {
    text-align: center;
  }
  .single-product .bb-purchase-controls {
    max-width: 620px;
    margin-inline: auto;
  }
}

@media (max-width: 700px) {
  .single-product .bb-product-configurator {
    grid-template-columns: 1fr !important;
    padding: 22px 16px !important;
  }
  .single-product .bb-colour-swatches {
    grid-template-columns: repeat(4, minmax(48px, 1fr)) !important;
  }
  .single-product .bb-purchase-controls {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .single-product .bb-purchase-controls .quantity {
    width: 100% !important;
    display: flex;
    justify-content: center;
  }
  .single-product .bb-purchase-controls .quantity .qty {
    width: 100% !important;
    max-width: 130px;
  }
  .single-product .bb-purchase-controls .single_add_to_cart_button,
  .single-product .bb-purchase-controls button.button {
    width: 100% !important;
  }
  .single-product .bb-configured-total {
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }
}


/* =====================================================================
   v2.6.0 — approved homepage reference rebuild
   ===================================================================== */
.bb-reference-home { background: var(--bb-paper); }
.bb-reference-home > * { margin-block-start: 0 !important; }

/* Approved header proportions */
.bb-topbar { background: #25221f; border-bottom-color: rgba(181,155,127,.28); }
.bb-topbar .bb-shell { min-height: 34px; }
.bb-header { background: #27231f; border-bottom: 1px solid rgba(181,155,127,.26); box-shadow: none; }
.bb-header::after { display: none; }
.bb-header-inner { min-height: 88px; grid-template-columns: 238px 1fr 150px; }
.bb-brand { width: 220px; filter: none; }
.bb-brand img { max-height: 58px; }
@media (min-width: 981px) {
  .bb-menu { gap: clamp(20px,2vw,37px); padding: 0; border: 0; background: transparent; box-shadow: none; }
  .bb-menu > li > a { min-height: 88px; padding: 0; font-size: .71rem; letter-spacing: .08em; }
  .bb-menu > li > a::before { left: 0; right: 100%; bottom: 23px; }
}
.bb-header-actions > a, .bb-search-toggle, .bb-mobile-toggle { width: 36px; height: 42px; border: 0; background: transparent; box-shadow: none; }
.bb-header-actions > a:hover, .bb-search-toggle:hover, .bb-mobile-toggle:hover { background: transparent; border-color: transparent; transform: none; }

/* Hero */
.bb-reference-home .bb-editor-hero-carousel { aspect-ratio: 2048 / 846; min-height: 570px; max-height: 760px; }
.bb-reference-home .bb-editor-hero-image img { object-fit: cover; object-position: center; }
.bb-reference-home .bb-editor-hero-overlay {
  padding: 6% 8% 8%;
  background: linear-gradient(180deg, rgba(18,16,14,.08) 0%, rgba(18,16,14,.23) 42%, rgba(18,16,14,.62) 100%);
}
.bb-reference-home .bb-editor-hero-overlay h1,
.bb-reference-home .bb-editor-hero-overlay h2 { max-width: 1080px; font-size: clamp(3.2rem,5.9vw,6.6rem); }
.bb-reference-home .bb-editor-hero-copy { margin-bottom: 25px !important; }
.bb-reference-home .bb-hero-editor-button .wp-block-button__link { min-width: 250px; }

/* Four category cards */
.bb-reference-category-rail { width: calc(100% - 90px) !important; max-width: 1860px !important; margin: -48px auto 0 !important; }
.bb-reference-category-rail .bb-block-category-columns { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px !important; }
.bb-reference-category-rail .bb-block-category-columns > .wp-block-column { min-width: 0; }
.bb-reference-category-rail .bb-block-category-card { min-height: 210px; padding: 32px 22px 25px; border: 1px solid rgba(181,155,127,.88) !important; background: #342d28; }
.bb-reference-category-rail .bb-home-icon { width: 72px; height: 54px; margin: 0 auto 14px; color: var(--bb-gold); }
.bb-reference-category-rail .bb-home-icon svg { width: 70px; height: 50px; }
.bb-reference-category-rail h3 { margin-bottom: 11px; font-size: 1.4rem; letter-spacing: .03em; }
.bb-reference-category-rail .bb-square-link .wp-block-button__link { padding: 6px 0 5px; border: 0 !important; border-bottom: 1px solid var(--bb-gold) !important; background: transparent !important; color: var(--bb-gold-soft) !important; }

/* Intro and values */
.bb-reference-intro { padding: 94px 42px 88px; background: #f7f3ed; }
.bb-reference-intro .bb-block-intro-columns { max-width: 1660px; gap: clamp(55px,7vw,110px); }
.bb-reference-intro h2 { font-size: clamp(2.45rem,4vw,4.2rem); text-transform: uppercase; }
.bb-reference-intro .bb-block-values { padding-left: clamp(38px,5vw,76px); }
.bb-reference-intro .bb-block-value-card { display: grid; grid-template-columns: 55px 1fr; column-gap: 18px; align-items: start; }
.bb-reference-intro .bb-block-value-card .bb-home-icon { grid-row: 1/3; width: 50px; color: var(--bb-navy-deep); }
.bb-reference-intro .bb-block-value-card .bb-home-icon svg { width: 44px; height: 44px; }
.bb-reference-intro .bb-block-value-card h3::before { display: none; }

/* Featured products */
.bb-reference-featured { width: 100%; max-width: none; padding: 66px 38px 72px; background: #25221f; }
.bb-reference-featured .bb-block-section-heading { width: min(100%,1800px); max-width: none !important; margin: 0 auto 30px !important; }
.bb-reference-featured .bb-block-section-heading h2 { flex: 1; color: #fff; font-size: clamp(2rem,3vw,3.1rem); text-transform: uppercase; }
.bb-reference-featured .wp-block-shortcode,
.bb-reference-featured .woocommerce,
.bb-reference-featured .bb-live-products { width: min(100%,1800px); max-width: none !important; margin-inline: auto; }
.bb-reference-featured .woocommerce ul.products { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; }
.bb-reference-featured .woocommerce ul.products li.product { border-color: rgba(181,155,127,.7); background: #fff; }
.bb-reference-featured .woocommerce ul.products li.product .woocommerce-loop-product__title,
.bb-reference-featured .woocommerce ul.products li.product .price { text-align: center; }

/* Editorial image pair */
.bb-reference-editorial { gap: 3px !important; margin: 0 !important; }
.bb-reference-editorial > .wp-block-column { margin: 0 !important; }
.bb-reference-editorial .bb-block-editorial-cover { min-height: 520px !important; }
.bb-reference-editorial .bb-block-editorial-cover .wp-block-cover__inner-container { width: min(100% - 50px,700px); }
.bb-reference-editorial h2 { font-size: clamp(2.3rem,3.4vw,3.9rem); text-transform: uppercase; }

/* Service strip */
.bb-reference-service-strip { padding: 0 36px; background: #fff; }
.bb-reference-service-strip > .wp-block-columns { max-width: 1800px !important; }
.bb-reference-service-strip .wp-block-column { min-height: 130px; display: grid; grid-template-columns: 52px 1fr; align-content: center; column-gap: 15px; text-align: left; }
.bb-reference-service-strip .bb-home-icon { grid-row: 1/3; width: 48px; color: var(--bb-gold); }
.bb-reference-service-strip .bb-home-icon svg { width: 44px; height: 44px; }
.bb-reference-service-strip h3,
.bb-reference-service-strip p { text-align: left !important; }

/* Footer matching the reference */
.bb-reference-footer { background: #25221f; }
.bb-reference-footer .bb-footer-top { grid-template-columns: 1.25fr .65fr .85fr .75fr 1.05fr; gap: 48px; padding-block: 66px 54px; }
.bb-reference-footer .bb-footer-brand img { width: 205px; }
.bb-reference-footer .bb-footer-brand > p { max-width: 330px; margin-top: 18px; }
.bb-footer-socials { display: flex; align-items: center; gap: 11px; margin: 18px 0 12px; }
.bb-footer-socials a { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(181,155,127,.45); color: var(--bb-gold-soft); }
.bb-footer-socials a:hover { background: var(--bb-gold); color: var(--bb-navy-deep); }
.bb-footer-socials svg { width: 16px; height: 16px; }
.bb-reference-footer .bb-footer-lumos { display: block; width: 64px; margin-top: 18px; }
.bb-reference-footer .bb-footer-lumos img { width: 64px; }
.bb-reference-footer h2 { margin-bottom: 14px; color: #fff; font-size: .9rem; letter-spacing: .04em; }
.bb-reference-footer li { margin: 7px 0; }
.bb-reference-footer .bb-footer-links { padding-top: 0; }
.bb-reference-footer .bb-footer-links::before { display: none; }
.bb-footer-newsletter p { margin-bottom: 16px; font-size: .86rem; line-height: 1.55; }
.bb-newsletter-form { display: grid; grid-template-columns: 1fr 48px; }
.bb-newsletter-form input { min-width: 0; min-height: 48px; padding: 0 13px; border: 1px solid rgba(181,155,127,.6); border-right: 0; border-radius: 0; background: rgba(255,255,255,.04); color: #fff; }
.bb-newsletter-form button { width: 48px; min-height: 48px; border: 1px solid var(--bb-gold); border-radius: 0; background: var(--bb-gold); color: var(--bb-navy-deep); }
.bb-reference-footer .bb-footer-bottom .bb-shell { min-height: 64px; }
.bb-reference-footer .bb-footer-bottom-payments img { max-width: 235px; }

@media (max-width: 1180px) {
  .bb-reference-footer .bb-footer-top { grid-template-columns: 1.2fr 1fr 1fr; }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: auto; }
  .bb-reference-featured .woocommerce ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bb-reference-featured .woocommerce ul.products li.product:nth-child(n+5) { display: none; }
}

@media (max-width: 980px) {
  .bb-reference-home .bb-editor-hero-carousel { min-height: 0; max-height: none; aspect-ratio: auto; }
  .bb-reference-category-rail { width: 100% !important; margin-top: 0 !important; }
  .bb-reference-category-rail .bb-block-category-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 !important; }
  .bb-reference-intro, .bb-reference-intro * { text-align: center; }
  .bb-reference-intro .bb-block-value-card { display: block; }
  .bb-reference-intro .bb-block-value-card .bb-home-icon { margin: 0 auto 12px; }
  .bb-reference-intro .bb-block-values { padding: 42px 0 0; }
  .bb-reference-featured .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-reference-featured .woocommerce ul.products li.product:nth-child(n+5) { display: block; }
  .bb-reference-editorial { flex-wrap: wrap !important; }
  .bb-reference-editorial > .wp-block-column { flex-basis: 100% !important; }
  .bb-reference-service-strip > .wp-block-columns { flex-wrap: wrap !important; }
  .bb-reference-service-strip .wp-block-column { flex-basis: 50% !important; display: block; text-align: center; }
  .bb-reference-service-strip .bb-home-icon { margin: 0 auto 10px; }
  .bb-reference-service-strip h3, .bb-reference-service-strip p { text-align: center !important; }
  .bb-reference-footer .bb-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); text-align: center; }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: 1/-1; }
  .bb-reference-footer .bb-footer-brand img, .bb-reference-footer .bb-footer-brand > p, .bb-reference-footer .bb-footer-lumos, .bb-footer-socials { margin-inline: auto; }
  .bb-reference-footer .bb-footer-phone { justify-content: center; }
}

@media (max-width: 700px) {
  .bb-reference-category-rail .bb-block-category-columns { grid-template-columns: 1fr; }
  .bb-reference-category-rail .bb-block-category-card { min-height: 150px; }
  .bb-reference-featured { padding: 60px 18px; }
  .bb-reference-featured .woocommerce ul.products { grid-template-columns: 1fr; }
  .bb-reference-editorial .bb-block-editorial-cover { min-height: 470px !important; }
  .bb-reference-service-strip { padding: 0 18px; }
  .bb-reference-service-strip .wp-block-column { flex-basis: 100% !important; }
  .bb-reference-footer .bb-footer-top { grid-template-columns: 1fr; }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: auto; }
  .bb-reference-footer .bb-footer-bottom .bb-shell { gap: 13px; }
}


/* v2.6.1 — fabric-specific bed colour library */
.bb-colour-prompt {
  margin: -2px 0 14px;
  color: var(--bb-muted);
  font-size: .76rem;
  line-height: 1.5;
}
.bb-colour-swatch[hidden] { display: none !important; }
.single-product .bb-colour-field[data-fabric-colours="1"] .bb-colour-swatches {
  align-items: start;
}
@media (max-width: 980px) {
  .bb-colour-prompt { text-align: center; }
}


/* =====================================================================
   v2.6.3 — definitive mobile/tablet layout repair
   This final layer intentionally overrides legacy responsive rules from
   earlier iterations of the theme.
   ===================================================================== */
@media (max-width: 1180px) {
  html, body { overflow-x: hidden; }
  .bb-site-shell { width: 100%; overflow-x: clip; }
  .bb-shell { width: min(calc(100% - 32px), var(--bb-shell)) !important; }
  .bb-shell-wide { width: min(calc(100% - 20px), 1680px) !important; }

  /* Premium mobile/tablet header: logo left, basket + menu right. */
  .bb-topbar .bb-shell { min-height: 36px; justify-content: center !important; text-align: center !important; }
  .bb-topbar nav { display: none !important; }
  .bb-topbar p { width: 100%; margin: 0 !important; text-align: center !important; }
  .bb-header { position: sticky; top: 0; z-index: 10000; }
  .admin-bar .bb-header { top: 46px; }
  .bb-header-inner {
    min-height: 78px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto !important;
    grid-template-areas: "brand actions toggle" !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .bb-brand {
    grid-area: brand !important;
    justify-self: start !important;
    width: min(210px, 45vw) !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .bb-brand img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 56px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .bb-header-actions {
    grid-area: actions !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
  }
  .bb-search-toggle,
  .bb-header-actions > a:first-of-type { display: none !important; }
  .bb-cart-link { display: inline-flex !important; }
  .bb-mobile-toggle {
    grid-area: toggle !important;
    justify-self: end !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 42px !important;
    height: 42px !important;
    color: var(--bb-gold-soft) !important;
    position: relative !important;
    z-index: 10002 !important;
  }
  .bb-mobile-toggle svg { width: 24px !important; height: 24px !important; }
  .bb-menu-open { display: inline-flex !important; }
  .bb-menu-close { display: none !important; }
  .bb-mobile-toggle[aria-expanded="true"] .bb-menu-open { display: none !important; }
  .bb-mobile-toggle[aria-expanded="true"] .bb-menu-close { display: inline-flex !important; }

  /* Full-screen navigation panel. */
  .bb-primary-nav {
    position: fixed !important;
    z-index: 9999 !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: block !important;
    padding: calc(116px + env(safe-area-inset-top)) 24px calc(36px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #25221f !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(100%) !important;
    transition: transform .3s ease, opacity .22s ease, visibility .3s ease !important;
  }
  .admin-bar .bb-primary-nav { padding-top: calc(160px + env(safe-area-inset-top)) !important; }
  .bb-primary-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }
  .bb-primary-nav .bb-menu {
    width: min(100%, 620px) !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .bb-primary-nav .bb-menu > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
  }
  .bb-primary-nav .bb-menu > li::before { display: none !important; }
  .bb-primary-nav .bb-menu > li > a {
    width: 100% !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 12px !important;
    color: #fff !important;
    font-size: .86rem !important;
    letter-spacing: .11em !important;
    text-align: center !important;
  }
  .bb-primary-nav .bb-menu > li > a::before { display: none !important; }
  .bb-primary-nav .bb-menu .sub-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .bb-primary-nav .bb-menu .sub-menu a {
    display: block !important;
    padding: 9px 12px !important;
    color: rgba(255,255,255,.68) !important;
    text-align: center !important;
  }
  .bb-mobile-nav-contact {
    width: min(100%, 500px) !important;
    display: grid !important;
    gap: 12px !important;
    margin: 28px auto 0 !important;
    text-align: center !important;
  }
  body.nav-open { overflow: hidden !important; }

  /* Site-wide central alignment on tablet/mobile, without changing product images. */
  .bb-reference-home,
  .bb-reference-home .wp-block-group,
  .bb-reference-home .wp-block-columns,
  .bb-reference-home .wp-block-column,
  .bb-page-hero,
  .bb-page-hero .bb-shell,
  .bb-intro-copy,
  .bb-value-grid,
  .bb-reference-featured,
  .bb-reference-featured .bb-section-title,
  .bb-reference-service-strip,
  .bb-footer,
  .bb-footer-top,
  .bb-footer-links,
  .bb-footer-newsletter,
  .woocommerce.archive .bb-woocommerce-shell,
  .woocommerce-page .bb-woocommerce-shell {
    text-align: center !important;
  }

  /* Homepage blocks */
  .bb-reference-category-rail,
  .bb-reference-intro,
  .bb-reference-featured,
  .bb-reference-editorial,
  .bb-reference-service-strip { width: 100% !important; max-width: none !important; }
  .bb-reference-category-rail .bb-block-category-columns { width: 100% !important; }
  .bb-reference-category-rail .bb-block-category-card,
  .bb-reference-intro .bb-block-value-card,
  .bb-reference-service-strip .wp-block-column {
    text-align: center !important;
    align-items: center !important;
  }
  .bb-reference-intro .bb-home-icon,
  .bb-reference-service-strip .bb-home-icon { margin-inline: auto !important; }
  .bb-reference-service-strip h3,
  .bb-reference-service-strip p { text-align: center !important; }
  .bb-reference-featured .bb-section-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  /* WooCommerce lists/cards */
  .woocommerce ul.products { width: 100% !important; }
  .woocommerce ul.products li.product { text-align: center !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price { text-align: center !important; }
  .woocommerce ul.products li.product .button { margin-inline: auto !important; }
  .bb-loop-colours { justify-content: center !important; }

  /* Product pages: centered and contained, no image replacement. */
  .single-product .bb-woocommerce-shell { width: min(calc(100% - 28px), 1100px) !important; }
  .single-product .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary,
  .single-product .woocommerce div.product .woocommerce-tabs { width: 100% !important; text-align: center !important; }
  .single-product .woocommerce div.product div.images img { margin-inline: auto !important; }
  .single-product .bb-product-configurator { width: 100% !important; max-width: 720px !important; margin-inline: auto !important; }
  .single-product .bb-option-field > span,
  .single-product .bb-colour-field legend,
  .single-product .bb-colour-prompt { text-align: center !important; }
  .single-product .bb-colour-swatches { justify-content: center !important; }
  .single-product .bb-purchase-controls { margin-inline: auto !important; }
  .single-product .bb-product-reassurance { margin-inline: auto !important; }

  /* Footer */
  .bb-reference-footer .bb-footer-top {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 34px 26px !important;
    text-align: center !important;
  }
  .bb-reference-footer .bb-footer-brand,
  .bb-reference-footer .bb-footer-newsletter { grid-column: 1 / -1 !important; }
  .bb-reference-footer .bb-footer-brand img,
  .bb-reference-footer .bb-footer-brand > p,
  .bb-reference-footer .bb-footer-lumos,
  .bb-footer-socials,
  .bb-footer-phone { margin-inline: auto !important; }
  .bb-footer-socials,
  .bb-footer-phone { justify-content: center !important; }
  .bb-newsletter-form { width: min(100%, 430px) !important; margin-inline: auto !important; }
  .bb-footer-bottom .bb-shell {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 10px !important;
    padding-block: 18px !important;
    text-align: center !important;
  }
}

@media (max-width: 700px) {
  .bb-shell { width: min(calc(100% - 22px), var(--bb-shell)) !important; }
  .bb-header-inner { min-height: 72px !important; grid-template-columns: minmax(0,1fr) auto auto !important; }
  .bb-brand { width: min(170px, 48vw) !important; }
  .bb-brand img { max-height: 48px !important; }
  .bb-header-actions > a,
  .bb-mobile-toggle { width: 38px !important; height: 38px !important; }
  .bb-primary-nav { padding: calc(104px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom)) !important; }
  .admin-bar .bb-primary-nav { padding-top: calc(150px + env(safe-area-inset-top)) !important; }

  .bb-reference-category-rail .bb-block-category-columns,
  .bb-reference-featured .woocommerce ul.products,
  .woocommerce ul.products,
  .bb-reference-footer .bb-footer-top { grid-template-columns: 1fr !important; }
  .bb-reference-footer .bb-footer-brand,
  .bb-reference-footer .bb-footer-newsletter { grid-column: auto !important; }
  .bb-reference-editorial > .wp-block-column,
  .bb-reference-service-strip .wp-block-column { flex-basis: 100% !important; }
  .bb-reference-featured { padding-inline: 12px !important; }
  .single-product .woocommerce div.product div.summary { padding-inline: 16px !important; }
  .single-product .bb-product-configurator { padding-inline: 14px !important; }
  .single-product .bb-purchase-controls {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .single-product .bb-purchase-controls .quantity,
  .single-product .bb-purchase-controls .single_add_to_cart_button { width: 100% !important; }
  .single-product .bb-purchase-controls .quantity .qty { width: 100% !important; }
}


/* =====================================================================
   v2.6.5 — tablet hero visibility hotfix
   The v2.6.0 <=980px rule removed all intrinsic height from the absolute
   hero slides. Keep a real tablet-height canvas with the overlay on top.
   ===================================================================== */
@media (min-width: 701px) and (max-width: 980px) {
  .bb-reference-home .bb-editor-hero-carousel {
    position: relative !important;
    width: 100% !important;
    height: clamp(480px, 61vw, 610px) !important;
    min-height: 480px !important;
    max-height: 610px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #211f1b !important;
  }

  .bb-reference-home .bb-editor-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  .bb-reference-home .bb-editor-hero-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .bb-reference-home .bb-editor-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .bb-reference-home .bb-editor-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 48px 48px 58px !important;
    text-align: center !important;
    color: #fff !important;
    background:
      linear-gradient(180deg, rgba(18,16,14,.13) 0%, rgba(18,16,14,.28) 45%, rgba(18,16,14,.68) 100%),
      linear-gradient(90deg, rgba(18,16,14,.22), transparent 32%, transparent 68%, rgba(18,16,14,.22)) !important;
  }

  .bb-reference-home .bb-editor-hero-overlay > * {
    width: min(100%, 760px) !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .bb-reference-home .bb-editor-hero-overlay h1,
  .bb-reference-home .bb-editor-hero-overlay h2 {
    margin-bottom: 16px !important;
    font-size: clamp(2.8rem, 7.2vw, 4.8rem) !important;
    line-height: .98 !important;
    color: #fff !important;
  }

  .bb-reference-home .bb-editor-hero-copy {
    max-width: 650px !important;
    margin-bottom: 24px !important;
    font-size: clamp(.98rem, 2.2vw, 1.2rem) !important;
    line-height: 1.55 !important;
    color: var(--bb-gold-soft) !important;
  }

  .bb-reference-home .bb-hero-editor-button,
  .bb-reference-home .bb-hero-editor-button .wp-block-button__link {
    margin-inline: auto !important;
  }

  .bb-reference-home .bb-hero-editor-button .wp-block-button__link {
    min-width: 230px !important;
  }
}


/* =====================================================================
   v2.6.7 — mobile hero overlay fix
   Keep the homepage hero text overlaid on top of the image on mobile.
   ===================================================================== */
@media (max-width: 700px) {
  .bb-reference-home .bb-editor-hero-carousel {
    position: relative !important;
    width: 100% !important;
    height: clamp(500px, 132vw, 640px) !important;
    min-height: 500px !important;
    max-height: 640px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #211f1b !important;
  }

  .bb-reference-home .bb-editor-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    background: #211f1b !important;
  }

  .bb-reference-home .bb-editor-hero-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .bb-reference-home .bb-editor-hero-image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  .bb-reference-home .bb-editor-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 34px 18px 52px !important;
    text-align: center !important;
    color: #fff !important;
    background:
      linear-gradient(180deg, rgba(18,16,14,.16) 0%, rgba(18,16,14,.34) 46%, rgba(18,16,14,.72) 100%),
      linear-gradient(90deg, rgba(18,16,14,.20), transparent 28%, transparent 72%, rgba(18,16,14,.20)) !important;
  }

  .bb-reference-home .bb-editor-hero-overlay > * {
    width: min(100%, 92vw) !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .bb-reference-home .bb-editor-hero-overlay h1,
  .bb-reference-home .bb-editor-hero-overlay h2 {
    margin: 0 0 14px !important;
    font-size: clamp(2.25rem, 10.4vw, 3.6rem) !important;
    line-height: .98 !important;
    color: #fff !important;
  }

  .bb-reference-home .bb-editor-hero-copy {
    max-width: min(92vw, 430px) !important;
    margin-bottom: 22px !important;
    font-size: .96rem !important;
    line-height: 1.5 !important;
    color: var(--bb-gold-soft) !important;
  }

  .bb-reference-home .bb-hero-editor-button,
  .bb-reference-home .bb-hero-editor-button .wp-block-button__link {
    margin-inline: auto !important;
  }

  .bb-reference-home .bb-hero-editor-button .wp-block-button__link {
    min-width: 220px !important;
    padding: 15px 22px !important;
  }
}


/* v2.6.8 — public storefront cleanup */
body:not(.wp-admin) #wpadminbar,
body:not(.wp-admin) .post-edit-link,
body:not(.wp-admin) .edit-link {
  display: none !important;
}
body.admin-bar:not(.wp-admin) { margin-top: 0 !important; }
html { margin-top: 0 !important; }

/* v2.6.9 — canonical domain detail */
.bb-footer-domain {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-top: 8px;
  color: var(--bb-gold-soft) !important;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .06em;
}
@media (max-width: 1180px) {
  .bb-footer-domain { margin-inline: auto; }
}


/* =====================================================================
   v2.6.14 — Ottoman headboard & footboard enhancements
   ===================================================================== */
.bb-ottoman-enhancements {
  margin: 24px 0 4px;
  padding: 22px;
  border: 1px solid rgba(181,155,127,.42);
  background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(247,244,238,.96) 100%);
}
.bb-enhancements-heading { margin-bottom: 17px; }
.bb-enhancements-heading > span {
  display: block;
  margin-bottom: 6px;
  color: var(--bb-navy-deep);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  line-height: 1.15;
}
.bb-enhancements-heading p {
  max-width: 700px;
  margin: 0;
  color: var(--bb-muted);
  font-size: .83rem;
  line-height: 1.55;
}
.bb-enhancements-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.bb-enhancement-field { margin-bottom: 0 !important; }
.bb-enhancement-field select { background: #fff; }
.bb-enhancement-pricing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--bb-border);
  color: var(--bb-muted);
  font-size: .72rem;
  line-height: 1.45;
}
.bb-enhancement-pricing span { display: block; }
.bb-enhancement-pricing strong { color: var(--bb-gold); font-size: .8rem; }
.bb-ottoman-page-extras {
  width: min(100%, var(--bb-shell));
  margin: 0 auto 38px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border: 1px solid rgba(181,155,127,.42);
  background: var(--bb-navy-deep);
  color: rgba(255,255,255,.76);
}
.bb-ottoman-page-extras > div {
  min-height: 116px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 28px;
  text-align: center;
  border-right: 1px solid rgba(181,155,127,.28);
}
.bb-ottoman-page-extras > div:last-child { border-right: 0; }
.bb-ottoman-page-extras strong {
  display: block;
  margin-bottom: 7px;
  color: var(--bb-gold-soft);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.bb-ottoman-page-extras span { font-size: .82rem; line-height: 1.5; }
@media (max-width: 900px) {
  .bb-ottoman-page-extras { grid-template-columns: 1fr; width: min(calc(100% - 32px), var(--bb-shell)); }
  .bb-ottoman-page-extras > div { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(181,155,127,.28); }
  .bb-ottoman-page-extras > div:last-child { border-bottom: 0; }
  .bb-enhancements-grid,
  .bb-enhancement-pricing { grid-template-columns: 1fr; }
  .bb-ottoman-enhancements,
  .bb-ottoman-enhancements .bb-option-field,
  .bb-enhancements-heading,
  .bb-enhancement-pricing { text-align: center; }
}
@media (max-width: 700px) {
  .bb-ottoman-enhancements { padding: 18px 14px; }
  .bb-enhancements-heading > span { font-size: 1.15rem; }
}


/* =====================================================================
   v2.6.135 — Ottoman enhancements layout repair
   Full-width enhancements panel inside the product configurator.
   ===================================================================== */
.single-product .bb-product-configurator > .bb-ottoman-enhancements {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 8px 0 2px !important;
  padding: 24px !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancements-heading {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 20px !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancements-heading > span {
  font-size: 1.35rem !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancements-heading p {
  max-width: 760px !important;
  font-size: .86rem !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancements-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-field {
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  text-align: left !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-field > span {
  display: block !important;
  min-height: 34px !important;
  margin-bottom: 8px !important;
  color: var(--bb-navy-deep) !important;
  font-size: .72rem !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-field select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 54px !important;
  padding: 0 42px 0 15px !important;
  border: 1px solid rgba(41,37,32,.16) !important;
  background-color: #fff !important;
  color: var(--bb-navy-deep) !important;
  font-size: .86rem !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-pricing {
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
  padding-top: 16px !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-pricing span {
  padding: 11px 13px !important;
  border: 1px solid rgba(181,155,127,.20) !important;
  background: rgba(255,255,255,.52) !important;
  color: var(--bb-muted) !important;
  font-size: .76rem !important;
  text-align: left !important;
}

.single-product .bb-ottoman-enhancements .bb-enhancement-pricing strong {
  display: inline-block !important;
  margin-left: 4px !important;
  font-size: .88rem !important;
}

@media (max-width: 900px) {
  .single-product .bb-product-configurator > .bb-ottoman-enhancements {
    padding: 22px 18px !important;
    text-align: center !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancements-heading p {
    margin-inline: auto !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancements-grid,
  .single-product .bb-ottoman-enhancements .bb-enhancement-pricing {
    grid-template-columns: 1fr !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancement-field,
  .single-product .bb-ottoman-enhancements .bb-enhancement-pricing span {
    text-align: center !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancement-field > span {
    min-height: 0 !important;
  }
}

@media (max-width: 700px) {
  .single-product .bb-product-configurator > .bb-ottoman-enhancements {
    padding: 20px 14px !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancements-heading > span {
    font-size: 1.2rem !important;
  }
  .single-product .bb-ottoman-enhancements .bb-enhancement-field select {
    min-height: 52px !important;
    font-size: .82rem !important;
  }
}


/* ===============================================================
   HOUSE OF THOMAS / 1.0 – IVORY, CHARCOAL & CHAMPAGNE-TAUPE
   Keep the reference theme layout and all WooCommerce interactions.
   =============================================================== */
:root {
  --bb-navy: #38322d;
  --bb-navy-deep: #292520;
  --bb-navy-soft: #453d36;
  --bb-gold: #b59b7f;
  --bb-gold-soft: #e3d5c4;
  --bb-ivory: #f5f0e9;
  --bb-paper: #fcfaf6;
  --bb-ink: #26221f;
  --bb-muted: #706b66;
  --bb-border: #d9d0c6;
}
body { background: var(--bb-paper); color: var(--bb-ink); }
.bb-topbar { background: #292520 !important; border-bottom-color: #5b5146 !important; }
.bb-header { background: rgba(252,250,246,.985) !important; border-bottom: 1px solid #d9d0c6 !important; box-shadow: 0 4px 24px rgba(48,40,30,.06) !important; }
.bb-header .bb-menu > li > a { color: #2a2622 !important; }
.bb-header .bb-menu > li > a:hover,
.bb-header .bb-menu > li.current-menu-item > a,
.bb-header .bb-menu > li.current-menu-ancestor > a { color: #977b60 !important; }
.bb-header .bb-menu > li > a::before { background: #b59b7f; }
.bb-header-actions > a, .bb-search-toggle, .bb-mobile-toggle { color: #292520 !important; }
.bb-header-actions > a:hover, .bb-search-toggle:hover, .bb-mobile-toggle:hover { color: #927358 !important; }
.bb-menu .sub-menu { background: #fcfaf6; border-color: #d9d0c6; box-shadow: 0 14px 36px rgba(40,32,25,.15); }
.bb-menu .sub-menu a { color: #302a25; }
.bb-menu .sub-menu a:hover { color: #896d53; background: #f3ede4; }
.bb-search-panel { background: #f5f0e9 !important; border-top-color: #d9d0c6; }
.bb-search-panel input { background: #fff; color: #292520; border-color: #d9d0c6; }
.bb-search-panel input::placeholder { color: #77716a; }
.bb-search-panel button { background: #292520; border-color: #292520; color: #fff; }
.bb-brand { width: min(290px, 100%); }
.bb-brand img { max-height: 78px; object-fit: contain; }
@media (min-width: 1181px) {
  .bb-header-inner { grid-template-columns: minmax(250px, 320px) minmax(0,1fr) 150px; gap: 18px; }
  .bb-menu { gap: clamp(12px,1.4vw,26px); }
  .bb-menu > li > a { font-size: .7rem; }
}
.bb-footer, .bb-reference-footer { background: #25211e !important; }
.bb-footer-logo img { object-fit: contain; object-position: left center; }
.bb-footer h2 { color: #f8f5ef; }
.bb-footer a:hover { color: #e3d5c4; }
.bb-button-dark, .woocommerce ul.products li.product .button { background: #292520 !important; border-color: #292520 !important; color: #fff !important; }
.bb-button-dark:hover { background: #453d36 !important; }
.bb-editor-hero-copy { color: #f4eade; }
.bb-reference-home .bb-editor-hero-slide,
.bb-reference-home .bb-editor-hero-image { background: #28231e; }
.bb-product-configurator, .bb-content-panel, .woocommerce ul.products li.product { border-color: #ded5ca; }
@media (max-width: 1180px) {
  .bb-brand { width: min(220px, 45vw); }
  .bb-header .bb-primary-nav { background: #292520 !important; }
  .bb-header .bb-primary-nav .bb-menu > li > a { color: #f7f3ea !important; }
  .bb-header .bb-primary-nav .bb-menu > li > a:hover { color: #e3d5c4 !important; }
  .bb-header .bb-primary-nav .bb-menu .sub-menu { background: transparent !important; border: 0; box-shadow: none; }
  .bb-header .bb-primary-nav .bb-menu .sub-menu a { color: #d6c9b8 !important; }
  .bb-header .bb-primary-nav .bb-menu .sub-menu a:hover { color: #fff !important; }
}
@media (max-width: 700px) {
  .bb-brand { width: min(195px,48vw) !important; }
  .bb-brand img { max-height: 54px !important; }
}
/* =====================================================================
   HOUSE OF THOMAS v1.1 — considered editorial storefront
   Retains original WooCommerce product configuration, prices and shop.
   ===================================================================== */

/* Luxury editorial masthead: centred logo, uncluttered navigation */
.bb-topbar { background: #282420 !important; border: 0 !important; }
.bb-topbar .bb-shell { min-height: 35px !important; gap: 30px; }
.bb-topbar p { font-size: 10px !important; letter-spacing: .13em !important; color: #eaded0; font-weight: 650; }
.bb-topbar nav { gap: 22px; }
.bb-topbar nav a { color: #d8cabc; font-size: 10px; letter-spacing: .08em; }
.bb-header { background: #fbf8f3 !important; border-bottom: 1px solid #e8e1d8 !important; box-shadow: 0 6px 24px rgba(30,24,20,.06) !important; }
.bb-header::before, .bb-header::after { display: none !important; }
.bb-header .bb-header-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,390px) minmax(0,1fr); min-height: 115px; align-items: center; gap: 20px; }
.bb-masthead-intro { display: flex; align-items: center; gap: 15px; justify-self: start; color: #6b5b4f; font-size: 10px; font-weight: 750; letter-spacing: .19em; line-height: 1.65; }
.bb-masthead-rule { display: block; width: 42px; height: 1px; background: #aa8d6d; }
.bb-header .bb-brand { width: 100%; max-width: 382px; justify-self: center; align-self: center; margin: 0; }
.bb-header .bb-brand img { width: 100%; max-height: 82px; object-fit: contain; object-position: center; }
.bb-header .bb-header-actions { justify-self: end; gap: 13px; }
.bb-header .bb-header-actions > a, .bb-header .bb-search-toggle { width: 43px; height: 43px; color: #332b25 !important; border: 1px solid #e7dfd5; border-radius: 0; background: transparent; box-shadow: none; }
.bb-header .bb-header-actions > a:hover, .bb-header .bb-search-toggle:hover { border-color: #a58d74; background: #f0e9e0; color: #2d2520 !important; }
.bb-header .bb-header-actions .bb-cart-count { right: -7px; top: -6px; background: #a98c6b; color: #211b16; border: 1px solid #fbf8f3; }
.bb-nav-row { border-top: 1px solid #ebe4db; background: #fbf8f3; }
.bb-nav-shell { display: flex; justify-content: center; align-items: center; }
.bb-nav-row .bb-primary-nav { width: 100%; justify-self: center; }
.bb-nav-row .bb-menu { display: flex; justify-content: center; gap: clamp(20px,2.25vw,43px); width: 100%; padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; }
.bb-nav-row .bb-menu > li > a { min-height: 55px; padding: 0 !important; color: #3a3029 !important; font-size: 11px; font-weight: 750; letter-spacing: .13em; }
.bb-nav-row .bb-menu > li > a::before { bottom: 11px; left: 0; height: 1px; background: #ac9071; }
.bb-nav-row .bb-menu > li > a:hover, .bb-nav-row .bb-menu > li.current-menu-item > a { color: #a58767 !important; }
.bb-nav-row .bb-menu .sub-menu { top: calc(100% - 1px); z-index: 1001; border: 1px solid #e5dace; background: #fdfbf8 !important; box-shadow: 0 22px 35px rgba(25,20,16,.12); }
.bb-nav-row .bb-menu .sub-menu a { color: #3c332c !important; }
.bb-nav-row .bb-menu .sub-menu a:hover { background: #f2ebe2; color: #775b43 !important; }
.bb-nav-row .bb-primary-nav .bb-mobile-nav-contact { display: none; }
.bb-header .bb-search-panel { background: #f7f1e9 !important; }
.bb-search-panel[hidden] { display: none !important; }

/* Reduce oversized page-title banners (all normal and WooCommerce pages). */
.bb-page-hero, .bb-commerce-hero {
  padding: 36px 22px 37px !important;
  min-height: 0 !important;
  background: #312b26 !important;
  text-align: center;
}
.bb-page-hero .bb-shell, .bb-commerce-hero .bb-shell { width: min(100% - 12px, 1100px) !important; }
.bb-page-hero .bb-eyebrow, .bb-commerce-hero .bb-eyebrow { margin: 0 0 8px !important; color: #c9ae90; font-size: 10px; letter-spacing: .16em; }
.bb-page-hero h1, .bb-commerce-hero h1 {
  margin: 0 auto !important; padding: 0 !important;
  font-size: clamp(2.1rem,3.2vw,3.55rem) !important;
  line-height: 1.08 !important; letter-spacing: -.035em !important;
  font-weight: 500 !important; text-wrap: balance;
}
.bb-page-hero .term-description { margin: 10px auto 0 !important; font-size: .95rem; line-height: 1.55; }
.bb-page-hero .term-description p { margin-bottom: 0; }
.bb-page-content, .bb-woocommerce-shell { padding-top: 42px; padding-bottom: 68px; }
.bb-page-intro { max-width: 890px; margin: 0 auto 33px; }
.bb-page-intro h2 { margin-bottom: 14px; font-size: clamp(1.8rem,2.75vw,2.9rem); letter-spacing: -.035em; text-wrap: balance; }
.bb-page-intro p:last-child { margin-bottom: 0; }
.bb-page-main .bb-content-panel { box-shadow: none; }
.bb-page-main .bb-content-panel h3 { font-size: clamp(1.3rem,1.75vw,1.85rem); }
.bb-page-main .bb-content-panel a { color: #866c54; text-decoration: underline; text-underline-offset: 4px; }

/* Editorial homepage continuation */
.ht-section { position: relative; margin: 0; }
.ht-editorial-wrap { width: min(calc(100% - 90px), 1440px); margin-inline: auto; }
.ht-home-origin { background: #f7f3ed; }
.ht-origin-grid { display: grid; grid-template-columns: 52% 48%; align-items: stretch; min-height: 620px; }
.ht-origin-image { min-height: 520px; overflow: hidden; background: #49413a; }
.ht-origin-image img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: center; }
.ht-origin-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 80px clamp(44px,5.3vw,96px); }
.ht-overline { margin: 0 0 22px; color: #a18668; font-family: Inter,system-ui,sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .24em; line-height: 1.5; text-transform: uppercase; }
.ht-origin-copy h2, .ht-section-intro h2, .ht-faq-lead h2 { font-size: clamp(2.2rem,3.7vw,4.25rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.06; text-wrap: balance; }
.ht-origin-copy p:not(.ht-overline) { color: #615a53; font-size: 15px; line-height: 1.85; }
.ht-origin-copy p strong { color: #35302a; }
.ht-small-line { width: 48px; height: 1px; margin: 4px 0 25px; background: #b59b7f; }
.ht-editorial-link { display: inline-flex; align-items: center; gap: 26px; margin-top: 13px; border-bottom: 1px solid #ad9378; padding: 0 0 9px; font-size: 12px; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; color: #2d2722; }
.ht-editorial-link:hover { color: #97795b; }
.ht-editorial-link span { font-size: 19px; font-weight: 400; }
.ht-shop-journey { padding: 100px 0 112px; background: #fdfbf8; }
.ht-section-intro { max-width: 730px; margin: 0 auto 50px; text-align: center; }
.ht-section-intro .ht-overline { margin-bottom: 15px; }
.ht-section-intro h2 { margin-bottom: 18px; }
.ht-section-intro > p:last-child { margin: 0; font-size: 15px; color: #6d6259; }
.ht-journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #d8ccbf; border-bottom: 1px solid #d8ccbf; }
.ht-journey-card { position: relative; min-height: 280px; padding: 43px clamp(22px,3vw,52px) 48px; border-right: 1px solid #d8ccbf; color: #2f2923; transition: background .2s ease; }
.ht-journey-card:first-child { border-left: 1px solid #d8ccbf; }
.ht-journey-card:hover { background: #f5eee6; color: #2f2923; }
.ht-step, .ht-guide-copy > span { display: block; margin-bottom: 24px; font-size: 10px; font-weight: 750; letter-spacing: .19em; color: #9c7d60; }
.ht-journey-card h3 { font-size: clamp(1.7rem,2.1vw,2.35rem); letter-spacing: -.04em; }
.ht-journey-card p { max-width: 365px; color: #6b625a; font-size: 14px; line-height: 1.75; }
.ht-card-arrow { position: absolute; right: 25px; bottom: 20px; font-size: 22px; color: #947557; }
.ht-collection-focus { display: grid; grid-template-columns: 54% 46%; min-height: 590px; overflow: hidden; background: #2c2621; }
.ht-focus-image { min-height: 590px; }
.ht-focus-image img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; object-position: center; }
.ht-focus-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 70px clamp(44px,6vw,115px); }
.ht-focus-copy .ht-overline { color: #c5a989; }
.ht-focus-copy h2 { max-width: 540px; color: #f8f2ea; font-size: clamp(2.5rem,4.2vw,4.6rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.06; }
.ht-focus-copy > p:not(.ht-overline) { max-width: 520px; font-size: 15px; color: #d8cbc0; line-height: 1.8; }
.ht-cream-button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 52px; padding: 12px 29px; margin-top: 17px; background: #e8d9c5; border: 1px solid #e8d9c5; color: #29221d; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transition: .2s ease; }
.ht-cream-button:hover { background: transparent; color: #efe2d4; }
.ht-home-guides { padding: 100px 0 105px; background: #f8f5f0; }
.ht-guides-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 27px; }
.ht-guide-card { min-width: 0; display: block; color: #2f2a25; background: #fff; border: 1px solid #e5dcd0; transition: transform .24s ease, box-shadow .24s ease; }
.ht-guide-card:hover { transform: translateY(-4px); color: #2f2a25; box-shadow: 0 19px 36px rgba(45,36,29,.08); }
.ht-guide-image { aspect-ratio: 16/10; overflow: hidden; background: #403a36; }
.ht-guide-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ht-guide-card:hover img { transform: scale(1.045); }
.ht-guide-copy { padding: 28px 35px 33px; }
.ht-guide-copy > span { margin-bottom: 10px; }
.ht-guide-copy h3 { margin-bottom: 10px; font-size: clamp(1.6rem,2.4vw,2.65rem); letter-spacing: -.045em; }
.ht-guide-copy p { margin: 0 0 17px; max-width: 530px; color: #645c55; font-size: 14px; }
.ht-guide-copy em { font-style: normal; font-size: 12px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; color: #856a51; }
.ht-faq-teaser { padding: 100px 0 103px; background: #fdfbf8; }
.ht-faq-grid { display: grid; grid-template-columns: 38% minmax(0,1fr); gap: clamp(45px,8vw,140px); }
.ht-faq-lead h2 { margin-bottom: 22px; }
.ht-faq-lead > p:not(.ht-overline) { max-width: 465px; color: #645c55; font-size: 15px; line-height: 1.8; }
.ht-faq-list { border-top: 1px solid #d8cec1; }
.ht-faq-list details { padding: 0; border-bottom: 1px solid #d8cec1; }
.ht-faq-list summary { position: relative; display: block; padding: 23px 45px 23px 0; color: #332b25; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.15rem,1.6vw,1.42rem); line-height: 1.3; cursor: pointer; list-style: none; }
.ht-faq-list summary::-webkit-details-marker { display: none; }
.ht-faq-list summary::after { content: '+'; position: absolute; right: 7px; top: 19px; font-family: Inter,system-ui,sans-serif; font-size: 25px; color: #97775b; font-weight: 300; }
.ht-faq-list details[open] summary::after { content: '−'; }
.ht-faq-list details p { max-width: 680px; margin: 0 0 24px; color: #655a52; font-size: 14px; line-height: 1.75; }
.ht-final-cta { padding: 83px 20px 89px; text-align: center; background: #322b25; }
.ht-final-cta .ht-overline { color: #c9ab88; }
.ht-final-cta h2 { margin: 0 0 17px; color: #f7f0e8; font-size: clamp(2.45rem,4.2vw,4.9rem); letter-spacing: -.045em; }
.ht-final-cta p:not(.ht-overline) { color: #d7c7b7; font-size: 15px; }
.ht-final-cta .ht-cream-button { margin-top: 10px; }

/* Cleaner footer without payment brand artwork */
.bb-reference-footer .bb-footer-top { grid-template-columns: minmax(210px,1.4fr) repeat(3,minmax(135px,.8fr)) minmax(230px,1.25fr); gap: clamp(22px,2.7vw,47px); padding-block: 72px 70px; }
.bb-reference-footer .bb-footer-brand p { max-width: 290px; }
.bb-footer-locality { display: inline-flex; flex-direction: column; gap: 4px; margin-top: 17px; padding: 15px 0 0; border-top: 1px solid rgba(181,155,127,.36); }
.bb-footer-locality span { font-size: 10px; letter-spacing: .18em; font-weight: 700; color: #c7a78a; }
.bb-footer-locality strong { font-size: 13px; font-weight: 550; letter-spacing: .13em; color: #f5ece1; }
.bb-reference-footer .bb-footer-bottom .bb-shell { display: flex; justify-content: space-between; grid-template-columns: none; gap: 18px; min-height: 70px; }
.bb-reference-footer .bb-footer-bottom-payments, .bb-footer-payments { display: none !important; }

/* Tablet and phone: logo left, icons and menu right; drawer remains body-fixed */
@media (max-width: 1180px) {
  .bb-header .bb-header-inner { display: grid !important; grid-template-columns: minmax(0,1fr) auto auto !important; grid-template-areas: 'brand actions toggle' !important; gap: 8px !important; min-height: 84px !important; }
  .bb-masthead-intro { display: none !important; }
  .bb-header .bb-brand { grid-area: brand !important; max-width: 255px; width: min(240px,47vw) !important; justify-self: start !important; }
  .bb-header .bb-brand img { max-height: 66px !important; object-position: left center !important; }
  .bb-header .bb-header-actions { grid-area: actions !important; }
  .bb-header .bb-mobile-toggle { grid-area: toggle !important; width: 43px !important; height: 43px !important; border: 1px solid #e7dfd5; color: #302821 !important; background: transparent; }
  .bb-nav-row { height: 0; border: 0; }
  .bb-nav-row .bb-nav-shell { width: 0 !important; height: 0; }
  .bb-primary-nav { background: #2d2722 !important; }
  .bb-header .bb-primary-nav .bb-menu { display: block !important; }
  .bb-header .bb-primary-nav .bb-menu > li > a { color: #f7efe7 !important; }
  .bb-header .bb-primary-nav .bb-menu .sub-menu { background: transparent !important; }
  .bb-header .bb-primary-nav .bb-menu .sub-menu a { color: #d7c8b7 !important; }
  .bb-header .bb-primary-nav .bb-mobile-nav-contact { display: grid !important; }
  .bb-reference-footer .bb-footer-top { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: auto; }
  .bb-page-hero, .bb-commerce-hero { padding: 32px 16px 33px !important; background: #312b26 !important; }
  .bb-page-hero .bb-shell, .bb-commerce-hero .bb-shell { margin-inline: auto !important; padding: 0 !important; background: transparent !important; }
  .bb-page-content, .bb-woocommerce-shell { padding-top: 34px; padding-bottom: 55px; }
  .ht-editorial-wrap { width: min(calc(100% - 48px), 1100px); }
  .ht-origin-grid { min-height: 500px; }
  .ht-origin-copy { padding: 45px 35px; }
  .ht-shop-journey, .ht-home-guides, .ht-faq-teaser { padding: 70px 0; }
  .ht-collection-focus { min-height: 500px; }
  .ht-focus-image, .ht-focus-image img { min-height: 500px; }
  .ht-focus-copy { padding: 45px 35px; }
}
@media (max-width: 800px) {
  .ht-origin-grid, .ht-collection-focus, .ht-faq-grid { grid-template-columns: 1fr; }
  .ht-origin-image, .ht-origin-image img { min-height: 0; aspect-ratio: 16/10; }
  .ht-origin-copy, .ht-focus-copy { padding: 49px 32px 57px; align-items: center; text-align: center; }
  .ht-origin-copy .ht-small-line { margin-inline: auto; }
  .ht-journey-grid { grid-template-columns: 1fr; }
  .ht-journey-card { min-height: 210px; padding: 27px 34px 34px; border-right: 1px solid #d8ccbf; border-left: 1px solid #d8ccbf; border-bottom: 1px solid #d8ccbf; text-align: center; }
  .ht-journey-card:last-child { border-bottom: 0; }
  .ht-journey-card p { margin-inline: auto; }
  .ht-collection-focus { min-height: 0; }
  .ht-focus-image, .ht-focus-image img { min-height: 0; aspect-ratio: 16/10; }
  .ht-faq-grid { gap: 33px; text-align: center; }
  .ht-faq-lead > p:not(.ht-overline) { margin-inline: auto; }
  .ht-guides-grid { gap: 20px; }
  .bb-reference-footer .bb-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: 1/-1; }
}
@media (max-width: 700px) {
  .bb-topbar .bb-shell { min-height: 32px !important; }
  .bb-topbar p { font-size: 8px !important; line-height: 1.4; letter-spacing: .08em !important; }
  .bb-header .bb-header-inner { min-height: 72px !important; }
  .bb-header .bb-brand { width: min(195px,46vw) !important; }
  .bb-header .bb-brand img { max-height: 55px !important; }
  .bb-header .bb-cart-link, .bb-header .bb-mobile-toggle { width: 38px !important; height: 40px !important; }
  .bb-page-hero, .bb-commerce-hero { padding: 25px 10px 27px !important; }
  .bb-page-hero h1, .bb-commerce-hero h1 { font-size: clamp(1.85rem,8vw,2.75rem) !important; letter-spacing: -.035em !important; }
  .bb-page-hero .bb-eyebrow { font-size: 9px; margin-bottom: 6px !important; }
  .bb-page-content, .bb-woocommerce-shell { padding-top: 29px; padding-bottom: 44px; }
  .bb-page-intro { margin-bottom: 26px; }
  .bb-page-intro h2 { font-size: clamp(1.7rem,7.5vw,2.5rem); }
  .ht-editorial-wrap { width: min(calc(100% - 32px), 620px); }
  .ht-origin-copy { padding: 39px 19px 50px; }
  .ht-origin-copy h2, .ht-section-intro h2, .ht-faq-lead h2 { font-size: clamp(2rem,9vw,3.15rem); }
  .ht-shop-journey, .ht-home-guides, .ht-faq-teaser { padding: 56px 0 64px; }
  .ht-section-intro { margin-bottom: 31px; }
  .ht-focus-copy { padding: 42px 23px 50px; }
  .ht-focus-copy h2 { font-size: clamp(2.25rem,10vw,3.25rem); }
  .ht-guides-grid { grid-template-columns: 1fr; }
  .ht-guide-copy { padding: 24px 24px 28px; text-align: center; }
  .ht-guide-copy h3 { font-size: 2rem; }
  .ht-faq-list summary { padding: 19px 35px 19px 0; text-align: left; font-size: 1.13rem; }
  .ht-faq-list details p { text-align: left; }
  .ht-final-cta { padding: 65px 20px 74px; }
  .bb-reference-footer .bb-footer-top { grid-template-columns: 1fr; gap: 25px; }
  .bb-reference-footer .bb-footer-brand, .bb-reference-footer .bb-footer-newsletter { grid-column: auto; }
  .bb-reference-footer .bb-footer-bottom .bb-shell { flex-direction: column; justify-content: center; padding: 15px 0; text-align: center; }
  .bb-reference-footer .bb-footer-bottom .bb-shell p { justify-self: center; }
}


/* v1.2 — three focused bedroom collections on desktop. */
@media (min-width: 981px) {
  .bb-reference-category-rail .bb-block-category-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


/* v1.2.1 — guide layout spacing and visual fabric swatches */
.bb-page-content { display: flow-root; }
.bb-page-content > * + * { margin-top: 24px; }
.bb-page-content .bb-page-intro + .bb-content-grid,
.bb-page-content .bb-page-intro + .bb-fabric-library,
.bb-page-content .bb-content-grid + .bb-content-panel,
.bb-page-content .bb-fabric-library + .bb-content-panel { margin-top: 0; }
.bb-page-main .bb-content-grid { align-items: stretch; }
.bb-page-main .bb-content-panel { min-width: 0; overflow: hidden; }
.bb-page-main .bb-content-panel.bb-prose { clear: both; }
.bb-fabric-library { display: grid; gap: 24px; }
.bb-fabric-card { padding: 30px 32px 34px; }
.bb-fabric-card-head { max-width: 860px; margin-bottom: 24px; }
.bb-fabric-card-head h3 { margin-bottom: 10px; }
.bb-fabric-card-head p { margin: 0; color: #655c53; }
.bb-fabric-swatches { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.bb-fabric-swatch { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px 13px; background: #faf7f2; border: 1px solid #e2d8cc; }
.bb-fabric-swatch-chip { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); box-shadow: inset 0 0 0 2px rgba(255,255,255,.52); background: var(--swatch); }
.bb-fabric-swatch-label { min-width: 0; display: block; }
.bb-fabric-swatch-label strong, .bb-fabric-swatch-label small { display: block; }
.bb-fabric-swatch-label strong { font-size: .84rem; line-height: 1.35; color: #2f2a25; }
.bb-fabric-swatch-label small { margin-top: 2px; color: #8a7d71; font-size: .7rem; letter-spacing: .02em; }
.bb-fabric-note { margin-top: 24px; }
@media (max-width: 1024px) {
  .bb-fabric-swatches { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .bb-page-content > * + * { margin-top: 18px; }
  .bb-fabric-card { padding: 24px 20px 26px; }
  .bb-fabric-card-head { margin-bottom: 18px; }
  .bb-fabric-swatches { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .bb-fabric-swatch { padding: 10px 11px; gap: 10px; }
}


/* v1.2.2 — premium fabric swatch polish and extra guide spacing */
.bb-fabric-library { gap: 30px; margin-bottom: 34px; }
.bb-fabric-card { padding: 34px 36px 38px; border-color: #ddd1c3; background: linear-gradient(180deg,#fffdf9 0%,#fbf8f4 100%); }
.bb-fabric-card-head { margin-bottom: 28px; }
.bb-fabric-card-head h3 { margin-bottom: 8px; font-size: clamp(1.45rem,2vw,2rem); }
.bb-fabric-card-head p { max-width: 920px; line-height: 1.75; }
.bb-fabric-swatches { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.bb-fabric-swatch {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid #dfd2c5;
  background: #fff;
  box-shadow: 0 8px 18px rgba(44,34,26,.035);
  transition: transform .18s ease, box-shadow .18s ease;
}
.bb-fabric-swatch:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(44,34,26,.07); }
.bb-fabric-swatch-chip {
  position: relative;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  border: 1px solid rgba(34,28,24,.16);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.52);
  background: linear-gradient(145deg, rgba(255,255,255,.35), rgba(255,255,255,0)) , var(--swatch);
}
.bb-fabric-swatch-chip::after {
  content: '';
  position: absolute;
  inset: 8px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.3);
}
.bb-fabric-swatch-label strong { font-size: .9rem; font-weight: 600; letter-spacing: -.01em; }
.bb-fabric-swatch-label small { margin-top: 3px; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.bb-fabric-note {
  clear: both;
  max-width: none;
  margin-top: 34px !important;
  padding: 40px 32px 42px;
  border-color: #ddd1c3;
  background: #fcfaf6;
}
.bb-fabric-note h3:first-child { margin-top: 0; }
.bb-fabric-note p:last-child { margin-bottom: 0; }
@media (max-width: 1100px) {
  .bb-fabric-swatches { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .bb-fabric-library { gap: 22px; margin-bottom: 26px; }
  .bb-fabric-card { padding: 24px 20px 28px; }
  .bb-fabric-swatches { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .bb-fabric-swatch { grid-template-columns: 44px minmax(0,1fr); min-height: 62px; gap: 10px; padding: 10px; }
  .bb-fabric-swatch-chip { width: 44px; height: 44px; border-radius: 12px; }
  .bb-fabric-note { margin-top: 26px !important; padding: 28px 20px 30px; }
}


/* v1.2.3 — premium bed buying guide layout */
.bb-guide-grid .bb-guide-card { background: linear-gradient(180deg,#fffdf9 0%,#fbf8f4 100%); border-color: #ddd1c3; box-shadow: none; }
.bb-guide-grid .bb-guide-card h3 { margin-bottom: 14px; }
.bb-guide-grid .bb-guide-card p:last-of-type { margin-bottom: 26px; }
.bb-guide-grid .bb-guide-card a,
.bb-guide-link { color: #9b7a5d; text-decoration: underline; text-underline-offset: 4px; }
.bb-guide-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; margin-top: 30px; }
.bb-guide-feature,
.bb-guide-checklist,
.bb-guide-callout { border-color: #ddd1c3; box-shadow: none; background: #fff; }
.bb-guide-feature { padding: 42px 38px 40px; background: linear-gradient(180deg,#fffdfa 0%,#faf6f1 100%); }
.bb-guide-feature h3,
.bb-guide-checklist h3,
.bb-guide-callout h3 { margin-bottom: 14px; font-size: clamp(1.6rem,2.2vw,2.25rem); letter-spacing: -.03em; }
.bb-guide-feature p:last-of-type { margin-bottom: 22px; }
.bb-guide-checklist { padding: 40px 36px; background: #fcfaf6; }
.bb-guide-list { margin: 20px 0 0; padding: 0; list-style: none; }
.bb-guide-list li { position: relative; padding-left: 24px; margin: 0 0 14px; line-height: 1.7; color: #524941; }
.bb-guide-list li::before { content: ''; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: #b79677; }
.bb-guide-callout { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 28px; margin-top: 24px; padding: 38px 36px 34px; background: #f8f4ee; }
.bb-guide-callout-copy p:last-child { margin-bottom: 0; }
.bb-guide-callout-actions { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
@media (max-width: 960px) {
  .bb-guide-split, .bb-guide-callout { grid-template-columns: 1fr; }
  .bb-guide-callout-actions { margin-top: 8px; }
}
@media (max-width: 767px) {
  .bb-guide-split { margin-top: 22px; gap: 18px; }
  .bb-guide-feature, .bb-guide-checklist { padding: 28px 20px; }
  .bb-guide-callout { margin-top: 18px; padding: 26px 20px 24px; }
}
/* House of Thomas v1.3.0 — Customer care editorial system */
.ht-care { --ht-ink:#2d2823; --ht-taupe:#a88a6e; --ht-border:#e3d8cd; --ht-paper:#f8f4ee; color:var(--ht-ink); width:100%; isolation:isolate; }
.ht-care *, .ht-care *::before, .ht-care *::after { box-sizing:border-box; }
.ht-care > * { min-width:0; }
.ht-care-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 22px; border-top:1px solid var(--ht-border); border-bottom:1px solid var(--ht-border); padding:13px 10px; margin:0 0 48px; }
.ht-care-nav a { display:inline-flex; position:relative; align-items:center; min-height:28px; color:#6c6158; font-size:11px; font-weight:750; letter-spacing:.095em; text-transform:uppercase; transition:color .2s ease; }
.ht-care-nav a:hover, .ht-care-nav a.is-active { color:#917155; }
.ht-care-nav a.is-active::after { position:absolute; content:""; bottom:-14px; left:0; right:0; height:2px; background:#ae9072; }
.ht-care-intro { text-align:center; max-width:880px; margin:0 auto 48px; }
.ht-care-overline { display:block; margin:0 0 15px; font-size:10px; font-weight:800; line-height:1.45; letter-spacing:.21em; color:#9c785a; text-transform:uppercase; }
.ht-care-intro h2 { max-width:900px; margin:0 0 20px; font-weight:400; font-size:clamp(2.15rem,4.1vw,4.25rem); line-height:1.09; letter-spacing:-.048em; text-wrap:balance; }
.ht-care-intro > p:last-child { margin:0 auto; max-width:770px; font-size:15px; color:#655c54; line-height:1.85; }
.ht-care-lead { display:grid; grid-template-columns:1.09fr .91fr; min-width:0; min-height:440px; margin:0 0 74px; background:#2d2925; overflow:hidden; }
.ht-care-lead-photo { min-height:420px; overflow:hidden; }
.ht-care-lead-photo img { width:100%; height:100%; min-height:420px; object-fit:cover; }
.ht-care-lead-copy { align-self:center; padding:58px clamp(30px,5vw,80px); }
.ht-care-lead-copy .ht-care-overline { color:#c7a987; }
.ht-care-lead-copy h3 { max-width:570px; margin:0 0 19px; font-size:clamp(2.1rem,3vw,3.65rem); color:#faf6f0; line-height:1.08; letter-spacing:-.04em; }
.ht-care-lead-copy p:not(.ht-care-overline) { max-width:490px; font-size:14px; line-height:1.88; color:#e1d4c7; }
.ht-care-text-link { display:inline-flex; align-items:center; gap:18px; margin-top:7px; padding-bottom:6px; border-bottom:1px solid #ba9c7d; font-size:12px; font-weight:750; letter-spacing:.045em; color:#8d6f54; }
.ht-care-text-link:hover { color:#c7a783; }
.ht-care-lead .ht-care-text-link { color:#e9d7bf; }
.ht-care-section-heading { text-align:center; margin:0 0 32px; }
.ht-care-section-heading .ht-care-overline { margin-bottom:9px; }
.ht-care-section-heading h3 { margin:0; font-size:clamp(2rem,3.2vw,3.1rem); letter-spacing:-.045em; }
.ht-care-cards { display:grid; align-items:stretch; gap:22px; min-width:0; }
.ht-care-cards-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ht-care-cards-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ht-care-secondary-links { margin:22px 0 40px; }
.ht-care-card { display:flex; position:relative; flex-direction:column; align-items:flex-start; min-width:0; min-height:245px; padding:33px 32px 50px; border:1px solid var(--ht-border); background:#fff; color:var(--ht-ink); transition:background .2s, border-color .2s, transform .2s; }
.ht-care-card:hover { background:#f8f3ec; border-color:#bb9d82; color:var(--ht-ink); transform:translateY(-3px); }
.ht-care-card-number { margin-bottom:26px; font-size:10px; font-weight:800; letter-spacing:.18em; color:#a0836a; }
.ht-care-card h3 { margin:0 0 13px; font-size:clamp(1.5rem,2vw,2.15rem); letter-spacing:-.025em; line-height:1.15; }
.ht-care-card p { margin:0; max-width:365px; color:#675e56; font-size:13px; line-height:1.8; }
.ht-care-card-arrow { position:absolute; right:25px; bottom:22px; font-size:21px; color:#9e8163; }
.ht-care-secondary-links .ht-care-card { min-height:160px; padding-top:31px; }
.ht-care-secondary-links .ht-care-card h3 { font-size:clamp(1.5rem,1.9vw,1.95rem); }
.ht-care-mini-note { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; padding:25px 30px; margin:0 0 54px; border:1px solid #e3d7ca; background:#fbf8f4; }
.ht-care-mini-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #bca183; border-radius:50%; color:#967459; font-family:Georgia,serif; font-size:18px; }
.ht-care-mini-note h3 { font-size:1.36rem; margin:0 0 6px; }
.ht-care-mini-note p { margin:0; font-size:13px; line-height:1.7; color:#635b54; }
.ht-care-mini-note a { white-space:nowrap; font-size:12px; font-weight:750; color:#896c52; }
.ht-care-cta { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:46px clamp(28px,5vw,78px); margin:54px 0 0; background:#302a25; color:#f2e8dc; }
.ht-care-cta .ht-care-overline { color:#c8a98a; }
.ht-care-cta h2 { color:#fff9f0; margin:0 0 12px; font-size:clamp(2.1rem,3.2vw,3.5rem); line-height:1.1; letter-spacing:-.045em; }
.ht-care-cta p:last-child { margin:0; max-width:630px; color:#ded1c4; font-size:14px; line-height:1.85; }
.ht-care-button { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:52px; padding:14px 24px; background:#e9dac6; color:#2e2924; font-size:11px; letter-spacing:.11em; font-weight:800; text-transform:uppercase; white-space:nowrap; }
.ht-care-button:hover { background:#fff3e0; color:#2e2924; }
.ht-care-feature { display:grid; grid-template-columns:1fr 1fr; min-height:375px; min-width:0; margin:0 0 66px; background:#f3ede5; overflow:hidden; }
.ht-care-feature > div { align-self:center; min-width:0; padding:48px clamp(30px,4.5vw,75px); }
.ht-care-feature h3 { font-size:clamp(2.1rem,3.15vw,3.3rem); letter-spacing:-.042em; }
.ht-care-feature p:not(.ht-care-overline) { color:#5e554c; line-height:1.82; font-size:14px; }
.ht-care-feature > img { width:100%; height:100%; min-height:375px; object-fit:cover; }
.ht-care-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--ht-border); margin:0 0 48px; background:#fff; }
.ht-care-steps article { min-width:0; padding:35px 26px 32px; border-right:1px solid var(--ht-border); }
.ht-care-steps article:last-child { border-right:0; }
.ht-care-steps span { display:block; color:#a5876b; font-size:11px; font-weight:800; letter-spacing:.2em; margin:0 0 24px; }
.ht-care-steps h3 { font-size:clamp(1.42rem,1.8vw,1.88rem); margin:0 0 13px; }
.ht-care-steps p { color:#665e56; font-size:13px; line-height:1.82; margin:0; }
.ht-care-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:24px; margin:0 0 32px; }
.ht-care-panel { min-width:0; padding:38px clamp(26px,3vw,45px); border:1px solid var(--ht-border); background:#fff; }
.ht-care-panel-cream { background:#f8f4ee; }
.ht-care-panel h3 { margin:0 0 20px; font-size:clamp(1.9rem,2.4vw,2.8rem); letter-spacing:-.04em; }
.ht-care-panel p:not(.ht-care-overline) { color:#61584f; font-size:14px; line-height:1.85; }
.ht-care-panel p:last-child { margin-bottom:0; }
.ht-care-checklist { margin:0 0 18px; padding:0; list-style:none; }
.ht-care-checklist li { position:relative; margin:0 0 15px; padding-left:26px; color:#594f46; font-size:14px; line-height:1.65; }
.ht-care-checklist li:before { content:"✓"; position:absolute; left:0; top:0; color:#99765b; font-weight:800; }
.ht-care-inline-note { display:grid; grid-template-columns:minmax(150px,.35fr) 1fr auto; gap:20px; align-items:center; padding:24px 28px; border:1px solid #e4d9cc; background:#faf8f3; }
.ht-care-inline-note strong { font-family:Georgia,serif; font-size:1.3rem; font-weight:500; }
.ht-care-inline-note p { margin:0; color:#645a51; font-size:13px; line-height:1.7; }
.ht-care-inline-note a { font-size:12px; color:#846448; white-space:nowrap; font-weight:750; }
.ht-care-return-highlight { display:grid; grid-template-columns:.36fr .64fr; margin:0 0 34px; border:1px solid var(--ht-border); background:#faf7f2; }
.ht-care-return-highlight > div { min-width:0; padding:36px clamp(25px,3vw,45px); }
.ht-care-return-highlight > div:first-child { display:flex; flex-direction:column; border-right:1px solid var(--ht-border); background:#eee5d9; }
.ht-care-return-highlight strong { font-family:Georgia,serif; font-size:clamp(3.2rem,5vw,5.5rem); font-weight:400; letter-spacing:-.065em; line-height:1; margin:3px 0 14px; }
.ht-care-return-highlight span { color:#5e5349; font-size:13px; line-height:1.6; max-width:225px; }
.ht-care-return-highlight h3 { font-size:clamp(1.8rem,2.5vw,2.6rem); margin-bottom:15px; }
.ht-care-return-highlight p { font-size:14px; line-height:1.8; color:#5e554c; }
.ht-care-return-highlight p:last-child { margin-bottom:0; }
.ht-care-returns-cards { margin:0 0 34px; }
.ht-care-info-card { min-width:0; padding:30px 28px 32px; border:1px solid var(--ht-border); background:#fff; }
.ht-care-info-card > span { display:block; color:#9f7c5c; font-size:10px; font-weight:800; letter-spacing:.15em; margin-bottom:23px; }
.ht-care-info-card h3 { margin:0 0 15px; font-size:clamp(1.5rem,2vw,2rem); }
.ht-care-info-card p { margin:0; color:#61584f; font-size:13px; line-height:1.83; }
.ht-care-numbered { margin:0; padding:0; list-style:none; counter-reset:htcare; }
.ht-care-numbered li { position:relative; counter-increment:htcare; padding:0 0 19px 40px; color:#5b5149; line-height:1.75; font-size:14px; }
.ht-care-numbered li::before { content:"0" counter(htcare); position:absolute; top:1px; left:0; font-size:11px; font-weight:800; letter-spacing:.08em; color:#a5876b; }
.ht-care-legal-note { padding:14px 18px; border-left:2px solid #ac8c6c; color:#70665d; background:#fbf8f4; line-height:1.8; font-size:13px; }
.ht-care-legal-note a { color:#886c53; text-decoration:underline; }
.ht-care-faq-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px; align-items:start; }
.ht-care-faq-group { min-width:0; padding:32px 32px 12px; border:1px solid var(--ht-border); background:#fff; }
.ht-care-faq-group h3 { font-size:clamp(1.65rem,2.2vw,2.35rem); margin:0 0 20px; }
.ht-care-faq-group details { border-top:1px solid var(--ht-border); }
.ht-care-faq-group details:last-child { margin-bottom:8px; }
.ht-care-faq-group summary { position:relative; padding:19px 33px 19px 0; font-size:14px; font-weight:700; line-height:1.5; cursor:pointer; color:#2d2925; list-style:none; }
.ht-care-faq-group summary::-webkit-details-marker { display:none; }
.ht-care-faq-group summary::after { content:"+"; position:absolute; right:4px; top:15px; font-size:21px; color:#a38769; font-weight:400; }
.ht-care-faq-group details[open] summary::after { content:"−"; }
.ht-care-faq-group details p { padding:0 18px 19px 0; margin:0; font-size:13px; color:#685e55; line-height:1.82; }
.ht-care-faq-group details a { color:#8b6a4e; text-decoration:underline; text-underline-offset:3px; }
.ht-care-contact-grid { display:grid; grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr); align-items:start; gap:26px; }
.ht-care-contact-aside { min-width:0; padding:42px clamp(26px,3.3vw,50px); background:#302b26; color:#e6d8ca; }
.ht-care-contact-aside .ht-care-overline { color:#c5a789; }
.ht-care-contact-aside h3 { color:#f7f1e9; font-size:clamp(2.1rem,3vw,3.35rem); margin:0 0 20px; }
.ht-care-contact-aside > p:not(.ht-care-overline) { color:#e1d2c3; font-size:14px; line-height:1.86; margin:0 0 30px; }
.ht-care-contact-line { padding:19px 0; border-top:1px solid rgba(255,255,255,.17); }
.ht-care-contact-line strong { display:block; color:#f6eadd; margin:0 0 5px; font-size:13px; letter-spacing:.01em; }
.ht-care-contact-line span { display:block; font-size:13px; color:#d4c5b6; line-height:1.72; }
.ht-care-contact-aside > h3:not(:first-of-type) { font-size:1.3rem; margin:12px 0 6px; }
.ht-care-contact-aside > p a { color:#efdeca; }
.ht-care-contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:27px; }
.ht-care-contact-links a { font-size:12px; color:#d9bb9e; font-weight:650; }
.ht-care-contact-form-area { min-width:0; border:1px solid var(--ht-border); background:#fff; padding:36px clamp(22px,3.4vw,48px); }
.ht-care-form-heading h3 { margin:0 0 12px; font-size:clamp(2rem,2.7vw,2.85rem); }
.ht-care-form-heading > p:last-child { color:#6f655b; font-size:13px; line-height:1.75; margin-bottom:28px; }
.ht-care-contact-form-area .bb-contact-form-wrap { box-shadow:none; border:0; padding:0; background:transparent; }
.ht-care-contact-form-area .bb-contact-form label > span { letter-spacing:.06em; font-size:11px; }
.ht-care-contact-form-area .bb-contact-form input:not([type=checkbox]), .ht-care-contact-form-area .bb-contact-form textarea, .ht-care-contact-form-area .bb-contact-form select { border-color:#ded4c8; background:#fdfbf7; }
.ht-care-contact-form-area .bb-contact-form label.bb-consent { display:flex; align-items:flex-start; gap:12px; }
.ht-care-contact-form-area .bb-contact-form label.bb-consent > span { text-transform:none; font-size:12px; font-weight:500; line-height:1.65; letter-spacing:0; }
@media (max-width:1120px) {
  .ht-care-lead-copy { padding:40px 35px; }
  .ht-care-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ht-care-steps article:nth-child(2) { border-right:0; }
  .ht-care-steps article:nth-child(-n+2) { border-bottom:1px solid var(--ht-border); }
  .ht-care-inline-note { grid-template-columns:1fr; gap:10px; }
  .ht-care-mini-note { grid-template-columns:auto 1fr; }
  .ht-care-mini-note a { grid-column:2; }
}
@media (max-width:900px) {
  .ht-care-lead, .ht-care-feature, .ht-care-return-highlight, .ht-care-contact-grid { grid-template-columns:1fr; }
  .ht-care-lead-photo { max-height:390px; min-height:300px; }
  .ht-care-lead-photo img { min-height:300px; }
  .ht-care-feature > img { max-height:350px; min-height:280px; }
  .ht-care-return-highlight > div:first-child { border-right:0; border-bottom:1px solid var(--ht-border); }
  .ht-care-return-highlight strong { font-size:4rem; }
  .ht-care-cards-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ht-care-columns, .ht-care-faq-columns { grid-template-columns:1fr; }
  .ht-care-cta { grid-template-columns:1fr; }
  .ht-care-button { justify-self:start; }
}
@media (max-width:620px) {
  .ht-care-nav { margin-bottom:31px; justify-content:flex-start; gap:4px 16px; padding:12px 0; }
  .ht-care-nav a { font-size:10px; }
  .ht-care-nav a.is-active::after { bottom:-13px; }
  .ht-care-intro { margin-bottom:34px; }
  .ht-care-intro h2 { font-size:clamp(2rem,8vw,2.7rem); }
  .ht-care-intro > p:last-child { font-size:14px; }
  .ht-care-lead { margin-bottom:49px; }
  .ht-care-lead-copy { padding:33px 25px 40px; }
  .ht-care-cards-three, .ht-care-cards-two { grid-template-columns:1fr; gap:13px; }
  .ht-care-card, .ht-care-secondary-links .ht-care-card { min-height:0; padding:27px 25px 53px; }
  .ht-care-secondary-links { margin-top:13px; }
  .ht-care-mini-note { grid-template-columns:1fr; padding:22px; }
  .ht-care-mini-note a { grid-column:1; white-space:normal; }
  .ht-care-feature { margin-bottom:40px; }
  .ht-care-feature > div { padding:35px 25px; }
  .ht-care-steps { grid-template-columns:1fr; }
  .ht-care-steps article { border-right:0; border-bottom:1px solid var(--ht-border); padding:27px 25px; }
  .ht-care-steps article:last-child { border-bottom:0; }
  .ht-care-panel { padding:30px 23px; }
  .ht-care-faq-group { padding:26px 23px 12px; }
  .ht-care-contact-aside { padding:35px 25px; }
  .ht-care-contact-form-area { padding:28px 22px; }
  .ht-care-cta { padding:33px 25px; margin-top:36px; }
  .ht-care-button { width:100%; white-space:normal; }
  .ht-care-return-highlight > div { padding:27px 24px; }
  .ht-care-return-highlight strong { font-size:3.7rem; }
}


/* House of Thomas v1.3.1: breathing room between warranty care cards and aftercare panels.
   The previous full-width three-card grid had no bottom margin, so it touched
   the following two-column section at its border on desktop and tablet. */
.ht-care-warranty > .ht-care-cards-three {
  margin-bottom: 38px;
}
.ht-care-warranty > .ht-care-cards-three + .ht-care-columns {
  margin-top: 0;
}
@media (max-width: 900px) {
  .ht-care-warranty > .ht-care-cards-three { margin-bottom: 28px; }
}
@media (max-width: 620px) {
  .ht-care-warranty > .ht-care-cards-three { margin-bottom: 24px; }
}
