@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
.listing-photo-attribution{position:absolute;z-index:3;right:20px;top:18px;padding:7px 11px;border-radius:999px;background:rgba(15,15,13,.78);color:#fff;font-size:12px;font-weight:700;text-decoration:none;backdrop-filter:blur(8px)}[dir="rtl"] .listing-photo-attribution{right:auto;left:20px}

:root {
  --yellow: #f5c400;
  --yellow-bright: #ffda1a;
  --yellow-soft: #fff6c7;
  --ink: #171714;
  --ink-2: #4f4e47;
  --muted: #68675f;
  --line: #e5e2d8;
  --paper: #fbfaf6;
  --white: #fff;
  --green: #087f5b;
  --shadow: 0 18px 60px rgba(27, 25, 16, .10);
  --radius: 22px;
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.yellow-app {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 9999;
  background: var(--ink); color: var(--white); padding: 12px 18px; border-radius: 10px;
}
.skip-link:focus { top: 16px; }
body.yellow-app :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #7a6100;
  outline-offset: 3px;
}

.site-header {
  position: sticky; top: 0; z-index: 200;
  background: rgba(251, 250, 246, .92);
  border-bottom: 1px solid rgba(229, 226, 216, .82);
  backdrop-filter: blur(16px);
}
.header-inner {
  width: var(--container); min-height: 80px; margin: 0 auto;
  display: flex; align-items: center; gap: 30px;
}
.brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-logo-image { display: block; width: 156px; height: auto; object-fit: contain; }
.brand-mark {
  width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden;
  border-radius: 14px 14px 14px 5px; background: var(--yellow); color: var(--ink);
  box-shadow: inset 0 -4px 0 rgba(0,0,0,.08);
}
.brand-mark span { font: 800 23px/1 'Manrope', sans-serif; transform: translateY(-1px); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font: 800 19px/1 'Manrope', sans-serif; letter-spacing: .09em; }
.brand-copy small { margin-top: 6px; color: var(--muted); font-size: 10px; letter-spacing: .02em; }
.header-navigation { min-width: 0; margin-inline-start: auto; display: flex; align-items: center; gap: 22px; }
.primary-nav { display: flex; align-items: center; gap: 25px; font-weight: 650; }
.primary-nav a { transition: opacity .2s ease; }
.primary-nav a:hover { opacity: .58; }
.header-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 999px; background: var(--ink); color: var(--white); font-weight: 750; transition: transform .2s ease, background .2s ease; }
.nav-cta:hover { background: #30302b; transform: translateY(-1px); }
.mobile-account-link { display: none; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 12px; border: 0; background: transparent; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--ink); border-radius: 9px; }

#app { min-height: 68vh; outline: none; }
.seo-initial { padding-top: 70px; padding-bottom: 80px; }
.seo-initial h1 { max-width: 850px; margin: 0 0 20px; font: 800 clamp(38px,6vw,68px)/1.05 'Manrope'; letter-spacing: -.05em; }
.seo-initial h2 { margin: 30px 0 8px; font: 800 21px 'Manrope'; }
.seo-initial p { max-width: 760px; color: var(--ink-2); }
.shell { width: var(--container); margin: 0 auto; }
.section { padding: 84px 0; }
.section-compact { padding: 54px 0; }
.eyebrow {
  margin: 0 0 15px; color: #755e00; font-size: 12px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
}
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 34px; }
.section-head h2, .page-title { margin: 0; font: 800 clamp(30px, 4vw, 50px)/1.08 'Manrope', sans-serif; letter-spacing: -.045em; }
.section-head p { max-width: 560px; margin: 9px 0 0; color: var(--muted); }
.text-link { display: inline-flex; gap: 8px; align-items: center; font-weight: 700; white-space: nowrap; }
.text-link::after { content: '→'; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(4px); }

.hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: var(--yellow); min-height: 650px; display: grid; align-items: center;
}
.hero::before, .hero::after { content: ''; position: absolute; z-index: -1; border: 1px solid rgba(23,23,20,.13); border-radius: 50%; }
.hero::before { width: 520px; height: 520px; right: -140px; top: -240px; }
.hero::after { width: 330px; height: 330px; right: 70px; bottom: -240px; }
.hero-grid { padding: 72px 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 500px); gap: 48px; align-items: center; }
.hero h1 { max-width: 780px; margin: 0; font: 800 clamp(48px, 7vw, 82px)/.98 'Manrope', sans-serif; letter-spacing: -.065em; }
.hero h1 em { font-style: normal; color: var(--white); text-shadow: 0 2px 0 rgba(0,0,0,.1); }
.hero-lead { max-width: 650px; margin: 24px 0 30px; font-size: clamp(18px, 2vw, 22px); line-height: 1.45; }
.hero-aside { position: relative; min-height: 540px; }
.map-card {
  position: absolute; inset: 0; margin: 0; overflow: visible; border: 0; border-radius: 0;
  background: transparent; color: var(--ink); box-shadow: none;
}
.map-image-link { position: relative; display: block; height: 100%; background: transparent; }
.map-image-link::before {
  content: ''; position: absolute; z-index: -1; width: 68%; aspect-ratio: 1; left: 23%; top: 16%;
  border: 1px solid rgba(23,23,20,.14); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.26),transparent 66%);
  animation: mapAura 6.8s ease-in-out infinite; transform-origin: center;
}
.map-image-link img {
  display: block; width: 100%; height: 540px; object-fit: contain;
  filter: drop-shadow(0 22px 24px rgba(55,42,0,.18));
  animation: mapFloat 6.4s cubic-bezier(.45,.05,.55,.95) infinite;
  transform-origin: 55% 55%; will-change: transform,filter; transition: filter .25s ease;
}
.map-image-link:hover img { animation-play-state: paused; filter: drop-shadow(0 28px 28px rgba(55,42,0,.24)) saturate(1.08); }
@keyframes mapFloat {
  0%,100% { transform: translate3d(0,3px,0) rotate(-.35deg); }
  50% { transform: translate3d(0,-12px,0) rotate(.45deg); }
}
@keyframes mapAura {
  0%,100% { opacity: .45; transform: scale(.92); }
  50% { opacity: .9; transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .map-image-link img, .map-image-link::before { animation: none; }
  .map-image-link:hover img { filter: drop-shadow(0 22px 24px rgba(55,42,0,.18)); }
}

.search-panel { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(190px, .75fr) auto; max-width: 820px; background: var(--white); border: 2px solid var(--ink); border-radius: 18px; overflow: hidden; box-shadow: 7px 7px 0 var(--ink); }
.search-field { position: relative; display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 0 19px; }
.search-field + .search-field { border-left: 1px solid var(--line); }
.search-field svg { width: 21px; height: 21px; flex: 0 0 auto; color: var(--muted); }
.search-field input, .search-field select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.search-field select { appearance: none; cursor: pointer; }
.search-submit { margin: 7px; padding: 0 27px; border: 0; border-radius: 12px; background: var(--ink); color: var(--white); font-weight: 800; cursor: pointer; transition: transform .2s, background .2s; }
.search-submit:hover { background: #30302b; transform: translateY(-1px); }
.quick-searches { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 20px; font-size: 13px; }
.quick-searches span { opacity: .7; }
.quick-searches a { padding: 6px 10px; border: 1px solid rgba(23,23,20,.22); border-radius: 999px; font-weight: 600; }

.stats-strip { border-bottom: 1px solid var(--line); background: var(--white); }
.stats-grid { width: var(--container); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 30px 28px; border-right: 1px solid var(--line); }
.stat:first-child { border-left: 1px solid var(--line); }
.stat strong { display: block; font: 800 clamp(25px, 3vw, 36px)/1 'Manrope', sans-serif; }
.stat span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }

.city-discovery { overflow: hidden; background: #f2f0e8; border-bottom: 1px solid var(--line); }
.city-showcase { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 16px; }
.city-spotlight { position: relative; isolation: isolate; min-height: 386px; overflow: hidden; padding: 34px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 28px; background: var(--ink); color: var(--white); box-shadow: 0 24px 56px rgba(23,23,20,.16); transition: transform .22s ease,box-shadow .22s ease; }
.city-spotlight::after { content: ''; position: absolute; z-index: -1; width: 240px; height: 240px; right: -110px; bottom: -120px; border-radius: 50%; background: var(--yellow); opacity: .82; }
.city-spotlight:hover { transform: translateY(-4px); box-shadow: 0 30px 70px rgba(23,23,20,.22); }
.city-spotlight-map { position: absolute; z-index: -1; top: 22px; right: 3%; width: min(52%,300px); height: 82%; object-fit: contain; opacity: .16; filter: grayscale(1) brightness(4); }
.city-spotlight-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.city-card-rank { color: currentColor; opacity: .45; font: 800 11px 'DM Sans'; letter-spacing: .13em; }
.city-spotlight-label { padding: 7px 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; font: 800 10px 'DM Sans'; letter-spacing: .08em; text-transform: uppercase; }
.city-spotlight-copy { display: flex; flex-direction: column; align-items: flex-start; }
.city-spotlight-copy small { color: var(--yellow); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.city-spotlight-copy strong { max-width: 100%; margin-top: 8px; font: 800 clamp(46px,5.4vw,76px)/.94 'Manrope'; letter-spacing: -.065em; overflow-wrap: anywhere; }
.city-spotlight-copy > span { margin-top: 25px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 900; }
.city-quick-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.city-quick-card { min-width: 0; min-height: 86px; padding: 16px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid rgba(23,23,20,.12); border-radius: 17px; background: rgba(255,255,255,.78); color: var(--ink); transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.city-quick-card:hover { transform: translateY(-2px); border-color: #d4ad00; background: #fff; box-shadow: 0 12px 28px rgba(23,23,20,.08); }
.city-quick-copy { min-width: 0; }
.city-quick-copy strong,.city-quick-copy small { display: block; }
.city-quick-copy strong { font: 800 16px/1.15 'Manrope'; letter-spacing: -.025em; overflow-wrap: anywhere; }
.city-quick-copy small { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.city-quick-arrow { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); font-weight: 900; }
.city-quick-card:last-child:nth-child(odd) { grid-column: 1 / -1; }

.city-directory { overflow: hidden; background: #f7f5ee; }
.city-popular-head { margin-bottom: 18px; }
.city-popular-head h2 { margin: 5px 0 0; font: 800 clamp(30px,4vw,46px)/1.05 'Manrope',sans-serif; letter-spacing: -.045em; }
.city-popular-strip { margin-bottom: 30px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.city-popular-card { min-width: 0; min-height: 144px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(23,23,20,.12); border-radius: 19px; background: var(--white); color: var(--ink); transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.city-popular-card:first-child { background: var(--yellow); }
.city-popular-card:hover { transform: translateY(-3px); border-color: var(--ink); box-shadow: 0 15px 34px rgba(23,23,20,.1); }
.city-popular-card > span:nth-child(2) { min-width: 0; }
.city-popular-card strong,.city-popular-card small { display: block; }
.city-popular-card strong { font: 800 20px/1.05 'Manrope'; letter-spacing: -.04em; overflow-wrap: anywhere; }
.city-popular-card small { margin-top: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.city-popular-card b { align-self: flex-end; font-size: 17px; }
.city-directory-panel { padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: var(--white); box-shadow: 0 18px 48px rgba(23,23,20,.05); }
.city-directory-toolbar { margin-bottom: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.city-directory-toolbar h2 { margin: 4px 0 7px; font: 800 clamp(30px,4vw,46px)/1.05 'Manrope',sans-serif; letter-spacing: -.045em; }
.city-directory-toolbar strong { color: var(--muted); font-size: 13px; }
.city-directory-controls { width: min(100%,520px); display: grid; gap: 10px; }
.city-sort { display: flex; justify-content: flex-end; gap: 8px; order: 2; }
.city-sort button { min-height: 34px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font: 800 11px 'DM Sans',sans-serif; cursor: pointer; }
.city-sort button.active { border-color: var(--ink); background: var(--ink); color: var(--white); }
.city-directory-search { width: min(100%,400px); min-height: 54px; padding: 0 18px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; background: #f8f7f2; }
.city-directory-controls .city-directory-search { width: 100%; }
.city-directory-search > span:first-child { font-size: 24px; }
.city-directory-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: 600 15px 'DM Sans',sans-serif; }
.city-directory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.city-directory-item { min-width: 0; min-height: 86px; padding: 12px 16px; display: grid; grid-template-columns: 26px 42px minmax(0,1fr) 30px; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 16px; background: #faf9f5; color: var(--ink); transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.city-directory-item:hover { transform: translateY(-2px); border-color: #d4ad00; background: #fffbea; box-shadow: 0 11px 24px rgba(23,23,20,.07); }
.city-directory-item[hidden] { display: none; }
.city-directory-initial { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--yellow-soft); font: 900 17px 'Manrope'; }
.city-directory-copy { min-width: 0; }
.city-directory-copy strong,.city-directory-copy small { display: block; }
.city-directory-copy strong { font: 800 16px/1.15 'Manrope'; letter-spacing: -.025em; overflow-wrap: anywhere; }
.city-directory-copy small { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.city-directory-arrow { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--white); font-weight: 900; transition: transform .18s ease; }
.city-directory-item:hover .city-directory-arrow { transform: translateX(3px); }
[dir="rtl"] .city-directory-item:hover .city-directory-arrow { transform: translateX(-3px); }
.city-directory-empty { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--muted); text-align: center; }
.city-directory-empty[hidden] { display: none; }
.city-directory-empty span { font-size: 42px; color: var(--yellow-dark); }

.city-activity-discovery { border-bottom: 1px solid var(--line); background: #fff; }
.city-activity-shell { padding-block: 38px; }
.city-activity-heading { margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.city-activity-heading h2 { margin: 4px 0 7px; font: 800 clamp(27px,3vw,40px)/1.06 'Manrope',sans-serif; letter-spacing: -.04em; }
.city-activity-heading p:not(.eyebrow) { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.6; }
.city-activity-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.city-activity-card { min-width: 0; min-height: 94px; padding: 15px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 16px; background: #faf9f5; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.city-activity-card:hover, .city-activity-card:focus-visible { outline: 0; transform: translateY(-2px); border-color: #d2aa00; background: #fffbea; box-shadow: 0 12px 26px rgba(23,23,20,.08); }
.city-activity-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--yellow-soft); color: #5f4d00; }
.city-activity-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.city-activity-card strong, .city-activity-card small { display: block; }
.city-activity-card strong { font: 800 14px/1.3 'Manrope',sans-serif; overflow-wrap: anywhere; }
.city-activity-card small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.city-activity-card > b { color: #8a7400; font-size: 16px; transition: transform .18s ease; }
.city-activity-card:hover > b { transform: translate(2px,-2px); }
.yellow-rtl .city-activity-card > b { transform: scaleX(-1); }
.yellow-rtl .city-activity-card:hover > b { transform: scaleX(-1) translate(2px,-2px); }

.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.category-card {
  position: relative; min-height: 220px; padding: 24px; overflow: hidden;
  display: flex; flex-direction: column; justify-content: space-between;
  background: linear-gradient(160deg,#fff 0%,#fbfaf6 100%); border: 1px solid var(--line); border-radius: 20px;
  box-shadow: 0 1px 0 rgba(23,23,20,.03); transition: transform .22s, box-shadow .22s, border-color .22s;
}
.category-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: var(--yellow); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.category-card:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(27,25,16,.1); border-color: #d4cfbf; }
.category-card:hover::before { transform: scaleX(1); }
.category-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.category-icon { width: 52px; height: 52px; display: grid; place-items: center; background: var(--yellow-soft); border: 1px solid #f0df82; border-radius: 15px; color: #594900; }
.category-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.category-arrow { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); transition: transform .22s, background .22s, color .22s; }
.category-card:hover .category-arrow { background: var(--ink); border-color: var(--ink); color: var(--white); transform: translate(2px,-2px); }
.category-card-copy { display: block; margin-top: 30px; }
.category-card h3 { margin: 0; max-width: 92%; font: 800 20px/1.25 'Manrope', sans-serif; letter-spacing: -.02em; }
.category-card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; color: var(--muted); font-size: 11px; }
.category-card-meta span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.category-card-meta strong { color: var(--ink); font-weight: 800; }

.yellow-promises { background: #fff; border-block: 1px solid var(--line); }
.promise-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.promise-card { position: relative; min-height: 248px; overflow: hidden; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg,#fff,#faf9f4); }
.promise-card:nth-child(2) { background: var(--yellow); border-color: #d4ab00; }
.promise-card i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: var(--ink); color: var(--yellow); font-style: normal; font-size: 23px; }
.promise-card:nth-child(2) i { background: #fff; color: var(--ink); }
.promise-number { position: absolute; right: 22px; top: 21px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.promise-card h3 { margin: 52px 0 8px; font: 800 22px/1.16 'Manrope'; letter-spacing: -.025em; }
.promise-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.promise-card:nth-child(2) p { color: #4d420d; }

.how-band { background: var(--ink); color: var(--white); }
.how-grid { display: grid; grid-template-columns: .9fr 1.5fr; gap: 90px; align-items: start; }
.how-grid h2 { margin: 0; font: 800 clamp(36px, 5vw, 58px)/1.05 'Manrope', sans-serif; letter-spacing: -.05em; }
.steps { display: grid; gap: 0; }
.step { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 27px 0; border-bottom: 1px solid #3a3934; }
.step:first-child { padding-top: 4px; }
.step-number { width: 42px; height: 42px; display: grid; place-items: center; color: var(--yellow); border: 1px solid #56544b; border-radius: 50%; font-weight: 800; }
.step h3 { margin: 0 0 5px; font: 700 20px 'Manrope', sans-serif; }
.step p { margin: 0; color: #aaa79b; }

.page-hero { padding: 67px 0 58px; background: var(--yellow); border-bottom: 1px solid rgba(23,23,20,.15); }
.page-hero .shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: end; }
.page-hero p { max-width: 690px; margin: 16px 0 0; font-size: 18px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 19px; font-size: 13px; font-weight: 600; }
.breadcrumb a { opacity: .65; }
.breadcrumb span { opacity: .42; }
.result-count { padding: 10px 15px; background: rgba(255,255,255,.4); border: 1px solid rgba(23,23,20,.15); border-radius: 999px; font-weight: 700; white-space: nowrap; }

.taxonomy-hero { position: relative; min-height: 350px; padding: 0; overflow: hidden; background: var(--ink); color: var(--white); border-bottom: 0; }
.taxonomy-hero::before { content: ''; position: absolute; width: 540px; height: 540px; right: -120px; top: -255px; border-radius: 50%; background: var(--yellow); }
.taxonomy-hero::after { content: ''; position: absolute; width: 310px; height: 310px; right: 190px; bottom: -235px; border: 1px solid rgba(245,196,0,.38); border-radius: 50%; }
.taxonomy-hero-orbit { position: absolute; width: 190px; height: 190px; right: 31%; top: 54px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.taxonomy-hero-orbit::before, .taxonomy-hero-orbit::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; }
.taxonomy-hero-orbit::before { inset: 24px; }
.taxonomy-hero-orbit::after { inset: 56px; background: rgba(245,196,0,.06); }
.taxonomy-hero .taxonomy-hero-grid { position: relative; z-index: 1; min-height: 350px; padding: 64px 0; display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 60px; align-items: center; }
.taxonomy-hero-copy { min-width: 0; }
.taxonomy-hero .breadcrumb { margin-bottom: 25px; color: #d0ccbf; }
.taxonomy-hero .breadcrumb a { color: var(--white); opacity: .62; }
.taxonomy-hero .breadcrumb strong { color: var(--white); }
.taxonomy-kind { margin: 0 0 8px !important; color: var(--yellow) !important; font-size: 11px !important; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.taxonomy-hero .page-title { max-width: 780px; margin: 0; color: var(--white); font: 800 clamp(42px,6vw,72px)/1 'Manrope',sans-serif; letter-spacing: -.055em; }
.taxonomy-hero .taxonomy-hero-copy > p:last-child { max-width: 680px; margin: 18px 0 0; color: #c6c2b6; font-size: 17px; line-height: 1.55; }
.taxonomy-hero-card { justify-self: end; width: 250px; min-height: 190px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; background: var(--yellow); color: var(--ink); border: 1px solid rgba(255,255,255,.4); border-radius: 25px; box-shadow: 14px 14px 0 rgba(255,255,255,.09); transform: rotate(2deg); }
.taxonomy-hero-icon { width: 65px; height: 65px; display: grid; place-items: center; border: 1px solid rgba(23,23,20,.18); border-radius: 18px; background: rgba(255,255,255,.42); }
.taxonomy-hero-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.taxonomy-hero-card div { display: flex; align-items: baseline; gap: 8px; }
.taxonomy-hero-card strong { font: 800 38px/1 'Manrope',sans-serif; }
.taxonomy-hero-card div span { font-size: 12px; font-weight: 800; }

.directory-layout { display: grid; grid-template-columns: 275px minmax(0, 1fr); gap: 34px; align-items: start; }
.filter-panel { position: sticky; top: 98px; padding: 25px 22px 22px; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 14px 35px rgba(23,23,20,.05); }
.filter-panel::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: var(--yellow); }
.filter-panel h2 { margin: 0 0 20px; font: 800 19px 'Manrope', sans-serif; }
.filter-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filter-panel-head h2 { margin-bottom: 20px; }
.filter-panel-head button, .mobile-filter-toggle { display: none; }
.filter-group { margin-top: 18px; }
.filter-group label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.filter-control { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); outline: none; }
.filter-control:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(245,196,0,.25); }
.filter-actions { display: grid; gap: 9px; margin-top: 22px; }
.filter-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px !important; margin-top: 13px; font-size: 12px; font-weight: 700; }
.filter-check input { width: 16px; min-height: 16px; }
.stay-filter-group { margin: 20px 0 4px; padding: 15px 14px 16px; border: 1px solid #ead36c; border-radius: 14px; background: linear-gradient(145deg,#fffbea,#fff); }
.stay-filter-group legend { padding: 0 7px; color: #705900; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.stay-filter-group .filter-group:first-of-type { margin-top: 2px; }
.stay-amenity-group .filter-label { display: block; margin-bottom: 9px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.stay-amenity-options { display: grid; gap: 7px; }
.stay-amenity-options label { min-height: 34px; display: flex; align-items: center; gap: 9px; margin: 0; padding: 7px 9px; border: 1px solid #e6dfc1; border-radius: 9px; background: rgba(255,255,255,.8); cursor: pointer; font-size: 11px; font-weight: 750; letter-spacing: 0; text-transform: none; }
.stay-amenity-options label:has(input:checked) { border-color: #b89a08; background: #fff3ae; color: #4f4000; }
.stay-amenity-options input { width: 15px; min-height: 15px; margin: 0; accent-color: #161612; }
.stay-search-dates { margin: 2px 0 16px; padding: 13px; border-radius: 12px; background: var(--ink); color: var(--white); }
.stay-search-dates > span { display: block; margin-bottom: 9px; color: var(--yellow); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.stay-search-dates > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.stay-search-dates label { min-width: 0; margin: 0; }
.stay-search-dates small { display: block; margin-bottom: 4px; color: #d7d2c4; font-size: 9px; font-weight: 800; }
.stay-search-dates .filter-control { min-width: 0; min-height: 39px; padding: 8px; border-color: rgba(255,255,255,.18); background: #fff; font-size: 11px; }
.stay-search-guests { margin-top: 7px; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.locate-button { width: 100%; gap: 7px; margin-top: 12px; }
.locate-button svg { width: 17px; height: 17px; }
.results-toolbar > div { display: flex; align-items: center; gap: 12px; }
.save-search { padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); cursor: pointer; font-size: 11px; font-weight: 800; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 19px; border: 1px solid var(--ink); border-radius: 11px; background: var(--ink); color: var(--white); font-weight: 800; cursor: pointer; }
.button.secondary { background: transparent; color: var(--ink); }
.button.yellow { background: var(--yellow); color: var(--ink); }

.results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.results-toolbar p { margin: 0; color: var(--muted); }
.business-list { display: grid; gap: 12px; }
.business-card-wrap { position: relative; min-width: 0; }
.business-card {
  display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 18px; align-items: center;
  padding: 21px; background: var(--white); border: 1px solid var(--line); border-radius: 17px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.business-card:hover { border-color: #c8c3b3; box-shadow: 0 12px 30px rgba(27,25,16,.07); transform: translateY(-2px); }
.business-monogram { width: 58px; height: 58px; display: grid; place-items: center; background: var(--yellow-soft); border-radius: 15px; font: 800 21px 'Manrope', sans-serif; }
.business-card-image { position: relative; width: 84px; height: 74px; display: block; overflow: hidden; border-radius: 14px; background: var(--yellow-soft); }
.business-card-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: var(--ink); font: 800 20px 'Manrope',sans-serif; }
.business-card-image img { position: relative; z-index: 1; width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .28s ease; }
.business-card-image small { position: absolute; z-index: 2; right: 5px; bottom: 5px; padding: 2px 5px; border-radius: 5px; background: rgba(18,18,15,.78); color: #fff; font-size: 7px; font-weight: 800; letter-spacing: .03em; }
.business-card-image.image-failed img, .business-card-image.image-failed small { display: none; }
.business-card-image.image-failed { box-shadow: inset 0 0 0 1px rgba(23,23,20,.06); }
.business-card:hover .business-card-image img { transform: scale(1.045); }
.business-card:has(.business-card-image) { grid-template-columns: 84px minmax(0,1fr) auto; }
.business-card h2 { margin: 0 0 6px; font: 800 19px/1.25 'Manrope', sans-serif; }
.business-meta, .business-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 13px; color: var(--muted); font-size: 13px; }
.business-tags { margin-top: 8px; }
.business-stay-facts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.business-stay-facts > span { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; border: 1px solid #e1ded3; border-radius: 999px; background: #faf9f5; color: #5e5a4f; font-size: 9px; font-weight: 800; line-height: 1.2; }
.business-stay-facts > span.booking { border-color: #d9c45c; background: #fff8d2; color: #6e5800; }
.business-stay-facts > span.price { border-color: #e4c02f; background: #fff5bd; color: #5f4b00; }
.business-stay-facts > span.bookable { border-color: #a7d6c2; background: #eaf7f1; color: #147a55; }
.business-amenities { display: flex; flex-wrap: wrap; gap: 8px 13px; margin-top: 8px; color: #4f6e5f; font-size: 10px; font-weight: 800; }
.business-amenities > span { display: inline-flex; align-items: center; gap: 4px; }
.tag { display: inline-flex; padding: 4px 8px; background: #f1efe8; border-radius: 999px; color: #656257; }
.listing-kicker-activity { border: 1px solid transparent; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.listing-kicker-activity:hover { border-color: #d6bd3d; background: #fff8d2; color: var(--ink); }
.contact-badges { display: flex; gap: 7px; }
.contact-badge { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); }
.contact-badge.active { background: var(--ink); color: var(--white); border-color: var(--ink); }
.contact-badge svg { width: 16px; height: 16px; }
.verified-badge, .sponsored-badge { display: inline-flex; vertical-align: middle; margin-left: 5px; padding: 3px 6px; border-radius: 999px; font: 800 9px 'DM Sans'; letter-spacing: .01em; }
.verified-badge { background: #e6f6ef; color: var(--green); }
.sponsored-badge { background: var(--yellow-soft); color: #705900; }
.sponsored-results { margin: 0 0 28px; padding: 18px; border: 1px solid #e5c73f; border-radius: 18px; background: linear-gradient(135deg,#fffbea,#fff 62%); }
.sponsored-results-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 14px; padding: 0 3px; }
.sponsored-results-head h2 { margin: 2px 0 0; font: 800 21px 'Manrope'; }
.sponsored-results-head > p { max-width: 450px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; text-align: end; }
.sponsored-results .business-card-wrap { border-color: #ead36c; box-shadow: 0 8px 24px rgba(54,43,0,.04); }
.organic-results-label { display: flex; justify-content: space-between; gap: 20px; margin: 4px 0 12px; color: var(--muted); font-size: 10px; }
.organic-results-label strong { color: var(--ink); font-size: 13px; }
.card-rating { display: flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--muted); font-size: 11px; }
.card-rating .stars { font-size: 13px; }
.tag.open { background: #e6f6ef; color: var(--green); }
.recommendation-reason { display: inline-flex; margin-top: 8px; padding: 5px 8px; border-radius: 999px; background: #eef6f1; color: #147a55; font-size: 10px; font-weight: 800; }
.recent-businesses { padding-top: 0; }
.recent-business-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.recent-business-grid .business-card { height: 100%; }
.recent-clear { align-self: center; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 800; }
.recent-clear:hover { border-color: var(--ink); color: var(--ink); }
.home-discovery { overflow: hidden; background: #f3f1e9; border-block: 1px solid var(--line); }
.home-discovery-tabs { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 22px; padding-bottom: 4px; scrollbar-width: none; }
.home-discovery-tabs::-webkit-scrollbar { display: none; }
.home-discovery-tabs button { min-height: 43px; flex: 0 0 auto; padding: 0 15px; border: 1px solid #d7d2c3; border-radius: 999px; background: #fff; color: var(--ink-2); cursor: pointer; font-size: 12px; font-weight: 800; }
.home-discovery-tabs button.active { border-color: var(--ink); background: var(--ink); color: #fff; }
.home-discovery-panel[hidden] { display: none; }
.home-discovery-panel.active { animation: discovery-in .22s ease both; }
.home-discovery-copy { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 15px; }
.home-discovery-copy p { margin: 0; color: var(--muted); font-size: 13px; }
.home-discovery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-discovery-grid .business-card { height: 100%; }
@keyframes discovery-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes mobile-filter-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.card-compare { position: absolute; top: 12px; right: 16px; min-height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--muted); cursor: pointer; font: 800 10px 'DM Sans'; z-index: 2; }
.card-compare:hover, .card-compare.active, .compare-listing-action.active { border-color: var(--ink); background: var(--yellow); color: var(--ink); }
.card-save { position: absolute; top: 12px; right: 102px; z-index: 3; width: 31px; height: 31px; display: grid; place-items: center; padding: 0 0 1px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; font: 800 17px/1 'DM Sans'; box-shadow: 0 4px 13px rgba(26,24,16,.05); }
.card-save:hover, .card-save.active { border-color: #ddba20; background: var(--yellow); color: var(--ink); }
.card-save:disabled { cursor: wait; opacity: .6; }
.business-card-wrap .contact-badges { padding-top: 27px; }
.community-activity { overflow: hidden; background: var(--ink); color: var(--white); }
.community-activity .section-head h2 { color: var(--white); }
.community-activity .section-head p:not(.eyebrow) { color: #b7b4aa; }
.community-activity .eyebrow { color: var(--yellow); }
.activity-feed-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.activity-feed-card { min-width: 0; display: grid; grid-template-columns: 92px minmax(0,1fr); overflow: hidden; border: 1px solid #383831; border-radius: 18px; background: #20201c; }
.activity-feed-visual { min-height: 100%; display: block; background: #2b2b25; }
.activity-feed-visual .business-card-image, .activity-feed-visual .business-monogram { width: 100%; height: 100%; min-height: 180px; border-radius: 0; }
.activity-feed-visual .business-monogram { background: var(--yellow); color: var(--ink); }
.activity-feed-copy { min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 18px; }
.activity-feed-person { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; }
.activity-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--ink); font-size: 10px; font-weight: 900; }
.activity-feed-person p { min-width: 0; margin: 0; color: #cac7bd; font-size: 12px; line-height: 1.45; }
.activity-feed-person strong, .activity-feed-person a { color: var(--white); font-weight: 800; }
.activity-rating { display: flex; align-items: center; gap: 7px; color: #d6d2c6; font-size: 11px; }
.activity-rating .stars { color: var(--yellow); }
.activity-excerpt { display: -webkit-box; overflow: hidden; margin: 0; color: #ddd9cf; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.activity-checkmark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(245,196,0,.14); color: var(--yellow); font-size: 25px; }
.activity-feed-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 4px; color: #918e85; font-size: 9px; }
.activity-feed-meta a { color: var(--yellow); font-weight: 900; }
.results-view-switch { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: #f2f0e8; }
.results-view-switch button { min-height: 29px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: 10px; font-weight: 900; }
.results-view-switch button.active { background: var(--ink); color: #fff; }
.result-map-view { min-height: 600px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #191916; color: #fff; }
.result-map-view[hidden] { display: none; }
.result-map-intro { padding: 24px 26px 0; }
.result-map-intro h2 { margin: 0; font: 800 23px/1.2 'Manrope'; }
.result-map-intro p { max-width: 680px; margin: 7px 0 0; color: #aba89e; font-size: 12px; }
.result-map-canvas { position: relative; min-height: 520px; overflow: hidden; }
.result-map-canvas > img { position: absolute; top: 28px; bottom: 22px; left: 20%; width: 60%; height: calc(100% - 50px); object-fit: contain; opacity: .2; filter: grayscale(1) contrast(1.35); }
.result-map-pin { position: absolute; left: var(--pin-x); top: var(--pin-y); z-index: 2; display: flex; align-items: center; gap: 7px; transform: translate(-50%,-50%); }
.result-map-pin > b { width: 32px; height: 32px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: var(--yellow); color: var(--ink); box-shadow: 0 6px 18px rgba(0,0,0,.32); font: 900 10px 'Manrope'; }
.result-map-pin > span { max-width: 175px; display: none; padding: 8px 10px; border-radius: 10px; background: #fff; color: var(--ink); box-shadow: 0 10px 25px rgba(0,0,0,.3); line-height: 1.2; }
.result-map-pin:hover, .result-map-pin:focus-visible { z-index: 20; }
.result-map-pin:hover > span, .result-map-pin:focus-visible > span { display: block; }
.result-map-pin strong, .result-map-pin small { display: block; }
.result-map-pin strong { font: 800 11px 'Manrope'; }
.result-map-pin small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.result-map-empty { min-height: 600px; display: grid; place-items: center; align-content: center; padding: 40px; text-align: center; }
.result-map-empty span svg { width: 42px; height: 42px; color: var(--yellow); }
.result-map-empty h2 { margin: 17px 0 3px; }
.result-map-empty p { max-width: 420px; margin: 0; color: #aaa79d; }

.compare-tray { position: fixed; left: 50%; bottom: 18px; z-index: 1200; width: min(980px, calc(100% - 28px)); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(20,20,17,.97); color: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.28); backdrop-filter: blur(16px); transform: translateX(-50%); }
.compare-tray-copy { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.compare-tray-copy strong { font: 800 13px 'Manrope'; }
.compare-tray-copy span { min-width: 30px; padding: 4px 7px; border-radius: 999px; background: var(--yellow); color: var(--ink); text-align: center; font-size: 10px; font-weight: 900; }
.compare-tray-items { min-width: 0; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.compare-tray-items::-webkit-scrollbar { display: none; }
.compare-tray-items button { min-width: 0; max-width: 185px; display: grid; grid-template-columns: 28px minmax(40px,1fr) auto; align-items: center; gap: 7px; padding: 5px 7px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.07); color: #fff; cursor: pointer; }
.compare-tray-items b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--yellow); color: var(--ink); font-size: 9px; }
.compare-tray-items span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 700; }
.compare-tray-items i { font-style: normal; opacity: .6; }
.compare-tray-actions { display: flex; align-items: center; gap: 8px; }
.compare-tray-actions > button { border: 0; background: transparent; color: #d2d0c8; cursor: pointer; font-size: 10px; white-space: nowrap; }
.compare-tray-actions .button { min-height: 39px; padding: 0 14px; font-size: 11px; white-space: nowrap; }

.comparison-hero { padding: 72px 0 64px; background: var(--yellow); }
.comparison-hero-inner { display: flex; justify-content: space-between; align-items: end; gap: 32px; }
.comparison-hero h1 { max-width: 850px; margin: 7px 0 12px; font: 800 clamp(42px,7vw,76px)/.98 'Manrope'; letter-spacing: -.055em; }
.comparison-hero p:not(.eyebrow) { max-width: 690px; margin: 0; font-size: 18px; }
.comparison-hero-actions { max-width: 560px; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.comparison-warning { margin-bottom: 18px; padding: 14px 16px; border: 1px solid #e4b340; border-radius: 12px; background: #fff5d4; color: #735800; font-size: 13px; font-weight: 700; }
.comparison-trip-planner { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr) auto; gap: 20px; align-items: center; margin-bottom: 20px; padding: 20px; overflow: hidden; border: 1px solid #dec449; border-radius: 20px; background: linear-gradient(135deg,#fff7c7 0%,#fffdf4 55%,#fff 100%); box-shadow: 0 14px 34px rgba(23,23,20,.055); }
.comparison-trip-planner > div .eyebrow { margin-bottom: 5px; }
.comparison-trip-planner h2 { margin: 0; font: 800 22px/1.1 'Manrope'; letter-spacing: -.035em; }
.comparison-trip-planner > div > p:not(.eyebrow) { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.comparison-trip-planner form { min-width: 0; display: grid; grid-template-columns: repeat(5,minmax(74px,1fr)) auto; gap: 7px; align-items: end; }
.comparison-trip-planner form label { min-width: 0; }
.comparison-trip-planner form label span { display: block; margin-bottom: 5px; color: #665f42; font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.comparison-trip-planner form input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 9px; border: 1px solid #d8d2b8; border-radius: 10px; background: #fff; font: 700 10px 'Manrope'; }
.comparison-trip-planner form input:focus { outline: 3px solid rgba(245,196,0,.23); border-color: #ad9000; }
.comparison-trip-planner form .button { min-height: 42px; padding-inline: 13px; white-space: nowrap; font-size: 10px; }
.comparison-trip-planner form .form-feedback { grid-column: 1 / -1; margin: 0; }
.comparison-trip-planner > aside { min-width: 118px; padding-inline-start: 18px; border-inline-start: 1px solid #dbcf9b; }
.comparison-trip-planner > aside strong,.comparison-trip-planner > aside span { display: block; }
.comparison-trip-planner > aside strong { font: 900 19px 'Manrope'; }
.comparison-trip-planner > aside span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.comparison-insights { margin-bottom: 20px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 14px 38px rgba(23,23,20,.05); }
.comparison-insights > header { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(280px,1fr); align-items: end; gap: 24px; margin-bottom: 17px; }
.comparison-insights > header .eyebrow { margin-bottom: 5px; }
.comparison-insights > header h2 { margin: 0; font: 800 25px/1.08 'Manrope'; letter-spacing: -.035em; }
.comparison-insights > header > p { max-width: 590px; justify-self: end; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.comparison-insights > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.comparison-insights a { min-width: 0; min-height: 150px; display: grid; grid-template-columns: 42px minmax(0,1fr); align-content: start; gap: 4px 10px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #f6f5ef; color: var(--ink); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.comparison-insights a:hover { transform: translateY(-2px); border-color: #d8b200; box-shadow: 0 12px 26px rgba(23,23,20,.08); }
.comparison-insights a > span { width: 42px; height: 42px; grid-row: 1 / 4; display: grid; place-items: center; border-radius: 12px; background: var(--yellow); font: 900 19px 'Manrope'; }
.comparison-insights a small { overflow: hidden; color: #746f60; font-size: 9px; font-weight: 900; letter-spacing: .04em; line-height: 1.25; text-overflow: ellipsis; text-transform: uppercase; }
.comparison-insights a strong { overflow: hidden; font: 800 13px/1.25 'Manrope'; text-overflow: ellipsis; }
.comparison-insights a b { color: #766000; font-size: 11px; line-height: 1.3; }
.comparison-decision { margin-bottom: 20px; padding: 22px; border: 1px solid #d9c76d; border-radius: 20px; background: linear-gradient(135deg,#fffdf0,#fff 62%); box-shadow: 0 14px 38px rgba(23,23,20,.045); }
.comparison-decision > header { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 17px; }
.comparison-decision > header h2 { margin: 0; font: 800 25px/1.08 'Manrope'; letter-spacing: -.035em; }
.comparison-decision > header p:not(.eyebrow) { max-width: 660px; margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.comparison-decision > header > span { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: var(--yellow-soft); color: #6c5900; font-size: 9px; font-weight: 800; }
.comparison-decision-grid { display: grid; grid-template-columns: repeat(var(--compare-columns,3),minmax(0,1fr)); gap: 10px; }
.comparison-decision-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: border-color .18s, box-shadow .18s, transform .18s; }
.comparison-decision-card.is-top-choice { border-color: #d1aa00; box-shadow: inset 0 0 0 1px #f0c400,0 10px 24px rgba(153,122,0,.10); transform: translateY(-1px); }
.comparison-decision-card > div { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 2px 9px; align-items: center; }
.comparison-decision-monogram { width: 38px; height: 38px; grid-row: 1; display: grid; place-items: center; border-radius: 10px; background: var(--yellow); font-size: 11px; font-weight: 900; }
.comparison-decision-card p { min-width: 0; margin: 0; }
.comparison-decision-card p strong,.comparison-decision-card p small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comparison-decision-card p strong { font-size: 12px; }
.comparison-decision-card p small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.comparison-decision-card button { grid-column: 1 / -1; min-height: 34px; margin-top: 8px; border: 1px solid var(--line); border-radius: 9px; background: #f7f6f1; color: var(--ink); cursor: pointer; font-size: 9px; font-weight: 900; }
.comparison-decision-card.is-top-choice button { border-color: var(--ink); background: var(--ink); color: #fff; }
.comparison-decision-card label { display: block; margin-top: 12px; }
.comparison-decision-card label > span { display: block; margin-bottom: 5px; color: #625f54; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.comparison-decision-card textarea { width: 100%; min-height: 76px; resize: vertical; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: 11px/1.45 'DM Sans'; }
.comparison-decision-card textarea:focus { outline: 3px solid rgba(245,196,0,.22); border-color: #b59600; }
.comparison-decision-feedback { min-height: 14px; margin: 10px 0 -4px; color: #287454; font-size: 10px; font-weight: 800; text-align: end; }
.comparison-view-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 0 0 12px; padding: 10px 12px 10px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.comparison-view-toolbar > div:first-child strong,.comparison-view-toolbar > div:first-child span { display: block; }
.comparison-view-toolbar > div:first-child strong { font: 800 12px 'Manrope'; }
.comparison-view-toolbar > div:first-child span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.comparison-view-toolbar > div:last-child { display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; background: #efede5; }
.comparison-view-toolbar button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #6b685e; cursor: pointer; font-size: 10px; font-weight: 900; }
.comparison-view-toolbar button[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: 0 3px 10px rgba(23,23,20,.16); }
.comparison-card-view { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: 14px; }
.comparison-card-view[hidden] { display: none; }
.comparison-summary-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(23,23,20,.045); }
.comparison-summary-card > header { min-height: 112px; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 5px 12px; align-items: center; padding: 17px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,#fff9d8,#fff 70%); }
.comparison-summary-card > header .comparison-logo { width: 52px; height: 52px; grid-row: 1 / 3; border-radius: 13px; font-size: 15px; }
.comparison-summary-card > header h2 { margin: 0; font: 800 17px/1.18 'Manrope'; letter-spacing: -.025em; }
.comparison-summary-card > header p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.comparison-summary-card > header > a { grid-column: 2; color: var(--ink); font-size: 10px; font-weight: 900; }
.comparison-summary-card dl { margin: 0; }
.comparison-summary-card dl > div { display: grid; grid-template-columns: minmax(105px,.65fr) minmax(0,1.35fr); gap: 12px; padding: 12px 17px; border-bottom: 1px solid var(--line); }
.comparison-summary-card dl > div:last-child { border-bottom: 0; }
.comparison-summary-card dt { color: #6a675e; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.comparison-summary-card dd { min-width: 0; margin: 0; color: #36352f; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.comparison-summary-card dd .compare-booking-button { width: 100%; }
.comparison-summary-card > .compare-booking-button { display: none; }
.comparison-enquiry-dialog { width: min(780px,calc(100% - 28px)); max-height: min(860px,calc(100vh - 32px)); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: #fff; color: var(--ink); box-shadow: 0 34px 100px rgba(0,0,0,.34); }
.comparison-enquiry-dialog::backdrop { background: rgba(15,15,12,.72); backdrop-filter: blur(5px); }
.comparison-enquiry-dialog form { max-height: min(860px,calc(100vh - 32px)); overflow-y: auto; padding: 28px; }
.comparison-enquiry-dialog header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; margin: -28px -28px 24px; padding: 28px; background: var(--yellow); }
.comparison-enquiry-dialog header .eyebrow { margin-bottom: 6px; }
.comparison-enquiry-dialog header h2 { margin: 0; font: 800 32px/1.05 'Manrope'; letter-spacing: -.04em; }
.comparison-enquiry-dialog header p:not(.eyebrow) { max-width: 590px; margin: 8px 0 0; font-size: 13px; line-height: 1.55; }
.comparison-enquiry-dialog header > button { width: 38px; height: 38px; border: 1px solid rgba(23,23,20,.35); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; font-size: 24px; }
.comparison-enquiry-dialog fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.comparison-enquiry-dialog legend { margin-bottom: 9px; font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.comparison-enquiry-recipients { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.comparison-enquiry-recipients label { min-width: 0; display: grid; grid-template-columns: auto 35px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; gap: 2px 8px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #f7f6f1; cursor: pointer; }
.comparison-enquiry-recipients label:has(input:checked) { border-color: #cda700; background: var(--yellow-soft); box-shadow: inset 0 0 0 1px #e0ba16; }
.comparison-enquiry-recipients input { grid-row: 1 / 3; accent-color: var(--ink); }
.comparison-enquiry-recipients label > span { width: 35px; height: 35px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 9px; background: var(--yellow); font-size: 10px; font-weight: 900; }
.comparison-enquiry-recipients strong, .comparison-enquiry-recipients small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.comparison-enquiry-recipients strong { font-size: 11px; }
.comparison-enquiry-recipients small { color: var(--muted); font-size: 9px; }
.comparison-enquiry-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.comparison-enquiry-fields label { min-width: 0; }
.comparison-enquiry-fields label > span { display: block; margin-bottom: 6px; font-size: 10px; font-weight: 800; }
.comparison-enquiry-fields .span-3 { grid-column: 1 / -1; }
.comparison-enquiry-fields input, .comparison-enquiry-fields textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; }
.comparison-enquiry-fields textarea { resize: vertical; line-height: 1.55; }
.comparison-enquiry-fields input:focus, .comparison-enquiry-fields textarea:focus { outline: 3px solid rgba(245,196,0,.22); border-color: #b59600; }
.comparison-enquiry-consent { display: flex; align-items: flex-start; gap: 9px; margin-top: 16px; padding: 13px; border: 1px solid #ddd8c4; border-radius: 11px; background: #fffdf1; font-size: 11px; font-weight: 700; line-height: 1.45; cursor: pointer; }
.comparison-enquiry-consent input { margin-top: 2px; accent-color: var(--ink); }
.comparison-enquiry-privacy { margin: 11px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.comparison-enquiry-dialog .form-feedback { margin: 12px 0 0; }
.comparison-enquiry-dialog .form-feedback.warning { color: #795b00; }
.comparison-enquiry-dialog footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.comparison-scroll { overflow-x: auto; padding-bottom: 6px; }
.comparison-table { --compare-columns: 2; min-width: calc(165px + var(--compare-columns) * 240px); display: grid; grid-template-columns: minmax(150px,.7fr) repeat(var(--compare-columns), minmax(230px,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.comparison-corner, .comparison-business, .comparison-label, .comparison-value { min-width: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.comparison-corner { display: flex; flex-direction: column; justify-content: end; background: var(--ink); color: #fff; }
.comparison-corner strong { font: 800 16px/1.25 'Manrope'; }
.comparison-corner span { margin-top: 7px; color: #aaa79c; font-size: 11px; }
.comparison-business { position: relative; min-height: 210px; display: flex; flex-direction: column; align-items: flex-start; background: #fff; }
.comparison-business > button { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); cursor: pointer; }
.comparison-logo { width: 58px; height: 58px; display: grid; place-items: center; overflow: hidden; border-radius: 15px; background: var(--yellow-soft); font: 800 18px 'Manrope'; }
.comparison-logo img { width: 100%; height: 100%; object-fit: cover; }
.comparison-business h2 { margin: 14px 34px 4px 0; font: 800 18px/1.2 'Manrope'; }
.comparison-business p { margin: 0; color: var(--muted); font-size: 12px; }
.comparison-business a { margin-top: auto; padding-top: 13px; color: var(--ink); font-size: 11px; font-weight: 800; }
.comparison-label { background: #f3f1e9; font-size: 12px; font-weight: 900; }
.comparison-value { display: flex; flex-direction: column; justify-content: center; gap: 5px; color: #37362f; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.comparison-value small { color: var(--muted); }
.comparison-value .stars { color: var(--yellow-dark); white-space: nowrap; }
.compare-booking-score { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.compare-booking-score strong { display: inline-flex; padding: 5px 8px; border-radius: 8px; background: var(--yellow); color: var(--ink); font: 900 14px 'Manrope'; }
.compare-booking-score small { color: var(--muted); font-size: 10px; }
.compare-stay-estimate { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.compare-stay-estimate strong { color: var(--ink); font: 900 16px 'Manrope'; }
.compare-stay-estimate small { color: var(--muted); font-size: 9px; }
.compare-booking-button { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--ink); border-radius: 9px; background: var(--yellow); color: var(--ink); font-size: 10px; font-weight: 900; text-align: center; }
.compare-booking-button:hover { background: var(--ink); color: #fff; }
.compare-facilities { display: flex; flex-wrap: wrap; gap: 6px; }
.compare-facilities b { display: inline-flex; padding: 4px 7px; border: 1px solid #bcd8c9; border-radius: 999px; background: #edf8f2; color: #28654b; font-size: 9px; line-height: 1.2; }
.compare-contact-icons { display: flex; gap: 7px; }
.compare-contact-icons b { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12px; }
.comparison-add { min-height: 58px; display: flex; align-items: center; justify-content: center; margin-top: 14px; border: 1px dashed #bbb7aa; border-radius: 14px; color: var(--ink); font-weight: 800; }
.comparison-neutral { max-width: 820px; margin: 20px auto 0; color: var(--muted); text-align: center; font-size: 12px; line-height: 1.6; }

.pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 32px; }
.page-button { min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); cursor: pointer; font-weight: 700; }
.page-button.active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.page-button:disabled { opacity: .4; cursor: default; }

.activity-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.activity-item { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 72px; padding: 15px 17px; background: var(--white); border: 1px solid var(--line); border-radius: 13px; transition: border-color .2s, transform .2s; }
.activity-item:hover { border-color: var(--ink); transform: translateY(-2px); }
.activity-item strong { font-size: 14px; line-height: 1.3; }
.count-pill { flex: 0 0 auto; min-width: 34px; padding: 4px 8px; text-align: center; background: var(--yellow-soft); border-radius: 999px; color: #675200; font-size: 12px; font-weight: 800; }

.business-detail { padding: 58px 0 90px; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .65fr); gap: 30px; align-items: start; }
.detail-main, .detail-side { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.detail-main { padding: clamp(25px, 4vw, 44px); }
.detail-kicker { display: flex; align-items: center; gap: 15px; margin-bottom: 26px; }
.detail-kicker > div { min-width: 0; flex: 1; }
.favorite-button { width: 45px; height: 45px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); cursor: pointer; font-size: 23px; }
.favorite-button.active { border-color: var(--yellow); background: var(--yellow-soft); color: #a78200; }
.detail-logo { width: 68px; height: 68px; display: grid; place-items: center; background: var(--yellow); border-radius: 19px; font: 800 27px 'Manrope'; }
.detail-logo.has-image { overflow: hidden; background: var(--white); border: 1px solid var(--line); }
.detail-logo img { width: 100%; height: 100%; object-fit: cover; }
.listing-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 5px; font-size: 13px; }
.listing-rating > span:last-child { color: var(--muted); }
.listing-rating > .yellow-score:last-child {
  padding: 4px 9px;
  border: 1px solid #d9a900;
  border-radius: 999px;
  background: var(--yellow-soft);
  color: #554300;
  box-shadow: inset 0 -1px 0 rgba(117, 94, 0, .10);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .01em;
}
.stars { color: #d9a900; letter-spacing: .07em; white-space: nowrap; }
.listing-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.listing-gallery a { overflow: hidden; aspect-ratio: 4 / 3; border-radius: 13px; background: var(--paper); }
.listing-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.listing-gallery a:hover img { transform: scale(1.035); }
.profile-block { margin-top: 20px; }
.profile-block h3 { margin: 0 0 8px; font: 800 14px 'Manrope'; }
.profile-block h3 small { margin-left: 8px; color: var(--muted); font: 600 11px 'DM Sans'; }
.profile-block h3 .open-now { color: var(--green); }
.feature-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.feature-chips span { padding: 6px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); color: var(--ink-2); font-size: 12px; }
.hours-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 5px 22px; margin: 0; }
.hours-list div { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.hours-list dt { color: var(--muted); }
.hours-list dd { margin: 0; font-weight: 700; }
.map-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-weight: 800; }
.map-link svg { width: 20px; height: 20px; }
.confirmed-date { margin-top: 15px !important; color: var(--muted) !important; font-size: 11px; }
.detail-main h1 { margin: 0; font: 800 clamp(31px, 5vw, 52px)/1.05 'Manrope'; letter-spacing: -.045em; }
.verified { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: 12px; font-weight: 700; }
.detail-section { padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--line); }
.detail-section h2 { margin: 0 0 13px; font: 800 20px 'Manrope'; }
.detail-section p { margin: 0; color: var(--ink-2); }
.detail-side { position: sticky; top: 98px; padding: 24px; }
.detail-side h2 { margin: 0 0 17px; font: 800 19px 'Manrope'; }
.contact-row { display: grid; grid-template-columns: 38px 1fr; gap: 11px; align-items: start; padding: 13px 0; border-top: 1px solid var(--line); }
.contact-row:first-of-type { border-top: 0; }
.contact-row .icon-box { width: 36px; height: 36px; display: grid; place-items: center; background: var(--yellow-soft); border-radius: 10px; }
.contact-row span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.contact-row strong, .contact-row a { display: block; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.listing-city-row a { width: fit-content; color: var(--ink); border-bottom: 1px solid #b99a0b; }
.listing-city-row a b { color: #8a7400; font-size: 11px; }
.listing-city-row small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.listing-city-inline { width: fit-content; margin-top: 5px; display: inline-flex; align-items: center; gap: 4px; color: var(--ink); border-bottom: 1px solid #c5aa27; }
.listing-city-inline span { color: #8a7400; transition: transform .18s ease; }
.listing-city-inline:hover span { transform: translateX(3px); }
.yellow-rtl .listing-city-inline span { transform: scaleX(-1); }
.yellow-rtl .listing-city-inline:hover span { transform: scaleX(-1) translateX(3px); }
.listing-taxonomy-section > .eyebrow { margin: 0 0 7px; color: #806b00; }
.listing-taxonomy-section > h2 { margin-bottom: 6px; }
.listing-taxonomy-lead { color: var(--muted) !important; font-size: 13px; }
.listing-taxonomy-groups { display: grid; gap: 18px; margin-top: 20px; }
.listing-taxonomy-groups > div > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.listing-taxonomy-groups > div > div { display: flex; flex-wrap: wrap; gap: 8px; }
.listing-taxonomy-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 800; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.listing-taxonomy-chip.category { background: var(--yellow-soft); border-color: #eadb8b; }
.listing-taxonomy-chip b { color: #8a7400; font-size: 10px; }
.listing-taxonomy-chip:hover { border-color: #b99a0b; box-shadow: 0 7px 18px rgba(27,25,16,.07); transform: translateY(-1px); }
.listing-taxonomy-local { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; padding: 13px 15px; border-radius: 12px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 800; }
.listing-taxonomy-local b { color: var(--yellow); transition: transform .18s ease; }
.listing-taxonomy-local:hover b { transform: translateX(3px); }
.yellow-rtl .listing-taxonomy-local b { transform: scaleX(-1); }
.yellow-rtl .listing-taxonomy-local:hover b { transform: scaleX(-1) translateX(3px); }
.protected-phone { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 11px; }
.protected-phone strong { letter-spacing: .06em; }
.protected-phone button { min-height: 32px; padding: 4px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #705900; cursor: pointer; font-size: 12px; font-weight: 800; }
.protected-phone button:disabled { cursor: wait; opacity: .55; }
.contact-business-button { width: 100%; gap: 9px; margin-top: 18px; }
.contact-business-button svg { width: 20px; height: 20px; }
.contact-business-button.active { background: var(--ink); color: var(--white); }
.contact-panel { margin-top: 12px; padding: 19px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.contact-panel[hidden] { display: none; }
.lead-widget { display: grid; gap: 8px; margin-top: 12px; }
.lead-widget > .button { width: 100%; }
.lead-widget .whatsapp { background: #168a58; color: #fff; }
.lead-panel { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.lead-panel[hidden] { display: none; }
.lead-panel h3 { margin: 0; font: 800 17px 'Manrope'; }
.lead-panel > p { margin: 5px 0 15px; color: var(--muted); font-size: 12px; }
.lead-panel form { display: grid; gap: 10px; }
.lead-panel label { display: grid; gap: 4px; }
.lead-panel label span { font-size: 11px; font-weight: 800; }
.lead-panel input, .lead-panel textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font: inherit; }
.booking-widget { display: grid; gap: 8px; margin-top: 12px; }
.booking-widget > .button { width: 100%; }
.booking-panel { padding: 18px; border: 1px solid #d9c15d; border-radius: 14px; background: #fffaf0; }
.booking-panel[hidden] { display: none; }
.booking-panel-head { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 15px; }
.booking-panel-head > span { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--yellow); font-size: 18px; }
.booking-panel h3 { margin: 0; font: 800 17px 'Manrope'; }
.booking-panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.booking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.booking-grid label { display: grid; gap: 4px; }
.booking-grid label > span { font-size: 10px; font-weight: 800; text-transform: uppercase; }
.booking-grid .span-2 { grid-column: 1 / -1; }
.booking-grid input, .booking-grid select, .booking-grid textarea { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font: inherit; }
.booking-panel form > .button { width: 100%; margin-top: 11px; }
.contact-panel h3 { margin: 0 0 4px; font: 800 17px 'Manrope'; }
.contact-panel > p { margin: 0 0 16px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.contact-form { display: grid; gap: 12px; }
.contact-form label { display: grid; gap: 5px; }
.contact-form label > span { color: var(--ink-2); font-size: 11px; font-weight: 800; }
.contact-form input, .contact-form textarea { width: 100%; min-height: 44px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); color: var(--ink); font: inherit; outline: 0; }
.contact-form textarea { resize: vertical; line-height: 1.45; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(245,196,0,.25); }
.contact-form .form-submit { min-height: 44px; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-success { padding: 15px; border-radius: 11px; background: #e6f6ef; color: #087f5b; text-align: center; }
.contact-success span { display: block; margin-bottom: 3px; font-size: 22px; }
.contact-success p { margin: 5px 0 0; font-size: 12px; }
.listing-bio { margin-top: 18px; padding: 18px; border-radius: 15px; background: linear-gradient(145deg, #1b1b18, #343229); color: var(--white); }
.listing-bio > span { display: block; color: #c8c4b7; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.listing-bio > strong { display: block; margin-top: 3px; font: 800 17px 'Manrope'; }
.listing-socials { display: flex; flex-wrap: wrap; gap: 7px; margin: 13px 0; }
.listing-socials a { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--white); font: 800 11px 'Manrope'; }
.listing-bio .bio-link-button { width: 100%; min-height: 42px; border-color: var(--yellow); background: var(--yellow); color: var(--ink); font-size: 12px; }
.manage-bio-button { width: 100%; margin-top: 10px; }
.ownership-note { margin-top: 16px; padding: 13px 14px; border-radius: 11px; text-align: center; font-size: 13px; font-weight: 700; }
.verified-owner { background: #e6f6ef; color: #087f5b; }
.pending-owner { background: var(--yellow-soft); color: #705900; }

/* Photo-led business page */
.listing-photo-hero { position: relative; min-height: 540px; overflow: hidden; background: #1a1916; color: var(--white); }
.listing-photo-grid { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0,2fr) minmax(180px,1fr) minmax(180px,1fr); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 5px; background: #0e0e0c; }
.listing-photo-tile { min-width: 0; min-height: 0; overflow: hidden; padding: 0; border: 0; background: #282722; cursor: zoom-in; }
.listing-photo-tile img { width: 100%; height: 100%; min-height: 0; display: block; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.listing-photo-tile:hover img, .listing-photo-tile:focus-visible img { transform: scale(1.025); filter: brightness(1.05); }
.listing-photo-tile:focus-visible { position: relative; z-index: 2; outline: 4px solid var(--yellow); outline-offset: -4px; }
.listing-photo-placeholder-grid .listing-photo-tile { cursor: default; }
.listing-photo-placeholder-grid .listing-photo-tile img { filter: saturate(.92) contrast(1.02); }
.listing-photo-placeholder-grid .listing-photo-tile:hover img { transform: none; filter: saturate(.92) contrast(1.02); }
.listing-photo-tile-1 { grid-column: 1; grid-row: 1 / 3; }
.listing-photo-tile-2 { grid-column: 2; grid-row: 1; }
.listing-photo-tile-3 { grid-column: 3; grid-row: 1; }
.listing-photo-tile-4 { grid-column: 2; grid-row: 2; }
.listing-photo-tile-5 { grid-column: 3; grid-row: 2; }
.listing-photo-count-1 { grid-template-columns: 1fr; }
.listing-photo-count-1 .listing-photo-tile-1 { grid-column: 1; }
.listing-photo-count-2 { grid-template-columns: minmax(0,1.65fr) minmax(300px,1fr); }
.listing-photo-count-2 .listing-photo-tile-2 { grid-column: 2; grid-row: 1 / 3; }
.listing-photo-count-3 { grid-template-columns: minmax(0,1.8fr) minmax(300px,1fr); }
.listing-photo-count-3 .listing-photo-tile-2, .listing-photo-count-4 .listing-photo-tile-2 { grid-column: 2; grid-row: 1; }
.listing-photo-count-3 .listing-photo-tile-3 { grid-column: 2; grid-row: 2; }
.listing-photo-count-4 .listing-photo-tile-4 { grid-column: 2 / 4; grid-row: 2; }
.listing-photo-shade { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(13,13,11,.82) 0%, rgba(13,13,11,.25) 52%, rgba(13,13,11,.06) 100%), linear-gradient(0deg, rgba(13,13,11,.78), transparent 58%); }
.listing-photo-content { position: relative; z-index: 2; min-height: 540px; display: flex; flex-direction: column; justify-content: space-between; padding-top: 34px; padding-bottom: 42px; pointer-events: none; }
.listing-photo-content > * { pointer-events: auto; }
.hero-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: rgba(255,255,255,.72); font-size: 12px; }
.hero-breadcrumb a { color: var(--white); }
.hero-breadcrumb strong { color: rgba(255,255,255,.72); font-weight: 600; }
.listing-hero-copy { max-width: 820px; margin-top: auto; }
.hero-verified { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #dff5ea; color: #087f5b; font-size: 11px; font-weight: 800; }
.hero-verified.public { background: rgba(255,255,255,.16); color: var(--white); backdrop-filter: blur(8px); }
.listing-hero-copy h1 { margin: 14px 0 13px; color: var(--white); font: 800 clamp(46px, 7vw, 82px)/.98 'Manrope'; letter-spacing: -.055em; text-shadow: 0 3px 24px rgba(0,0,0,.28); }
.listing-hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 14px; font-weight: 700; }
.listing-hero-meta > span:not(:first-child)::before { content: '·'; margin-right: 10px; color: rgba(255,255,255,.55); }
.listing-hero-meta .stars { color: #ffd21f; }
.listing-hero-meta b { color: rgba(255,255,255,.78); font-weight: 600; }
.listing-hero-meta .hero-open { color: #8ce1b7; }
.all-photos-button { position: absolute; right: max(14px, calc((100% - 1180px)/2)); bottom: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.75); border-radius: 10px; background: rgba(22,22,19,.78); color: var(--white); cursor: pointer; backdrop-filter: blur(12px); font: 800 12px 'DM Sans'; }
.all-photos-button:hover { border-color: var(--white); background: rgba(10,10,9,.92); }
.all-photos-button span { font-size: 17px; line-height: 1; }

/* Booking/Yelp-style full photo viewer */
body.photo-lightbox-open { overflow: hidden; }
.photo-lightbox[hidden] { display: none; }
.photo-lightbox { position: fixed; z-index: 10000; inset: 0; display: grid; grid-template-columns: 90px minmax(0,1fr) 90px; grid-template-rows: 76px minmax(0,1fr) 112px; color: #fff; background: rgba(8,8,8,.97); }
.photo-lightbox-backdrop { position: absolute; inset: 0; padding: 0; border: 0; background: transparent; cursor: default; }
.photo-lightbox-header { position: relative; z-index: 2; grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border-bottom: 1px solid rgba(255,255,255,.12); }
.photo-lightbox-header strong, .photo-lightbox-header span { display: block; }
.photo-lightbox-header strong { max-width: min(70vw,700px); overflow: hidden; font: 800 15px 'Manrope'; text-overflow: ellipsis; white-space: nowrap; }
.photo-lightbox-header span { margin-top: 3px; color: rgba(255,255,255,.62); font-size: 11px; }
.photo-lightbox-close { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font: 300 31px/1 Arial,sans-serif; }
.photo-lightbox-close:hover { background: rgba(255,255,255,.18); }
.photo-lightbox-stage { position: relative; z-index: 1; grid-column: 2; grid-row: 2; min-width: 0; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; padding: 14px 0 8px; }
.photo-lightbox-stage > img { max-width: 100%; max-height: calc(100% - 38px); min-height: 0; object-fit: contain; border-radius: 3px; box-shadow: 0 24px 70px rgba(0,0,0,.38); }
.photo-lightbox-stage figcaption { width: 100%; min-height: 30px; display: flex; align-items: center; justify-content: center; gap: 14px; padding-top: 9px; color: rgba(255,255,255,.7); font-size: 11px; text-align: center; }
.photo-lightbox-stage figcaption span { max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.photo-lightbox-stage figcaption a { color: #ffd21f; font-weight: 800; white-space: nowrap; }
.photo-lightbox-arrow { position: relative; z-index: 2; align-self: center; justify-self: center; width: 50px; height: 50px; display: grid; place-items: center; padding: 0 0 4px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.09); color: #fff; cursor: pointer; font: 300 44px/1 Arial,sans-serif; }
.photo-lightbox-arrow:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.18); }
.photo-lightbox-arrow.previous { grid-column: 1; grid-row: 2; }
.photo-lightbox-arrow.next { grid-column: 3; grid-row: 2; }
.photo-lightbox-strip { position: relative; z-index: 2; grid-column: 1 / -1; grid-row: 3; display: flex; align-items: center; justify-content: safe center; gap: 8px; overflow-x: auto; padding: 14px 24px 18px; border-top: 1px solid rgba(255,255,255,.12); scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.35) transparent; }
.photo-lightbox-thumb { width: 76px; height: 68px; flex: 0 0 76px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 8px; background: #222; cursor: pointer; opacity: .55; transition: opacity .2s ease, border-color .2s ease, transform .2s ease; }
.photo-lightbox-thumb:hover { opacity: .85; }
.photo-lightbox-thumb.active { border-color: var(--yellow); opacity: 1; transform: translateY(-2px); }
.photo-lightbox-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.listing-action-bar { position: sticky; top: 78px; z-index: 80; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(22,22,18,.04); backdrop-filter: blur(12px); }
.listing-action-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.listing-primary-actions, .listing-section-nav { display: flex; align-items: center; gap: 8px; }
.listing-action { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); cursor: pointer; font: 800 12px 'DM Sans'; white-space: nowrap; }
.listing-action:hover { border-color: var(--ink); }
.listing-action.review-action { border-color: var(--yellow); background: var(--yellow); }
.listing-action.favorite-action.active { background: var(--yellow-soft); border-color: #e9c62f; color: #806500; }
.listing-action.checkin-action { flex-direction: column; align-items: flex-start; gap: 1px; padding-block: 5px; line-height: 1.1; }
.listing-action.checkin-action small { color: var(--muted); font-size: 8px; font-weight: 700; }
.listing-action.checkin-action.active { border-color: #91cfb4; background: #e8f7ef; color: #0d724c; }
.listing-action.checkin-action.active small { color: #31775c; }
.listing-admin-actions { display: inline-flex; align-items: center; gap: 8px; margin-inline-start: 4px; padding-inline-start: 12px; border-inline-start: 1px solid var(--line); }
.listing-action.admin-edit-listing { border-color: var(--ink); background: var(--ink); color: var(--white); text-decoration: none; }
.listing-action.admin-edit-listing:hover { background: #33332f; color: var(--white); }
.listing-action.admin-delete-listing { border-color: #c43b32; background: #fff4f2; color: #9d241d; }
.listing-action.admin-delete-listing:hover { background: #c43b32; color: var(--white); }
.listing-action.admin-delete-listing:disabled { cursor: wait; opacity: .65; }
.listing-section-nav a { padding: 28px 4px 24px; border-bottom: 3px solid transparent; color: var(--muted); font-size: 12px; font-weight: 800; }
.listing-section-nav a:hover,
.listing-section-nav a.active,
.listing-section-nav a[aria-current="location"] { color: var(--ink); border-color: var(--yellow); }
.about-intro { padding-bottom: 4px; }
.about-intro .eyebrow { margin-bottom: 7px; }
.about-intro h2 { margin: 0 0 14px; font: 800 clamp(28px,4vw,38px)/1.1 'Manrope'; letter-spacing: -.035em; }
.about-intro > p:last-child { margin: 0; color: var(--ink-2); font-size: 16px; line-height: 1.72; }
.listing-snapshot { margin-top: 30px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(135deg,#fffdf6 0%,#f5f3eb 100%); }
.listing-snapshot-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.listing-snapshot-heading .eyebrow { margin: 0; }
.listing-snapshot-heading h2 { margin: 0; font: 800 20px 'Manrope'; letter-spacing: -.025em; }
.listing-snapshot-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.listing-snapshot-card { min-width: 0; min-height: 82px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #e1ded3; border-radius: 14px; background: rgba(255,255,255,.82); color: var(--ink); text-align: start; cursor: pointer; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.listing-snapshot-card:has(>.listing-snapshot-source) { min-height: 92px; grid-template-columns: 38px minmax(0,1fr); grid-template-rows: auto auto; align-content: center; }
.listing-snapshot-card:has(>.listing-snapshot-source) .listing-snapshot-icon { grid-row: 1 / span 2; }
.listing-snapshot-card:has(>.listing-snapshot-source) > span:nth-child(2) { grid-column: 2; grid-row: 1; }
.listing-snapshot-card:hover { transform: translateY(-2px); border-color: #bca12e; box-shadow: 0 10px 22px rgba(23,23,20,.08); }
.listing-snapshot-card > span:nth-child(2) { min-width: 0; }
.listing-snapshot-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--yellow); color: var(--ink); font-weight: 900; }
.listing-snapshot-card small,.listing-snapshot-card strong { display: block; }
.listing-snapshot-card small { margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.listing-snapshot-card strong { color: var(--ink); font-size: 12px; line-height: 1.4; overflow-wrap: break-word; }
.listing-snapshot-card > b { color: #8c877a; font-size: 11px; }
.listing-snapshot-source { grid-column: 2; grid-row: 2; justify-self: start; max-width: 100%; padding: 4px 7px; border-radius: 999px; background: #f0ede4; font-size: 9px !important; line-height: 1.2; letter-spacing: .03em; overflow-wrap: break-word; }
.visit-planner { position: relative; overflow: hidden; margin-top: 30px; padding: 26px; border-radius: 22px; background: var(--ink); color: var(--white); }
.visit-planner::after { position: absolute; inset-inline-end: -70px; top: -90px; width: 230px; height: 230px; border: 1px solid rgba(245,196,0,.22); border-radius: 50%; content: ''; pointer-events: none; }
.visit-planner-head { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.visit-planner-head .eyebrow { margin-bottom: 7px; color: var(--yellow); }
.visit-planner-head h2 { max-width: 560px; margin: 0; color: var(--white); font: 800 clamp(24px,3vw,32px)/1.08 'Manrope'; letter-spacing: -.035em; }
.visit-planner-head p:not(.eyebrow) { max-width: 600px; margin: 9px 0 0; color: #aaa79d; font-size: 13px; line-height: 1.55; }
.visit-planner-head > span { width: 54px; height: 54px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--ink); font: 900 28px/1 'Manrope'; }
.visit-planner-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.visit-planner-card { min-width: 0; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; align-items: start; padding: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.055); }
.visit-planner-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(245,196,0,.13); color: var(--yellow); font-weight: 900; }
.visit-planner-card small,.visit-planner-card strong { display: block; }
.visit-planner-card small { margin-bottom: 4px; color: #a8a59a; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.visit-planner-card strong { color: var(--white); font-size: 13px; line-height: 1.35; }
.visit-planner-card p { margin: 3px 0 0; color: #cbc7bb; font-size: 11px; line-height: 1.4; }
.visit-planner-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.visit-planner-actions .button { min-height: 42px; padding: 0 16px; }
.visit-planner-actions .button.secondary { border-color: rgba(255,255,255,.24); background: transparent; color: var(--white); }
.visit-planner-actions .button.secondary:hover { border-color: var(--yellow); color: var(--yellow); }
.stay-availability-planner { margin-top: 14px; padding: 24px; border: 1px solid #dfc54e; border-radius: 22px; background: linear-gradient(145deg,#fff9d7 0%,#fff 64%); box-shadow: 0 16px 45px rgba(23,23,20,.06); }
.stay-availability-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.stay-availability-head .eyebrow { margin-bottom: 6px; }
.stay-availability-head h2 { margin: 0; font: 800 clamp(24px,3vw,31px)/1.08 'Manrope'; letter-spacing: -.035em; }
.stay-availability-head p:not(.eyebrow) { max-width: 620px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.stay-availability-head > span { width: 48px; height: 48px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 14px; background: var(--yellow); color: var(--ink); font-size: 23px; font-weight: 900; }
.stay-availability-fields { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.stay-availability-fields label { min-width: 0; }
.stay-availability-fields label > span { display: block; margin-bottom: 6px; color: #605d54; font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.stay-availability-fields input { width: 100%; min-width: 0; min-height: 47px; padding: 10px 11px; border: 1px solid #d9d5c8; border-radius: 11px; background: #fff; color: var(--ink); font: 750 12px 'Manrope'; }
.stay-availability-fields input:focus { outline: 3px solid rgba(245,196,0,.26); border-color: #b99700; }
.stay-availability-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: end; margin-top: 16px; padding-top: 16px; border-top: 1px solid #e5ddba; }
.stay-availability-summary > div:first-child { display: grid; grid-template-columns: auto auto; column-gap: 15px; align-items: end; justify-content: start; }
.stay-availability-summary > div:first-child small { grid-column: 1 / -1; margin-bottom: 4px; color: var(--muted); font-weight: 800; }
.stay-availability-summary > div:first-child span { color: var(--muted); font-size: 11px; }
.stay-availability-summary > div:first-child strong { font: 900 20px 'Manrope'; }
.stay-availability-summary > div:last-child { display: grid; justify-items: end; gap: 5px; }
.stay-availability-summary > div:last-child small { color: var(--muted); font-size: 9px; }
.stay-availability-summary .button { min-height: 47px; }
.stay-availability-note { margin: 13px 0 0; color: #746b46; font-size: 10px; line-height: 1.45; }
.stay-availability-planner .form-feedback { margin-top: 7px; }
.listing-highlights { padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--line); }
.listing-highlights > h2 { margin: 0 0 16px; font: 800 20px 'Manrope'; }
.highlight-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.highlight-card { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.highlight-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--yellow-soft); color: #715900; font-weight: 900; }
.highlight-card strong, .highlight-card small { display: block; }
.highlight-card strong { font-size: 13px; }
.highlight-card small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.review-spotlight { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; margin-top: 12px; padding: 17px 18px; border-radius: 14px; background: var(--ink); color: var(--white); }
.review-spotlight > span { color: var(--yellow); font: 800 38px/1 Georgia,serif; }
.review-spotlight strong { font-size: 12px; }
.review-spotlight p { margin: 5px 0; color: #ddd9cc; font-size: 13px; line-height: 1.45; }
.review-spotlight small { color: #aaa69a; }
.side-status { margin: 0 0 11px; padding: 13px 14px; border-radius: 12px; background: var(--paper); }
.side-status > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.side-status span { color: var(--green); font-size: 12px; font-weight: 800; }
.side-status strong { font-size: 13px; }
.side-status > a { display: inline-block; margin-top: 5px; color: var(--muted); font-size: 11px; text-decoration: underline; }
.related-businesses { padding: 0 0 90px; }
.nearby-business-map { margin: 26px 0 18px; padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.055); }
.nearby-map-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.nearby-map-head .eyebrow { margin-bottom: 3px; color: var(--yellow); }
.nearby-map-head h3 { margin: 0; color: #fff; font: 800 24px 'Manrope'; letter-spacing: -.035em; }
.nearby-map-head p:not(.eyebrow) { margin: 5px 0 0; color: #aaa79d; font-size: 12px; }
.nearby-map-head > a { flex: 0 0 auto; color: var(--yellow); font-size: 12px; font-weight: 800; }
.nearby-map-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(240px,.45fr); gap: 14px; }
.nearby-map-layout > svg { width: 100%; min-height: 250px; border-radius: 18px; background: #20211f; }
.nearby-map-markers > a circle { fill: #fff; stroke: #191915; stroke-width: 4; transition: fill .18s ease,transform .18s ease; transform-box: fill-box; transform-origin: center; }
.nearby-map-markers > a text { fill: #191915; font: 800 13px 'Manrope'; text-anchor: middle; pointer-events: none; }
.nearby-map-markers > a:hover circle { fill: var(--yellow); transform: scale(1.12); }
.nearby-map-source circle { fill: var(--yellow); stroke: #fff; stroke-width: 5; }
.nearby-map-source text { fill: #191915; font: 900 16px 'Manrope'; text-anchor: middle; }
.nearby-map-legend { display: grid; align-content: start; gap: 7px; }
.nearby-map-legend > :is(div,a) { min-width: 0; min-height: 49px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; column-gap: 9px; align-items: center; padding: 8px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(0,0,0,.14); color: #fff; }
.nearby-map-legend span { grid-row: 1 / span 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #191915; font-size: 11px; font-weight: 900; }
.nearby-map-legend .nearby-map-current { background: var(--yellow); }
.nearby-map-legend strong { overflow: hidden; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.nearby-map-legend small { color: #aaa79d; font-size: 9px; }
.nearby-map-legend > div small { grid-column: 2 / -1; }
.nearby-map-legend > a:hover { border-color: rgba(245,196,0,.65); background: rgba(245,196,0,.07); }
.related-city-cta { margin-top: 22px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.06); }
.related-city-cta > span { color: #aaa79d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.related-city-cta a { display: inline-flex; align-items: center; gap: 8px; color: var(--yellow); font-weight: 800; }
.related-city-cta a b { transition: transform .18s ease; }
.related-city-cta a:hover b { transform: translateX(3px); }
.yellow-rtl .related-city-cta a b { transform: scaleX(-1); }
.yellow-rtl .related-city-cta a:hover b { transform: scaleX(-1) translateX(3px); }
.related-business-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.related-business-grid .business-card { min-width: 0; }
.listing-faq { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--line); }
.listing-faq-head { max-width: 680px; }
.listing-faq-head .eyebrow { margin-bottom: 6px; }
.listing-faq-head h2 { margin: 0; font: 800 clamp(26px,3.1vw,38px)/1.08 'Manrope',sans-serif; letter-spacing: -.045em; }
.listing-faq-head > p:not(.eyebrow) { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.listing-faq-items { display: grid; gap: 9px; margin-top: 20px; }
.listing-faq-items details { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); transition: border-color .18s ease,box-shadow .18s ease; }
.listing-faq-items details[open] { border-color: #e6c84f; box-shadow: 0 10px 28px rgba(22,22,18,.055); }
.listing-faq-items summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; color: var(--ink); cursor: pointer; list-style: none; font-size: 14px; font-weight: 800; line-height: 1.35; }
.listing-faq-items summary::-webkit-details-marker { display: none; }
.listing-faq-items summary b { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow-soft); color: #6f5800; font-size: 18px; transition: transform .18s ease,background .18s ease; }
.listing-faq-items details[open] summary b { background: var(--yellow); transform: rotate(45deg); }
.listing-faq-items details > p { margin: 0; padding: 0 58px 17px 16px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.yellow-rtl .listing-faq-items details > p { padding: 0 16px 17px 58px; }
#apercu, #planifier, #services, #menu, #avis, #questions, #faq, #photos { scroll-margin-top: 168px; }

@media (max-width: 680px) {
  .listing-snapshot { margin-top: 24px; padding: 16px; border-radius: 17px; }
  .listing-snapshot-heading { display: block; }
  .listing-snapshot-heading .eyebrow { margin-bottom: 4px; }
  .listing-snapshot-grid { grid-template-columns: 1fr; }
  .listing-snapshot-card { min-height: 74px; grid-template-columns: 34px minmax(0,1fr); padding: 10px; }
  .listing-snapshot-card:has(>.listing-snapshot-source) { min-height: 78px; grid-template-columns: 34px minmax(0,1fr); }
  .listing-snapshot-card > b { display: none; }
  .listing-snapshot-icon { width: 34px; height: 34px; }
  .visit-planner { margin-top: 24px; padding: 19px; border-radius: 18px; }
  .visit-planner-head > span { display: none; }
  .visit-planner-grid { grid-template-columns: 1fr; margin-top: 18px; }
  .visit-planner-actions { display: grid; grid-template-columns: 1fr; }
  .visit-planner-actions .button { width: 100%; }
  .stay-availability-planner { padding: 18px; border-radius: 18px; }
  .stay-availability-head > span { display: none; }
  .stay-availability-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stay-availability-fields label:nth-child(n+3) { grid-column: auto; }
  .stay-availability-summary { grid-template-columns: 1fr; align-items: stretch; }
  .stay-availability-summary > div:last-child { justify-items: stretch; }
  .stay-availability-summary > div:last-child small { text-align: center; }
  .stay-availability-summary .button { width: 100%; }
  .listing-faq { margin-top: 24px; padding-top: 24px; }
  .listing-faq-items { margin-top: 16px; }
  .listing-faq-items summary { min-height: 54px; padding: 12px 13px; font-size: 13px; }
  .listing-faq-items summary b { width: 28px; height: 28px; flex-basis: 28px; }
  .listing-faq-items details > p, .yellow-rtl .listing-faq-items details > p { padding: 0 13px 15px; }
  .nearby-business-map { padding: 14px; border-radius: 18px; }
  .nearby-map-head { display: block; }
  .nearby-map-head > a { display: inline-block; margin-top: 10px; }
  .nearby-map-layout { grid-template-columns: 1fr; }
  .nearby-map-layout > svg { min-height: 210px; }
  .nearby-map-legend { grid-template-columns: 1fr 1fr; }
  .nearby-map-legend > :is(div,a) { grid-template-columns: 28px minmax(0,1fr); }
  .nearby-map-legend small { grid-column: 2; }
}

.account-shell { min-height: calc(100vh - 78px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); background: var(--white); }
.auth-card { width: min(560px, calc(100% - 40px)); margin: auto; padding: 70px 0; }
.auth-brand { display: flex; gap: 18px; align-items: center; margin-bottom: 24px; }
.auth-brand .brand-mark { width: 58px; height: 58px; }
.auth-brand .eyebrow { margin-bottom: 5px; }
.auth-card h1 { margin: 0; font: 800 clamp(38px, 5vw, 58px)/1 'Manrope', sans-serif; letter-spacing: -.05em; }
.auth-card > p { color: var(--muted); }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; margin: 28px 0 24px; border-bottom: 1px solid var(--line); }
.auth-tabs a { padding: 13px 5px; text-align: center; color: var(--muted); font-weight: 700; border-bottom: 3px solid transparent; }
.auth-tabs a.active { color: var(--ink); border-bottom-color: var(--yellow); }
.auth-aside { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(40px, 7vw, 100px); background: var(--yellow); }
.auth-aside::after { content: ''; position: absolute; width: 440px; height: 440px; right: -220px; bottom: -220px; border: 1px solid rgba(23,23,20,.2); border-radius: 50%; }
.auth-number { position: absolute; right: 35px; top: 24px; font: 800 120px/1 'Manrope'; color: rgba(255,255,255,.28); }
.auth-aside h2 { position: relative; margin: 0 0 30px; font: 800 clamp(42px, 5vw, 70px)/1 'Manrope'; letter-spacing: -.055em; }
.auth-aside ul, .form-help ul { margin: 0; padding: 0; list-style: none; }
.auth-aside li, .form-help li { padding: 10px 0 10px 28px; position: relative; font-weight: 600; }
.auth-aside li::before, .form-help li::before { content: '✓'; position: absolute; left: 0; font-weight: 800; }
.auth-note { margin-top: 18px; text-align: center; font-size: 12px; }

.member-form, .listing-form { display: grid; gap: 17px; }
.member-form label, .listing-form label { display: grid; gap: 7px; }
.member-form label > span, .listing-form label > span { font-size: 12px; font-weight: 800; letter-spacing: .035em; }
.listing-form label > small { color: var(--muted); font-size: 11px; }
.member-form input, .member-form select, .member-form textarea,
.listing-form input, .listing-form select, .listing-form textarea {
  width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--ink); outline: none;
}
.member-form textarea, .listing-form textarea { resize: vertical; line-height: 1.5; }
.member-form input:focus, .member-form select:focus, .member-form textarea:focus,
.listing-form input:focus, .listing-form select:focus, .listing-form textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(245,196,0,.25); }
.member-form .check-row { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 9px; }
.member-form .check-row input { width: 17px; min-height: 17px; }
.form-submit { width: 100%; }
.form-submit:disabled { opacity: .55; cursor: wait; }
.form-feedback { min-height: 1px; font-size: 13px; }
.form-feedback.error { padding: 11px 13px; border-radius: 9px; background: #fde8e7; color: #9f1912; }
.form-feedback.success { padding: 11px 13px; border-radius: 9px; background: #e6f6ef; color: #087f5b; }

.dashboard-hero { padding: 60px 0; background: var(--ink); color: var(--white); }
.dashboard-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.dashboard-head h1 { margin: 0; font: 800 clamp(38px, 5vw, 62px)/1 'Manrope'; letter-spacing: -.05em; }
.dashboard-head p:last-child { margin: 13px 0 0; color: #a9a69b; }
.dashboard-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 36px; align-items: start; }
.dashboard-nav { position: sticky; top: 98px; display: flex; flex-direction: column; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.member-avatar { width: 55px; height: 55px; display: grid; place-items: center; margin-bottom: 13px; background: var(--yellow); border-radius: 15px; font: 800 18px 'Manrope'; }
.dashboard-nav > span { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.dashboard-nav nav { display: grid; gap: 4px; margin-top: 24px; padding-top: 17px; border-top: 1px solid var(--line); }
.dashboard-nav nav a, .dashboard-nav nav button { padding: 10px 11px; border: 0; border-radius: 9px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; font-weight: 600; }
.dashboard-nav nav a.active { background: var(--yellow-soft); }
.dashboard-nav nav button { color: #a22; }
.dashboard-main { min-width: 0; }
.dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 28px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.dashboard-stats div { padding: 24px; border-right: 1px solid var(--line); }
.dashboard-stats div:last-child { border-right: 0; }
.dashboard-stats strong { display: block; font: 800 32px 'Manrope'; }
.dashboard-stats span { color: var(--muted); font-size: 12px; }
.dashboard-section { margin-top: 25px; padding: 27px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.dashboard-section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.dashboard-section-head .eyebrow { margin-bottom: 5px; }
.dashboard-section h2 { margin: 0; font: 800 25px 'Manrope'; }
.notification-centre { overflow: hidden; padding: 0; }
.notification-centre-head { align-items: center; margin: 0; padding: 24px 27px 20px; border-bottom: 1px solid var(--line); }
.notification-centre-head small { display: block; margin-top: 5px; color: var(--muted); }
.notification-count { display: inline-grid; min-width: 25px; height: 25px; place-items: center; margin-inline-start: 7px; padding: 0 7px; border-radius: 999px; background: var(--yellow); color: var(--ink); font: 800 12px 'Manrope'; vertical-align: middle; }
.notification-count.is-empty { background: #eeece4; color: var(--muted); }
.text-button { border: 0; padding: 5px 0; background: transparent; color: #765d00; cursor: pointer; font: 700 12px 'DM Sans'; text-decoration: underline; text-underline-offset: 3px; }
.notification-list { display: grid; }
.notification-item { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 17px 27px; border-bottom: 1px solid var(--line); transition: background .2s, opacity .2s; }
.notification-item:last-child { border-bottom: 0; }
.notification-item.is-unread { background: #fffaf0; }
.notification-item.is-read { opacity: .68; }
.notification-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--yellow-soft); color: #5f4b00; font: 800 17px 'Manrope'; }
.notification-review .notification-icon { color: #9a6500; }
.notification-claim .notification-icon { background: #e5f5ed; color: #087f5b; }
.notification-copy { min-width: 0; }
.notification-copy strong { display: block; font: 800 14px 'Manrope'; }
.notification-copy p { margin: 3px 0 5px; color: var(--ink-2); font-size: 13px; }
.notification-copy time { color: var(--muted); font-size: 11px; }
.notification-actions { display: flex; align-items: center; gap: 11px; white-space: nowrap; }
.notification-actions button { width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); cursor: pointer; font-weight: 800; }
.notification-empty { display: grid; justify-items: center; padding: 34px 24px; text-align: center; }
.notification-empty > span { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 50%; background: #e5f5ed; color: #087f5b; font-weight: 800; }
.notification-empty p { max-width: 480px; margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.managed-list, .claim-list { display: grid; gap: 10px; }
.managed-card { display: grid; grid-template-columns: 50px minmax(0,1fr) auto auto; gap: 14px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 13px; }
.managed-card .business-monogram { width: 50px; height: 50px; font-size: 16px; }
.managed-card h3, .claim-list h3 { margin: 0; font: 800 16px 'Manrope'; }
.managed-card p, .claim-list p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.completeness { display: flex; align-items: center; gap: 8px; margin-top: 7px; }
.completeness i { width: 105px; height: 6px; overflow: hidden; border-radius: 999px; background: #ece9df; }
.completeness b { display: block; height: 100%; border-radius: inherit; background: var(--yellow); }
.completeness span { color: var(--muted); font-size: 10px; }
.managed-actions { display: flex; gap: 7px; }
.managed-actions .button { min-height: 38px; padding: 0 12px; font-size: 11px; white-space: nowrap; }
.dashboard-flash { margin-bottom: 16px; padding: 14px 17px; border: 1px solid; border-radius: 12px; font-weight: 700; }
.dashboard-flash.success { border-color: #94d7ba; background: #e8f8f0; color: #086b43; }
.dashboard-flash.error { border-color: #efb3a9; background: #fff0ed; color: #8e2319; }
.contact-verification-panel { display: grid; gap: 7px; margin-top: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #faf9f5; }
.contact-verification-panel > header { display: grid; gap: 2px; }
.contact-verification-panel > header strong { font: 800 12px 'Manrope'; }
.contact-verification-panel > header small { color: var(--muted); font-size: 10px; }
.contact-verification-channel { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; align-items: center; padding-top: 7px; border-top: 1px solid var(--line); }
.contact-verification-channel > span { display: grid; min-width: 0; }
.contact-verification-channel > span b { font-size: 11px; }
.contact-verification-channel > span small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; }
.contact-verification-channel > em { color: #7d6508; font-size: 10px; font-style: normal; font-weight: 800; }
.contact-verification-channel.channel-verified > em { color: #087f5b; }
.contact-verification-channel > button, .contact-verification-channel form button { min-height: 30px; padding: 0 10px; border: 1px solid var(--ink); border-radius: 8px; background: var(--ink); color: #fff; cursor: pointer; font: 800 10px 'DM Sans'; }
.contact-verification-channel > button:disabled { opacity: .55; cursor: wait; }
.contact-verification-channel > small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.contact-verification-channel form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
.contact-verification-channel form input { min-height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font: inherit; }
.contact-verification-channel form .form-feedback { grid-column: 1 / -1; }

.bio-mode { background: #111; }
.bio-mode .site-header, .bio-mode .site-footer, .bio-mode .skip-link { display: none; }
.bio-mode #app { min-height: 100svh; }
.bio-public { position: relative; min-height: 100svh; }
.bio-canvas { --bio-bg: #171714; --bio-text: #fff; --bio-button: #000; --bio-button-text: #fff; min-height: 100svh; display: flex; justify-content: center; padding: 70px 20px 42px; background-color: var(--bio-bg); background-position: center; background-size: cover; color: var(--bio-text); }
.bio-canvas-inner { width: min(100%, 680px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.bio-avatar { width: 102px; height: 102px; display: grid; place-items: center; overflow: hidden; border: 3px solid rgba(255,255,255,.85); border-radius: 50%; background: var(--yellow); color: var(--ink); box-shadow: 0 13px 40px rgba(0,0,0,.28); font: 800 29px 'Manrope'; }
.bio-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bio-canvas h1 { margin: 19px 0 0; color: inherit; font: 800 clamp(27px,5vw,38px)/1.1 'Manrope'; letter-spacing: -.035em; }
.bio-canvas h2 { margin: 8px 0 0; color: inherit; font: 600 clamp(15px,2vw,19px)/1.4 'DM Sans'; }
.bio-intro { max-width: 540px; margin: 11px 0 0; color: inherit; opacity: .82; font-size: 14px; }
.bio-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 20px 0 25px; }
.bio-socials a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: inherit; background: rgba(0,0,0,.14); backdrop-filter: blur(8px); font: 800 14px 'Manrope'; transition: transform .2s, background .2s; }
.bio-socials a:hover { transform: translateY(-2px); background: rgba(255,255,255,.18); }
.bio-buttons { width: 100%; display: grid; gap: 13px; }
.bio-buttons a { min-height: 62px; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 10px 20px 10px 42px; background: var(--bio-button); color: var(--bio-button-text); box-shadow: 0 10px 35px rgba(0,0,0,.16); font-weight: 800; transition: transform .18s, box-shadow .18s; }
.bio-buttons a:hover { transform: translateY(-2px); box-shadow: 0 14px 42px rgba(0,0,0,.24); }
.bio-buttons b { font-size: 18px; }
.bio-style-pill .bio-buttons a { border-radius: 999px; }
.bio-style-rounded .bio-buttons a { border-radius: 16px; }
.bio-style-square .bio-buttons a { border-radius: 3px; }
.bio-powered { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 34px; color: inherit; opacity: .72; font-size: 11px; font-weight: 700; }
.bio-powered span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px 8px 8px 3px; background: var(--yellow); color: var(--ink); font: 800 12px 'Manrope'; }
.bio-share { position: fixed; top: 20px; right: 20px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(0,0,0,.36); color: #fff; cursor: pointer; backdrop-filter: blur(10px); font-size: 19px; }

.bio-editor-hero .shell { align-items: end; }
.bio-editor-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); gap: 30px; align-items: start; }
.bio-editor-form { display: grid; gap: 20px; }
.bio-editor-section { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.bio-editor-form label { display: grid; gap: 7px; }
.bio-editor-form label > span { font-size: 12px; font-weight: 800; }
.bio-editor-form input, .bio-editor-form select, .bio-editor-form textarea { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; outline: 0; }
.bio-editor-form textarea { resize: vertical; }
.bio-editor-form input:focus, .bio-editor-form select:focus, .bio-editor-form textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(245,196,0,.25); }
.bio-editor-form input[type="color"] { padding: 5px; cursor: pointer; }
.slug-field { display: flex; align-items: center; min-height: 50px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.slug-field small { padding-left: 12px; color: var(--muted); white-space: nowrap; }
.slug-field input { min-width: 0; border: 0; box-shadow: none !important; }
.bio-link-fields { display: grid; gap: 10px; }
.bio-link-row { display: grid; grid-template-columns: 32px .8fr 1.2fr; gap: 10px; align-items: center; }
.bio-link-row > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow-soft); color: #705900; font-size: 10px; font-weight: 800; }
.bio-publish-row { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 22px; border-radius: 16px; background: var(--ink); color: var(--white); }
.bio-publish-row .check-row { display: flex; align-items: center; gap: 9px; font-weight: 700; white-space: nowrap; }
.bio-publish-row .check-row input { width: 18px; min-height: 18px; }
.bio-publish-row .form-submit { width: auto; }
.bio-publish-row .form-feedback.success { background: rgba(8,127,91,.25); color: #9ee8cf; }
.bio-editor-preview { position: sticky; top: 96px; }
.preview-label { display: flex; justify-content: space-between; margin-bottom: 10px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.bio-device { overflow: hidden; aspect-ratio: 9 / 16.4; border: 10px solid #161613; border-radius: 38px; background: #161613; box-shadow: var(--shadow); }
.bio-preview-canvas { min-height: 100%; height: 100%; overflow-y: auto; padding: 35px 16px 20px; }
.bio-preview-canvas .bio-canvas-inner { width: 100%; }
.bio-preview-canvas .bio-avatar { width: 70px; height: 70px; font-size: 20px; }
.bio-preview-canvas h1 { margin-top: 12px; font-size: 21px; }
.bio-preview-canvas h2 { margin-top: 5px; font-size: 12px; }
.bio-preview-canvas .bio-intro { margin-top: 6px; font-size: 10px; }
.bio-preview-canvas .bio-socials { gap: 6px; margin: 12px 0 15px; }
.bio-preview-canvas .bio-socials a { width: 29px; height: 29px; font-size: 9px; }
.bio-preview-canvas .bio-buttons { gap: 7px; }
.bio-preview-canvas .bio-buttons a { min-height: 43px; padding: 6px 12px 6px 26px; font-size: 10px; }
.bio-preview-canvas .bio-powered { padding-top: 16px; font-size: 8px; }
.bio-preview-canvas .bio-powered span { width: 19px; height: 19px; font-size: 9px; }
.managed-card .button { min-height: 38px; padding: 0 13px; font-size: 12px; }
.status { display: inline-flex; justify-content: center; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.status-published, .status-approved { background: #e6f6ef; color: #087f5b; }
.status-pending { background: var(--yellow-soft); color: #705900; }
.status-rejected { background: #fde8e7; color: #9f1912; }
.claim-list article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 16px; align-items: center; padding: 15px 0; border-top: 1px solid var(--line); }
.claim-list article:first-child { border-top: 0; }
.claim-list article > a { font-size: 12px; font-weight: 700; }
.muted-copy { color: var(--muted); }
.empty-state.compact { padding: 35px 20px; }

.form-page { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(260px,.55fr); gap: 28px; align-items: start; }
.form-card { padding: clamp(24px,4vw,40px); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.form-card-wizard { min-width: 0; padding: clamp(18px,3vw,30px); }
.listing-form-hero { position: relative; overflow: hidden; background: var(--yellow); }
.listing-form-hero::after { content: ''; position: absolute; width: 420px; height: 420px; right: -160px; top: -230px; border: 1px solid rgba(23,23,20,.15); border-radius: 50%; pointer-events: none; }
.listing-form-hero .shell { position: relative; z-index: 1; align-items: center; }
.listing-form-hero .eyebrow { margin: 20px 0 5px; color: #665100; }
.listing-form-hero .page-title { max-width: 820px; }
.listing-form-benefits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.listing-form-benefits span { padding: 7px 10px; border: 1px solid rgba(23,23,20,.18); border-radius: 999px; background: rgba(255,255,255,.38); font-size: 11px; font-weight: 800; }
.listing-hero-badge { width: 138px; height: 138px; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: var(--ink); color: var(--white); text-align: center; box-shadow: 0 18px 45px rgba(23,23,20,.18); transform: rotate(4deg); }
.listing-hero-badge strong { font: 800 39px/1 'Manrope'; }
.listing-hero-badge span { margin-top: 5px; color: #c7c4ba; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.form-card-head { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 28px; padding-bottom: 17px; border-bottom: 1px solid var(--line); font-weight: 800; }
.form-card-head small { color: var(--muted); font-weight: 500; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .span-2 { grid-column: 1 / -1; }
.listing-wizard { min-width: 0; gap: 22px; }
.listing-wizard-intro { min-width: 0; max-width: 100%; display: grid; grid-template-columns: minmax(0,.8fr) minmax(390px,1.2fr); gap: 28px; align-items: center; padding: 26px; border-radius: 18px; background: var(--ink); color: var(--white); }
.listing-wizard-intro.single { grid-template-columns: 1fr; }
.listing-wizard-intro h2 { margin: 4px 0 0; color: inherit; font: 800 clamp(22px,3vw,30px)/1.1 'Manrope'; letter-spacing: -.03em; }
.listing-wizard-intro p { max-width: 580px; margin: 8px 0 0; color: #bbb8ae; font-size: 13px; }
.wizard-progress { width: 100%; min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; direction: ltr; }
.wizard-progress button { position: relative; min-width: 0; min-height: 72px; display: grid; place-items: center; gap: 4px; padding: 11px 8px; border: 1px solid #45453e; border-radius: 13px; background: #20201d; color: #b7b4aa; cursor: pointer; font: 800 15px 'Manrope'; transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease; }
.wizard-progress button:hover, .wizard-progress button:focus-visible { transform: translateY(-2px); border-color: var(--yellow); color: var(--white); outline: none; }
.wizard-progress button.active { border-color: var(--yellow); background: var(--yellow); color: var(--ink); box-shadow: 0 8px 24px rgba(255,199,0,.18); }
.wizard-progress button.completed { border-color: #4c6f58; background: #20352a; color: #d9f2e1; }
.wizard-progress button.completed span::after { content: ' ✓'; color: #7dde9a; }
.wizard-progress b { max-width: 100%; overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.wizard-panel[hidden] { display: none !important; }
.wizard-panel-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.wizard-panel-actions .button { min-width: 175px; justify-content: center; }
.wizard-final-actions { justify-content: flex-start; margin-top: 2px; margin-bottom: 14px; padding-top: 0; border-top: 0; }
.is-create-wizard .optional-translations > summary { display: none; }
.is-create-wizard .optional-translations .translation-details-body { padding-top: 26px; }
.listing-step { min-width: 0; margin: 0; padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.listing-step > legend { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; margin-bottom: 6px; padding: 0; color: var(--ink); }
.listing-step > legend strong, .optional-translations summary strong { display: block; font: 800 17px 'Manrope'; }
.listing-step > legend small, .optional-translations summary small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 500; }
.listing-step > legend em { padding: 5px 8px; border-radius: 999px; background: var(--yellow-soft); color: #705900; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.listing-step > .form-grid { margin-top: 21px; }
.step-number { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: var(--yellow); color: var(--ink); font: 800 13px 'Manrope'; }
.create-media-step { background: linear-gradient(145deg,#fffdf5,#fff); }
.create-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 21px; }
.create-upload-card { position: relative; min-height: 230px; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 7px !important; overflow: hidden; padding: 22px; border: 1.5px dashed #c7c1ae; border-radius: 16px; background: var(--paper); text-align: center; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.create-upload-card:hover { transform: translateY(-2px); border-color: #9e7d00; background: #fffaf0; }
.create-upload-card.has-files { justify-content: flex-start; border-style: solid; border-color: #d7b000; background: #fffef8; }
.create-upload-card > input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.create-upload-card > strong { font: 800 16px 'Manrope'; }
.create-upload-card > small { max-width: 280px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.create-upload-card > b { margin-top: 4px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); font-size: 11px; }
.upload-symbol { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: var(--yellow); font: 900 20px 'Manrope'; }
.upload-symbol.photos { background: var(--ink); color: var(--white); font-size: 18px; }
.create-file-preview:empty { display: none; }
.create-file-preview { width: 100%; display: grid; gap: 7px; margin-top: 8px; direction: ltr; }
.logo-file-preview { grid-template-columns: minmax(0,130px); justify-content: center; }
.gallery-file-preview { grid-template-columns: repeat(4,minmax(0,1fr)); }
.create-file-preview > span { position: relative; min-width: 0; overflow: hidden; border-radius: 9px; background: #ece9df; }
.create-file-preview img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; }
.create-file-preview small { display: block; overflow: hidden; padding: 5px; color: var(--ink-2); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.media-privacy-note { margin: 13px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.optional-translations { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.optional-translations > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 12px; align-items: center; padding: 22px 27px; cursor: pointer; list-style: none; }
.optional-translations > summary::-webkit-details-marker { display: none; }
.optional-translations[open] > summary { border-bottom: 1px solid var(--line); background: #fffef8; }
.optional-translations .translation-flags { align-self: center; }
.optional-translations .translation-flags i { min-width: 32px; padding: 6px; border-radius: 7px; background: var(--ink); color: var(--white); text-align: center; font-size: 9px; font-style: normal; font-weight: 800; }
.optional-translations .translation-flags i:first-child { background: var(--yellow); color: var(--ink); }
.details-toggle { min-width: 62px; color: #705900; font-size: 11px; text-align: right; }
.details-toggle span:last-child, .optional-translations[open] .details-toggle span:first-child { display: none; }
.optional-translations[open] .details-toggle span:last-child { display: inline; }
.translation-details-body { padding: 24px; }
.translation-details-body .translation-editor-head { margin-bottom: 18px; }
.listing-submit-bar { align-items: center; margin: 4px -12px -12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: 0 14px 45px rgba(20,20,16,.12); }
.listing-submit-bar > div { margin-right: auto; }
.listing-submit-bar > div strong, .listing-submit-bar > div small { display: block; }
.listing-submit-bar > div small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.listing-created .success-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 18px; }
.compact-edit-hero { padding: 34px 0 30px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,#fffdf4,#fff); }
.compact-edit-hero .breadcrumb { margin-bottom: 20px; }
.compact-edit-hero .shell > div { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.compact-edit-hero h1 { margin: 4px 0 5px; font: 800 clamp(30px,5vw,48px)/1 'Manrope'; letter-spacing: -.045em; }
.compact-edit-hero p { margin: 0; color: var(--muted); }
.compact-edit-page { padding: 32px 0 70px; }
.compact-editor-shell { max-width: 1040px; }
.compact-editor-card { padding: 0; overflow: visible; }
.compact-listing-editor { gap: 0; }
.compact-editor-toolbar { position: sticky; top: 78px; z-index: 55; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-bottom: 1px solid #35352f; border-radius: 18px 18px 0 0; background: var(--ink); color: var(--white); box-shadow: 0 10px 30px rgba(20,20,16,.12); }
.compact-editor-toolbar h2 { margin: 2px 0 0; color: inherit; font: 800 22px 'Manrope'; }
.compact-editor-toolbar p { margin: 3px 0 0; color: #bdb9ae; font-size: 12px; }
.compact-editor-toolbar-actions { display: flex; gap: 9px; flex: 0 0 auto; }
.compact-editor-toolbar .button.secondary { border-color: #55554d; background: #292925; color: var(--white); }
.quick-website-card { display: grid; grid-template-columns: auto minmax(180px,.75fr) minmax(300px,1.25fr); gap: 18px; align-items: center; margin: 24px; padding: 22px; border: 2px solid var(--yellow); border-radius: 16px; background: #fffdf3; }
.quick-field-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--yellow); font: 900 22px 'Manrope'; }
.quick-website-card h3, .compact-editor-section h3 { margin: 0; font: 800 18px 'Manrope'; }
.quick-website-card p, .compact-editor-section p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.quick-website-card label, .compact-editor-section label, .compact-editor-disclosure label { gap: 6px; }
.quick-website-card input { min-height: 50px; border-color: #b79700; background: var(--white); font-size: 15px; }
.compact-editor-section { margin: 0 24px 18px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.compact-editor-section header { margin-bottom: 17px; }
.compact-editor-disclosure { margin: 0 24px 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.compact-editor-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; cursor: pointer; list-style: none; }
.compact-editor-disclosure > summary::-webkit-details-marker { display: none; }
.compact-editor-disclosure > summary strong, .compact-editor-disclosure > summary small { display: block; }
.compact-editor-disclosure > summary strong { font: 800 15px 'Manrope'; }
.compact-editor-disclosure > summary small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.compact-editor-disclosure > summary > b, .editor-module > summary > b { color: #8a6b00; font-size: 20px; transition: transform .18s; }
.compact-editor-disclosure[open] > summary > b, .editor-module[open] > summary > b { transform: rotate(45deg); }
.compact-editor-disclosure-body { padding: 4px 20px 22px; border-top: 1px solid var(--line); }
.compact-listing-editor .optional-translations > summary { display: flex; }
.compact-listing-editor .optional-translations[open] > summary { background: #fffef8; }
.compact-listing-editor .translation-details-body { border-top: 1px solid var(--line); }
.compact-editor-feedback { margin: 14px 24px 0; }
.advanced-editor-suite { margin-top: 26px; }
.advanced-editor-suite > header { padding: 0 4px 14px; }
.advanced-editor-suite > header h2 { margin: 3px 0; font: 800 24px 'Manrope'; }
.advanced-editor-suite > header p { margin: 0; color: var(--muted); }
.editor-module-list { display: grid; gap: 10px; }
.editor-module { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.editor-module > summary { display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 16px 20px; cursor: pointer; list-style: none; font: 800 15px 'Manrope'; }
.editor-module > summary::-webkit-details-marker { display: none; }
.editor-module[open] > summary { border-bottom: 1px solid var(--line); background: #fffef8; }
.editor-module-body { padding: 20px; }
.editor-module-body > .media-manager { margin: 0; padding: 0; border: 0; box-shadow: none; }
.submission-warning { padding: 10px 12px; border-radius: 9px; background: #fff4db; color: #795600 !important; font-size: 12px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.form-help { position: sticky; top: 98px; padding: 26px; background: var(--yellow); border-radius: 18px; }
.form-help h2 { margin: 0 0 12px; font: 800 25px/1.15 'Manrope'; }
.form-help p { font-size: 14px; }
.form-help li { font-size: 13px; }
.listing-form-help { overflow: hidden; padding: 27px 24px; background: var(--ink); color: var(--white); }
.listing-form-help::after { content: 'Y'; position: absolute; right: -12px; bottom: -55px; color: rgba(255,255,255,.035); font: 900 210px/1 'Manrope'; pointer-events: none; }
.listing-form-help .help-kicker { display: block; margin-bottom: 10px; color: var(--yellow); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.listing-form-help h2 { color: inherit; }
.listing-form-help ol { position: relative; z-index: 1; display: grid; gap: 18px; margin: 24px 0; padding: 0; counter-reset: form-help; list-style: none; }
.listing-form-help li { position: relative; min-height: 35px; padding-left: 45px; counter-increment: form-help; }
.listing-form-help li::before { content: counter(form-help); position: absolute; left: 0; top: 0; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--yellow); color: var(--ink); font-weight: 900; }
.listing-form-help li b, .listing-form-help li span { display: block; }
.listing-form-help li b { font-size: 12px; }
.listing-form-help li span { margin-top: 3px; color: #aaa79d; font-size: 10px; line-height: 1.45; }
.help-security { position: relative; z-index: 1; padding: 15px; border: 1px solid #3b3b35; border-radius: 12px; background: #22221f; }
.help-security strong { color: var(--yellow); font-size: 11px; }
.help-security p { margin: 6px 0 0; color: #aaa79d; font-size: 10px; line-height: 1.5; }
.claim-company { display: flex; align-items: center; gap: 15px; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.claim-company h2 { margin: 0; font: 800 22px 'Manrope'; }
.claim-company p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.claim-hero { position: relative; overflow: hidden; background: linear-gradient(120deg,var(--yellow),#ffd92f); }
.claim-hero::after { content: ''; position: absolute; width: 360px; height: 360px; right: -90px; top: -190px; border: 1px solid rgba(23,23,20,.14); border-radius: 50%; }
.claim-hero .shell { position: relative; z-index: 1; align-items: center; }
.claim-private-badge { justify-self: end; padding: 12px 16px; border: 1px solid rgba(23,23,20,.22); border-radius: 999px; background: rgba(255,255,255,.48); font-size: 12px; font-weight: 800; }
.claim-verification-form { gap: 22px; }
.claim-verification-form [hidden] { display: none !important; }
.claim-step { display: grid; gap: 16px; min-width: 0; margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fcfbf7; }
.claim-step legend { display: flex; align-items: center; gap: 10px; padding: 0 8px; color: var(--ink); font: 800 14px 'Manrope'; }
.claim-step legend b { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 9px; background: var(--yellow); color: var(--ink); }
.claim-step label > small { margin-top: 2px; color: var(--muted); line-height: 1.45; }
.claim-file-label input[type=file] { padding: 10px; background: var(--white); }
.claim-file-label input[type=file]::file-selector-button { margin-right: 10px; padding: 9px 12px; border: 0; border-radius: 8px; background: var(--ink); color: var(--white); font-weight: 700; cursor: pointer; }
.claim-privacy-note { margin: 0; padding: 12px 14px; border-radius: 10px; background: #eef8f4; color: #226b55; font-size: 12px; line-height: 1.55; }
.claim-consent { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: 10px !important; font-weight: 650; line-height: 1.45; }
.claim-consent input { width: 18px !important; min-height: 18px !important; margin-top: 2px; }
.claim-information-request { padding: 16px 18px; border: 1px solid #e8bd4a; border-radius: 12px; background: #fff8dc; }
.claim-information-request strong { font: 800 14px 'Manrope'; }
.claim-information-request p { margin: 7px 0 0; line-height: 1.55; }
.claim-help .help-security { margin-top: 24px; }
.claim-progress { min-width: 260px; margin-top: 12px; }
.claim-progress > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.claim-progress span, .claim-progress small { color: var(--muted); font-size: 11px; }
.claim-progress strong { font-size: 12px; }
.claim-progress i { display: block; height: 7px; margin: 8px 0; overflow: hidden; border-radius: 999px; background: #e9e5da; }
.claim-progress i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#e4ad00,#159365); }
.claim-owner-message { margin: 10px 0 0 !important; padding: 11px 12px; border-radius: 9px; background: #fff8dc; color: var(--ink) !important; font-size: 12px !important; line-height: 1.45; }
.claim-pending-panel .claim-progress { max-width: 520px; margin: 22px auto; text-align: left; }
.status-needs_more_info { background: #fff3bf; color: #755700; }
.status-under_review, .status-submitted { background: #e8f2ff; color: #245a87; }
.status-expired, .status-renewal_due { background: #f2eee5; color: #655e50; }
.success-panel { padding: 38px 25px; text-align: center; background: #f4fbf8; border: 1px solid #cbe8dd; border-radius: 16px; }
.success-panel > span { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 14px; background: #087f5b; color: white; border-radius: 50%; font-size: 24px; }
.success-panel h2 { margin: 0; font: 800 27px 'Manrope'; }
.success-panel p { color: var(--muted); }
.success-panel .button { margin-top: 8px; }
.success-panel.compact { padding: 24px 18px; }
.success-panel.compact > span { width: 42px; height: 42px; font-size: 18px; }

.listing-editor-main { display: grid; gap: 22px; min-width: 0; }
.media-manager { padding: clamp(24px,4vw,40px); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.media-upload-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.media-upload-grid h3 { margin: 0; font: 800 19px 'Manrope'; }
.media-upload-grid > div > p { margin: 4px 0 15px; color: var(--muted); font-size: 13px; }
.media-upload-grid form { display: grid; gap: 12px; margin-top: 15px; }
.media-upload-grid form label { display: grid; gap: 6px; }
.media-upload-grid form label > span { font-size: 12px; font-weight: 800; }
.media-upload-grid input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.media-upload-grid input[type="file"] { padding: 8px; font-size: 12px; }
.media-placeholder { min-height: 126px; display: grid; place-items: center; border: 1px dashed #c9c5b7; border-radius: 14px; background: var(--paper); color: var(--muted); font-size: 13px; }
.logo-preview { position: relative; width: 126px; height: 126px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; }
.logo-preview img { width: 100%; height: 100%; object-fit: cover; }
.logo-preview button, .media-gallery-manager button { position: absolute; border: 0; background: rgba(17,17,15,.84); color: #fff; cursor: pointer; }
.logo-preview button { inset: auto 7px 7px; padding: 5px 8px; border-radius: 7px; font-size: 10px; font-weight: 800; }
.media-gallery-manager { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; min-height: 126px; }
.media-gallery-manager > div:not(.media-placeholder) { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: 10px; background: var(--paper); }
.media-gallery-manager img { width: 100%; height: 100%; object-fit: cover; }
.media-gallery-manager button { top: 5px; right: 5px; width: 25px; height: 25px; display: grid; place-items: center; padding: 0; border-radius: 50%; }
.media-gallery-manager .media-placeholder { grid-column: 1 / -1; }

.reviews-section { padding: 0 0 90px; }
.reviews-heading { margin-bottom: 26px; }
.reviews-heading .eyebrow { margin-bottom: 6px; }
.reviews-heading h2 { margin: 0; font: 800 clamp(28px,4vw,42px)/1.1 'Manrope'; letter-spacing: -.035em; }
.consumer-warning { margin-bottom: 18px; padding: 16px 19px; border: 1px solid #d68a80; border-radius: 14px; background: #fff0ed; color: #8b2117; }
.consumer-warning p { margin: 4px 0 0; }
.reviews-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.65fr); gap: 30px; align-items: start; }
.reviews-layout > aside { position: sticky; top: 98px; }
.rating-summary { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 32px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.rating-score { display: flex; flex-direction: column; align-items: flex-start; }
.rating-score > strong { font: 800 54px/1 'Manrope'; letter-spacing: -.05em; }
.rating-score > small { margin-top: 7px; color: var(--muted); }
.rating-bars { display: grid; gap: 6px; }
.rating-bar { display: grid; grid-template-columns: 34px minmax(80px,1fr) 25px; gap: 9px; align-items: center; font-size: 12px; }
.rating-bar i { height: 8px; overflow: hidden; border-radius: 999px; background: #ece9df; }
.rating-bar b { display: block; height: 100%; border-radius: inherit; background: var(--yellow); }
.rating-bar small { color: var(--muted); text-align: right; }
.review-list { display: grid; gap: 12px; margin-top: 15px; }
.review-toolbar { display: flex; justify-content: flex-end; gap: 8px; margin-top: 15px; }
.review-toolbar select { min-height: 39px; padding: 0 34px 0 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); cursor: pointer; font-size: 11px; font-weight: 800; }
.review-card { padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.review-card[hidden] { display: none; }
.review-head { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.review-avatar { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow-soft); color: #705900; font: 800 12px 'Manrope'; }
.review-head strong, .review-head span { display: block; }
.review-head div:nth-child(2) > span { color: var(--muted); font-size: 11px; }
.review-stars { text-align: right; }
.review-stars small { color: var(--muted); font-size: 10px; }
.review-card > h3 { margin: 18px 0 5px; font: 800 18px 'Manrope'; }
.review-card > p { margin: 0; color: var(--ink-2); white-space: pre-line; }
.review-context { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0 3px; }
.review-context span { padding: 7px 9px; border-radius: 999px; background: #f3f1e9; color: var(--muted); font-size: 10px; }
.review-context b { color: var(--ink); }
.review-photo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 16px; }
.review-photo-grid a { aspect-ratio: 1.2; overflow: hidden; border-radius: 11px; background: var(--paper); }
.review-photo-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .2s ease; }
.review-photo-grid a:hover img { transform: scale(1.04); }
.owner-response { margin-top: 18px; padding: 16px; border-left: 4px solid var(--yellow); border-radius: 0 11px 11px 0; background: var(--paper); }
.owner-response strong { font-size: 12px; }
.owner-response p { margin: 4px 0 0; color: var(--ink-2); font-size: 13px; }
.owner-response-form { display: grid; gap: 10px; margin-top: 18px; padding: 15px; border-radius: 12px; background: var(--paper); }
.owner-response-form label { display: grid; gap: 5px; }
.owner-response-form label span { font-size: 12px; font-weight: 800; }
.owner-response-form textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; resize: vertical; }
.owner-response-form .form-submit { width: auto; justify-self: start; }
.helpful-vote { margin-top: 17px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink-2); cursor: pointer; font-size: 12px; font-weight: 800; }
.helpful-vote.active { border-color: var(--yellow); background: var(--yellow-soft); color: #705900; }
.empty-reviews { margin-top: 15px; padding: 35px 25px; border: 1px dashed #c9c5b7; border-radius: 16px; text-align: center; }
.empty-reviews h3 { margin: 0; font: 800 18px 'Manrope'; }
.empty-reviews p { margin: 5px 0 0; color: var(--muted); }
.review-cta, .review-form { padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.review-cta h3, .review-form h3 { margin: 0; font: 800 20px 'Manrope'; }
.review-cta p, .review-form > p { margin: 7px 0 18px; color: var(--muted); font-size: 13px; }
.review-cta .button { width: 100%; }
.pending-review { border-color: #ead780; background: var(--yellow-soft); }
.review-form { display: grid; gap: 15px; }
.review-visit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.review-photo-input input[type="file"] { min-height: 48px; padding: 8px !important; background: #fffdf4 !important; }
.review-photo-input input[type="file"]::file-selector-button { margin-right: 9px; padding: 8px 10px; border: 0; border-radius: 7px; background: var(--ink); color: #fff; cursor: pointer; font-weight: 800; }
.review-form fieldset { margin: 0; padding: 0; border: 0; }
.review-form legend, .review-form label > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; }
.review-form input:not([type="radio"]), .review-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); font: inherit; outline: 0; }
.review-form textarea { resize: vertical; }
.star-input { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 3px; }
.star-input input { position: absolute; opacity: 0; pointer-events: none; }
.star-input label { color: #cbc7bb; cursor: pointer; font-size: 29px; line-height: 1; transition: color .15s; }
.star-input label:hover, .star-input label:hover ~ label, .star-input input:checked ~ label { color: #d9a900; }
.review-trust { display: flex; gap: 5px; margin-top: 3px; }
.review-trust b, .review-trust span { padding: 2px 6px; border-radius: 999px; background: var(--paper); color: var(--muted); font-size: 9px; }
.review-trust b { background: #e6f6ef; color: var(--green); }
.review-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; }
.review-reactions { display: flex; flex-wrap: wrap; gap: 6px; }
.review-reaction { min-height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink-2); cursor: pointer; font-size: 10px; font-weight: 800; }
.review-reaction > span { color: #947700; font-size: 12px; }
.review-reaction b { min-width: 15px; display: inline-block; color: var(--muted); font-size: 9px; }
.review-reaction:hover, .review-reaction.active { border-color: #caa400; background: var(--yellow-soft); color: #5d4b00; }
.review-reaction:disabled { opacity: .55; cursor: wait; }
.report-review { padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; text-decoration: underline; }
.score-explain { display: grid; gap: 3px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.score-explain b { font: 800 13px 'Manrope'; }
.score-explain > span { color: var(--muted); font-size: 10px; text-transform: capitalize; }
.score-explain summary { cursor: pointer; color: #705900; font-size: 10px; font-weight: 800; }
.score-explain p { max-width: 320px; margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.review-form label small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }

.rich-editor form { display: grid; gap: 20px; }
.rich-editor form > h3 { margin: 5px 0 -7px; font: 800 18px 'Manrope'; }
.hours-editor { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.hours-editor label { display: grid; grid-template-columns: 75px 1fr; align-items: center; gap: 8px; }
.hours-editor label span { font-size: 11px; font-weight: 800; }
.hours-editor input { width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.trust-tools > p { margin-top: -10px; color: var(--muted); font-size: 13px; }
.trust-tools form { display: grid; gap: 12px; }
.trust-tools label { display: grid; gap: 6px; }
.trust-tools label span { font-size: 12px; font-weight: 800; }
.trust-tools input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.invite-result { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: center; margin-top: 10px; padding: 16px; border-radius: 14px; background: var(--paper); }
.invite-result img { width: 150px; height: 150px; border-radius: 8px; }
.invite-result div { display: grid; gap: 9px; }
.team-list { display: grid; gap: 7px; margin-bottom: 16px; }
.team-list > div { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; }
.team-list span, .team-list small { display: block; }
.team-list small { color: var(--muted); }
.team-list button { border: 0; background: transparent; color: #a22; cursor: pointer; font-size: 11px; font-weight: 800; }
.team-invite-row { display: grid; grid-template-columns: minmax(0,1fr) 150px auto; gap: 9px; }
.team-invite-row select { min-height: 46px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.team-invite-row .button { width: auto; }
.trust-badge-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 24px; align-items: start; }
.trust-badge-manager form { display: grid; gap: 17px; }
.badge-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.badge-field-grid label { display: grid; gap: 6px; }
.badge-field-grid label > span { font-size: 11px; font-weight: 800; }
.badge-field-grid input, .badge-field-grid select { width: 100%; min-height: 46px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font: inherit; }
.badge-field-grid input[type="color"] { padding: 5px; cursor: pointer; }
.badge-checks { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.badge-checks label { display: flex; align-items: center; gap: 7px; color: var(--ink-2); font-size: 11px; font-weight: 700; }
.badge-preview-card { padding: 18px; border-radius: 15px; background: var(--ink); color: var(--white); }
.badge-preview-card > span { display: block; margin-bottom: 10px; color: #aaa79d; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.badge-preview-card > small { display: block; margin-top: 10px; color: #aaa79d; font-size: 10px; line-height: 1.4; }
.badge-preview-stage { min-height: 145px; display: grid; place-items: center; overflow: hidden; padding: 7px; border-radius: 11px; background: #f0eee7; }
.badge-preview-stage iframe { width: 100%; height: 132px; border: 0; }
.badge-install { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.35fr) auto; gap: 13px; align-items: center; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.badge-install strong { display: block; font: 800 14px 'Manrope'; }
.badge-install p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.badge-install textarea { width: 100%; min-height: 84px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font: 11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; resize: none; }
.badge-install .button { white-space: nowrap; }
.confidence-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.confidence-heading .eyebrow { margin-bottom: 5px; }
.confidence-heading h2 { margin-bottom: 7px; }
.confidence-heading p:last-child { color: var(--muted); font-size: 12px; }
.confidence-score { flex: 0 0 136px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; text-align: center; background: var(--paper); }
.confidence-score strong, .confidence-score span { display: block; }
.confidence-score strong { font: 800 31px/1 'Manrope'; }
.confidence-score span { margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.confidence-high { border-color: #a8ddc6 !important; background: #edf9f3 !important; }
.confidence-medium { border-color: #e9d57f !important; background: #fff9df !important; }
.confidence-low { border-color: #efbeb8 !important; background: #fff2f0 !important; }
.confidence-meter { height: 9px; overflow: hidden; margin: 18px 0; border-radius: 999px; background: #e9e6dc; }
.confidence-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#e3a900,var(--yellow),#168a58); }
.confidence-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.confidence-fields > div { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.confidence-fields strong, .confidence-fields small { display: block; }
.confidence-fields strong { font-size: 11px; }
.confidence-fields small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.confidence-fields b { color: var(--muted); font-size: 11px; }
.confidence-dot { width: 9px; height: 9px; display: inline-block; border-radius: 50%; background: #a5a198; }
.confidence-dot.tone-high { background: #149866; box-shadow: 0 0 0 3px #e0f6eb; }
.confidence-dot.tone-medium { background: #d7a900; box-shadow: 0 0 0 3px #fff4c8; }
.confidence-dot.tone-warning { background: #dd7a16; box-shadow: 0 0 0 3px #ffecd8; }
.confidence-dot.tone-low { background: #c94d42; box-shadow: 0 0 0 3px #fde5e2; }
.confidence-method { margin-top: 13px; color: var(--muted); font-size: 10px; }
.confidence-method summary { cursor: pointer; color: #705900; font-weight: 800; }
.confidence-method p { margin-top: 7px !important; font-size: 11px; }
.side-confidence { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; margin-bottom: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); }
.side-confidence span { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.side-confidence strong { font: 800 22px/1 'Manrope'; }
.side-confidence small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.confidence-owner-summary { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 18px; align-items: center; }
.owner-confidence-score { padding: 19px; border: 1px solid var(--line); border-radius: 15px; text-align: center; }
.owner-confidence-score strong, .owner-confidence-score span { display: block; }
.owner-confidence-score strong { font: 800 38px/1 'Manrope'; }
.owner-confidence-score span { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 800; }
.confidence-owner-summary h3 { margin: 0 0 5px; font: 800 18px 'Manrope'; }
.confidence-owner-summary p { margin: 0; color: var(--ink-2); font-size: 12px; }
.confidence-owner-summary small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.confidence-owner-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 20px 0; }
.confidence-owner-fields > div { display: grid; grid-template-columns: 10px minmax(0,1fr) auto auto; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; }
.confidence-owner-fields > div.needs-attention { background: #fff9eb; }
.confidence-owner-fields strong { font-size: 11px; }
.confidence-owner-fields small { color: var(--muted); font-size: 9px; }
.confidence-owner-fields b { font-size: 10px; }
.data-confidence-manager form { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.data-confidence-manager form p { max-width: 550px; margin: 0; color: var(--muted); font-size: 11px; }
.data-confidence-manager form .form-feedback:empty { display: none; }
.data-confidence-manager form .button { width: auto; flex: 0 0 auto; }

.search-field { position: relative; }
.search-suggestions { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; right: 0; max-height: 330px; overflow: auto; padding: 7px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 18px 50px rgba(22,22,18,.14); }
.search-suggestions[hidden] { display: none; }
.search-suggestions button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.search-suggestions button:hover, .search-suggestions button:focus-visible { background: var(--paper); outline: 0; }
.search-suggestions strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestions span { flex: 0 0 auto; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.add-collection { display: grid; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.add-collection label, .add-collection label > span { display: grid; gap: 6px; }
.add-collection label > span { font-size: 11px; font-weight: 800; }
.add-collection select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.reviewer-link { color: var(--ink); font-weight: 800; text-decoration: none; }
.reviewer-link:hover { text-decoration: underline; }
.collections-dashboard { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 22px; }
.collections-dashboard form { display: grid; gap: 9px; }
.collections-dashboard input, .collections-dashboard textarea { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font: inherit; }
.collection-mini-list { display: grid; gap: 8px; align-content: start; }
.collection-mini-list a { display: flex; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); text-decoration: none; }
.collection-mini-list span { color: var(--muted); font-size: 11px; }
.collection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.collection-card { min-height: 220px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); color: var(--ink); text-decoration: none; transition: transform .18s, box-shadow .18s; }
.collection-card:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(22,22,18,.09); }
.collection-card > span { color: #846b00; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.collection-card h2 { margin: 28px 0 8px; font: 800 22px 'Manrope'; }
.collection-card p { color: var(--ink-2); }
.collection-card small { color: var(--muted); }
.reviewer-hero { display: flex; gap: 20px; align-items: center; }
.reviewer-avatar { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 50%; background: var(--yellow); font: 800 25px 'Manrope'; }
.reviewer-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 28px; align-items: start; }
.reviewer-stats { display: grid; border: 1px solid var(--line); border-radius: 16px; background: var(--white); overflow: hidden; }
.reviewer-stats div { padding: 18px; border-bottom: 1px solid var(--line); }
.reviewer-stats div:last-child { border-bottom: 0; }
.reviewer-stats strong, .reviewer-stats span { display: block; }
.reviewer-stats strong { font: 800 24px 'Manrope'; }
.reviewer-stats span { color: var(--muted); font-size: 11px; }

.community-section { padding: 0 0 90px; }
.community-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.65fr); gap: 30px; align-items: start; }
.community-layout > div { display: grid; gap: 12px; }
.community-layout > aside { position: sticky; top: 98px; display: grid; gap: 12px; }
.question-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.question-card > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; }
.question-card > h3 { margin: 14px 0; font: 800 18px 'Manrope'; }
.answer { padding: 15px; border-left: 4px solid var(--yellow); border-radius: 0 10px 10px 0; background: var(--paper); }
.answer strong { font-size: 11px; }
.answer p { margin: 4px 0 0; color: var(--ink-2); }
.awaiting-answer { margin: 0; color: var(--muted); font-size: 12px; }
.question-card form, .question-form, .correction-box form { display: grid; gap: 10px; }
.question-card textarea, .question-form textarea, .correction-box textarea, .correction-box select { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font: inherit; resize: vertical; }
.question-form, .correction-box { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.question-form h3 { margin: 0; font: 800 19px 'Manrope'; }
.question-form p { color: var(--muted); font-size: 13px; }
.correction-box summary { cursor: pointer; font-weight: 800; }
.correction-box form { margin-top: 15px; }

.performance-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.performance-grid div { padding: 18px; border-right: 1px solid var(--line); }
.performance-grid div:last-child { border-right: 0; }
.performance-grid strong { display: block; font: 800 27px 'Manrope'; }
.performance-grid span { color: var(--muted); font-size: 11px; }
.business-inbox { padding: 0; overflow: hidden; }
.inbox-heading { align-items: center; margin: 0; padding: 25px 27px; border-bottom: 1px solid var(--line); }
.inbox-heading small { display: block; max-width: 560px; margin-top: 5px; color: var(--muted); }
.inbox-summary { display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.inbox-summary span { display: grid; gap: 1px; min-width: 92px; padding: 10px 13px; border-inline-end: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.inbox-summary span:last-child { border-inline-end: 0; }
.inbox-summary b { color: var(--ink); font: 800 18px 'Manrope'; }
.inbox-threads { display: grid; }
.inbox-thread { border-bottom: 1px solid var(--line); background: var(--white); }
.inbox-thread:last-child { border-bottom: 0; }
.inbox-thread > summary { display: grid; grid-template-columns: 43px minmax(0,1fr) auto auto; gap: 13px; align-items: center; padding: 17px 27px; cursor: pointer; list-style: none; }
.inbox-thread > summary::-webkit-details-marker { display: none; }
.inbox-thread[open] > summary { background: #fffaf0; border-bottom: 1px solid var(--line); }
.inbox-customer-avatar, .inbox-message-avatar { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 13px; background: var(--yellow-soft); font: 800 13px 'Manrope'; }
.inbox-thread-copy { display: grid; min-width: 0; }
.inbox-thread-copy strong { font: 800 14px 'Manrope'; }
.inbox-thread-copy small { color: var(--muted); font-size: 11px; }
.inbox-thread-copy em { overflow: hidden; margin-top: 4px; color: var(--ink-2); font-size: 12px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.inbox-thread > summary > time { color: var(--muted); font-size: 10px; white-space: nowrap; }
.inbox-thread-body { padding: 21px 27px 26px; background: #fbfaf6; }
.inbox-toolbar { display: grid; grid-template-columns: minmax(170px,220px) minmax(150px,190px) minmax(0,1fr); gap: 12px; align-items: end; margin-bottom: 20px; }
.inbox-toolbar label { display: grid; gap: 5px; }
.inbox-toolbar label > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.inbox-toolbar select { min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); font: inherit; }
.inbox-contact { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px 13px; padding-bottom: 9px; }
.inbox-contact a { color: #725a00; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.inbox-timeline { display: grid; gap: 11px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.inbox-message { display: flex; gap: 12px; max-width: 82%; }
.inbox-message > div { min-width: 0; padding: 13px 15px; border-radius: 4px 14px 14px 14px; background: #f1efe8; }
.inbox-message header { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.inbox-message header strong { font: 800 12px 'Manrope'; }
.inbox-message header em { padding: 3px 6px; border-radius: 999px; background: var(--yellow-soft); color: #695300; font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.inbox-message header time { margin-inline-start: auto; color: var(--muted); font-size: 9px; }
.inbox-message p { margin: 7px 0 0; color: var(--ink-2); font-size: 13px; white-space: pre-wrap; }
.inbox-message small { display: block; margin-top: 7px; color: #087f5b; font-size: 9px; }
.inbox-message.message-reply { margin-inline-start: auto; flex-direction: row-reverse; }
.inbox-message.message-reply > div { background: var(--yellow-soft); border-radius: 14px 4px 14px 14px; }
.inbox-message.message-note { max-width: 100%; }
.inbox-message.message-note > div { width: 100%; border: 1px dashed #c9b65f; background: #fffdf5; }
.inbox-composer { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.inbox-composer-head { grid-column: 1 / -1; display: flex; }
.inbox-composer-head select { min-height: 36px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font: 700 11px 'DM Sans'; }
.inbox-composer textarea { width: 100%; min-height: 92px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; resize: vertical; font: inherit; }
.inbox-composer .form-feedback { grid-column: 1; }
.inbox-composer .button { align-self: end; min-width: 110px; }
.booking-settings-top { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(3,minmax(120px,.6fr)); gap: 12px; align-items: end; margin-bottom: 24px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.booking-settings-top > label:not(.check-row) { display: grid; gap: 5px; }
.booking-settings-top > label > span { font-size: 10px; font-weight: 800; }
.booking-settings-top input[type="number"] { width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.booking-editor-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
.booking-editor-head h3 { margin: 0; }
.booking-service-list { display: grid; gap: 11px; margin-bottom: 25px; }
.booking-service-row { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.booking-service-row header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.booking-service-row header button { border: 0; background: transparent; color: #9b251d; cursor: pointer; font-size: 11px; font-weight: 800; }
.booking-availability { display: grid; gap: 7px; margin: 12px 0 20px; }
.booking-availability > div { display: grid; grid-template-columns: minmax(150px,1fr) 130px auto 130px; gap: 9px; align-items: center; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; }
.booking-availability input[type="time"] { padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
.booking-dashboard { padding: 0; overflow: hidden; }
.booking-dashboard-head { align-items: center; margin: 0; padding: 24px 27px; border-bottom: 1px solid var(--line); }
.booking-list { display: grid; }
.booking-list article { display: grid; grid-template-columns: 52px minmax(0,1fr) minmax(160px,.7fr) 145px; gap: 13px; align-items: center; padding: 15px 27px; border-bottom: 1px solid var(--line); }
.booking-list article:last-child { border-bottom: 0; }
.booking-date-card { width: 52px; height: 54px; display: grid; place-items: center; align-content: center; border-radius: 13px; background: var(--yellow-soft); }
.booking-date-card strong { font: 800 19px 'Manrope'; line-height: 1; }
.booking-date-card span { margin-top: 3px; color: #6f5900; font-size: 9px; text-transform: uppercase; }
.booking-list-copy strong { font: 800 13px 'Manrope'; }
.booking-list-copy p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.booking-list-copy small { display: block; margin-top: 5px; color: var(--ink-2); }
.booking-list-contact { display: grid; gap: 3px; }
.booking-list-contact a { overflow: hidden; color: #735d00; font-size: 10px; text-decoration: underline; text-overflow: ellipsis; }
.booking-list select { min-height: 40px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.document-dashboard { padding: 0; overflow: hidden; }
.document-dashboard-head { align-items: center; margin: 0; padding: 24px 27px; border-bottom: 1px solid var(--line); }
.document-dashboard-head > .button { flex: 0 0 auto; }
.document-create-panel { display: grid; gap: 19px; padding: 25px 27px 28px; border-bottom: 1px solid var(--line); background: #fbfaf6; }
.document-create-panel[hidden] { display: none; }
.document-form-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.document-form-head strong { display: block; font: 800 18px 'Manrope'; }
.document-form-head small { color: var(--muted); }
.document-form-head button { border: 0; background: transparent; color: #8c241c; cursor: pointer; font-weight: 800; }
.document-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.document-form-grid label { display: grid; gap: 5px; }
.document-form-grid label > span, .document-item-row label > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.document-form-grid .span-2 { grid-column: 1 / -1; }
.document-form-grid input, .document-form-grid select, .document-form-grid textarea, .document-item-row input { width: 100%; min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); font: inherit; }
.document-form-grid textarea { resize: vertical; }
.document-items-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.document-items-head h3 { margin: 0; font: 800 15px 'Manrope'; }
.document-item-list { display: grid; gap: 8px; }
.document-item-row { display: grid; grid-template-columns: 30px minmax(0,1fr) 105px 135px 32px; gap: 8px; align-items: end; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.document-line-number { width: 28px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: var(--yellow-soft); font-weight: 800; }
.document-item-row label { display: grid; gap: 4px; }
.document-item-row > button { width: 32px; height: 38px; border: 0; border-radius: 8px; background: #fde8e5; color: #a4241a; cursor: pointer; font-size: 20px; }
.document-create-panel > .form-submit { justify-self: start; min-width: 190px; }
.document-list { display: grid; }
.document-list article { display: grid; grid-template-columns: 46px minmax(0,1fr) auto minmax(190px,.8fr); gap: 13px; align-items: center; padding: 16px 27px; border-bottom: 1px solid var(--line); }
.document-list article:last-child { border-bottom: 0; }
.document-type-mark { width: 44px; height: 48px; display: grid; place-items: center; border-radius: 11px; background: var(--yellow-soft); font: 800 18px 'Manrope'; }
.document-type-invoice { background: #e1f4eb; color: #087f5b; }
.document-list-copy strong { font: 800 13px 'Manrope'; }
.document-list-copy p { margin: 3px 0; color: var(--muted); font-size: 11px; }
.document-list-copy small { color: var(--ink-2); font-size: 10px; }
.document-status { padding: 6px 9px; border-radius: 999px; background: var(--paper); font-size: 10px; font-weight: 800; white-space: nowrap; }
.document-status.status-accepted, .document-status.status-paid { background: #e1f4eb; color: #087f5b; }
.document-status.status-rejected, .document-status.status-overdue, .document-status.status-void { background: #fde8e5; color: #9b251d; }
.document-list-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.document-list-actions a, .document-list-actions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); cursor: pointer; font-size: 10px; font-weight: 800; }
.document-list-actions a { background: var(--yellow); border-color: var(--yellow); }
.payment-dashboard { padding: 0; overflow: hidden; }
.payment-dashboard-head { align-items: center; margin: 0; padding: 24px 27px; border-bottom: 1px solid var(--line); }
.payment-dashboard-head > .button { flex: 0 0 auto; }
.payment-dashboard-head > .button:disabled { cursor: not-allowed; opacity: .45; }
.payment-create-panel { background: linear-gradient(135deg,#fbfaf6,#fffdf5); }
.payment-list { display: grid; }
.payment-list article { display: grid; grid-template-columns: 46px minmax(0,1fr) auto minmax(190px,.8fr); gap: 13px; align-items: center; padding: 16px 27px; border-bottom: 1px solid var(--line); }
.payment-list article:last-child { border-bottom: 0; }
.payment-type-mark { width: 44px; height: 48px; display: grid; place-items: center; border-radius: 11px; background: var(--yellow-soft); color: #6f5900; font: 800 10px 'Manrope'; }
.payment-type-mark.is-paid { background: #e1f4eb; color: #087f5b; font-size: 19px; }
.payment-list-copy strong { font: 800 13px 'Manrope'; }
.payment-list-copy p { margin: 3px 0; color: var(--muted); font-size: 11px; }
.payment-list-copy small { color: var(--ink-2); font-size: 10px; }

/* Business memberships */
.membership-dashboard { padding: 0; overflow: hidden; }
.membership-dashboard-head { align-items: center; margin: 0; padding: 25px 27px; border-bottom: 1px solid var(--line); }
.membership-dashboard-head small { display: block; max-width: 470px; margin-top: 5px; color: var(--muted); }
.membership-dashboard-head label { display: grid; gap: 5px; min-width: 210px; }
.membership-dashboard-head label span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.membership-current { display: flex; align-items: center; gap: 16px; padding: 17px 27px; border-bottom: 1px solid var(--line); background: var(--paper); }
.membership-current > div { display: grid; gap: 2px; margin-inline-end: auto; }
.membership-current > div span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.membership-current > div strong { font: 800 18px 'Manrope'; }
.membership-current button { border: 0; background: none; color: #8b5500; cursor: pointer; font-weight: 800; }
.membership-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 25px 27px; }
.membership-plan { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.membership-plan.featured { border: 2px solid var(--yellow); box-shadow: 0 18px 40px rgba(30,27,14,.08); }
.membership-plan.current { outline: 2px solid var(--ink); outline-offset: -5px; }
.membership-popular { position: absolute; inset: -12px 18px auto auto; padding: 5px 9px; border-radius: 999px; background: var(--yellow); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.membership-plan header { display: flex; align-items: flex-start; gap: 12px; min-height: 76px; }
.membership-plan-mark { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 11px; background: var(--ink); color: var(--yellow); font-size: 11px; font-weight: 900; }
.membership-plan h3 { margin: 0; font: 800 20px 'Manrope'; }
.membership-plan header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.membership-price { display: flex; align-items: baseline; gap: 7px; margin: 19px 0 0; }
.membership-price strong { font: 900 38px/1 'Manrope'; }
.membership-price span,.membership-annual { color: var(--muted); font-size: 10px; }
.membership-annual { display: block; margin-top: 5px; }
.membership-plan ul { display: grid; align-content: start; gap: 8px; flex: 1; margin: 20px 0; padding: 18px 0 0; border-top: 1px solid var(--line); list-style: none; }
.membership-plan li { display: flex; align-items: flex-start; gap: 8px; font-size: 11px; }
.membership-plan li span { color: #16875d; font-weight: 900; }
.membership-plan form,.membership-plan .button { width: 100%; }
.membership-plan form .button { width: 100%; }
.membership-plan .form-feedback { margin: 0 0 7px; font-size: 10px; }
.membership-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 27px 25px; }
.membership-notes p { margin: 0; padding: 13px 15px; border-radius: 12px; background: var(--paper); color: var(--muted); font-size: 11px; }
/* Sponsored visibility: always distinct from organic results and reputation. */
.sponsorship-dashboard { padding: 0; overflow: hidden; }
.sponsorship-dashboard-head { align-items: center; margin: 0; padding: 25px 27px; border-bottom: 1px solid var(--line); }
.sponsorship-dashboard-head small { display: block; max-width: 540px; margin-top: 5px; color: var(--muted); }
.sponsorship-form { padding: 25px 27px; border-bottom: 1px solid var(--line); background: var(--paper); }
.sponsorship-form-head { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.sponsorship-form-head strong { font: 800 18px 'Manrope'; }
.sponsorship-form-head span { max-width: 520px; color: var(--muted); font-size: 10px; text-align: end; }
.sponsorship-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.sponsorship-form-grid label { display: grid; gap: 5px; }
.sponsorship-form-grid label > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.sponsorship-form-grid input,.sponsorship-form-grid select { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; }
.sponsorship-form > .button { margin-top: 16px; }
.sponsorship-pro-gate { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; margin: 25px 27px; padding: 18px; border-radius: 14px; background: var(--ink); color: #fff; }
.sponsorship-pro-gate > strong { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: var(--yellow); color: var(--ink); }
.sponsorship-pro-gate p { margin: 0; color: #c9c7bd; font-size: 12px; }
.campaign-list { border-top: 1px solid var(--line); }
.campaign-list article { display: grid; grid-template-columns: 38px minmax(190px,1fr) minmax(280px,.9fr) auto auto; align-items: center; gap: 14px; padding: 17px 27px; border-bottom: 1px solid var(--line); }
.campaign-status-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--paper); color: var(--muted); }
.campaign-status-mark.status-active { background: #e7f8ef; color: #17845c; }
.campaign-copy { display: grid; gap: 3px; }
.campaign-copy > strong { font: 800 14px 'Manrope'; }
.campaign-copy span,.campaign-copy small { color: var(--muted); font-size: 10px; }
.campaign-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.campaign-metrics span { color: var(--muted); font-size: 9px; }
.campaign-metrics b { display: block; color: var(--ink); font-size: 13px; }
.campaign-actions { display: flex; gap: 5px; }
.campaign-actions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; font: 700 9px inherit; }
.campaign-report { grid-column: 2 / -1; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.campaign-report-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.campaign-report-head > strong { font: 800 11px 'Manrope'; }
.campaign-report-head > div { display: flex; align-items: center; gap: 14px; }
.campaign-report-head label { color: var(--muted); cursor: pointer; font-size: 9px; }
.campaign-report-head a { color: #765d00; font-size: 9px; font-weight: 800; text-decoration: none; }
.campaign-report > p { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.campaign-bars { display: grid; grid-template-columns: repeat(14,1fr); align-items: end; gap: 5px; height: 72px; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--line); }
.campaign-bars i { position: relative; display: flex; align-items: end; height: 100%; min-width: 0; }
.campaign-bars b { width: 100%; height: var(--bar); min-height: 3px; border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg,var(--yellow),#b98e00); }
.campaign-billing { border-top: 1px solid var(--line); background: #fff; }
.campaign-billing-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 27px; }
.campaign-billing-head h3 { margin: 3px 0 0; font: 800 20px 'Manrope'; }
.campaign-billing-head small { display: block; max-width: 540px; margin-top: 4px; color: var(--muted); }
.campaign-invoice-list { border-top: 1px solid var(--line); }
.campaign-invoice-list article { display: grid; grid-template-columns: 42px minmax(200px,1fr) auto auto auto; align-items: center; gap: 15px; padding: 17px 27px; border-bottom: 1px solid var(--line); }
.invoice-mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: var(--ink); color: var(--yellow); font-weight: 900; }
.campaign-invoice-list article > div { display: grid; gap: 3px; }
.campaign-invoice-list article > div strong { font: 800 13px 'Manrope'; }
.campaign-invoice-list p { margin: 0; color: var(--ink); font-size: 11px; }
.campaign-invoice-list small { color: var(--muted); font-size: 9px; }
.campaign-invoice-list .invoice-payment-alert { color: #a62a20; font-weight: 800; }
.campaign-invoice-list .invoice-payment-note { color: #19724a; font-weight: 800; }
.campaign-invoice-list .invoice-refund-note { color: #6e5200; font-weight: 800; }
.campaign-invoice-list article > b { white-space: nowrap; }
.campaign-invoice-list .button { white-space: nowrap; }
.campaign-invoice-actions { display: flex !important; align-items: center; gap: 8px; }
.campaign-invoice-actions .button { margin: 0; }
.billing-subsection { padding: 25px 27px; border-top: 1px solid var(--line); background: #fcfbf7; }
.billing-subsection-head { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.billing-subsection-head .eyebrow { margin: 0 0 4px; }
.billing-subsection-head small { color: var(--muted); }
.billing-finance-tools { margin-top: 18px; padding: 25px 27px; border: 1px solid var(--line); border-radius: 16px 16px 0 0; background: #fffbea; }
.billing-finance-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.billing-finance-head h3 { margin: 3px 0; font: 800 20px 'Manrope'; }
.billing-finance-head small { color: var(--muted); }
.billing-profile-list { display: grid; gap: 9px; margin-top: 18px; }
.billing-profile-list details { border: 1px solid #dfd5a7; border-radius: 12px; background: #fff; }
.billing-profile-list summary { padding: 13px 15px; cursor: pointer; font: 800 11px 'Manrope'; }
.billing-profile-list form { padding: 0 15px 15px; }
.billing-profile-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.billing-profile-grid label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.billing-profile-grid input { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; font: 500 11px inherit; }
.billing-profile-wide { grid-column: span 3; }
.billing-profile-list .form-submit { margin: 12px 0 0; }
.billing-record-list { display: grid; gap: 9px; }
.billing-record-list article { display: grid; grid-template-columns: 42px minmax(180px,1fr) auto auto auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.billing-record-list p,.billing-dispute-list p { margin: 3px 0; font-size: 11px; }
.billing-record-list small,.billing-dispute-list small { display: block; color: var(--muted); font-size: 9px; }
.billing-record-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #fff4bd; color: #765d00; font-weight: 900; }
.billing-record-list article > b { white-space: nowrap; }
.billing-empty { padding: 18px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; font-size: 11px; }
.billing-dispute-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: 12px; margin-bottom: 18px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.billing-dispute-form label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.billing-dispute-form select,.billing-dispute-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: 500 11px inherit; }
.billing-dispute-message { grid-column: 1 / 3; }
.billing-dispute-form textarea { min-height: 76px; resize: vertical; }
.billing-dispute-form .form-feedback { grid-column: 1 / 3; margin: 0; }
.billing-dispute-form .form-submit { align-self: end; margin: 0; }
.billing-dispute-list { display: grid; gap: 9px; }
.billing-dispute-list article { display: grid; gap: 14px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.billing-dispute-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.dispute-evidence { padding-top: 13px; border-top: 1px solid var(--line); }
.dispute-evidence-head { display: grid; gap: 3px; }
.dispute-evidence-head strong { font: 800 10px 'Manrope'; text-transform: uppercase; letter-spacing: .08em; }
.dispute-evidence-head small,.evidence-empty { color: var(--muted); font-size: 9px; }
.evidence-file-list { display: grid; gap: 6px; margin: 10px 0; }
.evidence-file-list a { display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; padding: 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); text-decoration: none; }
.evidence-file-list a > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; background: #fff4bd; }
.evidence-file-list strong,.evidence-file-list small,.evidence-file-list code { display: block; }
.evidence-file-list code { overflow: hidden; color: #765d00; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.dispute-evidence form { display: grid; grid-template-columns: minmax(180px,1fr) minmax(180px,1fr) auto; gap: 8px; align-items: end; margin-top: 10px; }
.dispute-evidence input { width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 8px; font-size: 10px; }
.dispute-evidence .form-feedback { grid-column: 1 / -1; margin: 0; }
.dispute-evidence .form-submit { margin: 0; }
.billing-history { background: #171712; color: #fff; }
.billing-history .billing-subsection-head small { color: #aaa99f; }
.billing-timeline { display: grid; }
.billing-timeline article { display: grid; grid-template-columns: 14px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 52px; border-top: 1px solid #34342e; }
.billing-timeline article:first-child { border-top: 0; }
.billing-timeline i { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px #f5c40022; }
.billing-timeline strong { display: block; font-size: 11px; }
.billing-timeline small { color: #aaa99f; font-size: 9px; }
.billing-timeline b { color: var(--yellow); font-size: 11px; white-space: nowrap; }
.status-partially_refunded,.status-refunded,.status-processed,.status-resolved { color: #176d48; background: #e4f7ed; }
.status-open,.status-under_review,.status-pending { color: #765d00; background: #fff4bd; }
.status-rejected,.status-failed { color: #a62a20; background: #fdebe8; }
.sponsorship-disclosure { margin: 0; padding: 15px 27px; background: #fffbea; color: #6d5b0c; font-size: 10px; }
.plans-hero { padding: 82px 0 76px; background: var(--yellow); }
.plans-hero .shell { max-width: 870px; text-align: center; }
.plans-hero h1 { max-width: 780px; margin: 9px auto 14px; font: 900 clamp(42px,6vw,72px)/1.03 'Manrope'; letter-spacing: -.055em; }
.plans-hero p:not(.eyebrow) { max-width: 720px; margin: auto; font-size: 18px; line-height: 1.6; }
.billing-promise { display: inline-flex; gap: 5px; margin-top: 25px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.72); }
.billing-promise span,.billing-promise strong { padding: 8px 13px; border-radius: 999px; font-size: 11px; }
.billing-promise strong { background: var(--ink); color: #fff; }
.public-membership-plans { padding: 0; margin-top: 4px; }
.public-membership-plans .membership-plan { min-height: 535px; }
.plans-trust { max-width: 880px; margin: 28px auto 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; text-align: center; }
.plans-trust p { margin: 8px 0 0; color: var(--muted); }
.booking-cancel-page { min-height: 72vh; }
.lead-inbox { display: grid; gap: 9px; }
.lead-inbox article { display: grid; grid-template-columns: minmax(0,1fr) 130px; gap: 15px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 13px; }
.lead-inbox h3 { margin: 7px 0 2px; font: 800 15px 'Manrope'; }
.lead-inbox p { margin: 0; color: var(--ink-2); font-size: 13px; }
.lead-inbox small { color: var(--muted); }
.lead-inbox select { min-height: 42px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.saved-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.saved-grid h3 { margin: 0 0 10px; font: 800 16px 'Manrope'; }
.saved-grid a { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); font-weight: 700; }
.saved-grid a span { color: var(--muted); font-weight: 500; }
.saved-searches { min-width: 0; }
.saved-search-item { margin-top: 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); overflow: hidden; }
.saved-grid .saved-search-link { padding: 13px 15px; border-top: 0; background: var(--white); }
.saved-grid .saved-search-link:hover { background: var(--yellow-soft); }
.saved-search-alert { display: grid; gap: 13px; padding: 14px 15px 15px; border-top: 1px solid var(--line); }
.saved-search-alert-head { display: grid; gap: 11px; }
.saved-search-alert-head > div > strong { display: block; font: 800 12px 'Manrope'; text-transform: uppercase; letter-spacing: .08em; }
.saved-search-alert-head small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.45; }
.alert-switch { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; cursor: pointer; }
.alert-switch input { position: absolute; opacity: 0; pointer-events: none; }
.alert-switch > span { position: relative; width: 38px; height: 22px; border-radius: 999px; background: #cfccc2; transition: .2s ease; }
.alert-switch > span::after { content: ''; position: absolute; width: 16px; height: 16px; top: 3px; left: 3px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 4px #0003; transition: .2s ease; }
.alert-switch input:checked + span { background: var(--ink); }
.alert-switch input:checked + span::after { transform: translateX(16px); background: var(--yellow); }
.alert-switch input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--yellow) 70%, transparent); outline-offset: 2px; }
.alert-switch b { font-size: 12px; line-height: 1.35; }
.saved-search-alert-actions { display: grid; grid-template-columns: minmax(130px,1fr) minmax(0,1fr) auto; align-items: end; gap: 10px; }
.saved-search-alert-actions label > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.saved-search-alert-actions select { width: 100%; min-height: 38px; padding: 7px 30px 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font: inherit; }
.saved-search-alert-actions .form-feedback { min-height: 0; margin: 0; align-self: center; font-size: 11px; }
.saved-search-alert-actions .button { min-height: 38px; padding: 0 13px; }

.empty-state { padding: 64px 24px; text-align: center; background: var(--white); border: 1px dashed #c9c5b7; border-radius: 18px; }
.empty-state .empty-icon { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 18px; background: var(--yellow-soft); border-radius: 50%; font-size: 25px; }
.empty-state h2 { margin: 0 0 7px; font: 800 23px 'Manrope'; }
.empty-state p { max-width: 480px; margin: 0 auto; color: var(--muted); }
.empty-state > .button { width: auto; margin-top: 20px; }
.empty-state > .text-link { display: table; margin: 20px auto 0; }
.recovery-links { display: flex; max-width: 680px; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 24px auto 0; }
.recovery-links strong { width: 100%; margin-bottom: 3px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.recovery-links a { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.recovery-links a:hover { border-color: var(--ink); background: var(--white); }
.search-correction { margin: 0 0 12px; padding: 11px 14px; border-left: 4px solid var(--yellow); border-radius: 0 9px 9px 0; background: var(--yellow-soft); font-size: 13px; font-weight: 750; }
.yellow-rtl .search-correction { border-left: 0; border-right: 4px solid var(--yellow); border-radius: 9px 0 0 9px; }
.route-loader { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: var(--muted); }
.loader-mark { width: 54px; height: 54px; display: grid; place-items: center; background: var(--yellow); border-radius: 17px 17px 17px 5px; color: var(--ink); font: 800 25px 'Manrope'; animation: loader 1s ease-in-out infinite alternate; }
@keyframes loader { to { transform: translateY(-8px) rotate(4deg); } }
.skeleton { background: linear-gradient(90deg, #eeeae0 20%, #f7f5ef 45%, #eeeae0 70%); background-size: 300% 100%; animation: shimmer 1.3s infinite; border-radius: 12px; }
@keyframes shimmer { to { background-position: -100% 0; } }

.site-footer { background: #11110f; color: var(--white); padding: 62px max(20px, calc((100% - 1180px)/2)) 24px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .65fr .9fr 1.05fr; gap: clamp(28px,4vw,64px); }
.brand-footer .brand-copy small { color: #8c8a80; }
.brand-footer-logo {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0;
    background: transparent;
}
.brand-footer-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: url("yellow-logo-v2.png") center / contain no-repeat;
    clip-path: inset(0 0 0 75%);
}
.brand-footer .brand-logo-image {
    width: 150px;
    filter: brightness(0) invert(1);
}
.footer-grid > div > p { max-width: 400px; color: #8c8a80; font-size: 14px; }
.footer-grid h2 { margin: 0 0 15px; color: #8c8a80; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid > div > a:not(.brand) { display: block; margin: 8px 0; font-size: 14px; }

/* Professional directory standards */
.placeholder-disclosure{position:absolute;right:18px;bottom:18px;max-width:min(420px,calc(100% - 36px));padding:9px 13px;border-radius:999px;background:rgba(17,17,15,.86);color:#fff;font-size:12px;font-weight:750;letter-spacing:.01em;backdrop-filter:blur(8px)}
.listing-photo-tile.is-placeholder{position:relative}.listing-photo-tile.is-placeholder img{filter:saturate(.78)}
.professional-attribute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.professional-attribute-grid>div{padding:14px 16px;border:1px solid var(--line);border-radius:12px}.professional-attribute-grid span,.professional-attribute-grid strong{display:block}.professional-attribute-grid span{margin-bottom:5px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.professional-profile-manager{display:grid;gap:20px}.professional-profile-manager form{display:grid;gap:16px}.professional-type-field{max-width:360px}.professional-type-field span,.professional-profile-manager .form-grid label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:750}.owner-quality-card{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fbfaf6}.owner-quality-card>div{display:flex;justify-content:space-between;gap:12px}.owner-quality-card>div strong{font:800 22px 'Manrope'}.owner-quality-card i{display:block;height:7px;margin:12px 0 8px;border-radius:999px;background:#e7e3da;overflow:hidden}.owner-quality-card i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e4ad00,#159365)}.owner-quality-card small{color:var(--muted)}.owner-confirm-form{padding-top:18px;border-top:1px solid var(--line)}.owner-confirm-form p{margin:0;color:var(--muted)}
.managed-verification{display:inline-block;margin-top:7px;color:#725900;font-size:11px;font-weight:800}.managed-verification.verification-yellow_verified{color:#087647}
.policy-hero{padding:clamp(70px,9vw,125px) 0;background:var(--yellow)}.policy-hero h1{max-width:850px;margin:8px 0 12px;font:800 clamp(42px,7vw,78px)/.98 'Manrope',sans-serif}.policy-hero p{max-width:700px;font-size:20px}.policy-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:70px;align-items:start}.policy-content{font-size:16px;line-height:1.75}.policy-content h2{margin:35px 0 8px;font:800 24px 'Manrope',sans-serif}.policy-content h2:first-child{margin-top:0}.policy-nav{position:sticky;top:100px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.policy-nav strong,.policy-nav a{display:block}.policy-nav strong{margin-bottom:12px}.policy-nav a{padding:10px 0;border-top:1px solid var(--line);font-size:13px;font-weight:700}
.legal-consent{align-items:flex-start}.legal-consent a{text-decoration:underline;text-underline-offset:2px}

@media(max-width:900px){.professional-attribute-grid{grid-template-columns:1fr}.policy-layout{grid-template-columns:1fr}.policy-nav{position:static}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 20px; border-top: 1px solid #30302b; color: #77756d; font-size: 12px; }
.noscript { margin: 0; padding: 15px; background: #a21a1a; color: white; text-align: center; }
.language-switcher { display: flex; align-items: center; gap: 2px; padding: 4px; direction: ltr; border: 1px solid var(--line); border-radius: 999px; background: #f1efe7; color: var(--ink-2); }
.language-switcher a { min-width: 34px; padding: 6px 8px; border-radius: 999px; text-align: center; font-size: 10px; line-height: 1.2; font-weight: 800; letter-spacing: .04em; transition: background .2s ease, color .2s ease; }
.language-switcher a span { display: none; }
.language-switcher a:hover { background: var(--white); color: var(--ink); }
.language-switcher a.active { background: var(--yellow); color: var(--ink); }
.yellow-rtl { direction: rtl; font-family: 'DM Sans', system-ui, sans-serif; }
.yellow-rtl .map-card, .yellow-rtl .category-card, .yellow-rtl .business-card, .yellow-rtl .detail-main, .yellow-rtl .detail-side { text-align: right; }
.yellow-rtl .text-link::after { content: '←'; }
.yellow-rtl .search-field + .search-field { border-left: 0; border-right: 1px solid var(--line); }
.yellow-rtl .owner-response, .yellow-rtl .answer { border-left: 0; border-right: 4px solid var(--yellow); border-radius: 11px 0 0 11px; }
.yellow-rtl .listing-hero-copy h1 { max-width: 980px; font-size: clamp(40px,5.5vw,68px); line-height: 1.08; letter-spacing: 0; }
.yellow-rtl .taxonomy-hero::before { right: auto; left: -120px; }
.yellow-rtl .taxonomy-hero::after { right: auto; left: 190px; }
.yellow-rtl .taxonomy-hero-orbit { right: auto; left: 31%; }
.yellow-rtl .taxonomy-hero-copy, .yellow-rtl .filter-panel { text-align: right; }
.yellow-rtl .taxonomy-hero-card { justify-self: start; transform: rotate(-2deg); }
.yellow-rtl .taxonomy-hero-card div { flex-direction: row-reverse; }

.translation-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 18px 20px; background: linear-gradient(135deg,var(--yellow-soft),#fff); border: 1px solid #eadb8a; border-radius: 15px; }
.translation-editor-head .eyebrow { display: block; margin-bottom: 4px; }
.translation-editor-head h2 { margin: 0; font: 800 21px 'Manrope'; }
.translation-editor-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.translation-flags { display: flex; gap: 5px; direction: ltr; }
.translation-flags span { min-width: 38px; padding: 7px 8px; border-radius: 8px; background: var(--ink); color: var(--white); text-align: center; font-size: 10px; font-weight: 800; }
.translation-flags span:first-child { background: var(--yellow); color: var(--ink); }
.translation-panel { min-width: 0; margin: 0 0 18px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.translation-panel legend { display: flex; align-items: center; gap: 9px; padding: 0 8px; font: 800 14px 'Manrope'; }
.translation-panel legend small { padding: 3px 7px; border-radius: 999px; background: var(--paper); color: var(--muted); font: 800 9px 'DM Sans'; }
.translation-section-title { margin: 22px 0 12px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink-2); font: 800 12px 'Manrope'; letter-spacing: .07em; text-transform: uppercase; }
.translation-panel legend + .translation-section-title { margin-top: 2px; padding-top: 0; border-top: 0; }
.translation-media-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.translation-media-list label { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 5px 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); }
.translation-media-list img { grid-row: 1 / span 2; width: 52px; height: 52px; object-fit: cover; border-radius: 8px; }
.translation-media-list span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.translation-media-list input { min-width: 0; }
.translation-panel.source-language { border-color: #e5c94e; background: #fffef8; }
.translation-panel[dir="rtl"] { text-align: right; }
.translation-panel[dir="rtl"] input, .translation-panel[dir="rtl"] textarea { direction: rtl; text-align: right; }
.translation-panel.shared-fields { background: var(--paper); }

/* Structured restaurant menu */
.restaurant-menu { scroll-margin-top: 150px; }
.restaurant-menu-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.restaurant-menu-heading h2 { margin: 2px 0 7px; }
.restaurant-menu-heading p:not(.eyebrow) { max-width: 640px; margin: 0; color: var(--muted); }
.restaurant-menu-heading > span { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #eadb8a; border-radius: 999px; background: var(--yellow-soft); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.restaurant-menu-groups { display: grid; gap: 28px; }
.restaurant-menu-group h3 { margin: 0 0 10px; padding-bottom: 9px; border-bottom: 2px solid var(--ink); font: 800 18px 'Manrope'; }
.restaurant-menu-group > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.restaurant-menu-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; min-height: 112px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.restaurant-menu-item h4 { margin: 0 0 5px; font: 800 15px 'Manrope'; }
.restaurant-menu-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.restaurant-menu-item > strong { flex: 0 0 auto; color: var(--ink); font: 800 15px 'Manrope'; white-space: nowrap; }
.restaurant-menu-item > strong small { color: var(--muted); font-size: 9px; letter-spacing: .04em; }
.restaurant-menu-item.unavailable { opacity: .58; background: var(--paper); }
.restaurant-menu-item.unavailable > div > small { display: block; margin-top: 8px; color: #a33; font-weight: 700; }
.menu-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.menu-tags span { padding: 4px 7px; border-radius: 999px; background: var(--yellow-soft); font-size: 9px; font-weight: 800; }
.listing-menu-button { width: 100%; margin-top: 12px; }

.restaurant-menu-editor .form-card-head { align-items: flex-start; }
.restaurant-menu-editor .form-card-head small { max-width: 480px; text-align: right; line-height: 1.45; }
.menu-settings { display: grid; grid-template-columns: minmax(0,1fr) 160px; gap: 15px; align-items: end; margin-bottom: 22px; padding: 16px; border-radius: 13px; background: var(--paper); }
.menu-settings .check-row { align-self: center; }
.menu-language-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.menu-language-fields { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 13px; }
.menu-language-fields legend { padding: 0 6px; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.menu-language-fields label { display: block; margin-top: 10px; }
.menu-language-fields label:first-of-type { margin-top: 0; }
.menu-language-fields[dir="rtl"] input, .menu-language-fields[dir="rtl"] textarea { direction: rtl; text-align: right; }
.menu-title-fields { margin-bottom: 26px; }
.menu-editor-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 8px 0 14px; }
.menu-editor-toolbar h3 { margin: 0; }
.menu-editor-toolbar p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
[data-menu-items] { display: grid; gap: 15px; margin-bottom: 18px; }
.menu-item-editor { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.menu-item-editor > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 15px; background: var(--ink); color: #fff; }
.menu-item-editor > header strong { font: 800 13px 'Manrope'; }
.menu-item-editor > header button { border: 0; background: transparent; color: #f7c8c4; cursor: pointer; font: 700 11px 'DM Sans'; }
.menu-item-editor .menu-language-grid { padding: 15px; }
.menu-item-options { display: grid; grid-template-columns: 180px 150px minmax(0,1fr); gap: 15px; align-items: end; padding: 0 15px 15px; }
.menu-item-options > fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.menu-item-options > fieldset legend { margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.menu-tag-options { display: flex; flex-wrap: wrap; gap: 6px; }
.menu-tag-options label { display: flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; cursor: pointer; }
.menu-tag-options input { width: 13px; height: 13px; }

@media (max-width: 960px) {
  .header-inner { min-height: 72px; gap: 14px; }
  .header-navigation { margin-inline-start: auto; gap: 8px; }
  .header-actions { gap: 6px; }
  .primary-nav { position: fixed; inset: 72px 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 18px max(20px,calc((100% - 1180px)/2)); background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 20px 50px rgba(0,0,0,.1); }
  .menu-open .primary-nav { display: flex; }
  .primary-nav a { padding: 13px 14px; border-radius: 12px; }
  .primary-nav a:hover { background: var(--white); opacity: 1; }
  .mobile-account-link { display: block; margin-top: 7px; background: var(--ink); color: var(--white); text-align: center; }
  .header-account { display: none; }
  .menu-toggle { display: block; }
  .hero-grid { grid-template-columns: 1fr; gap: 45px; }
  .hero-aside { display: block; width: min(100%, 560px); min-height: 0; margin: 0 auto; }
  .map-card { position: relative; inset: auto; }
  .category-grid, .activity-list { grid-template-columns: repeat(2, 1fr); }
  .home-discovery-grid { grid-template-columns: 1fr; }
  .directory-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 20px; }
  .business-card { grid-template-columns: 52px minmax(0, 1fr); }
  .contact-badges { grid-column: 2; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-side { position: static; }
  .listing-section-nav { display: none; }
  .related-business-grid { grid-template-columns: 1fr; }
  .related-city-cta { align-items: flex-start; flex-direction: column; }
  .reviews-layout { grid-template-columns: 1fr; }
  .reviews-layout > aside { position: static; }
  .community-layout { grid-template-columns: 1fr; }
  .community-layout > aside { position: static; }
  .how-grid { gap: 45px; }
  .account-shell { grid-template-columns: 1fr; }
  .auth-aside { display: none; }
  .form-page { grid-template-columns: minmax(0,1fr) 260px; }
  .bio-editor-layout { grid-template-columns: minmax(0,1fr) 320px; gap: 20px; }
  .managed-card { grid-template-columns: 50px minmax(0,1fr) auto; }
  .managed-actions { grid-column: 2 / -1; justify-content: flex-end; }
  .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-badge-layout { grid-template-columns: 1fr; }
  .badge-install { grid-template-columns: 1fr; }
  .badge-install .button { justify-self: start; }
  .menu-language-grid { grid-template-columns: 1fr; }
  .menu-item-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .menu-item-options > fieldset { grid-column: 1 / -1; }
}

@media (max-width: 740px) {
  :root { --container: min(100% - 28px, 1180px); --radius: 18px; }
  .header-inner { min-height: 70px; gap: 12px; }
  .site-header .brand-logo-image { width: 124px; }
  .brand-copy small { display: none; }
  .primary-nav { inset-block-start: 70px; }
  .language-switcher { padding: 3px; }
  .language-switcher a { min-width: 30px; padding: 6px; }
  .section { padding: 60px 0; }
  .section-head, .page-hero .shell { display: block; }
  .section-head .text-link { margin-top: 15px; }
  .hero { min-height: auto; }
  .hero-grid { padding: 68px 0 60px; }
  .hero h1 { font-size: clamp(42px, 13vw, 62px); }
  .search-panel { grid-template-columns: 1fr; border-radius: 15px; }
  .search-field + .search-field { border-left: 0; border-top: 1px solid var(--line); }
  .search-submit { min-height: 52px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat { border-bottom: 1px solid var(--line); }
  .category-grid, .activity-list { grid-template-columns: 1fr; }
  .recent-business-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 178px; }
  .city-discovery .section-head { align-items: flex-start; }
  .city-showcase { grid-template-columns: 1fr; }
  .city-spotlight { min-height: 325px; padding: 25px; border-radius: 22px; }
  .city-spotlight-map { width: 58%; right: -2%; }
  .city-spotlight-copy strong { font-size: clamp(34px,11vw,46px); }
  .city-quick-list { grid-template-columns: 1fr; }
  .city-quick-card,.city-quick-card:last-child:nth-child(odd) { grid-column: auto; min-height: 76px; }
  .city-popular-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(205px,72vw); overflow-x: auto; margin-inline: calc((100vw - var(--container)) / -2); padding-inline: calc((100vw - var(--container)) / 2); scroll-snap-type: x mandatory; scrollbar-width: none; }
  .city-popular-strip::-webkit-scrollbar { display: none; }
  .city-popular-card { min-height: 132px; scroll-snap-align: start; }
  .city-directory-panel { padding: 17px; border-radius: 21px; }
  .city-directory-toolbar { align-items: stretch; flex-direction: column; }
  .city-directory-search { width: 100%; }
  .city-directory-controls { width: 100%; }
  .city-sort { justify-content: flex-start; overflow-x: auto; }
  .city-directory-grid { grid-template-columns: 1fr; }
  .city-directory-item { min-height: 78px; padding: 10px; grid-template-columns: 22px 38px minmax(0,1fr) 28px; gap: 9px; }
  .city-directory-initial { width: 38px; height: 38px; }
  .city-activity-shell { padding-block: 30px; }
  .city-activity-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .city-activity-grid { grid-template-columns: 1fr; }
  .city-activity-card { min-height: 82px; }
  .promise-grid { grid-template-columns: 1fr; }
  .promise-card { min-height: 210px; }
  .how-grid { grid-template-columns: 1fr; }
  .page-hero { padding: 48px 0 42px; }
  .listing-form-hero .eyebrow { margin-top: 17px; }
  .listing-hero-badge { display: none; }
  .taxonomy-hero { min-height: auto; padding: 0; }
  .taxonomy-hero::before { width: 290px; height: 290px; right: -145px; top: -115px; }
  .taxonomy-hero .taxonomy-hero-grid { min-height: 0; padding: 52px 0; display: grid; grid-template-columns: 1fr; gap: 30px; }
  .taxonomy-hero-card { justify-self: start; width: min(100%,310px); min-height: 112px; flex-direction: row; align-items: center; transform: none; }
  .taxonomy-hero-card div { margin-inline-start: auto; }
  .result-count { display: inline-block; margin-top: 18px; }
  .directory-layout { display: block; }
  body.filters-open { overflow: hidden; }
  .filter-panel { display: none; position: fixed; inset: 78px 12px 12px; z-index: 1250; margin: 0; overflow-y: auto; box-shadow: 0 24px 80px rgba(0,0,0,.28); }
  .filter-panel.mobile-open { display: block; animation: mobile-filter-in .2s ease both; }
  .filter-panel-head button { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; margin-top: -7px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; font-size: 24px; }
  .mobile-filter-toggle { min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--yellow); color: var(--ink); cursor: pointer; font-size: 10px; font-weight: 900; }
  .results-toolbar { align-items: flex-start; }
  .results-toolbar > div { flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
  .results-toolbar > div > span { width: 100%; text-align: right; font-size: 10px; }
  .save-search { display: none; }
  .business-card { grid-template-columns: 64px minmax(0, 1fr); padding: 16px; gap: 13px; }
  .business-monogram { width: 48px; height: 48px; border-radius: 12px; }
  .business-card:has(.business-card-image) { grid-template-columns: 64px minmax(0,1fr); }
  .business-card-image { width: 64px; height: 64px; border-radius: 12px; }
  .business-card h2 { font-size: 17px; }
  .contact-badges { grid-column: 1 / -1; }
  .business-card-wrap .contact-badges { padding-top: 0; }
  .card-compare { top: auto; right: 12px; bottom: 12px; }
  .card-save { top: 12px; right: 12px; }
  .compare-tray { bottom: 10px; grid-template-columns: 1fr auto; gap: 9px; padding: 10px; }
  .compare-tray-copy { display: none; }
  .compare-tray-items button { width: 34px; grid-template-columns: 1fr; padding: 3px; }
  .compare-tray-items button span, .compare-tray-items button i { display: none; }
  .compare-tray-actions > button { display: none; }
  .compare-tray-actions .button { min-height: 36px; padding: 0 11px; }
  .comparison-hero { padding: 50px 0 44px; }
  .comparison-hero-inner { display: block; }
  .comparison-hero h1 { font-size: 44px; }
  .comparison-hero p:not(.eyebrow) { font-size: 16px; }
  .comparison-hero-actions { margin-top: 22px; flex-wrap: wrap; }
  .comparison-trip-planner { grid-template-columns: 1fr; gap: 15px; padding: 16px; }
  .comparison-trip-planner form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .comparison-trip-planner form .button { grid-column: 1 / -1; }
  .comparison-trip-planner > aside { padding: 12px 0 0; border-inline-start: 0; border-top: 1px solid #dbcf9b; }
  .comparison-insights { padding: 17px; }
  .comparison-insights > header { grid-template-columns: 1fr; gap: 8px; }
  .comparison-insights > header > p { justify-self: start; }
  .comparison-insights > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .comparison-insights a { min-height: 138px; grid-template-columns: 38px minmax(0,1fr); padding: 13px; gap: 4px 8px; }
  .comparison-insights a > span { width: 38px; height: 38px; }
  .comparison-decision { padding: 17px; }
  .comparison-decision > header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .comparison-decision-grid { grid-template-columns: 1fr; }
  .comparison-decision-card textarea { min-height: 68px; }
  .comparison-view-toolbar { align-items: stretch; flex-direction: column; }
  .comparison-view-toolbar > div:last-child { width: 100%; }
  .comparison-view-toolbar button { flex: 1; }
  .comparison-card-view { grid-template-columns: 1fr; }
  .comparison-summary-card dl > div { grid-template-columns: 94px minmax(0,1fr); padding: 11px 14px; }
  .comparison-enquiry-dialog { width: calc(100% - 18px); max-height: calc(100vh - 18px); border-radius: 18px; }
  .comparison-enquiry-dialog form { max-height: calc(100vh - 18px); padding: 18px; }
  .comparison-enquiry-dialog header { margin: -18px -18px 20px; padding: 22px 18px; }
  .comparison-enquiry-dialog header h2 { font-size: 27px; }
  .comparison-enquiry-recipients, .comparison-enquiry-fields { grid-template-columns: 1fr; }
  .comparison-enquiry-fields .span-3 { grid-column: 1; }
  .comparison-enquiry-dialog footer { align-items: stretch; flex-direction: column-reverse; }
  .comparison-enquiry-dialog footer .button { width: 100%; }
  .comparison-table { min-width: calc(132px + var(--compare-columns) * 215px); grid-template-columns: minmax(120px,.65fr) repeat(var(--compare-columns), minmax(205px,1fr)); }
  .comparison-corner, .comparison-business, .comparison-label, .comparison-value { padding: 14px; }
  .comparison-business { min-height: 195px; }
  .detail-kicker { align-items: flex-start; }
  .detail-main h1 { font-size: 34px; }
  .listing-photo-hero, .listing-photo-content { min-height: 430px; }
  .listing-photo-grid, .listing-photo-count-1, .listing-photo-count-2, .listing-photo-count-3, .listing-photo-count-4 { display: flex; grid-template-columns: none; grid-template-rows: none; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .listing-photo-grid::-webkit-scrollbar { display: none; }
  .listing-photo-grid .listing-photo-tile { min-width: 100%; grid-column: auto; grid-row: auto; scroll-snap-align: start; }
  .listing-photo-grid .listing-photo-tile img { min-height: 430px; }
  .listing-photo-shade { background: linear-gradient(0deg, rgba(13,13,11,.9), rgba(13,13,11,.08) 78%); }
  .listing-photo-content { padding-top: 24px; padding-bottom: 28px; }
  .listing-hero-copy h1 { font-size: clamp(39px,12vw,58px); }
  .listing-hero-meta { gap: 6px; font-size: 12px; }
  .listing-hero-meta > span:not(:first-child)::before { margin-right: 6px; }
  .all-photos-button { right: 14px; bottom: 24px; }
  .listing-photo-content .listing-hero-copy { padding-bottom: 58px; }
  .listing-photo-attribution { top: 12px; right: 12px; font-size: 10px; }
  .photo-lightbox { grid-template-columns: 58px minmax(0,1fr) 58px; grid-template-rows: 66px minmax(0,1fr) 94px; }
  .photo-lightbox-header { padding: 0 14px; }
  .photo-lightbox-close { width: 40px; height: 40px; }
  .photo-lightbox-stage { grid-column: 1 / -1; padding: 8px 10px 4px; }
  .photo-lightbox-stage > img { max-height: calc(100% - 54px); }
  .photo-lightbox-stage figcaption { min-height: 46px; flex-direction: column; gap: 2px; padding: 7px 58px 0; }
  .photo-lightbox-stage figcaption span { max-width: 100%; }
  .photo-lightbox-arrow { z-index: 3; width: 42px; height: 42px; background: rgba(0,0,0,.56); font-size: 37px; }
  .photo-lightbox-thumb { width: 64px; height: 56px; flex-basis: 64px; }
  .photo-lightbox-strip { justify-content: flex-start; padding: 12px 14px 16px; }
  .listing-action-bar { top: 68px; overflow-x: auto; }
  .listing-action-inner { width: max-content; min-width: 100%; min-height: 64px; padding-right: 14px; padding-left: 14px; }
  .listing-primary-actions { gap: 7px; }
  .listing-action { min-height: 39px; padding: 0 12px; }
  .listing-admin-actions { gap: 7px; margin-inline-start: 0; padding-inline-start: 8px; }
  .business-detail { padding-top: 28px; }
  .detail-main { padding: 24px 20px; }
  .highlight-grid { grid-template-columns: 1fr; }
  .listing-gallery { grid-template-columns: repeat(2, 1fr); }
  .rating-summary { grid-template-columns: 1fr; gap: 20px; }
  .review-visit-grid { grid-template-columns: 1fr; }
  .review-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-head { grid-template-columns: 43px minmax(0,1fr); }
  .review-stars { grid-column: 2; text-align: left; }
  .media-upload-grid { grid-template-columns: 1fr; }
  .hours-list, .hours-editor { grid-template-columns: 1fr; }
  .invite-result { grid-template-columns: 1fr; }
  .team-invite-row { grid-template-columns: 1fr; }
  .team-invite-row .button { width: 100%; }
  .badge-field-grid { grid-template-columns: 1fr; }
  .confidence-heading { display: block; }
  .confidence-score { width: 100%; margin-top: 15px; }
  .confidence-fields, .confidence-owner-fields { grid-template-columns: 1fr; }
  .confidence-owner-summary { grid-template-columns: 1fr; }
  .data-confidence-manager form { display: grid; }
  .data-confidence-manager form .button { width: 100%; }
  .performance-grid { grid-template-columns: repeat(2,1fr); }
  .performance-grid div:nth-child(2) { border-right: 0; }
  .performance-grid div { border-bottom: 1px solid var(--line); }
  .inbox-heading { align-items: flex-start; flex-direction: column; }
  .inbox-summary { width: 100%; }
  .inbox-summary span { min-width: 0; flex: 1; }
  .inbox-thread > summary { grid-template-columns: 40px minmax(0,1fr); padding: 15px 18px; }
  .inbox-thread > summary > .status, .inbox-thread > summary > time { grid-column: 2; justify-self: start; }
  .inbox-thread-body { padding: 17px 14px 20px; }
  .inbox-toolbar { grid-template-columns: 1fr; }
  .inbox-contact { justify-content: flex-start; padding: 0; }
  .inbox-timeline { padding: 12px; }
  .inbox-message { max-width: 100%; }
  .inbox-composer { grid-template-columns: 1fr; }
  .inbox-composer .form-feedback, .inbox-composer .button { grid-column: 1; }
  .inbox-composer .button { width: 100%; }
  .booking-grid { grid-template-columns: 1fr; }
  .booking-grid .span-2 { grid-column: 1; }
  .booking-settings-top { grid-template-columns: 1fr; }
  .booking-editor-head { align-items: stretch; flex-direction: column; }
  .booking-editor-head .button { width: 100%; }
  .booking-availability > div { grid-template-columns: 1fr 1fr; }
  .booking-availability > div > label { grid-column: 1 / -1; }
  .booking-availability > div > span { display: none; }
  .booking-dashboard-head { align-items: flex-start; flex-direction: column; }
  .booking-list article { grid-template-columns: 46px minmax(0,1fr); padding: 14px 18px; }
  .booking-list-contact, .booking-list select { grid-column: 2; }
  .document-dashboard-head { align-items: flex-start; flex-direction: column; }
  .document-dashboard-head > .button, .document-create-panel > .form-submit { width: 100%; }
  .document-form-grid { grid-template-columns: 1fr; }
  .document-form-grid .span-2 { grid-column: 1; }
  .document-item-row { grid-template-columns: 30px minmax(0,1fr) 76px; }
  .document-item-row label:first-of-type { grid-column: 2 / -1; }
  .document-item-row > button { grid-column: 3; grid-row: 2; }
  .document-list article { grid-template-columns: 44px minmax(0,1fr); padding: 15px 18px; }
  .document-status, .document-list-actions { grid-column: 2; justify-self: start; justify-content: flex-start; }
  .payment-dashboard-head { align-items: flex-start; flex-direction: column; }
  .payment-dashboard-head > .button { width: 100%; }
  .payment-list article { grid-template-columns: 44px minmax(0,1fr); padding: 15px 18px; }
  .payment-list .document-status, .payment-list .document-list-actions { grid-column: 2; justify-self: start; justify-content: flex-start; }
  .membership-dashboard-head { align-items: stretch; flex-direction: column; }
  .membership-dashboard-head label { width: 100%; }
  .membership-plans { grid-template-columns: 1fr; padding: 22px 18px; }
  .membership-plan { min-height: 0; }
  .membership-notes { grid-template-columns: 1fr; padding: 0 18px 22px; }
  .membership-current { align-items: flex-start; flex-wrap: wrap; padding: 16px 18px; }
  .plans-hero { padding: 58px 0 55px; }
  .lead-inbox article, .saved-grid { grid-template-columns: 1fr; }
  .saved-search-alert-actions { grid-template-columns: 1fr; align-items: stretch; }
  .saved-search-alert-actions .button { width: 100%; }
  .results-toolbar > div { align-items: flex-end; flex-direction: column; gap: 5px; }
  .results-view-switch { align-self: stretch; }
  .results-view-switch button { flex: 1; }
  .result-map-view, .result-map-empty { min-height: 500px; }
  .result-map-canvas { min-height: 440px; }
  .result-map-pin > span { position: absolute; inset-inline-start: 36px; width: 150px; }
  .review-toolbar { justify-content: stretch; }
  .review-toolbar label { flex: 1; }
  .review-toolbar select { width: 100%; }
  .review-actions { align-items: flex-start; flex-direction: column; }
  .review-reactions { width: 100%; }
  .review-reaction { flex: 1 1 calc(50% - 6px); }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .activity-feed-grid { grid-template-columns: 1fr; }
  .activity-feed-card { grid-template-columns: 76px minmax(0,1fr); }
  .activity-feed-visual .business-card-image, .activity-feed-visual .business-monogram { min-height: 165px; }
  .footer-grid > div > a:not(.brand) { min-height: 32px; display: flex; align-items: center; }
  .form-card-wizard { width: 100%; overflow: hidden; }
  .listing-editor-main, .listing-wizard, .listing-wizard-intro { width: 100%; max-width: 100%; min-width: 0; }
  .footer-bottom { flex-direction: column; }
  .dashboard-head { display: block; }
  .dashboard-head .button { margin-top: 22px; }
  .dashboard-layout { display: block; }
  .dashboard-nav { position: static; margin-bottom: 20px; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .dashboard-stats div { border-right: 0; border-bottom: 1px solid var(--line); }
  .dashboard-stats div:last-child { border-bottom: 0; }
  .notification-centre-head { align-items: flex-start; }
  .notification-item { grid-template-columns: 38px minmax(0,1fr); padding: 15px 18px; }
  .notification-icon { width: 38px; height: 38px; }
  .notification-actions { grid-column: 2; justify-content: flex-start; }
  .managed-card { grid-template-columns: 46px minmax(0,1fr); }
  .managed-card .status, .managed-card .button { grid-column: auto; justify-self: start; }
  .managed-actions { grid-column: 2; flex-wrap: wrap; justify-content: flex-start; }
  .claim-list article { grid-template-columns: 1fr; }
  .form-page { display: block; }
  .form-help { position: static; margin-top: 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .form-actions { flex-direction: column-reverse; }
  .compact-edit-hero { padding: 24px 0; }
  .compact-edit-hero .shell > div { align-items: stretch; flex-direction: column; gap: 16px; }
  .compact-edit-hero .button { width: 100%; }
  .compact-edit-page { padding: 18px 0 52px; }
  .compact-editor-toolbar { top: 68px; align-items: stretch; flex-direction: column; padding: 17px; border-radius: 14px 14px 0 0; }
  .compact-editor-toolbar-actions { display: grid; grid-template-columns: 1fr 1.4fr; }
  .compact-editor-toolbar-actions .button { width: 100%; min-width: 0; padding: 0 10px; }
  .quick-website-card { grid-template-columns: auto 1fr; margin: 16px; padding: 17px; }
  .quick-website-card label { grid-column: 1 / -1; }
  .compact-editor-section, .compact-editor-disclosure { margin-right: 16px; margin-left: 16px; }
  .compact-editor-section { padding: 17px; }
  .compact-editor-disclosure > summary { padding: 16px; }
  .compact-editor-disclosure-body { padding: 4px 16px 18px; }
  .editor-module-body { padding: 15px; }
  .listing-wizard-intro { display: block; padding: 20px; }
  .wizard-progress { margin-top: 18px; overflow-x: auto; grid-template-columns: repeat(4,minmax(88px,1fr)); padding-bottom: 3px; }
  .wizard-progress button { min-height: 66px; }
  .listing-step { padding: 20px 16px; }
  .listing-step > legend { grid-template-columns: auto minmax(0,1fr); }
  .listing-step > legend em { display: none; }
  .create-media-grid { grid-template-columns: 1fr; }
  .create-upload-card { min-height: 210px; }
  .optional-translations > summary { grid-template-columns: auto minmax(0,1fr) auto; padding: 18px 16px; }
  .optional-translations > summary .translation-flags { display: none; }
  .translation-details-body { padding: 16px; }
  .listing-submit-bar { position: static; margin: 0; padding: 14px; }
  .listing-submit-bar > div { width: 100%; margin: 0 0 7px; text-align: center; }
  .listing-submit-bar .button { width: 100%; }
  .wizard-panel-actions { align-items: stretch; flex-direction: column-reverse; }
  .wizard-panel-actions > span { display: none; }
  .wizard-panel-actions .button { width: 100%; min-width: 0; }
  .translation-editor-head { display: block; }
  .translation-flags { margin-top: 14px; }
  .translation-panel { padding: 16px 14px; }
  .translation-media-list { grid-template-columns: 1fr; }
  .restaurant-menu-group > div { grid-template-columns: 1fr; }
  .restaurant-menu-heading { display: block; }
  .restaurant-menu-heading > span { display: inline-block; margin-top: 12px; }
  .restaurant-menu-editor .form-card-head small { margin-top: 5px; text-align: left; }
  .menu-settings, .menu-item-options { grid-template-columns: 1fr; }
  .menu-item-options > fieldset { grid-column: auto; }
  .menu-editor-toolbar { align-items: stretch; flex-direction: column; }
  .menu-editor-toolbar .button { width: 100%; }
  .bio-editor-layout { display: block; }
  .bio-editor-preview { position: static; width: min(100%, 360px); margin: 24px auto 0; }
  .bio-link-row { grid-template-columns: 28px 1fr; }
  .bio-link-row input:last-child { grid-column: 2; }
  .bio-publish-row { grid-template-columns: 1fr; }
  .bio-publish-row .form-submit { width: 100%; }
  .bio-canvas { padding-top: 48px; }
  .bio-buttons a { min-height: 57px; padding-left: 35px; }
  .collections-dashboard, .collection-grid, .reviewer-layout { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .site-header .brand-logo-image { width: 112px; }
  .brand-copy { display: none; }
  .brand-mark { width: 40px; height: 40px; }
}

@media (max-width: 760px) {
  .sponsored-results-head,.sponsorship-form-head { align-items: flex-start; flex-direction: column; }
  .sponsored-results-head > p,.sponsorship-form-head span { text-align: start; }
  .sponsorship-form { padding: 20px 18px; }
  .sponsorship-form-grid { grid-template-columns: 1fr; }
  .sponsorship-pro-gate { grid-template-columns: auto 1fr; margin: 20px 18px; }
  .sponsorship-pro-gate .button { grid-column: 1 / -1; }
  .campaign-list article { grid-template-columns: 36px minmax(0,1fr); padding: 16px 18px; }
  .campaign-metrics,.campaign-list article > .status,.campaign-actions { grid-column: 2; }
  .campaign-report { grid-column: 1 / -1; }
  .campaign-report-head { align-items: flex-start; flex-direction: column; }
  .campaign-report-head > div { align-items: flex-start; flex-direction: column; }
  .campaign-billing-head { align-items: flex-start; flex-direction: column; padding: 20px 18px; }
  .campaign-invoice-list article { grid-template-columns: 42px minmax(0,1fr); padding: 16px 18px; }
  .campaign-invoice-list article > b,.campaign-invoice-list article > .status,.campaign-invoice-list article > .button,.campaign-invoice-list article > .campaign-invoice-actions { grid-column: 2; justify-self: start; }
  .billing-subsection { padding: 20px 18px; }
  .billing-finance-tools { padding: 20px 18px; }
  .billing-finance-head { align-items: flex-start; flex-direction: column; }
  .billing-profile-grid { grid-template-columns: 1fr; }
  .billing-profile-wide { grid-column: 1; }
  .billing-record-list article { grid-template-columns: 42px minmax(0,1fr); }
  .billing-record-list article > b,.billing-record-list article > .status,.billing-record-list article > .button { grid-column: 2; justify-self: start; }
  .billing-dispute-form { grid-template-columns: 1fr; }
  .billing-dispute-message,.billing-dispute-form .form-feedback { grid-column: 1; }
  .billing-dispute-summary { align-items: flex-start; flex-direction: column; }
  .dispute-evidence form { grid-template-columns: 1fr; }
  .campaign-actions { justify-content: flex-start; }
  .organic-results-label { flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  @page { size: landscape; margin: 10mm; }
  html { margin-top: 0 !important; }
  body { background: #fff !important; color: #000 !important; }
  #wpadminbar, .site-header, .site-footer, .mobile-bottom-nav, .compare-tray, .comparison-hero-actions, .comparison-add, .comparison-business > button, .comparison-enquiry-dialog, .comparison-view-toolbar, .comparison-card-view { display: none !important; }
  .shell { width: 100% !important; max-width: none !important; }
  .comparison-hero { padding: 12px 0 18px; border-bottom: 2px solid #111; background: #fff !important; }
  .comparison-hero h1 { margin-block: 3px 5px; font-size: 34px; }
  .comparison-hero p:not(.eyebrow) { font-size: 12px; }
  .comparison-section { padding: 16px 0 0; background: #fff !important; }
  .comparison-trip-planner, .comparison-insights, .comparison-decision { break-inside: avoid; margin-bottom: 12px; padding: 12px; border-radius: 10px; background: #fff !important; box-shadow: none; }
  .comparison-trip-planner form input { min-height: 32px; padding: 5px; }
  .comparison-trip-planner form .button { display: none; }
  .comparison-insights > header { margin-bottom: 9px; }
  .comparison-insights > div { gap: 6px; }
  .comparison-insights a { min-height: 0; padding: 9px; border-radius: 8px; }
  .comparison-decision > header > span, .comparison-decision-card button, .comparison-decision-feedback { display: none; }
  .comparison-decision-card { padding: 8px; break-inside: avoid; }
  .comparison-decision-card textarea { min-height: 48px; padding: 6px; border-color: #aaa; background: #fff; font-size: 8px; }
  .comparison-scroll { display: block !important; overflow: visible; }
  .comparison-table { min-width: 0; grid-template-columns: minmax(105px,.58fr) repeat(var(--compare-columns), minmax(145px,1fr)); border-radius: 8px; }
  .comparison-corner, .comparison-business, .comparison-label, .comparison-value { padding: 8px; }
  .comparison-business { min-height: 132px; }
  .comparison-logo { width: 38px; height: 38px; border-radius: 8px; font-size: 12px; }
  .comparison-business h2 { margin: 7px 0 2px; font-size: 12px; }
  .comparison-business a, .compare-booking-button { font-size: 8px; }
  .comparison-label, .comparison-value { font-size: 9px; }
  .comparison-neutral { margin-top: 10px; font-size: 9px; }
}

.listing-snapshot-card > b.listing-snapshot-source{display:inline-block}
