:root {
  --lv-ink: #0b0b0d;
  --lv-muted: #67676f;
  --lv-gold: #f2b51d;
  --lv-gold-soft: #fff3c9;
  --lv-paper: #f7f5ef;
  --lv-white: #ffffff;
  --lv-line: #e8e5dc;
  --lv-good: #19764b;
  --lv-warn: #966500;
  --lv-danger: #a92828;
  --lv-radius: 22px;
  --lv-shadow: 0 18px 50px rgba(11,11,13,.08);
}

.localvybe-app { background: var(--lv-paper); color: var(--lv-ink); }
.localvybe-app *, .localvybe-app *::before, .localvybe-app *::after { box-sizing: border-box; }
.localvybe-app a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.localvybe-app input, .localvybe-app select, .localvybe-app textarea, .localvybe-app button { font: inherit; }
.localvybe-app button, .localvybe-app a { -webkit-tap-highlight-color: transparent; }
.localvybe-app main { min-height: 70vh; }

.lv-shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.lv-app-home, .lv-explore, .lv-profile, .lv-bookings, .lv-account, .lv-scout { padding: 28px 0 110px; }
.lv-eyebrow { margin: 0 0 9px; font-size: .76rem; line-height: 1.2; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; color: var(--lv-muted); }
.lv-hero { position: relative; overflow: visible; margin: 14px 0 44px; padding: clamp(28px, 6vw, 76px); border-radius: 34px; background: var(--lv-ink); color: var(--lv-white); box-shadow: var(--lv-shadow); }
.lv-hero::after { content: ""; position: absolute; inset: auto -70px -130px auto; width: 280px; height: 280px; border: 54px solid rgba(242,181,29,.13); border-radius: 50%; pointer-events: none; }
.lv-hero .lv-eyebrow { color: #d6d4ce; }
.lv-hero h1, .lv-explore h1, .lv-profile h1 { margin: 0 0 24px; max-width: 860px; font-size: clamp(2.35rem, 7vw, 5.8rem); line-height: .94; letter-spacing: -.055em; font-weight: 850; }
.lv-home-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; font-weight: 900; letter-spacing: .08em; }
.lv-home-brand img { border-radius: 12px; }

.lv-one-search { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(160px, 1fr) auto auto auto; gap: 8px; width: min(900px, 100%); padding: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: var(--lv-white); box-shadow: 0 10px 35px rgba(0,0,0,.22); color: var(--lv-ink); }
.lv-one-search input, .lv-one-search select { min-width: 0; min-height: 48px; border: 0; border-radius: 12px; background: transparent; color: var(--lv-ink); padding: 0 14px; outline: none; }
.lv-one-search input:focus, .lv-one-search select:focus { box-shadow: inset 0 0 0 2px var(--lv-gold); }
.lv-one-search .lv-near-button, .lv-one-search .lv-search-submit { min-height: 48px; border: 0; border-radius: 12px; cursor: pointer; font-weight: 800; }
.lv-one-search .lv-near-button { width: 48px; background: #f0eee7; color: var(--lv-ink); }
.lv-one-search .lv-near-button.is-loading { animation: lv-pulse 1s infinite alternate; }
.lv-one-search .lv-search-submit { padding: 0 24px; background: var(--lv-gold); color: var(--lv-ink); }
.lv-one-search .lv-search-submit:hover { filter: brightness(.96); transform: translateY(-1px); }
.lv-search-suggestions { position: absolute; z-index: 50; top: calc(100% + 8px); left: 8px; width: min(560px, calc(100% - 16px)); overflow: hidden; border: 1px solid var(--lv-line); border-radius: 18px; background: var(--lv-white); color: var(--lv-ink); box-shadow: var(--lv-shadow); }
.lv-search-suggestions a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 16px; text-decoration: none; border-bottom: 1px solid var(--lv-line); }
.lv-search-suggestions a:last-child { border-bottom: 0; }
.lv-search-suggestions a:hover, .lv-search-suggestions a:focus { background: var(--lv-gold-soft); }
.lv-search-suggestions small { color: var(--lv-muted); }

.lv-home-actions { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.lv-home-actions a { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 96px; padding: 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(255,255,255,.07); color: var(--lv-white); text-decoration: none; font-weight: 800; backdrop-filter: blur(8px); }
.lv-home-actions a:hover { border-color: var(--lv-gold); background: rgba(242,181,29,.13); }
.lv-home-actions span { font-size: 1.35rem; }

.lv-section, .lv-profile-section, .lv-shop-section { margin: 48px 0; }
.lv-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 20px; }
.lv-section h2, .lv-profile-section h2, .lv-shop-section h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.5rem); line-height: 1.06; letter-spacing: -.035em; }
.lv-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.lv-card { overflow: hidden; border: 1px solid var(--lv-line); border-radius: var(--lv-radius); background: var(--lv-white); box-shadow: 0 5px 22px rgba(11,11,13,.045); }
.lv-business-card { min-width: 0; transition: transform .18s ease, box-shadow .18s ease; }
.lv-business-card:hover { transform: translateY(-3px); box-shadow: var(--lv-shadow); }
.lv-card-media { position: relative; display: block; min-height: 190px; background: linear-gradient(135deg, #dedbd1, #f4f2ec); background-size: cover; background-position: center; text-decoration: none; }
.lv-card-media::after { content: "V"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); font-size: 5rem; font-weight: 900; color: rgba(11,11,13,.08); }
.lv-card-media[style]::after { display: none; }
.lv-card-body { padding: 18px; }
.lv-card-body h3 { margin: 0 0 8px; font-size: 1.25rem; line-height: 1.15; letter-spacing: -.02em; }
.lv-card-body h3 a { text-decoration: none; }
.lv-card-body p { margin: 5px 0; color: var(--lv-muted); }
.lv-card-body .lv-link { display: inline-flex; margin-top: 12px; font-weight: 800; text-decoration: none; }
.lv-link::after { content: " →"; }
.lv-recommend-score strong { color: var(--lv-good); }

.lv-trust { position: relative; display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 6px 10px; border-radius: 999px; background: rgba(11,11,13,.86); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .01em; backdrop-filter: blur(8px); }
.lv-card-media > .lv-trust { position: absolute; z-index: 2; top: 12px; left: 12px; }
.lv-trust-1 { background: #585861; }
.lv-trust-2 { background: var(--lv-warn); }
.lv-trust-3 { background: #315899; }
.lv-trust-4 { background: var(--lv-good); }
.lv-trust-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 10px 0 18px; color: var(--lv-muted); }

.lv-thing-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.lv-thing { display: flex; align-items: center; gap: 12px; min-height: 78px; padding: 13px; border: 1px solid var(--lv-line); border-radius: 18px; background: var(--lv-white); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.lv-thing:hover { transform: translateY(-2px); border-color: var(--lv-gold); }
.lv-thing img, .lv-thing-icon { flex: 0 0 50px; width: 50px; height: 50px; border-radius: 14px; object-fit: cover; }
.lv-thing-icon { display: grid; place-items: center; background: var(--lv-gold-soft); color: var(--lv-ink); font-size: 1.45rem; }
.lv-thing strong, .lv-thing small { display: block; line-height: 1.15; }
.lv-thing small { margin-top: 5px; color: var(--lv-muted); }

.lv-explore > h1 { max-width: 900px; margin-bottom: 20px; }
.lv-explore .lv-one-search { color: var(--lv-ink); box-shadow: var(--lv-shadow); border-color: var(--lv-line); }
.lv-chip-scroll { display: flex; gap: 8px; overflow-x: auto; padding: 16px 2px 4px; scrollbar-width: none; }
.lv-chip-scroll::-webkit-scrollbar { display: none; }
.lv-chip-scroll a, .lv-discovery-modes a { flex: 0 0 auto; padding: 10px 14px; border: 1px solid var(--lv-line); border-radius: 999px; background: var(--lv-white); text-decoration: none; font-weight: 750; }
.lv-chip-scroll a.is-active, .lv-discovery-modes a.is-active { border-color: var(--lv-ink); background: var(--lv-ink); color: #fff; }
.lv-discovery-modes { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.lv-result-count { color: var(--lv-muted); font-weight: 700; }
.lv-results-loading { opacity: .5; pointer-events: none; }

.lv-profile-hero { display: grid; grid-template-columns: minmax(260px,.85fr) minmax(0,1.15fr); gap: clamp(24px,5vw,68px); align-items: center; margin: 18px 0 34px; padding: clamp(22px,4vw,44px); border-radius: 30px; background: var(--lv-white); border: 1px solid var(--lv-line); }
.lv-profile-image { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 22px; }
.lv-profile h1 { font-size: clamp(2.5rem,6vw,5.3rem); }
.lv-description { color: #35353b; font-size: 1.05rem; line-height: 1.75; }
.lv-description > :first-child { margin-top: 0; }
.lv-description > :last-child { margin-bottom: 0; }
.lv-actions { position: sticky; z-index: 15; top: 10px; display: flex; flex-wrap: wrap; gap: 8px; width: max-content; max-width: 100%; margin: 0 auto 28px; padding: 8px; border: 1px solid var(--lv-line); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: var(--lv-shadow); backdrop-filter: blur(16px); }
.lv-actions a, .lv-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border: 0; border-radius: 12px; background: #f0eee8; color: var(--lv-ink); font-weight: 800; text-decoration: none; cursor: pointer; }
.lv-actions a:first-child { background: var(--lv-gold); }
.lv-inline-save { margin: 0; }
.lv-profile-section { padding: clamp(20px,4vw,38px); border: 1px solid var(--lv-line); border-radius: 26px; background: var(--lv-white); }
.lv-thing-hero { padding: clamp(28px,7vw,88px) 0 10px; }
.lv-transparency { background: #f0eee8; }
.lv-transparency details { margin-top: 18px; }
.lv-transparency summary { cursor: pointer; font-weight: 800; }
.lv-transparency li { margin: 8px 0; }
.lv-inline-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; font-weight: 750; }

.lv-list { overflow: hidden; border: 1px solid var(--lv-line); border-radius: 18px; background: var(--lv-white); }
.lv-list-row, .lv-booking-row { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 17px; border-bottom: 1px solid var(--lv-line); }
.lv-list-row:last-child, .lv-booking-row:last-child { border-bottom: 0; }
.lv-list-row p { margin: 6px 0 0; color: var(--lv-muted); }
.lv-list-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 12px; font-weight: 800; }
.lv-list-actions a { padding: 8px 12px; border-radius: 10px; background: var(--lv-gold); text-decoration: none; }

.lv-form, .lv-auth-card { width: min(720px,100%); margin: 28px auto; padding: clamp(20px,4vw,36px); border: 1px solid var(--lv-line); border-radius: 24px; background: var(--lv-white); box-shadow: 0 8px 32px rgba(11,11,13,.045); }
.lv-form h2, .lv-form h3, .lv-auth-card h2 { margin-top: 0; }
.lv-form label, .lv-auth-card label { display: grid; gap: 7px; margin: 15px 0; font-weight: 750; }
.lv-form input:not([type=checkbox]):not([type=radio]), .lv-form select, .lv-form textarea, .lv-auth-card input:not([type=checkbox]):not([type=radio]), .lv-auth-card select, .lv-auth-card textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d7d4ca; border-radius: 12px; background: #fff; color: var(--lv-ink); }
.lv-form textarea, .lv-auth-card textarea { min-height: 110px; resize: vertical; }
.lv-form input:focus, .lv-form select:focus, .lv-form textarea:focus, .lv-auth-card input:focus { outline: 3px solid rgba(242,181,29,.28); border-color: var(--lv-gold); }
.lv-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border: 0; border-radius: 13px; background: var(--lv-gold); color: var(--lv-ink); text-decoration: none; font-weight: 850; cursor: pointer; }
.lv-check { grid-template-columns: auto 1fr !important; align-items: start; }
.lv-check input { margin-top: 4px; }
.lv-segment, .lv-tag-checks, .lv-vote-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.lv-segment label, .lv-tag-checks label { margin: 0; }
.lv-segment input, .lv-tag-checks input { position: absolute; opacity: 0; pointer-events: none; }
.lv-segment span, .lv-tag-checks span { display: inline-flex; padding: 10px 13px; border: 1px solid var(--lv-line); border-radius: 999px; cursor: pointer; }
.lv-segment input:checked + span, .lv-tag-checks input:checked + span { border-color: var(--lv-ink); background: var(--lv-ink); color: #fff; }
.lv-vote-buttons button { min-height: 40px; padding: 0 13px; border: 1px solid var(--lv-line); border-radius: 10px; background: #fff; cursor: pointer; font-weight: 750; }

.lv-notice, .lv-legal-draft { padding: 18px; border: 1px solid var(--lv-line); border-radius: 16px; background: var(--lv-white); }
.lv-legal-draft { border-color: #e0b650; background: #fff8dd; }
.lv-small { color: var(--lv-muted); font-size: .88rem; }
.lv-status { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #eceae4; font-size: .78rem; font-weight: 800; }
.lv-status-confirmed, .lv-status-completed { background: #dff2e8; color: var(--lv-good); }
.lv-status-declined, .lv-status-cancelled_by_business { background: #f6dfdf; color: var(--lv-danger); }

.lv-shop-section { padding: clamp(20px,4vw,38px); border-radius: 26px; background: var(--lv-ink); color: #fff; }
.lv-shop-section .lv-eyebrow { color: #c9c7c1; }
.lv-product-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.lv-product-card { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.07); }
.lv-product-card img, .lv-product-placeholder { display: block; width: 100%; aspect-ratio: 1.25; object-fit: cover; background: #26262a; }
.lv-product-placeholder { display: grid; place-items: center; font-size: 2rem; }
.lv-product-card > div { padding: 15px; }
.lv-product-card h3 { margin: 0 0 12px; font-size: 1rem; }
.lv-product-card a { display: inline-flex; padding: 9px 12px; border-radius: 10px; background: var(--lv-gold); color: var(--lv-ink); text-decoration: none; font-weight: 850; }
.lv-affiliate-disclosure { margin: 16px 0 0; color: #cbc9c3; font-size: .83rem; }

.lv-account-grid, .lv-coverage-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.lv-account-grid a, .lv-coverage-card { padding: 20px; text-decoration: none; }
.lv-check-list { display: grid; gap: 12px; }
.lv-check-card { padding: 18px; border: 1px solid var(--lv-line); border-radius: 18px; background: #fff; }

.lv-bottom-nav { position: fixed; z-index: 9999; inset: auto 50% max(10px,env(safe-area-inset-bottom)) auto; transform: translateX(50%); display: grid; grid-template-columns: repeat(5,1fr); width: min(520px,calc(100% - 20px)); padding: 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(11,11,13,.94); color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.28); backdrop-filter: blur(18px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.lv-bottom-nav a { display: grid; place-items: center; gap: 2px; min-height: 52px; border-radius: 15px; color: #fff; text-decoration: none; font-size: .68rem; font-weight: 750; }
.lv-bottom-nav a:hover, .lv-bottom-nav a:focus { background: rgba(255,255,255,.1); }
.lv-bottom-nav span { font-size: 1.15rem; line-height: 1; }

@keyframes lv-pulse { from { opacity: .55; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .localvybe-app * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

@media (max-width: 900px) {
  .lv-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lv-thing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .lv-product-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lv-profile-hero { grid-template-columns: 1fr; }
  .lv-account-grid, .lv-coverage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .lv-shell { width: min(1180px, calc(100% - 20px)); }
  .lv-app-home, .lv-explore, .lv-profile, .lv-bookings, .lv-account, .lv-scout { padding-top: 14px; }
  .lv-hero { margin-top: 8px; padding: 26px 18px; border-radius: 25px; }
  .lv-hero h1, .lv-explore h1, .lv-profile h1 { font-size: clamp(2.45rem,14vw,4.2rem); }
  .lv-one-search { grid-template-columns: 1fr 48px 78px; }
  .lv-one-search select { grid-column: 1 / -1; grid-row: 2; background: #f4f2ec; }
  .lv-one-search .lv-near-button { grid-column: 2; grid-row: 1; }
  .lv-one-search .lv-search-submit { grid-column: 3; grid-row: 1; padding-inline: 10px; }
  .lv-home-actions { grid-template-columns: repeat(3,1fr); }
  .lv-home-actions a { min-height: 82px; padding: 12px; }
  .lv-grid { grid-template-columns: 1fr; }
  .lv-thing-grid { display: flex; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
  .lv-thing { flex: 0 0 78%; scroll-snap-align: start; }
  .lv-card-media { min-height: 220px; }
  .lv-profile-hero { padding: 16px; border-radius: 22px; }
  .lv-actions { top: 6px; width: 100%; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; }
  .lv-actions a, .lv-actions button { flex: 0 0 auto; }
  .lv-profile-section, .lv-shop-section { padding: 20px 15px; border-radius: 20px; }
  .lv-list-row, .lv-booking-row { align-items: flex-start; flex-direction: column; }
  .lv-list-actions { justify-content: flex-start; }
  .lv-product-row, .lv-account-grid, .lv-coverage-grid { grid-template-columns: 1fr; }
  .lv-section-head { align-items: flex-start; }
}

/* -------------------------------------------------------------------------
   LocalVybe standalone website shell (v0.6)
   ------------------------------------------------------------------------- */
html { scroll-padding-top: 92px; }
body.localvybe-standalone {
  margin: 0;
  overflow-x: hidden;
  background: var(--lv-paper);
  color: var(--lv-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
body.localvybe-standalone img { max-width: 100%; height: auto; }
body.localvybe-standalone h1,
body.localvybe-standalone h2,
body.localvybe-standalone h3,
body.localvybe-standalone p { text-wrap: pretty; }
body.localvybe-standalone a:focus-visible,
body.localvybe-standalone button:focus-visible,
body.localvybe-standalone input:focus-visible,
body.localvybe-standalone select:focus-visible,
body.localvybe-standalone textarea:focus-visible { outline: 3px solid rgba(242,181,29,.55); outline-offset: 3px; }
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.lv-skip-link {
  position: fixed;
  z-index: 100000;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--lv-ink);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
}
.lv-skip-link:focus { transform: translateY(0); }

.lv-site-header {
  position: sticky;
  z-index: 5000;
  top: 0;
  border-bottom: 1px solid rgba(11,11,13,.08);
  background: rgba(247,245,239,.91);
  backdrop-filter: blur(18px) saturate(140%);
}
.admin-bar .lv-site-header { top: 32px; }
.lv-site-header-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  gap: 28px;
}
.lv-site-logo { display: inline-flex; align-items: center; text-decoration: none; line-height: 0; }
.lv-site-logo img { display: block; width: 188px; max-height: 44px; object-fit: contain; object-position: left center; }
.lv-site-navigation { display: flex; align-items: center; gap: clamp(14px,2vw,28px); margin-left: auto; }
.lv-site-navigation > a {
  position: relative;
  color: var(--lv-ink);
  font-size: .92rem;
  font-weight: 760;
  text-decoration: none;
  white-space: nowrap;
}
.lv-site-navigation > a:not(.lv-header-account)::after {
  content: "";
  position: absolute;
  inset: auto 0 -7px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: right;
  background: var(--lv-gold);
  transition: transform .18s ease;
}
.lv-site-navigation > a:hover::after,
.lv-site-navigation > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.lv-header-account {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--lv-ink);
  color: #fff !important;
}
.lv-menu-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--lv-line);
  border-radius: 999px;
  background: #fff;
  color: var(--lv-ink);
  cursor: pointer;
  font-weight: 800;
}
.lv-menu-toggle-lines { display: grid; gap: 5px; width: 18px; }
.lv-menu-toggle-lines i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .18s ease; }
.lv-menu-toggle[aria-expanded="true"] .lv-menu-toggle-lines i:first-child { transform: translateY(3.5px) rotate(45deg); }
.lv-menu-toggle[aria-expanded="true"] .lv-menu-toggle-lines i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.lv-site-content { min-height: 65vh; }

.lv-app-home { padding: 0 0 110px; }
.lv-home-hero {
  display: grid;
  grid-template-columns: minmax(0,1.16fr) minmax(320px,.84fr);
  gap: clamp(34px,7vw,92px);
  align-items: center;
  padding-top: clamp(58px,8vw,112px);
  padding-bottom: clamp(55px,8vw,104px);
}
.lv-home-hero-copy h1 {
  max-width: 790px;
  margin: 0 0 24px;
  font-size: clamp(3.45rem,8.1vw,7.2rem);
  line-height: .86;
  letter-spacing: -.075em;
  font-weight: 900;
}
.lv-hero-lede {
  max-width: 760px;
  margin: 0 0 28px;
  color: #424249;
  font-size: clamp(1.05rem,1.7vw,1.28rem);
  line-height: 1.65;
}
.lv-home-hero .lv-one-search {
  width: 100%;
  border-color: rgba(11,11,13,.12);
  box-shadow: 0 20px 55px rgba(11,11,13,.12);
}
.lv-trending { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 17px; color: var(--lv-muted); font-size: .86rem; }
.lv-trending > span { font-weight: 850; color: var(--lv-ink); }
.lv-trending a { padding: 6px 10px; border: 1px solid var(--lv-line); border-radius: 999px; background: rgba(255,255,255,.7); color: var(--lv-ink); text-decoration: none; }
.lv-trending a:hover { border-color: var(--lv-gold); background: var(--lv-gold-soft); }

.lv-hero-preview {
  position: relative;
  min-height: 500px;
  padding: 20px;
  overflow: hidden;
  border-radius: 34px;
  background:
    radial-gradient(circle at 85% 10%, rgba(242,181,29,.45), transparent 28%),
    linear-gradient(145deg,#17171b 0%,#0b0b0d 70%);
  color: #fff;
  box-shadow: 0 30px 80px rgba(11,11,13,.2);
}
.lv-hero-preview::before,
.lv-hero-preview::after { content: ""; position: absolute; border-radius: 999px; border: 1px solid rgba(255,255,255,.13); }
.lv-hero-preview::before { width: 330px; height: 330px; right: -120px; bottom: -150px; }
.lv-hero-preview::after { width: 190px; height: 190px; right: -45px; bottom: -76px; }
.lv-preview-top { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 80px; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.lv-preview-top span { color: #d5d3cc; }
.lv-preview-top strong { padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .67rem; }
.lv-preview-card {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: end;
  min-height: 150px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.lv-preview-card-main { min-height: 190px; background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05)); }
.lv-preview-card strong { display: block; margin: 5px 0; font-size: 1.35rem; line-height: 1.08; }
.lv-preview-card-main strong { font-size: clamp(2rem,4vw,3.6rem); letter-spacing: -.05em; }
.lv-preview-card small { color: #cac8c1; }
.lv-preview-kicker { color: var(--lv-gold); font-size: .69rem; font-weight: 900; letter-spacing: .13em; }
.lv-preview-row { position: absolute; z-index: 2; inset: auto 20px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lv-preview-row .lv-preview-card { min-height: 118px; }
.lv-preview-row .lv-preview-card strong { font-size: 1rem; }
.lv-preview-card-accent { background: var(--lv-gold); color: var(--lv-ink); border-color: var(--lv-gold); }
.lv-preview-card-accent small { color: rgba(11,11,13,.68); }
.lv-preview-dot { width: 12px; height: 12px; margin-bottom: 8px; border-radius: 50%; background: #49ce8a; box-shadow: 0 0 0 6px rgba(73,206,138,.12); }

.lv-home-strip { overflow: hidden; border-block: 1px solid var(--lv-line); background: #fff; }
.lv-home-strip .lv-shell { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 64px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.lv-home-strip .lv-shell::-webkit-scrollbar { display: none; }
.lv-home-strip span { color: var(--lv-muted); }
.lv-home-strip strong { font-size: .87rem; letter-spacing: .03em; text-transform: uppercase; }

.lv-category-section { padding-top: clamp(72px,9vw,130px); }
.lv-section-head > div > p:last-child { max-width: 660px; color: var(--lv-muted); }
.lv-text-link { flex: 0 0 auto; font-weight: 850; text-decoration: none; }
.lv-text-link::after { content: " ↗"; }
.lv-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.lv-category-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: start;
  min-height: 205px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--lv-line);
  border-radius: 24px;
  background: #fff;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lv-category-card::before { content: ""; position: absolute; width: 150px; height: 150px; right: -70px; bottom: -82px; border-radius: 50%; border: 28px solid rgba(242,181,29,.13); transition: transform .2s ease; }
.lv-category-card:hover { transform: translateY(-4px); border-color: var(--lv-gold); box-shadow: var(--lv-shadow); }
.lv-category-card:hover::before { transform: scale(1.12); }
.lv-category-number { color: var(--lv-muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.lv-category-card h3 { margin: 0 0 10px; font-size: clamp(1.35rem,2.2vw,2rem); line-height: 1.02; letter-spacing: -.035em; }
.lv-category-card p { margin: 0; color: var(--lv-muted); line-height: 1.55; }
.lv-category-arrow { position: relative; z-index: 2; font-size: 1.25rem; }

.lv-things-section { padding-top: clamp(42px,6vw,90px); }
.lv-things-section .lv-thing { min-height: 92px; }
.lv-things-section .lv-thing:nth-child(4n+1) { background: var(--lv-gold-soft); }

.lv-proof-section { margin-top: clamp(80px,10vw,150px); padding: clamp(75px,9vw,135px) 0; overflow: hidden; background: var(--lv-ink); color: #fff; }
.lv-proof-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(50px,9vw,130px); align-items: center; }
.lv-proof-copy .lv-eyebrow { color: #b8b6af; }
.lv-proof-copy h2 { max-width: 720px; margin: 0 0 24px; font-size: clamp(2.7rem,6vw,5.7rem); line-height: .91; letter-spacing: -.065em; }
.lv-proof-copy p:not(.lv-eyebrow) { max-width: 690px; color: #c9c7c1; font-size: 1.08rem; line-height: 1.72; }
.lv-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid rgba(11,11,13,.2);
  border-radius: 13px;
  background: transparent;
  color: var(--lv-ink);
  text-decoration: none;
  font-weight: 850;
}
.lv-secondary-light { margin-top: 12px; border-color: rgba(255,255,255,.24); color: #fff; }
.lv-proof-stack { display: grid; gap: 12px; }
.lv-proof-stack > div { display: grid; grid-template-columns: 44px 1fr; gap: 5px 16px; padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.06); }
.lv-proof-stack span { grid-row: 1 / span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--lv-gold); color: var(--lv-ink); font-size: .75rem; font-weight: 900; }
.lv-proof-stack strong { font-size: 1.08rem; }
.lv-proof-stack small { color: #bdbbb5; }

.lv-build-section { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; padding-top: clamp(74px,9vw,130px); }
.lv-build-card { padding: clamp(25px,4vw,48px); border: 1px solid var(--lv-line); border-radius: 28px; background: #fff; }
.lv-build-card-primary { background: var(--lv-gold); border-color: var(--lv-gold); }
.lv-build-card h2 { max-width: 700px; margin: 0 0 18px; font-size: clamp(2.45rem,5vw,5rem); line-height: .91; letter-spacing: -.06em; }
.lv-build-card h3 { margin: 0 0 15px; font-size: clamp(1.7rem,3vw,2.6rem); line-height: 1; letter-spacing: -.045em; }
.lv-build-card p:not(.lv-eyebrow) { max-width: 670px; color: rgba(11,11,13,.72); }
.lv-build-card .lv-primary { margin-top: 12px; background: var(--lv-ink); color: #fff; }
.lv-build-card:not(.lv-build-card-primary) .lv-secondary { margin-top: 12px; }

.lv-global-section {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: clamp(24px,5vw,70px);
  align-items: center;
  margin-top: clamp(80px,10vw,150px);
  padding: clamp(30px,5vw,58px);
  border: 1px solid var(--lv-line);
  border-radius: 30px;
  background: #fff;
}
.lv-global-section h2 { max-width: 690px; margin: 0; font-size: clamp(2rem,4vw,3.8rem); line-height: .96; letter-spacing: -.055em; }
.lv-global-section > p { margin: 0; color: var(--lv-muted); }

.lv-content-page,
.lv-directory-page { padding-top: clamp(42px,7vw,90px); padding-bottom: 110px; }
.lv-page-heading { max-width: 900px; margin: 0 0 clamp(34px,6vw,70px); }
.lv-page-heading h1 { margin: 0 0 18px; font-size: clamp(3rem,7vw,6.5rem); line-height: .89; letter-spacing: -.07em; }
.lv-page-heading > p:last-child { max-width: 720px; color: var(--lv-muted); font-size: 1.08rem; }
.lv-prose { max-width: 900px; padding: clamp(22px,4vw,52px); border: 1px solid var(--lv-line); border-radius: 26px; background: #fff; }
.lv-prose h1 { margin: 0 0 28px; font-size: clamp(2.5rem,5vw,4.8rem); line-height: .93; letter-spacing: -.055em; }
.lv-prose h2 { margin: 42px 0 14px; font-size: clamp(1.45rem,3vw,2.2rem); line-height: 1.05; letter-spacing: -.03em; }
.lv-prose h3 { margin: 28px 0 12px; }
.lv-prose p,
.lv-prose li { color: #3f3f46; line-height: 1.78; }
.lv-prose ul,
.lv-prose ol { padding-left: 1.25em; }
.lv-prose a { font-weight: 700; }
.lv-prose > :first-child { margin-top: 0; }
.lv-prose > :last-child { margin-bottom: 0; }
.lv-empty-state { padding: 100px 0 140px; }
.lv-empty-state h1 { margin: 0 0 12px; font-size: clamp(2.7rem,6vw,5rem); letter-spacing: -.055em; }
.lv-empty-market { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: clamp(26px,5vw,52px); border: 1px solid var(--lv-line); border-radius: 28px; background: #fff; }
.lv-empty-market h2 { max-width: 720px; margin: 0 0 14px; font-size: clamp(2rem,4vw,3.7rem); line-height: .98; letter-spacing: -.05em; }
.lv-empty-market p:not(.lv-eyebrow) { max-width: 670px; color: var(--lv-muted); }
.lv-empty-market-actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }
.lv-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.lv-guide-card { padding: 24px; }
.lv-guide-card h2 { margin: 0 0 12px; font-size: 1.5rem; line-height: 1.1; }
.lv-guide-card h2 a { text-decoration: none; }
.lv-guide-card p:not(.lv-eyebrow) { color: var(--lv-muted); }

.lv-search-suggestions button {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid var(--lv-line);
  background: #fff;
  color: var(--lv-ink);
  text-align: left;
  cursor: pointer;
}
.lv-search-suggestions button:last-child { border-bottom: 0; }
.lv-search-suggestions button:hover,
.lv-search-suggestions button:focus { background: var(--lv-gold-soft); }
.lv-search-suggestions button small { color: var(--lv-muted); }

.lv-site-footer { padding: 76px 0 22px; background: #101013; color: #fff; }
.lv-footer-grid { display: grid; grid-template-columns: minmax(280px,1.5fr) repeat(3,minmax(140px,.65fr)); gap: clamp(32px,6vw,82px); }
.lv-site-logo-footer img { filter: none; }
.lv-footer-brand p { max-width: 470px; margin: 22px 0 0; color: #bcbab4; }
.lv-footer-column { display: grid; align-content: start; gap: 11px; }
.lv-footer-column strong { margin-bottom: 5px; color: var(--lv-gold); font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }
.lv-footer-column a { color: #d6d4ce; text-decoration: none; font-size: .92rem; }
.lv-footer-column a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.lv-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 64px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.11); color: #8f8d88; font-size: .82rem; }

@media (min-width: 821px) {
  .lv-bottom-nav { display: none !important; }
}

@media (max-width: 1050px) {
  .lv-site-navigation { gap: 15px; }
  .lv-site-navigation > a { font-size: .84rem; }
  .lv-home-hero { grid-template-columns: 1fr .78fr; gap: 35px; }
  .lv-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lv-global-section { grid-template-columns: 1fr 1fr; }
  .lv-global-section .lv-primary { grid-column: 1 / -1; width: max-content; }
  .lv-footer-grid { grid-template-columns: 1.4fr repeat(2,1fr); }
  .lv-footer-column:last-child { grid-column: 2 / -1; }
}

@media (max-width: 880px) {
  html { scroll-padding-top: 78px; }
  .admin-bar .lv-site-header { top: 46px; }
  .lv-site-header-inner { min-height: 70px; }
  .lv-site-logo img { width: 158px; }
  .lv-menu-toggle { display: inline-flex; }
  .lv-site-navigation {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: grid;
    gap: 0;
    padding: 10px;
    border: 1px solid var(--lv-line);
    border-radius: 20px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--lv-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .lv-site-navigation.is-open { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
  .lv-site-navigation > a { padding: 14px 12px; border-radius: 12px; font-size: .96rem; }
  .lv-site-navigation > a:hover { background: var(--lv-paper); }
  .lv-site-navigation > a::after { display: none; }
  .lv-header-account { margin-top: 6px; color: #fff !important; }
  .lv-home-hero { grid-template-columns: 1fr; }
  .lv-home-hero-copy h1 { max-width: 820px; }
  .lv-hero-preview { min-height: 430px; }
  .lv-proof-grid { grid-template-columns: 1fr; }
  .lv-build-section { grid-template-columns: 1fr; }
  .lv-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lv-footer-grid { grid-template-columns: 1fr 1fr; }
  .lv-footer-brand { grid-column: 1 / -1; }
  .lv-footer-column:last-child { grid-column: auto; }
}

@media (max-width: 640px) {
  body.localvybe-standalone { font-size: 15px; }
  .lv-site-header-inner { width: min(100% - 22px,1180px); }
  .lv-menu-toggle-label { display: none; }
  .lv-home-hero { padding-top: 44px; padding-bottom: 58px; }
  .lv-home-hero-copy h1 { font-size: clamp(3.25rem,17vw,5.1rem); }
  .lv-hero-lede { font-size: 1rem; }
  .lv-trending { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .lv-trending::-webkit-scrollbar { display: none; }
  .lv-trending > * { flex: 0 0 auto; }
  .lv-hero-preview { min-height: 405px; padding: 15px; border-radius: 26px; }
  .lv-preview-top { margin-bottom: 55px; }
  .lv-preview-row { inset: auto 15px 15px; }
  .lv-preview-card { padding: 16px; border-radius: 18px; }
  .lv-preview-card-main { min-height: 165px; }
  .lv-preview-row .lv-preview-card { min-height: 108px; }
  .lv-home-strip .lv-shell { min-height: 56px; }
  .lv-category-grid { grid-template-columns: 1fr; }
  .lv-category-card { min-height: 170px; padding: 20px; }
  .lv-section-head { display: grid; gap: 12px; }
  .lv-text-link { width: max-content; }
  .lv-proof-section { padding-block: 74px; }
  .lv-proof-copy h2 { font-size: clamp(2.8rem,14vw,4.3rem); }
  .lv-proof-stack > div { padding: 18px; }
  .lv-build-card { border-radius: 23px; }
  .lv-build-card h2 { font-size: clamp(2.7rem,13vw,4.2rem); }
  .lv-global-section { grid-template-columns: 1fr; padding: 25px; border-radius: 24px; }
  .lv-global-section .lv-primary { grid-column: auto; width: 100%; }
  .lv-page-heading h1 { font-size: clamp(3rem,15vw,5rem); }
  .lv-prose { padding: 21px 16px; border-radius: 20px; }
  .lv-empty-market { align-items: stretch; flex-direction: column; }
  .lv-empty-market-actions { display: grid; }
  .lv-guide-grid { grid-template-columns: 1fr; }
  .lv-site-footer { padding-top: 58px; padding-bottom: 95px; }
  .lv-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .lv-footer-brand { grid-column: 1 / -1; }
  .lv-footer-column:last-child { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .lv-footer-column:last-child strong { grid-column: 1 / -1; }
  .lv-footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 48px; }
  .lv-bottom-nav { bottom: max(8px,env(safe-area-inset-bottom)); }
}

/* -------------------------------------------------------------------------
   Responsive hardening (v0.6.2)
   The LocalVybe shell must remain independent of the active WordPress theme,
   fit 320px-wide devices and tolerate long names, URLs and translated labels.
   ------------------------------------------------------------------------- */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.localvybe-standalone {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 !important;
  overflow-x: hidden;
  overflow-x: clip;
}
body.localvybe-standalone.lv-menu-open { overflow: hidden; }
body.localvybe-standalone .lv-site-header,
body.localvybe-standalone .lv-site-content,
body.localvybe-standalone .lv-site-footer,
body.localvybe-standalone .lv-app-home { width: 100%; max-width: none; }
.localvybe-app main,
.localvybe-app section,
.localvybe-app article,
.localvybe-app header,
.localvybe-app footer,
.localvybe-app nav,
.localvybe-app div,
.localvybe-app form,
.localvybe-app fieldset,
.localvybe-app label { min-width: 0; }
.localvybe-app img,
.localvybe-app picture,
.localvybe-app video,
.localvybe-app canvas,
.localvybe-app svg,
.localvybe-app iframe { max-width: 100%; }
.localvybe-app iframe { width: 100%; }
.localvybe-app input,
.localvybe-app select,
.localvybe-app textarea,
.localvybe-app button { max-width: 100%; }
.localvybe-app h1,
.localvybe-app h2,
.localvybe-app h3,
.localvybe-app h4,
.localvybe-app h5,
.localvybe-app h6 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
.localvybe-app .lv-prose a,
.localvybe-app .lv-description a,
.localvybe-app .lv-profile-section a,
.localvybe-app .lv-evidence-sources a,
.localvybe-app .lv-list-row a,
.localvybe-app .lv-card-body a {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.localvybe-app .lv-prose,
.localvybe-app .lv-card-body,
.localvybe-app .lv-category-card,
.localvybe-app .lv-thing,
.localvybe-app .lv-list-row,
.localvybe-app .lv-booking-row,
.localvybe-app .lv-account-grid,
.localvybe-app .lv-form,
.localvybe-app .lv-notice,
.localvybe-app .lv-footer-column,
.localvybe-app .lv-profile-copy { overflow-wrap: anywhere; word-break: normal; }
.localvybe-app pre,
.localvybe-app code,
.localvybe-app samp,
.localvybe-app kbd { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.localvybe-app pre {
  display: block;
  overflow-x: auto;
  padding: 14px;
  border-radius: 12px;
  background: #f0eee8;
  white-space: pre-wrap;
}
.localvybe-app table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
}
.localvybe-app blockquote { max-width: 100%; margin-inline: 0; }

/* Use explicit calculations: `min(100% - 20px, ...)` is invalid in some
   mobile browsers and caused the shell to ignore its narrow-screen width. */
.lv-shell {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
}
/* `.lv-section { margin: ... }` uses the margin shorthand and otherwise
   overrides the centred shell's inline auto margins. */
.lv-section.lv-shell {
  margin-right: auto;
  margin-left: auto;
}
.lv-utility-page {
  min-height: 65vh;
  padding: clamp(34px, 6vw, 82px) 0 110px;
}
.lv-utility-page > :first-child { margin-top: 0; }
.lv-utility-page .lv-page-heading { margin-bottom: clamp(22px, 4vw, 42px); }
.lv-utility-content { width: 100%; min-width: 0; }
.lv-utility-content > :first-child { margin-top: 0; }
.lv-utility-content > .lv-notice,
.lv-utility-content > .lv-claim-start,
.lv-utility-content > .lv-form,
.lv-utility-content > .lv-auth-card,
.lv-utility-content > .lv-shop-section { margin-inline: auto; }
.lv-utility-content > .lv-coverage-grid,
.lv-utility-content > .lv-grid,
.lv-utility-content > .lv-thing-grid { width: 100%; }
.lv-utility-page > .lv-notice,
.lv-utility-page > .lv-claim-start,
.lv-utility-page > .lv-form,
.lv-utility-page > .lv-auth-card,
.lv-utility-page > .lv-shop-section { margin-inline: auto; }
.lv-utility-page > .lv-coverage-grid,
.lv-utility-page > .lv-grid,
.lv-utility-page > .lv-thing-grid { width: 100%; }
.localvybe-app input,
.localvybe-app select,
.localvybe-app textarea,
.localvybe-app button { scroll-margin-top: 120px; scroll-margin-bottom: 105px; }
.lv-site-content > .lv-notice,
.lv-site-content > .lv-claim-start,
.lv-site-content > .lv-shop-section {
  width: min(1180px, calc(100% - 32px));
  margin: clamp(24px, 5vw, 64px) auto 120px;
}
.lv-site-content > .lv-form,
.lv-site-content > .lv-auth-card {
  width: min(720px, calc(100% - 32px));
  margin: clamp(24px, 5vw, 64px) auto 120px;
}
.lv-claim-start,
.lv-shell > .lv-card:not(.lv-business-card):not(.lv-guide-card):not(.lv-coverage-card) {
  padding: clamp(20px, 4vw, 36px);
}

/* Header and mobile menu. */
.lv-site-header-inner { padding-inline: 0; }
.lv-site-logo img { height: auto; }
.lv-site-navigation { max-width: 100%; }
.lv-site-navigation > a { min-width: 0; }
body.lv-menu-open .lv-bottom-nav { opacity: 0; visibility: hidden; pointer-events: none; }
body.lv-form-focus .lv-bottom-nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(50%, calc(100% + 26px));
}

/* Search and controls. */
.lv-one-search { max-width: 100%; }
.lv-one-search input,
.lv-one-search select,
.lv-one-search button { min-width: 0; }
.lv-search-suggestions { max-width: calc(100% - 16px); }
.lv-inline-form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
}
.lv-inline-form label { flex: 1 1 240px; display: grid; gap: 7px; font-weight: 750; }
.lv-inline-form input,
.lv-inline-form select,
.lv-inline-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #d7d4ca;
  border-radius: 12px;
  background: #fff;
  color: var(--lv-ink);
}
.lv-inline-form .lv-primary { flex: 0 0 auto; }
.lv-form .lv-check > span,
.lv-auth-card .lv-check > span { min-width: 0; }
.lv-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.lv-card-quick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  background: #f0eee8;
  color: var(--lv-ink);
  font-weight: 800;
  text-decoration: none;
}

/* Cards and grids need shrinkable children, especially with business names and
   translated labels that are longer than the English starter copy. */
.lv-category-card > *,
.lv-proof-stack > div > *,
.lv-profile-hero > *,
.lv-list-row > *,
.lv-booking-row > *,
.lv-thing > span:last-child { min-width: 0; }
.lv-category-card h3,
.lv-category-card p,
.lv-thing strong,
.lv-card-body h3,
.lv-card-body p { overflow-wrap: anywhere; }
.lv-account-grid a {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  border: 1px solid var(--lv-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 22px rgba(11,11,13,.035);
}
.lv-account-grid a strong { font-size: 1.05rem; line-height: 1.15; }
.lv-account-grid a span { color: var(--lv-muted); line-height: 1.45; }

/* WordPress' stock login form is not emitted with LocalVybe form classes. */
.lv-account #loginform {
  width: min(560px, 100%);
  margin: 24px 0;
  padding: clamp(18px, 4vw, 30px);
  border: 1px solid var(--lv-line);
  border-radius: 22px;
  background: #fff;
}
.lv-account #loginform p { margin: 0 0 15px; }
.lv-account #loginform label { display: grid; gap: 7px; font-weight: 750; }
.lv-account #loginform input[type="text"],
.lv-account #loginform input[type="password"] {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #d7d4ca;
  border-radius: 12px;
  background: #fff;
  color: var(--lv-ink);
}
.lv-account #loginform input[type="submit"] {
  min-height: 46px;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  background: var(--lv-gold);
  color: var(--lv-ink);
  font-weight: 850;
  cursor: pointer;
}

/* Keep sticky business actions below the sticky site header. */
.lv-actions { top: 94px; }
.admin-bar .lv-actions { top: 126px; }
.lv-prose { width: 100%; }
.lv-prose img.alignleft,
.lv-prose img.alignright { max-width: 50%; }

@media (max-width: 880px) {
  .lv-site-navigation {
    max-height: calc(100vh - 98px);
    max-height: calc(100dvh - 98px - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .admin-bar .lv-site-navigation {
    max-height: calc(100vh - 144px);
    max-height: calc(100dvh - 144px - env(safe-area-inset-bottom));
  }
  .lv-actions { top: 84px; }
  .admin-bar .lv-actions { top: 130px; }
  .lv-profile-hero { gap: 24px; }
}

@media (max-width: 640px) {
  .lv-shell,
  .lv-site-header-inner {
    width: calc(100% - 20px);
    max-width: 1180px;
  }
  .lv-site-content > .lv-notice,
  .lv-site-content > .lv-claim-start,
  .lv-site-content > .lv-shop-section,
  .lv-site-content > .lv-form,
  .lv-site-content > .lv-auth-card { width: calc(100% - 20px); }

  .lv-site-content { min-width: 0; }
  .lv-home-hero-copy h1 {
    font-size: clamp(2.8rem, 14vw, 4.35rem);
    line-height: .9;
    letter-spacing: -.065em;
  }
  .lv-hero-preview {
    display: grid;
    gap: 12px;
    min-height: 0;
    padding: 15px;
  }
  .lv-preview-top { margin-bottom: 26px; }
  .lv-preview-row {
    position: relative;
    inset: auto;
    grid-template-columns: 1fr 1fr;
  }
  .lv-preview-card-main { min-height: 165px; }
  .lv-preview-row .lv-preview-card { min-height: 106px; }

  /* A grid is clearer than a partially clipped carousel on utility and legal
     pages, while still keeping two compact cards on wider phones. */
  .lv-thing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    overflow: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }
  .lv-thing { flex: initial; width: auto; scroll-snap-align: none; }

  .lv-category-card > div { min-width: 0; }
  .lv-profile h1,
  .lv-hero h1,
  .lv-explore h1 { overflow-wrap: anywhere; }
  .lv-actions {
    max-width: 100%;
    scrollbar-width: none;
  }
  .lv-actions::-webkit-scrollbar { display: none; }
  .lv-list-row,
  .lv-booking-row { width: 100%; }
  .lv-list-actions,
  .lv-vote-buttons { width: 100%; }
  .lv-list-actions > *,
  .lv-vote-buttons > * { max-width: 100%; }
  .lv-prose img.alignleft,
  .lv-prose img.alignright { float: none; display: block; max-width: 100%; margin-inline: 0; }
  .lv-site-footer { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
}

@media (max-width: 480px) {
  .lv-site-header-inner { min-height: 66px; gap: 12px; }
  .lv-site-logo img { width: 146px; }
  .lv-menu-toggle { min-width: 44px; padding-inline: 12px; }
  .lv-site-navigation { top: calc(100% + 6px); border-radius: 16px; }

  .lv-home-hero { padding-top: 34px; padding-bottom: 44px; }
  .lv-home-hero-copy h1 { font-size: clamp(2.65rem, 13.5vw, 3.8rem); }
  .lv-build-card h2 {
    font-size: clamp(2.1rem, 10.5vw, 3.05rem);
    line-height: .92;
    letter-spacing: -.055em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }
  .lv-hero-lede { line-height: 1.58; }

  /* Stack the submit button rather than squeezing the query field into a narrow
     strip beside two controls. */
  .lv-one-search {
    grid-template-columns: minmax(0,1fr) 48px;
    gap: 7px;
    padding: 7px;
  }
  .lv-one-search input[name="q"] { grid-column: 1; grid-row: 1; }
  .lv-one-search .lv-near-button { grid-column: 2; grid-row: 1; }
  .lv-one-search select { grid-column: 1 / -1; grid-row: 2; }
  .lv-one-search .lv-search-submit {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    padding-inline: 14px;
  }
  .lv-search-suggestions { left: 0; width: 100%; max-width: 100%; }

  .lv-preview-row { grid-template-columns: 1fr; }
  .lv-preview-row .lv-preview-card { min-height: 90px; }
  .lv-preview-card-main strong { font-size: clamp(1.85rem, 10vw, 2.7rem); }

  .lv-category-card {
    grid-template-columns: auto minmax(0,1fr);
    min-height: 0;
  }
  .lv-category-arrow { grid-column: 2; justify-self: end; }
  .lv-thing-grid { grid-template-columns: 1fr; }
  .lv-thing { min-height: 74px; }

  .lv-page-heading h1 { font-size: clamp(2.55rem, 13.5vw, 4rem); line-height: .92; }
  .lv-prose h1 { font-size: clamp(2.25rem, 12vw, 3.5rem); }
  .lv-empty-state h1 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
  .lv-profile h1 { font-size: clamp(2.25rem, 12vw, 3.6rem); line-height: .94; }

  .lv-form,
  .lv-auth-card { padding: 19px 15px; border-radius: 19px; }
  .lv-form input:not([type=checkbox]):not([type=radio]),
  .lv-form select,
  .lv-form textarea,
  .lv-auth-card input:not([type=checkbox]):not([type=radio]),
  .lv-auth-card select,
  .lv-auth-card textarea,
  .lv-inline-form input,
  .lv-inline-form select,
  .lv-inline-form textarea,
  .lv-account #loginform input[type="text"],
  .lv-account #loginform input[type="password"] { font-size: 16px; }
  .lv-form > .lv-primary,
  .lv-auth-card > .lv-primary,
  .lv-inline-form .lv-primary,
  .lv-empty-market-actions .lv-primary,
  .lv-empty-market-actions .lv-secondary { width: 100%; }
  .lv-inline-form .lv-primary { flex-basis: 100%; }
  .lv-empty-market-actions { width: 100%; }

  .lv-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .lv-footer-brand,
  .lv-footer-column:last-child { grid-column: auto; }
  .lv-footer-column:last-child { grid-template-columns: 1fr; }
  .lv-footer-column:last-child strong { grid-column: auto; }
  .lv-footer-bottom { gap: 8px; }

  .lv-bottom-nav {
    width: calc(100% - 14px);
    padding: 5px;
    border-radius: 18px;
  }
  .lv-bottom-nav a { min-height: 50px; padding-inline: 2px; font-size: .64rem; }
}

@media (max-width: 360px) {
  .lv-shell,
  .lv-site-header-inner,
  .lv-site-content > .lv-notice,
  .lv-site-content > .lv-claim-start,
  .lv-site-content > .lv-shop-section,
  .lv-site-content > .lv-form,
  .lv-site-content > .lv-auth-card { width: calc(100% - 16px); }
  .lv-site-logo img { width: 136px; }
  .lv-home-hero-copy h1 { font-size: clamp(2.45rem, 13vw, 3.2rem); }
  .lv-build-card h2 { font-size: clamp(2rem, 10vw, 2.35rem); }
  .lv-hero-preview { border-radius: 22px; }
  .lv-category-card { padding: 18px; }
  .lv-profile-section,
  .lv-shop-section { padding-inline: 13px; }
  .lv-bottom-nav span { font-size: 1.05rem; }
}


/* Controlled demo listings are deliberately unmistakable and remain noindex. */
.lv-test-listing { border-color: #d39a00; }
.lv-test-thing { border-color: #d39a00; background: #fff8df; }
.lv-test-listing .lv-trust-0 { background: #7a5100; color: #fff8df; }
.lv-test-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 18px;
  padding: 15px 17px;
  border: 2px solid #d39a00;
  border-radius: 16px;
  background: #fff2c7;
  color: #3b2a00;
}
.lv-test-banner strong { flex: 0 0 auto; letter-spacing: .06em; }
.lv-test-banner span { line-height: 1.5; }
@media (max-width: 480px) {
  .lv-test-banner { flex-direction: column; gap: 5px; }
}

@media print {
  .lv-site-header,
  .lv-bottom-nav,
  .lv-actions { display: none !important; }
  .lv-site-footer { padding-bottom: 20px; }
  body.localvybe-standalone { background: #fff; }
}


/* Four evenly spaced items while the commercial Shop tab is disabled. */
.lv-bottom-nav-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Category-aware recommendation prompts. */
.lv-recommend-prompt {
  margin: 18px 0 10px;
  color: var(--lv-muted);
  font-weight: 800;
}

/* LocalVybe 0.7 discovery records: services, places, events, classes and sport. */
.lv-discovery-directory,
.lv-discovery-profile { min-width: 0; }
.lv-discovery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	min-width: 0;
}
.lv-discovery-card { min-width: 0; }
.lv-discovery-card .lv-card-media { min-height: 172px; }
.lv-discovery-card .lv-card-body { min-width: 0; }
.lv-discovery-schedule { color: var(--lv-ink) !important; font-weight: 750; }
.lv-discovery-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) minmax(150px, .8fr) minmax(150px, .8fr) auto;
	gap: 12px;
	align-items: end;
	margin: 0 0 28px;
	padding: 16px;
	border: 1px solid var(--lv-line);
	border-radius: var(--lv-radius);
	background: var(--lv-white);
}
.lv-discovery-filters label { display: grid; gap: 6px; min-width: 0; }
.lv-discovery-filters label > span { font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.lv-discovery-filters input,
.lv-discovery-filters select {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--lv-line-strong, #b9b5aa);
	border-radius: 12px;
	background: #fff;
	color: var(--lv-ink);
	font: inherit;
}
.lv-discovery-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border: 1px solid var(--lv-line);
	border-radius: var(--lv-radius);
	overflow: hidden;
}
.lv-discovery-details > div {
	display: grid;
	gap: 4px;
	min-width: 0;
	padding: 16px;
	border-bottom: 1px solid var(--lv-line);
}
.lv-discovery-details > div:nth-child(odd) { border-right: 1px solid var(--lv-line); }
.lv-discovery-details > div:nth-last-child(-n+2) { border-bottom: 0; }
.lv-discovery-details strong { font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; }
.lv-discovery-details span { overflow-wrap: anywhere; }
.lv-test-record .lv-card-media { background-image: linear-gradient(135deg, #fff2bd, #f8f3df); }
.lv-trust-test { background: #ffd851; color: #17130a; }

@media (max-width: 920px) {
	.lv-discovery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lv-discovery-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lv-discovery-filters .lv-primary { width: 100%; }
}

@media (max-width: 620px) {
	.lv-discovery-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.lv-discovery-filters { grid-template-columns: minmax(0, 1fr); padding: 13px; }
	.lv-discovery-details { grid-template-columns: minmax(0, 1fr); }
	.lv-discovery-details > div,
	.lv-discovery-details > div:nth-child(odd),
	.lv-discovery-details > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--lv-line); }
	.lv-discovery-details > div:last-child { border-bottom: 0; }
	.lv-discovery-card .lv-card-media { min-height: 185px; }
}

.lv-search-result-section {
	margin: 0 0 40px;
	min-width: 0;
}

.lv-search-result-section + .lv-search-result-section {
	padding-top: 8px;
	border-top: 1px solid var(--lv-line);
}

.lv-search-result-section .lv-section-head {
	margin-bottom: 18px;
}

/* -------------------------------------------------------------------------
   LocalVybe 0.7.1 front-end accounts, submissions, corrections and rewards
   ------------------------------------------------------------------------- */
.lv-submission-page,
.lv-correction-page,
.lv-submissions-history,
.lv-rewards-page { padding-top: clamp(34px, 6vw, 78px); padding-bottom: 120px; min-width: 0; }

.lv-auth-layout {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: clamp(24px, 5vw, 74px);
  align-items: start;
  width: min(1100px, calc(100% - 32px));
  margin: clamp(34px, 7vw, 90px) auto 120px;
  min-width: 0;
}
.lv-auth-intro { position: sticky; top: 118px; min-width: 0; padding-top: 28px; }
.lv-auth-intro h1 { margin: 0 0 22px; font-size: clamp(2.8rem, 6vw, 5.8rem); line-height: .9; letter-spacing: -.065em; }
.lv-auth-intro > p:last-child { max-width: 520px; color: var(--lv-muted); font-size: 1.04rem; line-height: 1.7; }
.lv-auth-stack { display: grid; gap: 16px; min-width: 0; }
.lv-auth-stack .lv-auth-card,
.lv-auth-layout > .lv-auth-card { width: 100%; margin: 0; }
.lv-auth-card h1 { margin: 0 0 16px; font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: .96; letter-spacing: -.045em; }
.lv-auth-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 18px; margin: 18px 0 0; font-weight: 750; }
.lv-auth-prompt { width: min(760px, 100%); margin: 24px auto; padding: clamp(22px, 4vw, 38px); }
.lv-auth-prompt h2 { margin: 0 0 10px; font-size: clamp(1.65rem, 3vw, 2.3rem); }
.lv-auth-compact { display: block; width: 100%; margin: 0; }
.lv-auth-compact .lv-auth-intro { display: none; }
.lv-auth-compact .lv-auth-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lv-inline-links { align-items: center; gap: 10px; }

.lv-listing-wizard { width: min(920px, 100%); padding: 0; overflow: hidden; }
.lv-wizard-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 12px;
  border-bottom: 1px solid var(--lv-line);
  background: #fbfaf6;
}
.lv-wizard-progress button {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 0;
  padding: 8px 5px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--lv-muted);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 800;
}
.lv-wizard-progress button span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid var(--lv-line);
  border-radius: 50%;
  background: #fff;
  color: var(--lv-ink);
}
.lv-wizard-progress button.is-active { background: var(--lv-gold-soft); color: var(--lv-ink); }
.lv-wizard-progress button.is-active span { border-color: var(--lv-gold); background: var(--lv-gold); }
.lv-wizard-progress button.is-complete span { border-color: var(--lv-good); background: var(--lv-good); color: #fff; }
.lv-wizard-progress button:disabled { cursor: default; opacity: .72; }
.lv-wizard-step { padding: clamp(22px, 4vw, 42px); min-width: 0; }
.lv-wizard-step h2 { margin: 0 0 18px; font-size: clamp(1.85rem, 4vw, 3.1rem); line-height: .98; letter-spacing: -.045em; }
.lv-js .lv-wizard-step { display: none; }
.lv-js .lv-wizard-step.is-active { display: block; }
.lv-js [data-lv-types].is-hidden { display: none !important; }
.lv-wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--lv-line); }
.lv-type-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0 26px; }
.lv-type-choice { position: relative; display: block !important; margin: 0 !important; }
.lv-type-choice input { position: absolute; opacity: 0; pointer-events: none; }
.lv-type-choice > span { display: block; min-height: 126px; padding: 20px; border: 2px solid var(--lv-line); border-radius: 18px; background: #fff; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.lv-type-choice > span:hover { transform: translateY(-2px); border-color: #c9c4b8; }
.lv-type-choice input:focus-visible + span { outline: 3px solid rgba(242,181,29,.5); outline-offset: 3px; }
.lv-type-choice input:checked + span { border-color: var(--lv-ink); background: var(--lv-gold-soft); }
.lv-type-choice strong { display: block; margin-bottom: 8px; font-size: 1.08rem; }
.lv-type-choice small { display: block; color: var(--lv-muted); font-weight: 500; line-height: 1.45; }
.lv-form-grid,
.lv-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; min-width: 0; }
.lv-form-grid > *,
.lv-field-grid > * { min-width: 0; }

.lv-correction-search,
.lv-correction-target { width: min(900px, 100%); margin: 0 auto 22px; padding: clamp(20px, 4vw, 34px); }
.lv-correction-search h2,
.lv-correction-target h2 { margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.lv-search-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.lv-search-inline input { min-width: 0; min-height: 48px; padding: 11px 13px; border: 1px solid #d7d4ca; border-radius: 12px; background: #fff; color: var(--lv-ink); font: inherit; }
.lv-correction-results { display: grid; gap: 9px; margin-top: 20px; }
.lv-correction-results article { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px; border: 1px solid var(--lv-line); border-radius: 15px; background: #fbfaf6; }
.lv-correction-results article > div { min-width: 0; }
.lv-correction-results strong,
.lv-correction-results span { display: block; overflow-wrap: anywhere; }
.lv-correction-results span { margin-top: 4px; color: var(--lv-muted); font-size: .85rem; }
.lv-correction-target { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.lv-correction-target h2 { margin-bottom: 6px; overflow-wrap: anywhere; }
.lv-correction-field-list { display: grid; gap: 10px; margin: 20px 0; }
.lv-correction-field { padding: 15px; border: 1px solid var(--lv-line); border-radius: 16px; background: #fbfaf6; }
.lv-correction-form { width: min(900px, 100%); margin: 0 auto; }
.lv-correction-field.has-value { border-color: var(--lv-gold); background: var(--lv-gold-soft); }
.lv-correction-field input[type="file"] { max-width: 100%; }
.lv-correction-field > .lv-check { margin: 0; }
.lv-correction-field .lv-check span strong,
.lv-correction-field .lv-check span small { display: block; }
.lv-correction-field .lv-check span small { margin-top: 4px; color: var(--lv-muted); font-weight: 500; }
.lv-correction-input { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--lv-line); }
.lv-js .lv-correction-input { display: none; }
.lv-js .lv-correction-input.is-active { display: block; }
.lv-correction-input label { margin: 0; }

.lv-history-list { display: grid; gap: 9px; min-width: 0; }
.lv-history-list article { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 9px 18px; padding: 14px 16px; border: 1px solid var(--lv-line); border-radius: 15px; background: #fbfaf6; min-width: 0; }
.lv-history-list article > div { min-width: 0; }
.lv-history-list strong,
.lv-history-list small { display: block; overflow-wrap: anywhere; }
.lv-history-list small { color: var(--lv-muted); }
.lv-history-list article > p { flex-basis: 100%; margin: 0; color: var(--lv-muted); }
.lv-history-list code { max-width: 100%; overflow-wrap: anywhere; }
.lv-status-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; background: #eceae4; font-size: .75rem; font-weight: 850; }
.lv-status-publish,
.lv-status-approved { background: #dff2e8; color: var(--lv-good); }
.lv-status-pending { background: var(--lv-gold-soft); color: #5b4300; }
.lv-status-rejected { background: #f6dfdf; color: var(--lv-danger); }

.lv-reward-balance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
.lv-reward-balance-grid .lv-card { padding: clamp(20px, 4vw, 34px); }
.lv-reward-balance-grid span,
.lv-reward-balance-grid strong { display: block; }
.lv-reward-balance-grid span { color: var(--lv-muted); font-weight: 750; }
.lv-reward-balance-grid strong { margin-top: 5px; font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: .92; letter-spacing: -.06em; }
.lv-reward-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lv-reward-card { min-width: 0; }
.lv-reward-card .lv-card-body { display: flex; flex-direction: column; min-height: 100%; }
.lv-reward-card details { margin: 10px 0; }
.lv-reward-card summary { cursor: pointer; font-weight: 800; }
.lv-reward-cost { display: flex; align-items: baseline; gap: 7px; margin: 18px 0 12px; }
.lv-reward-cost strong { font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
.lv-reward-cost span { color: var(--lv-muted); font-weight: 750; }
.lv-reward-card form { margin-top: auto; }
.lv-reward-card form .lv-primary { width: 100%; }
.lv-reward-card button:disabled { opacity: .58; cursor: not-allowed; }
.lv-credit-positive { color: var(--lv-good); font-weight: 850; }
.lv-credit-negative { color: var(--lv-danger); font-weight: 850; }
.lv-scout-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.lv-scout-summary > div { padding: 16px; border: 1px solid var(--lv-line); border-radius: 16px; background: #fbfaf6; }
.lv-scout-summary strong,
.lv-scout-summary span { display: block; }
.lv-scout-summary strong { font-size: 1.8rem; }
.lv-scout-summary span { color: var(--lv-muted); }

@media (max-width: 880px) {
  .lv-auth-layout { grid-template-columns: minmax(0, 1fr); }
  .lv-auth-intro { position: static; padding-top: 0; }
  .lv-auth-intro h1 { max-width: 760px; }
  .lv-auth-compact .lv-auth-stack { grid-template-columns: minmax(0, 1fr); }
  .lv-reward-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .lv-auth-layout { width: calc(100% - 20px); margin-top: 24px; gap: 20px; }
  .lv-auth-intro h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
  .lv-listing-wizard { border-radius: 20px; }
  .lv-wizard-progress { overflow-x: auto; grid-template-columns: repeat(5, minmax(72px, 1fr)); scrollbar-width: none; }
  .lv-wizard-progress::-webkit-scrollbar { display: none; }
  .lv-wizard-progress button { font-size: .65rem; }
  .lv-wizard-step { padding: 20px 15px; }
  .lv-type-choice-grid,
  .lv-form-grid,
  .lv-field-grid,
  .lv-reward-balance-grid,
  .lv-reward-grid,
  .lv-scout-summary { grid-template-columns: minmax(0, 1fr); }
  .lv-type-choice > span { min-height: 0; }
  .lv-wizard-actions { align-items: stretch; }
  .lv-wizard-actions .lv-primary,
  .lv-wizard-actions .lv-secondary { flex: 1 1 0; padding-inline: 12px; }
  .lv-search-inline { grid-template-columns: minmax(0, 1fr); }
  .lv-search-inline .lv-primary { width: 100%; }
  .lv-correction-results article,
  .lv-correction-target { align-items: stretch; flex-direction: column; }
  .lv-correction-results .lv-secondary,
  .lv-correction-target .lv-secondary { width: 100%; }
  .lv-reward-card .lv-card-media { min-height: 190px; }
}

@media (max-width: 420px) {
  .lv-wizard-actions { flex-direction: column-reverse; }
  .lv-wizard-actions > span { display: none; }
  .lv-wizard-actions .lv-primary,
  .lv-wizard-actions .lv-secondary { width: 100%; }
  .lv-auth-links { flex-direction: column; align-items: flex-start; }
}
.lv-correction-remove { margin-top: 10px !important; padding: 10px 12px; border-radius: 12px; background: rgba(102, 58, 16, .06); }
.lv-correction-input.is-removing textarea { opacity: .55; }
.lv-correction-input.is-removing .lv-correction-remove { background: var(--lv-gold-soft); }

/* LocalVybe 0.8.0: offering-first profiles and honest coverage states. */
.lv-coverage-state{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.45rem;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#226e4a}.lv-coverage-building{border-style:dashed!important;background:linear-gradient(145deg,#fffdf6,#f6f3ea)!important}.lv-coverage-building .lv-coverage-state{color:#7b5b00}.lv-coverage-building .lv-category-arrow{background:#eee8d8}.lv-provider-offerings{padding-top:2rem;padding-bottom:8rem}.lv-provider-offerings-form{display:grid;gap:1.25rem}.lv-form-panel{background:#fff;border:1px solid rgba(20,20,20,.14);border-radius:24px;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 32px rgba(0,0,0,.035);min-width:0}.lv-form-panel>h2{margin:.25rem 0 .55rem}.lv-form-panel label>span:first-child,.lv-form-panel label>strong{display:block;font-weight:750;margin-bottom:.4rem}.lv-form-panel textarea,.lv-form-panel select,.lv-form-panel input[type=text]{width:100%;max-width:100%;box-sizing:border-box;border:1px solid rgba(20,20,20,.2);border-radius:14px;padding:.85rem 1rem;background:#fff;font:inherit}.lv-parent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-top:1rem}.lv-choice-card{display:flex!important;align-items:flex-start;gap:.7rem;border:1px solid rgba(20,20,20,.14);border-radius:17px;padding:.9rem;background:#fbfaf7;cursor:pointer;min-width:0}.lv-choice-card input{margin-top:.25rem;flex:0 0 auto}.lv-choice-card span{min-width:0}.lv-choice-card strong{margin:0!important;font-size:1rem}.lv-choice-card small{display:block;color:#666;line-height:1.35;margin-top:.25rem;overflow-wrap:anywhere}.lv-offering-groups{display:grid;gap:.75rem;margin:1rem 0 1.25rem}.lv-offering-group{border:1px solid rgba(20,20,20,.14);border-radius:18px;background:#fbfaf7;overflow:hidden;min-width:0}.lv-offering-group summary{cursor:pointer;list-style:none;padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.lv-offering-group summary::-webkit-details-marker{display:none}.lv-offering-group summary:after{content:'+';font-size:1.45rem;flex:0 0 auto}.lv-offering-group[open] summary:after{content:'−'}.lv-offering-group summary strong{display:block}.lv-offering-group summary small{display:block;color:#666;margin-top:.15rem}.lv-offering-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;padding:0 1rem 1rem}.lv-offering-checklist label{display:flex!important;align-items:flex-start;gap:.6rem;background:#fff;border:1px solid rgba(20,20,20,.11);border-radius:14px;padding:.75rem;cursor:pointer;min-width:0}.lv-offering-checklist input{margin-top:.2rem;flex:0 0 auto}.lv-offering-checklist label span{margin:0!important;font-weight:650!important;line-height:1.3;overflow-wrap:anywhere}.lv-work-type-grid{padding:0;margin:1rem 0}.lv-provider-offerings .lv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lv-help{color:#666;font-size:.9rem}.lv-provider-confirm{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.lv-confirm-row{display:flex!important;align-items:flex-start;gap:.7rem;max-width:760px}.lv-confirm-row input{flex:0 0 auto;margin-top:.2rem}.lv-confirm-row span{margin:0!important}.lv-notice-success{border-left:5px solid #2b9a67}.lv-notice-error{border-left:5px solid #b42318}.lv-coverage-table{display:grid;gap:.65rem}.lv-coverage-table>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(20,20,20,.12);border-radius:14px;background:#fff}.lv-coverage-table span{color:#666;text-align:right}
@media(max-width:680px){.lv-provider-offerings .lv-form-grid{grid-template-columns:1fr}.lv-parent-grid,.lv-offering-checklist{grid-template-columns:1fr}.lv-provider-confirm{align-items:stretch}.lv-provider-confirm .lv-primary{width:100%}.lv-coverage-table>div{display:block}.lv-coverage-table span{display:block;text-align:left;margin-top:.3rem}}
