/**
 * Eagersky.com brand theme — full system (public + portals)
 * Primary: burnt orange · Accent: warm orange · Background: cool gray · Footer: warm brown gradient
 */
:root {
  --font-heading: "Poppins", sans-serif;
  --font-body: "Manrope", sans-serif;
  --background: 214 45% 97%;
  --foreground: 222 58% 10%;
  --card: 0 0% 100%;
  --card-foreground: 222 58% 10%;
  --primary: 24 95% 38%;
  --primary-foreground: 0 0% 100%;
  --secondary: 28 55% 92%;
  --secondary-foreground: 222 58% 14%;
  --muted: 215 45% 94%;
  --muted-foreground: 218 17% 43%;
  --accent: 28 94% 55%;
  --accent-foreground: 0 0% 100%;
  --border: 216 34% 88%;
  --input: 216 34% 88%;
  --ring: 24 95% 38%;
  --radius: 1rem;
  --brand-navy: 222 58% 10%;
  --footer-start: #2d1a0e;
  --footer-mid: #4a2c1a;
  --footer-end: #1a0f08;
  --footer-gradient: linear-gradient(135deg, var(--footer-start) 0%, var(--footer-mid) 50%, var(--footer-end) 100%);
  --surface-dark: #2d1a0e;
  --surface-dark-mid: #4a2c1a;
  --surface-dark-light: #5c3822;
  --placeholder-gradient: linear-gradient(135deg, #4a2c1a 0%, #bd4e05 100%);
}

/* Page shell — matches eagersky.com radial + cool gray base */
html {
  background-color: hsl(var(--background));
}

html,
body.bg-background,
body {
  background-color: hsl(var(--background)) !important;
  background-image:
    radial-gradient(circle at top left, hsl(var(--primary) / 0.09), transparent 30rem),
    radial-gradient(circle at top right, hsl(var(--accent) / 0.08), transparent 26rem),
    linear-gradient(180deg, hsl(var(--background)), hsl(var(--secondary) / 0.22)) !important;
  background-attachment: fixed;
  color: hsl(var(--foreground));
}

main,
.mobile-main-pad,
.mobile-portal-pad {
  background: transparent;
}

/* Primary — burnt orange */
.bg-primary { background-color: hsl(var(--primary)) !important; }
.text-primary { color: hsl(var(--primary)) !important; }
.border-primary { border-color: hsl(var(--primary)) !important; }
.border-l-primary { border-left-color: hsl(var(--primary)) !important; }
.ring-primary { --tw-ring-color: hsl(var(--primary)) !important; }
.accent-primary { accent-color: hsl(var(--primary)) !important; }
.from-primary { --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position) !important; }
.hover\:bg-primary:hover { background-color: hsl(var(--primary)) !important; }
.hover\:text-primary:hover { color: hsl(var(--primary)) !important; }
.hover\:border-primary:hover { border-color: hsl(var(--primary)) !important; }
.focus\:border-primary:focus { border-color: hsl(var(--primary)) !important; }
.focus\:ring-primary:focus { --tw-ring-color: hsl(var(--primary)) !important; }
.group:hover .group-hover\:text-primary { color: hsl(var(--primary)) !important; }

.bg-primary\/5 { background-color: hsl(var(--primary) / 0.05) !important; }
.bg-primary\/10 { background-color: hsl(var(--primary) / 0.1) !important; }
.bg-primary\/20 { background-color: hsl(var(--primary) / 0.2) !important; }
.border-primary\/10 { border-color: hsl(var(--primary) / 0.1) !important; }
.border-primary\/20 { border-color: hsl(var(--primary) / 0.2) !important; }
.border-primary\/30 { border-color: hsl(var(--primary) / 0.3) !important; }
.text-primary\/60 { color: hsl(var(--primary) / 0.6) !important; }
.text-primary\/70 { color: hsl(var(--primary) / 0.7) !important; }
.hover\:bg-primary\/10:hover { background-color: hsl(var(--primary) / 0.1) !important; }
.hover\:bg-primary\/90:hover { background-color: hsl(var(--primary) / 0.9) !important; }
.hover\:border-primary\/30:hover { border-color: hsl(var(--primary) / 0.3) !important; }
.shadow-primary\/20 { --tw-shadow-color: hsl(var(--primary) / 0.2) !important; }
.shadow-primary\/30 { --tw-shadow-color: hsl(var(--primary) / 0.3) !important; }

/* Accent */
.bg-accent { background-color: hsl(var(--accent)) !important; }
.text-accent { color: hsl(var(--accent)) !important; }
.border-accent { border-color: hsl(var(--accent)) !important; }
.border-l-accent { border-left-color: hsl(var(--accent)) !important; }
.from-accent { --tw-gradient-from: hsl(var(--accent)) var(--tw-gradient-from-position) !important; }
.bg-accent\/10 { background-color: hsl(var(--accent) / 0.1) !important; }
.hover\:bg-accent\/10:hover { background-color: hsl(var(--accent) / 0.1) !important; }

/* Semantic surfaces */
.bg-background { background-color: hsl(var(--background)) !important; }
.bg-card { background-color: hsl(var(--card)) !important; }
.bg-muted { background-color: hsl(var(--muted)) !important; }
.bg-secondary { background-color: hsl(var(--secondary)) !important; }
.text-foreground { color: hsl(var(--foreground)) !important; }
.border-border { border-color: hsl(var(--border)) !important; }
.text-muted-foreground,
.text-foreground\/50 { color: hsl(var(--muted-foreground)) !important; }

/* Dark surfaces — warm brown (eagersky footer), NOT blue navy */
.bg-navy,
.bg-\[\#0a1628\],
.bg-\[\#0A1628\] {
  background: var(--footer-gradient) !important;
  background-color: var(--surface-dark) !important;
  color: #fff;
}

.bg-navy-light {
  background-color: var(--surface-dark-mid) !important;
  color: #fff;
}

.bg-navy-lighter {
  background-color: var(--surface-dark-light) !important;
  color: #fff;
}

.text-navy,
.text-\[\#0a1628\] {
  color: hsl(var(--foreground)) !important;
}

.text-\[\#b8860b\] { color: hsl(var(--accent)) !important; }

/* Site footer — eagersky.com brown gradient */
footer,
.site-footer,
footer.bg-navy {
  background: var(--footer-gradient) !important;
  color: rgba(255, 255, 255, 0.85);
}

footer h4,
footer .font-heading {
  color: #fff;
}

/* Gold aliases */
.bg-gold { background-color: hsl(var(--accent)) !important; }
.text-gold { color: hsl(var(--accent)) !important; }
.border-gold { border-color: hsl(var(--accent)) !important; }

/* Buttons */
.btn-primary {
  background: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
}
.btn-primary:hover {
  background: hsl(var(--primary) / 0.88) !important;
  box-shadow: 0 4px 14px hsl(var(--primary) / 0.35) !important;
}
.btn-accent {
  background: hsl(var(--accent)) !important;
  color: hsl(var(--accent-foreground)) !important;
}
.btn-accent:hover {
  background: hsl(var(--accent) / 0.9) !important;
}

/* Homepage sticky nav */
.home-section-nav__link.is-active {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary) / 0.88)) !important;
  box-shadow: 0 4px 14px hsl(var(--primary) / 0.35) !important;
}

.bg-primary\/10.text-primary,
a.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1) !important;
  color: hsl(var(--primary)) !important;
}

.portal-header,
header.bg-primary {
  background-color: hsl(var(--primary)) !important;
}

/* Tailwind gradient utilities — warm brown placeholders */
.from-\[\#0a1628\],
.from-\[\#0A1628\] {
  --tw-gradient-from: #4a2c1a var(--tw-gradient-from-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-\[\#1a365d\] {
  --tw-gradient-to: #bd4e05 var(--tw-gradient-to-position) !important;
}

.bg-gradient-to-br.from-\[\#0a1628\].to-\[\#1a365d\] {
  background-image: var(--placeholder-gradient) !important;
}

/* Inline legacy navy blue gradients → warm brand */
[style*="#0a1628"][style*="#1a365d"],
[style*="#0A1628"][style*="#1a365d"] {
  background: var(--placeholder-gradient) !important;
}

[style*="linear-gradient(135deg, #2d1a0e"],
[style*="linear-gradient(135deg,#2d1a0e"] {
  background: var(--footer-gradient) !important;
}

/* Legacy inline button/CTA backgrounds */
[style*="background: #0a1628"],
[style*="background:#0a1628"],
[style*="background-color: #0a1628"],
[style*="background-color:#0a1628"] {
  background-color: hsl(var(--primary)) !important;
}

[style*="background: #b8860b"],
[style*="background:#b8860b"],
[style*="background-color: #b8860b"],
[style*="background-color:#b8860b"] {
  background-color: hsl(var(--accent)) !important;
}

/* Portal cards on eagersky background */
aside .bg-card,
.portal-sidebar .bg-card {
  background-color: hsl(var(--card)) !important;
  border-color: hsl(var(--border)) !important;
}

/* Listing cards: crop every photo to fill the frame (portrait and landscape). */
.property-card > .relative,
.property-card .search-card-media,
.search-result-card > .relative,
.search-result-card .search-card-media {
  overflow: hidden;
  background: #e8edf2;
}
.property-card > .relative picture,
.search-result-card > .relative picture,
.property-card .search-card-media picture,
.search-result-card .search-card-media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.property-card > .relative img,
.search-result-card > .relative img,
.property-card .search-card-media img,
.search-result-card .search-card-media img,
.property-card .search-card-media__img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
}
