/* Approved Libertia listing design. Load after public.css; no page or detail styles. */
.lp-property-tabs,
.lp-properties {
  --lp-ink: var(--lb-ink, #1c1c1c); --lp-muted: var(--lb-muted, #526168); --lp-line: var(--lb-line, #e3e3e3); --lp-paper: var(--lb-paper, #f3f5f7);
  --lp-list-font: Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  color: var(--lp-ink); font-family: var(--lp-list-font); font-weight: 400;
  letter-spacing: normal; scroll-margin-top: 100px;
}
.lp-property-tabs.lp-property-tabs { margin: 0; }
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__toolbar {
  gap: 24px; padding: 0; margin: 0 0 32px; border: 0;
}
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__nav {
  display: flex; flex-wrap: nowrap; align-self: center; align-items: center; gap: 4px;
  width: max-content; max-width: 100%; padding: 4px; margin: 0; border: 0; border-radius: 999px; background: var(--lb-paper, #f3f5f7);
}
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__tab {
  display: inline-flex; flex: 1 0 auto; align-items: center; justify-content: center;
  min-height: 48px; margin: 0; padding: 12px 32px; border: 0; border-radius: 999px;
  background: transparent; color: var(--lb-muted, #526168); font: 400 16px/1.6 var(--lp-list-font);
  text-decoration: none; box-shadow: none; cursor: pointer;
}
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__tab[aria-selected="true"] { background: var(--lb-accent, #0f2540); color: #fff; }
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__tab:hover:not([aria-selected="true"]) { background: #e6ebef; color: var(--lb-accent, #0f2540); }
:is(.lp-property-tabs, .lp-properties) .lp-property-tabs__tab:focus-visible { outline: 2px solid var(--lb-accent, #0f2540); outline-offset: 3px; }
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort { gap: 12px; padding: 0; }
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort label { color: var(--lb-muted, #526168); font-size: 14px; white-space: nowrap; }
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort select {
  min-height: 48px; max-width: 100%; margin: 0; padding: 10px 34px 10px 14px;
  border: 1px solid var(--lb-line, #e3e3e3); border-radius: 12px; background-color: #fff; color: var(--lb-ink, #1c1c1c);
  font: 400 14px/1.6 var(--lp-list-font); cursor: pointer;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0; }
:is(.lp-property-tabs, .lp-properties) .lp-card {
  min-width: 0; border: 1px solid var(--lb-line, #e3e3e3); border-radius: 12px; background: #fff;
  box-shadow: none; transition: border-color .18s ease,box-shadow .18s ease;
}
:is(.lp-property-tabs, .lp-properties) .lp-card:hover { transform: none; border-color: #b9c3cd; box-shadow: 0 6px 20px rgba(15,37,64,.07); }
:is(.lp-property-tabs, .lp-properties) .lp-card:focus-within { outline: none; }
:is(.lp-property-tabs, .lp-properties) .lp-card__link:focus-visible { outline: 2px solid var(--lb-accent, #0f2540); outline-offset: -3px; }
:is(.lp-property-tabs, .lp-properties) .lp-card__image { aspect-ratio: 16 / 10; background: var(--lb-paper, #f3f5f7); }
:is(.lp-property-tabs, .lp-properties) .lp-card__body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 24px; }
:is(.lp-property-tabs, .lp-properties) .lp-card__kind { margin: 0; color: var(--lb-muted, #526168); font-size: 12px; line-height: 1.6; }
:is(.lp-property-tabs, .lp-properties) h3.lp-card__title {
  display: block; min-height: 3.2em; padding: 0; margin: 0; border: 0; background: none; box-shadow: none;
  color: var(--lb-ink, #1c1c1c); font: 400 20px/1.6 var(--lp-list-font); letter-spacing: normal;
  -webkit-line-clamp: unset; overflow: visible; overflow-wrap: anywhere;
}
:is(.lp-property-tabs, .lp-properties) .lp-card__price {
  align-items: flex-end; gap: 12px; padding-top: 12px; margin: auto 0 0;
  color: var(--lb-accent, #0f2540); font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: normal;
}
:is(.lp-property-tabs, .lp-properties) .lp-card__price > span:first-child { display: block; min-width: 0; overflow: visible; -webkit-line-clamp: unset; }
:is(.lp-property-tabs, .lp-properties) .lp-card__price .lp-price-caption {
  display: block; margin: 8px 0 0; color: var(--lb-muted, #526168); font-size: 12px; line-height: 1.7;
  white-space: normal; overflow: visible; text-overflow: clip;
}
:is(.lp-property-tabs, .lp-properties) .lp-card__arrow {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px;
  width: 32px; height: 32px; border-radius: 50%; background: var(--lb-paper, #f3f5f7); color: var(--lb-accent, #0f2540); font-size: 16px;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__pagination { gap: 8px; margin: 32px 0 0; }
:is(.lp-property-tabs, .lp-properties) .lp-properties__pagination .lp-pagination__link {
  min-height: 48px; min-width: 48px; padding: 10px 15px; border: 1px solid var(--lb-line, #e3e3e3);
  border-radius: 999px; background: #fff; color: var(--lb-accent, #0f2540); font-size: 14px;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__pagination .lp-pagination__link--current { border-color: var(--lb-accent, #0f2540); background: var(--lb-accent, #0f2540); color: #fff; }
:is(.lp-property-tabs, .lp-properties) .lp-properties__empty { padding: 48px 24px; border-radius: 12px; line-height: 1.8; }
@media (max-width: 1000px) {
  :is(.lp-property-tabs, .lp-properties) .lp-properties__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  :is(.lp-property-tabs, .lp-properties) .lp-property-tabs__toolbar { gap: 16px; padding: 0; margin-bottom: 24px; }
  :is(.lp-property-tabs, .lp-properties) .lp-property-tabs__nav { width: 100%; }
  :is(.lp-property-tabs, .lp-properties) .lp-property-tabs__tab { min-height: 48px; padding: 10px 16px; font-size: 14px; }
  :is(.lp-property-tabs, .lp-properties) .lp-properties__sort select { min-width: 0; width: auto; flex: 1; font-size: 14px; }
  :is(.lp-property-tabs, .lp-properties) .lp-properties__grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  :is(.lp-property-tabs, .lp-properties) .lp-card__body { padding: 20px; }
  :is(.lp-property-tabs, .lp-properties) h3.lp-card__title { min-height: 0; font-size: 20px; }
  :is(.lp-property-tabs, .lp-properties) .lp-card__price { font-size: 24px; }
}
@media (max-width: 359px) {
  :is(.lp-property-tabs, .lp-properties) .lp-card__price { font-size: 24px; }
  :is(.lp-property-tabs, .lp-properties) .lp-card__arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.lp-property-tabs, .lp-properties) .lp-card { transition: none; }
}
/* The enhanced toolbar moves the sort form out of the result panel. */
.lp-property-tabs--ready .lp-property-tabs__sort-slot .lp-properties__sort {
  gap: 12px; padding: 0; font-family: var(--lp-list-font); letter-spacing: normal;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort select {
  box-sizing: border-box; min-width: 0; font-size: 16px; line-height: 1.5;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort select:focus {
  border: 2px solid var(--lb-accent, #0f2540); padding: 9px 33px 9px 13px;
  outline: none; box-shadow: none;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort button {
  min-height: 48px; padding: 10px 18px; border: 1px solid var(--lb-line, #e3e3e3);
  border-radius: 999px; background: #fff; color: var(--lb-accent, #0f2540);
  font: 400 14px/1.6 var(--lp-list-font); box-shadow: none;
}
:is(.lp-property-tabs, .lp-properties) .lp-properties__sort button:focus-visible {
  outline: 2px solid var(--lb-accent, #0f2540); outline-offset: 3px;
}
/* Keep keyboard focus to one ring, rather than both the card and its link. */
:is(.lp-property-tabs, .lp-properties) .lp-card__link:focus-visible { box-shadow: none; }

/* Search remains usable with native GET submission and without JavaScript. */
form.lp-properties__search {
  --lp-list-font: Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 0 32px; padding: 24px;
  border: 1px solid var(--lb-line, #e3e3e3); border-radius: 12px; background: var(--lb-paper, #f3f5f7);
  color: var(--lb-ink, #1c1c1c); font: 400 16px/1.8 var(--lp-list-font); letter-spacing: normal;
}
form.lp-properties__search *,
form.lp-properties__search *::before,
form.lp-properties__search *::after { box-sizing: border-box; }
form.lp-properties__search > label {
  display: block; margin: 0 0 12px; color: var(--lb-accent, #0f2540);
  font: 400 16px/1.6 var(--lp-list-font); letter-spacing: normal;
}
form.lp-properties__search .lp-properties__search-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0;
}
form.lp-properties__search input[type="search"] {
  display: block; flex: 1 1 260px; min-width: 0; max-width: 100%; width: auto; min-height: 48px; height: auto;
  margin: 0; padding: 12px 14px; border: 1px solid #b9c3cd; border-radius: 12px;
  background: #fff; color: var(--lb-ink, #1c1c1c); font: 400 16px/1.5 var(--lp-list-font);
  letter-spacing: normal; box-shadow: none; -webkit-appearance: none; appearance: none;
}
form.lp-properties__search input[type="search"]::placeholder { color: var(--lb-muted, #526168); opacity: 1; }
form.lp-properties__search input[type="search"]:focus {
  padding: 11px 13px; border: 2px solid var(--lb-accent, #0f2540); outline: none; box-shadow: none;
}
form.lp-properties__search button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  min-height: 48px; min-width: 90px; max-width: 100%; height: auto; margin: 0; padding: 12px 26px;
  border: 1px solid var(--lb-accent, #0f2540); border-radius: 999px; background: var(--lb-accent, #0f2540); color: #fff;
  font: 400 16px/1.6 var(--lp-list-font); letter-spacing: normal; cursor: pointer; box-shadow: none;
}
form.lp-properties__search button[type="submit"]::before,
form.lp-properties__search button[type="submit"]::after { content: none; }
form.lp-properties__search button[type="submit"]:hover { background: #26364b; border-color: #26364b; opacity: 1; }
form.lp-properties__search a.lp-properties__clear,
form.lp-properties__search a.lp-properties__clear:visited {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  max-width: 100%; margin: 0; padding: 8px 4px; color: var(--lb-accent, #0f2540);
  font: 400 14px/1.6 var(--lp-list-font); text-decoration: underline;
  text-underline-offset: .2em; overflow-wrap: anywhere; border: 0; box-shadow: none;
}
form.lp-properties__search button[type="submit"]:focus-visible,
form.lp-properties__search a.lp-properties__clear:focus-visible {
  outline: 2px solid var(--lb-accent, #0f2540); outline-offset: 3px; box-shadow: none;
}
form.lp-properties__search p.lp-properties__search-help {
  margin: 12px 0 0; color: var(--lb-muted, #526168); font: 400 14px/1.8 var(--lp-list-font);
}
:is(.lp-property-tabs, .lp-properties) p.lp-properties__result {
  margin: 0 0 24px; color: var(--lb-muted, #526168); font: 400 14px/1.8 var(--lp-list-font);
  letter-spacing: normal; overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  form.lp-properties__search { margin-bottom: 24px; padding: 20px 16px; }
  form.lp-properties__search .lp-properties__search-row { gap: 12px; }
  form.lp-properties__search input[type="search"] { width: 100%; flex: 1 0 100%; }
  form.lp-properties__search button[type="submit"],
  form.lp-properties__search a.lp-properties__clear { flex: 1 1 0; }
  form.lp-properties__search button[type="submit"] { padding: 12px 18px; }
  .lp-property-tabs--ready .lp-property-tabs__sort-slot .lp-properties__sort { gap: 12px; }
}

/* Keep cards and pill controls free of theme hover underlines. */
:is(.lp-property-tabs, .lp-properties) :is(.lp-card__link, .lp-property-tabs__tab, .lp-pagination__link):is(:hover, :focus-visible) { text-decoration: none; }
@media (max-width: 600px) {
  :is(.lp-property-tabs, .lp-properties) .lp-properties__grid { gap: 16px; }
  form.lp-properties__search { font-size: 15px; }
}
