@import 'tailwindcss';
@import 'tw-animate-css';
@import 'shadcn/tailwind.css';

@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
  --font-heading: var(--font-sans);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) * 1.4);
  --radius-2xl: calc(var(--radius) * 1.8);
  --radius-3xl: calc(var(--radius) * 2.2);
  --radius-4xl: calc(var(--radius) * 2.6);
}

body {
  font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
}

:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.97 0 0);
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.97 0 0);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --radius: 0.625rem;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: oklch(0.205 0 0);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.205 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.556 0 0);
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground;
  }
  html {
    @apply font-sans;
  }
}
:root{--background:#fff;--foreground:#172137;--card:#fff;--card-foreground:#172137;--primary:#3158ed;--primary-foreground:#fff;--secondary:#f0f4ff;--secondary-foreground:#2644b2;--muted:#f5f7fa;--muted-foreground:#657185;--accent:#edf2ff;--accent-foreground:#2644b2;--border:#e4e8f0;--input:#d9dfeb;--ring:#3158ed;--radius:.75rem}.dark{--background:#121a2b;--foreground:#edf2ff;--card:#19243a;--primary:#7193ff;--primary-foreground:#121a2b;--border:#33415a;--muted:#24304a;--muted-foreground:#bec9e1;--accent:#24304a;--accent-foreground:#edf2ff}html{scroll-behavior:smooth}body{margin:0;color:#172137;font-size:16px}a{text-decoration:none}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8ba4ff;outline-offset:4px}.wrap{max-width:1320px;margin:auto;padding-left:40px;padding-right:40px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:113px;height:61px;object-fit:contain}.header nav,.header-actions{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:550}.header nav .active{color:#3158ed}.header-actions{gap:22px}.account,.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px}.button{background:#3158ed;color:white;padding:13px 19px;border:1px solid #3158ed;border-radius:8px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#2444c3}.button.big{padding:17px 23px;font-size:15px}.text-link{font-size:14px;font-weight:600}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;padding-top:40px;padding-bottom:67px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.65px;font-weight:700;color:#657185;display:flex;align-items:center;gap:8px}.eyebrow>span{height:7px;width:7px;background:#3158ed;border-radius:50%}h1{font-size:54px;line-height:1.14;letter-spacing:-2.5px;font-weight:650;margin:25px 0 21px}h1 span{color:#3158ed}.hero-copy>p{font-size:17px;line-height:1.8;color:#657185;max-width:480px}.hero-actions{display:flex;align-items:center;gap:23px;margin:28px 0}.reassurance{display:flex;gap:20px;font-size:12px;color:#657185}.reassurance span{display:flex;align-items:center;gap:5px}.reassurance svg{width:14px;color:#3158ed}.hero-visual{position:relative;height:402px}.hero-visual>img{width:100%;height:100%;object-fit:cover;border-radius:16px}.image-caption{position:absolute;bottom:65px;left:22px;color:white;font-size:13px;text-shadow:0 1px 6px #000;background:#17213788;padding:7px 12px;border-radius:5px}.floating-card{position:absolute;left:-30px;bottom:-23px;display:flex;align-items:center;gap:13px;padding:19px 23px;background:white;border:1px solid #e8ebf1;box-shadow:0 12px 30px #17213712;border-radius:12px}.floating-card strong{display:block;font-size:14px}.floating-card span{display:block;font-size:12px;color:#657185;margin-top:5px}.floating-card>svg{color:#3158ed;margin-left:10px}.check-round{width:40px;height:40px;border-radius:50%;background:#eaf5f0;display:grid;place-items:center;color:#288766}.search-section{padding-top:34px;padding-bottom:5px;background:#f7f9fc;border-radius:16px}.search-heading{display:flex;align-items:end;justify-content:space-between}.search-heading h2{font-size:24px;letter-spacing:-.7px;margin-top:9px;font-weight:600}.search-heading>p{font-size:13px;color:#657185;padding-bottom:5px}.search-bar{display:flex;align-items:center;margin:23px 0 24px;background:white;border:1px solid #e0e5ee;border-radius:9px;padding:8px;box-shadow:0 3px 8px #17213703}.search-bar label{display:flex;align-items:center;gap:12px;padding:0 17px;flex:1}.search-bar label svg{color:#657185}.search-bar input{width:100%;border:0;outline:none;font-size:14px;padding:12px 0}.search-option{display:flex;align-items:center;gap:32px;padding:0 27px;border-left:1px solid #e5e8ef;font-size:14px}.categories{display:flex;justify-content:space-between;gap:8px}.categories button{display:flex;align-items:center;gap:8px;padding:15px 4px 20px;font-size:12px;color:#657185;border-bottom:2px solid transparent}.categories button.selected{border-bottom-color:#3158ed;color:#3158ed}.listings{padding-top:56px;padding-bottom:56px}.section-heading{display:flex;align-items:end;justify-content:space-between}h2{font-size:29px;letter-spacing:-.85px;font-weight:600;margin:11px 0 0}.demo-note{font-size:12px;color:#657185;margin:14px 0 20px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.request-card{border:1px solid #e0e5ee;padding:23px;border-radius:12px;background:white}.request-card.urgent{border:2px solid #e6ad5d;padding:22px}.request-card.promoted{border:2px solid #a0b5ff;padding:22px;background:#f5f7ff}.card-top{display:flex;align-items:center;gap:9px}.property-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#edf2ff;color:#4967c9}.deal{font-size:12px;color:#657185}.badge{display:flex;align-items:center;gap:4px;font-size:11px;background:#e6ecff;color:#3454be;border-radius:5px;padding:5px 7px;margin-left:auto}.urgent-badge{color:#9f6412;background:#fff0d9}.request-card h3{font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.3px;margin:19px 0 9px;min-height:57px}.location{display:flex;align-items:center;gap:5px;font-size:12px;color:#657185}.details{display:flex;gap:7px;margin:18px 0}.details span{font-size:12px;padding:5px 9px;border:1px solid #e4e8f0;border-radius:5px}.budget>span{display:block;font-size:12px;color:#657185;margin-bottom:3px}.budget strong{font-size:23px;letter-spacing:-.7px}.budget small{font-size:12px;font-weight:400;letter-spacing:0;color:#657185}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e0e5ee;margin-top:20px;padding-top:17px;color:#8c96a8}.offer-link{display:flex;gap:10px;align-items:center;color:#3158ed;font-weight:600;font-size:14px}.how{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-top:45px;padding-bottom:55px;border-top:1px solid #e5e9f1}.how h2{font-size:28px;line-height:1.3;margin-bottom:20px}.step>span{font-size:14px;color:#3158ed;background:#edf2ff;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;margin:5px 0 20px}.step h3{font-size:16px;font-weight:600;line-height:1.6;margin-bottom:10px}.step p{font-size:14px;color:#657185;line-height:1.8}.privacy{background:#eff3ff;border-radius:12px;padding-top:29px;padding-bottom:29px;display:flex;align-items:center;gap:23px}.privacy>svg{color:#3158ed}.privacy h2{font-size:23px;margin:0}.privacy p{color:#657185;font-size:14px;margin-top:6px}.privacy .button{margin-left:auto}footer{display:flex;align-items:center;gap:30px;padding-top:35px;padding-bottom:30px;font-size:12px;color:#657185}footer .logo{width:90px}footer p{margin-right:auto}.page-title{padding-top:35px;padding-bottom:30px}.panel{max-width:850px;margin:30px auto;padding:30px;border:1px solid #e4e8f0;border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;font-size:14px}.field input,.field textarea{border:1px solid #d9dfeb;padding:12px;border-radius:7px;width:100%;background:white}.full{grid-column:1/-1}.notice{padding:15px;background:#eff3ff;border-radius:8px;color:#3550a0;font-size:14px;margin:18px 0}.empty-state{padding:50px;text-align:center;background:#f7f9fc;border-radius:12px;color:#657185}.dashboard-nav{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.dashboard-nav a{padding:12px 18px;border:1px solid #e4e8f0;border-radius:8px}.error{color:#ae293a;margin:14px 0}.success{color:#208065;margin:14px 0}@media(min-width:1450px){.hero{padding-top:60px;padding-bottom:80px}.hero-visual{height:450px}h1{font-size:61px}}@media(max-width:1050px){.header nav{gap:15px}.header nav a:last-child{display:none}.wrap{padding-left:25px;padding-right:25px}.hero{gap:35px}h1{font-size:45px}.hero-actions{flex-wrap:wrap}.reassurance{flex-wrap:wrap;gap:8px}.categories{overflow-x:auto}.categories button{white-space:nowrap}.search-heading>p{display:none}.how{gap:20px}.floating-card{left:-15px;padding:16px}.card-grid{gap:13px}.request-card{padding:16px!important}.location{font-size:12px}.hero-visual{height:380px}}@media(max-width:740px){.wrap{padding-left:20px;padding-right:20px}.header{height:80px;gap:15px}.logo{width:91px;height:49px}.header nav,.account{display:none}.header-actions .button{padding:11px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:25px;gap:30px;padding-bottom:55px}h1{font-size:43px}.hero-copy>p{font-size:16px}.hero-visual{height:290px}.floating-card{left:12px;right:12px;bottom:-20px;padding:15px 12px}.floating-card strong{font-size:12px}.floating-card>svg{display:none}.image-caption{bottom:60px}.hero-actions{gap:19px}.reassurance{font-size:12px}.search-section{border-radius:0;padding-top:25px}.search-heading h2{font-size:23px}.search-bar{flex-wrap:wrap;gap:10px}.search-bar label{min-width:100%}.search-option{border:0;flex:1;padding:0 8px;font-size:12px}.search-bar>.button{font-size:12px;padding:12px}.categories{gap:24px}.categories button{flex-direction:column;font-size:12px}.section-heading{display:block}.section-heading>.text-link{margin-top:14px}.card-grid{grid-template-columns:1fr}.request-card{padding:23px!important}.request-card h3{min-height:0}.listings{padding-top:38px;padding-bottom:35px}h2{font-size:26px}.how{grid-template-columns:1fr;padding-top:30px;gap:25px}.step>span{float:left;margin:0 15px 30px 0}.step h3{margin:0 0 8px}.privacy{margin:0 15px;flex-wrap:wrap}.privacy>svg{display:none}.privacy .button{margin-left:0}.privacy h2{font-size:22px}footer{flex-wrap:wrap;gap:15px}footer p{margin:0}footer span{width:100%}.form-grid{grid-template-columns:1fr}.panel{margin:20px;padding:20px}.search-section .eyebrow{font-size:11px}}
.relto-map-marker{display:grid;place-items:center;background:#3158ed;color:white;border:3px solid white;border-radius:50%;font-size:15px;font-weight:700;box-shadow:0 2px 8px #0003}.leaflet-container{font-family:inherit}.leaflet-popup-content{font-size:14px}
.photo-drop{display:flex;flex-direction:column;align-items:center;gap:9px;border:1.5px dashed #9aade2;border-radius:12px;background:#f6f8ff;padding:25px 16px;text-align:center;color:#3158ed;cursor:pointer}.photo-drop span{font-size:13px;color:#657185}.photo-drop input{max-width:100%;font-size:13px;color:#657185;margin-top:7px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px;margin:16px 0}.photo-tile{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #e4e8f0;border-radius:9px;background:#f0f3f8}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile>button{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:25px;height:25px;background:#fff;color:#172137;border-radius:50%;box-shadow:0 2px 5px #0002}.photo-tile>span{position:absolute;left:5px;bottom:5px;background:#172137bb;color:white;padding:2px 6px;border-radius:4px;font-size:12px}.button:disabled{opacity:.5;cursor:not-allowed}
