/* ADK SR 1.1: progressive presentation layer, Orilao brand retained. */
.sr-app {
  --sr-font: "Manrope", "Segoe UI", system-ui, sans-serif;
  --sr-bg: #f8fafc;
  --sr-surface: #fff;
  --sr-text: #161a24;
  --sr-text-muted: #586174;
  --sr-primary: #bc2146;
  --sr-primary-soft: #fff0f3;
  --sr-border: #dce1e8;
  --sr-space-1: 4px;
  --sr-space-2: 8px;
  --sr-space-3: 12px;
  --sr-space-4: 16px;
  --sr-space-6: 24px;
  --sr-space-8: 32px;
  --sr-radius-sm: 8px;
  --sr-radius-md: 12px;
  --sr-radius-lg: 16px;
  --sr-radius-xl: 24px;
  --sr-shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);
  --sr-shadow-md: 0 8px 24px rgb(15 23 42 / 8%);
  --sr-motion-fast: 120ms;
  --sr-motion-base: 180ms;
  --sr-motion-slow: 280ms;
  --brand: var(--sr-primary);
  --brand-dark: #9e1839;
  --muted: var(--sr-text-muted);
  --line: var(--sr-border);
  --radius-md: var(--sr-radius-md);
  --radius-lg: var(--sr-radius-lg);
  --radius-xl: var(--sr-radius-xl);
  --shadow-card: var(--sr-shadow-md);
  font-family: var(--sr-font);
  color: var(--sr-text);
}
.sr-app *, .sr-app *::before, .sr-app *::after { box-sizing: border-box; }
.sr-app img { max-width: 100%; }
.sr-app :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #174f96;
  outline-offset: 3px;
}
.sr-app :is(.btn-brand, .search-submit-btn) { background: var(--sr-primary); color: #fff; }
.sr-app :is(.btn-brand, .search-submit-btn):hover { background: var(--brand-dark); }
.sr-app :is(.btn-brand, .btn-outline-soft, .ghost-btn, .toolbar-btn, .heart-btn, .icon-circle-btn, .user-menu-toggle, .pill-btn, .btn-close) { min-height: 44px; }
.sr-app :is(.heart-btn, .icon-circle-btn, .btn-close) { min-width: 44px; }
.sr-app :is(input, select, textarea) { font-size: 1rem; }
.sr-app :is(.text-muted, .small-copy, .muted-copy, .page-subtitle) { color: var(--sr-text-muted) !important; }
.sr-app .soft-input, .sr-app .soft-textarea { border-color: var(--sr-border); }
.sr-app [aria-invalid="true"] { border-color: #b91c1c; }
.sr-app :is(.property-topline h3, .compact-card-copy h3, .orilao-notice, td) { overflow-wrap: anywhere; }
.sr-app :is(.search-map-layout, .property-layout, .chart-grid) > * { min-width: 0; }
.sr-app :is(.chart-card, .auth-card, .sticky-card) { border-radius: var(--sr-radius-lg); box-shadow: var(--sr-shadow-sm); }
.sr-app .app-shell { padding-top: var(--sr-space-8); }
.sr-app .skip-link { position: fixed; top: 12px; left: 12px; transform: translateY(-160%); z-index: 2000; background: #fff; padding: 12px 20px; color: #174f96; border-radius: 8px; }
.sr-app .skip-link:focus { transform: none; }
.sr-app .sr-state { padding: var(--sr-space-6); border: 1px solid var(--sr-border); border-radius: var(--sr-radius-md); background: var(--sr-bg); color: var(--sr-text-muted); }
.sr-app .sr-state h2, .sr-app .sr-state h3 { color: var(--sr-text); font-size: 1.125rem; margin: 0 0 8px; }
.sr-app .sr-state p { margin-bottom: 12px; }
.sr-app .sr-field-error { display: block; color: #b91c1c; font-size: .875rem; margin-top: 6px; }
.sr-app .sr-form-section { border: 0; padding: 0; margin: 0; display: grid; gap: 16px; min-width: 0; }
.sr-app .sr-form-section legend { float: none; width: auto; font-size: 1rem; font-weight: 800; padding: 0; margin-bottom: 0; text-align: left; }
.sr-app .sr-error-summary { border-left: 4px solid #b91c1c; margin-bottom: 24px; }
.sr-app .sr-error-summary a { color: #991b1b; text-decoration: underline; }
.sr-app .sr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.sr-app .sr-actions a { min-height: 44px; }
.sr-app .sr-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.sr-app .sr-filter { padding: 8px 12px; background: var(--sr-primary-soft); color: #9e1839; border-radius: 8px; overflow-wrap: anywhere; }
.sr-app .sr-pagination { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.sr-app .sr-gallery-button { padding: 0; border: 0; background: none; border-radius: 12px; cursor: pointer; }
.sr-app .sr-gallery-button[aria-pressed="true"] { outline: 3px solid var(--sr-primary); outline-offset: 2px; }
.sr-app .sr-gallery-button img { display: block; width: 100%; }
.sr-app .sr-map-state { min-height: 180px; display: grid; place-items: center; padding: 24px; text-align: center; }
.sr-app .sr-map-state:empty { display: none; }
.sr-app .sr-table caption { caption-side: top; color: var(--sr-text); font-weight: 700; }
.sr-app [aria-busy="true"] { cursor: progress; }
.sr-app .sr-demo-note { padding: 12px 16px; border-left: 3px solid #b45309; background: #fffbeb; color: #78350f; margin: 16px 0; }
.sr-app .sr-draft-composer { display: flex; flex-wrap: wrap; gap: 12px; }
.sr-app .sr-draft-composer input { flex: 1 1 240px; width: auto; }
.sr-app .sr-drafts .bubble { max-width: 100%; margin-bottom: 16px; background: #f1f5f9; color: var(--sr-text); overflow-wrap: anywhere; }
.sr-app .user-dropdown { max-width: calc(100vw - 32px); }
.sr-app .orilao-dashboard-tabs { gap: 8px; }
.sr-app .orilao-dashboard-tabs a[aria-current="page"] { background: var(--sr-primary-soft); color: var(--sr-primary); }
@media (max-width: 767px) {
  .sr-app .sr-search-enhanced:not(.sr-map-mode) #search-map-panel { display: none; }
  .sr-app .sr-search-enhanced.sr-map-mode #search-results { display: none; }
  .sr-app .app-shell { padding: 24px 0 40px; }
  .sr-app .header-shell { justify-content: space-between; }
  .sr-app .hero-section { padding: 40px 0; }
  .sr-app .gallery-main { min-height: 240px; }
  .sr-app .gallery-thumb { min-height: 120px; }
  .sr-app .sr-actions a { width: auto; flex: 1 1 140px; }
  .sr-app .sr-table, .sr-app .sr-table tbody, .sr-app .sr-table tr, .sr-app .sr-table td { display: block; width: 100%; }
  .sr-app .sr-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .sr-app .sr-table tr { border: 1px solid var(--sr-border); border-radius: 12px; padding: 8px; margin-bottom: 12px; }
  .sr-app .sr-table td { display: grid; grid-template-columns: minmax(90px, .7fr) minmax(0, 1fr); gap: 12px; border: 0; padding: 8px; }
  .sr-app .sr-table td::before { content: attr(data-label); color: var(--sr-text-muted); font-weight: 600; }
  .sr-app .sr-table td[colspan] { display: block; }
  .sr-app .sr-table td[colspan]::before { content: none; }
  .sr-app .offcanvas-end { width: min(100%, 440px); }
  .sr-app .orilao-dashboard-tabs { display: flex; }
  .sr-app .orilao-dashboard-tabs a { flex: 0 0 auto; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .sr-app *, .sr-app *::before, .sr-app *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
