/* ==========================================================================
   Best Startups — main stylesheet
   Display: Bricolage Grotesque · Body: Instrument Sans
   ========================================================================== */

/* Self-hosted fonts (SIL OFL — see assets/fonts) --------------------------- */
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-display: swap; src: url(../fonts/bricolage-grotesque-latin.woff2) format("woff2-variations"), url(../fonts/bricolage-grotesque-latin.woff2) format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/instrument-sans-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/instrument-sans-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/instrument-sans-latin-600-normal.woff2) format("woff2"); }

:root {
	--bst-accent: #2147E8;
	--bst-accent-dark: #1A3AC0;
	--bst-accent-soft: #EEF1FE;
	--bst-ink: #14161A;
	--bst-muted: #4A4F57;
	--bst-line: #E3E3DE;
	--bst-line-strong: #C9C8C1;
	--bst-soft: #F4F3EE;
	--bst-ph: #E9E7E0;
	--bst-yellow: #FFC93C;
	--bst-good: #0B5D3B;
	--bst-good-bg: #F1F8F4;
	--bst-warn: #8A3412;
	--bst-warn-bg: #FBF1EC;
	--bst-dark-text: #C9CBD0;
	--bst-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
	--bst-body: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--bst-radius: 16px;
	--bst-radius-lg: 24px;
	--bst-wrap: 1200px;
	--bst-gutter: clamp(16px, 3vw, 24px);
}

/* Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 24px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: #fff; color: var(--bst-ink); font: 400 16px/1.6 var(--bst-body); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bst-ink); text-underline-offset: 3px; }
a:hover { color: var(--bst-accent); }
:focus-visible { outline: 3px solid var(--bst-accent); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { margin: 0; line-height: 1.12; }
p { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }

.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; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; padding: 12px 16px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.2); }

.bst-wrap { width: 100%; max-width: var(--bst-wrap); margin-inline: auto; padding-inline: var(--bst-gutter); }
.bst-narrow { max-width: 860px; }
.bst-center { text-align: center; }
.bst-stack { display: flex; flex-direction: column; gap: 22px; }
.bst-stack--center { align-items: center; text-align: center; }
.bst-section { padding-block: clamp(40px, 6vw, 72px) 0; }
.bst-main > .bst-section:last-child, .bst-main > div.bst-section:last-child { padding-bottom: clamp(56px, 8vw, 88px); }
.bst-icon { flex: none; vertical-align: middle; }

/* Type ------------------------------------------------------------------- */
.bst-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bst-accent-dark); }
.bst-display { font-family: var(--bst-display); font-weight: 800; font-size: clamp(38px, 6vw, 76px); line-height: 1.02; letter-spacing: -.035em; max-width: 900px; }
.bst-display--article { font-size: clamp(34px, 5vw, 64px); }
.bst-display--profile { font-size: clamp(32px, 4.4vw, 54px); }
.bst-display--flow { font-size: clamp(32px, 4vw, 48px); margin-bottom: 28px; }
.bst-h2 { font-family: var(--bst-display); font-weight: 800; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.03em; margin-bottom: 22px; }
.bst-h3 { font-family: var(--bst-display); font-weight: 800; font-size: clamp(22px, 2.4vw, 28px); letter-spacing: -.02em; margin-bottom: 14px; }
.bst-lede { font-size: clamp(17px, 1.6vw, 19px); line-height: 1.55; color: var(--bst-muted); max-width: 640px; }
.bst-lede p + p { margin-top: .8em; }
.bst-small { font-size: 14px; color: var(--bst-muted); }
.bst-muted { color: var(--bst-muted); font-weight: 500; }
.bst-note { padding: 14px 16px; border-radius: 14px; background: var(--bst-soft); font-size: 15px; color: var(--bst-muted); }
.bst-note--warn { background: #FFF6DA; border: 1px solid #F0D38A; color: var(--bst-ink); }

.bst-prose { font-size: 18px; line-height: 1.7; }
.bst-prose > * + * { margin-top: 1em; }
.bst-prose h2 { font-family: var(--bst-display); font-weight: 800; font-size: 30px; letter-spacing: -.02em; margin-top: 1.6em; }
.bst-prose h3 { font-size: 22px; margin-top: 1.4em; }
.bst-prose ul, .bst-prose ol { padding-left: 1.3em; }
.bst-prose a { color: var(--bst-accent-dark); }
.bst-prose img, .bst-prose figure { border-radius: var(--bst-radius); }
.bst-prose blockquote { margin: 1.5em 0; padding-left: 20px; border-left: 3px solid var(--bst-yellow); font-size: 20px; }

/* Buttons, chips, tags -------------------------------------------------- */
.bst-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid transparent; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.bst-btn--sm { min-height: 44px; padding: 0 16px; font-size: 14px; font-weight: 500; }
.bst-btn--lg { min-height: 52px; padding: 0 26px; font-size: 16px; }
.bst-btn--block { width: 100%; }
.bst-btn--accent { background: var(--bst-accent); color: #fff; }
.bst-btn--accent:hover { background: var(--bst-accent-dark); color: #fff; }
.bst-btn--dark { background: var(--bst-ink); color: #fff; }
.bst-btn--dark:hover { background: #2E3137; color: #fff; }
.bst-btn--line { background: #fff; border-color: #D5D4CE; color: var(--bst-ink); }
.bst-btn--line:hover { border-color: var(--bst-ink); color: var(--bst-ink); }

.bst-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bst-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid #D5D4CE; background: #fff; font-size: 15px; text-decoration: none; color: var(--bst-ink); }
a.bst-chip:hover, .bst-chip--btn:hover { border-color: var(--bst-ink); color: var(--bst-ink); }
.bst-chip--btn { cursor: pointer; min-height: 44px; }
.bst-chip--btn[aria-pressed="true"] { background: var(--bst-ink); border-color: var(--bst-ink); color: #fff; }
.bst-chips--soft .bst-chip { background: var(--bst-soft); border-color: transparent; min-height: 34px; font-size: 14px; }
.bst-chips--hero { font-size: 14px; color: var(--bst-muted); }

.bst-tag { display: inline-flex; align-items: center; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--bst-accent-soft); color: var(--bst-accent-dark); font-size: 13px; font-weight: 600; }
.bst-featured-tag { display: inline-flex; align-items: center; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--bst-yellow); color: var(--bst-ink); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bst-featured-tag--sm { padding: 2px 8px; font-size: 11px; margin-right: 6px; }
.bst-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid #D5D4CE; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 500; cursor: pointer; list-style: none; }
.bst-pill::-webkit-details-marker { display: none; }

.bst-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 14px; color: var(--bst-muted); }
.bst-meta-item { display: inline-flex; align-items: center; gap: 5px; }

/* Images ----------------------------------------------------------------- */
.bst-img { width: 100%; height: 100%; object-fit: cover; }
.bst-ph { width: 100%; height: 100%; min-height: 80px; background: var(--bst-ph); }

/* Header ----------------------------------------------------------------- */
.bst-header { position: relative; z-index: 50; background: #fff; border-bottom: 1px solid var(--bst-line); }
.bst-header__inner { display: flex; align-items: center; gap: 12px 28px; min-height: 76px; }
.bst-header__brand { flex: none; }
.bst-header__brand .custom-logo { max-height: 44px; width: auto; }
.bst-wordmark { font-family: var(--bst-display); font-weight: 800; font-size: 24px; letter-spacing: -.03em; text-decoration: none; color: var(--bst-ink); }
.bst-wordmark span { color: var(--bst-accent); }
.bst-wordmark:hover { color: var(--bst-ink); }
.bst-header__nav { flex: 1; display: flex; align-items: center; gap: 12px 24px; }
.bst-nav { flex: 1; }
.bst-nav__list, .bst-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 26px; font-size: 15px; font-weight: 500; }
.bst-nav a { display: inline-block; padding: 10px 0; text-decoration: none; }
.bst-nav .current-menu-item > a, .bst-nav a[aria-current] { color: var(--bst-accent-dark); }
.bst-nav .sub-menu { display: none; }
.bst-header__actions { display: flex; align-items: center; gap: 10px; }
.bst-menu-toggle { display: none; margin-left: auto; width: 44px; height: 44px; border: 0; border-radius: 999px; background: var(--bst-soft); align-items: center; justify-content: center; cursor: pointer; }
.bst-menu-toggle__close { display: none; }
.bst-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; border: 1px solid #D5D4CE; color: var(--bst-ink); }
.bst-icon-btn__count { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--bst-accent); color: #fff; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.bst-secure { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--bst-muted); }

.bst-country { position: relative; }
.bst-country__menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 220px; margin: 0; padding: 8px; list-style: none; background: #fff; border: 1px solid var(--bst-line); border-radius: 14px; box-shadow: 0 12px 30px rgba(20,22,26,.12); }
.bst-country__menu a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; }
.bst-country__menu a:hover, .bst-country__menu a[aria-current] { background: var(--bst-soft); color: var(--bst-ink); }

@media (max-width: 960px) {
	.bst-menu-toggle { display: inline-flex; }
	.bst-header__nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; padding: 8px var(--bst-gutter) 20px; background: #fff; border-bottom: 1px solid var(--bst-line); box-shadow: 0 16px 30px rgba(20,22,26,.08); }
	.bst-header.is-open .bst-header__nav { display: flex; }
	.bst-header.is-open .bst-menu-toggle__open { display: none; }
	.bst-header.is-open .bst-menu-toggle__close { display: inline; }
	.bst-nav__list, .bst-nav ul { flex-direction: column; gap: 0; }
	.bst-nav a { display: block; padding: 12px 0; border-bottom: 1px solid var(--bst-soft); }
	.bst-header__actions { flex-wrap: wrap; }
	.bst-country__menu { left: 0; right: auto; }
}

/* Hero & search ---------------------------------------------------------- */
.bst-hero { background: var(--bst-soft); border-bottom: 1px solid var(--bst-line); padding-block: clamp(48px, 8vw, 88px) clamp(40px, 6vw, 72px); }
.bst-hero--center .bst-lede { margin-inline: auto; }

.bst-search { display: flex; flex-wrap: wrap; gap: 10px; max-width: 760px; padding: 10px; background: #fff; border: 1px solid #D5D4CE; border-radius: 18px; }
.bst-search input, .bst-search select { flex: 3 1 220px; min-width: 0; height: 52px; padding: 0 16px; border: 0; border-radius: 12px; background: var(--bst-soft); font-size: 16px; }
.bst-search select { flex: 1 1 160px; }
.bst-search--compact { margin-top: 8px; padding: 8px; max-width: 640px; }
.bst-search--compact input { height: 46px; }

.bst-input { width: 100%; height: 52px; padding: 0 18px; border: 1px solid #D5D4CE; border-radius: 14px; background: #fff; font-size: 16px; }
.bst-input--search { max-width: 520px; }

/* Breadcrumbs ------------------------------------------------------------ */
.bst-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--bst-muted); }
.bst-crumbs li + li::before { content: "›"; margin-right: 6px; color: #6B7078; }
.bst-crumbs a { color: var(--bst-muted); }

/* Grids & cards ---------------------------------------------------------- */
.bst-grid { display: grid; gap: 16px; }
.bst-grid--countries { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.bst-grid--tiles { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.bst-grid--cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 28px; }
.bst-grid--cats { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.bst-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px; }

.bst-country-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--bst-line); border-radius: 18px; text-decoration: none; transition: border-color .15s; }
.bst-country-card:hover { border-color: var(--bst-ink); color: var(--bst-ink); }
.bst-country-card__img { height: 150px; border-radius: 12px; overflow: hidden; }
.bst-country-card__name { padding: 0 4px; font-family: var(--bst-display); font-weight: 800; font-size: 22px; letter-spacing: -.02em; }
.bst-country-card__path { padding: 0 4px 4px; margin-top: -8px; font-size: 13px; color: var(--bst-muted); }

.bst-tile { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 16px 20px; border-radius: 14px; background: var(--bst-soft); text-decoration: none; font-weight: 600; font-size: 17px; }
.bst-tile:hover { background: #ECEAE3; color: var(--bst-ink); }
.bst-tile__meta { font-size: 13px; font-weight: 500; color: var(--bst-muted); }

.bst-card { display: flex; flex-direction: column; gap: 12px; text-decoration: none; }
.bst-card__media { display: block; aspect-ratio: 4 / 3; border-radius: var(--bst-radius); overflow: hidden; background: var(--bst-ph); }
.bst-card__media .bst-img { transition: transform .3s; }
.bst-card:hover .bst-card__media .bst-img { transform: scale(1.03); }
.bst-card__title { font-family: var(--bst-display); font-weight: 700; font-size: 23px; line-height: 1.15; letter-spacing: -.02em; }
.bst-card__title a { text-decoration: none; }
.bst-card__meta { font-size: 14px; color: var(--bst-muted); }
.bst-card--link:hover .bst-card__title { color: var(--bst-accent-dark); }

.bst-cat-card { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--bst-line); border-radius: var(--bst-radius); text-decoration: none; }
.bst-cat-card:hover { border-color: var(--bst-ink); color: var(--bst-ink); }
.bst-cat-card__img { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 12px; overflow: hidden; }
.bst-cat-card__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bst-cat-card__name { font-weight: 600; font-size: 17px; }
.bst-cat-card__meta { font-size: 13px; color: var(--bst-muted); }

/* Country hero ----------------------------------------------------------- */
.bst-country-hero { border-bottom: 1px solid var(--bst-line); }
.bst-country-hero__inner { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-end; padding-block: 28px 56px; }
.bst-country-hero__inner > .bst-stack { flex: 999 1 520px; min-width: 0; }
.bst-country-hero__inner > .bst-stack h1 { margin-top: 20px; }
.bst-country-hero__img { flex: 1 1 320px; height: 280px; border-radius: 20px; overflow: hidden; }
.bst-filter { margin-bottom: 28px; }

/* How we pick, CTA ------------------------------------------------------- */
.bst-how { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 36px; padding: clamp(28px, 4vw, 48px); border-radius: var(--bst-radius-lg); background: var(--bst-ink); color: #fff; }
.bst-how .bst-h2 { color: #fff; margin-bottom: 10px; }
.bst-how p { color: var(--bst-dark-text); font-size: 15px; line-height: 1.55; }
.bst-how h3 { font-size: 19px; margin-bottom: 8px; }
.bst-how .bst-how__n { color: var(--bst-yellow); font-weight: 600; font-size: 14px; margin-bottom: 6px; }

.bst-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding: clamp(28px, 4vw, 40px) clamp(24px, 4vw, 48px); border-radius: var(--bst-radius-lg); border: 2px solid var(--bst-ink); background: var(--bst-yellow); }
.bst-cta > div { max-width: 640px; }
.bst-cta__title { font-family: var(--bst-display); font-weight: 800; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.03em; margin-bottom: 8px; }
.bst-cta p { font-size: 17px; }

/* Article (round-up) ----------------------------------------------------- */
.bst-article-head { display: flex; flex-direction: column; gap: 18px; padding-block: 28px 36px; }
.bst-article-head > .bst-crumbs + * { margin-top: 12px; }
.bst-article-head--page { padding-inline: 0; }
.bst-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; font-size: 14px; color: var(--bst-muted); }
.bst-byline__author { display: inline-flex; align-items: center; gap: 10px; }
.bst-byline__author a { color: var(--bst-ink); font-weight: 600; }
.bst-avatar { border-radius: 999px; }
.bst-disclosure { max-width: 780px; padding: 12px 16px; border-radius: 12px; background: var(--bst-soft); font-size: 13px; line-height: 1.5; color: var(--bst-muted); }
.bst-hero-img { margin: 0 auto; }
.bst-hero-img img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--bst-radius-lg); }
.bst-hero-img figcaption { margin-top: 8px; font-size: 13px; color: var(--bst-muted); }

.bst-layout { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; padding-top: 44px; }
.bst-layout__main { flex: 999 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 48px; }
.bst-layout__side { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }

.bst-box { padding: 28px; border: 1px solid var(--bst-line); border-radius: 20px; }
.bst-box > p + p { margin-top: .8em; }
.bst-glance { margin: 0; padding: 0; list-style: none; }
.bst-glance li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 12px 0; border-top: 1px solid #EFEEE9; }
.bst-glance a { font-weight: 600; text-decoration: none; }
.bst-glance li > span { color: var(--bst-muted); }

.bst-table-wrap { overflow-x: auto; border: 1px solid var(--bst-line); border-radius: var(--bst-radius); }
.bst-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; }
.bst-table th, .bst-table td { padding: 14px 16px; text-align: left; vertical-align: top; }
.bst-table thead tr { background: var(--bst-soft); }
.bst-table tbody tr { border-top: 1px solid #EFEEE9; }
.bst-table td { color: var(--bst-muted); }
.bst-table--center td, .bst-table--center thead th:not(:first-child) { text-align: center; }
.bst-table--center td .bst-icon { color: var(--bst-good); display: inline-block; }

.bst-list { display: flex; flex-direction: column; gap: 20px; }
.bst-list > .bst-h2 { margin-bottom: 0; }

.bst-listing { display: flex; flex-direction: column; gap: 20px; padding: clamp(20px, 3vw, 28px); border: 1px solid var(--bst-line); border-radius: var(--bst-radius-lg); scroll-margin-top: 24px; }
.bst-listing--featured { border: 2px solid var(--bst-yellow); background: #FFFDF5; }
.bst-listing__head { display: flex; align-items: flex-start; gap: 16px; }
.bst-listing__titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bst-listing__name { font-family: var(--bst-display); font-weight: 800; font-size: clamp(24px, 2.6vw, 30px); letter-spacing: -.02em; }
.bst-rank { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 999px; background: var(--bst-yellow); border: 2px solid var(--bst-ink); display: inline-flex; align-items: center; justify-content: center; font-family: var(--bst-display); font-weight: 800; font-size: 22px; }
.bst-rank--sm { flex-basis: 30px; width: 30px; height: 30px; font-size: 14px; }
.bst-listing__gallery { display: grid; gap: 10px; height: clamp(220px, 32vw, 320px); }
.bst-listing__gallery > * { border-radius: var(--bst-radius); overflow: hidden; }
.bst-listing__gallery--1 { grid-template-columns: 1fr; }
.bst-listing__gallery--2 { grid-template-columns: 2fr 1fr; }
.bst-listing__gallery--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.bst-listing__gallery--3 > :first-child { grid-row: span 2; }
.bst-listing__take { font-size: 17px; line-height: 1.65; }
.bst-listing__take p + p { margin-top: .8em; }

.bst-proscons { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 4px; }
.bst-proscons > div { padding: 16px 18px; border-radius: var(--bst-radius); }
.bst-proscons__pro { background: var(--bst-good-bg); }
.bst-proscons__con { background: var(--bst-warn-bg); }
.bst-proscons__t { font-weight: 600; margin-bottom: 6px; }
.bst-proscons__pro .bst-proscons__t { color: var(--bst-good); }
.bst-proscons__con .bst-proscons__t { color: var(--bst-warn); }
.bst-proscons ul { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.6; }

.bst-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; padding-block: 18px; border-block: 1px solid #EFEEE9; font-size: 15px; }
.bst-facts dt { font-size: 13px; color: var(--bst-muted); }
.bst-facts dd { margin: 4px 0 0; font-weight: 600; }

.bst-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bst-actions__profile { margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: 15px; }

.bst-dark-box { padding: clamp(24px, 3vw, 32px); border-radius: var(--bst-radius-lg); background: var(--bst-ink); color: var(--bst-dark-text); }
.bst-dark-box .bst-h3 { color: #fff; }
.bst-dark-box p + p, .bst-dark-box p + ul { margin-top: 12px; }
.bst-dark-box ul { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }

.bst-faq { border-top: 1px solid var(--bst-line); }
.bst-faq__item { padding: 18px 0; border-bottom: 1px solid var(--bst-line); }
.bst-faq__item summary { font-size: 17px; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.bst-faq__item summary::-webkit-details-marker { display: none; }
.bst-faq__item summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--bst-muted); }
.bst-faq__item[open] summary::after { content: "–"; }
.bst-faq__a { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--bst-muted); }

.bst-jump { padding: 24px; border-radius: 20px; background: var(--bst-soft); }
.bst-jump__title { margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bst-muted); }
.bst-jump ol { margin: 0; padding: 0; list-style: none; font-size: 15px; }
.bst-jump a { display: block; padding: 8px 0; text-decoration: none; }
.bst-jump__muted a { color: var(--bst-muted); }
@media (min-width: 1100px) { .bst-roundup .bst-layout__side { position: sticky; top: 24px; } }

.bst-side-cta { padding: 24px; border-radius: 20px; border: 2px solid var(--bst-ink); background: var(--bst-yellow); }
.bst-side-cta__t { font-family: var(--bst-display); font-weight: 800; font-size: 22px; line-height: 1.15; margin-bottom: 6px; }
.bst-side-cta p:not(.bst-side-cta__t) { margin-bottom: 16px; font-size: 15px; }

/* Business profile ------------------------------------------------------- */
.bst-profile-head { display: flex; flex-direction: column; gap: 24px; padding-top: 28px; }
.bst-gallery { display: grid; gap: 10px; margin-top: 8px; height: clamp(260px, 36vw, 410px); }
.bst-gallery__item { display: block; border-radius: var(--bst-radius); overflow: hidden; background: var(--bst-ph); }
.bst-gallery--1 { grid-template-columns: 1fr; }
.bst-gallery--2 { grid-template-columns: 2fr 1fr; }
.bst-gallery--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
.bst-gallery--3 > :first-child { grid-row: span 2; }
.bst-gallery--4, .bst-gallery--5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.bst-gallery--4 > :first-child, .bst-gallery--5 > :first-child { grid-row: span 2; }
.bst-gallery--4 > :last-child { grid-column: span 2; }
@media (max-width: 700px) {
	.bst-gallery { grid-template-columns: 1fr !important; grid-template-rows: none !important; height: auto; }
	.bst-gallery > :not(:first-child) { display: none; }
	.bst-gallery > :first-child { aspect-ratio: 4 / 3; grid-row: auto !important; }
	.bst-listing__gallery { height: auto; grid-template-columns: 1fr !important; grid-template-rows: none !important; }
	.bst-listing__gallery > :not(:first-child) { display: none; }
	.bst-listing__gallery > :first-child { aspect-ratio: 4 / 3; grid-row: auto !important; }
	.bst-actions__profile { margin-left: 0; width: 100%; }
}
.bst-profile-title { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }
.bst-profile-title__id { display: flex; align-items: center; gap: 18px; min-width: 0; }
.bst-profile-title__id > div:last-child { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bst-logo-box { flex: 0 0 88px; width: 88px; height: 88px; border-radius: 20px; border: 1px solid var(--bst-line); overflow: hidden; background: #fff; }
.bst-logo-box img { width: 100%; height: 100%; object-fit: contain; }
.bst-ranked { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; background: #FFF6DA; border: 1px solid #F0D38A; text-decoration: none; font-size: 15px; }
.bst-ranked:hover { color: var(--bst-ink); border-color: var(--bst-ink); }

.bst-pricelist { margin: 0; border-top: 1px solid var(--bst-line); }
.bst-pricelist > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--bst-line); font-size: 16px; }
.bst-pricelist dd { margin: 0; font-weight: 600; text-align: right; }
.bst-pricelist + .bst-small { margin-top: 10px; }

.bst-panel { display: flex; flex-direction: column; gap: 18px; padding: 24px; border-radius: 20px; background: var(--bst-soft); }
.bst-panel--line { background: #fff; border: 1px solid var(--bst-line); gap: 8px; }
.bst-panel__title { font-size: 18px; font-weight: 600; }
.bst-panel__label { margin-bottom: 8px; font-size: 13px; color: var(--bst-muted); }
.bst-contact { margin: 0; display: flex; flex-direction: column; gap: 14px; font-size: 15px; }
.bst-contact dt { font-size: 13px; color: var(--bst-muted); }
.bst-contact dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.bst-hours { width: 100%; border-collapse: collapse; font-size: 14px; }
.bst-hours th { padding: 4px 0; text-align: left; font-weight: 500; }
.bst-hours td { padding: 4px 0; text-align: right; }
.bst-map { height: 240px; border-radius: 20px; overflow: hidden; background: var(--bst-ph); }
.bst-map iframe { width: 100%; height: 100%; border: 0; }

/* Packages --------------------------------------------------------------- */
.bst-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; align-items: stretch; }
.bst-plan { display: flex; flex-direction: column; gap: 14px; padding: 32px; border-radius: var(--bst-radius-lg); border: 1px solid var(--bst-line); background: #fff; }
.bst-plan--standard { border: 2px solid var(--bst-accent); }
.bst-plan--premium { border: 2px solid var(--bst-ink); background: var(--bst-ink); color: #fff; }
.bst-plan__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 30px; }
.bst-plan__name { font-family: var(--bst-display); font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
.bst-plan__blurb { font-size: 15px; line-height: 1.5; color: var(--bst-muted); }
.bst-plan--premium .bst-plan__blurb { color: var(--bst-dark-text); }
.bst-plan__price { display: flex; align-items: baseline; gap: 6px; margin-top: 6px; color: var(--bst-muted); }
.bst-plan--premium .bst-plan__price { color: var(--bst-dark-text); }
.bst-plan__price span { font-family: var(--bst-display); font-weight: 800; font-size: 56px; letter-spacing: -.04em; color: var(--bst-ink); }
.bst-plan--premium .bst-plan__price span { color: #fff; }
.bst-plan__cta { border: 1px solid var(--bst-ink); background: #fff; color: var(--bst-ink); }
.bst-plan__cta:hover { background: var(--bst-ink); color: #fff; }
.bst-plan--standard .bst-plan__cta { background: var(--bst-accent); border-color: var(--bst-accent); color: #fff; }
.bst-plan--standard .bst-plan__cta:hover { background: var(--bst-accent-dark); }
.bst-plan--premium .bst-plan__cta { background: var(--bst-yellow); border-color: var(--bst-yellow); color: var(--bst-ink); }
.bst-plan--premium .bst-plan__cta:hover { background: #fff; color: var(--bst-ink); }
.bst-plan__features { margin: 8px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.bst-plan__features li { display: flex; gap: 10px; align-items: flex-start; }
.bst-plan__features .bst-icon { margin-top: 2px; }
.bst-plan__features .is-yes .bst-icon { color: var(--bst-good); }
.bst-plan--premium .bst-plan__features .is-yes .bst-icon { color: var(--bst-yellow); }
.bst-plan__features .is-no { color: #6B7078; }
.bst-plan__features .is-no span:first-of-type { text-decoration: line-through; }
.bst-plans + .bst-small { margin-top: 20px; }

/* Forms ------------------------------------------------------------------ */
.bst-form { display: flex; flex-direction: column; gap: 22px; padding: clamp(20px, 4vw, 36px); border: 1px solid var(--bst-line); border-radius: var(--bst-radius-lg); }
.bst-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.bst-field { display: flex; flex-direction: column; gap: 6px; }
.bst-field--full { grid-column: 1 / -1; }
.bst-field label, .bst-fieldset legend { font-size: 14px; font-weight: 600; }
.bst-field input, .bst-field select, .bst-field textarea { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--bst-line-strong); border-radius: 12px; background: #fff; font-size: 16px; }
.bst-field input:focus, .bst-field select:focus { border-color: var(--bst-accent); outline: 2px solid var(--bst-accent-soft); }
.bst-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.bst-fieldset legend { margin-bottom: 12px; padding: 0; }
.bst-fieldset--links { padding: 20px; border: 1px dashed var(--bst-line-strong); border-radius: var(--bst-radius); }
.bst-fieldset--links legend { padding: 0 6px; margin-bottom: 0; }
.bst-fieldset--links legend span { font-weight: 500; color: var(--bst-muted); }
.bst-fieldset--links > :not(legend) { margin-top: 12px; }
.bst-radio-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.bst-radio-card { position: relative; display: flex; flex-direction: column; gap: 4px; min-height: 72px; padding: 14px 16px; border: 1px solid var(--bst-line-strong); border-radius: 14px; cursor: pointer; }
.bst-radio-card input { position: absolute; opacity: 0; pointer-events: none; }
.bst-radio-card:has(input:checked) { border: 2px solid var(--bst-accent); background: var(--bst-accent-soft); padding: 13px 15px; }
.bst-radio-card:has(input:focus-visible) { outline: 3px solid var(--bst-accent); outline-offset: 2px; }
.bst-radio-card__top { display: flex; justify-content: space-between; gap: 8px; font-weight: 600; }
.bst-radio-card__sub { font-size: 13px; color: var(--bst-muted); }

/* Checkout flow & WooCommerce -------------------------------------------- */
.bst-flow { padding-block: 32px 96px; }
.bst-steps { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 28px; padding: 0; list-style: none; font-size: 14px; color: var(--bst-muted); }
.bst-steps__item { display: flex; align-items: center; gap: 8px; }
.bst-steps__n { width: 26px; height: 26px; border-radius: 999px; border: 1px solid #A9ACB2; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.bst-steps__item.is-current { color: var(--bst-ink); font-weight: 600; }
.bst-steps__item.is-current .bst-steps__n { background: var(--bst-ink); border-color: var(--bst-ink); color: #fff; }
.bst-steps__item.is-done .bst-steps__n { background: var(--bst-line); border-color: var(--bst-line); color: var(--bst-ink); }
.bst-steps a { color: var(--bst-muted); }

.bst-notice--next { margin: 0 0 24px; padding: 16px 18px; border-radius: 14px; background: #FFF6DA; border: 1px solid #F0D38A; }

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner { border-radius: 14px !important; font-size: 15px; }
.woocommerce-error { list-style: none; }

/* Classic + block buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; font-weight: 600 !important; min-height: 48px; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .checkout-button,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--bst-accent) !important; color: #fff !important; border: 0 !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--bst-accent-dark) !important; }

/* Inputs */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input {
	border-radius: 12px !important; border-color: var(--bst-line-strong) !important;
}

/* Summary panels */
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order {
	background: var(--bst-soft); border-radius: var(--bst-radius-lg); padding: 24px !important; border: 0 !important;
}
.woocommerce table.shop_table { border-radius: var(--bst-radius); border-color: var(--bst-line); }
.wc-block-components-product-metadata, .wc-item-meta, .woocommerce-cart-form .variation { font-size: 14px; color: var(--bst-muted); }
.wc-block-components-product-name { font-weight: 600; }
.woocommerce .quantity .qty { border-radius: 10px; }

/* Footer ----------------------------------------------------------------- */
.bst-footer { margin-top: 0; background: var(--bst-ink); color: var(--bst-dark-text); font-size: 15px; }
.bst-footer a { color: var(--bst-dark-text); text-decoration: none; }
.bst-footer a:hover { color: #fff; }
.bst-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px; padding-block: 56px 32px; }
.bst-footer__about p { margin-top: 10px; line-height: 1.55; }
.bst-wordmark--footer { color: #fff; font-size: 22px; }
.bst-wordmark--footer span { color: var(--bst-yellow); }
.bst-wordmark--footer:hover { color: #fff; }
.bst-footer__title { margin-bottom: 10px; color: #fff; font-weight: 600; }
.bst-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bst-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 20px 40px; border-top: 1px solid #2E3137; font-size: 13px; line-height: 1.55; }
.bst-footer--minimal { background: #fff; color: var(--bst-muted); border-top: 1px solid var(--bst-line); }
.bst-footer--minimal .bst-footer__base { border-top: 0; padding-top: 24px; }
.bst-footer--minimal a { color: var(--bst-muted); }
.bst-footer__inline { flex-direction: row !important; gap: 16px !important; }

/* Misc ------------------------------------------------------------------- */
.bst-page { padding-bottom: 88px; }
.bst-page .bst-prose { max-width: 820px; }
.bst-pagination { margin-top: 40px; }
.bst-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.bst-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid #D5D4CE; border-radius: 999px; text-decoration: none; }
.bst-pagination .page-numbers.current { background: var(--bst-ink); border-color: var(--bst-ink); color: #fff; }
.bst-comments { margin-top: 56px; }
.bst-comments__list { padding-left: 0; list-style: none; }
.bst-widget { margin-bottom: 32px; }
.alignwide { max-width: 1100px; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }

/* Packages form: next steps ---------------------------------------------- */
.bst-next { margin: 0; padding: 18px 18px 18px 40px; border-radius: var(--bst-radius); background: var(--bst-soft); display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5; }

/* Thank-you page --------------------------------------------------------- */
.bst-notice--next .bst-notice__title { font-family: var(--bst-display); font-weight: 800; font-size: 24px; letter-spacing: -.02em; margin-bottom: 8px; }
.bst-notice__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 10px; }

/* Owner portal (Your listing) ------------------------------------------- */
.bst-owner { display: flex; flex-direction: column; gap: 24px; font-size: 16px; line-height: 1.5; }
.bst-owner p { margin: 0; }
.bst-owner__summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; padding: 20px 24px; border-radius: 20px; background: var(--bst-soft); }
.bst-owner__label { font-size: 13px; color: var(--bst-muted); }
.bst-owner__value { margin-top: 4px !important; font-weight: 600; }
.bst-owner__form > .bst-fieldset + .bst-fieldset { padding-top: 24px; border-top: 1px solid var(--bst-line); }
.bst-owner__h { font-family: var(--bst-display); font-weight: 800; font-size: 22px !important; letter-spacing: -.02em; margin-bottom: 16px !important; }
.bst-owner__private { margin-top: 16px; padding: 16px; border-radius: var(--bst-radius); border: 1px dashed var(--bst-line-strong); }
.bst-help { font-size: 14px; color: var(--bst-muted); }
.bst-fieldset > .bst-help { margin-bottom: 14px !important; }
.bst-req { color: var(--bst-warn); }
.bst-field textarea { height: auto; padding: 12px 14px; line-height: 1.5; resize: vertical; }
.bst-field input[type=file] { height: auto; padding: 10px; border-style: dashed; background: var(--bst-soft); }
.bst-hours-grid { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 10px 16px; align-items: center; max-width: 520px; }
.bst-hours-grid label { font-weight: 600; font-size: 15px; }
.bst-hours-grid input { height: 44px; padding: 0 14px; border: 1px solid var(--bst-line-strong); border-radius: 12px; font-size: 16px; }
.bst-upload { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.bst-upload__logo { width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--bst-line); border-radius: 14px; background: #fff; }
.bst-upload .bst-field { flex: 1 1 260px; }
.bst-owner ul.bst-photos { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; }
.bst-photos__item { position: relative; display: flex; flex-direction: column; gap: 6px; }
.bst-photos__item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }
.bst-photos__main { position: absolute; top: 6px; left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--bst-yellow); font-size: 12px; font-weight: 700; }
.bst-photos__remove { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; font-size: 14px; color: var(--bst-muted); cursor: pointer; }
.bst-check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; cursor: pointer; }
.bst-check input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: var(--bst-ink); }
.bst-flash { padding: 16px 18px; border-radius: 14px; font-size: 15px; }
.bst-flash ul { margin: 0; padding-left: 18px; }
.bst-flash--success { background: var(--bst-good-bg); border: 1px solid #A8D5BC; color: var(--bst-good); }
.bst-flash--error { background: var(--bst-warn-bg); border: 1px solid #E8B9A3; color: var(--bst-warn); }
.bst-owner-list { display: flex; flex-direction: column; gap: 10px; }
.bst-owner-list__item { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 18px 20px; border: 1px solid var(--bst-line); border-radius: var(--bst-radius); text-decoration: none; }
.bst-owner-list__item:hover { border-color: var(--bst-ink); color: var(--bst-ink); }
.bst-owner-list__name { font-weight: 600; }
.bst-owner-list__meta { color: var(--bst-muted); font-size: 14px; }
@media (max-width: 520px) { .bst-hours-grid { grid-template-columns: 1fr; gap: 4px; } .bst-hours-grid input { margin-bottom: 8px; } }

/* ===================== v2.0 additions ===================== */

/* Quick answer (top of round-ups) */
.bst-quick { max-width: 780px; padding: 20px 22px; border-radius: var(--bst-radius); border: 2px solid var(--bst-ink); background: #fff; }
.bst-quick__title { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.bst-quick__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 16px; }
.bst-quick__list li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.bst-quick__label { min-width: 150px; font-weight: 600; }
.bst-quick__list a { font-weight: 600; color: var(--bst-accent-dark); }
.bst-quick__meta { font-size: 14px; color: var(--bst-muted); }

/* Author box */
.bst-author { display: flex; gap: 18px; align-items: flex-start; padding: 24px; border-radius: 20px; background: var(--bst-soft); }
.bst-author__img { flex: none; border-radius: 999px; }
.bst-author__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 15px; line-height: 1.55; }
.bst-author__kicker { font-size: 13px; color: var(--bst-muted); }
.bst-author__name { font-size: 19px; }
.bst-author__name a { text-decoration: none; }
.bst-author__name span { font-weight: 500; color: var(--bst-muted); font-size: 16px; }

/* Round-up list filters */
.bst-list-filter { margin-top: -4px; }
.bst-list [data-bst-listing][hidden] { display: none !important; }

/* Profile: map facade, report form, lightbox */
.bst-map__btn { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; background: var(--bst-ph); color: var(--bst-ink); font-weight: 600; font-size: 16px; cursor: pointer; }
.bst-map__btn small { font-weight: 400; font-size: 13px; color: var(--bst-muted); }
.bst-map__btn:hover { background: #DFDCD3; }
.bst-report { padding: 16px 20px; border-radius: 20px; border: 1px solid var(--bst-line); font-size: 15px; }
.bst-report summary { cursor: pointer; font-weight: 600; min-height: 28px; }
.bst-report__form { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.bst-report__form textarea { height: auto; padding: 10px 12px; }
.bst-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bst-lightbox { width: min(1100px, 96vw); max-height: 92vh; padding: 0; border: 0; border-radius: 16px; background: #0B0C0E; color: #fff; overflow: hidden; }
.bst-lightbox::backdrop { background: rgba(10, 11, 13, .82); }
.bst-lightbox img { display: block; width: 100%; max-height: 82vh; object-fit: contain; }
.bst-lightbox button { position: absolute; z-index: 2; width: 48px; height: 48px; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--bst-ink); font-size: 26px; line-height: 1; cursor: pointer; }
.bst-lightbox__close { top: 12px; right: 12px; }
.bst-lightbox__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.bst-lightbox__next { right: 12px; top: 50%; transform: translateY(-50%); }
.bst-lightbox__count { margin: 0; padding: 10px 16px; text-align: center; font-size: 14px; color: #C9CBD0; }

/* Packages: renew/claim target, social proof */
.bst-target { padding: 16px 18px; border-radius: var(--bst-radius); background: var(--bst-accent-soft); }
.bst-target__label { font-size: 13px; font-weight: 600; color: var(--bst-accent-dark); text-transform: uppercase; letter-spacing: .06em; }
.bst-target__name { font-family: var(--bst-display); font-weight: 800; font-size: 24px; margin: 2px 0 4px; }
.bst-proof { margin-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.bst-proof__stat { font-family: var(--bst-display); font-weight: 800; font-size: 22px; }
.bst-proof__ex { font-size: 15px; color: var(--bst-muted); }

/* Owner portal: actions + stats */
.bst-owner__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bst-owner-stats { padding: 20px 24px; border-radius: 20px; border: 1px solid var(--bst-line); }
.bst-owner-stats__grid { margin: 0 0 10px; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px; }
.bst-owner-stats__grid dt { font-size: 13px; color: var(--bst-muted); }
.bst-owner-stats__grid dd { margin: 4px 0 0; font-family: var(--bst-display); font-weight: 800; font-size: 30px; letter-spacing: -.02em; }
.bst-owner-stats .bst-note { margin-top: 12px; }

/* Consent banner */
.bst-consent { position: fixed; z-index: 100; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin-left: auto; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; border-radius: 18px; background: #fff; color: var(--bst-ink); border: 1px solid var(--bst-line); box-shadow: 0 16px 40px rgba(20,22,26,.18); font-size: 14px; line-height: 1.5; }
.bst-consent__actions { display: flex; justify-content: flex-end; gap: 8px; }
.bst-linkbtn { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
