/* Owner-selected public presentation; frozen comparison templates remain intact. */
html body.rf-public-refinement .rf-brand-logo { height: 48px !important; }
html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner) {
  grid-template-columns: 160px minmax(380px, 1fr) minmax(280px, 360px) 120px !important;
}
html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner):has(.header-auth select, .rf-header-auth select) { grid-template-columns: 160px minmax(380px, 1fr) minmax(280px, 360px) 232px !important; }
html body.rf-public-refinement :is(.header-search, .rf-header-search, .header-search input, .rf-header-search input) { width: 100% !important; min-width: 0; }
html body.rf-public-refinement :is(.header-search input, .rf-header-search input) { height: 44px !important; border-radius: 10px !important; }
html body.rf-public-refinement :is(.header-auth, .rf-header-auth) .rf-get-started { min-height: 44px !important; border-radius: 10px !important; background: rgb(255 255 255 / 10%); }
html body.rf-public-refinement .search-tabs-right .rf-get-started { border: 0; padding: 8px 12px; border-radius: 8px; background: #f3f5f8; }
.rf-home-filters { width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid rgb(223 229 237 / 75%); border-radius: 24px; color: #10213b; background: white; box-shadow: 0 24px 100px rgb(7 22 47 / 24%); }
.rf-home-filters::backdrop { background: rgb(7 22 47 / 48%); backdrop-filter: blur(6px); }
.rf-home-filters form { display: flex; flex-direction: column; max-height: calc(100dvh - 34px); }
.rf-home-filters-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 28px 18px; }
.rf-home-filters-heading h2 { margin: 0; font-size: 24px; letter-spacing: -.025em; }
.rf-home-filters-heading p { margin: 6px 0 0; font-size: 14px; color: #66758b; }
.rf-home-filters button { min-height: 44px; border: 0; border-radius: 10px; cursor: pointer; font: inherit; }
.rf-home-filters .rf-filter-close { width: 44px; flex-shrink: 0; font-size: 26px; color: #66758b; background: #f4f6f9; }
.rf-home-filters-body { overflow-y: auto; padding: 4px 28px 24px; text-align: left; }
.rf-home-filters fieldset { margin: 0 0 24px; border: 0; padding: 0; min-width: 0; }
.rf-home-filters legend { margin-bottom: 12px; font-size: 15px; font-weight: 600; }
.rf-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rf-home-filters label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 1.4; }
.rf-home-filters :is(input[type=number], select) { width: 100%; min-width: 0; box-sizing: border-box; min-height: 46px; padding: 10px 12px; font: inherit; font-size: 16px; border: 1px solid #e0e6ee; border-radius: 10px; color: #10213b; background: #f9fafc; }
.rf-home-filters .rf-price-period { margin-top: 14px; }
.rf-home-filters [hidden] { display: none !important; }
.rf-filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
.rf-filter-options label { flex-direction: row; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; box-sizing: border-box; border: 1px solid #e1e7ef; border-radius: 10px; background: #f9fafc; cursor: pointer; }
.rf-filter-options label:has(input:checked) { border-color: #a5b7cf; background: #eef3fa; }
.rf-filter-options input { accent-color: #15233f; width: 16px; height: 16px; }
.rf-home-filters-footer { display: flex; justify-content: space-between; gap: 16px; padding: 18px 28px; border-top: 1px solid #edf0f4; background: #fff; }
.rf-home-filters .rf-filter-reset { padding: 10px 14px; color: #65758c; background: #f4f6f9; }
.rf-home-filters .rf-filter-apply { padding: 10px 24px; font-weight: 600; color: white; background: #111e3b; }
.rf-filter-error { margin: 16px 0 0; color: #a1323f; font-size: 14px; }
html body .rf-home-filters :is(button, input, select):focus-visible { outline: 0 !important; box-shadow: 0 0 0 1px #adbed4, 0 0 0 5px rgb(119 153 196 / 10%), 0 6px 22px rgb(68 101 150 / 10%); }
@media (max-width: 1150px) {
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner) { height: auto !important; min-height: 64px !important; padding: 10px 0 !important; grid-template-columns: 160px minmax(0, 1fr) 120px !important; grid-template-areas: "logo search auth" "nav nav nav" !important; gap: 10px 20px !important; }
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner):has(.header-auth select, .rf-header-auth select) { grid-template-columns: 160px minmax(0, 1fr) 232px !important; }
  html body.rf-public-refinement :is(.nav-links, .rf-nav) { width: 100% !important; overflow-x: auto !important; justify-content: center !important; }
}
@media (max-width: 640px) {
  html body.rf-public-refinement .rf-brand-logo { height: 40px !important; }
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner) { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "logo auth" "search search" "nav nav" !important; gap: 8px 12px !important; }
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner):has(.header-auth select, .rf-header-auth select) { grid-template-columns: minmax(0, 1fr) auto !important; }
  html body.rf-public-refinement :is(.nav-links, .rf-nav) { justify-content: flex-start !important; }
  html body.rf-public-refinement :is(.header-auth, .rf-header-auth) .rf-get-started { padding: 10px 14px !important; }
  .rf-home-filters { width: calc(100% - 24px); border-radius: 20px; }
  .rf-home-filters-heading { padding: 20px 20px 16px; }
  .rf-home-filters-body { padding: 4px 20px 20px; }
  .rf-home-filters-footer { padding: 16px 20px; }
  .rf-filter-grid { gap: 12px; }
}
@media (max-width: 360px) {
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner):has(.header-auth select, .rf-header-auth select) { grid-template-areas: "logo logo" "auth auth" "search search" "nav nav" !important; }
  html body.rf-public-refinement :is(.header .header-inner, .rf-header-inner):has(.header-auth select, .rf-header-auth select) :is(.logo, .rf-logo, .header-auth, .rf-header-auth) { justify-self: center; }
}
@media (forced-colors: active) { html body .rf-home-filters :is(button, input, select):focus-visible { outline: 2px solid Highlight !important; outline-offset: 2px; } }
