/* ===========================================================================
   RE/MAX delta ktima — listings/detail extensions
   Breadcrumbs · faceted filters · sort menu · view toggle · pagination · list row
   All values map to design-system tokens (no one-off hex/spacing).
   =========================================================================== */

/* --------------------------------------------------------------- BREADCRUMBS */
.crumbs{display:flex; align-items:center; flex-wrap:wrap; gap:.45em; font-size:var(--text-sm);
  color:var(--text-muted); padding:var(--space-5) 0 0;}
.crumbs a{color:var(--text-secondary);}
.crumbs a:hover{color:var(--accent);}
.crumbs a:focus-visible{outline:none; box-shadow:var(--shadow-focus); border-radius:var(--radius-sm);}
.crumbs__sep{color:var(--border-strong);}
.crumbs [aria-current="page"]{color:var(--text-primary); font-weight:600;}

/* ------------------------------------------------------------- LISTINGS LAYOUT */
.listpage__title{font-family:var(--font-display); font-weight:800; font-size:var(--text-2xl);
  letter-spacing:-.01em; margin:var(--space-3) 0 var(--space-5);}
.listpage{display:grid; grid-template-columns:272px 1fr; gap:var(--space-6); align-items:start; padding-bottom:var(--space-9);}

/* facets ------------------------------------------------------------------- */
.facets{position:sticky; top:90px; display:flex; flex-direction:column; gap:var(--space-5);
  background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); padding:var(--space-5);}
.facets__head{display:flex; align-items:center; justify-content:space-between;}
.facets__head h2{font-size:var(--text-md); font-weight:700;}
.facet{border:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--space-3); min-width:0;}
.facet + .facet{border-top:1px solid var(--border-subtle); padding-top:var(--space-5);}
.facet legend{font-size:var(--text-xs); font-weight:700; letter-spacing:var(--tracking-wider);
  text-transform:uppercase; color:var(--text-secondary); padding:0; margin-bottom:var(--space-1);}
.facet__chips{display:flex; flex-wrap:wrap; gap:var(--space-2);}
.facet__range{display:flex; align-items:center; gap:var(--space-2);}
.facet__range .rdk-input{padding:.6em .7em; font-size:var(--text-sm);}
.facet__range span{color:var(--text-muted); flex:none;}
.facet .rdk-chip{padding:.5em .85em; font-size:var(--text-xs);}
.facet .rdk-chip:focus-visible{outline:none; box-shadow:var(--shadow-focus);}

.linkbtn{border:none; background:none; cursor:pointer; font-family:var(--font-sans); font-weight:700;
  font-size:var(--text-xs); color:var(--accent); padding:4px 6px; border-radius:var(--radius-sm);}
.linkbtn:hover{text-decoration:underline;}
.linkbtn:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.linkbtn[disabled]{opacity:.4; cursor:not-allowed; text-decoration:none;}

/* segmented control (bedrooms) -------------------------------------------- */
.seg{display:inline-flex; background:var(--surface-sunken); border-radius:var(--radius-pill); padding:3px; gap:2px;}
.seg button{border:none; background:none; cursor:pointer; font-family:var(--font-sans); font-weight:600;
  font-size:var(--text-xs); padding:.5em .8em; border-radius:var(--radius-pill); color:var(--text-secondary);
  transition:background .15s,color .15s;}
.seg button[aria-pressed="true"]{background:var(--remax-dark-blue); color:var(--remax-cream);}
.seg button:hover[aria-pressed="false"]{color:var(--text-primary);}
.seg button:focus-visible{outline:none; box-shadow:var(--shadow-focus);}

/* results tools: view toggle + sort --------------------------------------- */
.results__tools{display:flex; align-items:center; gap:var(--space-3);}
.viewtoggle{display:inline-flex; border:1px solid var(--border-default); border-radius:var(--radius-md); overflow:hidden;}
.viewtoggle button{border:none; background:var(--surface-card); cursor:pointer; padding:.5em .6em;
  color:var(--text-muted); display:inline-flex; align-items:center; transition:background .15s,color .15s;}
.viewtoggle button[aria-pressed="true"]{background:var(--surface-sunken); color:var(--accent);}
.viewtoggle button + button{border-left:1px solid var(--border-default);}
.viewtoggle button:focus-visible{outline:none; box-shadow:var(--shadow-focus); z-index:1;}
.viewtoggle svg{width:17px; height:17px;}

.sortmenu{position:relative;}
.sortmenu__btn{display:inline-flex; align-items:center; gap:.5em; font-family:var(--font-sans); font-weight:600;
  font-size:var(--text-sm); color:var(--text-primary); background:var(--surface-card);
  border:1px solid var(--border-default); border-radius:var(--radius-md); padding:.55em .9em; cursor:pointer; white-space:nowrap;}
.sortmenu__btn:hover{border-color:var(--border-strong);}
.sortmenu__btn:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.sortmenu__btn svg{width:15px; height:15px; transition:transform .18s;}
.sortmenu__btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.sortmenu__list{position:absolute; right:0; top:calc(100% + 6px); min-width:230px; background:var(--surface-card);
  border:1px solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-lg);
  padding:6px; z-index:30; list-style:none; margin:0;}
.sortmenu__list[hidden]{display:none;}
.sortmenu__list li{font-size:var(--text-sm); padding:.55em .7em; border-radius:var(--radius-sm); cursor:pointer;
  color:var(--text-secondary); display:flex; align-items:center; justify-content:space-between; gap:.5em;}
.sortmenu__list li.active,.sortmenu__list li:hover{background:var(--surface-sunken); color:var(--text-primary);}
.sortmenu__list li[aria-selected="true"]{color:var(--accent); font-weight:600;}
.sortmenu__list li svg{width:16px; height:16px; opacity:0; flex:none;}
.sortmenu__list li[aria-selected="true"] svg{opacity:1;}

/* results / empty ---------------------------------------------------------- */
.results__empty{grid-column:1 / -1; padding:var(--space-8) 0; text-align:center; color:var(--text-muted);}
.results__empty strong{display:block; color:var(--text-primary); font-size:var(--text-md); margin-bottom:var(--space-2);}
.listcol{display:flex; flex-direction:column; gap:var(--space-4);}

/* compact list row --------------------------------------------------------- */
.rdk-prow{display:grid; grid-template-columns:210px 1fr auto; gap:var(--space-5); align-items:stretch;
  background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-card);
  box-shadow:var(--shadow-sm); overflow:hidden; color:inherit;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);}
.rdk-prow:hover{box-shadow:var(--shadow-lg); transform:translateY(-2px);}
.rdk-prow__media{position:relative; overflow:hidden; background:var(--surface-sunken); min-height:148px;}
.rdk-prow__media img{width:100%; height:100%; object-fit:cover; display:block;}
.rdk-prow__badge{position:absolute; top:var(--space-3); left:var(--space-3);}
.rdk-prow__body{display:flex; flex-direction:column; gap:var(--space-2); padding:var(--space-4) 0;}
.rdk-prow__title{font-size:var(--text-md); font-weight:var(--weight-semibold); color:var(--text-primary);}
.rdk-prow__side{display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:var(--space-3);
  padding:var(--space-4) var(--space-5) var(--space-4) 0;}

/* pagination --------------------------------------------------------------- */
.pager{display:flex; align-items:center; justify-content:center; gap:var(--space-2); padding:var(--space-7) 0 0;}
.pager[hidden]{display:none;}
.pager button{min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border-default); background:var(--surface-card); border-radius:var(--radius-md);
  font-family:var(--font-sans); font-weight:600; font-size:var(--text-sm); color:var(--text-secondary);
  cursor:pointer; transition:border-color .15s,color .15s,background .15s;}
.pager button:hover:not([disabled]):not([aria-current="page"]){border-color:var(--border-strong); color:var(--text-primary);}
.pager button[aria-current="page"]{background:var(--remax-dark-blue); border-color:var(--remax-dark-blue); color:var(--remax-cream); cursor:default;}
.pager button[disabled]{opacity:.4; cursor:not-allowed;}
.pager button:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.pager svg{width:16px; height:16px;}
.pager__gap{color:var(--text-muted); padding:0 2px;}

/* --------------------------------------------------------------- RESPONSIVE */
@media(max-width:880px){
  .listpage{grid-template-columns:1fr;}
  .facets{position:static;}
  .rdk-prow{grid-template-columns:120px 1fr;}
  .rdk-prow__side{grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:space-between;
    padding:0 var(--space-5) var(--space-4) var(--space-5);}
}

/* ===========================================================================
   AREA PICKER (map + multi-area tokens) · MODAL · RECENT (home)
   =========================================================================== */

/* area token bar (above results) */
.areabar{display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2); padding:var(--space-2) 0 var(--space-5);}
.areabar__label{font-size:var(--text-xs); font-weight:700; letter-spacing:var(--tracking-wider);
  text-transform:uppercase; color:var(--text-secondary); margin-right:var(--space-1);}
.areabar__empty{font-size:var(--text-sm); color:var(--text-muted);}
.token{display:inline-flex; align-items:center; gap:.45em; font-family:var(--font-sans); font-size:var(--text-sm);
  font-weight:600; color:var(--remax-dark-blue); background:var(--surface-accent-soft);
  border-radius:var(--radius-pill); padding:.38em .4em .38em .85em;}
.token button{border:none; background:rgba(0,14,53,.12); cursor:pointer; width:19px; height:19px; border-radius:50%;
  color:inherit; display:inline-flex; align-items:center; justify-content:center; font-size:14px; line-height:1; padding:0;}
.token button:hover{background:rgba(0,14,53,.26);}
.token button:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.areabar__add{display:inline-flex; align-items:center; gap:.45em; border:1px dashed var(--border-strong);
  background:none; cursor:pointer; font-family:var(--font-sans); font-weight:700; font-size:var(--text-sm);
  color:var(--accent); border-radius:var(--radius-pill); padding:.42em .9em; transition:border-color .15s,background .15s;}
.areabar__add:hover{border-color:var(--accent); background:var(--surface-accent-soft);}
.areabar__add:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.areabar__add svg{width:15px; height:15px;}

/* modal */
.modal[hidden]{display:none;}
.modal{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:var(--space-5);}
.modal__backdrop{position:absolute; inset:0; background:var(--overlay-scrim); backdrop-filter:blur(2px);}
.modal__panel{position:relative; width:min(940px,100%); max-height:88vh; display:flex; flex-direction:column;
  background:var(--surface-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden;}
.modal__head{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  padding:var(--space-5) var(--space-6); border-bottom:1px solid var(--border-subtle);}
.modal__head h2{font-family:var(--font-display); font-weight:800; font-size:var(--text-xl); letter-spacing:-.01em;}
.modal__close{border:none; background:none; cursor:pointer; width:38px; height:38px; border-radius:50%; font-size:24px;
  line-height:1; color:var(--text-secondary); display:inline-flex; align-items:center; justify-content:center; flex:none;}
.modal__close:hover{background:var(--surface-sunken); color:var(--text-primary);}
.modal__close:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.modal__body{padding:var(--space-6); overflow:auto;}
.modal__foot{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  padding:var(--space-4) var(--space-6); border-top:1px solid var(--border-subtle);}

/* area picker: map + neighbourhood list */
.areapick{display:grid; grid-template-columns:1.45fr 1fr; gap:var(--space-5);}
.areapick__map{height:400px; border-radius:var(--radius-md); overflow:hidden;
  background:var(--surface-sunken); border:1px solid var(--border-subtle);}
.areapick__fallback{display:flex; align-items:center; justify-content:center; height:100%;
  color:var(--text-muted); font-size:var(--text-sm); text-align:center; padding:var(--space-6);}
.areapick__list{display:flex; flex-direction:column; gap:var(--space-2); max-height:400px; overflow:auto; padding-right:2px;}
.areachip{display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); width:100%; cursor:pointer;
  font-family:var(--font-sans); font-size:var(--text-sm); font-weight:600; color:var(--text-secondary);
  background:var(--surface-card); border:1px solid var(--border-default); border-radius:var(--radius-md);
  padding:.65em .9em; transition:border-color .15s,color .15s,background .15s;}
.areachip:hover{border-color:var(--border-strong); color:var(--text-primary);}
.areachip[aria-pressed="true"]{background:var(--remax-dark-blue); border-color:var(--remax-dark-blue); color:var(--remax-cream);}
.areachip[aria-pressed="true"] .areachip__n{color:var(--remax-sky-blue);}
.areachip__n{font-size:var(--text-xs); font-weight:700; color:var(--text-muted);}
.areachip:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.areagroup{font-size:var(--text-xs); font-weight:700; letter-spacing:var(--tracking-wider);
  text-transform:uppercase; color:var(--text-muted); margin:var(--space-3) 0 var(--space-1); padding-left:2px;}
.areapick__list .areagroup:first-child{margin-top:0;}

/* leaflet pins (RE/MAX themed) */
.leaflet-tooltip.mappin-tip{background:var(--surface-card); border:1.5px solid var(--remax-blue); color:var(--text-primary);
  font-family:var(--font-sans); font-weight:700; font-size:12px; border-radius:var(--radius-pill);
  box-shadow:var(--shadow-sm); padding:3px 10px; white-space:nowrap;}
.leaflet-tooltip.mappin-tip.on{background:var(--remax-blue); color:#fff;}
.leaflet-tooltip.mappin-tip::before{display:none;}

/* recent (home) */
.recent__head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-4);}
.recent__head h2{font-family:var(--font-display); font-weight:800; font-size:var(--text-2xl); letter-spacing:-.01em;}
.recent__chips{display:flex; flex-wrap:wrap; gap:var(--space-2);}
.recent__chips a.rdk-chip{text-decoration:none;}
.recent__chips a.rdk-chip:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.recent + .recent{margin-top:var(--space-8);}

@media(max-width:880px){
  .areapick{grid-template-columns:1fr;}
  .areapick__map{height:300px;}
  .areapick__list{max-height:none;}
}

/* ===========================================================================
   AUDIENCE ROUTING (home) · CAREERS (recruiting) · BENEFITS
   Εμπνευσμένο από remax.eu — δικό μας brand/περιεχόμενο, όχι αντιγραφή.
   =========================================================================== */

/* audience routing cards */
.aud{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5);}
.aud__card{display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-6);
  border-radius:var(--radius-lg); background:var(--surface-card); border:1px solid var(--border-subtle);
  box-shadow:var(--shadow-sm); color:inherit; min-height:210px;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);}
.aud__card:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.aud__ico{width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--surface-accent-soft); color:var(--remax-dark-blue);}
.aud__ico svg{width:22px; height:22px;}
.aud__t{font-family:var(--font-display); font-weight:800; font-size:var(--text-xl); letter-spacing:-.01em; color:var(--text-primary);}
.aud__d{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.55;}
.aud__arrow{margin-top:auto; display:inline-flex; align-items:center; gap:.4em; font-weight:700; font-size:var(--text-sm); color:var(--accent);}
.aud__arrow svg{width:18px; height:18px; transition:transform var(--duration-base) var(--ease-standard);}
.aud__card:hover .aud__arrow svg{transform:translateX(4px);}
/* recruiting card = inverse accent (όπως το κόκκινο JOIN του remax.eu, αλλά στο brand μας) */
.aud__card--accent{background:var(--remax-dark-blue); border-color:var(--remax-dark-blue);}
.aud__card--accent .aud__t{color:var(--remax-cream);}
.aud__card--accent .aud__d{color:rgba(247,245,238,.78);}
.aud__card--accent .aud__ico{background:rgba(247,245,238,.12); color:var(--remax-cream);}
.aud__card--accent .aud__arrow{color:var(--remax-sky-blue);}

/* careers segmented hero paths */
.jpaths{display:flex; flex-direction:column; margin-top:var(--space-6); max-width:600px;}
.jpath{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  padding:var(--space-5) 0; border-top:1px solid var(--border-inverse); color:var(--remax-cream); text-decoration:none;
  font-family:var(--font-display); font-weight:700; font-size:var(--text-lg); letter-spacing:-.01em;
  transition:color var(--duration-base) var(--ease-standard),padding-left var(--duration-base) var(--ease-standard);}
.jpath:last-child{border-bottom:1px solid var(--border-inverse);}
.jpath:hover{color:#fff; padding-left:var(--space-3);}
.jpath:focus-visible{outline:none; box-shadow:var(--shadow-focus); border-radius:var(--radius-sm);}
.jpath svg{width:22px; height:22px; color:var(--remax-sky-blue); flex:none; transition:transform var(--duration-base) var(--ease-standard);}
.jpath:hover svg{transform:translateX(5px);}

/* benefits grid (Γιατί εμάς) */
.whygrid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5);}
.why{display:flex; flex-direction:column; gap:var(--space-3); padding:var(--space-5);
  background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm);}
.why__ico{width:46px; height:46px; border-radius:var(--radius-md); display:inline-flex; align-items:center; justify-content:center;
  background:var(--surface-accent-soft); color:var(--remax-dark-blue);}
.why__ico svg{width:22px; height:22px;}
.why h3{font-size:var(--text-md); font-weight:700; color:var(--text-primary);}
.why p{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.6;}

@media(max-width:880px){
  .aud{grid-template-columns:1fr;}
  .whygrid{grid-template-columns:1fr;}
  .jpath{font-size:var(--text-md);}
}

/* ===========================================================================
   GHOST SECTION TITLES · NUMBERED TIMELINE (έμπνευση remax.eu — όχι αντιγραφή)
   =========================================================================== */

/* ghost oversized titles πίσω από τα section heads */
.sec{overflow-x:clip;}
.sec__head{position:relative;}
.sec__head > div{position:relative; z-index:1;}
.ghost{position:absolute; left:-4px; top:50%; transform:translateY(-54%); z-index:0; pointer-events:none; user-select:none;
  font-family:var(--font-display); font-weight:800; font-size:clamp(56px,10vw,150px); line-height:.8;
  letter-spacing:-.03em; white-space:nowrap; color:var(--neutral-200);}
.band .ghost, .ghost--dark{color:rgba(247,245,238,.06);}
@media(max-width:760px){ .ghost{font-size:clamp(44px,16vw,86px); transform:translateY(-50%);} }

/* vertical numbered timeline («Πώς πουλάμε»), balloon ως marker */
.tl{position:relative; max-width:960px; margin:0 auto;}
.tl__top{display:flex; justify-content:center; margin-bottom:var(--space-5);}
.tl__top img{display:block; height:46px; width:auto;}
.tl__steps{position:relative;}
.tl__steps::before{content:""; position:absolute; left:50%; top:10px; bottom:10px; width:2px;
  background:var(--border-default); transform:translateX(-50%);}
.tl__step{display:grid; grid-template-columns:1fr 64px 1fr; gap:var(--space-5); align-items:center; margin:var(--space-5) 0;}
.tl__node{grid-column:2; justify-self:center; width:50px; height:50px; border-radius:50%;
  background:var(--remax-dark-blue); color:var(--remax-cream); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:800; font-size:var(--text-lg); position:relative; z-index:1;
  box-shadow:0 0 0 6px var(--surface-page);}
.tl__body{background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); padding:var(--space-5);}
.tl__body h3{font-size:var(--text-md); font-weight:700; color:var(--text-primary);}
.tl__body p{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.6; margin-top:6px;}
.tl__step:nth-child(odd) .tl__body{grid-column:1; text-align:right;}
.tl__step:nth-child(even) .tl__body{grid-column:3;}
@media(max-width:760px){
  .tl__steps::before{left:25px;}
  .tl__top{justify-content:flex-start; padding-left:2px;}
  .tl__step{grid-template-columns:50px 1fr; gap:var(--space-4); margin:var(--space-4) 0;}
  .tl__node{grid-column:1;}
  .tl__step .tl__body{grid-column:2 !important; text-align:left !important;}
}

/* ===========================================================================
   AGENT PROFILE · PEOPLE GRID (Our People — έμπνευση remax.eu, δικό μας brand)
   =========================================================================== */
.prof{display:grid; grid-template-columns:minmax(0,400px) 1fr; gap:var(--space-7); align-items:start; padding:var(--space-7) 0;}
.prof__photo{position:relative; background:var(--surface-card); border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);}
.prof__photo img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover; filter:grayscale(1);}
.prof__name{font-family:var(--font-display); font-weight:800; font-size:var(--text-2xl); letter-spacing:-.01em; color:var(--text-primary);}
.prof__meta{color:var(--text-secondary); font-size:var(--text-sm); margin-top:3px;}
.prof__role{color:var(--accent); font-weight:700; font-size:var(--text-xs); letter-spacing:var(--tracking-wider); text-transform:uppercase; margin-top:8px;}
.prof__quote{font-family:var(--font-display); font-weight:800; font-size:clamp(26px,3.4vw,42px); line-height:1.08;
  letter-spacing:-.02em; color:var(--text-primary); margin:var(--space-5) 0;}
.prof__bio{color:var(--text-secondary); line-height:1.7; max-width:60ch;}
.prof__actions{display:flex; gap:var(--space-3); flex-wrap:wrap; margin-top:var(--space-6);}

.people{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-5);}
.person{display:block; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); color:inherit; text-decoration:none;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);}
.person:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.person:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.person img{display:block; width:100%; aspect-ratio:1/1; object-fit:cover; filter:grayscale(1);}
.person__b{padding:var(--space-4);}
.person__n{font-weight:700; font-size:var(--text-md); color:var(--text-primary);}
.person__r{color:var(--accent); font-size:var(--text-2xs); font-weight:700; letter-spacing:var(--tracking-wider); text-transform:uppercase; margin-top:4px;}
.person__o{color:var(--text-secondary); font-size:var(--text-sm); margin-top:2px;}

@media(max-width:880px){ .prof{grid-template-columns:1fr;} .people{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .people{grid-template-columns:1fr;} }

/* ===========================================================================
   NEWSROOM · ARTICLE (έμπνευση remax.eu — δικά μας άρθρα, όχι αντιγραφή)
   =========================================================================== */
.tabs{display:flex; flex-wrap:wrap; gap:var(--space-3); margin:var(--space-5) 0 var(--space-6);
  border-bottom:1px solid var(--border-subtle);}
.tabs button{border:none; background:none; cursor:pointer; font-family:var(--font-sans); font-weight:600; font-size:var(--text-sm);
  color:var(--text-secondary); padding:.6em .2em; margin-bottom:-1px; border-bottom:2px solid transparent; transition:color .15s,border-color .15s;}
.tabs button:hover{color:var(--text-primary);}
.tabs button[aria-selected="true"]{color:var(--accent); border-bottom-color:var(--accent);}
.tabs button:focus-visible{outline:none; box-shadow:var(--shadow-focus);}

.newsgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5);}
.ncard{display:flex; flex-direction:column; overflow:hidden; background:var(--surface-card); border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); color:inherit; text-decoration:none;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);}
.ncard:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.ncard:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.ncard__media{position:relative; aspect-ratio:16/10; background:var(--surface-sunken); overflow:hidden;}
.ncard__media img{width:100%; height:100%; object-fit:cover; display:block;}
.ncard__tag{position:absolute; top:var(--space-3); left:var(--space-3); background:var(--remax-blue); color:#fff;
  font-size:var(--text-2xs); font-weight:700; letter-spacing:var(--tracking-wider); text-transform:uppercase; padding:.45em .7em; border-radius:var(--radius-sm);}
.ncard__b{display:flex; flex-direction:column; gap:var(--space-2); padding:var(--space-5); flex:1;}
.ncard__t{font-size:var(--text-md); font-weight:var(--weight-semibold); color:var(--text-primary); line-height:var(--leading-snug);}
.ncard__x{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.55;}
.ncard__d{margin-top:auto; font-size:var(--text-xs); color:var(--text-muted);}

.nfeat{display:grid; grid-template-columns:1.4fr 1fr; overflow:hidden; background:var(--surface-card);
  border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); color:inherit; text-decoration:none;
  transition:box-shadow var(--duration-base) var(--ease-standard);}
.nfeat:hover{box-shadow:var(--shadow-lg);}
.nfeat:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.nfeat__media{position:relative; min-height:320px; background:var(--surface-sunken);}
.nfeat__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.nfeat__b{display:flex; flex-direction:column; justify-content:center; gap:var(--space-3); padding:var(--space-7);}
.nfeat__t{font-family:var(--font-display); font-weight:800; font-size:var(--text-2xl); letter-spacing:-.01em; line-height:1.12; color:var(--text-primary);}

.article{max-width:760px; margin:0 auto; padding:var(--space-6) 0;}
.article h1{font-family:var(--font-display); font-weight:800; font-size:var(--text-3xl); letter-spacing:-.02em; line-height:1.1; margin:var(--space-3) 0;}
.article__meta{display:flex; align-items:center; gap:var(--space-3); color:var(--text-muted); font-size:var(--text-sm);}
.article__hero{aspect-ratio:16/8; border-radius:var(--radius-lg); overflow:hidden; margin:var(--space-5) 0; background:var(--surface-sunken);}
.article__hero img{width:100%; height:100%; object-fit:cover;}
.article__body p{color:var(--text-primary); line-height:1.8; margin:var(--space-4) 0; font-size:var(--text-md);}

@media(max-width:880px){ .newsgrid{grid-template-columns:1fr 1fr;} .nfeat{grid-template-columns:1fr;} .nfeat__media{min-height:220px;} }
@media(max-width:560px){ .newsgrid{grid-template-columns:1fr;} }

/* ===========================================================================
   POLISH — micro-interactions, B&W→colour reveal, focus, rhythm, reduced-motion
   =========================================================================== */

/* agent roster cards are links now → give them life (lift + arrow nudge) */
a.rdk-agent{cursor:pointer;
  transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard);}
a.rdk-agent:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px); border-color:var(--border-default);}
a.rdk-agent:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
a.rdk-agent .rdk-agent__actions{color:var(--accent); transition:transform var(--duration-base) var(--ease-standard);}
a.rdk-agent:hover .rdk-agent__actions{transform:translateX(3px);}

/* brand-approved B&W portraits warm to colour on hover (subtle, premium) */
.person img,.prof__photo img,.rdk-avatar img{
  transition:filter var(--duration-slow) var(--ease-standard),transform var(--duration-slow) var(--ease-standard);}
.person:hover img{filter:grayscale(0); transform:scale(1.04);}
.prof__photo:hover img{filter:grayscale(0);}
.rdk-agent:hover .rdk-avatar img{filter:grayscale(0);}

/* focus-visible on the remaining link cards */
.aud__card:focus-visible,.nfeat:focus-visible,.rdk-pcard:focus-visible,.rdk-prow:focus-visible{outline:none; box-shadow:var(--shadow-focus);}

/* ghost titles — a touch more presence, still never competing with the heading */
.ghost{color:var(--neutral-300); opacity:.5;}
.band .ghost,.hero .ghost,.ghost--dark{color:rgba(247,245,238,.07); opacity:1;}

/* surface-alternation utility for vertical rhythm (cream ↔ sunken) */
.sec--sunken{background:var(--surface-sunken);}

/* respect reduced-motion (a11y) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .rdk-pcard--link:hover,a.rdk-agent:hover,.person:hover,.ncard:hover,.aud__card:hover,.rdk-prow:hover{ transform:none; }
  .person:hover img,.prof__photo:hover img{ transform:none; }
}

/* ===========================================================================
   HERO SIGNATURE — oversized cut-off wordmark + arc «property platform» badge
   (έμπνευση remax.eu, δικό μας brand)
   =========================================================================== */
.hero__in{position:relative; z-index:1;}
.hero__mark{color:rgba(247,245,238,.045); -webkit-text-stroke:1.4px rgba(247,245,238,.075); opacity:1; right:-2%;}
.hero__arc{position:absolute; right:5%; top:14%; width:clamp(150px,15vw,224px); height:auto; opacity:.4; pointer-events:none; z-index:0;}
.hero__arc text{font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; fill:var(--remax-sky-blue);}
@media(max-width:880px){ .hero__arc{display:none;} }

/* layout-shift: reserve space for JS-filled grids before they render (no jump) */
.grid3:empty,.listcol:empty{min-height:400px;}
.people:empty{min-height:280px;}
.newsgrid:empty{min-height:340px;}
#roster:empty{min-height:240px;}

/* Brand film player (careers) — 16:9, controls, poster */
.filmwrap{position:relative; max-width:1000px; margin:0 auto; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); background:#000;}
.film{width:100%; height:100%; display:block; object-fit:cover;}

/* Angled CTA: video ακινήτων στο φόντο + brand overlay (κείμενο αναγνώσιμο) + λευκό logo δεξιά */
.rdk-angled{position:relative; overflow:hidden;}
.cta__video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.rdk-angled::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(calc(90deg - var(--slash-angle)),
    color-mix(in srgb, var(--remax-blue) 92%, transparent) 0 42%,
    color-mix(in srgb, var(--remax-dark-blue) 80%, transparent) 60% 100%);}
.rdk-angled__content{position:relative; z-index:2;}
.cta__logo{position:absolute; left:76%; top:50%; transform:translate(-50%,-50%); height:74px; width:auto; pointer-events:none; z-index:2;}
@media (max-width:820px){ .cta__logo{display:none;} }

/* Κίνηση ghost words (ΑΓΓΕΛΙΕΣ, ΟΜΑΔΑ…): συνεχές scroll προς ΔΕΞΙΑ, χωρίς επιστροφή·
   όταν φύγει εκτός, ξαναρχίζει από αριστερά (σε ΟΛΑ τα .ghost). */
@keyframes ghostScroll{ from{transform:translate(0,-54%);} to{transform:translate(7vw,-54%);} }
.ghost.is-in{ animation:ghostScroll 3s cubic-bezier(.22,1,.36,1) forwards; will-change:transform; } /* παίζει κάθε φορά που η section μπαίνει σε view */
@media (prefers-reduced-motion: reduce){ .ghost.is-in{ animation:none; } }

/* Hero «word» (TEAM/JOIN…): στην ΑΡΙΣΤΕΡΗ πλευρά· slide ΑΡΙΣΤΕΡΑ→ΔΕΞΙΑ (4s) και σταθεροποιείται εκεί */
.hero__mark{ left:-2%; right:auto; }
@keyframes heroMarkSlide{ from{transform:translateX(16vw);} to{transform:translateX(0);} }
.hero__mark.is-in{ animation:heroMarkSlide 4s cubic-bezier(.22,1,.36,1) forwards; will-change:transform; }
/* Κυκλικό badge: συνεχής αργή περιστροφή με το κείμενο */
@keyframes arcSpin{ to{ transform:rotate(360deg); } }
.hero__arc{ animation:arcSpin 30s linear infinite; transform-origin:50% 50%; }
@media (prefers-reduced-motion: reduce){ .hero__mark.is-in{animation:none;} .hero__arc{animation:none;} }

/* Stats band ως 4 full-bleed χρωματιστά panels (έμπνευση remax.eu) */
.band--panels{display:grid; grid-template-columns:repeat(4,1fr); background:none;
  max-width:calc(var(--container-xl) - 2 * var(--space-6)); margin:var(--space-9) auto;
  border-radius:var(--radius-lg); overflow:hidden;}
.bandcell{padding:var(--space-8) var(--space-6); display:flex; flex-direction:column; justify-content:center; gap:var(--space-2); min-height:172px;}
.bandcell .rdk-stat__value{font-family:var(--font-display); font-weight:800; font-size:clamp(40px,4.2vw,62px); line-height:1; letter-spacing:-.02em; color:inherit;}
.bandcell .rdk-stat__value em{font-style:normal; color:inherit;}
.bandcell .rdk-stat__label{font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:inherit; opacity:.85;}
.bandcell--blue{background:var(--remax-blue); color:#fff;}
.bandcell--dark{background:var(--remax-dark-blue); color:var(--remax-cream);}
.bandcell--sky{background:var(--remax-sky-blue); color:var(--remax-dark-blue);}
.bandcell--cream{background:var(--remax-cream); color:var(--remax-dark-blue);}
.bandcell--red{background:var(--remax-red); color:#fff;}
@media(max-width:760px){ .band--panels{grid-template-columns:repeat(2,1fr);} }

/* Timeline (sell «Πώς πουλάμε») — premium scroll-reveal: κάθε βήμα μπαίνει εναλλάξ από τα πλάγια */
.tl__step{opacity:0; transition:opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1);}
.tl__step:nth-child(odd){transform:translateX(-44px);}
.tl__step:nth-child(even){transform:translateX(44px);}
.tl__step.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .tl__step{opacity:1; transform:none; transition:none;} }

/* ====== Redesigned sell timeline: center line + descending balloon, number-in-text, alternating photo ====== */
.tl{position:relative; max-width:1060px; margin:0 auto; padding:var(--space-6) 0;}
.tl__line{position:absolute; left:50%; top:0; bottom:0; width:2px; background:var(--border-default); transform:translateX(-50%); z-index:0;}
.tl__balloon{position:absolute; left:50%; top:0; transform:translate(-50%,-100%); will-change:top; z-index:3;}
.tl__balloon img{display:block; height:52px; width:auto;}
.tl__steps{position:relative; display:flex; flex-direction:column; gap:var(--space-9); z-index:1;}
.tl__step{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); align-items:center; position:relative;}
.tl__step::before{content:""; position:absolute; left:50%; top:50%; width:15px; height:15px; border-radius:50%;
  background:var(--remax-blue); border:3px solid var(--surface-card); transform:translate(-50%,-50%); z-index:2; box-shadow:var(--shadow-sm);}
.tl__step:nth-child(even) .tl__body{order:2;}
.tl__body{display:flex; flex-direction:column; gap:var(--space-2);}
.tl__step:nth-child(odd) .tl__body{grid-column:auto; align-items:flex-end; text-align:right;}
.tl__step:nth-child(even) .tl__body{grid-column:auto; align-items:flex-start; text-align:left;}
.tl__num{font-family:var(--font-display); font-weight:800; font-size:clamp(38px,3.8vw,60px); line-height:.85; color:var(--remax-sky-blue); letter-spacing:-.02em;}
.tl__body h3{font-family:var(--font-display); font-weight:800; font-size:var(--text-xl); letter-spacing:-.01em;}
.tl__body p{color:var(--text-secondary); max-width:42ch;}
.tl__photo{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);}
.tl__photo img{display:block; width:100%; height:300px; object-fit:cover;}
@media(max-width:760px){
  .tl__line, .tl__balloon{left:20px;}
  .tl__step{grid-template-columns:1fr; gap:var(--space-4); padding-left:var(--space-7);}
  .tl__step::before{left:20px;}
  .tl__step .tl__body, .tl__step:nth-child(odd) .tl__body, .tl__step:nth-child(even) .tl__body{order:1; align-items:flex-start; text-align:left;}
  .tl__photo, .tl__step:nth-child(even) .tl__photo{order:2;}
}

/* fix: το μπαλόνι του timeline να μη στριμώχνεται (explicit πλάτος αντί shrink-to-fit) */
.tl__balloon{width:48px;}
.tl__balloon img{width:48px; height:auto;}

/* Newsletter (home) — dark-blue card, ομοιογενές με την ταυτότητα */
.nl{display:flex; align-items:center; justify-content:space-between; gap:var(--space-7); flex-wrap:wrap;
  background:var(--remax-dark-blue); color:var(--remax-cream); border-radius:var(--radius-lg); padding:var(--space-7) var(--space-8);}
.nl__text{max-width:48ch;}
.nl__text .sec__eyebrow{color:var(--remax-sky-blue);}
.nl__text h2{font-family:var(--font-display); font-weight:800; font-size:var(--text-2xl); letter-spacing:-.01em; color:var(--remax-cream);}
.nl__text p{color:rgba(247,245,238,.8); margin-top:var(--space-2);}
.nl__form{display:flex; gap:var(--space-3); flex-wrap:wrap; align-items:center;}
.nl__input{font-family:var(--font-sans); font-size:var(--text-md); padding:.85em 1.1em; border-radius:var(--radius-pill);
  border:none; min-width:260px; background:#fff; color:var(--text-primary);}
.nl__input:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.nl__ok{width:100%; color:var(--remax-sky-blue); font-weight:700; margin:0;}
@media(max-width:760px){ .nl{flex-direction:column; align-items:flex-start;} .nl__form{width:100%;} .nl__input{min-width:0; flex:1;} }

/* ===== Hero διακοσμητικά διαγώνια brand lines (RE/MAX slash motif) — στατικά, κολλημένα στις άκρες ===== */
.hero__deco{position:absolute; pointer-events:none; z-index:1;}
.hero__deco--l{top:14%; left:0; width:120px; height:160px; opacity:.6;
  background:repeating-linear-gradient(117.5deg, var(--remax-blue) 0 2px, transparent 2px 14px);}
.hero__deco--br{bottom:0; right:0; width:200px; height:150px; opacity:.5;
  background:repeating-linear-gradient(117.5deg, rgba(255,255,255,.75) 0 2px, transparent 2px 14px);}
@media (max-width:760px){ .hero__deco--l{width:80px; height:110px;} .hero__deco--br{width:120px; height:100px;} }

/* Μπαλόνι αντί για το slash motif στο hero eyebrow */
.hero__eyebrow-balloon{height:24px; width:auto; display:block; flex:none;}

/* Footer social icons (πάτος) */
.ft__social{display:inline-flex; gap:10px; align-items:center; flex-wrap:wrap;}
.ft__social-label{font-size:var(--text-xs); font-weight:700; letter-spacing:.04em; color:var(--remax-cream); margin-right:var(--space-2);}
.ft__social a{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border-radius:var(--radius-md); color:var(--remax-cream); background:rgba(247,245,238,.08);
  border:1px solid rgba(247,245,238,.16);
  transition:background .2s var(--ease-standard), border-color .2s, color .2s, transform .15s;}
.ft__social a:hover{background:var(--remax-blue); border-color:var(--remax-blue); color:#fff; transform:translateY(-2px);}
.ft__social a:focus-visible{outline:none; box-shadow:var(--shadow-focus);}
.ft__social svg{width:18px; height:18px;}
