/* assets/css/design.css — "Island Live" design, Oct 2026. Loaded LAST (after app.css and layout.css).

   Idea: the island itself is the home page. A live map of Cyprus with the
   number of homes in each district sits next to one plain search box, and the
   page then shows the four things only PropertyHub shows (fair price, real
   cost, online viewings, what's nearby).

   Rules this file follows:
   - One typeface: Geologica (self-hosted, Latin + Greek + Cyrillic).
   - Colour: deep sea (#0B3B42) carries the interface, a light sea tint
     (#E6F3F1) is the hero ground, orange (#E8891C) is for the main action
     (Search, Create an alert) and the Featured tag only.
   - Type scale (px): 13 · 14 · 15 · 16 · 18 · 20 · 22 · 28 · 38 · 42 · 62.
   - Corners: buttons and inputs 12px, cards 20px, big panels 22–28px.
     Only small links and badges are fully rounded.
   - Motion: elements rise in as they scroll into view, bars grow, the map
     bubbles pop in. All of it is switched off for prefers-reduced-motion.
*/

:root{
  --bg:#F5F9F8;
  --surface:#FFFFFF;
  --ink:#10292C;
  --ink-soft:#4A6366;
  --ink-mute:#5F7577;
  --sea:#0F5560;
  --sea-deep:#0B3B42;
  --sea-pale:#E6F3F1;
  --sea-wash:#F3F8F7;
  --citrus:#E8891C;
  --citrus-deep:#C4720F;
  --coral:#B4471F;
  --good:#1C7F4C;
  --line:#E4EBE9;
  --line-soft:#EEF2F1;
  --radius:20px;
  --shadow:0 1px 2px rgba(11,59,66,.05), 0 24px 40px -24px rgba(11,59,66,.4);
  --font-display:'Geologica',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Geologica',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Geologica',system-ui,-apple-system,'Segoe UI',sans-serif;
}

body{font-size:16px;line-height:1.55;font-feature-settings:"lnum" 1;color:var(--ink);background:var(--bg);}
body[data-tab="home"]{background:#fff;}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.01em;text-wrap:balance;}
.card-price,.modal-price,.fact .v,.pp-cost-row b,.pp-yield .v,.di-stat .v,.agency-stats b,
.biz-plan .p-price,.price-compare-value,.map-popup-price,.pp-ppm2,.h-mrow b,.h-cluster{font-variant-numeric:tabular-nums;}
.wrap{max-width:1320px;padding:0 32px;}

/* The old decorative motion stays off; the new motion is defined further down */
.reveal-on-scroll,.reveal-on-scroll.revealed{opacity:1 !important;transform:none !important;transition:none !important;}
.reveal-stagger.revealed > *{animation:none !important;}
.card{animation:none !important;}
.card-prestige .card-photo,.card-prestige .collage-pane.main img{animation:none !important;}
.card:hover .card-photo,.card:hover .collage-pane img,.pp-tile:hover img{transform:none !important;}

/* ---------- Buttons ---------- */
.btn{border-radius:12px;font-size:15px;padding:12px 20px;font-weight:500;line-height:1.2;}
.btn-sm{font-size:14px;padding:8px 14px;border-radius:10px;}
.btn-primary{background:var(--sea-deep);color:#fff;}
.btn-primary:hover{background:var(--sea);color:#fff;}
.btn-citrus{background:var(--citrus);color:var(--ink);font-weight:600;}
.btn-citrus:hover{background:#D97B12;color:var(--ink);}
.btn-ghost{background:transparent;border:1px solid #CFDCDA;color:var(--ink);}
.btn-ghost:hover{border-color:var(--sea);color:var(--sea-deep);background:#fff;}
.biz-hero .biz-ghost,.dual-cta-ghost{color:#fff;border-color:rgba(255,255,255,.5);}
.biz-hero .biz-ghost:hover{color:#fff;background:rgba(255,255,255,.12);}
.btn-light{background:#fff;color:var(--sea-deep);border:none;}
.btn-light:hover{background:var(--sea-pale);color:var(--sea-deep);}
.btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);}
.btn-outline-light:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);}
.tiny-link{font-size:15px;font-weight:500;color:var(--sea);background:none;border:none;padding:0;cursor:pointer;font-family:inherit;}
.tiny-link:hover{color:var(--sea-deep);text-decoration:underline;text-underline-offset:3px;}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--sea-deep);outline-offset:2px;box-shadow:0 0 0 4px #fff;}
:where(.h-market,.h-alert,footer,.chat-fab,.h-cluster) :focus-visible,.h-cluster:focus-visible,.chat-fab:focus-visible{outline-color:var(--citrus);box-shadow:none;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto !important;} }

/* ---------- Header ---------- */
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
body[data-tab="home"] .topbar{background:rgba(230,243,241,.92);border-bottom-color:transparent;}
.topbar .wrap{height:72px;gap:28px;}
.logo{font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--sea-deep);gap:0;}
.logo .logo-mark{width:28px;height:28px;margin-right:9px;}
.logo .logo-accent{color:var(--citrus-deep);}
.nav{flex:0 1 auto;gap:2px;background:#fff;border:1px solid #DDE7E5;border-radius:12px;padding:4px;}
.nav button{font-size:15px;font-weight:500;color:var(--ink);padding:8px 16px;border-radius:9px;}
.nav button:hover{background:#EEF5F4;color:var(--sea-deep);}
.nav button.active{background:var(--sea-deep);color:#fff;box-shadow:none;}
/* "More" only feeds the phone menu; on a computer those pages live in the footer */
.nav .nav-more{display:none;}
.top-actions{margin-left:auto;gap:4px;}
.langcur{position:relative;}
.langcur-btn{border:0;background:none;font:inherit;font-size:15px;font-weight:500;color:var(--ink);padding:10px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;}
.langcur-btn:hover,.langcur-btn[aria-expanded="true"]{background:rgba(11,59,66,.07);}
.langcur-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 24px 48px -20px rgba(11,59,66,.4);display:flex;flex-direction:column;gap:8px;min-width:260px;}
.langcur-panel[hidden]{display:none;}
.langcur-label{font-size:13px;font-weight:500;color:var(--ink-mute);}
.langcur-label + .lang-toggle,.langcur-label + .cur-toggle{margin-bottom:6px;}
.langcur .lang-toggle,.cur-toggle{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--sea-wash);border-radius:12px;padding:4px;border:none;}
.langcur .lang-toggle button,.cur-toggle button{border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink-soft);padding:8px 10px;border-radius:9px;cursor:pointer;white-space:nowrap;}
.langcur .lang-toggle button.active,.cur-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(11,59,66,.18);}
.saved-btn{width:auto;height:auto;gap:6px;padding:10px 12px;border-radius:10px;font-size:15px;font-weight:500;color:var(--ink);background:none;border:0;position:relative;}
.saved-btn:hover{background:rgba(11,59,66,.07);}
.saved-btn svg{width:18px;height:18px;}
.saved-btn .badge-count{position:static;margin-left:2px;}
#listPropertyBtn{background:var(--sea-deep);color:#fff;border:none;padding:11px 18px;margin-left:6px;}
#listPropertyBtn:hover{background:var(--sea);}
.icon-btn{width:42px;height:42px;}
.nav-more-panel{border-radius:14px;padding:6px;}
.nav-more-panel button{font-size:15px;padding:10px 12px;border-radius:9px;box-shadow:none !important;color:var(--ink) !important;}
.home-mini-search{top:72px;}
@media(max-width:1100px){ .saved-label{display:none;} .nav button{padding:8px 12px;} .topbar .wrap{gap:16px;} }
@media(max-width:1080px){ .nav button{padding:8px 9px;font-size:14px;} .topbar .wrap{gap:12px;} .topbar .logo{font-size:19px;} }

/* ---------- Motion (scroll-driven, no JavaScript) ---------- */
@keyframes h-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes h-mapin{from{opacity:0;transform:scale(.96) translateY(20px)}to{opacity:1;transform:none}}
@keyframes h-bubble{from{opacity:0;transform:translate(-50%,-50%) scale(.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes h-pulse{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.7);opacity:0}}
@keyframes h-rv{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}
@keyframes h-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes h-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.h-hero-copy > *{animation:h-rise .8s cubic-bezier(.2,.7,.2,1) both;}
.h-hero-copy > :nth-child(2){animation-delay:.12s;}
.h-hero-copy > :nth-child(n+3){animation-delay:.24s;}
.h-map{animation:h-mapin 1.1s .15s cubic-bezier(.2,.7,.2,1) both;}
@supports (animation-timeline: view()){
  .home-tab .rv{animation:h-rv linear both;animation-timeline:view();animation-range:entry 0% cover 28%;}
  .home-tab .bar{transform-origin:left;animation:h-grow linear both;animation-timeline:view();animation-range:entry 20% cover 45%;}
}
@media (prefers-reduced-motion: reduce){
  .h-hero-copy > *,.h-map,.home-tab .rv,.home-tab .bar,.h-ticker-track,.h-cluster,.h-cluster-halo{animation:none !important;}
  .h-tile img,.home-tab .card{transition:none !important;}
}

/* ---------- Home: hero ---------- */
.home-tab{padding:0 !important;}
.h-hero{background:linear-gradient(180deg,#E6F3F1 0%,#F4FAF9 60%,#FFFFFF 100%);overflow:hidden;}
.h-hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:center;padding-top:56px;padding-bottom:40px;}
.h-live{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #D6E8E5;border-radius:999px;padding:6px 14px 6px 8px;font-size:14px;color:var(--sea);}
.h-live:has(#homeLiveCount:empty){visibility:hidden;}
.h-live{min-height:36px;box-sizing:border-box;} /* same height before and after the live count arrives (no layout shift) */
.h-types .type-explore-card .count:empty{display:inline-block;min-width:3.5ch;}
.h-live-dot{width:8px;height:8px;border-radius:50%;background:#2FAE6B;box-shadow:0 0 0 4px rgba(47,174,107,.18);flex:none;}
.h-title{margin:22px 0 18px;font-size:clamp(40px,4.6vw,62px);line-height:1.02;letter-spacing:-.035em;font-weight:600;color:var(--sea-deep);}
.h-sub{margin:0 0 30px;font-size:19px;line-height:1.5;color:var(--ink-soft);max-width:470px;font-weight:300;}
.search-card.h-search{background:#fff;border-radius:18px;padding:8px;box-shadow:0 26px 50px -26px rgba(11,59,66,.45);border:1px solid #E1ECEA;display:flex;gap:6px;flex-wrap:wrap;align-items:center;max-width:580px;margin:0;}
.h-search .search-toggle{display:flex;gap:0;margin:0;background:#F1F6F5;border-radius:12px;padding:4px;border:none;}
.h-search .search-toggle button{border:none;background:none;border-radius:9px;padding:9px 16px;font:inherit;font-size:15px;font-weight:500;color:var(--ink-soft);cursor:pointer;}
.h-search .search-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(11,59,66,.18);}
.h-search #kw{flex:1 1 180px;min-width:0;border:0;background:none;font:inherit;font-size:16px;padding:12px 10px;color:var(--ink);box-shadow:none;}
.h-search #kw:focus{outline:none;}
.h-search:focus-within{border-color:var(--sea-deep);box-shadow:0 0 0 2px var(--sea-deep),0 26px 50px -26px rgba(11,59,66,.45);}
.h-hidden-selects,.h-hidden-selects[hidden]{display:none !important;}
.h-search #heroSearchBtn{border-radius:12px;font-size:16px;padding:12px 24px;}
.h-types{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px;}
.h-types .type-explore-grid{display:flex !important;flex-wrap:wrap;gap:8px;grid-template-columns:none !important;margin:0;}
.h-types .type-explore-card{position:relative;font:inherit;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #DDE8E6;border-radius:999px;padding:7px 13px;font-size:14px;color:var(--ink);cursor:pointer;box-shadow:none;transition:border-color .15s;text-align:left;}
.h-types .type-explore-card:hover{border-color:var(--sea);transform:none;box-shadow:none;}
.h-types .type-explore-card svg{display:none;}
.h-types .type-explore-card .name{font-size:14px;font-weight:400;}
.h-types .type-explore-card .count{font-size:13px;margin:0;color:var(--ink-mute);}
.h-draw{border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--sea);padding:7px 6px;cursor:pointer;}
.h-draw:hover{color:var(--sea-deep);text-decoration:underline;text-underline-offset:3px;}

.h-map{position:relative;}
.h-map-img{width:100%;height:auto;display:block;}
.h-map-clusters{position:absolute;left:0;top:0;width:100%;aspect-ratio:1000/603;} /* sized to the island image, not to the note under it */
.h-cluster{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:var(--sea-deep);color:#fff;display:flex;align-items:center;justify-content:center;font:inherit;font-weight:600;font-size:15px;border:3px solid #fff;box-shadow:0 10px 24px -10px rgba(11,59,66,.6);cursor:pointer;padding:0;animation:h-bubble .6s cubic-bezier(.3,1.4,.5,1) both;}
.h-cluster:hover,.h-cluster:focus-visible{background:var(--citrus);color:var(--ink);z-index:2;}
.h-cluster-halo{position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--citrus);animation:h-pulse 2.6s ease-out infinite;pointer-events:none;}
.h-cluster-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);opacity:0;pointer-events:none;transition:.2s;background:#fff;color:var(--ink);border-radius:12px;padding:10px 14px;white-space:nowrap;box-shadow:0 14px 30px -12px rgba(11,59,66,.45);font-size:14px;font-weight:400;text-align:left;display:flex;flex-direction:column;}
.h-cluster-tip b{font-weight:600;}
.h-cluster:hover .h-cluster-tip,.h-cluster:focus-visible .h-cluster-tip{opacity:1;transform:translate(-50%,0);}
.h-map-note{position:absolute;right:2%;bottom:-2%;background:#fff;border-radius:14px;padding:12px 16px;font-size:14px;color:var(--ink);box-shadow:0 18px 34px -18px rgba(11,59,66,.4);max-width:300px;}

.h-ticker{border-top:1px solid #E2ECEA;border-bottom:1px solid #E2ECEA;background:#fff;overflow:hidden;margin-top:16px;}
/* Space kept while the ticker loads, so the sections below don't jump; renderHomeTicker() removes it when there is nothing to show. */
.h-ticker[hidden]{display:block !important;visibility:hidden;}
.h-ticker[hidden].is-empty{display:none !important;}
.h-ticker-track:empty::before{content:"\00a0";}
.h-ticker-track{display:flex;gap:56px;padding:14px 0;white-space:nowrap;width:max-content;animation:h-drift 60s linear infinite;}
.h-ticker:hover .h-ticker-track,.h-ticker:focus-within .h-ticker-track{animation-play-state:paused;}
.h-tick-dup{display:flex;gap:56px;}
.h-tick{border:0;background:none;font:inherit;font-size:15px;color:var(--ink-soft);padding:0;cursor:pointer;white-space:nowrap;}
.h-tick:hover{color:var(--sea-deep);}
.h-tick b{color:var(--ink);font-weight:500;}
.h-tick b.h-tick-drop{color:var(--coral);}

/* ---------- Home: sections ---------- */
.h-sec{padding:80px 0 8px;}
.h-sec-tight{padding-top:48px;}
.h-sec-last{padding-bottom:96px;}
.h-head{max-width:640px;margin-bottom:36px;}
.h-head h2,.home-tab .home-section-title{margin:0 0 10px;font-size:clamp(28px,3vw,40px);line-height:1.08;letter-spacing:-.03em;font-weight:600;color:var(--sea-deep);}
.h-head p,.h-strip-sub{margin:0;font-size:17px;color:var(--ink-soft);}
.home-tab .home-strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 20px;flex-wrap:wrap;margin-bottom:28px;}
.home-tab .home-strip-head .home-section-title{margin-bottom:6px;}
.home-viewall{white-space:nowrap;}

/* Four "only here" features */
.h-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.h-feat{background:var(--sea-wash);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:12px;}
.h-feat h3{margin:0;font-size:20px;font-weight:600;color:var(--sea-deep);}
.h-feat p{margin:0;color:var(--ink-soft);font-size:15.5px;}
.h-demo{position:relative;margin-top:auto;background:#fff;border-radius:14px;padding:30px 16px 16px;display:flex;flex-direction:column;gap:9px;font-size:13.5px;}
.h-demo-tag{position:absolute;top:10px;left:16px;font-size:12px;color:var(--ink-mute);}
.h-row{display:flex;justify-content:space-between;gap:12px;}
.h-row b{font-weight:600;}
.h-meter{height:8px;background:#EDF2F1;border-radius:9px;overflow:hidden;}
.h-meter .bar{display:block;height:100%;border-radius:9px;}
.h-good{color:var(--good);font-weight:600;}
.h-total{border-top:1px dashed #CFDCDA;padding-top:8px;font-weight:600;font-size:15px;}
.h-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center;}
.h-slots .h-demo-tag{grid-column:1/-1;}
.h-slots > span:not(.h-demo-tag){border:1px solid #DDE7E5;border-radius:9px;padding:8px 0;}
.h-slots > span.on{background:var(--sea-deep);border-color:var(--sea-deep);color:#fff;}
.h-slots > span.off{color:#9AAEAC;text-decoration:line-through;}
#homeCostTile .h-cost-rent{display:none;}
#homeCostTile.is-rent .h-cost-rent{display:flex;}
#homeCostTile.is-rent h3.h-cost-rent,#homeCostTile.is-rent p.h-cost-rent{display:block;}
#homeCostTile.is-rent .h-cost-buy{display:none;}

/* Property strips and featured grid */
.h-latest-off{display:none !important;}
.h-tabs{display:flex;gap:4px;background:#F1F6F5;border-radius:14px;padding:4px;flex-wrap:wrap;}
.h-tabs button{border:0;background:none;font:inherit;font-size:16px;font-weight:500;color:var(--ink-soft);padding:10px 18px;border-radius:11px;cursor:pointer;}
.h-tabs button.on{background:#fff;color:var(--sea-deep);box-shadow:0 1px 3px rgba(11,59,66,.18);}
.h-tabs button[hidden]{display:none;}
.h-scroll{grid-auto-columns:300px;gap:20px;padding:2px 2px 16px;}
#featuredGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;gap:24px !important;}

/* Email alert band */
.h-alert{background:var(--sea);color:#fff;border-radius:24px;padding:32px 36px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between;}
.h-alert-copy{max-width:560px;min-width:0;}
.h-alert h2{line-height:1.15;margin:0 0 8px;font-size:28px;letter-spacing:-.02em;font-weight:600;color:#fff;}
.h-alert p{margin:0;color:#CFE5E2;font-size:16px;}
.h-alert-form{display:flex;gap:8px;flex-wrap:wrap;min-width:0;}
.h-alert-form input{border:0;border-radius:12px;font:inherit;font-size:16px;padding:13px 14px;width:260px;max-width:100%;color:var(--ink);background:#fff;}
.h-alert-form .btn{padding:13px 20px;}
.h-alert-msg{flex-basis:100%;font-size:14px;min-height:0;}
.h-alert-msg:empty{display:none;}
.h-alert-msg.ok{color:#BFF0D3;}
.h-alert-msg.err{color:#FFD3C2;}

/* Lifestyle tiles */
.h-life{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.h-tile{position:relative;display:block;border:0;padding:0;border-radius:22px;overflow:hidden;height:360px;color:#fff;cursor:pointer;background:var(--sea-deep);text-align:left;font:inherit;}
.h-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.h-tile:hover img{transform:scale(1.05);}
.h-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(6,32,36,.78) 100%);}
.h-tile-txt{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;}
.h-tile-txt b{display:block;font-size:24px;font-weight:600;}
.h-tile-txt span{font-size:15px;opacity:.9;}

/* Market band */
.h-market{background:var(--sea-deep);color:#fff;margin-top:80px;}
.h-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center;padding-top:88px;padding-bottom:88px;}
.h-market-grid > *{min-width:0;}
.h-kicker{font-size:15px;color:#8FC3BE;margin-bottom:12px;}
.h-kicker:empty{display:none;}
.h-market h2{margin:0 0 16px;font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.03em;font-weight:600;color:#fff;}
.h-market p{margin:0 0 28px;font-size:18px;color:#C7DEDB;font-weight:300;}
.h-market-btns{display:flex;gap:10px;flex-wrap:wrap;}
.h-market .h-invest{margin:18px 0 0;font-size:15px;color:#8FC3BE;font-weight:400;}
.h-mrows{display:flex;flex-direction:column;gap:6px;}
.h-mrow{display:block;width:100%;border:0;background:none;font:inherit;color:#fff;text-align:left;padding:10px 12px;border-radius:12px;cursor:pointer;transition:background .2s;}
.h-mrow:hover{background:rgba(255,255,255,.06);}
.h-mrow-top{display:flex;justify-content:space-between;gap:12px;font-size:15px;margin-bottom:7px;}
.h-mrow-top b{font-weight:500;white-space:nowrap;}
.h-mrow-n{color:#8FC3BE;}
.h-mrow-track{display:block;height:12px;background:rgba(255,255,255,.1);border-radius:9px;overflow:hidden;}
.h-mrow-track .bar{display:block;height:100%;border-radius:9px;}

/* Buying steps */
.h-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 20px;}
.h-steps li{border-top:3px solid var(--sea-deep);padding-top:18px;display:flex;flex-direction:column;gap:4px;}
.h-step-n{font-size:14px;color:var(--ink-mute);}
.h-step-n::before{content:"Step ";}
html[lang="el"] .h-step-n::before{content:"Βήμα ";}
html[lang="de"] .h-step-n::before{content:"Schritt ";}
html[lang="ru"] .h-step-n::before{content:"Шаг ";}
.h-steps b{font-size:19px;font-weight:600;color:var(--ink);}
.h-steps li > span:not(.h-step-n){font-size:15px;color:var(--ink-soft);}
.h-steps-link{margin-top:24px;display:inline-block;}
.h-step-link{align-self:flex-start;margin-top:6px;font-size:14px;}

/* News & guides, partners */
.home-content-cols{gap:40px;}
.home-content-cols > div > .home-strip-head{display:flex;margin-bottom:16px;}
.home-content-h{font-size:20px;font-weight:600;color:var(--sea-deep);margin:0;}
.home-post{border-radius:16px;}
.home-post:hover{transform:none;box-shadow:var(--shadow);}
.home-post-meta{font-size:13px;}
.home-post-title{font-size:16px;font-weight:600;line-height:1.35;}

/* Buyer reviews */
.h-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.h-review{margin:0;background:var(--sea-wash);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px;}
.h-stars{color:var(--citrus);letter-spacing:2px;font-size:16px;}
.h-review blockquote{margin:0;font-size:16px;line-height:1.6;color:var(--ink);}
.h-review figcaption{font-size:14px;color:var(--ink-mute);margin-top:auto;}

/* Agency band */
.h-band{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;background:var(--sea-pale);border-radius:28px;padding:44px 48px;}
.h-band-copy{max-width:640px;min-width:0;}
.h-band h2{line-height:1.15;margin:0 0 10px;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;font-weight:600;color:var(--sea-deep);}
.h-band p{margin:0;font-size:17px;color:var(--ink-soft);}
.h-band-btns{display:flex;gap:10px;flex-wrap:wrap;}

/* Help button (opens the support chat) */
.chat-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:8px;border:0;background:var(--sea-deep);color:#fff;font:inherit;font-size:15px;font-weight:500;padding:13px 18px;border-radius:999px;box-shadow:0 18px 36px -14px rgba(11,59,66,.6);cursor:pointer;}
.chat-fab:hover{background:var(--sea);}
.chat-fab svg{width:18px;height:18px;flex:none;}
body:not([data-tab="home"]) .chat-fab,body.admin-active .chat-fab,body.modal-open .chat-fab{display:none;}

/* ---------- Property cards ---------- */
.grid{gap:24px;}
.card{border-radius:var(--radius);border:1px solid var(--line);box-shadow:none;background:#fff;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.card:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow);border-color:var(--line);}
@media (prefers-reduced-motion: reduce){ .card:hover{transform:none !important;} }
.card-media{aspect-ratio:4/3;}
.card-body{padding:18px 20px 20px;gap:4px;}
.card-price-row{gap:10px;}
.card-price,.card-premium .card-price,.card-prestige .card-price{font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.01em;}
.card-price span{font-size:14px;font-weight:400;color:var(--ink-mute);}
.card-ppm2{font-size:13px;font-weight:400;color:var(--ink-mute);background:none;padding:0;}
.card-title{font-size:16px;font-weight:400;line-height:1.35;color:var(--ink);margin-top:2px;}
.card-loc{font-size:14px;color:var(--ink-mute);gap:6px;}
.card-loc .loc-icon{width:14px;height:14px;}
.card-meta-tags{margin-top:6px;}
.meta-tag{font-size:13px;font-weight:500;padding:2px 9px;border-radius:6px;}
.card-specs{gap:14px;font-size:14px;color:var(--ink);margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);}
.card-specs svg,.card-specs .spec-icon{width:16px;height:16px;opacity:.6;}
.card-agent-line{font-size:14px;margin-top:8px;color:var(--ink-mute);}
.card-agent-line .agent-phone::before{content:"";}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft);}
.card-agency{font-family:var(--font-body);font-size:13px;color:var(--ink-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.card-verified{color:var(--sea);font-weight:600;}
.card-compare-label{margin:0;padding:4px 10px 4px 8px;font-size:13px;font-weight:500;border-radius:8px;flex:none;}
.card-compare-label input{width:14px;height:14px;}
.card-badges{top:12px;left:12px;gap:6px;}
.tag{font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:0;padding:4px 9px;border-radius:8px;line-height:1.3;text-transform:none;}
.tag-featured{background:var(--citrus);color:var(--ink);}
.tag-premium{background:var(--sea-deep);color:#fff;box-shadow:none;}
.tag-new{background:#fff;color:var(--ink);}
.tag-reduced{background:var(--coral);color:#fff;}
.fav-btn{top:12px;right:12px;width:38px;height:38px;background:rgba(255,255,255,.94);color:var(--ink);backdrop-filter:none;}
.fav-btn svg{width:18px;height:18px;}
.card-photo-count{font-size:12.5px;background:rgba(11,59,66,.72);border-radius:8px;}
/* Paid tiers (Oct 2026). Three levels a buyer can tell apart at a glance:
   Basic    — plain white card, one photo.
   Premium  — sea-green frame and tint, swipeable photos, agent name and phone.
   Featured — warm gold frame, wider card with a 3-photo collage, price per m²,
              agent line and a "contact the agent" strip. Listed first. */
.card-premium,.card-prestige{position:relative;}
.card-premium{border:1.5px solid #A9D1CB;box-shadow:0 12px 28px -22px rgba(11,59,66,.55);}
.card-premium:hover{border-color:var(--sea);}
.card-premium .card-body{background:linear-gradient(180deg,#F1F8F6 0%,#fff 62%);padding:18px 20px 20px;}
.card-prestige{border:1.5px solid #F0B46A;box-shadow:0 0 0 3px rgba(232,137,28,.12),0 22px 44px -26px rgba(169,96,15,.6);}
.card-prestige:hover{border-color:var(--citrus);transform:translateY(-4px) !important;}
.card-prestige .card-body{background:linear-gradient(180deg,#FDF3E6 0%,#fff 58%);padding:18px 20px 0;}
.card-prestige .card-price{color:#8A4D0B;}
.card-prestige::before{display:none;}
.card-tier-ribbon,.card-prestige-cta{display:none !important;}
.tag svg{width:12px;height:12px;flex:none;margin-right:5px;vertical-align:-1px;}
.tag-featured,.tag-premium{display:inline-flex;align-items:center;font-weight:600;box-shadow:0 2px 8px -2px rgba(11,59,66,.35);}
.tag-featured{background:linear-gradient(135deg,#F4A23C,#E8891C);color:#10292C;}
.tag-premium{background:var(--sea-deep);color:#fff;}
.tag-premium svg{color:#7FD1C4;}
.card-feat-cta{margin:14px -20px 0;padding:11px 20px;background:#FBE7CF;color:#6E3E08;font-size:14px;font-weight:600;border-top:1px solid #F3D2A8;display:flex;justify-content:space-between;align-items:center;}
.card-prestige:hover .card-feat-cta{background:#F8DDBA;}
.card-prestige .agent-avatar{background:#E8891C;color:#10292C;}
.card-premium .agent-avatar{background:var(--sea-deep);color:#fff;}
.list-mode .card-feat-cta{display:none;}
.card-media-collage{gap:2px;background:#fff;}

/* ---------- Listings page ---------- */
.content{padding:32px 0 88px;}
.listings-search-row{gap:12px;margin-bottom:24px;}
.listings-search-row{display:flex;align-items:center;flex-wrap:wrap;}
.listings-lt{display:flex;flex:none;background:#F1F6F5;border-radius:12px;padding:4px;margin:0;border:none;}
.listings-lt button{border:none;background:none;border-radius:9px;padding:9px 16px;font:inherit;font-size:15px;font-weight:500;color:var(--ink-soft);cursor:pointer;}
.listings-lt button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(11,59,66,.18);}
.listings-search-row #listingsKw{flex:1 1 220px;min-width:0;}
.listings-search-row input{border-radius:12px;padding:13px 16px;font-size:16px;border-color:#D5E0DE;}
.content-head{margin-bottom:24px;gap:12px 16px;align-items:center;}
.content-head h2{font-size:28px;font-weight:600;color:var(--sea-deep);letter-spacing:-.02em;}
.result-count{font-size:15px;color:var(--ink-mute);}
.paid-rank-note{font-size:12.5px;color:var(--ink-mute);margin:-6px 0 14px;line-height:1.5;}
.paid-rank-note a{color:var(--sea-deep);font-weight:600;white-space:nowrap;}
.svc-sponsored-mini{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--ink-mute);border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px;}
.sort-inline label{font-size:14px;font-weight:500;color:var(--ink-mute);}
.sort-inline select{border-radius:12px;padding:9px 12px;font-size:15px;}
.view-toggle{border-radius:12px;background:#F1F6F5;padding:4px;border:none;}
.view-toggle button{font-size:14px;padding:8px 16px;border-radius:9px;}
.view-toggle button.active{background:#fff;color:var(--sea-deep);box-shadow:0 1px 3px rgba(11,59,66,.18);}
@media(min-width:981px){ .layout{grid-template-columns:280px 1fr;gap:32px;} .filters{top:96px;} }
.filters{padding:24px;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:none;}
.filters h3{font-size:18px;text-transform:none;letter-spacing:-.01em;color:var(--sea-deep);font-weight:600;margin-bottom:20px;}
.filter-group{margin-bottom:22px;}
.filter-group .ftitle{font-size:15px;font-weight:600;margin-bottom:10px;text-transform:none;letter-spacing:0;color:var(--ink);}
.check-row{font-size:15px;color:var(--ink);padding:6px 0;gap:10px;}
.check-row input{width:18px;height:18px;accent-color:var(--sea-deep);}
.range-row input,.filters select,.filters input[type="number"]{font-family:var(--font-body) !important;font-size:15px !important;padding:10px 12px !important;border-radius:12px !important;border:1px solid #D5E0DE !important;}
.district-pills{gap:8px;}
.district-pills button{font-size:14px;padding:7px 13px;background:#fff;border-radius:999px;}
.district-pills button.active{background:var(--sea-deep);border-color:var(--sea-deep);color:#fff;}
.filters label{font-size:15px;}
.field{gap:6px;}
.field label{font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);}
.field input,.field select{border-radius:12px;font-size:16px;padding:12px 14px;border-color:#D5E0DE;}
#propertyGrid:not(.list-mode){gap:24px;}
.grid-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0 8px;}
.grid-more[hidden]{display:none;}
.grid-more p{font-size:15px;color:var(--ink-mute);}
.grid-more .btn{min-width:240px;}

/* ---------- Inner pages: plain page header instead of a dark banner ---------- */
:is(#tab-agencies,#tab-services,#tab-news,#tab-blog,#tab-support,#tab-tools,#tab-favourites,#tab-market) > .wrap > .page-head:first-child{background:none !important;color:var(--ink) !important;padding:24px 0 8px !important;border-radius:0 !important;margin:0 0 32px !important;}
:is(#tab-agencies,#tab-services,#tab-news,#tab-blog,#tab-support,#tab-tools,#tab-favourites,#tab-market) > .wrap > .page-head:first-child::after{display:none !important;}
:is(#tab-agencies,#tab-services,#tab-news,#tab-blog,#tab-support,#tab-tools,#tab-favourites,#tab-market) > .wrap > .page-head:first-child h2{color:var(--sea-deep) !important;}
:is(#tab-agencies,#tab-services,#tab-news,#tab-blog,#tab-support,#tab-tools,#tab-favourites,#tab-market) > .wrap > .page-head:first-child p{color:var(--ink-soft) !important;}
:is(#tab-agencies,#tab-services,#tab-news,#tab-blog,#tab-support,#tab-tools,#tab-favourites,#tab-market) > .wrap > .page-head:first-child a{color:var(--sea) !important;}
.page-head h2{font-size:clamp(30px,3.4vw,42px);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin-bottom:10px;}
.page-head p{font-size:17px;line-height:1.55;max-width:680px;}
.page-kicker,.di-kicker,.biz-report-tag{font-family:var(--font-body);font-size:14px;letter-spacing:0;text-transform:none;font-weight:500;}
.section-pad{padding:40px 0 88px;}

/* Agencies, services, support, business */
.agency-card,.support-card,.support-form-card,.local-service-card,.why-card,.biz-plan,.mr-card,.tool-card{border-radius:20px;}
.agency-card:hover{transform:none;}
.agency-name{font-size:17px;font-weight:600;}
.agency-loc,.agency-stats{font-size:14px;}
.agency-featured{border-color:var(--line) !important;box-shadow:none !important;}
.agency-featured-badge{position:absolute;top:12px;left:12px;margin:0 !important;background:var(--citrus) !important;color:var(--ink) !important;font-size:13px !important;font-weight:500 !important;letter-spacing:0 !important;padding:4px 9px !important;border-radius:8px !important;}
.mr-table th{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;}
.mr-table{font-size:15px;}
.mobile-menu-label{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;}
.support-card p,.why-card p,.local-service-desc,.biz-plan ul,.biz-faq details p,.biz-pain ul,.biz-solution ul{font-size:15px;line-height:1.6;}
.support-card h3,.support-form-card h3{font-size:19px;font-weight:600;}
.biz-faq summary{font-size:16px;}
.biz-plan .p-name{font-size:17px;}
.biz-plan-flag{letter-spacing:0;font-size:12.5px;}
.local-service-cat{text-transform:none;letter-spacing:0;font-size:13px;}
.local-service-name{font-size:16px;font-weight:600;}
.services-cat-filter button{font-size:14px;}
.hint{font-size:14px;}
.preview-table th{text-transform:none;letter-spacing:0;font-size:13px;}
.fact .l{text-transform:none;letter-spacing:0;font-size:13px;}
.fact .v{font-size:18px;}
.modal-section h4{text-transform:none;letter-spacing:-.01em;font-size:18px;color:var(--sea-deep);border-bottom:none;padding-bottom:0;}
.modal-desc{font-size:16px;line-height:1.7;}
.modal-ref{font-family:var(--font-body);font-size:13px;}
.modal-box,.modal-content{border-radius:24px;}

/* Property page (opened inside the site) */
.pp-title{font-weight:600;color:var(--sea-deep);letter-spacing:-.02em;}
.pp-badge{font-size:13.5px;}
.pp-price-card .modal-price,.modal-price{font-weight:600;color:var(--ink);}
.pp-side > .modal-section{border-radius:22px;padding:22px 24px;}
.pp-gallery,.pp-tile{border-radius:20px;}

/* Business page */
.hero-eyebrow{font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;background:none;padding:0;color:#F2B66B;margin-bottom:14px;}
.biz-hero h1{font-weight:600;letter-spacing:-.03em;}
.biz-hero .sub{font-size:18px;font-weight:300;}
.biz-sticky{font-size:14px;}
.trust-stat .v{font-weight:600;}
.trust-stat .l{font-size:14px;}
.biz-pain h3,.biz-solution h3,.biz-final-cta h3{font-weight:600;}
.biz-report-line{font-size:18px;}

/* Paid-tier banners on the property page are for agencies, not buyers */
.tier-banner-prestige,.tier-banner-premium{display:none !important;}

/* Sentence case everywhere: small ALL-CAPS labels are harder to read */
.gs-type,.dash-plan-badge,.manage-table th,.admin-nav-group-label,.app-side-tag,.app-side-group-label,.app-crumb,
.app-content table th,.pipe-stage span,.bk-day span{text-transform:none !important;letter-spacing:0 !important;}
.app-crumb{font-size:13px;}
.app-content table th,.manage-table th{font-size:13px;}
.dash-plan-badge{font-size:13px;}
.app-side-tag{font-family:var(--font-body);font-size:11.5px;}

/* ---------- Footer ---------- */
footer{background:var(--sea-deep);padding:64px 0 40px;margin-top:0;}
body:not([data-tab="home"]) footer{margin-top:64px;}
footer .wrap{font-size:15px;gap:32px;}
footer > .wrap:first-child{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;}
footer > .wrap:first-child > div:first-child{margin-bottom:8px !important;border-radius:20px !important;padding:24px 28px !important;}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:32px 40px;}
footer > .wrap:first-child > div:last-child{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;}
footer > .wrap:first-child > div:last-child .logo{margin:0 !important;}
footer > .wrap:first-child > div:last-child p{margin:0;max-width:none !important;}
.disclaimer{font-size:13px;color:#8FB5B1;padding-top:16px !important;}
footer .col h5,footer .col h2.foot-h{font-size:15px;text-transform:none;letter-spacing:0;font-weight:600;margin-bottom:12px;color:#fff;}
footer .col a,.footer-link-btn{padding:5px 0;color:#B8D5D1;font-size:15px;}
footer .col a:hover,.footer-link-btn:hover{color:#fff;}
footer .foot-h-news{font-size:18px !important;font-weight:600 !important;}
footer .foot-h-news + p{font-size:15px !important;color:#B8D5D1 !important;line-height:1.5;}
#newsletterEmail{border-radius:12px !important;font-size:15px;padding:11px 14px !important;}
#footerTagline{font-size:14px !important;color:#9EC2BE;}
.footer-business-link{color:#F2B66B !important;}


/* ---------- Local services (public/26-services.js) ---------- */
.svc-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 16px;}
.svc-tools input,.svc-tools select{font:inherit;font-size:15px;border:1px solid #D5E0DE;border-radius:12px;padding:11px 14px;background:#fff;color:var(--ink);}
.svc-tools input{flex:1 1 260px;min-width:0;}
.svc-count{font-size:14px;color:var(--ink-mute);margin-left:auto;}
.svc-cats{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.svc-cat-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.svc-moment{font-size:13px;font-weight:600;color:var(--ink-mute);min-width:104px;}
.svc-cats button{font:inherit;font-size:14px;border:1px solid #DDE8E6;background:#fff;color:var(--ink);border-radius:999px;padding:7px 13px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;}
.svc-cats button:hover{border-color:var(--sea);}
.svc-cats button.active{background:var(--sea-deep);border-color:var(--sea-deep);color:#fff;}
.svc-n{font-size:12.5px;opacity:.7;}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.svc-grid-compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease, transform .2s ease;}
.svc-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
@media (prefers-reduced-motion: reduce){ .svc-card:hover{transform:none;} }
.svc-card.is-sponsor{border-color:var(--citrus);box-shadow:0 0 0 1px var(--citrus) inset;}
.svc-cover{position:relative;aspect-ratio:16/7;background:var(--sea-pale);}
.svc-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-cover .svc-badge{position:absolute;top:12px;left:12px;}
.svc-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.svc-card.is-compact .svc-body{padding:14px 16px 16px;}
.svc-head{display:flex;gap:12px;align-items:flex-start;}
.svc-logo{position:relative;z-index:1;flex:none;width:48px;height:48px;border-radius:12px;background:var(--sea-wash);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:20px;color:var(--sea-deep);border:1px solid var(--line);}
.svc-logo img{width:100%;height:100%;object-fit:contain;background:#fff;}
.svc-cover + .svc-body .svc-logo{margin-top:-38px;width:56px;height:56px;border:3px solid #fff;box-shadow:0 6px 16px -8px rgba(11,59,66,.4);}
.svc-id{min-width:0;flex:1;}
.svc-cat{font-size:13px;color:var(--ink-mute);}
.svc-verified{color:var(--good);font-weight:500;}
.svc-name{margin:2px 0 0;font-size:17px;font-weight:600;line-height:1.25;color:var(--ink);}
.svc-where{font-size:13px;color:var(--ink-mute);margin-top:2px;}
.svc-badge{flex:none;font-size:12.5px;font-weight:500;padding:4px 9px;border-radius:8px;background:var(--sea-pale);color:var(--sea-deep);white-space:nowrap;}
.svc-badge-sponsor{background:var(--citrus);color:var(--ink);}
.svc-desc{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-soft);}
.svc-meta{font-size:13px;color:var(--ink-mute);}
.svc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;}
.svc-actions .btn-sm{padding:8px 12px;}
.svc-empty{grid-column:1/-1;background:var(--sea-wash);border-radius:20px;padding:28px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.svc-empty p{margin:0;color:var(--ink-soft);}
.svc-all-link{grid-column:1/-1;justify-self:start;}
.svc-need-sub{margin:-4px 0 12px;}
.svc-after{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.svc-after-h{font-weight:600;margin:0 0 10px;color:var(--sea-deep);}
.svc-cost-link{margin-top:6px;}
.svc-biz{margin-top:56px;background:var(--sea-pale);border-radius:28px;padding:36px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:center;}
.svc-biz h2{margin:0 0 10px;font-size:clamp(24px,2.6vw,30px);line-height:1.15;letter-spacing:-.02em;color:var(--sea-deep);}
.svc-biz p{margin:0;color:var(--ink-soft);}
.svc-biz-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.svc-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.svc-plan{background:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px;border:1px solid transparent;}
.svc-plan.is-top{border-color:var(--citrus);}
.svc-plan b{font-size:16px;color:var(--sea-deep);}
.svc-price{font-size:15px;font-weight:600;color:var(--ink);}
.svc-plan p{font-size:13.5px;line-height:1.5;}
.svc-dialog{margin:auto;inset:0;border:none;border-radius:24px;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-shadow:0 40px 80px -30px rgba(11,59,66,.5);color:var(--ink);}
.svc-dialog::backdrop{background:rgba(11,30,32,.5);}
.svc-dialog-in{position:relative;padding:28px;}
.svc-dialog h2{margin:0 36px 6px 0;font-size:22px;line-height:1.2;color:var(--sea-deep);}
.svc-dialog-sub{margin:0 0 16px;color:var(--ink-mute);font-size:14px;}
.svc-about{margin:0 0 14px;background:var(--sea-wash);border-radius:12px;padding:10px 12px;font-size:14px;}
.svc-dialog form{display:flex;flex-direction:column;gap:12px;}
.svc-dialog .field{display:flex;flex-direction:column;gap:6px;margin:0;border:none;padding:0;min-width:0;}
.svc-dialog .field legend{font-size:14px;font-weight:500;margin-bottom:6px;}
.svc-dialog input:not([type=checkbox]),.svc-dialog select,.svc-dialog textarea{font:inherit;font-size:16px;border:1px solid #D5E0DE;border-radius:12px;padding:11px 13px;width:100%;color:var(--ink);background:#fff;}
.svc-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
.svc-checks{display:flex;flex-wrap:wrap;gap:4px 16px;}
.svc-hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;}
.svc-err{color:var(--coral);font-size:14px;}
.svc-err:empty{display:none;}
.svc-x{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:10px;border:none;background:var(--sea-wash);font-size:16px;cursor:pointer;color:var(--ink);}
@media (max-width: 760px){
  .svc-moment{min-width:0;width:100%;}
  .svc-cat-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px;}
  .svc-cat-row:has(.svc-moment){flex-wrap:wrap;overflow:visible;margin:0;padding:0;}
  .svc-cats button{flex:none;}
  .svc-grid,.svc-grid-compact{grid-template-columns:minmax(0,1fr);}
  .svc-biz{grid-template-columns:minmax(0,1fr);padding:26px 22px;border-radius:22px;}
  .svc-plans{grid-template-columns:minmax(0,1fr);}
  .svc-2col{grid-template-columns:minmax(0,1fr);}
  .svc-dialog-in{padding:22px 18px;}
  .svc-count{margin-left:0;width:100%;}
}

/* ---------- Tablets ---------- */
@media (max-width: 980px){
  .h-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:40px;}
  .h-sub{max-width:none;}
  .search-card.h-search{max-width:none;}
  .h-map{max-width:720px;width:100%;margin:0 auto;}
}

/* ---------- Phones ---------- */
@media (max-width: 760px){
  .wrap{padding:0 16px;}
  .topbar .wrap{height:64px;gap:8px;}
  .topbar .langcur{display:block !important;margin-left:auto;}
  .topbar .langcur .lang-toggle{display:grid !important;}
  .langcur-btn{padding:8px 10px;font-size:14px;}
  .langcur-panel{position:fixed;left:16px;right:16px;top:calc(64px + env(safe-area-inset-top));min-width:0;}
  .saved-btn{padding:8px;}
  .home-mini-search{top:64px;}
  .h-hero-grid{padding-top:28px;padding-bottom:24px;gap:24px;}
  .h-title{font-size:38px;margin:16px 0 12px;}
  .h-sub{font-size:16.5px;margin-bottom:22px;}
  .search-card.h-search{padding:8px;border-radius:16px;}
  .h-search .search-toggle{flex:1 1 100%;}
  .h-search .search-toggle button{flex:1;}
  .h-search #kw{flex:1 1 100%;padding:12px;font-size:15px;}
  .h-search #heroSearchBtn{flex:1 1 100%;}
  .h-types{flex-wrap:nowrap;overflow-x:auto;margin:16px -16px 0;padding:2px 16px 6px;scrollbar-width:none;}
  .h-types::-webkit-scrollbar{display:none;}
  .h-types .type-explore-grid{flex-wrap:nowrap;}
  .h-types .type-explore-card,.h-draw{flex:none;white-space:nowrap;}
  .h-map-note{position:static;margin-top:28px;max-width:none;box-shadow:none;background:none;padding:0;font-size:13.5px;color:var(--ink-mute);}
  .h-cluster{font-size:13px;border-width:2px;scale:.72;}
  #homeGuidesTeasers,#homeNewsTeasers{grid-template-columns:minmax(0,1fr) !important;gap:10px;}
  #homeGuidesTeasers .home-post,#homeNewsTeasers .home-post{flex-direction:row;align-items:stretch;}
  #homeGuidesTeasers .home-post img,#homeNewsTeasers .home-post img{width:112px;flex:none;aspect-ratio:auto;height:auto;min-height:92px;}
  #homeGuidesTeasers .home-post-title,#homeNewsTeasers .home-post-title{font-size:15px;}
  .h-cluster-tip{display:none;}
  .h-tick{font-size:14px;}
  .h-sec{padding-top:56px;}
  .h-sec-tight{padding-top:36px;}
  .h-sec-last{padding-bottom:72px;}
  .h-head{margin-bottom:24px;}
  .h-head p,.h-strip-sub{font-size:16px;}
  .h-feats{grid-template-columns:minmax(0,1fr);gap:14px;}
  .h-feat{padding:22px;border-radius:20px;}
  .h-scroll{grid-auto-columns:78%;gap:14px;}
  .h-tabs{width:100%;}
  .h-tabs button{flex:1;padding:10px 8px;font-size:14.5px;}
  #featuredGrid{display:grid !important;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x proximity;gap:14px !important;padding-bottom:12px;}
  #featuredGrid .card{scroll-snap-align:start;}
  .h-alert{padding:26px 22px;border-radius:20px;}
  .h-alert h2{font-size:24px;}
  .h-alert-form{width:100%;}
  .h-alert-form input,.h-alert-form .btn{flex:1 1 100%;width:auto;}
  .h-life{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .h-tile{height:220px;border-radius:18px;}
  .h-tile-txt{left:14px;right:14px;bottom:14px;}
  .h-tile-txt b{font-size:18px;}
  .h-tile-txt span{font-size:13px;display:block;line-height:1.35;}
  .h-market{margin-top:56px;}
  .h-market-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:56px;padding-bottom:56px;}
  .h-market p{font-size:16.5px;}
  .h-market-btns .btn{flex:1 1 100%;text-align:center;}
  .h-mrow{padding:8px 4px;}
  .h-steps{grid-template-columns:minmax(0,1fr);gap:12px;}
  .h-steps li{border-top-width:2px;padding-top:14px;}
  .h-band{padding:28px 22px;border-radius:22px;}
  .h-band-btns{width:100%;}
  .h-band-btns .btn{flex:1 1 100%;text-align:center;}
  .chat-fab{padding:13px;}
  .chat-fab span{display:none;}
  .content-head h2{font-size:23px;}
  .page-head h2{font-size:28px;}
  .card-body{padding:14px 16px 16px;}
  .card-price,.card-premium .card-price,.card-prestige .card-price{font-size:20px;}
  footer{padding:48px 0 32px;}
  #newsletterFormWrap{width:100%;}
  #newsletterEmail{min-width:0 !important;flex:1 1 160px;}
  footer > .wrap:first-child > div:first-child > div{flex:1 1 100% !important;min-width:0;}
  .tools-grid,.tier-preview-grid{grid-template-columns:minmax(0,1fr) !important;}
  .tier-preview-grid > *{min-width:0;}
  .tool-card{min-width:0;padding:20px 18px;}
  .logo{font-size:18px;}
  .logo .logo-mark{width:24px;height:24px;margin-right:7px;}
  .top-actions{gap:0;}
  .langcur-btn{padding:8px 7px;}
  .saved-btn{padding:8px 7px;}
  /* the cookie notice sits at the bottom; lift the help button above it */
  body:has(#cookieNotice:not(.hide)) .chat-fab{display:none;}
  footer .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;}
  footer .col{min-width:0;}
  footer .col a{overflow-wrap:anywhere;}
}

/* Tablets (761–1000px): the full menu (Buy … Agencies) doesn't fit beside the
   logo and buttons, so use the same menu button as phones. */
@media(max-width:1000px){
  .topbar .nav,.topbar #listPropertyBtn{display:none !important;}
  .mobile-menu-btn{display:inline-flex;}
  .topbar .wrap{justify-content:space-between;}
}

/* Privacy / Terms (Oct 2026) */
.legal-page h3{scroll-margin-top:90px;margin-top:24px;}
.legal-page h3:first-child{margin-top:0;}
.legal-page .modal-desc a{color:var(--sea-deep);font-weight:600;}
.operator-box{white-space:pre-line;font-weight:600;color:var(--ink);background:var(--line-soft);border-left:3px solid var(--sea-deep);padding:10px 14px;border-radius:8px;}
#svcApplyForm .check-row a{color:var(--sea-deep);font-weight:600;}
/* Agency portal: one XML feed flow (Oct 2026) */
.feed-flow{margin-bottom:16px;}
.feed-status{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-left:4px solid var(--ink-mute);border-radius:12px;padding:12px 14px;margin:6px 0 16px;background:var(--surface);}
.feed-status.is-on{border-left-color:var(--sea);}
.feed-status.is-failed{border-left-color:var(--coral);}
.feed-status-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 320px;}
.feed-status-url{font-size:12.5px;color:var(--ink-soft);overflow-wrap:anywhere;}
.feed-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.feed-steps{margin:4px 0 16px;padding-left:20px;display:grid;gap:6px;font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
.feed-steps b{color:var(--ink);}
.feed-alt{margin:4px 0 10px;}
.feed-alt>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--sea-deep);padding:6px 0;}
.feed-alt[open]>summary{margin-bottom:10px;}
.feed-publish{align-items:center;gap:12px;flex-wrap:wrap;}
.feed-publish select{margin-left:6px;}
.feed-limit-note{margin:10px 0 4px;}
.feed-formats>summary{cursor:pointer;font-size:13.5px;}
.preview-table td{vertical-align:middle;}
.preview-table .row-thumb{display:inline-block;vertical-align:middle;}
.row-photo-count{display:inline-block;margin-left:4px;font-size:11px;color:var(--ink-mute);}
.preview-table tr.row-waiting td{opacity:.6;}
/* XML feed preview: choose what goes live (Oct 2026) */
.pv-slots{margin:12px 0 8px;padding:10px 14px;border-radius:10px;background:var(--sea-pale);font-size:13.5px;line-height:1.5;}
.pv-slots.is-over{background:#FBEDE8;color:var(--coral);}
.pv-slots:empty{display:none;}
.pv-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;}
.pv-tools input[type=search]{flex:1 1 220px;min-width:0;}
.pv-tools select{font-size:13px;}
.preview-table th.pv-sort{cursor:pointer;user-select:none;white-space:nowrap;}
.preview-table th.pv-sort::after{content:" ↕";color:var(--ink-mute);font-weight:400;}
.preview-table th.pv-sort.is-asc::after{content:" ↑";color:var(--sea-deep);}
.preview-table th.pv-sort.is-desc::after{content:" ↓";color:var(--sea-deep);}
.preview-table tr.row-off td:not(:first-child):not(:last-child){opacity:.55;}
.previewStatusCell{font-size:12.5px;}
.previewStatusCell.pv-good{color:var(--sea-deep);font-weight:600;}
.previewStatusCell.pv-warn{color:var(--coral);font-weight:600;}
.previewStatusCell.pv-muted{color:var(--ink-mute);}
.previewStatusCell.pv-err{color:var(--coral);}
.pv-tools input[type=search]{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13.5px;background:var(--surface);color:var(--ink);}
.vat-tag{font-size:.62em;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;white-space:nowrap;}
.pv-extras{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}.pv-extras span{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--sea-pale);color:var(--sea-deep);white-space:nowrap;}
/* Property page: links to local businesses when no paid partner (Oct 2026) */
.svc-cat-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:8px;margin-top:8px;}
.svc-cat-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;}
.svc-cat-link:hover{border-color:var(--sea);background:var(--sea-pale);}
.svc-cat-link b{margin-left:auto;font-size:12px;color:var(--ink-mute);font-weight:600;}
.svc-cat-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--sea-pale);color:var(--sea-deep);flex:none;}
.svc-cat-links .svc-all-link{grid-column:1/-1;justify-self:start;}

/* Mid-size screens where the menu would be cut off (set by fitHeaderNav). */
body.nav-tight .saved-label, body.nav-collapsed .saved-label{display:none;}
.top-actions{flex-shrink:0;white-space:nowrap;}
body.nav-collapsed .topbar .nav, body.nav-collapsed .topbar #listPropertyBtn{display:none !important;}
body.nav-collapsed .mobile-menu-btn{display:inline-flex;}
body.nav-collapsed .topbar .wrap{justify-content:space-between;}
/* Phones: the search box is one line, not a tall block. */
@media(max-width:640px){ .listings-search-row #listingsKw{flex:0 0 auto;width:100%;} }

/* Listings page while the catalogue loads (Oct 2026): the result line and the
   grid keep their room, so the footer and filters don't jump when cards arrive. */
.result-count:empty::before{content:"\00a0";}
.content-head .result-count{min-width:12em;} /* same line breaks with and without the count */
#propertyGrid:empty{min-height:120vh;}
/* Pages whose content arrives after load (agencies, guides, market report…):
   the footer starts below the screen, so it isn't pushed down in view when
   the content appears (layout shift, Oct 2026). */
#main{min-height:100vh;}
/* Listings header: heading + count on the first row, the controls always on
   the second. Before, the controls sometimes fitted next to a short heading
   and then wrapped when the real heading/count arrived, pushing the results
   down (layout shift, QA 21 Oct). */
@media(min-width:761px){
  #tab-listings .content-head h2, #tab-listings .content-head .result-count{order:0;}
  #tab-listings .content-head::after{content:"";flex-basis:100%;order:1;height:0;}
  #tab-listings .content-head .sort-inline{order:2;margin-left:0 !important;}
  #tab-listings .content-head .view-toggle{order:3;margin-left:auto;}
}
