.search-controls {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  align-items: end;
  gap: 15px;
  margin-bottom: 30px;
}
.search-controls label {
  margin: 0;
}
.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.offer-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 7px 24px #20304007;
}
.offer-card > a {
  display: block;
}
.offer-photo {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  display: block;
  background: #e9edf0;
}
.offer-card .inner {
  padding: 20px;
}
.offer-card h2 {
  font-size: 21px;
  line-height: 1.35;
  margin: 0 0 10px;
}
.offer-card .price {
  font-size: 24px;
}
.chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0 28px;
}
.hero-actions .secondary {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 9px;
}
.offer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  gap: 28px;
  align-items: start;
}
.offer-layout .card {
  margin-bottom: 22px;
}
.photo-strip {
  display: flex;
  gap: 12px;
  overflow: auto;
  padding-bottom: 15px;
}
.photo-strip img {
  width: 100%;
  max-width: 650px;
  aspect-ratio: 1.5;
  object-fit: contain;
  border-radius: 14px;
  background: #e9edf0;
}
.photos-manage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0;
}
.photos-manage img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: contain;
  border-radius: 8px;
}
.photos-manage button {
  width: 100%;
  font-size: 13px;
  padding: 7px;
}
.listing-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.listing-row img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 10px;
}
.listing-row:last-child {
  border-bottom: 0;
}
.listing-row .actions {
  margin: 8px 0;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.metric {
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
}
.metric strong {
  font-size: 28px;
  display: block;
}
.metric span {
  font-size: 14px;
  color: var(--muted);
}
.split {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 24px;
}
.thread {
  max-height: 550px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 10px 0;
}
.bubble {
  background: #f1f3f5;
  border-radius: 12px;
  padding: 14px 17px;
  max-width: 90%;
  align-self: flex-start;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.bubble.mine {
  background: #fae9e9;
  align-self: flex-end;
}
.conversation-button {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  margin-bottom: 10px;
  padding: 16px;
}
.conversation-button small {
  display: block;
  font-weight: 400;
}
.booking-card {
  margin-bottom: 20px;
}
.booking-card .row:first-child {
  padding-top: 0;
}
.booking-card p {
  margin: 8px 0;
}
.flow-note {
  padding: 14px 18px;
  background: #f5f6f8;
  border-radius: 8px;
  font-size: 14px;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}
.fields .wide {
  grid-column: 1/-1;
}
.details {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.details span {
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: white;
  font-size: 14px;
}
.code {
  font-family: monospace;
  font-size: 24px;
  overflow-wrap: anywhere;
  background: #f0f3f5;
  padding: 16px;
  border-radius: 8px;
}
.tabbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.tabbar button.selected {
  background: var(--red);
  color: white;
}
.audit {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.audit .row {
  align-items: flex-start;
}
.audit small {
  display: block;
}
.media-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 13px;
  padding: 10px;
  text-align: center;
}
.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
}
.checkbox input {
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin-top: 4px;
}
.soft {
  color: var(--muted);
}
.form-note {
  font-size: 13px;
  color: var(--muted);
  margin: 8px 0;
}
.stars {
  color: #9b6910;
  letter-spacing: 2px;
}
.error {
  color: #a51414;
}
.calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
  margin: 18px 0;
}
.calendar .day {
  min-height: 70px;
  padding: 7px;
  background: #f5f6f8;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 12px;
}
.calendar .day.busy {
  background: #fae9e9;
  border-color: #e3b8b8;
}
.calendar .day strong {
  display: block;
}
.calendar .weekday {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}
.calendar .event {
  font-size: 10px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.back {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--red);
  font-weight: 600;
}
@media (max-width: 1000px) {
  .offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .offer-layout {
    grid-template-columns: 1fr;
  }
  .split {
    grid-template-columns: 1fr;
  }
  .search-controls {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
  .search-controls {
    grid-template-columns: 1fr;
  }
  .fields {
    grid-template-columns: 1fr;
  }
  .metrics {
    grid-template-columns: 1fr 1fr;
  }
  .listing-row {
    grid-template-columns: 85px minmax(0, 1fr);
    gap: 14px;
  }
  .listing-row > div:last-child {
    grid-column: 1/-1;
  }
  .listing-row img {
    width: 85px;
    height: 75px;
  }
  .photos-manage {
    grid-template-columns: 1fr 1fr;
  }
  .calendar .day {
    min-height: 55px;
    padding: 4px;
  }
  .calendar .event {
    display: none;
  }
  .offer-card h2 {
    font-size: 23px;
  }
}

.card + .card {
  margin-top: 22px;
}
.map-frame {
  display: block;
  width: 100%;
  height: 420px;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 10px;
}
.map-preview {
  margin: 20px 0;
}
.map-preview .meta {
  display: block;
  margin-top: 12px;
}
input::file-selector-button {
  border: 0;
  background: #f1f3f5;
  padding: 8px 12px;
  border-radius: 6px;
  margin-right: 12px;
  font: inherit;
  cursor: pointer;
}
.fields > button {
  align-self: end;
  margin: 16px 0;
}
.operator-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.audit .row {
  padding: 14px 0;
}
.audit strong {
  font-size: 15px;
}
.audit .meta {
  margin: 5px 0;
}
@media (max-width: 600px) {
  .map-frame {
    height: 320px;
  }
  .operator-summary {
    grid-template-columns: 1fr;
  }
}

/* Typography and crimson are sampled from the approved S02/S04 design references. */
body {
  background: #fff;
}
main {
  max-width: 1536px;
  padding: 30px 5% 65px;
}
:root {
  --red: #970c26;
}
h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  letter-spacing: -1.6px;
  color: #111;
  line-height: 1.12;
}
h2,
h3 {
  font-family: Georgia, "Times New Roman", serif;
  color: #111;
}
.card {
  border-radius: 10px;
  box-shadow: none;
}
.top {
  padding-top: 12px;
  padding-bottom: 12px;
}
.brand {
  color: #0c0c10;
}
.offer-card {
  border-radius: 8px;
  box-shadow: none;
}
.offer-card .inner {
  padding: 15px;
}
.offer-card h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
}
.offer-card .price,
.price {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--red);
  font-weight: 700;
}
.offer-card .price {
  font-size: 23px;
  margin: 8px 0;
}
.offer-photo {
  aspect-ratio: 1.72;
}
.offer-card .meta {
  margin: 6px 0;
}
.search-controls {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  margin-bottom: 28px;
}
.search-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 22px;
}
.search-sidebar {
  display: block;
}
.search-sidebar .card {
  padding: 18px;
}
.search-sidebar label {
  font-size: 14px;
}
.search-sidebar h2 {
  font-size: 25px;
}
.search-sidebar h3 {
  font-size: 18px;
}
.search-sidebar input,
.search-sidebar select {
  padding: 9px 10px;
  font-size: 14px;
}
.search-sidebar button {
  width: 100%;
  margin-top: 15px;
}
.clear-filter {
  display: block;
  text-align: center;
  color: var(--red);
  font-size: 14px;
  padding-top: 12px;
}
.budget-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.results-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 5px 0 18px;
}
.results-toolbar > strong {
  flex: 1;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
}
.pill {
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: white;
  font-size: 14px;
}
.pill.selected {
  background: var(--red);
  color: white;
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 25px;
}
.finder-promo {
  background: #fdf2f2;
}
.finder-promo h2 {
  font-size: 23px;
}
.detail-gallery {
  width: 100%;
  max-height: 520px;
  margin-bottom: 22px;
}
.detail-gallery img {
  max-width: none;
  width: 100%;
  max-height: 500px;
  object-fit: contain;
}
.detail-gallery.many {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 6px;
  height: 430px;
  overflow: hidden;
}
.detail-gallery.many img {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  aspect-ratio: auto;
  border-radius: 6px;
}
.detail-gallery.many img:first-child {
  grid-row: 1/3;
}
.detail-gallery.many img:nth-child(n + 6) {
  display: none;
}
.offer-layout {
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
}
.offer-layout > .card {
  margin-top: 0;
}
.search-sidebar .checkbox {
  margin: 8px 0;
}
.search-sidebar .checkbox input {
  width: 18px;
  height: 18px;
  min-width: 18px;
}
.offer-layout .price {
  font-size: 32px;
}
button.button,
a.button {
  background: linear-gradient(120deg, #b6002b, #970c26);
}
@media (max-width: 1050px) {
  .search-layout {
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 800px) {
  main {
    padding: 25px 18px 45px;
  }
  h1 {
    font-size: 35px;
  }
  .search-layout {
    grid-template-columns: 1fr;
  }
  .search-sidebar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .offer-layout {
    grid-template-columns: 1fr;
  }
  .detail-gallery.many {
    height: 280px;
    grid-template-columns: 2fr 1fr;
  }
  .detail-gallery.many img:nth-child(n + 4) {
    display: none;
  }
  .search-sidebar .finder-promo {
    display: none;
  }
}
@media (max-width: 600px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
  .search-controls {
    grid-template-columns: 1fr;
  }
  .detail-gallery.many {
    height: 230px;
  }
  .offer-card h2 {
    font-size: 23px;
  }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  white-space: nowrap;
  font-size: 14px;
}
.header-actions .button {
  padding: 9px 13px;
  font-size: 13px;
  border-radius: 6px;
}
.live-home main {
  max-width: none;
  padding: 0 0 50px;
}
.live-home #message:not(:empty) {
  margin: 15px 5%;
}
.live-hero {
  position: relative;
  isolation: isolate;
  background: #f6f3ee;
  padding: 45px 5% 25px;
  overflow: hidden;
  min-height: 400px;
}
.live-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 0 38%;
  z-index: -2;
  background-image: url("/assets/s01-reference.png");
  background-size: 256.411% 296.445%;
  background-position: 100% 7.693%;
  background-repeat: no-repeat;
}
.live-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    #f6f3ee 0%,
    #f6f3ee 32%,
    #f6f3eec0 43%,
    transparent 68%
  );
}
.live-hero h1 {
  font-size: 60px;
  white-space: pre-line;
  line-height: 1.03;
  max-width: 850px;
  margin-top: 8px;
  margin-bottom: 14px;
}
.live-hero > p {
  font-family: Georgia, serif;
  font-size: 24px;
  max-width: 750px;
  margin: 0 0 24px;
}
.live-search {
  max-width: 950px;
  border: 6px solid #ffffffad;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 25px #0000000a;
}
.live-search .tabbar {
  padding: 4px 5px 0;
  margin: 0;
  gap: 5px;
  flex-wrap: nowrap;
}
.live-search .tabbar button {
  padding: 10px 12px;
  font-size: 13px;
  flex: 1;
  border: 0;
}
.live-search .search-controls {
  margin: 0;
  border: 0;
  padding: 8px 12px 12px;
  gap: 12px;
}
.live-search label {
  font-size: 12px;
}
.live-search input,
.live-search select {
  font-size: 14px;
  padding: 10px;
}
.live-content {
  max-width: 1536px;
  margin: auto;
  padding: 20px 5% 0;
}
.live-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 28px;
}
.live-category {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  height: 170px;
  border-radius: 8px;
  padding: 18px;
  color: #fff;
  font:
    700 24px Georgia,
    serif;
  background-image: url("/assets/s01-reference.png");
  background-repeat: no-repeat;
  box-shadow: inset 0 80px 90px -70px #000;
  text-shadow: 0 1px 4px #000;
}
.live-category-0 {
  background-size: 452.489% 1334%;
  background-position: 6.162% 48.622%;
}
.live-category-1 {
  background-size: 462.963% 1334%;
  background-position: 35.587% 48.622%;
}
.live-category-2 {
  background-size: 460.829% 1334%;
  background-position: 64.496% 48.622%;
}
.live-category-3 {
  background-size: 454.546% 1334%;
  background-position: 93.975% 48.622%;
}
.live-explore {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);
  gap: 22px;
  margin-bottom: 25px;
}
.live-explore > .card {
  margin-top: 0;
}
.live-explore .offer-grid {
  gap: 14px;
}
.live-explore .card {
  padding: 20px;
}
.live-explore .empty {
  grid-column: 1/-1;
}
.destination-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.destination {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px 12px;
  background: #faf8f6;
  font:
    700 18px Georgia,
    serif;
  color: #292929;
}
@media (max-width: 1150px) {
  .top {
    gap: 24px;
  }
  .top nav {
    gap: 18px;
  }
  .top nav a {
    font-size: 14px;
  }
  .header-actions {
    gap: 12px;
  }
  .header-actions .button {
    font-size: 11px;
  }
  .live-explore {
    grid-template-columns: 1fr;
  }
  .live-explore .finder-promo {
    display: block;
  }
  .live-category {
    font-size: 21px;
  }
}
@media (max-width: 800px) {
  .top {
    gap: 12px;
  }
  .header-actions {
    margin-left: auto;
  }
  .live-hero {
    padding: 28px 5%;
    min-height: 0;
  }
  .live-hero h1 {
    font-size: 43px;
  }
  .live-hero > p {
    font-size: 19px;
    max-width: 90%;
  }
  .live-hero::before {
    left: 15%;
  }
  .live-hero::after {
    background: linear-gradient(90deg, #f6f3eefa, #f6f3eec7 55%, #f6f3ee50);
  }
  .live-search .tabbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .live-search .search-controls {
    grid-template-columns: 1fr 1fr;
  }
  .live-search .search-controls > label:first-child {
    grid-column: 1/-1;
  }
  .live-search .search-controls > button {
    grid-column: 1/-1;
  }
  .live-categories {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .live-category {
    height: 130px;
    font-size: 20px;
  }
  .destination-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .live-explore .offer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .header-actions .button {
    display: none;
  }
  .live-hero h1 {
    font-size: 37px;
  }
  .live-search {
    border-width: 4px;
  }
  .live-search .tabbar button {
    font-size: 11px;
  }
  .live-category {
    height: 115px;
    font-size: 18px;
    padding: 14px;
  }
  .destination-grid {
    grid-template-columns: 1fr 1fr;
  }
  .live-explore .offer-grid {
    grid-template-columns: 1fr;
  }
  .top .brand {
    font-size: 30px;
  }
}

.broker-header {
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 25px;
}
.broker-cover {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}
.broker-identity {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 25px;
}
.broker-identity > div:first-of-type {
  flex: 1;
}
.broker-identity h2 {
  font-size: 34px;
  margin-bottom: 8px;
}
.broker-portrait {
  width: 135px;
  height: 135px;
  object-fit: cover;
  border-radius: 50%;
  border: 5px solid white;
}
.broker-header:has(.broker-cover) .broker-portrait {
  margin-top: -65px;
  position: relative;
}
.profile-editor-photo {
  max-width: 100%;
  height: 220px;
  object-fit: contain;
  display: block;
  margin-bottom: 20px;
}
.photo-viewer {
  border: 0;
  border-radius: 12px;
  padding: 24px;
  width: min(1100px, 95vw);
  max-height: 95vh;
}
.photo-viewer::backdrop {
  background: #000b;
}
.photo-viewer img {
  width: 100%;
  max-height: 75vh;
  object-fit: contain;
  margin-bottom: 20px;
  background: #f4f4f4;
}
.photo-viewer > button {
  position: sticky;
  top: 0;
  float: right;
}
.broker-identity .actions {
  margin: 0;
}
.broker-identity .form-note {
  margin: 8px 0;
}
body:has(.photo-viewer[open]) {
  overflow: hidden;
}
@media (max-width: 800px) {
  .broker-identity {
    flex-wrap: wrap;
    padding: 20px;
    gap: 16px;
  }
  .broker-identity h2 {
    font-size: 29px;
  }
  .broker-cover {
    height: 150px;
  }
  .broker-portrait {
    width: 100px;
    height: 100px;
  }
  .broker-identity .actions {
    width: 100%;
  }
  .broker-header:has(.broker-cover) .broker-portrait {
    margin-top: -50px;
  }
}

/* Listing/map/operations completion pass, October 21. */
.location-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}
.location-results{display:grid;gap:20px;min-width:0}
.location-results .offer-card{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:16px}
.location-results .offer-card>button{margin:0 18px}
.location-results .offer-photo{aspect-ratio:2.2}
.location-results .offer-card.is-selected{outline:3px solid #af1b1b;outline-offset:2px}
.location-panel{position:sticky;top:24px;min-width:0}
.location-panel .map-frame{height:480px;width:100%}
.tabbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.tabbar button[aria-pressed=true]{background:#af1b1b;color:#fff}
@media(max-width:799px){.location-layout{grid-template-columns:1fr}.location-panel{position:static}.location-panel .map-frame{height:320px}}

.calendar-navigation{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 20px}.calendar-navigation button{padding:8px 13px}
.photos-manage button{margin:5px 4px 0 0;font-size:13px;padding:8px 10px}

.listing-controls{display:flex;justify-content:flex-end;gap:10px;margin:-8px 0 20px}
.listing-price h2{color:var(--red);font-size:36px}.offer-grid>article>button{margin:0 18px 16px}
.pill[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}
@media(max-width:700px){.listing-price h2{font-size:28px}.listing-controls{justify-content:flex-start}}

/* Keep pills legible and financial cards inside narrow screens. */
.pill{color:var(--ink)}
.results-toolbar{flex-wrap:wrap}.results-toolbar>.chips{flex:1;min-width:0;margin-top:0}
.results-toolbar>select{width:auto;max-width:230px;flex:0 1 230px}
.metric{min-width:0;overflow-wrap:anywhere}.metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
@media(max-width:600px){.metrics{grid-template-columns:1fr}.results-toolbar>select{max-width:100%;flex-basis:100%}.listing-controls{flex-wrap:wrap}}

@media(max-width:600px){.hero-actions{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:9px;gap:7px}.hero-actions>a{flex:0 0 auto;white-space:nowrap}}

fieldset{border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:16px;min-width:0}legend{font-weight:700;padding:0 6px}details>summary{cursor:pointer;font-weight:700;color:var(--red);padding:12px 0}summary:focus-visible{outline:3px solid #d99d32;outline-offset:3px}

.interactive-map{height:480px;width:100%;border-radius:14px;z-index:0}.listing-map-marker span{display:block;background:#af1b1b;border:2px solid white;border-radius:18px;color:white;font:bold 12px/28px Arial,sans-serif;text-align:center;box-shadow:0 2px 8px #0003;white-space:nowrap}.leaflet-popup-content a{color:#af1b1b;font-weight:bold}.leaflet-control-attribution{font-size:11px}@media(max-width:799px){.interactive-map{height:340px}}

.row{flex-wrap:wrap}.row>*{min-width:0;overflow-wrap:anywhere}.row>div{flex:1 1 180px}

/* Shared verified review distribution and seller performance. */
.performance-panel{margin-top:20px}.performance-panel>.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.performance-panel .metric{background:#fafafa;border:1px solid #eceef0}
.rating-summary{max-width:440px;margin-top:18px}.rating-row{display:grid;grid-template-columns:42px minmax(80px,1fr) 30px;align-items:center;gap:12px;margin:7px 0;font-size:14px}.rating-row meter{width:100%;height:13px;accent-color:#af1b1b}.rating-row meter::-webkit-meter-optimum-value{background:#af1b1b}.rating-row>span:last-child{text-align:right;color:#657181}
@media(max-width:640px){.performance-panel>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-summary{max-width:100%}}

@media(max-width:600px){.notification-row>div{flex:none;width:100%}.notification-row{gap:12px}}

/* Compact, lazy-loaded multi-region service coverage. */
.profile-coverage{min-width:0}.coverage-summary,.coverage-legacy{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.coverage-legacy>.form-note{width:100%;margin:4px 0}.coverage-picker{border:1px solid #d8dce1;border-radius:6px;background:#fff;padding:10px 12px}.coverage-picker>summary{font-size:13px;font-weight:600;cursor:pointer;color:#970c26}.coverage-tree{max-height:360px;overflow:auto;overscroll-behavior:contain}.coverage-tree input[type=search]{height:36px;margin:8px 0;font-size:13px}.coverage-row{border-bottom:1px solid #edf0f3;padding:7px 2px}.coverage-row summary{cursor:pointer;font:600 13px/1.5 Arial,sans-serif;padding:3px}.coverage-children{margin-left:14px;padding-left:10px;border-left:1px solid #e5e8ed}.profile-coverage .coverage-choice{display:flex;align-items:center;gap:8px;font:400 13px/1.4 Arial,sans-serif;margin:8px 0}.profile-coverage .coverage-choice input{width:18px;height:18px;min-height:18px;flex:none;margin:0;accent-color:#a70b2a}.coverage-error{color:#a70b2a;font-size:12px}.coverage-row[hidden]{display:none}.profile-coverage .profile-chip{max-width:100%;white-space:normal}.profile-coverage .profile-chip>span{overflow-wrap:anywhere}

.profile-preview-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 14px;border:1px solid #eedde0;border-radius:6px;background:#fff7f8;font-size:13px}

/* Listing actions share one order and geometry across every family. */
.listing-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;margin:18px 0}.listing-action-grid>a,.listing-action-grid>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:46px;margin:0;padding:11px 12px;text-align:center;border:1px solid #dce1e6;border-radius:6px;text-decoration:none;font:600 14px Arial,sans-serif}.listing-action-grid>.button{border-color:var(--red)}
.listing-dialog{width:min(500px,calc(100vw - 32px));box-sizing:border-box;padding:24px;border:1px solid #dce1e6;border-radius:12px;max-height:90vh}.listing-dialog::backdrop{background:#0008}.listing-dialog input{box-sizing:border-box;max-width:100%}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-navigation p{margin:0}.photo-viewer img{height:60vh;margin:0}.photo-viewer .photo-navigation button{position:static;float:none}.map-preview .interactive-map{height:320px;width:100%}

.results-toolbar .browse-view-switch{margin-left:auto}.location-panel{top:calc(var(--workspace-top,72px) + 16px)}.location-panel>.interactive-map{border-radius:8px}.location-panel .interactive-map{min-height:340px}@media(max-width:799px){.location-layout>.location-panel{order:-1}.results-toolbar .browse-view-switch{margin-left:0}}

.offer-grid.browse-list{grid-template-columns:minmax(0,1fr)}.offer-grid.browse-list .offer-card>a{display:grid;grid-template-columns:34% minmax(0,1fr);height:100%}.offer-grid.browse-list .offer-card img{height:100%;min-height:190px;object-fit:cover}.offer-grid.browse-list .offer-card .inner{min-width:0}

#browse-results{scroll-margin-top:calc(var(--workspace-top,72px) + 20px)}

/* Listing inquiries stay bounded and booking dates fit their content. */
.booking-date-fields{display:flex;flex-wrap:wrap;gap:12px 20px;margin:16px 0}.booking-date-fields>label{display:block;flex:0 1 270px;max-width:100%;margin:0}.booking-date-fields input{box-sizing:border-box;width:100%;min-width:0}.listing-booking-panel{scroll-margin-top:calc(var(--workspace-top,72px) + 16px)}.seller-contact-options{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.seller-contact-options a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #dce1e6;border-radius:6px;font-weight:600;text-decoration:none}.seller-message-dialog textarea{box-sizing:border-box;width:100%;min-height:120px}.seller-message-dialog>button{margin-top:12px}@media(max-width:600px){.booking-date-fields>label{flex-basis:250px}}

.compact-date-form>label:has(input[type="datetime-local"]){display:inline-block;vertical-align:top;width:250px;max-width:100%;margin-right:16px}.compact-date-form input[type="datetime-local"]{box-sizing:border-box;width:100%;min-width:0}

.detail-gallery.interactive-gallery{display:grid;grid-template-columns:2fr 2fr;height:430px;max-height:520px;gap:6px;overflow:hidden}.interactive-gallery .gallery-main,.interactive-gallery .gallery-thumbnail{padding:0;border:0;border-radius:6px;overflow:hidden;margin:0;background:#f3f4f5;min-width:0;min-height:0;display:block;position:relative}.interactive-gallery .gallery-main{cursor:zoom-in}.interactive-gallery .gallery-thumbnails{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:50%;gap:6px;min-height:0;overflow:auto}.interactive-gallery .gallery-thumbnail{cursor:pointer}.detail-gallery.interactive-gallery img,.detail-gallery.interactive-gallery.many img:first-child{display:block;width:100%;height:100%;max-height:none;object-fit:cover;grid-row:auto}.interactive-gallery button:focus-visible{outline:3px solid var(--red);outline-offset:-3px}.detail-gallery.interactive-gallery:not(.many){grid-template-columns:1fr}.interactive-gallery:not(.many) .gallery-thumbnails{display:none}@media(max-width:800px){.detail-gallery.interactive-gallery{height:280px;grid-template-columns:2fr 1fr}.interactive-gallery .gallery-thumbnails{grid-template-columns:1fr}}@media(max-width:600px){.detail-gallery.interactive-gallery{height:230px}}
.detail-gallery.interactive-gallery{grid-template-rows:minmax(0,1fr);padding-bottom:0}.detail-gallery.interactive-gallery button.gallery-main,.detail-gallery.interactive-gallery button.gallery-thumbnail{padding:0;max-width:none;width:100%;height:100%;border:0}.detail-gallery.interactive-gallery img{max-width:none}

/* WhatsApp brand green, with dark text for readable contrast. */
a.whatsapp-contact,.seller-contact-options a.whatsapp-contact{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#25d366;color:#102d1c;border:1px solid #25d366;padding:10px 14px;border-radius:6px;text-decoration:none;font-weight:700;min-height:44px;box-sizing:border-box}a.whatsapp-contact:hover,.seller-contact-options a.whatsapp-contact:hover{background:#20c45e;border-color:#20c45e;color:#102d1c}a.whatsapp-contact svg{width:21px;height:21px;flex:none;fill:currentColor}a.whatsapp-contact:focus-visible{outline:3px solid #075e54;outline-offset:3px}

.seller-contact-channels:empty{display:none}.seller-contact-channels .seller-contact-options{margin:0 0 18px}.seller-contact-channels .whatsapp-contact{width:100%}

.detail-gallery.interactive-gallery{position:relative}.detail-gallery.interactive-gallery>button.gallery-all{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;width:auto;height:auto;min-height:40px;margin:0;padding:9px 13px;background:#fff;color:#172b3a;border:1px solid #dce1e6;border-radius:6px;box-shadow:0 2px 9px #0002;font-size:13px;font-weight:600;cursor:pointer}.gallery-all .ui-icon{width:17px;height:17px}.detail-gallery.interactive-gallery>button.gallery-all:hover{background:#f7f7f7}.detail-gallery.interactive-gallery>button.gallery-all:focus-visible{outline:3px solid var(--red);outline-offset:-3px}@media(max-width:600px){.detail-gallery.interactive-gallery>button.gallery-all{top:8px;right:8px;padding:8px 10px;min-height:36px;font-size:12px}}
/* Shared context, aligned editing and centered account processes. */
.listing-reference{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #e0e4e8;border-radius:8px;margin:10px 0;min-width:0}.listing-reference img{width:92px;height:68px;object-fit:cover;border-radius:5px;flex:none}.listing-reference>div{min-width:0}.listing-reference p{margin:5px 0}.listing-reference a{font-weight:600}.conversation-button .listing-reference{padding:0;border:0;text-align:left}.conversation-button .listing-reference img{width:64px;height:52px}.listing-statistics{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.listing-statistics span,.finder-tracking{padding:6px 9px;background:#f3f5f6;border-radius:5px;font-size:13px}.account-listing-search{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.account-listing-search label{flex:1;min-width:180px}.account-listing-search button{margin-bottom:16px}.process-dialog{position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 32px));max-height:88vh;overflow:auto;border:1px solid #dce1e6;border-radius:12px;padding:26px;box-sizing:border-box}.process-dialog::backdrop{background:#0008}.process-dialog input,.process-dialog textarea{box-sizing:border-box;max-width:100%}.authenticator-qr{display:block;width:210px;height:210px;margin:16px auto}.process-dialog button{margin:8px 8px 0 0}.fields{align-items:start;grid-auto-flow:row}.fields .vehicle-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.fields .vehicle-editor-fields>legend,.fields .vehicle-editor-fields>div,.fields .vehicle-editor-fields>p{grid-column:1/-1}.map-pin-panel{width:100%;box-sizing:border-box}.map-pin-panel>button{margin:10px 10px 0 0}.pin-editor-map:empty{display:none}.editor-pin{background:#b50923;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 1px 5px #0008}.profile-view-action{margin-bottom:16px}.profile-form{align-items:start}.profile-main-card{max-width:none}.photos-manage>[draggable=true]{cursor:grab}.photos-manage>[draggable=true]:focus-visible{outline:3px solid var(--red)}.finder-request-counts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.finder-request-counts button{font-size:13px}.ad-id{font-size:13px;font-weight:600;color:#b50923}@media(max-width:600px){.fields .vehicle-editor-fields{grid-template-columns:1fr}.listing-reference img{width:72px;height:60px}.process-dialog{padding:20px}}

body.workspace-shell #content.listing-editor>.card:has(>form){max-width:none}.fields>button{grid-column:1/-1;justify-self:start}.profile-view-action{grid-column:1/-1;justify-self:start}.fields>label:has(textarea[name=description]){grid-column:1/-1}

.compact-date-form>label:has(input[type=date]){display:inline-block;vertical-align:top;width:250px;max-width:100%;margin-right:16px}.compact-date-form input[type=date]{box-sizing:border-box;width:100%;min-width:0}

.contact-channel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.contact-channel-actions>button,.contact-channel-actions>a,.contact-channel-actions .whatsapp-contact{margin:0;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.contact-whatsapp-slot{display:inline-flex}.contact-whatsapp-slot:empty{display:none!important}.listing-action-grid>.contact-whatsapp-slot{display:flex;min-width:0}.listing-action-grid>.contact-whatsapp-slot>a,.listing-action-grid>.contact-whatsapp-slot>button{width:100%;margin:0}

.actions .seller-contact-options{margin:0;gap:10px}
