/* ===========================================================================
   RE/MAX delta ktima — production site stylesheet
   Built from the design-system handoff. Tokens + components + site layout.
   Layout classes lifted verbatim from ui_kits/website/Site.jsx (authoritative).
   =========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

/* ----------------------------------------------------------------- TOKENS */
:root{
  --remax-red:#ff1200; --remax-bridge-red:#aa1120; --remax-dark-red:#660000;
  --remax-blue:#0043ff; --remax-bridge-blue:#003449; --remax-dark-blue:#000e35;
  --remax-sky-blue:#a3d4f2; --remax-cream:#f7f5ee; --remax-white:#fff;
  --remax-black:#000; --remax-charcoal:#232325;
  --neutral-50:#faf9f5; --neutral-100:#f7f5ee; --neutral-200:#ece9df; --neutral-300:#dcd8cb;
  --neutral-400:#b7b2a4; --neutral-500:#8a8678; --neutral-600:#5f5c52; --neutral-700:#3d3b35;
  --neutral-800:#232323; --neutral-900:#121212;
  --surface-page:var(--remax-cream); --surface-card:var(--remax-white); --surface-raised:var(--remax-white);
  --surface-sunken:var(--neutral-100); --surface-inverse:var(--remax-dark-blue);
  --surface-inverse-alt:var(--remax-bridge-blue); --surface-brand:var(--remax-blue);
  --surface-accent-soft:var(--remax-sky-blue);
  --text-primary:var(--remax-charcoal); --text-secondary:var(--neutral-600); --text-muted:var(--neutral-500);
  --text-on-dark:var(--remax-cream); --text-on-brand:var(--remax-white); --text-link:var(--remax-blue);
  --accent:var(--remax-blue); --accent-hover:#0035cc; --accent-active:#002999; --accent-contrast:var(--remax-white);
  --danger:var(--remax-red); --danger-hover:var(--remax-bridge-red); --price:var(--remax-bridge-red);
  --border-subtle:var(--neutral-200); --border-default:var(--neutral-300); --border-strong:var(--neutral-400);
  --border-inverse:rgba(247,245,238,.18); --focus-ring:rgba(0,67,255,.45);
  --overlay-scrim:rgba(0,14,53,.55); --overlay-veil:rgba(247,245,238,.08);

  --font-sans:"Gotham","Montserrat","Helvetica Neue",Arial,sans-serif;
  --font-display:"Gotham","Montserrat",Arial,sans-serif;
  --weight-light:300; --weight-book:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-black:800;
  --text-2xs:.694rem; --text-xs:.8rem; --text-sm:.875rem; --text-base:1rem; --text-md:1.125rem; --text-lg:1.25rem;
  --text-xl:1.563rem; --text-2xl:1.953rem; --text-3xl:2.441rem; --text-4xl:3.052rem; --text-5xl:3.815rem; --text-6xl:5.96rem;
  --leading-tight:1.05; --leading-snug:1.2; --leading-normal:1.5; --leading-relaxed:1.65;
  --tracking-tight:-.02em; --tracking-normal:0; --tracking-wide:.04em; --tracking-wider:.12em;

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.5rem; --space-6:2rem;
  --space-7:2.5rem; --space-8:3rem; --space-9:4rem; --space-10:5rem; --space-12:7.5rem;
  --container-sm:640px; --container-md:880px; --container-lg:1140px; --container-xl:1320px;
  --slash-angle:27.5deg;

  --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-xl:22px; --radius-pill:999px; --radius-card:var(--radius-lg);
  --border-hairline:1px; --border-thick:2px; --monoline-weight:2px;
  --shadow-xs:0 1px 2px rgba(0,14,53,.06); --shadow-sm:0 2px 8px rgba(0,14,53,.07);
  --shadow-md:0 8px 24px rgba(0,14,53,.10); --shadow-lg:0 18px 48px rgba(0,14,53,.14);
  --shadow-focus:0 0 0 3px var(--focus-ring);
  --ease-standard:cubic-bezier(.4,0,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --duration-fast:120ms; --duration-base:200ms; --duration-slow:320ms; --press-scale:.97;
}

/* ------------------------------------------------------------------- BASE */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--font-sans); font-weight:var(--weight-book); font-size:var(--text-base);
  line-height:var(--leading-normal); color:var(--text-primary); background:var(--surface-page);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
h1,h2,h3,h4,h5,h6{margin:0; font-weight:var(--weight-bold); line-height:var(--leading-snug); color:var(--text-primary);}
a{color:var(--text-link); text-decoration:none;}
img{max-width:100%;}

/* ------------------------------------------------------- BRAND COMPONENTS */
.rdk-logo{display:inline-flex; align-items:center; gap:.42em;}
.rdk-logo__mark{display:inline-flex;}
.rdk-balloon{display:inline-block; line-height:0;}
.rdk-balloon img{display:block; height:100%; width:auto;}
.rdk-wordmark{display:inline-flex; align-items:baseline; gap:.34em; font-family:var(--font-display);
  line-height:.9; white-space:nowrap; color:var(--text-primary);}
.rdk-wordmark--cream{color:var(--remax-cream);}
.rdk-wordmark__name{font-weight:var(--weight-black); letter-spacing:-.01em;}
.rdk-wordmark__office{font-weight:var(--weight-medium); font-size:.6em; letter-spacing:0; align-self:center;}

.rdk-slash{display:inline-flex; gap:var(--_gap,10px); align-items:stretch; vertical-align:middle;}
.rdk-slash__bar{width:var(--_w,12px); border-radius:2px;
  transform:skewX(calc(-1 * var(--slash-angle))); background:var(--_c,var(--remax-blue));}

.rdk-angled{position:relative; overflow:hidden; display:flex; border-radius:var(--radius-md); isolation:isolate;}
.rdk-angled__content{position:relative; z-index:1; width:100%;}

/* -------------------------------------------------------- CORE COMPONENTS */
.rdk-btn{--_bg:var(--accent); --_fg:var(--accent-contrast); --_bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--font-sans); font-weight:var(--weight-bold); letter-spacing:var(--tracking-wide);
  line-height:1; cursor:pointer; border:var(--border-thick) solid var(--_bd); border-radius:var(--radius-pill);
  background:var(--_bg); color:var(--_fg); text-decoration:none; white-space:nowrap;
  transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),
    border-color var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);}
.rdk-btn:hover{background:var(--accent-hover);}
.rdk-btn:active{transform:scale(var(--press-scale)); background:var(--accent-active);}
.rdk-btn:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.rdk-btn[disabled]{opacity:.45; cursor:not-allowed; transform:none;}
.rdk-btn--sm{font-size:var(--text-xs); padding:.55em 1.1em;}
.rdk-btn--md{font-size:var(--text-sm); padding:.8em 1.5em;}
.rdk-btn--lg{font-size:var(--text-md); padding:.95em 1.9em;}
.rdk-btn--block{display:flex; width:100%;}
.rdk-btn--secondary{--_bg:var(--remax-dark-blue); --_fg:var(--remax-cream);}
.rdk-btn--secondary:hover{background:var(--remax-bridge-blue);}
.rdk-btn--secondary:active{background:var(--remax-dark-blue);}
.rdk-btn--outline{--_bg:transparent; --_fg:var(--text-primary); --_bd:var(--border-strong);}
.rdk-btn--outline:hover{background:transparent; border-color:var(--text-primary);}
.rdk-btn--outline:active{background:var(--surface-sunken);}
.rdk-btn--ghost{--_bg:transparent; --_fg:var(--accent); --_bd:transparent;}
.rdk-btn--ghost:hover{background:var(--surface-accent-soft);}
.rdk-btn--danger{--_bg:var(--danger); --_fg:var(--remax-white);}
.rdk-btn--danger:hover{background:var(--danger-hover);}
.rdk-btn__ico{display:inline-flex; width:1.15em; height:1.15em;}
.rdk-btn__ico svg{width:100%; height:100%;}
/* outline button on a dark angled block stays readable */
.rdk-angled .rdk-btn--outline{--_fg:var(--remax-cream); --_bd:rgba(247,245,238,.6);}
.rdk-angled .rdk-btn--outline:hover{border-color:var(--remax-cream); background:rgba(247,245,238,.08);}

.rdk-field{display:flex; flex-direction:column; gap:.45em; font-family:var(--font-sans);}
.rdk-field__label{font-size:var(--text-xs); font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--text-secondary);}
.rdk-input-wrap{position:relative; display:flex; align-items:center;}
.rdk-input-wrap__ico{position:absolute; left:.9em; display:inline-flex; width:1.15em; height:1.15em;
  color:var(--text-muted); pointer-events:none;}
.rdk-input-wrap__ico svg{width:100%; height:100%;}
.rdk-input{width:100%; font-family:var(--font-sans); font-size:var(--text-sm); color:var(--text-primary);
  background:var(--surface-card); border:var(--border-hairline) solid var(--border-default);
  border-radius:var(--radius-md); padding:.8em 1em; line-height:1.2;
  transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);}
.rdk-input--has-icon{padding-left:2.7em;}
.rdk-input::placeholder{color:var(--text-muted);}
.rdk-input:hover{border-color:var(--border-strong);}
.rdk-input:focus{outline:none; border-color:var(--accent); box-shadow:var(--shadow-focus);}

.rdk-chip{display:inline-flex; align-items:center; gap:.45em; cursor:pointer; font-family:var(--font-sans);
  font-weight:var(--weight-medium); font-size:var(--text-sm); line-height:1; white-space:nowrap;
  padding:.6em 1em; border-radius:var(--radius-pill); background:var(--surface-card); color:var(--text-secondary);
  border:var(--border-hairline) solid var(--border-default);
  transition:all var(--duration-base) var(--ease-standard); user-select:none;}
.rdk-chip:hover{border-color:var(--border-strong); color:var(--text-primary);}
.rdk-chip:active{transform:scale(var(--press-scale));}
.rdk-chip[aria-pressed="true"]{background:var(--remax-dark-blue); border-color:var(--remax-dark-blue); color:var(--remax-cream);}
.rdk-chip__ico{display:inline-flex; width:1.05em; height:1.05em;}
.rdk-chip__ico svg{width:100%; height:100%;}

.rdk-badge{display:inline-flex; align-items:center; gap:.4em; font-family:var(--font-sans);
  font-weight:var(--weight-bold); font-size:var(--text-2xs); letter-spacing:var(--tracking-wider);
  text-transform:uppercase; line-height:1; white-space:nowrap; padding:.5em .8em; border-radius:var(--radius-sm);
  background:var(--surface-sunken); color:var(--text-secondary);}
.rdk-badge--sale{background:var(--remax-blue); color:var(--remax-white);}
.rdk-badge--rent{background:var(--remax-dark-blue); color:var(--remax-cream);}
.rdk-badge--new{background:var(--remax-red); color:var(--remax-white);}
.rdk-badge--reduced{background:var(--remax-bridge-red); color:var(--remax-white);}
.rdk-badge--sold{background:var(--neutral-700); color:var(--remax-cream);}
.rdk-badge--soft{background:var(--surface-accent-soft); color:var(--remax-dark-blue);}

.rdk-avatar{position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none;
  overflow:hidden; border-radius:50%; background:var(--remax-dark-blue); color:var(--remax-cream);
  font-family:var(--font-sans); font-weight:var(--weight-bold); letter-spacing:.02em; text-transform:uppercase; user-select:none;}
.rdk-avatar img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1);}
.rdk-avatar--md{width:44px; height:44px; font-size:var(--text-sm);}
.rdk-avatar--lg{width:64px; height:64px; font-size:var(--text-lg);}

.rdk-agent{display:flex; align-items:center; gap:var(--space-4); background:var(--surface-card);
  border-radius:var(--radius-card); border:var(--border-hairline) solid var(--border-subtle);
  box-shadow:var(--shadow-sm); padding:var(--space-5); font-family:var(--font-sans);}
.rdk-agent__info{display:flex; flex-direction:column; gap:.15em; min-width:0;}
.rdk-agent__name{font-size:var(--text-md); font-weight:var(--weight-bold); color:var(--text-primary);}
.rdk-agent__role{font-size:var(--text-xs); font-weight:var(--weight-bold); letter-spacing:var(--tracking-wider);
  text-transform:uppercase; color:var(--accent);}
.rdk-agent__office{font-size:var(--text-sm); color:var(--text-secondary);}
.rdk-agent__actions{margin-left:auto; display:flex; gap:var(--space-2);}

.rdk-pcard{display:flex; flex-direction:column; overflow:hidden; background:var(--surface-card);
  border-radius:var(--radius-card); border:var(--border-hairline) solid var(--border-subtle);
  box-shadow:var(--shadow-sm); font-family:var(--font-sans); color:inherit;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);}
.rdk-pcard--link{cursor:pointer;}
.rdk-pcard--link:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.rdk-pcard__media{position:relative; aspect-ratio:4/3; background:var(--surface-sunken); overflow:hidden;}
.rdk-pcard__media img{width:100%; height:100%; object-fit:cover; display:block;
  transition:transform var(--duration-slow) var(--ease-standard);}
.rdk-pcard--link:hover .rdk-pcard__media img{transform:scale(1.04);}
.rdk-pcard__badges{position:absolute; top:var(--space-3); left:var(--space-3); display:flex; gap:var(--space-2);}
.rdk-pcard__save{position:absolute; top:var(--space-3); right:var(--space-3); width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center; border:none; border-radius:50%; cursor:pointer;
  color:var(--remax-dark-blue); background:rgba(247,245,238,.92); backdrop-filter:blur(4px);
  transition:background var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);}
.rdk-pcard__save:hover{background:var(--remax-cream);}
.rdk-pcard__save:active{transform:scale(var(--press-scale));}
.rdk-pcard__save[aria-pressed="true"]{background:var(--remax-red); color:var(--remax-white);}
.rdk-pcard__save svg{width:18px; height:18px;}
.rdk-pcard__body{display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-5);}
.rdk-pcard__price{font-size:var(--text-xl); font-weight:var(--weight-bold); color:var(--text-primary); line-height:1;}
.rdk-pcard__price span{font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--text-muted);}
.rdk-pcard__title{font-size:var(--text-md); font-weight:var(--weight-semibold); color:var(--text-primary); line-height:var(--leading-snug);}
.rdk-pcard__loc{display:flex; align-items:center; gap:.4em; font-size:var(--text-sm); color:var(--text-secondary);}
.rdk-pcard__loc svg{width:15px; height:15px; flex:none; color:var(--accent);}
.rdk-pcard__specs{display:flex; gap:var(--space-5); padding-top:var(--space-3);
  border-top:var(--border-hairline) solid var(--border-subtle); margin-top:auto;}
.rdk-pcard__spec{display:flex; align-items:center; gap:.45em; font-size:var(--text-sm);
  font-weight:var(--weight-medium); color:var(--text-secondary);}
.rdk-pcard__spec svg{width:17px; height:17px; color:var(--text-muted);}

.rdk-stat{display:flex; flex-direction:column; gap:.2em; font-family:var(--font-display);}
.rdk-stat__value{font-size:var(--text-4xl); font-weight:var(--weight-black); line-height:.95;
  letter-spacing:var(--tracking-tight); color:var(--text-primary);}
.rdk-stat__value em{font-style:normal; color:var(--accent);}
.rdk-stat__label{font-family:var(--font-sans); font-size:var(--text-xs); font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--text-secondary);}
.rdk-stat--inverse .rdk-stat__value{color:var(--remax-cream);}
.rdk-stat--inverse .rdk-stat__value em{color:var(--remax-sky-blue);}
.rdk-stat--inverse .rdk-stat__label{color:var(--text-on-dark); opacity:.7;}

/* --------------------------------------------- SITE LAYOUT (from Site.jsx) */
.site{min-height:100vh; display:flex; flex-direction:column; background:var(--surface-page);}
.wrap{width:100%; max-width:var(--container-xl); margin:0 auto; padding:0 var(--space-6);}

.hd{position:sticky; top:0; z-index:50; background:rgba(247,245,238,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-subtle);}
.hd__in{display:flex; align-items:center; gap:var(--space-6); height:74px;}
.hd__logo{cursor:pointer; display:inline-flex; align-items:center;}
.hd__nav{display:flex; gap:var(--space-5); margin-left:var(--space-4);}
.hd__nav a{font-size:var(--text-sm); font-weight:600; color:var(--text-secondary); cursor:pointer;
  padding:6px 0; border-bottom:2px solid transparent; transition:color .15s,border-color .15s;}
.hd__nav a:hover{color:var(--text-primary);}
.hd__nav a.on{color:var(--remax-blue); border-color:var(--remax-blue);}
.hd__sp{margin-left:auto; display:flex; align-items:center; gap:var(--space-4);}
.hd__tel{display:flex; align-items:center; gap:.5em; font-weight:700; font-size:var(--text-sm); color:var(--text-primary);}

.hero{position:relative; background:var(--remax-dark-blue); color:var(--remax-cream); overflow:hidden;}
.hero__mark{position:absolute; right:-4%; bottom:-22%; font-family:var(--font-display); font-weight:800;
  font-size:clamp(180px,30vw,460px); line-height:.8; color:#fff; opacity:.05; letter-spacing:-.04em; pointer-events:none; user-select:none;}
.hero__in{position:relative; padding:var(--space-10) 0 var(--space-9);}
.hero__eyebrow{display:flex; align-items:center; gap:14px; font-size:var(--text-xs); font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--remax-sky-blue); margin-bottom:var(--space-4);}
.hero h1{font-family:var(--font-display); font-weight:800; letter-spacing:-.02em; line-height:1.02;
  font-size:clamp(38px,5vw,68px); max-width:16ch; color:var(--remax-cream);}
.hero p{font-size:var(--text-md); color:rgba(247,245,238,.78); max-width:46ch; margin-top:var(--space-4);}

/* Cinematic hero carousel — έμπνευση Sotheby's, εναρμονισμένο: πραγματικές φωτό ακινήτων
   πίσω, dark-blue overlay της ταυτότητας + slow ken-burns + crossfade. Κείμενο μένει cream. */
.hero__media{position:absolute; inset:0; z-index:0; overflow:hidden; background:var(--remax-dark-blue);}
.hero__media .hslide{position:absolute; inset:0; opacity:0; transition:opacity 1.8s ease; will-change:opacity;}
.hero__media .hslide.on{opacity:1;}
.hero__media .hvid{width:100%; height:100%; object-fit:cover;}
.hero__media .himg{background-size:cover; background-position:center;}
.hero__media .himg.on{animation:heroKen 9s ease-out forwards;}
@keyframes heroKen{ from{transform:scale(1.02);} to{transform:scale(1.14);} }
.hero__media::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(100deg,
  var(--remax-dark-blue) 0%,
  color-mix(in srgb, var(--remax-dark-blue) 88%, transparent) 36%,
  color-mix(in srgb, var(--remax-dark-blue) 58%, transparent) 70%,
  color-mix(in srgb, var(--remax-dark-blue) 74%, transparent) 100%);}
.hero--cinematic .hero__in{position:relative; z-index:2; min-height:78vh; display:flex; flex-direction:column; justify-content:center;}
.hero--cinematic .hero__mark{z-index:1;}
.hero--cinematic{min-height:78vh;}
/* Search box που «πατάει» στο όριο του hero: το πάνω μισό πάνω στο dark hero, το κάτω εκτός. */
.hero-search{position:relative; z-index:5; margin-top:-78px;}
.hero-search > .wrap > .search{margin:0; box-shadow:var(--shadow-lg);}
@media (max-width:760px){
  .hero--cinematic, .hero--cinematic .hero__in{min-height:66vh;}
  .hero-search{margin-top:-46px;}
}
@media (prefers-reduced-motion: reduce){ .hero__media .hslide.on{animation:none;} .hero__media .hslide{transition:none;} }

.search{margin-top:var(--space-7); background:var(--surface-card); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:var(--space-5); color:var(--text-primary);}
.search__deal{display:inline-flex; background:var(--surface-sunken); border-radius:var(--radius-pill); padding:4px; margin-bottom:var(--space-4);}
.search__deal button{border:none; background:none; cursor:pointer; font-family:var(--font-sans);
  font-weight:700; font-size:var(--text-sm); padding:.5em 1.3em; border-radius:var(--radius-pill); color:var(--text-secondary); transition:background .18s,color .18s;}
.search__deal button.on{background:var(--remax-dark-blue); color:var(--remax-cream);}
.search__row{display:grid; grid-template-columns:2fr 1.4fr 1.4fr auto; gap:var(--space-4); align-items:end;}
.search__chips{display:flex; gap:var(--space-2); margin-top:var(--space-4); flex-wrap:wrap;}

.sec{padding:var(--space-9) 0;}
.sec__head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-5); margin-bottom:var(--space-6);}
.sec__eyebrow{font-size:var(--text-xs); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.sec h2{font-family:var(--font-display); font-weight:800; font-size:var(--text-3xl); letter-spacing:-.02em;}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5);}
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-5);}

.band{background:var(--remax-dark-blue); color:var(--remax-cream);}
.band__in{display:flex; justify-content:space-between; gap:var(--space-6); padding:var(--space-8) 0; flex-wrap:wrap;}

.cta{padding:var(--space-9) 0;}
.cta__inner{display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:56px 48px; max-width:34ch;}
.cta__inner h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.1; letter-spacing:-.01em; color:var(--remax-cream); margin:0;}
.cta__inner p{font-size:17px; line-height:1.6; color:rgba(247,245,238,.85); margin:0;}

.ft{margin-top:auto; background:var(--remax-dark-blue); color:var(--text-on-dark); padding:var(--space-8) 0 var(--space-6);}
.ft__in{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:var(--space-6);}
.ft h4{font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--remax-sky-blue); margin-bottom:var(--space-4);}
.ft a,.ft p{display:block; font-size:var(--text-sm); color:rgba(247,245,238,.72); margin:6px 0; cursor:pointer;}
.ft a:hover{color:var(--remax-cream);}
.ft__bot{border-top:1px solid var(--border-inverse); margin-top:var(--space-7); padding-top:var(--space-5);
  display:flex; justify-content:space-between; font-size:var(--text-xs); color:rgba(247,245,238,.55); flex-wrap:wrap; gap:8px;}

.filterbar{position:sticky; top:74px; z-index:40; background:var(--surface-page); border-bottom:1px solid var(--border-subtle); padding:var(--space-4) 0;}
.filterbar__in{display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap;}
.results__head{display:flex; justify-content:space-between; align-items:baseline; padding:var(--space-6) 0 var(--space-4);}
.results__head .n{font-family:var(--font-display); font-weight:800; font-size:var(--text-xl);}
.sortpill{display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:600; color:var(--text-secondary); cursor:pointer;}

.det{padding-top:var(--space-6);}
.det__back{display:inline-flex; align-items:center; gap:.5em; font-size:var(--text-sm); font-weight:600; color:var(--text-secondary); cursor:pointer; margin-bottom:var(--space-5);}
.det__back:hover{color:var(--text-primary);}
.det__gal{display:grid; grid-template-columns:2fr 1fr; gap:var(--space-3); height:440px; border-radius:var(--radius-lg); overflow:hidden;}
.det__gal img{width:100%; height:100%; object-fit:cover;}
.det__gal .side{display:grid; grid-template-rows:1fr 1fr; gap:var(--space-3);}
.det__main{display:grid; grid-template-columns:1.7fr 1fr; gap:var(--space-7); margin-top:var(--space-7); align-items:start;}
.det h1{font-family:var(--font-display); font-weight:800; font-size:var(--text-3xl); letter-spacing:-.02em; margin:var(--space-3) 0;}
.det__price{font-family:var(--font-display); font-weight:800; font-size:var(--text-3xl); color:var(--text-primary);}
.det__loc{display:flex; align-items:center; gap:.5em; color:var(--text-secondary); font-size:var(--text-md);}
.det__specs{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); margin:var(--space-6) 0; padding:var(--space-5) 0; border-top:1px solid var(--border-subtle); border-bottom:1px solid var(--border-subtle);}
.det__spec{display:flex; flex-direction:column; gap:4px;}
.det__spec .k{display:flex; align-items:center; gap:.4em; font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted);}
.det__spec .v{font-family:var(--font-display); font-weight:700; font-size:var(--text-lg);}
.det__body p{color:var(--text-secondary); line-height:1.7; max-width:64ch;}
.det__feat{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-top:var(--space-5);}
.det__feat span{display:flex; align-items:center; gap:.6em; font-size:var(--text-sm); color:var(--text-primary);}
.det__feat svg{color:var(--remax-blue); width:16px; height:16px; flex:none;}
.aside{position:sticky; top:96px; display:flex; flex-direction:column; gap:var(--space-4);
  background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:var(--space-6);}

.ic{display:inline-flex; line-height:0;}

@media(max-width:880px){
  .grid3,.grid2,.ft__in,.det__main,.det__specs,.search__row{grid-template-columns:1fr;}
  .det__gal{height:auto; grid-template-columns:1fr;}
  .hd__nav{display:none;}
  .band__in{gap:var(--space-5);}
}
