@charset "UTF-8";

/* ==========================================================================
   BoostUP Mansion Search — Mansion Catalog theme override
   ========================================================================== */

body.has-media-style .bms {
  --bms-ink: var(--m-text, #1B2A4A);
  --bms-ink-sub: var(--m-text-mute, #5A6275);
  --bms-muted: #737A89;
  --bms-line: var(--m-border, #E5E0D5);
  --bms-line-soft: #F0EDE6;
  --bms-surface: var(--m-bg-card, #FFFFFF);
  --bms-surface-2: var(--m-accent-soft, #F4F1EA);
  --bms-accent: var(--m-accent, #1B2A4A);
  --bms-accent-ink: var(--m-on-accent, #FFFFFF);
  --bms-accent-soft: #F4F1EA;
  --bms-cv: var(--m-accent, #1B2A4A);
  --bms-cv-ink: var(--m-on-accent, #FFFFFF);
  --bms-radius: 2px;
  --bms-radius-sm: 2px;
  --bms-radius-lg: 2px;
  --bms-num: var(--font-serif-en, serif);
  color: var(--m-text, #1B2A4A);
  font-family: var(--font-sans-jp, sans-serif);
}

body.has-media-style .bms .bms-form {
  padding: clamp(22px, 4vw, 38px) clamp(18px, 4vw, 34px) 0;
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: var(--m-bg-card, #FFFFFF);
  box-shadow: var(--lux-shadow, 0 1px 2px rgb(27 42 74 / 4%));
}

body.has-media-style .bms .bms-field {
  padding-bottom: clamp(20px, 3vw, 30px);
}

body.has-media-style .bms .bms-field + .bms-field {
  padding-top: clamp(18px, 3vw, 26px);
  border-top: 1px solid var(--m-border, #E5E0D5);
}

body.has-media-style .bms .bms-field__label {
  margin-bottom: 14px;
  padding: 0;
  color: var(--m-text, #1B2A4A);
  font-size: .86rem;
  font-weight: 500;
  letter-spacing: .08em;
}

body.has-media-style .bms .bms-field__name::before {
  display: inline-block;
  width: 18px;
  height: 1px;
  margin-right: 10px;
  background: var(--color-gold, #B89B5E);
  content: "";
  vertical-align: middle;
}

body.has-media-style .bms .bms-field__badge {
  min-width: 22px;
  border-radius: 50%;
  background: var(--m-accent, #1B2A4A);
  color: #fff;
  font-family: var(--font-serif-en, serif);
  font-weight: 400;
}

body.has-media-style .bms .bms-field__caret {
  width: 30px;
  height: 30px;
  border-color: var(--m-border, #E5E0D5);
}

body.has-media-style .bms .bms-field__caret::before,
body.has-media-style .bms .bms-field__caret::after {
  background: var(--color-gold-deep, #9A7E45);
}

body.has-media-style .bms .bms-checks {
  gap: 10px;
}

body.has-media-style .bms .bms-check {
  min-height: 46px;
  padding-inline: 12px;
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: var(--m-bg-card, #FFFFFF);
  color: var(--m-text-mute, #5A6275);
  font-size: .78rem;
  letter-spacing: .03em;
}

body.has-media-style .bms .bms-check:hover {
  border-color: var(--color-gold, #B89B5E);
  color: var(--m-text, #1B2A4A);
}

body.has-media-style .bms .bms-check:has(input:checked) {
  border-color: var(--m-accent, #1B2A4A);
  background: var(--m-accent, #1B2A4A);
  color: #fff;
  font-weight: 500;
}

body.has-media-style .bms .bms-check input:checked ~ .bms-check__text {
  color: inherit;
  font-weight: 500;
}

body.has-media-style .bms .bms-select,
body.has-media-style .bms .bms-input {
  min-height: 48px;
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background-color: var(--m-bg-card, #FFFFFF);
  color: var(--m-text, #1B2A4A);
  font-size: .8rem;
}

body.has-media-style .bms .bms-select:hover,
body.has-media-style .bms .bms-input:hover {
  border-color: var(--color-gold, #B89B5E);
}

body.has-media-style .bms .bms-select:focus-visible,
body.has-media-style .bms .bms-input:focus-visible,
body.has-media-style .bms .bms-check:focus-within,
body.has-media-style .bms .bms-btn:focus-visible,
body.has-media-style .bms .bms-field__label:focus-visible {
  border-color: var(--color-gold, #B89B5E);
  outline: 2px solid var(--color-gold, #B89B5E);
  outline-offset: 2px;
}

body.has-media-style .bms .bms-form__actions {
  gap: 16px;
  margin-inline: clamp(-34px, -4vw, -18px);
  padding: clamp(22px, 4vw, 34px) clamp(18px, 4vw, 34px);
  border-top-color: var(--m-border, #E5E0D5);
  background: linear-gradient(180deg, #FFFFFF, #FBFAF7);
}

body.has-media-style .bms .bms-count,
body.has-media-style .bms .bms-total {
  color: var(--m-text-mute, #5A6275);
  letter-spacing: .06em;
}

body.has-media-style .bms .bms-count__num,
body.has-media-style .bms .bms-total__num {
  color: var(--m-text, #1B2A4A);
  font-family: var(--font-serif-en, serif);
  font-size: 1.7rem;
  font-weight: 400;
}

body.has-media-style .bms .bms-btn {
  min-height: 50px;
  border-radius: 2px;
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .08em;
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}

body.has-media-style .bms .bms-btn--search {
  border-color: var(--m-accent, #1B2A4A);
  background: var(--m-accent, #1B2A4A);
  color: #fff;
}

body.has-media-style .bms .bms-btn--search:hover {
  background: transparent;
  color: var(--m-accent, #1B2A4A);
  filter: none;
}

body.has-media-style .bms .bms-btn--reset {
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: transparent;
  color: var(--m-text-mute, #5A6275);
}

body.has-media-style .bms .bms-btn--reset:hover {
  border-color: var(--color-gold, #B89B5E);
  background: var(--m-accent-soft, #F4F1EA);
  color: var(--m-text, #1B2A4A);
}

body.has-media-style .bms .bms-resultsbar {
  margin-top: clamp(38px, 7vw, 64px);
  margin-bottom: clamp(24px, 4vw, 36px);
  padding-bottom: 16px;
  border-bottom-color: var(--m-border, #E5E0D5);
}

body.has-media-style .bms .bms-sort__select {
  min-height: 42px;
  border-radius: 2px;
}

body.has-media-style .bms .bms-condition {
  padding: clamp(18px, 3vw, 26px);
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: var(--m-bg-card, #FFFFFF);
}

body.has-media-style .bms .bms-condition__eyebrow {
  color: var(--color-gold-deep, #9A7E45);
  font-family: var(--font-serif-en, serif);
  letter-spacing: .16em;
}

body.has-media-style .bms .bms-condition__token,
body.has-media-style .bms .bms-condition__btn {
  border-color: var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: var(--m-accent-soft, #F4F1EA);
  color: var(--m-text, #1B2A4A);
}

body.has-media-style .bms .bms-condition__btn:hover {
  border-color: var(--color-gold, #B89B5E);
  background: var(--m-bg-card, #FFFFFF);
}

body.has-media-style .bms .bms-empty {
  padding-block: clamp(44px, 8vw, 72px);
  border: 1px solid var(--m-border, #E5E0D5);
  border-radius: 2px;
  background: var(--m-bg-card, #FFFFFF);
}

@media (max-width: 599px) {
  body.has-media-style .bms .bms-form__actions {
    margin-inline: -18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.has-media-style .bms .bms-btn {
    transition: none;
  }
}
